/* --- Include setup files --- */
/* --- Include setup files --- */
.row {
  max-width: 1140px;
}

/* --- Mixins --- */
/* --- Variables --- */
/* --- Fonts --- */
@font-face {
  font-family: "Cantata One";
  src: url("../fonts/CantataOne-Regular.eot");
  src: url("../fonts/CantataOne-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/CantataOne-Regular.woff") format("woff"), url("../fonts/CantataOne-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Raleway-Reg";
  src: url("../fonts/Raleway-Regular.eot");
  src: url("../fonts/Raleway-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/Raleway-Regular.woff") format("woff"), url("../fonts/Raleway-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Raleway-Semi";
  src: url("../fonts/Raleway-SemiBold.eot");
  src: url("../fonts/Raleway-SemiBold.eot?#iefix") format("embedded-opentype"), url("../fonts/Raleway-SemiBold.woff") format("woff"), url("../fonts/Raleway-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Raleway-Light";
  src: url("../fonts/Raleway-Light.eot");
  src: url("../fonts/Raleway-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/Raleway-Light.woff") format("woff"), url("../fonts/Raleway-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Raleway-Med";
  src: url("../fonts/Raleway-Medium.eot");
  src: url("../fonts/Raleway-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/Raleway-Medium.woff") format("woff"), url("../fonts/Raleway-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
/* --- Media queries --- */
.hidden {
  display: none !important;
  visibility: hidden !important;
}

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

.video-container, .media-vimeo-video {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 25px;
  height: 0;
}
.video-container iframe, .media-vimeo-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.media-soundcloud-audio iframe {
  width: 100%;
  max-height: 150px;
}

.emmsg {
  display: none;
  padding: 1em;
  background: #fff;
  color: #000000;
  position: relative;
  text-align: center;
}
.emmsg p:last-child {
  margin-bottom: 0;
}

.emmsg__close {
  text-align: left;
  text-indent: -9999px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 1em;
  right: 1em;
  display: block;
  height: 30px;
  width: 30px;
  background-image: url("../images/emClose.png");
  cursor: pointer;
  transition: opacity 0.2s ease-out;
}
.emmsg__close:hover {
  opacity: 0.7;
}

.hide-for-mobile {
  display: block !important;
}

.show-for-mobile {
  display: none !important;
}

@media (max-width: 767px) {
  .hide-for-mobile {
    display: none !important;
  }

  .show-for-mobile {
    display: block !important;
  }
}
input,
input[type=text],
input[type=password],
input[type=email],
input[type=submit],
textarea,
select {
  font-family: "Raleway-Reg";
  font-size: 20px;
  line-height: 28px;
  color: #000000;
  resize: none;
  padding: 0.5em 1em;
  -webkit-appearance: none;
  -webkit-border-radius: 0px;
  border-radius: 0;
  outline: 0;
  border: 1px solid #000000;
  transition: all 0.2s ease-in-out;
}

.form-actions input,
input[type=submit] {
  cursor: pointer;
}

.listing {
  list-style: none;
  margin: 0;
  padding: 0;
}
.listing li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.listing li {
  vertical-align: top;
  margin-bottom: 4%;
  margin-right: 4%;
  float: left;
  position: relative;
}

.one-col li {
  width: 100%;
  margin-right: 0;
}
.one-col li:last-child {
  margin-bottom: 0;
}

.two-col li {
  width: 48%;
}
.two-col li:nth-of-type(2n+2) {
  margin-right: 0;
}

.three-col li {
  width: 30.6666%;
}
.three-col li:nth-of-type(3n+3) {
  margin-right: 0;
}

.four-col li {
  width: 22%;
}
.four-col li:nth-of-type(4n+4) {
  margin-right: 0;
}

.five-col li {
  width: 16.8%;
}
.five-col li:nth-of-type(5n+5) {
  margin-right: 0;
}

.six-col li {
  width: 13.3333%;
}
.six-col li:nth-of-type(6n+6) {
  margin-right: 0;
}

@media (max-width: 767px) {
  .two-col li,
.three-col li,
.four-col li,
.five-col li,
.six-col li {
    width: 100%;
    margin-right: 0;
  }
}
.pager {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
  display: block;
  clear: both;
}
.pager li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.pager li {
  display: inline-block;
}
.pager li a {
  padding: 10px 20px;
  display: block;
}
.pager li.pager-current {
  padding: 10px 20px;
}

body.user-logged-in {
  padding-top: 140px !important;
}
body.user-logged-in .header,
body.user-logged-in .search-wrap {
  top: 40px;
}
body.user-logged-in.toolbar-tray-open {
  padding-top: 180px !important;
}
body.user-logged-in.toolbar-tray-open .header,
body.user-logged-in.toolbar-tray-open .search-wrap {
  top: 80px;
}

.admin-functions ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
  margin: 1em 0;
  padding: 0;
}
.admin-functions ul li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.admin-functions ul li {
  margin-right: 1em;
  display: inline-block;
}
.admin-functions ul li a {
  color: #000000;
  background: #fff;
  padding: 0.5em 1em;
  margin: 0;
  border: 1px solid #000000;
  display: block;
}
.admin-functions ul li a.active, .admin-functions ul li a:hover {
  color: #fff;
  background: #000000;
}

body,
html {
  font-family: "Raleway-Reg";
  font-size: 20px;
  line-height: 28px;
  color: #000000;
  height: 100%;
  -webkit-text-size-adjust: 100%;
}

iframe {
  min-height: 800px !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
  font-family: "Cantata One";
  margin: 0 0 0.5em;
  line-height: 1.2;
}

h1,
.h1 {
  font-size: 54px;
  line-height: 70px;
  color: #6d3232;
}
@media (max-width: 767px) {
  h1,
.h1 {
    font-size: 44px;
    line-height: 65px;
  }
}
@media (max-width: 480px) {
  h1,
.h1 {
    font-size: 40px;
    line-height: 54px;
  }
}
@media (max-width: 370px) {
  h1,
.h1 {
    font-size: 33px;
    line-height: 48px;
  }
}
h1:after,
.h1:after {
  content: "";
  display: block;
  height: 4px;
  background: #e2a824;
  width: 75px;
  margin-top: 10px;
}

h2 {
  font-size: 36px;
  line-height: 49px;
  color: #404749;
  margin-bottom: 30px;
}
@media (max-width: 370px) {
  h2 {
    font-size: 30px;
    line-height: 44px;
  }
}

p {
  line-height: 1.5;
  margin-top: 0;
}
p:last-child {
  margin-bottom: 0;
}

strong {
  font-weight: normal;
  font-family: "Raleway-Semi";
}

em {
  font-style: italic;
}

small {
  font-size: 90%;
}

a {
  text-decoration: none;
  transition: all 0.2s ease-out;
  outline: 0;
  color: #9c4948;
  border-bottom: 1px solid #9c4948;
}
a:hover {
  color: #404749;
  border-color: #404749;
}
.btn,
.button a {
  font-family: "Raleway-Reg";
  font-size: 20px;
  line-height: 28px;
  font-weight: normal;
  font-family: "Raleway-Semi";
  padding: 20px 30px;
  display: inline-block;
  position: relative;
  background: #9c4948;
  color: #fff;
  border: 0;
  margin-right: 90px;
}
.btn:after,
.button a:after {
  content: "";
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  height: 100%;
  width: 70px;
  background-color: #9c4948;
  background-image: url("../images/arrow.svg");
  background-size: 20px;
  position: absolute;
  top: 0;
  right: -71px;
  transition: all 0.2s ease-out;
  z-index: 1;
}
.btn:hover,
.button a:hover {
  background: #6d3232;
  color: #fff;
}
.btn:hover:after,
.button a:hover:after {
  background-color: #6d3232;
  transform: translateX(10px);
}

.btn-alt,
.button-alt a {
  display: inline-block;
  border: 2px solid #404749;
  color: #404749;
  padding: 10px 25px;
}
.btn-alt:hover,
.button-alt a:hover {
  background: #404749;
  color: #fff;
}

.intro {
  font-weight: normal;
  font-family: "Raleway-Light";
  font-size: 24px;
  line-height: 34px;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  background: #9c4948;
  display: block;
  height: 100px;
  width: 100%;
  color: #fff;
  transition: transform 0.2s ease-out;
}
@media (max-width: 767px) {
  .header {
    height: 70px;
  }
}
.header .row,
.header .columns {
  height: 100%;
}
@media (max-width: 369px) {
  .header .columns {
    padding: 0 10px;
  }
}

body {
  padding-top: 100px;
}
@media (max-width: 767px) {
  body {
    padding-top: 70px;
  }
}

.header__logo {
  text-align: left;
  text-indent: -9999px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  margin-top: 10px;
  background-image: url("../images/logo_type.svg");
  background-position: right center;
  display: block;
  height: 80px;
  width: 250px;
  margin-left: 95px;
  border: 0;
  float: left;
  font-size: 0;
}
@media (max-width: 767px) {
  .header__logo {
    height: 50px;
    margin-left: 60px;
  }
}
@media (max-width: 479px) {
  .header__logo {
    width: 200px;
  }
}
@media (max-width: 369px) {
  .header__logo {
    width: 150px;
  }
}
.header__logo .logo {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("../images/logo.svg");
  background-size: 50px;
  background-color: #fff;
  height: 80px;
  width: 80px;
  display: block;
  border-radius: 50%;
  margin-left: -95px;
}
@media (max-width: 767px) {
  .header__logo .logo {
    height: 50px;
    width: 50px;
    margin-left: -60px;
  }
}
.header__logo:hover {
  opacity: 0.7;
}

.nav {
  float: right;
  display: block;
}
@media (max-width: 1099px) {
  .nav {
    display: none;
    position: absolute;
    right: 0;
    background: #9c4948;
    top: 100%;
  }
}
@media (max-width: 767px) {
  .nav {
    width: 100%;
  }
}
.nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav ul li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav ul li {
  display: block;
  float: left;
}
@media (max-width: 767px) {
  .nav ul li {
    float: none;
  }
}
.nav ul li a {
  color: #fff;
  display: block;
  padding: 0 11px;
  height: 100px;
  line-height: 100px;
  border: 0;
  font-size: 18px;
}
@media (max-width: 767px) {
  .nav ul li a {
    width: 100%;
    height: 50px;
    line-height: 50px;
  }
}
.nav ul li a:hover, .nav ul li a.is-active {
  background-color: #6d3232;
}
.nav ul li a.is-active {
  font-weight: normal;
  font-family: "Raleway-Semi";
}
.nav ul li a.search, .nav ul li a.members {
  text-align: left;
  text-indent: -9999px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  height: 80px;
  width: 50px;
  border-left: 1px solid #fff;
  line-height: 80px;
  border-bottom: 0;
  background-size: 23px;
  margin: 10px 0;
  padding: 0 20px;
}
@media (max-width: 767px) {
  .nav ul li a.search, .nav ul li a.members {
    height: 50px;
    width: 100%;
    border: 0;
    border-top: 1px solid #fff;
    margin: 0;
  }
}
.nav ul li a.search {
  background-image: url("../images/search.svg");
  background-color: #9c4948;
  margin-left: 10px;
}
@media (max-width: 767px) {
  .nav ul li a.search {
    margin: 0;
  }
}
.nav ul li a.search:hover, .nav ul li a.search.active {
  background-color: #6d3232;
}
.nav ul li a.search.active {
  background-image: url("../images/close-menu.svg");
}
.nav ul li a.members {
  background-image: url("../images/member.svg");
  background-size: 20px;
}

.nav__toggle {
  display: none;
}
@media (max-width: 1099px) {
  .nav__toggle {
    text-align: left;
    text-indent: -9999px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    float: right;
    background-image: url("../images/burger-menu.svg");
    height: 40px;
    width: 40px;
    margin-top: 30px;
    border: 0;
  }
  .nav__toggle.nav__toggle--active {
    background-image: url("../images/close-menu.svg");
  }
}
@media (max-width: 767px) {
  .nav__toggle {
    margin-top: 15px;
  }
}

.nav__toggle--active span {
  background-color: transparent;
  background: #fff;
}
.nav__toggle--active span:before, .nav__toggle--active span:after {
  top: 0;
  background: #000000;
}
.nav__toggle--active span:before {
  transform: rotate(45deg);
}
.nav__toggle--active span:after {
  transform: rotate(-45deg);
}
.nav__toggle--active:hover span {
  background: #fff;
}

.search-wrap {
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  height: 80px;
  width: 100%;
  background: #fff;
  transform: translateY(-100%);
  transition: transform 0.2s ease-out;
  z-index: 90;
}
.search-wrap input[type=search] {
  display: block;
  width: 98%;
  height: 50px;
  margin: 15px 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #9c4948;
  color: #000000;
  padding: 10px 15px;
}
.search-wrap input[type=search]:focus {
  border-color: #6d3232;
}
.search-wrap input[type=submit] {
  text-align: left;
  text-indent: -9999px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 15px;
  right: 30px;
  display: block;
  height: 50px;
  width: 50px;
  background-color: #fff;
  background-image: url("../images/search-red.svg");
  background-size: 25px;
  border: 0;
}
.search-wrap input[type=submit]:hover {
  background-image: url("../images/search.svg");
  background-color: #9c4948;
}

.search--open .search-wrap {
  transform: translateY(0);
}
.search--open .header {
  transform: translateY(80px);
}

.subnav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.subnav ul li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.subnav ul a {
  font-weight: normal;
  font-family: "Raleway-Semi";
  display: block;
  padding: 10px 0;
}
.subnav ul a:hover, .subnav ul a.is-active {
  padding: 10px;
  background: #9c4948;
  color: #fff;
  border-color: #9c4948;
}
.subnav ul ul a {
  font-family: "Raleway-Reg";
  font-size: 20px;
  line-height: 28px;
  padding: 10px 30px;
  background: #9c4948;
  color: #fff;
}
.subnav ul ul a:hover, .subnav ul ul a.is-active {
  padding: 10px 30px;
  background: #6d3232;
  border-color: #6d3232;
}
.subnav .node__sidebar {
  padding: 0;
}

@media (max-width: 800px) {
  .large-8.tablet-full,
.large-4.tablet-full {
    width: 100%;
  }
}
.no-banner {
  margin-top: 100px;
}
@media (max-width: 799px) {
  .no-banner {
    margin-top: 50px;
  }
}

.banner {
  position: relative;
  margin-bottom: 30px;
}
.banner img {
  width: 100%;
  height: auto;
}
.banner .caption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
@media (max-width: 1024px) {
  .banner .caption {
    position: relative;
  }
  .banner .caption .large-7,
.banner .caption .large-8 {
    width: 100%;
  }
  .banner .caption .button a {
    margin-top: 15px;
  }
}
.banner .caption:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background: #fff;
}
.banner .caption .columns {
  background: #fff;
  padding: 60px 30px 20px;
}
@media (max-width: 767px) {
  .banner .caption .columns {
    padding-top: 40px;
  }
}
.banner .caption h1 {
  display: block;
  margin: 0;
}
@media (max-width: 1024px) {
  .banner .caption h1 {
    max-width: 70%;
  }
}
@media (max-width: 800px) {
  .banner .caption h1 {
    max-width: 100%;
  }
}
.banner .caption p {
  margin: 20px 0 0;
}
.banner .caption .btn {
  position: absolute;
  top: 40%;
  right: -37%;
}
@media (max-width: 1024px) {
  .banner .caption .btn {
    right: 0;
  }
}
@media (max-width: 800px) {
  .banner .caption .btn {
    position: relative;
    top: 0;
    margin-top: 20px;
  }
}
.banner .caption .large-7 .button {
  margin: 40px 0 -40px;
}
@media (max-width: 767px) {
  .banner .caption .large-7 .button {
    margin-top: 15px;
  }
}

.entity {
  margin: 60px 0;
}
.entity--type-audio iframe, .entity--type-video iframe {
  min-height: auto !important;
}
.entity--type-image div {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0;
  padding-right: 0;
}

ul.gallery li,
ul.logos li {
  margin-bottom: 5%;
}
ul.gallery a,
ul.logos a {
  display: block;
}
ul.gallery a img,
ul.logos a img {
  transition: opacity 0.2s ease-out;
}
ul.gallery a:hover img,
ul.logos a:hover img {
  opacity: 0.7;
}

ul.gallery li {
  background: none;
  box-sizing: border-box;
  padding: 10px;
  box-shadow: inset 0 0 0 2px #e5eaed;
  position: relative;
  vertical-align: middle;
}
ul.gallery li::before, ul.gallery li::after {
  box-sizing: inherit;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
}
ul.gallery li::before, ul.gallery li::after {
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  transform-origin: center;
}
ul.gallery li::before {
  border-top: 2px solid #9c4948;
  border-bottom: 2px solid #9c4948;
  transform: scale3d(0, 1, 1);
}
ul.gallery li::after {
  border-left: 2px solid #9c4948;
  border-right: 2px solid #9c4948;
  transform: scale3d(1, 0, 1);
}
ul.gallery li:hover::before, ul.gallery li:hover::after {
  transform: scale3d(1, 1, 1);
  transition: transform 0.5s;
}
ul.gallery li a {
  text-decoration: none;
  border-bottom: none;
  position: relative;
  z-index: 10;
}

ul.logos .logo-link {
  text-align: center;
}
ul.logos .logo-link img {
  margin-bottom: 1em;
}
ul.logos .logo-link a {
  font-size: 18px;
  padding: 3px 0;
}
ul.logos .logo-link i,
ul.logos .logo-link strong {
  display: block;
  padding: 3px 0;
}

ul.items .bit {
  display: block;
  width: 65.3333%;
  float: left;
}
ul.items .bit.thumb {
  width: 30.6666%;
  margin-right: 4%;
}
ul.items img {
  width: 100%;
  height: auto;
}

ul.downloads a {
  font-weight: normal;
  font-family: "Raleway-Semi";
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("../images/download.svg");
  background-size: 25px;
  background-position: 25px center;
  display: block;
  padding: 15px 25px 15px 70px;
  background-color: #e5eaed;
  border-color: #fff;
  color: #404749;
}
ul.downloads a:hover {
  background-color: #fff;
  border-color: #404749;
}

blockquote {
  font-weight: 400;
  font-family: "Cantata One";
  font-size: 24px;
  line-height: 34px;
  width: 100%;
  display: block;
  background: #8fb5c1;
  margin: 0 auto;
  color: #404749;
  padding: 25px 30px 30px;
}
blockquote blockquote {
  padding: 0;
}
blockquote p {
  font-size: 24px;
  line-height: 34px;
}
blockquote p em {
  font-style: normal;
}
blockquote cite {
  font-family: "Raleway-Reg";
  font-size: 20px;
  line-height: 28px;
  font-size: 20px;
  line-height: 30px;
  font-style: normal;
}
blockquote cite:before {
  content: "";
  display: block;
  height: 4px;
  background: #fff;
  margin: 20px 0 10px;
  width: 75px;
}

.posted {
  display: block;
  margin-top: 15px;
}

@media (max-width: 799px) {
  .sidebar {
    margin-top: 40px;
  }
}
.sidebar .btn {
  margin: 30px 0;
}
.sidebar h2 {
  margin-bottom: 0;
}
.sidebar .one-col li {
  margin: 0;
}

.related__wrap {
  position: relative;
  margin: 20px 0 -80px;
  padding-bottom: 20px;
}
.related__wrap:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 65%;
  z-index: -1;
  background: #e5eaed;
}

.signpost {
  margin: 60px 0 120px;
}
@media (max-width: 767px) {
  .signpost {
    margin: 40px 0;
  }
}
@media (min-width: 1500px) {
  .signpost {
    max-width: 1500px;
    margin-left: auto;
    margin-right: auto;
  }
}
.signpost .thumb,
.signpost .content {
  display: block;
}
.signpost .thumb {
  float: left;
  width: 54%;
  overflow: hidden;
}
@media (max-width: 767px) {
  .signpost .thumb {
    width: 100%;
  }
}
@media (min-width: 1500px) {
  .signpost .thumb {
    width: 800px;
  }
}
.signpost .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.signpost .content {
  float: right;
  width: 46%;
}
@media (max-width: 767px) {
  .signpost .content {
    width: 100%;
  }
}
.signpost .inner {
  width: 60%;
  height: 100%;
  padding: 60px 60px 80px 30px;
  background: rgba(143, 181, 193, 0.9);
  transform: translateX(-60px) translateY(60px);
}
@media (max-width: 1499px) {
  .signpost .inner {
    width: 80%;
  }
}
@media (max-width: 1099px) {
  .signpost .inner {
    width: 100%;
  }
}
@media (max-width: 800px) {
  .signpost .inner {
    transform: translateX(-30px) translateY(30px);
    padding: 30px 30px 40px 15px;
  }
}
@media (max-width: 767px) {
  .signpost .inner {
    transform: translateX(0) translateY(0);
  }
}
@media (min-width: 1500px) {
  .signpost .inner {
    width: 100%;
  }
}
.signpost .inner h2:after {
  content: "";
  display: block;
  height: 4px;
  background: #fff;
  margin: 20px 0 20px;
  width: 75px;
}
.signpost .inner a {
  margin-top: 20px;
}
.signpost:nth-child(even) .thumb {
  float: right;
}
.signpost:nth-child(even) .content {
  float: left;
}
.signpost:nth-child(even) .content .inner {
  float: right;
  transform: translateX(60px) translateY(60px);
}
@media (max-width: 800px) {
  .signpost:nth-child(even) .content .inner {
    transform: translateX(30px) translateY(30px);
  }
}
@media (max-width: 767px) {
  .signpost:nth-child(even) .content .inner {
    transform: translateX(0) translateY(0);
  }
}
.signpost:nth-of-type(3n + 1) .inner {
  background: rgba(226, 168, 36, 0.9);
}
.signpost:nth-of-type(3n + 2) .inner {
  background: rgba(229, 234, 237, 0.9);
}

.node__teaser.node--article .thumb,
.node__teaser.node--article .content {
  float: left;
  width: 30.6666%;
}
.node__teaser.node--article .content {
  width: 69.3334%;
  transform: none;
  padding: 0 30px;
}
.node__teaser.node--members-article h3 {
  margin-bottom: 0;
}
.node__teaser a:not(.btn-alt) {
  border: 0;
}
.node__teaser .thumb {
  display: block;
}
.node__teaser .thumb img {
  width: 100%;
  height: auto;
}
.node__teaser a.thumb:hover {
  opacity: 0.7;
}
.node__teaser .content {
  background: rgba(255, 255, 255, 0.8);
  padding: 30px;
  transform: translateX(30px) translateY(-30px);
}
.node__teaser h3 {
  color: #9c4948;
  margin-bottom: 25px;
}
.node__teaser h3:after {
  content: "";
  display: block;
  height: 4px;
  background: #9c4948;
  width: 75px;
  margin-top: 10px;
}

.node__sidebar {
  border-bottom: 1px solid #6d3232;
  padding: 15px 0;
}
.node__sidebar a {
  border: 0;
  display: block;
}
.node__sidebar h3 {
  margin-bottom: 0;
}
.node__sidebar .date {
  display: block;
  font-size: 80%;
}

.js-pager__items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: block;
  width: 100%;
  text-align: center;
}
.js-pager__items li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.js-pager__items li {
  display: inline-block;
  margin: 0 5px;
}

#protected-pages-enter-password fieldset {
  border: 0;
  padding: 0;
}
#protected-pages-enter-password fieldset label {
  display: block;
  margin: 15px 0;
}
#protected-pages-enter-password fieldset input[type=submit] {
  font-family: "Raleway-Reg";
  font-size: 20px;
  line-height: 28px;
  font-weight: normal;
  font-family: "Raleway-Semi";
  padding: 20px 30px;
  display: inline-block;
  position: relative;
  background: #9c4948;
  color: #fff;
  border: 0;
  margin-right: 90px;
  margin-top: 30px;
}
#protected-pages-enter-password fieldset input[type=submit]:after {
  content: "";
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  height: 100%;
  width: 70px;
  background-color: #9c4948;
  background-image: url("../images/arrow.svg");
  background-size: 20px;
  position: absolute;
  top: 0;
  right: -71px;
  transition: all 0.2s ease-out;
  z-index: 1;
}
#protected-pages-enter-password fieldset input[type=submit]:hover {
  background: #6d3232;
  color: #fff;
}
#protected-pages-enter-password fieldset input[type=submit]:hover:after {
  background-color: #6d3232;
  transform: translateX(10px);
}

div[role=alert] {
  font-weight: normal;
  font-family: "Raleway-Semi";
  padding: 15px 0;
  color: #9c4948;
}

.footer {
  margin-top: 80px;
  background: #9c4948;
  padding: 20px 0 40px;
  color: #fff;
}
@media (max-width: 768px) {
  .footer {
    margin-top: 40px;
  }
}
.footer p,
.footer a {
  font-size: 18px;
  line-height: 22px;
}

.footer__top {
  padding: 10px 0 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #fff;
}
.footer__top nav {
  float: right;
  margin-top: 15px;
}
@media (max-width: 800px) {
  .footer__top nav {
    float: left;
  }
}
.footer__top nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer__top nav ul li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer__top nav li {
  display: block;
  float: left;
  border-left: 1px solid #fff;
}
@media (max-width: 480px) {
  .footer__top nav li {
    border: 0;
    width: 100%;
  }
}
.footer__top nav li:first-child {
  border: 0;
}
@media (max-width: 800px) {
  .footer__top nav li:first-child a {
    margin-left: 0;
  }
}
.footer__top nav li:last-child a {
  margin-right: 0;
}
.footer__top nav li a {
  font-weight: normal;
  font-family: "Raleway-Semi";
  color: #fff;
  margin: 0 15px;
}
@media (max-width: 480px) {
  .footer__top nav li a {
    margin-left: 0;
  }
}
.footer__top nav li a:hover, .footer__top nav li a.is-active {
  border-color: #fff;
  color: #fff;
}

.footer__logo {
  text-align: left;
  text-indent: -9999px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("../images/logo_type.svg");
  background-position: right center;
  display: block;
  float: left;
  height: 40px;
  width: 250px;
  border: 0;
  float: left;
  font-size: 0;
}
@media (max-width: 479px) {
  .footer__logo {
    width: 100%;
    background-position: left center;
  }
}

.footer__left,
.footer_right {
  display: inline-block;
  float: left;
}

.footer__right {
  float: right;
  text-align: right;
}
@media (max-width: 800px) {
  .footer__right {
    float: left;
    text-align: left;
  }
}
.footer__right p {
  margin-top: 20px;
}
.footer__right .twitter {
  color: #fff;
  margin-right: 50px;
  position: relative;
}
@media (max-width: 480px) {
  .footer__right .twitter {
    display: block;
    margin-top: 10px;
  }
}
.footer__right .twitter:after {
  text-align: left;
  text-indent: -9999px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 40px;
  width: 40px;
  border: 1px solid #fff;
  border-radius: 50%;
  background-image: url("../images/twitter.png");
  background-size: 20px;
  position: absolute;
  top: -7px;
  right: -45px;
  transition: background 0.2s ease-out;
}
.footer__right .twitter:hover {
  border-color: #fff;
}
.footer__right .twitter:hover:after {
  background-color: #6d3232;
}

.footer__credits {
  margin-top: 0;
  background: #fff;
  color: #000000;
  padding-bottom: 20px;
}
.footer__credits p {
  display: inline-block;
  float: left;
  font-size: 16px;
  line-height: 1.2;
  margin: 0;
}
.footer__credits p.align-right {
  float: right;
}
@media (max-width: 480px) {
  .footer__credits p.align-right {
    float: none;
  }
}
.footer__credits a {
  color: #000000;
  border-color: #000000;
}
.footer__credits a:hover {
  color: #9c4948;
  border-color: #9c4948;
}

.search-page .search-form,
.search-page h2 {
  display: none;
  visibility: hidden;
}

.user-wrap {
  padding-top: 100px;
}
@media (max-width: 767px) {
  .user-wrap {
    padding-top: 40px;
  }
}

.user-login-form label {
  font-weight: 400;
  font-family: "Cantata One";
  display: block;
}
.user-login-form .js-form-item {
  margin-bottom: 20px;
}
.user-login-form input[type=text],
.user-login-form input[type=password] {
  max-width: 90%;
}
.user-login-form input[type=submit] {
  font-family: "Raleway-Reg";
  font-size: 20px;
  line-height: 28px;
  font-weight: normal;
  font-family: "Raleway-Semi";
  padding: 20px 30px;
  display: inline-block;
  position: relative;
  background: #9c4948;
  color: #fff;
  border: 0;
  margin-right: 90px;
}
.user-login-form input[type=submit]:after {
  content: "";
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  height: 100%;
  width: 70px;
  background-color: #9c4948;
  background-image: url("../images/arrow.svg");
  background-size: 20px;
  position: absolute;
  top: 0;
  right: -71px;
  transition: all 0.2s ease-out;
  z-index: 1;
}
.user-login-form input[type=submit]:hover {
  background: #6d3232;
  color: #fff;
}
.user-login-form input[type=submit]:hover:after {
  background-color: #6d3232;
  transform: translateX(10px);
}

.path-user .admin-functions__admin {
  display: none;
  visibility: hidden;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWdhY3ktbGFyYXZlbC1taXgvLi93ZWIvdGhlbWVzL3BpcHBpcC9zYXNzL3N0eWxlLnNjc3MiLCJ3ZWJwYWNrOi8vbGVnYWN5LWxhcmF2ZWwtbWl4Ly4vd2ViL3RoZW1lcy9waXBwaXAvc2Fzcy9pbmNsdWRlcy9fc2V0dXAuc2NzcyIsIndlYnBhY2s6Ly9sZWdhY3ktbGFyYXZlbC1taXgvLi93ZWIvdGhlbWVzL3BpcHBpcC9zYXNzL2luY2x1ZGVzL19kZWZhdWx0cy5zY3NzIiwid2VicGFjazovL2xlZ2FjeS1sYXJhdmVsLW1peC8uL3dlYi90aGVtZXMvcGlwcGlwL3Nhc3MvaW5jbHVkZXMvX2luY2x1ZGUtbWVkaWEuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQ0FBO0FBUUE7RUFDRTtBRExGOztBQ1FBO0FBNkZBO0FBZUE7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7QURsSEY7QUNxSEE7RUFDRTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0FEckhGO0FDd0hBO0VBQ0U7RUFDQTtFQUNBO0VBR0E7RUFDQTtBRHhIRjtBQzJIQTtFQUNFO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7QUQzSEY7QUM4SEE7RUFDRTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0FEOUhGO0FDc0pBO0FDN0xBO0VBQ0M7RUFDQTtBRjBDRDs7QUV2Q0E7RUFDQztFQUNBO0FGMENEO0FFeENDO0VBRUM7RUFDQTtBRnlDRjtBRXZDQztFQUNDO0FGeUNGOztBRXBDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FGdUNEO0FFckNDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRnVDRjs7QUVsQ0E7RUFDQztFQUFZO0FGc0NiOztBRWxDQTtFQUNDO0VBQ0E7RUFDQSxnQkQyREk7RUMxREosY0R5RE07RUN4RE47RUFDQTtBRnFDRDtBRW5DQztFQUNDO0FGcUNGOztBRWxDQTtFRDVCRTtFQUNBO0VBYUE7RUFDQTtFQUNBO0VDZUQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FGd0NEO0FFdENDO0VBQ0M7QUZ3Q0Y7O0FFbkNBO0VBQ0M7QUZzQ0Q7O0FFcENBO0VBQ0M7QUZ1Q0Q7O0FHMGJJO0VEN2RIO0lBQ0M7RUZ1Q0E7O0VFckNEO0lBQ0M7RUZ3Q0E7QUFDRjtBRXBDQTs7Ozs7OztFRGdGRTtFQUNBO0VBQ0E7RUMxRUQsY0RLTTtFQ0pOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUZ3Q0Q7O0FFckNBOztFQUNzQjtBRnlDdEI7O0FFckNBO0VEckdFO0VBQ0E7RUFDQTtBRDhJRjtBQzVJRTtFQUNFO0VBQ0E7RUFDQTtBRDhJSjtBRTdDQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUYrQ0Y7O0FFMUNDO0VBQ0M7RUFDQTtBRjZDRjtBRTNDRTtFQUFjO0FGOENoQjs7QUV6Q0M7RUFDQztBRjRDRjtBRTFDRTtFQUFxQjtBRjZDdkI7O0FFeENDO0VBQ0M7QUYyQ0Y7QUV6Q0U7RUFBcUI7QUY0Q3ZCOztBRXZDQztFQUNDO0FGMENGO0FFeENFO0VBQXFCO0FGMkN2Qjs7QUV0Q0M7RUFDQztBRnlDRjtBRXZDRTtFQUFxQjtBRjBDdkI7O0FFckNDO0VBQ0M7QUZ3Q0Y7QUV0Q0U7RUFBcUI7QUZ5Q3ZCOztBRzBWSTtFRHhYRjs7Ozs7SUFDQztJQUNBO0VGc0NEO0FBQ0Y7QUVsQ0E7RURoTEU7RUFDQTtFQUNBO0VDZ0xEO0VBQ0E7RUFDQTtBRnNDRDtBQ3RORTtFQUNFO0VBQ0E7RUFDQTtBRHdOSjtBRXpDQztFQUNDO0FGMkNGO0FFekNFO0VBQ0M7RUFDQTtBRjJDSDtBRXhDRTtFQUNDO0FGMENIOztBRWhDQTtFQUNDO0FGbUNEO0FFakNDOztFQUVDO0FGbUNGO0FFL0JDO0VBQ0M7QUZpQ0Y7QUUvQkU7O0VBRUM7QUZpQ0g7O0FFM0JDO0VEN05DO0VBQ0E7RUFDQTtFQzZOQTtFQUNBO0VBQ0E7QUZnQ0Y7QUM3UEU7RUFDRTtFQUNBO0VBQ0E7QUQrUEo7QUVuQ0U7RUFDQztFQUNBO0FGcUNIO0FFbkNHO0VBQ0MsY0Q5SUc7RUMr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QTtFQTFIQTtFQUNBO0VBQ0E7RUFDQSxtQkFnRE87RUEvQ1A7RUFDQTtFQUNBO0FEby9DRjtBQ2wvQ0U7RUFDRTtFQXhCRjtFQUNBO0VBQ0E7RUF3QkU7RUFDQTtFQUNBO0VBQ0EseUJBcUNLO0VBcENMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEcy9DSjtBQ24vQ0U7RUFDRSxtQkErQks7RUE5Qkw7QURxL0NKO0FDbi9DSTtFQUNFLHlCQTJCRztFQTFCSDtBRHEvQ047O0FBbFVFO0VBQ0U7RUFDQTtBQXFVSixDIiwiZmlsZSI6ImNzcy9zdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiAtLS0gSW5jbHVkZSBzZXR1cCBmaWxlcyAtLS0gKi9cbkBpbXBvcnQgJ2luY2x1ZGVzL3NldHVwJztcbkBpbXBvcnQgJ2luY2x1ZGVzL2RlZmF1bHRzJztcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXHRcdFx0XHRcdCAgIFx0XHQgU1RZTEVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5ib2R5LFxuaHRtbCB7XG4gIEBpbmNsdWRlIGZvbnQtYm9keTtcbiAgY29sb3I6ICR0ZXh0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbn1cblxuaWZyYW1lIHtcbiAgbWluLWhlaWdodDogODAwcHggIWltcG9ydGFudDtcbn1cblxuLy8gVGV4dCAmIGxpbmtzXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBAaW5jbHVkZSBmb250LXRpdGxlO1xuICBtYXJnaW46IDAgMCAwLjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuaDEsXG4uaDEge1xuICBmb250LXNpemU6IDU0cHg7XG4gIGxpbmUtaGVpZ2h0OiA3MHB4O1xuICBjb2xvcjogJG1hcm9vbjtcblxuICBAaW5jbHVkZSBtZWRpYSgnPG1vYmlsZScpIHtcbiAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDY1cHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPD1zbWFsbCcpIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDU0cHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPD12c21hbGwnKSB7XG4gICAgZm9udC1zaXplOiAzM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYmFja2dyb3VuZDogJG11c3RhcmQ7XG4gICAgd2lkdGg6IDc1cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgfVxufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMzZweDtcbiAgbGluZS1oZWlnaHQ6IDQ5cHg7XG4gIGNvbG9yOiAkc2xhdGU7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzw9dnNtYWxsJykge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgfVxufVxuXG5oMyB7fVxuXG5wIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luLXRvcDogMDtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuc3Ryb25nIHtcbiAgQGluY2x1ZGUgZm9udC1ib2xkO1xufVxuXG5lbSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDkwJTtcbn1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gIG91dGxpbmU6IDA7XG4gIGNvbG9yOiAkYXVidXJuO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGF1YnVybjtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHNsYXRlO1xuICAgIGJvcmRlci1jb2xvcjogJHNsYXRlO1xuICB9XG5cbiAgJjpmb2N1cyB7fVxuXG4gICY6YWN0aXZlIHt9XG59XG5cbi5idG4sXG4uYnV0dG9uIGEge1xuICBAaW5jbHVkZSBidG47XG59XG5cbi5idG4tYWx0LFxuLmJ1dHRvbi1hbHQgYSB7XG4gIEBpbmNsdWRlIGJ0bi1hbHQ7XG59XG5cbi5pbnRybyB7XG4gIEBpbmNsdWRlIGZvbnQtbGlnaHQ7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDM0cHg7XG59XG5cbi8vIEhlYWRlclxuLmhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA7XG4gIGJhY2tncm91bmQ6ICRhdWJ1cm47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2Utb3V0O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc8bW9iaWxlJykge1xuICAgIGhlaWdodDogNzBweDtcbiAgfVxuXG4gIC5yb3csXG4gIC5jb2x1bW5zIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPHZzbWFsbCcpIHtcbiAgICAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgfVxuICB9XG59XG5cbmJvZHkge1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxtb2JpbGUnKSB7XG4gICAgcGFkZGluZy10b3A6IDcwcHg7XG4gIH1cbn1cblxuLmhlYWRlcl9fbG9nbyB7XG4gIEBpbmNsdWRlIHJtLXRleHQ7XG4gIEBpbmNsdWRlIGJnLWltZztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbG9nb190eXBlLnN2ZycpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDgwcHg7XG4gIHdpZHRoOiAyNTBweDtcbiAgbWFyZ2luLWxlZnQ6IDk1cHg7XG4gIGJvcmRlcjogMDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPG1vYmlsZScpIHtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPHNtYWxsJykge1xuICAgIHdpZHRoOiAyMDBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc8dnNtYWxsJykge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgfVxuXG4gIC5sb2dvIHtcbiAgICBAaW5jbHVkZSBiZy1pbWc7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbG9nby5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDUwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtOTVweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8bW9iaWxlJykge1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTYwcHg7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG59XG5cbi8vIE1lbnVzXG4ubmF2IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAaW5jbHVkZSBtZWRpYSgnPDExMDBweCcpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiAkYXVidXJuO1xuICAgIHRvcDogMTAwJTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc8bW9iaWxlJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgdWwge1xuICAgIEBpbmNsdWRlIGxpLXJlc2V0O1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtb2JpbGUnKSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDExcHg7XG4gICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtb2JpbGUnKSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXJvb247XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1ib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWFyY2gsXG4gICAgICAgICYubWVtYmVycyB7XG4gICAgICAgICAgQGluY2x1ZGUgcm0tdGV4dDtcbiAgICAgICAgICBAaW5jbHVkZSBiZy1pbWc7XG4gICAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICBsaW5lLWhlaWdodDogODBweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjNweDtcbiAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1vYmlsZScpIHtcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWFyY2gge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3NlYXJjaC5zdmcnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXVidXJuO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtb2JpbGUnKSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFyb29uO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nsb3NlLW1lbnUuc3ZnJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5tZW1iZXJzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tZW1iZXIuc3ZnJyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5uYXZfX3RvZ2dsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzwxMTAwcHgnKSB7XG4gICAgQGluY2x1ZGUgcm0tdGV4dDtcbiAgICBAaW5jbHVkZSBiZy1pbWc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2J1cmdlci1tZW51LnN2ZycpO1xuICAgIGhlaWdodDogNDBweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIGJvcmRlcjogMDtcblxuICAgICYubmF2X190b2dnbGUtLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jbG9zZS1tZW51LnN2ZycpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc8bW9iaWxlJykge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gIH1cbn1cblxuLm5hdl9fdG9nZ2xlLS1hY3RpdmUge1xuICBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICB0b3A6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkdGV4dDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIHNwYW4ge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB9XG4gIH1cbn1cblxuLnNlYXJjaC13cmFwIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dDtcbiAgei1pbmRleDogOTA7XG5cbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA5OCU7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIG1hcmdpbjogMTVweCAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGF1YnVybjtcbiAgICBjb2xvcjogJHRleHQ7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRtYXJvb247XG4gICAgfVxuICB9XG5cbiAgaW5wdXRbdHlwZT0nc3VibWl0J10ge1xuICAgIEBpbmNsdWRlIHJtLXRleHQ7XG4gICAgQGluY2x1ZGUgYmctaW1nO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE1cHg7XG4gICAgcmlnaHQ6ICRidW1wO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNTBweDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3NlYXJjaC1yZWQuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyNXB4O1xuICAgIGJvcmRlcjogMDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvc2VhcmNoLnN2ZycpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGF1YnVybjtcbiAgICB9XG4gIH1cbn1cblxuLnNlYXJjaC0tb3BlbiB7XG4gIC5zZWFyY2gtd3JhcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgLmhlYWRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDgwcHgpO1xuICB9XG59XG5cbi5zdWJuYXYge1xuICB1bCB7XG4gICAgQGluY2x1ZGUgbGktcmVzZXQ7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYm9sZDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMTBweCAwO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYXVidXJuO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYXVidXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBmb250LWJvZHk7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGF1YnVybjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWFyb29uO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJG1hcm9vbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ub2RlX19zaWRlYmFyIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vIENvbnRlbnRcblxuQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0cG9ydCcpIHtcblxuICAubGFyZ2UtOC50YWJsZXQtZnVsbCxcbiAgLmxhcmdlLTQudGFibGV0LWZ1bGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5uby1iYW5uZXIge1xuICBtYXJnaW4tdG9wOiAxMDBweDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldHBvcnQnKSB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgfVxufVxuXG4uYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLmNhcHRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0bGFuZCcpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmxhcmdlLTcsXG4gICAgICAubGFyZ2UtOCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuYnV0dG9uIGEge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIH1cblxuICAgIC5jb2x1bW5zIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBwYWRkaW5nOiA2MHB4ICRidW1wIDIwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bW9iaWxlJykge1xuICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXRsYW5kJykge1xuICAgICAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0cG9ydCcpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNDAlO1xuICAgICAgcmlnaHQ6IC0zNyU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0bGFuZCcpIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldHBvcnQnKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5sYXJnZS03IHtcbiAgICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDQwcHggMCAtNDBweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1vYmlsZScpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5lbnRpdHkge1xuICBtYXJnaW46IDYwcHggMDtcblxuICAmLS10eXBlLWF1ZGlvLFxuICAmLS10eXBlLXZpZGVvIHtcbiAgICBpZnJhbWUge1xuICAgICAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICYtLXR5cGUtaW1hZ2Uge1xuICAgIGRpdiB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG51bC5nYWxsZXJ5LFxudWwubG9nb3Mge1xuICBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNSU7XG4gIH1cblxuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGltZyB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBpbWcge1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGdhbGxlcnkgaG92ZXJcbnVsLmdhbGxlcnkgbGkge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAxMHB4O1xuXG4gIC8vIFVzaW5nIGluc2V0IGJveC1zaGFkb3cgaW5zdGVhZCBvZiBib3JkZXIgZm9yIHNpemluZyBzaW1wbGljaXR5XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCAjZTVlYWVkO1xuXG4gIC8vIFJlcXVpcmVkLCBzaW5jZSB3ZSdyZSBzZXR0aW5nIGFic29sdXRlIG9uIHBzZXVkby1lbGVtZW50c1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLy8gU2V0IHVwIGJhc2Ugc3R5bGVzLCB3ZSdyZSBnb2luZyB0byBzY2FsZSBpbnN0ZWFkIG9mIGFuaW1hdGluZyB3aWR0aC9oZWlnaHRcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsgLy8gRW5zdXJlIHNjYWxpbmcgaXMgZG9uZSBmcm9tIHRoZSBjZW50ZXIgKGV4cGFuZHMgb3V0d2FyZHMpXG4gIH1cblxuICAvLyBzY2FsZTNkKDxzY2FsZS1ob3Jpem9udGFsPiwgPHNjYWxlLXZlcnRpY2FsPiwgPHNjYWxlLWRlcHRoPik7XG4gICY6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRhdWJ1cm47XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRhdWJ1cm47XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDEsIDEpOyAvLyBTaHJpbmsgb25seSB3aWR0aFxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGF1YnVybjtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkYXVidXJuO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAwLCAxKTsgLy8gU2hyaW5rIG9ubHkgaGVpZ2h0XG4gIH1cblxuICAmOmhvdmVyOjpiZWZvcmUsXG4gICY6aG92ZXI6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IC8vIFNob3cgZnVsbC1zaXplXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XG4gIH1cblxuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbn1cblxudWwubG9nb3MgLmxvZ28tbGluayB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBpbWcge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgfVxuXG4gIGEge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBwYWRkaW5nOiAzcHggMDtcbiAgfVxuXG4gIGksXG4gIHN0cm9uZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogM3B4IDA7XG4gIH1cbn1cblxudWwuaXRlbXMge1xuICAuYml0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNjUuMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAmLnRodW1iIHtcbiAgICAgIHdpZHRoOiAzMC42NjY2JTtcbiAgICAgIG1hcmdpbi1yaWdodDogNCU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxudWwuZG93bmxvYWRzIHtcbiAgYSB7XG4gICAgQGluY2x1ZGUgZm9udC1ib2xkO1xuICAgIEBpbmNsdWRlIGJnLWltZztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9kb3dubG9hZC5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI1cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjVweCBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTVweCAyNXB4IDE1cHggNzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTtcbiAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICRzbGF0ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogJHNsYXRlO1xuICAgIH1cbiAgfVxufVxuXG5ibG9ja3F1b3RlIHtcbiAgQGluY2x1ZGUgZm9udC10aXRsZTtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMzRweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGNvbG9yOiAkc2xhdGU7XG4gIHBhZGRpbmc6IDI1cHggMzBweCAzMHB4O1xuXG4gIGJsb2NrcXVvdGUge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM0cHg7XG5cbiAgICBlbSB7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxuICB9XG5cbiAgY2l0ZSB7XG4gICAgQGluY2x1ZGUgZm9udC1ib2R5O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgbWFyZ2luOiAyMHB4IDAgMTBweDtcbiAgICAgIHdpZHRoOiA3NXB4O1xuICAgIH1cbiAgfVxufVxuXG4ucG9zdGVkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi5zaWRlYmFyIHtcbiAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXRwb3J0Jykge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cblxuICAuYnRuIHtcbiAgICBtYXJnaW46IDMwcHggMDtcbiAgfVxuXG4gIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLm9uZS1jb2wge1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLnJlbGF0ZWRfX3dyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMjBweCAwIC04MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2NSU7XG4gICAgei1pbmRleDogLTE7XG4gICAgYmFja2dyb3VuZDogJGdyZXk7XG4gIH1cbn1cblxuLnNpZ25wb3N0IHtcbiAgbWFyZ2luOiA2MHB4IDAgMTIwcHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxtb2JpbGUnKSB7XG4gICAgbWFyZ2luOiA0MHB4IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPj13aWRlc2NyZWVuJykge1xuICAgIG1heC13aWR0aDogMTUwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIC50aHVtYixcbiAgLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLnRodW1iIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTQlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPG1vYmlsZScpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXdpZGVzY3JlZW4nKSB7XG4gICAgICB3aWR0aDogODAwcHg7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogNDYlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxtb2JpbGUnKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaW5uZXIge1xuICAgIHdpZHRoOiA2MCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDYwcHggNjBweCA4MHB4IDMwcHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJGJsdWUsIDAuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02MHB4KSB0cmFuc2xhdGVZKDYwcHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzwxNTAwcHgnKSB7XG4gICAgICB3aWR0aDogODAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8MTEwMHB4Jykge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0cG9ydCcpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCkgdHJhbnNsYXRlWSgzMHB4KTtcbiAgICAgIHBhZGRpbmc6IDMwcHggMzBweCA0MHB4IDE1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxtb2JpbGUnKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj13aWRlc2NyZWVuJykge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDIwcHg7XG4gICAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gIH1cblxuICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgLnRodW1iIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgLmlubmVyIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNjBweCkgdHJhbnNsYXRlWSg2MHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXRwb3J0Jykge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KSB0cmFuc2xhdGVZKDMwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtb2JpbGUnKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOm50aC1vZi10eXBlKDNuICsgMSkge1xuICAgIC5pbm5lciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkbXVzdGFyZCwgMC4xKTtcbiAgICB9XG4gIH1cblxuICAmOm50aC1vZi10eXBlKDNuICsgMikge1xuICAgIC5pbm5lciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkZ3JleSwgMC4xKTtcbiAgICB9XG4gIH1cbn1cblxuLm5vZGVfX3RlYXNlciB7XG4gICYubm9kZS0tYXJ0aWNsZSB7XG5cbiAgICAudGh1bWIsXG4gICAgLmNvbnRlbnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMzAuNjY2NiU7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgd2lkdGg6IDY5LjMzMzQlO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgIH1cbiAgfVxuXG4gICYubm9kZS0tbWVtYmVycy1hcnRpY2xlIHtcbiAgICBoMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIGE6bm90KC5idG4tYWx0KSB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLnRodW1iIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBhLnRodW1iOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoI2ZmZiwgMC4yKTtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KSB0cmFuc2xhdGVZKC0zMHB4KTtcbiAgfVxuXG4gIGgzIHtcbiAgICBjb2xvcjogJGF1YnVybjtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkYXVidXJuO1xuICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIH1cbiAgfVxufVxuXG4ubm9kZV9fc2lkZWJhciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWFyb29uO1xuICBwYWRkaW5nOiAxNXB4IDA7XG5cbiAgYSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZGF0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cbn1cblxuLmpzLXBhZ2VyX19pdGVtcyB7XG4gIEBpbmNsdWRlIGxpLXJlc2V0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCA1cHg7XG4gIH1cbn1cblxuLy8gcHJvdGVjdGVkXG4jcHJvdGVjdGVkLXBhZ2VzLWVudGVyLXBhc3N3b3JkIHtcbiAgZmllbGRzZXQge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDE1cHggMDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICBAaW5jbHVkZSBidG47XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG5kaXZbcm9sZT0nYWxlcnQnXSB7XG4gIEBpbmNsdWRlIGZvbnQtYm9sZDtcbiAgcGFkZGluZzogMTVweCAwO1xuICBjb2xvcjogJGF1YnVybjtcbn1cblxuLy8gRm9vdGVyXG4uZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogODBweDtcbiAgYmFja2dyb3VuZDogJGF1YnVybjtcbiAgcGFkZGluZzogMjBweCAwIDQwcHg7XG4gIGNvbG9yOiAjZmZmO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc8PW1vYmlsZScpIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG5cbiAgcCxcbiAgYSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICB9XG59XG5cbi5mb290ZXJfX3RvcCB7XG4gIHBhZGRpbmc6IDEwcHggMCAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcblxuICBuYXYge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0cG9ydCcpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIEBpbmNsdWRlIGxpLXJlc2V0O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNmZmY7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXNtYWxsJykge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldHBvcnQnKSB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBmb250LWJvbGQ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXJnaW46IDAgMTVweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1zbWFsbCcpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlcl9fbG9nbyB7XG4gIEBpbmNsdWRlIHJtLXRleHQ7XG4gIEBpbmNsdWRlIGJnLWltZztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbG9nb190eXBlLnN2ZycpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiA0MHB4O1xuICB3aWR0aDogMjUwcHg7XG4gIGJvcmRlcjogMDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPHNtYWxsJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICB9XG59XG5cbi5mb290ZXJfX2xlZnQsXG4uZm9vdGVyX3JpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvL3dpZHRoOjUwJTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5mb290ZXJfX3JpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXRwb3J0Jykge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG5cbiAgLnR3aXR0ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPD1zbWFsbCcpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHJtLXRleHQ7XG4gICAgICBAaW5jbHVkZSBiZy1pbWc7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3R3aXR0ZXIucG5nJyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC03cHg7XG4gICAgICByaWdodDogLTQ1cHg7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQ7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmY7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFyb29uO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZm9vdGVyX19jcmVkaXRzIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICR0ZXh0O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICBwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXNtYWxsJykge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJHRleHQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdGV4dDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRhdWJ1cm47XG4gICAgICBib3JkZXItY29sb3I6ICRhdWJ1cm47XG4gICAgfVxuICB9XG59XG5cbi5zZWFyY2gtcGFnZSB7XG5cbiAgLnNlYXJjaC1mb3JtLFxuICBoMiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cblxuLy8gVXNlciBsb2dpblxuLnVzZXItd3JhcCB7XG4gIHBhZGRpbmctdG9wOiAxMDBweDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPG1vYmlsZScpIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgfVxufVxuXG4udXNlci1sb2dpbi1mb3JtIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvbnQtdGl0bGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuanMtZm9ybS1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgaW5wdXRbdHlwZT0ndGV4dCddLFxuICBpbnB1dFt0eXBlPSdwYXNzd29yZCddIHtcbiAgICBtYXgtd2lkdGg6IDkwJTtcbiAgfVxuXG4gIGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgICBAaW5jbHVkZSBidG47XG4gIH1cbn1cblxuLnBhdGgtdXNlciB7XG4gIC5hZG1pbi1mdW5jdGlvbnNfX2FkbWluIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufSIsIi8qIC0tLSBJbmNsdWRlIHNldHVwIGZpbGVzIC0tLSAqL1xuQGltcG9ydCAnLi9pbmNsdWRlLW1lZGlhJztcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXHRcdFx0XHRcdCAgIFx0XHQgIFNFVFVQXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTZXQgZ2xvYmFsIHJvdyBtYXgtd2lkdGggZm9yIGRlc2lnblxuLnJvdyB7XG4gIG1heC13aWR0aDogMTE0MHB4O1xufVxuXG4vKiAtLS0gTWl4aW5zIC0tLSAqL1xuXG4vLyBSZXNldCA8bGk+IGVsZW1lbnRzXG5AbWl4aW4gbGktcmVzZXQge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8gUmVtb3ZlIHRleHQgZnJvbSBlbGVtZW50c1xuQG1peGluIHJtLXRleHQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcbn1cblxuLy8gUmVtb3ZlIGxpIGJvdHRvbSBtYXJnaW5cbkBtaXhpbiBsaS1tYXJnaW4oJGNvbHVtbnMsICRtYXJnaW5Cb3R0b20pIHtcbiAgJjpudGgtbGFzdC1jaGlsZCgtbiArICN7JGNvbHVtbnN9KTpudGgtY2hpbGQoI3skY29sdW1uc31uICsgMSksXG4gICY6bnRoLWxhc3QtY2hpbGQoLW4gKyAjeyRjb2x1bW5zfSk6bnRoLWNoaWxkKCN7JGNvbHVtbnN9biArIDEpIH4gbGkge1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW5Cb3R0b207XG4gIH1cbn1cblxuLy8gQ2VudGVyZWQgYmFja2dyb3VuZCBpbWFnZXNcbkBtaXhpbiBiZy1pbWcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG5cbi8vIElFIDkrIG9ubHlcbkBtaXhpbiBpZSgkcHJvcGVydHksICR2YWx1ZSkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSBhbmQgKG1pbi1yZXNvbHV0aW9uOiArNzJkcGkpIHtcbiAgICAjeyRwcm9wZXJ0eX06ICN7JHZhbHVlfTtcbiAgfVxufVxuXG5AbWl4aW4gYnRuIHtcbiAgQGluY2x1ZGUgZm9udC1ib2R5O1xuICBAaW5jbHVkZSBmb250LWJvbGQ7XG4gIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICRhdWJ1cm47XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbi1yaWdodDogOTBweDtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBAaW5jbHVkZSBiZy1pbWc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhdWJ1cm47XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYXJyb3cuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IC03MXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkbWFyb29uO1xuICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFyb29uO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnRuLWFsdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiAycHggc29saWQgJHNsYXRlO1xuICBjb2xvcjogJHNsYXRlO1xuICBwYWRkaW5nOiAxMHB4IDI1cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHNsYXRlO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59XG5cbi8qIC0tLSBWYXJpYWJsZXMgLS0tICovXG4kdGV4dDogIzAwMDAwMDtcbiRiZzogI2ZmZjtcblxuJGF1YnVybjogIzljNDk0ODtcbiRzbGF0ZTogIzQwNDc0OTtcbiRncmV5OiAjZTVlYWVkO1xuJG11c3RhcmQ6ICNlMmE4MjQ7XG4kYmx1ZTogIzhmYjVjMTtcbiRtYXJvb246ICM2ZDMyMzI7XG5cbi8vIHBhZGRpbmcgdXNlZCBpbiBmb3VuZGF0aW9uXG4vLyRidW1wOjAuOTM3NWVtO1xuJGJ1bXA6IDMwcHg7XG5cbi8qIC0tLSBGb250cyAtLS0gKi9cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQ2FudGF0YSBPbmUnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvQ2FudGF0YU9uZS1SZWd1bGFyLmVvdCcpO1xuICBzcmM6IHVybCgnLi4vZm9udHMvQ2FudGF0YU9uZS1SZWd1bGFyLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCcuLi9mb250cy9DYW50YXRhT25lLVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnLi4vZm9udHMvQ2FudGF0YU9uZS1SZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdSYWxld2F5LVJlZyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9SYWxld2F5LVJlZ3VsYXIuZW90Jyk7XG4gIHNyYzogdXJsKCcuLi9mb250cy9SYWxld2F5LVJlZ3VsYXIuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktUmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcuLi9mb250cy9SYWxld2F5LVJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1JhbGV3YXktU2VtaSc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9SYWxld2F5LVNlbWlCb2xkLmVvdCcpO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUmFsZXdheS1TZW1pQm9sZC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnLi4vZm9udHMvUmFsZXdheS1TZW1pQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcuLi9mb250cy9SYWxld2F5LVNlbWlCb2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdSYWxld2F5LUxpZ2h0JztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktTGlnaHQuZW90Jyk7XG4gIHNyYzogdXJsKCcuLi9mb250cy9SYWxld2F5LUxpZ2h0LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCcuLi9mb250cy9SYWxld2F5LUxpZ2h0LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktTGlnaHQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1JhbGV3YXktTWVkJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktTWVkaXVtLmVvdCcpO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUmFsZXdheS1NZWRpdW0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktTWVkaXVtLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL1JhbGV3YXktTWVkaXVtLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AbWl4aW4gZm9udC1ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICdSYWxld2F5LVJlZyc7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5cbkBtaXhpbiBmb250LWJvbGQge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LWZhbWlseTogJ1JhbGV3YXktU2VtaSc7XG59XG5cbkBtaXhpbiBmb250LWxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1mYW1pbHk6ICdSYWxld2F5LUxpZ2h0Jztcbn1cblxuQG1peGluIGZvbnQtdGl0bGUge1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWZhbWlseTogJ0NhbnRhdGEgT25lJztcbn1cblxuLyogLS0tIE1lZGlhIHF1ZXJpZXMgLS0tICovXG5cbi8vXHRVU0FHRTpcbi8vXG4vL1x0QGluY2x1ZGUgbWVkaWEoXCI+dGFibGV0bGFuZFwiLCBcIjw9MTE1MHB4XCIpIHtcbi8vXHRcdGZvbnQtc2l6ZTogNC4wcmVtO1xuLy9cdH1cbi8vXG4vL1x0QGluY2x1ZGUgbWVkaWEoXCI8bW9iaWxlXCIpIHtcbi8vXHRcdHdpZHRoOiAxMDAlO1xuLy9cdH1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHZzbWFsbDogMzcwcHgsXG4gIHNtYWxsOiA0ODBweCxcbiAgbW9iaWxlOiA3NjhweCxcbiAgdGFibGV0cG9ydDogODAwcHgsXG4gIHRhYmxldGxhbmQ6IDEwMjVweCxcbiAgd2lkZXNjcmVlbjogMTUwMHB4LFxuKTtcbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1x0XHRcdFx0XHQgR0xPQkFMIENMQVNTRVNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5oaWRkZW4ge1xuXHRkaXNwbGF5Om5vbmUgIWltcG9ydGFudDsgXG5cdHZpc2liaWxpdHk6aGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5jbGVhcmZpeCB7XG5cdGRpc3BsYXk6YmxvY2s7IFxuXHRjbGVhcjpib3RoO1xuXG5cdCY6YmVmb3JlLCBcblx0JjphZnRlciB7XG5cdFx0Y29udGVudDonICc7XG5cdFx0ZGlzcGxheTp0YWJsZTtcblx0fVxuXHQmOmFmdGVyIHtcblx0XHRjbGVhcjpib3RoO1xuXHR9XG59XG5cbi8vIEtlZXAgdmlkZW8gcmF0aW8gZm9yIGZsdWlkIHdpZHRoc1xuLnZpZGVvLWNvbnRhaW5lciwgLm1lZGlhLXZpbWVvLXZpZGVvIHsgXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTsgXG5cdHBhZGRpbmctYm90dG9tOjU2LjI1JTsgXG5cdHBhZGRpbmctdG9wOjI1cHg7IFxuXHRoZWlnaHQ6MDtcblx0XG5cdGlmcmFtZSB7IFxuXHRcdHBvc2l0aW9uOmFic29sdXRlOyBcblx0XHR0b3A6MDsgXG5cdFx0bGVmdDowO1xuXHRcdHdpZHRoOjEwMCU7IFxuXHRcdGhlaWdodDoxMDAlO1xuXHR9XG59XG5cbi8vIFNvdW5jbG91ZFxuLm1lZGlhLXNvdW5kY2xvdWQtYXVkaW8gaWZyYW1lIHtcblx0d2lkdGg6MTAwJTsgbWF4LWhlaWdodDoxNTBweDtcbn1cblxuLy8gRW1lcmdlbmN5IG1lc3NhZ2UgZGVmYXVsdHNcbi5lbW1zZyB7XG5cdGRpc3BsYXk6bm9uZTtcblx0cGFkZGluZzoxZW07XG5cdGJhY2tncm91bmQ6JGJnO1xuXHRjb2xvcjokdGV4dDtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdHRleHQtYWxpZ246Y2VudGVyO1xuXG5cdHA6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLWJvdHRvbTowO1xuXHR9XG59XG4uZW1tc2dfX2Nsb3NlIHtcblx0QGluY2x1ZGUgcm0tdGV4dDtcblx0QGluY2x1ZGUgYmctaW1nO1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0dG9wOjFlbTtcblx0cmlnaHQ6MWVtO1xuXHRkaXNwbGF5OmJsb2NrO1xuXHRoZWlnaHQ6MzBweDtcblx0d2lkdGg6IDMwcHg7XG5cdGJhY2tncm91bmQtaW1hZ2U6dXJsKCcuLi9pbWFnZXMvZW1DbG9zZS5wbmcnKTtcblx0Y3Vyc29yOnBvaW50ZXI7XG5cdHRyYW5zaXRpb246b3BhY2l0eSAwLjJzIGVhc2Utb3V0O1xuXG5cdCY6aG92ZXIge1xuXHRcdG9wYWNpdHk6MC43O1xuXHR9XG59XG5cbi8vIGhpZGUvc2hvdyBtb2JpbGUgY2xhc3Nlc1xuLmhpZGUtZm9yLW1vYmlsZSB7XG5cdGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtcbn1cbi5zaG93LWZvci1tb2JpbGUge1xuXHRkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcbn1cblxuQGluY2x1ZGUgbWVkaWEoJzxtb2JpbGUnKXtcblx0LmhpZGUtZm9yLW1vYmlsZSB7XG5cdFx0ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XG5cdH1cblx0LnNob3ctZm9yLW1vYmlsZSB7XG5cdFx0ZGlzcGxheTpibG9jayAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi8vIEZvcm1zXG5pbnB1dCxcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbnRleHRhcmVhLFxuc2VsZWN0IHtcblx0QGluY2x1ZGUgZm9udC1ib2R5O1xuXHRjb2xvcjokdGV4dDtcblx0cmVzaXplOm5vbmU7XG5cdHBhZGRpbmc6MC41ZW0gMWVtO1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtcblx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOjBweDtcblx0Ym9yZGVyLXJhZGl1czowO1xuXHRvdXRsaW5lOjA7XG5cdGJvcmRlcjoxcHggc29saWQgJHRleHQ7XG5cdHRyYW5zaXRpb246YWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5mb3JtLWFjdGlvbnMgaW5wdXQsXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtjdXJzb3I6cG9pbnRlcjt9XG5cblxuLy8gVUwgY29sc1xuLmxpc3Rpbmcge1xuXHRAaW5jbHVkZSBsaS1yZXNldDtcblxuXHRsaSB7XG5cdFx0dmVydGljYWwtYWxpZ246dG9wO1xuXHRcdG1hcmdpbi1ib3R0b206NCU7XG5cdFx0bWFyZ2luLXJpZ2h0OjQlO1xuXHRcdGZsb2F0OmxlZnQ7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdH1cbn1cblxuLm9uZS1jb2wge1xuXHRsaSB7XG5cdFx0d2lkdGg6MTAwJTtcblx0XHRtYXJnaW4tcmlnaHQ6MDtcblxuXHRcdCY6bGFzdC1jaGlsZCB7bWFyZ2luLWJvdHRvbTowO31cblx0fVxufVxuXG4udHdvLWNvbCB7XG5cdGxpIHtcblx0XHR3aWR0aDo0OCU7XG5cblx0XHQmOm50aC1vZi10eXBlKDJuKzIpIHttYXJnaW4tcmlnaHQ6MDt9XG5cdH1cbn1cblxuLnRocmVlLWNvbCB7XG5cdGxpIHtcblx0XHR3aWR0aDozMC42NjY2JTtcblxuXHRcdCY6bnRoLW9mLXR5cGUoM24rMykge21hcmdpbi1yaWdodDowO31cblx0fVxufVxuXG4uZm91ci1jb2wge1xuXHRsaSB7XG5cdFx0d2lkdGg6MjIlO1xuXG5cdFx0JjpudGgtb2YtdHlwZSg0bis0KSB7bWFyZ2luLXJpZ2h0OjA7fVxuXHR9XG59XG5cbi5maXZlLWNvbCB7XG5cdGxpIHtcblx0XHR3aWR0aDoxNi44JTtcblxuXHRcdCY6bnRoLW9mLXR5cGUoNW4rNSkge21hcmdpbi1yaWdodDowO31cblx0fVxufVxuXG4uc2l4LWNvbCB7XG5cdGxpIHtcblx0XHR3aWR0aDoxMy4zMzMzJTtcblxuXHRcdCY6bnRoLW9mLXR5cGUoNm4rNikge21hcmdpbi1yaWdodDowO31cblx0fVxufVxuXG5AaW5jbHVkZSBtZWRpYSgnPG1vYmlsZScpe1xuXHQvLyBCeSBkZWZhdWx0IGV2ZXJ5dGhpbmcgdG8gMSBjb2xcblx0LnR3by1jb2wsXG5cdC50aHJlZS1jb2wsXG5cdC5mb3VyLWNvbCxcblx0LmZpdmUtY29sLFxuXHQuc2l4LWNvbCB7XG5cdFx0bGkge1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdG1hcmdpbi1yaWdodDowO1xuXHRcdH1cblx0fVxufVxuXG4ucGFnZXIge1xuXHRAaW5jbHVkZSBsaS1yZXNldDtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdGRpc3BsYXk6YmxvY2s7XG5cdGNsZWFyOmJvdGg7XG5cblx0bGkge1xuXHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXG5cdFx0YSB7XG5cdFx0XHRwYWRkaW5nOjEwcHggMjBweDtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0fVxuXG5cdFx0Ji5wYWdlci1jdXJyZW50IHtcblx0XHRcdHBhZGRpbmc6MTBweCAyMHB4O1xuXHRcdH1cblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cdFx0XHRcdFx0ICAgQURNSU4gU1RZTEVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyB3LyBhZG1pbiBiYXJcbmJvZHkudXNlci1sb2dnZWQtaW4ge1xuXHRwYWRkaW5nLXRvcDoxNDBweCAhaW1wb3J0YW50O1xuXG5cdC5oZWFkZXIsXG5cdC5zZWFyY2gtd3JhcCB7XG5cdFx0dG9wOjQwcHg7XG5cdH1cblxuXHQvLyBPcGVuIFNob3J0Y3V0IG1lbnVcblx0Ji50b29sYmFyLXRyYXktb3BlbiB7XG5cdFx0cGFkZGluZy10b3A6MTgwcHggIWltcG9ydGFudDtcblx0XHRcblx0XHQuaGVhZGVyLFxuXHRcdC5zZWFyY2gtd3JhcCB7XG5cdFx0XHR0b3A6ODBweDtcblx0XHR9XG5cdH1cbn1cblxuLmFkbWluLWZ1bmN0aW9ucyB7XG5cdHVsIHtcblx0XHRAaW5jbHVkZSBsaS1yZXNldDtcblx0XHRib3JkZXI6MDtcblx0XHRtYXJnaW46MWVtIDA7XG5cdFx0cGFkZGluZzowO1xuXG5cdFx0bGkge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OjFlbTtcblx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6JHRleHQ7XG5cdFx0XHRcdGJhY2tncm91bmQ6JGJnOyBcblx0XHRcdFx0cGFkZGluZzowLjVlbSAxZW07IFxuXHRcdFx0XHRtYXJnaW46MDsgXG5cdFx0XHRcdGJvcmRlcjoxcHggc29saWQgJHRleHQ7XG5cdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cblx0XHRcdFx0Ji5hY3RpdmUsIFxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRjb2xvcjokYmc7IFxuXHRcdFx0XHRcdGJhY2tncm91bmQ6JHRleHQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40Ljhcbi8vXG4vLyAgICAgICAgICAgICAgICBodHRwOi8vaW5jbHVkZS1tZWRpYS5jb21cbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgSHVnbyBHaXJhdWRlbCAoQGh1Z29naXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG5cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4XG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAxLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGxvZygkbWVzc2FnZSkge1xuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgbG9nKCcuLicpIHt9YCBvciBgJF86IGxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgbG9nKCRtZXNzYWdlKSB7fVxufVxuXG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHt9XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFNwYWNlQXJvdW5kT3BlcmF0b3JcbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBsb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBsb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGlnaXRzOiAxO1xuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcblxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgJF86IGxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgU3BhY2VBcm91bmRPcGVyYXRvclxuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==*/