@charset "UTF-8";
@media screen and (min-width: 1024px) {
  .HIDE-PC {
    display: none !important;
  }
}
@media screen and (min-width: 1920px) {
  .HIDE-BIG {
    display: none !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .HIDE-MID {
    display: none !important;
  }
}
@media screen and (max-width: 1023.9px) {
  .HIDE-SP {
    display: none !important;
  }
}
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, button {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers
*/
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

button {
  background: transparent;
}

* {
  box-sizing: border-box;
}

a:link, a:visited, a:hover, a:active {
  color: inherit;
  text-decoration: none;
}

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

html.fixed, body.fixed {
  overflow: hidden;
}

html {
  width: 100%;
  height: 100%;
}

body {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #000;
  line-height: 1.5;
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  body {
    font-size: 0.7291666667vw;
  }
}
@media screen and (min-width: 1920px) {
  body {
    font-size: 14px;
  }
}
@media screen and (max-width: 1023.9px) {
  body {
    font-size: 3.5897435897vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  body {
    font-size: 14px;
  }
}

body {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 0;
  /* pc表示関係 */
}
body .pc-content {
  -webkit-box-pack: center;
  justify-content: center;
  display: none;
  position: fixed;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  top: 0;
  height: 100%;
}
@media screen and (min-width: 1024px) {
  body .pc-content {
    display: -webkit-box;
    display: flex;
  }
}
body .pc-content--left {
  left: 0;
  width: 39.84375vw;
}
body .pc-content--right {
  right: 0;
  width: 39.84375vw;
}
body .pc-content__mission__head {
  position: relative;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 1920px) {
  body .pc-content__mission__head {
    width: 397px;
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  body .pc-content__mission__head {
    width: 20.6770833333vw;
    margin-bottom: 2.0833333333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  body .pc-content__mission__head {
    width: 101.7948717949vw;
    margin-bottom: 10.2564102564vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  body .pc-content__mission__head {
    width: 397px;
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 1920px) {
  body .pc-content__mission__list {
    margin-bottom: 70px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  body .pc-content__mission__list {
    margin-bottom: 3.6458333333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  body .pc-content__mission__list {
    margin-bottom: 17.9487179487vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  body .pc-content__mission__list {
    margin-bottom: 70px;
  }
}
body .pc-content__mission__list li {
  position: relative;
  opacity: 0;
  margin-right: auto;
  margin-left: auto;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  body .pc-content__mission__list li {
    top: 3.125vw;
  }
}
@media screen and (min-width: 1920px) {
  body .pc-content__mission__list li {
    top: 60px;
  }
}
@media screen and (max-width: 1023.9px) {
  body .pc-content__mission__list li {
    top: 15.3846153846vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  body .pc-content__mission__list li {
    top: 60px;
  }
}
body .pc-content__mission__list li.show {
  opacity: 1;
  top: 0;
}
@media screen and (min-width: 1920px) {
  body .pc-content__mission__list li {
    width: 358px;
    height: 184px;
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  body .pc-content__mission__list li {
    width: 18.6458333333vw;
    height: 9.5833333333vw;
    margin-bottom: 1.5625vw;
  }
}
@media screen and (max-width: 1023.9px) {
  body .pc-content__mission__list li {
    width: 91.7948717949vw;
    height: 47.1794871795vw;
    margin-bottom: 7.6923076923vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  body .pc-content__mission__list li {
    width: 358px;
    height: 184px;
    margin-bottom: 30px;
  }
}
body .pc-content__mission__list li a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
body .pc-content__mission__list li.-x {
  background: transparent url("../images/pc_mission_x.svg?vada02962de72157f2007cf07457a69a9") center top no-repeat;
  background-size: cover;
}
body .pc-content__mission__list li.-x img {
  position: absolute;
}
@media screen and (min-width: 1920px) {
  body .pc-content__mission__list li.-x img {
    width: 83px;
    bottom: 5px;
    left: 36px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  body .pc-content__mission__list li.-x img {
    width: 4.3229166667vw;
    bottom: 0.2604166667vw;
    left: 1.875vw;
  }
}
@media screen and (max-width: 1023.9px) {
  body .pc-content__mission__list li.-x img {
    width: 21.2820512821vw;
    bottom: 1.2820512821vw;
    left: 9.2307692308vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  body .pc-content__mission__list li.-x img {
    width: 83px;
    bottom: 5px;
    left: 36px;
  }
}
body .pc-content__mission__list li.-receipt {
  background: transparent url("../images/pc_mission_receipt.svg?vca7fc77b0339886b0e21e62f83708356") center top no-repeat;
  background-size: cover;
}
body .pc-content__mission__list li.-receipt img {
  position: absolute;
}
@media screen and (min-width: 1920px) {
  body .pc-content__mission__list li.-receipt img {
    width: 80px;
    bottom: -7px;
    left: 36px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  body .pc-content__mission__list li.-receipt img {
    width: 4.1666666667vw;
    bottom: -0.3645833333vw;
    left: 1.875vw;
  }
}
@media screen and (max-width: 1023.9px) {
  body .pc-content__mission__list li.-receipt img {
    width: 20.5128205128vw;
    bottom: -1.7948717949vw;
    left: 9.2307692308vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  body .pc-content__mission__list li.-receipt img {
    width: 80px;
    bottom: -7px;
    left: 36px;
  }
}
body .pc-content__mission__date {
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 1920px) {
  body .pc-content__mission__date {
    width: 315px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  body .pc-content__mission__date {
    width: 16.40625vw;
  }
}
@media screen and (max-width: 1023.9px) {
  body .pc-content__mission__date {
    width: 80.7692307692vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  body .pc-content__mission__date {
    width: 315px;
  }
}
body .pc-content__qr-block {
  margin-right: auto;
  margin-left: auto;
  border: 4px solid #000;
}
@media screen and (min-width: 1920px) {
  body .pc-content__qr-block {
    border-width: 4px;
    width: 358px;
    padding-bottom: 48px;
    margin-bottom: 73px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  body .pc-content__qr-block {
    border-width: 0.2083333333vw;
    width: 18.6458333333vw;
    padding-bottom: 2.5vw;
    margin-bottom: 3.8020833333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  body .pc-content__qr-block {
    border-width: 1.0256410256vw;
    width: 91.7948717949vw;
    padding-bottom: 12.3076923077vw;
    margin-bottom: 18.7179487179vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  body .pc-content__qr-block {
    border-width: 4px;
    width: 358px;
    padding-bottom: 48px;
    margin-bottom: 73px;
  }
}
body .pc-content__qr-block__logo {
  position: relative;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 1920px) {
  body .pc-content__qr-block__logo {
    width: 214px;
    top: -115px;
    margin-bottom: -120px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  body .pc-content__qr-block__logo {
    width: 11.1458333333vw;
    top: -5.9895833333vw;
    margin-bottom: -6.25vw;
  }
}
@media screen and (max-width: 1023.9px) {
  body .pc-content__qr-block__logo {
    width: 54.8717948718vw;
    top: -29.4871794872vw;
    margin-bottom: -30.7692307692vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  body .pc-content__qr-block__logo {
    width: 214px;
    top: -115px;
    margin-bottom: -120px;
  }
}
body .pc-content__qr-block__head {
  position: relative;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 1920px) {
  body .pc-content__qr-block__head {
    width: 275px;
    margin-bottom: 45px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  body .pc-content__qr-block__head {
    width: 14.3229166667vw;
    margin-bottom: 2.34375vw;
  }
}
@media screen and (max-width: 1023.9px) {
  body .pc-content__qr-block__head {
    width: 70.5128205128vw;
    margin-bottom: 11.5384615385vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  body .pc-content__qr-block__head {
    width: 275px;
    margin-bottom: 45px;
  }
}
body .pc-content__qr-block__qr {
  position: relative;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 1920px) {
  body .pc-content__qr-block__qr {
    width: 180px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  body .pc-content__qr-block__qr {
    width: 9.375vw;
  }
}
@media screen and (max-width: 1023.9px) {
  body .pc-content__qr-block__qr {
    width: 46.1538461538vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  body .pc-content__qr-block__qr {
    width: 180px;
  }
}
body .pc-content__share-block__head {
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 1920px) {
  body .pc-content__share-block__head {
    width: 320px;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  body .pc-content__share-block__head {
    width: 16.6666666667vw;
    margin-bottom: 1.0416666667vw;
  }
}
@media screen and (max-width: 1023.9px) {
  body .pc-content__share-block__head {
    width: 82.0512820513vw;
    margin-bottom: 5.1282051282vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  body .pc-content__share-block__head {
    width: 320px;
    margin-bottom: 20px;
  }
}
body .pc-content__share-block__list {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  align-items: flex-start;
}
@media screen and (min-width: 1920px) {
  body .pc-content__share-block__list {
    gap: 55px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  body .pc-content__share-block__list {
    gap: 2.8645833333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  body .pc-content__share-block__list {
    gap: 14.1025641026vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  body .pc-content__share-block__list {
    gap: 55px;
  }
}
@media screen and (min-width: 1920px) {
  body .pc-content__share-block__list li {
    width: 93px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  body .pc-content__share-block__list li {
    width: 4.84375vw;
  }
}
@media screen and (max-width: 1023.9px) {
  body .pc-content__share-block__list li {
    width: 23.8461538462vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  body .pc-content__share-block__list li {
    width: 93px;
  }
}
body .pc-content__copyright {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media screen and (min-width: 1920px) {
  body .pc-content__copyright {
    bottom: 15px;
    font-size: 18px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  body .pc-content__copyright {
    bottom: 0.78125vw;
    font-size: 0.9375vw;
  }
}
@media screen and (max-width: 1023.9px) {
  body .pc-content__copyright {
    bottom: 3.8461538462vw;
    font-size: 4.6153846154vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  body .pc-content__copyright {
    bottom: 15px;
    font-size: 18px;
  }
}
body .bg--pc {
  display: none;
}
@media screen and (min-width: 640px) {
  body .bg--pc {
    position: fixed;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -webkit-linear-gradient(right, #ED1C24 10.1%, #E44325 89.9%);
    background: linear-gradient(270deg, #ED1C24 10.1%, #E44325 89.9%);
  }
}
body .site-wrapper {
  position: relative;
  z-index: 1;
  margin-right: auto;
  margin-left: auto;
  min-height: 100%;
  /* 基準を他と同じに統一 */
}
@media screen and (min-width: 1920px) {
  body .site-wrapper {
    width: 390px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  body .site-wrapper {
    width: 20.3125vw;
  }
}
@media screen and (max-width: 1023.9px) {
  body .site-wrapper {
    width: 100%;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  body .site-wrapper {
    width: 390px;
  }
}
body .site-wrapper .header {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 100;
}
@media screen and (min-width: 1920px) {
  body .site-wrapper .header {
    width: 390px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  body .site-wrapper .header {
    width: 20.3125vw;
  }
}
@media screen and (max-width: 1023.9px) {
  body .site-wrapper .header {
    width: 100vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  body .site-wrapper .header {
    width: 390px;
  }
}
body .site-wrapper .header__logo {
  position: absolute;
}
@media screen and (min-width: 1920px) {
  body .site-wrapper .header__logo {
    top: 20px;
    right: 19px;
    width: 75px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  body .site-wrapper .header__logo {
    top: 1.0416666667vw;
    right: 0.9895833333vw;
    width: 3.90625vw;
  }
}
@media screen and (max-width: 1023.9px) {
  body .site-wrapper .header__logo {
    top: 5.1282051282vw;
    right: 4.8717948718vw;
    width: 19.2307692308vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  body .site-wrapper .header__logo {
    top: 20px;
    right: 19px;
    width: 75px;
  }
}
body .site-wrapper #main-container {
  /* そのまま */
}
body .site-wrapper .footer {
  position: relative;
  color: #000;
  background: #fff;
  text-align: center;
  font-weight: bold;
}
@media screen and (min-width: 1920px) {
  body .site-wrapper .footer {
    padding-top: 37px;
    padding-bottom: 35px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  body .site-wrapper .footer {
    padding-top: 1.9270833333vw;
    padding-bottom: 1.8229166667vw;
  }
}
@media screen and (max-width: 1023.9px) {
  body .site-wrapper .footer {
    padding-top: 9.4871794872vw;
    padding-bottom: 8.9743589744vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  body .site-wrapper .footer {
    padding-top: 37px;
    padding-bottom: 35px;
  }
}

body main#main-container section {
  position: relative;
}
body main#main-container section .content {
  z-index: 2;
}

.inner {
  position: relative;
}
@media screen and (min-width: 1024px) {
  .inner {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 1023.9px) {
  .inner {
    width: -webkit-max-content;
    width: max-content;
    margin-left: auto;
    margin-right: auto;
  }
}

.fade-in {
  position: relative;
  opacity: 0;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .fade-in {
    top: 2.0833333333vw;
  }
}
@media screen and (min-width: 1920px) {
  .fade-in {
    top: 40px;
  }
}
@media screen and (max-width: 1023.9px) {
  .fade-in {
    top: 10.2564102564vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .fade-in {
    top: 40px;
  }
}
.fade-in.show {
  opacity: 1;
  top: 0;
}

@media (pointer: fine) {
  .hover-down {
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
  }
  .hover-down:hover {
    -webkit-transform: translateY(0.4vw);
    transform: translateY(0.4vw);
  }
}

.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #FF000A;
  z-index: 9999;
}
.loading__inner {
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 1920px) {
  .loading__inner {
    width: 390px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .loading__inner {
    width: 20.3125vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading__inner {
    width: 100%;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading__inner {
    width: 390px;
  }
}
.loading .main {
  position: relative;
}
@media screen and (max-width: 1023.9px) {
  .loading .main {
    margin-top: 43.5897435897vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading .main {
    margin-top: 170px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading .main {
    margin-bottom: 4.6875vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading .main {
    margin-bottom: 90px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading .main {
    margin-bottom: 23.0769230769vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading .main {
    margin-bottom: 90px;
  }
}
@media screen and (min-width: 1024px) {
  .loading .main {
    margin-top: 30vh;
  }
}
.loading .main__logo {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading .main__logo {
    width: 11.3541666667vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading .main__logo {
    width: 218px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading .main__logo {
    width: 55.8974358974vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading .main__logo {
    width: 218px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading .main__logo {
    left: 0.2083333333vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading .main__logo {
    left: 4px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading .main__logo {
    left: 1.0256410256vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading .main__logo {
    left: 4px;
  }
}
.loading .main__logo img {
  width: 100%;
}
.loading__list {
  display: -webkit-box;
  display: flex;
  display: -ms-flexbox;
  justify-content: flex-start;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  align-items: flex-start;
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading__list {
    margin-bottom: 0.78125vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading__list {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading__list {
    margin-bottom: 3.8461538462vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading__list {
    margin-bottom: 15px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading__list {
    margin-left: 3.4895833333vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading__list {
    margin-left: 67px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading__list {
    margin-left: 17.1794871795vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading__list {
    margin-left: 67px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading__list {
    gap: 0.8333333333vw 0.8333333333vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading__list {
    gap: 16px 16px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading__list {
    gap: 4.1025641026vw 4.1025641026vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading__list {
    gap: 16px 16px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading__list {
    height: 3.125vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading__list {
    height: 60px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading__list {
    height: 15.3846153846vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading__list {
    height: 60px;
  }
}
.loading__list li {
  position: relative;
  display: none;
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading__list li {
    width: 2.0833333333vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading__list li {
    width: 40px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading__list li {
    width: 10.2564102564vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading__list li {
    width: 40px;
  }
}
.loading__list li:nth-child(2) {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading__list li:nth-child(2) {
    top: -0.2604166667vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading__list li:nth-child(2) {
    top: -5px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading__list li:nth-child(2) {
    top: -1.2820512821vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading__list li:nth-child(2) {
    top: -5px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading__list li:nth-child(2) {
    left: 0.4166666667vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading__list li:nth-child(2) {
    left: 8px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading__list li:nth-child(2) {
    left: 2.0512820513vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading__list li:nth-child(2) {
    left: 8px;
  }
}
.loading__list li:nth-child(3) {
  -webkit-transform: rotate(-4deg);
  transform: rotate(-4deg);
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading__list li:nth-child(3) {
    left: 0.1041666667vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading__list li:nth-child(3) {
    left: 2px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading__list li:nth-child(3) {
    left: 0.5128205128vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading__list li:nth-child(3) {
    left: 2px;
  }
}
.loading__list li:nth-child(4) {
  -webkit-transform: rotate(-32deg);
  transform: rotate(-32deg);
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading__list li:nth-child(4) {
    top: -0.2083333333vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading__list li:nth-child(4) {
    top: -4px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading__list li:nth-child(4) {
    top: -1.0256410256vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading__list li:nth-child(4) {
    top: -4px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading__list li:nth-child(4) {
    left: 0.3645833333vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading__list li:nth-child(4) {
    left: 7px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading__list li:nth-child(4) {
    left: 1.7948717949vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading__list li:nth-child(4) {
    left: 7px;
  }
}
.loading__list li:nth-child(5) {
  -webkit-transform: rotate(-14deg);
  transform: rotate(-14deg);
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading__list li:nth-child(5) {
    top: -0.15625vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading__list li:nth-child(5) {
    top: -3px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading__list li:nth-child(5) {
    top: -0.7692307692vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading__list li:nth-child(5) {
    top: -3px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading__list li:nth-child(5) {
    left: 0.2083333333vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading__list li:nth-child(5) {
    left: 4px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading__list li:nth-child(5) {
    left: 1.0256410256vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading__list li:nth-child(5) {
    left: 4px;
  }
}
.loading__text {
  position: relative;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading__text {
    width: 6.6145833333vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading__text {
    width: 127px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading__text {
    width: 32.5641025641vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading__text {
    width: 127px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading__text {
    left: -0.9375vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading__text {
    left: -18px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading__text {
    left: -4.6153846154vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading__text {
    left: -18px;
  }
}
.loading__text__dot {
  position: absolute;
  background: #000;
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading__text__dot {
    bottom: 0.625vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading__text__dot {
    bottom: 12px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading__text__dot {
    bottom: 3.0769230769vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading__text__dot {
    bottom: 12px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading__text__dot {
    width: 0.2604166667vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading__text__dot {
    width: 5px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading__text__dot {
    width: 1.2820512821vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading__text__dot {
    width: 5px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading__text__dot {
    height: 0.2604166667vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading__text__dot {
    height: 5px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading__text__dot {
    height: 1.2820512821vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading__text__dot {
    height: 5px;
  }
}
.loading__text__dot:nth-of-type(1) {
  -webkit-animation: show1 1s infinite;
  animation: show1 1s infinite;
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading__text__dot:nth-of-type(1) {
    right: -0.9375vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading__text__dot:nth-of-type(1) {
    right: -18px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading__text__dot:nth-of-type(1) {
    right: -4.6153846154vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading__text__dot:nth-of-type(1) {
    right: -18px;
  }
}
.loading__text__dot:nth-of-type(2) {
  -webkit-animation: show2 1s infinite;
  animation: show2 1s infinite;
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading__text__dot:nth-of-type(2) {
    right: -1.6145833333vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading__text__dot:nth-of-type(2) {
    right: -31px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading__text__dot:nth-of-type(2) {
    right: -7.9487179487vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading__text__dot:nth-of-type(2) {
    right: -31px;
  }
}
.loading__text__dot:nth-of-type(3) {
  -webkit-animation: show3 1s infinite;
  animation: show3 1s infinite;
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .loading__text__dot:nth-of-type(3) {
    right: -2.34375vw;
  }
}
@media screen and (min-width: 1920px) {
  .loading__text__dot:nth-of-type(3) {
    right: -45px;
  }
}
@media screen and (max-width: 1023.9px) {
  .loading__text__dot:nth-of-type(3) {
    right: -11.5384615385vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .loading__text__dot:nth-of-type(3) {
    right: -45px;
  }
}

.modal-wrap {
  position: fixed;
  display: none;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  overflow-y: auto;
  background: rgba(5, 5, 5, 0.8);
}

.modal-close {
  position: absolute;
  z-index: 100;
  background: #FF000A;
  right: 0;
}
@media screen and (min-width: 1920px) {
  .modal-close {
    width: 55px;
    height: 55px;
    top: -55px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .modal-close {
    width: 2.8645833333vw;
    height: 2.8645833333vw;
    top: -2.8645833333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .modal-close {
    width: 14.1025641026vw;
    height: 14.1025641026vw;
    top: -14.1025641026vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .modal-close {
    width: 55px;
    height: 55px;
    top: -55px;
  }
}
.modal-close span {
  position: absolute;
  display: inline-block;
  box-shadow: none;
  background-color: #fff;
}
@media screen and (min-width: 1920px) {
  .modal-close span {
    width: 40px;
    height: 4px;
    left: 8px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .modal-close span {
    width: 2.0833333333vw;
    height: 0.2083333333vw;
    left: 0.4166666667vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .modal-close span {
    width: 10.2564102564vw;
    height: 1.0256410256vw;
    left: 2.0512820513vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .modal-close span {
    width: 40px;
    height: 4px;
    left: 8px;
  }
}
.modal-close span:nth-child(1) {
  -webkit-transition: all 0.3s 0.2s;
  transition: all 0.3s 0.2s;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-45deg);
  transform: translateY(-50%) rotate(-45deg);
}
.modal-close span:nth-child(2) {
  -webkit-transition: all 0.3s 0.2s;
  transition: all 0.3s 0.2s;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

.modal {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 1920px) {
  .modal {
    width: 960px;
    height: 540px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .modal {
    width: 50vw;
    height: 28.125vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .modal {
    width: 100vw;
    height: 56.1538461538vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .modal {
    width: 390px;
    height: 219px;
  }
}
@media screen and (min-width: 1920px) {
  .modal iframe {
    width: 960px;
    height: 540px;
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .modal iframe {
    width: 50vw;
    height: 28.125vw;
    margin-bottom: 0.5208333333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .modal iframe {
    width: 100vw;
    height: 56.1538461538vw;
    margin-bottom: 2.5641025641vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .modal iframe {
    width: 390px;
    height: 219px;
    margin-bottom: 10px;
  }
}

.tri {
  position: relative;
  z-index: 1;
}
.tri:after {
  display: block;
  position: absolute;
  content: "";
  background: transparent url("../images/triangle.svg") center top no-repeat;
  background-size: cover;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: -1;
}
@media screen and (min-width: 1920px) {
  .tri:after {
    width: 306px;
    height: 321px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .tri:after {
    width: 15.9375vw;
    height: 16.71875vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .tri:after {
    width: 78.4615384615vw;
    height: 82.3076923077vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .tri:after {
    width: 306px;
    height: 321px;
  }
}

.r-tri {
  position: relative;
  z-index: 1;
  line-height: 0;
}
.r-tri:after {
  display: block;
  position: absolute;
  content: "";
  background: transparent url("../images/r-triangle.svg") center top no-repeat;
  background-size: cover;
  z-index: -1;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media screen and (min-width: 1920px) {
  .r-tri:after {
    width: 395px;
    height: 175px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .r-tri:after {
    width: 20.5729166667vw;
    height: 9.1145833333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .r-tri:after {
    width: 101.2820512821vw;
    height: 44.8717948718vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .r-tri:after {
    width: 395px;
    height: 175px;
  }
}

.fixed {
  position: fixed;
  z-index: 1000;
  overflow: hidden;
}

.btn {
  position: relative;
  z-index: 1;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 1920px) {
  .btn {
    width: 288px;
    height: 44px;
    left: -5px;
    border-radius: 10px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .btn {
    width: 15vw;
    height: 2.2916666667vw;
    left: -0.2604166667vw;
    border-radius: 0.5208333333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .btn {
    width: 73.8461538462vw;
    height: 11.2820512821vw;
    left: -1.2820512821vw;
    border-radius: 2.5641025641vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .btn {
    width: 288px;
    height: 44px;
    left: -5px;
    border-radius: 10px;
  }
}
@media screen and (min-width: 1920px) {
  .btn.gold {
    height: 70px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .btn.gold {
    height: 3.6458333333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .btn.gold {
    height: 17.9487179487vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .btn.gold {
    height: 70px;
  }
}
.btn.gold a,
.btn.gold button {
  color: #000;
  border-color: #000;
  font-weight: bold;
  background: -webkit-linear-gradient(347.73deg, #F05502 0.79%, #FFA600 10.71%, #F3E603 20.73%, #FFFFFF 31.32%, #FFD325 48.79%, #FFFBE9 70.31%, #FFD000 83.85%, #F05502 94.94%);
  background: linear-gradient(102.27deg, #F05502 0.79%, #FFA600 10.71%, #F3E603 20.73%, #FFFFFF 31.32%, #FFD325 48.79%, #FFFBE9 70.31%, #FFD000 83.85%, #F05502 94.94%);
}
@media screen and (min-width: 1920px) {
  .btn.gold a,
.btn.gold button {
    height: 70px;
    font-size: 20px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .btn.gold a,
.btn.gold button {
    height: 3.6458333333vw;
    font-size: 1.0416666667vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .btn.gold a,
.btn.gold button {
    height: 17.9487179487vw;
    font-size: 5.1282051282vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .btn.gold a,
.btn.gold button {
    height: 70px;
    font-size: 20px;
  }
}
.btn.gold a:before,
.btn.gold button:before {
  -webkit-animation: 4s shine linear infinite;
  animation: 4s shine linear infinite;
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0) 75%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0) 75%);
  content: "";
  height: 100%;
  left: -100%;
  position: absolute;
  top: 0;
  -webkit-transform: skewX(-15deg);
  transform: skewX(-15deg);
  width: 100%;
}
.btn.gold:after {
  background: #000;
}
@media screen and (min-width: 1920px) {
  .btn.gold:after {
    height: 70px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .btn.gold:after {
    height: 3.6458333333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .btn.gold:after {
    height: 17.9487179487vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .btn.gold:after {
    height: 70px;
  }
}
.btn a,
.btn button {
  position: relative;
  background: #000;
  border: 2px solid #fff;
  color: #fff;
  font-weight: bold;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  overflow: hidden;
  -webkit-transition: all 0.1s;
  transition: all 0.1s;
  top: 0;
  left: 0;
}
@media screen and (pointer: fine) and (min-width: 1024px) and (max-width: 1920px) {
  .btn a:hover,
.btn button:hover {
    top: 0.2604166667vw;
  }
}
@media screen and (pointer: fine) and (min-width: 1920px) {
  .btn a:hover,
.btn button:hover {
    top: 5px;
  }
}
@media screen and (pointer: fine) and (max-width: 1023.9px) {
  .btn a:hover,
.btn button:hover {
    top: 1.2820512821vw;
  }
}
@media screen and (pointer: fine) and (min-width: 640px) and (max-width: 1023.9px) {
  .btn a:hover,
.btn button:hover {
    top: 5px;
  }
}
@media screen and (pointer: fine) and (min-width: 1024px) and (max-width: 1920px) {
  .btn a:hover,
.btn button:hover {
    left: 0.2083333333vw;
  }
}
@media screen and (pointer: fine) and (min-width: 1920px) {
  .btn a:hover,
.btn button:hover {
    left: 4px;
  }
}
@media screen and (pointer: fine) and (max-width: 1023.9px) {
  .btn a:hover,
.btn button:hover {
    left: 1.0256410256vw;
  }
}
@media screen and (pointer: fine) and (min-width: 640px) and (max-width: 1023.9px) {
  .btn a:hover,
.btn button:hover {
    left: 4px;
  }
}
@media screen and (min-width: 1920px) {
  .btn a,
.btn button {
    padding-top: 2px;
    border-width: 2px;
    width: 292px;
    height: 48px;
    border-radius: 10px;
    font-size: 15px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .btn a,
.btn button {
    padding-top: 0.1041666667vw;
    border-width: 0.1041666667vw;
    width: 15.2083333333vw;
    height: 2.5vw;
    border-radius: 0.5208333333vw;
    font-size: 0.78125vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .btn a,
.btn button {
    padding-top: 0.5128205128vw;
    border-width: 0.5128205128vw;
    width: 74.8717948718vw;
    height: 12.3076923077vw;
    border-radius: 2.5641025641vw;
    font-size: 3.8461538462vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .btn a,
.btn button {
    padding-top: 2px;
    border-width: 2px;
    width: 292px;
    height: 48px;
    border-radius: 10px;
    font-size: 15px;
  }
}
.btn:after {
  position: absolute;
  display: block;
  content: "";
  background: #fff;
  z-index: -1;
}
@media screen and (min-width: 1920px) {
  .btn:after {
    width: 292px;
    height: 48px;
    border-radius: 10px;
    top: 3px;
    left: 4px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .btn:after {
    width: 15.2083333333vw;
    height: 2.5vw;
    border-radius: 0.5208333333vw;
    top: 0.15625vw;
    left: 0.2083333333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .btn:after {
    width: 74.8717948718vw;
    height: 12.3076923077vw;
    border-radius: 2.5641025641vw;
    top: 0.7692307692vw;
    left: 1.0256410256vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .btn:after {
    width: 292px;
    height: 48px;
    border-radius: 10px;
    top: 3px;
    left: 4px;
  }
}

@-webkit-keyframes bounce {
  0% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
  50% {
    -webkit-transform: translateY(-10%);
    transform: translateY(-10%);
  }
  100% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
}

@keyframes bounce {
  0% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
  50% {
    -webkit-transform: translateY(-10%);
    transform: translateY(-10%);
  }
  100% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
}
@-webkit-keyframes shine {
  10% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}
@keyframes shine {
  10% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}
@-webkit-keyframes spin {
  from {
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    -webkit-transform: translate(-50%, -50%) rotate(-360deg);
    transform: translate(-50%, -50%) rotate(-360deg);
  }
}
@keyframes spin {
  from {
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    -webkit-transform: translate(-50%, -50%) rotate(-360deg);
    transform: translate(-50%, -50%) rotate(-360deg);
  }
}
@-webkit-keyframes spin-reverse {
  from {
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes spin-reverse {
  from {
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@-webkit-keyframes show1 {
  0%, 20% {
    opacity: 0;
  }
  21%, 100% {
    opacity: 1;
  }
}
@keyframes show1 {
  0%, 20% {
    opacity: 0;
  }
  21%, 100% {
    opacity: 1;
  }
}
@-webkit-keyframes show2 {
  0%, 40% {
    opacity: 0;
  }
  41%, 100% {
    opacity: 1;
  }
}
@keyframes show2 {
  0%, 40% {
    opacity: 0;
  }
  41%, 100% {
    opacity: 1;
  }
}
@-webkit-keyframes show3 {
  0%, 60% {
    opacity: 0;
  }
  61%, 100% {
    opacity: 1;
  }
}
@keyframes show3 {
  0%, 60% {
    opacity: 0;
  }
  61%, 100% {
    opacity: 1;
  }
}
@-webkit-keyframes infinity-scroll-left {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
@keyframes infinity-scroll-left {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
@media screen and (max-width: 639px) {
  @-webkit-keyframes fadein {
    0% {
      opacity: 0;
      -webkit-transform: translateY(3.8461538462vw);
      transform: translateY(3.8461538462vw);
    }
    75% {
      opacity: 1;
    }
    100% {
      opacity: 1;
      -webkit-transform: translateY(0px);
      transform: translateY(0px);
    }
  }
  @keyframes fadein {
    0% {
      opacity: 0;
      -webkit-transform: translateY(3.8461538462vw);
      transform: translateY(3.8461538462vw);
    }
    75% {
      opacity: 1;
    }
    100% {
      opacity: 1;
      -webkit-transform: translateY(0px);
      transform: translateY(0px);
    }
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  @-webkit-keyframes fadein {
    0% {
      opacity: 0;
      -webkit-transform: translateY(15px);
      transform: translateY(15px);
    }
    75% {
      opacity: 1;
    }
    100% {
      opacity: 1;
      -webkit-transform: translateY(0px);
      transform: translateY(0px);
    }
  }
  @keyframes fadein {
    0% {
      opacity: 0;
      -webkit-transform: translateY(15px);
      transform: translateY(15px);
    }
    75% {
      opacity: 1;
    }
    100% {
      opacity: 1;
      -webkit-transform: translateY(0px);
      transform: translateY(0px);
    }
  }
}
@media screen and (min-width: 1024px) and (max-width: 1439px) {
  @-webkit-keyframes fadein {
    0% {
      opacity: 0;
      -webkit-transform: translateY(0.78125vw);
      transform: translateY(0.78125vw);
    }
    75% {
      opacity: 1;
    }
    100% {
      opacity: 1;
      -webkit-transform: translateY(0px);
      transform: translateY(0px);
    }
  }
  @keyframes fadein {
    0% {
      opacity: 0;
      -webkit-transform: translateY(0.78125vw);
      transform: translateY(0.78125vw);
    }
    75% {
      opacity: 1;
    }
    100% {
      opacity: 1;
      -webkit-transform: translateY(0px);
      transform: translateY(0px);
    }
  }
}
@media screen and (min-width: 1440px) {
  @-webkit-keyframes fadein {
    0% {
      opacity: 0;
      -webkit-transform: translateY(15px);
      transform: translateY(15px);
    }
    75% {
      opacity: 1;
    }
    100% {
      opacity: 1;
      -webkit-transform: translateY(0px);
      transform: translateY(0px);
    }
  }
  @keyframes fadein {
    0% {
      opacity: 0;
      -webkit-transform: translateY(15px);
      transform: translateY(15px);
    }
    75% {
      opacity: 1;
    }
    100% {
      opacity: 1;
      -webkit-transform: translateY(0px);
      transform: translateY(0px);
    }
  }
}
/* 基本のレスポンシブ
    @media screen and (min-width: (1440px)) {
      : px;
    }
    @media screen and (min-width: (1024px)) and (max-width: (1439.9px)) {
      : calc($value / 1440) * 100 + vw;
    }
    @media screen and (max-width: (1024px)) {
      : calc($value / 395) * 100 + vw;
    }
    @media screen and (min-width: 640px) and (max-width: 1023.9px) {
      : px;
    }
*/
.p-registration {
  color: #fff;
}
.p-registration input, .p-registration select {
  border: 1px solid rgb(118, 118, 118);
  border-radius: 2px;
}
.p-registration .site-wrapper {
  background: -webkit-linear-gradient(left, #ED1C24 10%, #E44325 89.9%);
  background: linear-gradient(90deg, #ED1C24 10%, #E44325 89.9%);
}
@media screen and (min-width: 1920px) {
  .p-registration .site-wrapper {
    padding-top: 95px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration .site-wrapper {
    padding-top: 4.9479166667vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration .site-wrapper {
    padding-top: 24.358974359vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration .site-wrapper {
    padding-top: 95px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .p-registration__error {
    margin-top: 0.2604166667vw;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration__error {
    margin-top: 5px;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__error {
    margin-top: 1.2820512821vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__error {
    margin-top: 5px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .p-registration__error {
    font-size: 0.9375vw;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration__error {
    font-size: 18px;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__error {
    font-size: 4.6153846154vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__error {
    font-size: 18px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .p-registration__error-text {
    margin-top: 2.0833333333vw;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration__error-text {
    margin-top: 40px;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__error-text {
    margin-top: 10.2564102564vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__error-text {
    margin-top: 40px;
  }
}
.p-registration__error-text p {
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .p-registration__error-text p {
    font-size: 0.9375vw;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration__error-text p {
    font-size: 18px;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__error-text p {
    font-size: 4.6153846154vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__error-text p {
    font-size: 18px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .p-registration__error-text p {
    margin-bottom: 1.0416666667vw;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration__error-text p {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__error-text p {
    margin-bottom: 5.1282051282vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__error-text p {
    margin-bottom: 20px;
  }
}
.p-registration__title {
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 1920px) {
  .p-registration__title {
    width: 190px;
    margin-bottom: 22px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration__title {
    width: 9.8958333333vw;
    margin-bottom: 1.1458333333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__title {
    width: 48.7179487179vw;
    margin-bottom: 5.641025641vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__title {
    width: 190px;
    margin-bottom: 22px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .p-registration__title.-error {
    width: 4.7916666667vw;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration__title.-error {
    width: 92px;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__title.-error {
    width: 23.5897435897vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__title.-error {
    width: 92px;
  }
}
.p-registration__steps {
  line-height: 1.1;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: end;
  align-items: flex-end;
}
@media screen and (min-width: 1920px) {
  .p-registration__steps {
    font-size: 12px;
    margin-bottom: 72px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration__steps {
    font-size: 0.625vw;
    margin-bottom: 3.75vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__steps {
    font-size: 3.0769230769vw;
    margin-bottom: 18.4615384615vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__steps {
    font-size: 12px;
    margin-bottom: 72px;
  }
}
.p-registration__steps li {
  position: relative;
  color: #A90000;
}
.p-registration__steps li.active {
  color: #fff;
}
.p-registration__steps li.active:after, .p-registration__steps li.active:before {
  background: #fff;
}
.p-registration__steps li:after, .p-registration__steps li:before {
  display: block;
  position: absolute;
  content: "";
  background: #A90000;
}
@media screen and (min-width: 1920px) {
  .p-registration__steps li:before {
    height: 2px;
    bottom: -11px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration__steps li:before {
    height: 0.1041666667vw;
    bottom: -0.5729166667vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__steps li:before {
    height: 0.5128205128vw;
    bottom: -2.8205128205vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__steps li:before {
    height: 2px;
    bottom: -11px;
  }
}
.p-registration__steps li:after {
  border-radius: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 1;
}
@media screen and (min-width: 1920px) {
  .p-registration__steps li:after {
    width: 10px;
    height: 10px;
    bottom: -15px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration__steps li:after {
    width: 0.5208333333vw;
    height: 0.5208333333vw;
    bottom: -0.78125vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__steps li:after {
    width: 2.5641025641vw;
    height: 2.5641025641vw;
    bottom: -3.8461538462vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__steps li:after {
    width: 10px;
    height: 10px;
    bottom: -15px;
  }
}
.p-registration__steps li:nth-child(1):before {
  display: none;
}
@media screen and (min-width: 1920px) {
  .p-registration__steps li:nth-child(2) {
    margin-left: 15px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration__steps li:nth-child(2) {
    margin-left: 0.78125vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__steps li:nth-child(2) {
    margin-left: 3.8461538462vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__steps li:nth-child(2) {
    margin-left: 15px;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration__steps li:nth-child(2):before {
    width: 90px;
    left: -53px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration__steps li:nth-child(2):before {
    width: 4.6875vw;
    left: -2.7604166667vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__steps li:nth-child(2):before {
    width: 23.0769230769vw;
    left: -13.5897435897vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__steps li:nth-child(2):before {
    width: 90px;
    left: -53px;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration__steps li:nth-child(3) {
    margin-left: 40px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration__steps li:nth-child(3) {
    margin-left: 2.0833333333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__steps li:nth-child(3) {
    margin-left: 10.2564102564vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__steps li:nth-child(3) {
    margin-left: 40px;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration__steps li:nth-child(3):before {
    width: 85px;
    left: -74px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration__steps li:nth-child(3):before {
    width: 4.4270833333vw;
    left: -3.8541666667vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__steps li:nth-child(3):before {
    width: 21.7948717949vw;
    left: -18.9743589744vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__steps li:nth-child(3):before {
    width: 85px;
    left: -74px;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration__steps li:nth-child(4) {
    margin-left: 62px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration__steps li:nth-child(4) {
    margin-left: 3.2291666667vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__steps li:nth-child(4) {
    margin-left: 15.8974358974vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__steps li:nth-child(4) {
    margin-left: 62px;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration__steps li:nth-child(4):before {
    width: 85px;
    left: -74px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration__steps li:nth-child(4):before {
    width: 4.4270833333vw;
    left: -3.8541666667vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__steps li:nth-child(4):before {
    width: 21.7948717949vw;
    left: -18.9743589744vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__steps li:nth-child(4):before {
    width: 85px;
    left: -74px;
  }
}
.p-registration__form-group {
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 1920px) {
  .p-registration__form-group {
    width: 354px;
    margin-bottom: 18px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration__form-group {
    width: 18.4375vw;
    margin-bottom: 0.9375vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__form-group {
    width: 90.7692307692vw;
    margin-bottom: 4.6153846154vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__form-group {
    width: 354px;
    margin-bottom: 18px;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration__form-group.zip {
    margin-top: 73px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration__form-group.zip {
    margin-top: 3.8020833333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__form-group.zip {
    margin-top: 18.7179487179vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__form-group.zip {
    margin-top: 73px;
  }
}
.p-registration__form-box .p-registration__input,
.p-registration__form-box select {
  display: block;
  width: 100%;
  color: #000;
}
@media screen and (min-width: 1920px) {
  .p-registration__form-box .p-registration__input,
.p-registration__form-box select {
    min-height: 52px;
    padding-left: 14px;
    font-size: 18px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration__form-box .p-registration__input,
.p-registration__form-box select {
    min-height: 2.7083333333vw;
    padding-left: 0.7291666667vw;
    font-size: 0.9375vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__form-box .p-registration__input,
.p-registration__form-box select {
    min-height: 13.3333333333vw;
    padding-left: 3.5897435897vw;
    font-size: 4.6153846154vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__form-box .p-registration__input,
.p-registration__form-box select {
    min-height: 52px;
    padding-left: 14px;
    font-size: 18px;
  }
}
.p-registration__form-box .p-registration__input:focus,
.p-registration__form-box select:focus {
  outline: none;
}
.p-registration__form-box .select-wrap {
  position: relative;
}
.p-registration__form-box .select-wrap:after {
  content: "";
  position: absolute;
  border-right: 2px solid #3E3E3E;
  border-bottom: 2px solid #3E3E3E;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (min-width: 1920px) {
  .p-registration__form-box .select-wrap:after {
    top: 14px;
    right: 26px;
    width: 12px;
    height: 12px;
    border-width: 4px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration__form-box .select-wrap:after {
    top: 0.7291666667vw;
    right: 1.3541666667vw;
    width: 0.625vw;
    height: 0.625vw;
    border-width: 0.2083333333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__form-box .select-wrap:after {
    top: 3.5897435897vw;
    right: 6.6666666667vw;
    width: 3.0769230769vw;
    height: 3.0769230769vw;
    border-width: 1.0256410256vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__form-box .select-wrap:after {
    top: 14px;
    right: 26px;
    width: 12px;
    height: 12px;
    border-width: 4px;
  }
}
.p-registration__form-box select {
  -webkit-appearance: none;
  appearance: none;
}
.p-registration__label {
  display: block;
}
@media screen and (min-width: 1920px) {
  .p-registration__label {
    font-size: 18px;
    margin-bottom: 3px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration__label {
    font-size: 0.9375vw;
    margin-bottom: 0.15625vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__label {
    font-size: 4.6153846154vw;
    margin-bottom: 0.7692307692vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__label {
    font-size: 18px;
    margin-bottom: 3px;
  }
}
.p-registration__label span {
  background: #A90000;
}
@media screen and (min-width: 1920px) {
  .p-registration__label span {
    padding: 2px;
    font-size: 13px;
    margin-left: 3px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration__label span {
    padding: 0.1041666667vw;
    font-size: 0.6770833333vw;
    margin-left: 0.15625vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__label span {
    padding: 0.5128205128vw;
    font-size: 3.3333333333vw;
    margin-left: 0.7692307692vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__label span {
    padding: 2px;
    font-size: 13px;
    margin-left: 3px;
  }
}
.p-registration p.p-registration__input {
  background: #fff;
  color: #000;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  align-items: center;
}
.p-registration__confirm-picture {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .p-registration__confirm-picture {
    margin-top: 1.875vw;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration__confirm-picture {
    margin-top: 36px;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__confirm-picture {
    margin-top: 9.2307692308vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__confirm-picture {
    margin-top: 36px;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration__confirm-picture {
    width: 354px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration__confirm-picture {
    width: 18.4375vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__confirm-picture {
    width: 90.7692307692vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__confirm-picture {
    width: 354px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .p-registration__confirm-picture img {
    margin-bottom: 1.875vw;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration__confirm-picture img {
    margin-bottom: 36px;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__confirm-picture img {
    margin-bottom: 9.2307692308vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__confirm-picture img {
    margin-bottom: 36px;
  }
}
.p-registration__description {
  text-align: center;
}
@media screen and (min-width: 1920px) {
  .p-registration__description {
    font-size: 14px;
    margin-bottom: 45px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration__description {
    font-size: 0.7291666667vw;
    margin-bottom: 2.34375vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__description {
    font-size: 3.5897435897vw;
    margin-bottom: 11.5384615385vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__description {
    font-size: 14px;
    margin-bottom: 45px;
  }
}
.p-registration__description.-shoot {
  line-height: 1.1;
}
@media screen and (min-width: 1920px) {
  .p-registration__description.-shoot {
    font-size: 17px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration__description.-shoot {
    font-size: 0.8854166667vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__description.-shoot {
    font-size: 4.358974359vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__description.-shoot {
    font-size: 17px;
  }
}
.p-registration__uploads {
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 1920px) {
  .p-registration__uploads {
    width: 354px;
    margin-top: 30px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration__uploads {
    width: 18.4375vw;
    margin-top: 1.5625vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__uploads {
    width: 90.7692307692vw;
    margin-top: 7.6923076923vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__uploads {
    width: 354px;
    margin-top: 30px;
  }
}
.p-registration__upload-img {
  display: none;
}
.p-registration__upload-img:last-child {
  display: block;
}
.p-registration__upload-label {
  text-align: center;
  font-weight: bold;
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .p-registration__upload-label {
    font-size: 0.9375vw;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration__upload-label {
    font-size: 18px;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__upload-label {
    font-size: 4.6153846154vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__upload-label {
    font-size: 18px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .p-registration__upload-label {
    margin-bottom: 0.2604166667vw;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration__upload-label {
    margin-bottom: 5px;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration__upload-label {
    margin-bottom: 1.2820512821vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration__upload-label {
    margin-bottom: 5px;
  }
}
.p-registration__close-btn {
  display: none;
}
.p-registration .btns {
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 1920px) {
  .p-registration .btns {
    width: 354px;
    margin-top: 72px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration .btns {
    width: 18.4375vw;
    margin-top: 3.75vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration .btns {
    width: 90.7692307692vw;
    margin-top: 18.4615384615vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration .btns {
    width: 354px;
    margin-top: 72px;
  }
}
.p-registration .btns .btn {
  position: relative;
}
@media screen and (min-width: 1920px) {
  .p-registration .btns .btn {
    width: 351px;
    height: 50px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration .btns .btn {
    width: 18.28125vw;
    height: 2.6041666667vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration .btns .btn {
    width: 90vw;
    height: 12.8205128205vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration .btns .btn {
    width: 351px;
    height: 50px;
  }
}
.p-registration .btns .btn:after {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .p-registration .btns .btn.shoot span {
    width: 1.1979166667vw;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration .btns .btn.shoot span {
    width: 23px;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration .btns .btn.shoot span {
    width: 5.8974358974vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration .btns .btn.shoot span {
    width: 23px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .p-registration .btns .btn.shoot span {
    margin-top: 0.2604166667vw;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration .btns .btn.shoot span {
    margin-top: 5px;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration .btns .btn.shoot span {
    margin-top: 1.2820512821vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration .btns .btn.shoot span {
    margin-top: 5px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .p-registration .btns .btn.shoot span {
    margin-right: 0.4166666667vw;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration .btns .btn.shoot span {
    margin-right: 8px;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration .btns .btn.shoot span {
    margin-right: 2.0512820513vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration .btns .btn.shoot span {
    margin-right: 8px;
  }
}
.p-registration .btns .btn a,
.p-registration .btns .btn button {
  width: 100%;
  height: 100%;
  cursor: pointer;
}
@media screen and (min-width: 1920px) {
  .p-registration .btns .btn a,
.p-registration .btns .btn button {
    font-size: 18px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration .btns .btn a,
.p-registration .btns .btn button {
    font-size: 0.9375vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration .btns .btn a,
.p-registration .btns .btn button {
    font-size: 4.6153846154vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration .btns .btn a,
.p-registration .btns .btn button {
    font-size: 18px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .p-registration .btns .btn.btn-next {
    margin-top: 2.0833333333vw;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration .btns .btn.btn-next {
    margin-top: 40px;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration .btns .btn.btn-next {
    margin-top: 10.2564102564vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration .btns .btn.btn-next {
    margin-top: 40px;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration .btns .btn.btn-next {
    margin-bottom: 75px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration .btns .btn.btn-next {
    margin-bottom: 3.90625vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration .btns .btn.btn-next {
    margin-bottom: 19.2307692308vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration .btns .btn.btn-next {
    margin-bottom: 75px;
  }
}
.p-registration .btns .btn.btn-next:after {
  background: #A90000;
}
.p-registration .btns .btn.btn-next img {
  position: absolute;
  display: block;
  z-index: 1;
}
@media screen and (min-width: 1920px) {
  .p-registration .btns .btn.btn-next img {
    width: 27px;
    height: 27px;
    top: 12px;
    right: 19px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration .btns .btn.btn-next img {
    width: 1.40625vw;
    height: 1.40625vw;
    top: 0.625vw;
    right: 0.9895833333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration .btns .btn.btn-next img {
    width: 6.9230769231vw;
    height: 6.9230769231vw;
    top: 3.0769230769vw;
    right: 4.8717948718vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration .btns .btn.btn-next img {
    width: 27px;
    height: 27px;
    top: 12px;
    right: 19px;
  }
}
.p-registration .btns .btn.btn-next button {
  border-color: #A90000;
  background: #fff;
  color: #A90000;
}
@media screen and (min-width: 1920px) {
  .p-registration .btns .btn.btn-next button {
    padding-right: 22px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration .btns .btn.btn-next button {
    padding-right: 1.1458333333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration .btns .btn.btn-next button {
    padding-right: 5.641025641vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration .btns .btn.btn-next button {
    padding-right: 22px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .p-registration .btns .btn.back {
    margin-top: 2.0833333333vw;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration .btns .btn.back {
    margin-top: 40px;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration .btns .btn.back {
    margin-top: 10.2564102564vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration .btns .btn.back {
    margin-top: 40px;
  }
}
.p-registration .btns .btn.back img {
  position: absolute;
  display: block;
  z-index: 1;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
@media screen and (min-width: 1920px) {
  .p-registration .btns .btn.back img {
    width: 27px;
    height: 27px;
    top: 12px;
    left: 19px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration .btns .btn.back img {
    width: 1.40625vw;
    height: 1.40625vw;
    top: 0.625vw;
    left: 0.9895833333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration .btns .btn.back img {
    width: 6.9230769231vw;
    height: 6.9230769231vw;
    top: 3.0769230769vw;
    left: 4.8717948718vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration .btns .btn.back img {
    width: 27px;
    height: 27px;
    top: 12px;
    left: 19px;
  }
}
.p-registration .btns .btn.back a,
.p-registration .btns .btn.back button {
  background: #A90000;
}
.p-registration .btns .btn.btn-next-step2 {
  display: none;
}
.p-registration .btns .btn.btn-next-step2.show {
  display: block;
}
@media screen and (min-width: 1920px) {
  .p-registration .btns .x-btn {
    margin-bottom: 70px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration .btns .x-btn {
    margin-bottom: 3.6458333333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration .btns .x-btn {
    margin-bottom: 17.9487179487vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration .btns .x-btn {
    margin-bottom: 70px;
  }
}
.p-registration .btns .x-btn .p-registration__input {
  margin-left: 0;
  width: 100%;
  display: -webkit-box;
  display: flex;
  display: -ms-flexbox;
  justify-content: flex-start;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
}
@media screen and (min-width: 1024px) and (max-width: 1920px) {
  .p-registration .btns .x-btn .p-registration__input {
    margin-bottom: 0.5208333333vw;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration .btns .x-btn .p-registration__input {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration .btns .x-btn .p-registration__input {
    margin-bottom: 2.5641025641vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration .btns .x-btn .p-registration__input {
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration .btns .x-btn .p-registration__input {
    min-height: 52px;
    padding-left: 14px;
    font-size: 18px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration .btns .x-btn .p-registration__input {
    min-height: 2.7083333333vw;
    padding-left: 0.7291666667vw;
    font-size: 0.9375vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration .btns .x-btn .p-registration__input {
    min-height: 13.3333333333vw;
    padding-left: 3.5897435897vw;
    font-size: 4.6153846154vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration .btns .x-btn .p-registration__input {
    min-height: 52px;
    padding-left: 14px;
    font-size: 18px;
  }
}
.p-registration .btns .x-btn__head {
  display: block;
}
@media screen and (min-width: 1920px) {
  .p-registration .btns .x-btn__head {
    font-size: 18px;
    margin-bottom: 5px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration .btns .x-btn__head {
    font-size: 0.9375vw;
    margin-bottom: 0.2604166667vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration .btns .x-btn__head {
    font-size: 4.6153846154vw;
    margin-bottom: 1.2820512821vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration .btns .x-btn__head {
    font-size: 18px;
    margin-bottom: 5px;
  }
}
.p-registration .btns .x-btn__head span {
  color: #A90000;
}
@media screen and (min-width: 1920px) {
  .p-registration .btns .x-btn__head span {
    font-size: 13px;
    margin-left: 3px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration .btns .x-btn__head span {
    font-size: 0.6770833333vw;
    margin-left: 0.15625vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration .btns .x-btn__head span {
    font-size: 3.3333333333vw;
    margin-left: 0.7692307692vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration .btns .x-btn__head span {
    font-size: 13px;
    margin-left: 3px;
  }
}
@media screen and (min-width: 1920px) {
  .p-registration .btns .x-btn .btn {
    margin-bottom: 16px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration .btns .x-btn .btn {
    margin-bottom: 0.8333333333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration .btns .x-btn .btn {
    margin-bottom: 4.1025641026vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration .btns .x-btn .btn {
    margin-bottom: 16px;
  }
}
.p-registration .btns .x-btn .btn span {
  font-size: 0;
}
@media screen and (min-width: 1920px) {
  .p-registration .btns .x-btn .btn span {
    width: 40px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration .btns .x-btn .btn span {
    width: 2.0833333333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration .btns .x-btn .btn span {
    width: 10.2564102564vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration .btns .x-btn .btn span {
    width: 40px;
  }
}
.p-registration .btns .x-btn p {
  line-height: 1.25;
}
@media screen and (min-width: 1920px) {
  .p-registration .btns .x-btn p {
    font-size: 15px;
    margin-left: 17px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration .btns .x-btn p {
    font-size: 0.78125vw;
    margin-left: 0.8854166667vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration .btns .x-btn p {
    font-size: 3.8461538462vw;
    margin-left: 4.358974359vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration .btns .x-btn p {
    font-size: 15px;
    margin-left: 17px;
  }
}
.p-registration footer#site-footer {
  background: transparent;
}
@media screen and (min-width: 1920px) {
  .p-registration footer#site-footer {
    padding-top: 125px;
    padding-bottom: 55px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1919.9px) {
  .p-registration footer#site-footer {
    padding-top: 6.5104166667vw;
    padding-bottom: 2.8645833333vw;
  }
}
@media screen and (max-width: 1023.9px) {
  .p-registration footer#site-footer {
    padding-top: 32.0512820513vw;
    padding-bottom: 14.1025641026vw;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023.9px) {
  .p-registration footer#site-footer {
    padding-top: 125px;
    padding-bottom: 55px;
  }
}

/* page-input */
body#page-input .site-wrapper {
  position: relative;
  z-index: 1;
}
body#page-input .site-wrapper #main-container {
  /* 空：そのまま */
}

/*
【コード規約】

・innerは1280px真ん中寄せを指す。.innerをページスタイルの構造子として、スタイルを与えたりしてはいけない。
・flexは @include flexで記述する
・font-size, font-weight, line-height, text-align, positionは大文字CLASSで記述する。(_module.scss参照)
→ F11 SF12 L15 B TAC-PC TAR-SP AB
・色はすべて変数化する。
・可能な限りページのscssが階層依存しないようにすること。
・marginはPCにおいては可能な限り10px単位にする
・display:block, postion:absoluteなどは.BLOCK, .BLOCKを使う。
ただし、HTML上でいっぱい書かなければいけないときはCSSに描いても良い。

・クラス名をつけるときは、複数なのか単数なのかを正確に。bannerなのかbannersなのか。
・「モノ」を指すクラス名は小文字を使う。 .article-listなど。
・「形質/モジュール」を指すクラスは大文字を使う。 .REL, .PCなど
・jsで指す（※）ためのクラスは別途.js-*でつける。スタイルとスクリプトの分離。
（※）clickイベントなどをフックする場合、有無を判断する場合。操作対象の要素には入れなくて良い

・layoutにかかわるクラスはlayout-*　でつけ（.innerだけ例外）、layout.scssに記述する。ページ用CSSにこれらの記述を含めてはいけない。
・領域全体をフェードインさせるアニメーションのようなものの場合、.fx-fadeinのようなクラス名にする

・ulで示される要素はscss上では必ずul.hoge-listのようにulを入れる。
・ulの下のliについては、必ず >li　で記述する。

・scssにおいて、クラス名と{の間には半角スペースを設ける。

・2ペインコンテンツの中にsectionがあるとしても、各ページscssの中で.layout-stickysideの下に記述してはならない。main直下に記述されるべきである。

・sectionのクラス名は、パーシャルテンプレートになっていない限り複数のページをまたいで再利用されない。css内でsection.hogeとなっている場合、必ずmain#pagenameの中で定義される。

デバッガーの導入方法


*/
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9taXhpbi5zY3NzIiwiX25vcm1hbGl6ZS5zY3NzIiwiX2NvbW1vbi5zY3NzIiwiX2xheW91dC5zY3NzIiwiX21vZHVsZS5zY3NzIiwiX2FuaW1hdGlvbi5zY3NzIiwicGFnZXMvX3JlZ2lzdHJhdGlvbi5zY3NzIiwic3R5bGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBc0JFO0VBbWNBO0lBQVU7OztBQXZiVjtFQTBiQTtJQUFXOzs7QUFoY1g7RUFtY0E7SUFBVzs7O0FBL2NYO0VBa2RBO0lBQVU7OztBQ2xlWjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBYUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRDtBQUFBO0FBRUE7QUFBQTtFQUVDOzs7QUFJRDtFQUNDOzs7QUFFRDtFQUNDOzs7QUFFRDtBQUFBO0VBRUM7RUFDQTs7O0FBRUQ7RUFDQztFQUNBOzs7QUFHRDtFQUNDOzs7QUM1Q0Q7RUZvZkMsb0JFbmZxQjtFRm9mckIsaUJFcGZxQjtFRnFmckIsWUVyZnFCOzs7QUFHdEI7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUtBO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTs7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQSxPRnBDTTtFRXFDTjs7QUZYQTtFRU1GO0lGMlhtQjs7O0FBM1hqQjtFRUFGO0lGNFhtQjs7O0FBOVlqQjtFRWtCRjtJRitYaUI7OztBQUNiO0VFaFlKO0lGaVlNOzs7O0FFdlhOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFFQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQVJGO0lBUTBDOzs7QUFFeEM7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFJQTtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUxGO0lBSzBDO0lBQWM7OztBQUN0RDtFQU5GO0lBTW9FO0lBQWlD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QTdKSjtFSWdCQTtJSm9KaUI7OztBQTlKakI7RUlVQTtJSnFKaUI7OztBQWpMakI7RUk0QkE7SUp3SmU7OztBQUNiO0VJekpGO0lKMEpJOzs7QUFoTEo7RUlzQkE7SUFLSTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FKM0JKO0VJd0JFO0lKb01lOzs7QUF0TmpCO0VJa0JFO0lKcU1lOzs7QUF6T2pCO0VJb0NFO0lKd01hOzs7QUFDYjtFSXpNQTtJSjBNRTs7O0FBbE9KO0VJd0JFO0lKa1RlOzs7QUFwVWpCO0VJa0JFO0lKbVRlOzs7QUF2VmpCO0VJb0NFO0lKc1RhOzs7QUFDYjtFSXZUQTtJSndURTs7O0FJalRBO0VBQ0U7O0FBTU47RUp5YUE7RUFDQTtFQUNBO0VBQ0EsaUJBSm1CO0VBS25CLGtCQUxtQjtFQU1uQixlQU5tQjtFQU9uQixhQVBxQztFQVFyQyxtQkFScUM7RUFTckMsZ0JBVHFDOztBQTljckM7RUlzQ0E7SUo4SGlCOzs7QUE5SmpCO0VJZ0NBO0lKK0hpQjs7O0FBakxqQjtFSWtEQTtJSmtJZTs7O0FBQ2I7RUluSUY7SUpvSUk7OztBQTFLSjtFSXNDQTtJSnVGaUI7OztBQXZIakI7RUlnQ0E7SUp3RmlCOzs7QUExSWpCO0VJa0RBO0lKMkZlOzs7QUFDYjtFSTVGRjtJSjZGSTs7O0FBbklKO0VJc0NBO0lKT2lCOzs7QUF2Q2pCO0VJZ0NBO0lKUWlCOzs7QUExRGpCO0VJa0RBO0lKV2U7OztBQUNiO0VJWkY7SUphSTs7O0FBbkRKO0VJc0NBO0lKa05pQjs7O0FBbFBqQjtFSWdDQTtJSm1OaUI7OztBQXJRakI7RUlrREE7SUpzTmU7OztBQUNiO0VJdk5GO0lKd05JOzs7QUlqTkY7RUFDRTtFQUNBOztBSi9DSjtFSTZDRTtJSitLZTs7O0FBdE5qQjtFSXVDRTtJSmdMZTs7O0FBek9qQjtFSXlERTtJSm1MYTs7O0FBQ2I7RUlwTEE7SUpxTEU7OztBSWhMQTtFQUNFOztBSm5ETjtFSWtESTtJSjhQYTs7O0FBMVNqQjtFSTRDSTtJSitQYTs7O0FBN1RqQjtFSThESTtJSmtRVzs7O0FBQ2I7RUluUUU7SUpvUUE7OztBQXRUSjtFSWtESTtJSndSYTs7O0FBcFVqQjtFSTRDSTtJSnlSYTs7O0FBdlZqQjtFSThESTtJSjRSVzs7O0FBQ2I7RUk3UkU7SUo4UkE7OztBSXpSQTtFQUNFOztBSnhETjtFSXVESTtJSm1SYTs7O0FBcFVqQjtFSWlESTtJSm9SYTs7O0FBdlZqQjtFSW1FSTtJSnVSVzs7O0FBQ2I7RUl4UkU7SUp5UkE7OztBSXJSQTtFQUNFOztBSjVETjtFSTJESTtJSnFQYTs7O0FBMVNqQjtFSXFESTtJSnNQYTs7O0FBN1RqQjtFSXVFSTtJSnlQVzs7O0FBQ2I7RUkxUEU7SUoyUEE7OztBQXRUSjtFSTJESTtJSitRYTs7O0FBcFVqQjtFSXFESTtJSmdSYTs7O0FBdlZqQjtFSXVFSTtJSm1SVzs7O0FBQ2I7RUlwUkU7SUpxUkE7OztBSWhSQTtFQUNFOztBSmpFTjtFSWdFSTtJSmdQYTs7O0FBMVNqQjtFSTBESTtJSmlQYTs7O0FBN1RqQjtFSTRFSTtJSm9QVzs7O0FBQ2I7RUlyUEU7SUpzUEE7OztBQXRUSjtFSWdFSTtJSjBRYTs7O0FBcFVqQjtFSTBESTtJSjJRYTs7O0FBdlZqQjtFSTRFSTtJSjhRVzs7O0FBQ2I7RUkvUUU7SUpnUkE7OztBSXhRSjtFQUNFO0VBQ0E7RUFDQTs7QUozRUY7RUl3RUE7SUpvSmlCOzs7QUF0TmpCO0VJa0VBO0lKcUppQjs7O0FBek9qQjtFSW9GQTtJSndKZTs7O0FBQ2I7RUl6SkY7SUowSkk7OztBQWxPSjtFSXdFQTtJSmtRaUI7OztBQXBVakI7RUlrRUE7SUptUWlCOzs7QUF2VmpCO0VJb0ZBO0lKc1FlOzs7QUFDYjtFSXZRRjtJSndRSTs7O0FJalFGO0VBQ0U7RUFDQSxZSjNHRTs7QUEwQk47RUkrRUU7SUo4T2U7OztBQXZUakI7RUl5RUU7SUorT2U7OztBQTFVakI7RUkyRkU7SUprUGE7OztBQUNiO0VJblBBO0lKb1BFOzs7QUFuVUo7RUkrRUU7SUo2SWU7OztBQXROakI7RUl5RUU7SUo4SWU7OztBQXpPakI7RUkyRkU7SUppSmE7OztBQUNiO0VJbEpBO0lK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QUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBOztBQUFBO0FBQUE7O0FBQUE7O0FBQUE7O0FBQUE7O0FBQUE7OztBQUFBIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIOWkieaVsOezuyAvIOmWouaVsOezu+OBr+OBk+OBk+OBq+OBvuOBqOOCgeOCi1xuJHdoaXRlOiAjZmZmO1xuJGJsYWNrOiAjMDAwO1xuJHJlZDogI0ZGMDAwQTtcbiR5ZWxsb3c6ICNlNWJkMzE7XG4kZm9ybS1yZWQ6ICNBOTAwMDA7XG4kZ2xheTogIzNFM0UzRTtcbiRvcmFuZ2U6ICNFQzRGMjU7XG4vL+ODluODrOOCpOOCr+ODneOCpOODs+ODiFxuJHNwOiAnMTAyMy45cHgnOyAvL3Nw44GubWF4XG4kcGM6ICcxMDI0cHgnOyAvL3Bj44GubWluXG4kcGNtYXg6ICcxOTIwcHgnOyAvL3Bj44GubWF4XG5cblxuLy/jg6Hjg4fjgqPjgqLjgq/jgqjjg6rjg7zoqJjov7Djg6Ljgrjjg6Xjg7zjg6tcbkBtaXhpbiBzcCB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICgkc3ApKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBjIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogKCRwYykpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWlkIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogKCRwYykpIGFuZCAobWF4LXdpZHRoOiAoJHBjbWF4KSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBiaWcge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAoJHBjbWF4KSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cblxuQGZ1bmN0aW9uIGZpdHNwKCR2YWx1ZSl7XG4gIEByZXR1cm4gY2FsYygkdmFsdWUgLyAzOTApICogMTAwICsgdnc7XG4gIC8vQHJldHVybiBjYWxjKCR2YWx1ZSkgICsgcHg7XG59XG5cblxuQGZ1bmN0aW9uIGZpdCgkdmFsdWUpe1xuICBAcmV0dXJuIGNhbGMoJHZhbHVlIC8gMTkyMCkgKiAxMDAgKyB2dztcbn1cblxuQGZ1bmN0aW9uIHZmaXQoJHZhbHVlLCR2KXtcbiAgQHJldHVybiBjYWxjKCR2YWx1ZSAvICR2KSAqIDEwMCArIHZ3O1xufVxuXG5cbkBmdW5jdGlvbiBoYWxmKCR2YWx1ZSl7XG4gIEByZXR1cm4gKCR2YWx1ZSAvIDIpICsgcHg7XG59XG5cblxuLy9sZXR0ZXIgc3BhY2luZ1xuQG1peGluIGxzKCRwYzoxLCRzcDpmYWxzZSl7XG4gIEBpZiAoJHBjIGFuZCAkcGMgIT0gZikge1xuICAgIGxldHRlci1zcGFjaW5nOiBjYWxjKCRwYyAvIDEwMCkgKyBlbTtcbiAgfVxuICBAaWYgKCRzcCkge1xuICAgIEBpbmNsdWRlIHNweyBsZXR0ZXItc3BhY2luZzogY2FsYygkc3AgLyAxMDApICsgZW07IH1cbiAgfVxufVxuXG5cbkBtaXhpbiBnYXAoJHBjLCRwYzI6ZmFsc2UsJHNwOmZhbHNlLCRzcDI6ZmFsc2Upe1xuICBAaWYgKCRwYyBhbmQgJHBjICE9IGYpIHtcbiAgICBAaW5jbHVkZSBtaWQgeyBnYXA6IGZpdCgkcGMpIGZpdCgkcGMyKTsgfVxuICAgIEBpbmNsdWRlIGJpZyB7IGdhcDogJHBjICsgcHggJHBjMiArIHB4OyB9XG4gIH1cbiAgQGlmICgkc3ApIHtcbiAgICBAaW5jbHVkZSBzcHsgZ2FwOiBmaXRzcCgkc3ApIGZpdHNwKCRzcDIpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkge1xuICAgICAgZ2FwOiAkc3AgKyBweCAkc3AyICsgcHg7XG4gICAgfVxuICB9XG59XG5cbi8vcGFkZGluZ+iomOi/sOODouOCuOODpeODvOODq1xuQG1peGluIHAoJHBjOjEwLCRzcDpmYWxzZSl7XG4gIEBpZiAoJHBjIGFuZCAkcGMgIT0gZikge1xuICAgIEBpbmNsdWRlIG1pZCB7IHBhZGRpbmc6IGZpdCgkcGMpOyB9XG4gICAgQGluY2x1ZGUgYmlnIHsgcGFkZGluZzogJHBjICsgcHg7IH1cbiAgfVxuICBAaWYgKCRzcCkge1xuICAgIEBpbmNsdWRlIHNweyBwYWRkaW5nOiBmaXRzcCgkc3ApOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkge1xuICAgICAgcGFkZGluZzogJHNwICsgcHg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBwbCgkcGM6MTAsJHNwOmZhbHNlKXtcbiAgQGlmICgkcGMgYW5kICRwYyAhPSBmKSB7XG4gICAgQGluY2x1ZGUgbWlkIHsgcGFkZGluZy1sZWZ0OiBmaXQoJHBjKTsgfVxuICAgIEBpbmNsdWRlIGJpZyB7IHBhZGRpbmctbGVmdDogJHBjICsgcHg7IH1cbiAgfVxuICBAaWYgKCRzcCkge1xuICAgIEBpbmNsdWRlIHNweyBwYWRkaW5nLWxlZnQ6IGZpdHNwKCRzcCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRzcCArIHB4O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcHIoJHBjOjEwLCRzcDpmYWxzZSl7XG4gIEBpZiAoJHBjIGFuZCAkcGMgIT0gZikge1xuICAgIEBpbmNsdWRlIG1pZCB7IHBhZGRpbmctcmlnaHQ6IGZpdCgkcGMpOyB9XG4gICAgQGluY2x1ZGUgYmlnIHsgcGFkZGluZy1yaWdodDogJHBjICsgcHg7IH1cbiAgfVxuICBAaWYgKCRzcCkge1xuICAgIEBpbmNsdWRlIHNweyBwYWRkaW5nLXJpZ2h0OiBmaXRzcCgkc3ApOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkge1xuICAgICAgcGFkZGluZy1yaWdodDogJHNwICsgcHg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBwdCgkcGM6MTAsJHNwOmZhbHNlKXtcbiAgQGlmICgkcGMgYW5kICRwYyAhPSBmKSB7XG4gICAgQGluY2x1ZGUgbWlkIHsgcGFkZGluZy10b3A6IGZpdCgkcGMpOyB9XG4gICAgQGluY2x1ZGUgYmlnIHsgcGFkZGluZy10b3A6ICRwYyArIHB4OyB9XG4gIH1cbiAgQGlmICgkc3ApIHtcbiAgICBAaW5jbHVkZSBzcHsgcGFkZGluZy10b3A6IGZpdHNwKCRzcCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogJHNwICsgcHg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBwYigkcGM6MTAsJHNwOmZhbHNlKXtcbiAgQGlmICgkcGMgYW5kICRwYyAhPSBmKSB7XG4gICAgQGluY2x1ZGUgbWlkIHsgcGFkZGluZy1ib3R0b206IGZpdCgkcGMpOyB9XG4gICAgQGluY2x1ZGUgYmlnIHsgcGFkZGluZy1ib3R0b206ICRwYyArIHB4OyB9XG4gIH1cbiAgQGlmICgkc3ApIHtcbiAgICBAaW5jbHVkZSBzcHsgcGFkZGluZy1ib3R0b206IGZpdHNwKCRzcCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHNwICsgcHg7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBtaXhpbnNcbkBtaXhpbiBtbCgkcGM6MTAsJHNwOmZhbHNlKXtcbiAgQGlmICgkcGMgYW5kICRwYyAhPSBmKSB7XG4gICAgQGluY2x1ZGUgbWlkIHsgbWFyZ2luLWxlZnQ6IGZpdCgkcGMpOyB9XG4gICAgQGluY2x1ZGUgYmlnIHsgbWFyZ2luLWxlZnQ6ICRwYyArIHB4OyB9XG4gIH1cbiAgQGlmICgkc3ApIHtcbiAgICBAaW5jbHVkZSBzcHsgbWFyZ2luLWxlZnQ6IGZpdHNwKCRzcCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7XG4gICAgICBtYXJnaW4tbGVmdDogJHNwICsgcHg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtcigkcGM6MTAsJHNwOmZhbHNlKXtcbiAgQGlmICgkcGMgYW5kICRwYyAhPSBmKSB7XG4gICAgQGluY2x1ZGUgbWlkIHsgbWFyZ2luLXJpZ2h0OiBmaXQoJHBjKTsgfVxuICAgIEBpbmNsdWRlIGJpZyB7IG1hcmdpbi1yaWdodDogJHBjICsgcHg7IH1cbiAgfVxuICBAaWYgKCRzcCkge1xuICAgIEBpbmNsdWRlIHNweyBtYXJnaW4tcmlnaHQ6IGZpdHNwKCRzcCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRzcCArIHB4O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbXQoJHBjOjEwLCRzcDpmYWxzZSl7XG4gIEBpZiAoJHBjIGFuZCAkcGMgIT0gZikge1xuICAgIEBpbmNsdWRlIG1pZCB7IG1hcmdpbi10b3A6IGZpdCgkcGMpOyB9XG4gICAgQGluY2x1ZGUgYmlnIHsgbWFyZ2luLXRvcDogJHBjICsgcHg7IH1cbiAgfVxuICBAaWYgKCRzcCkge1xuICAgIEBpbmNsdWRlIHNweyBtYXJnaW4tdG9wOiBmaXRzcCgkc3ApOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkge1xuICAgICAgbWFyZ2luLXRvcDogJHNwICsgcHg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYigkcGM6MTAsJHNwOmZhbHNlKXtcbiAgQGlmICgkcGMgYW5kICRwYyAhPSBmKSB7XG4gICAgQGluY2x1ZGUgbWlkIHsgbWFyZ2luLWJvdHRvbTogZml0KCRwYyk7IH1cbiAgICBAaW5jbHVkZSBiaWcgeyBtYXJnaW4tYm90dG9tOiAkcGMgKyBweDsgfVxuICB9XG4gIEBpZiAoJHNwKSB7XG4gICAgQGluY2x1ZGUgc3B7IG1hcmdpbi1ib3R0b206IGZpdHNwKCRzcCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkc3AgKyBweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQm9yZGVyIHJhZGl1c1xuQG1peGluIGJyKCRwYzoxMCwkc3A6ZmFsc2Upe1xuICBAaWYgKCRwYyBhbmQgJHBjICE9IGYpIHtcbiAgICBAaW5jbHVkZSBtaWQgeyBib3JkZXItcmFkaXVzOiBmaXQoJHBjKTsgfVxuICAgIEBpbmNsdWRlIGJpZyB7IGJvcmRlci1yYWRpdXM6ICRwYyArIHB4OyB9XG4gIH1cbiAgQGlmICgkc3ApIHtcbiAgICBAaW5jbHVkZSBzcHsgYm9yZGVyLXJhZGl1czogZml0c3AoJHNwKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRzcCArIHB4O1xuICAgIH1cbiAgfVxufVxuXG4vLyBCb3JkZXIgcmFkaXVzXG5AbWl4aW4gYnJzcCgkc3AxLCRzcDIsJHNwMywkc3A0KXtcbiAgQGlmICgkcGMgYW5kICRwYyAhPSBmKSB7XG4gICAgQGluY2x1ZGUgbWlkIHsgYm9yZGVyLXJhZGl1czogZml0KCRzcDEpIGZpdCgkc3AyKSBmaXQoJHNwMykgZml0KCRzcDQpOyB9XG4gICAgQGluY2x1ZGUgYmlnIHsgYm9yZGVyLXJhZGl1czogJHNwMSArIHB4ICRzcDIgKyBweCAkc3AzICsgcHggJHNwNCArIHB4OyB9XG4gIH1cbiAgQGlmICgkc3ApIHtcbiAgICBAaW5jbHVkZSBzcHsgYm9yZGVyLXJhZGl1czogZml0c3AoJHNwMSkgZml0c3AoJHNwMikgZml0c3AoJHNwMykgZml0c3AoJHNwNCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkc3AxICsgcHggJHNwMiArIHB4ICRzcDMgKyBweCAkc3A0ICsgcHg7XG4gICAgfVxuICB9XG59XG5cbi8vIEJvcmRlciB3aWR0aFxuQG1peGluIGJ3KCRwYzoxMCwkc3A6ZmFsc2Upe1xuICBAaWYgKCRwYyBhbmQgJHBjICE9IGYpIHtcbiAgICBAaW5jbHVkZSBtaWQgeyBib3JkZXItd2lkdGg6IGZpdCgkcGMpOyB9XG4gICAgQGluY2x1ZGUgYmlnIHsgYm9yZGVyLXdpZHRoOiAkcGMgKyBweDsgfVxuICB9XG4gIEBpZiAoJHNwKSB7XG4gICAgQGluY2x1ZGUgc3B7IGJvcmRlci13aWR0aDogZml0c3AoJHNwKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHtcbiAgICAgIGJvcmRlci13aWR0aDogJHNwICsgcHg7XG4gICAgfVxuICB9XG59XG5cbi8vIFdpZHRoXG5AbWl4aW4gdygkcGMsJHNwOmZhbHNlKXtcbiAgQGlmICgkcGMgYW5kICRwYyAhPSBmKSB7XG4gICAgQGluY2x1ZGUgbWlkIHsgd2lkdGg6IGZpdCgkcGMpOyB9XG4gICAgQGluY2x1ZGUgYmlnIHsgd2lkdGg6ICRwYyArIHB4OyB9XG4gIH1cbiAgQGlmICgkc3ApIHtcbiAgICBAaW5jbHVkZSBzcHsgd2lkdGg6IGZpdHNwKCRzcCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7XG4gICAgICB3aWR0aDogJHNwICsgcHg7XG4gICAgfVxuICB9XG59XG5cbi8vIE1heCB3aWR0aFxuQG1peGluIG13KCRwYywkc3A6ZmFsc2Upe1xuICBAaWYgKCRwYyBhbmQgJHBjICE9IGYpIHtcbiAgICBAaW5jbHVkZSBtaWQgeyBtYXgtd2lkdGg6IGZpdCgkcGMpOyB9XG4gICAgQGluY2x1ZGUgYmlnIHsgbWF4LXdpZHRoOiAkcGMgKyBweDsgfVxuICB9XG4gIEBpZiAoJHNwKSB7XG4gICAgQGluY2x1ZGUgc3B7IG1heC13aWR0aDogZml0c3AoJHNwKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHtcbiAgICAgIG1heC13aWR0aDogJHNwICsgcHg7XG4gICAgfVxuICB9XG59XG5cbi8vIEhlaWdodFxuQG1peGluIGgoJHBjLCRzcDpmYWxzZSl7XG4gIEBpZiAoJHBjIGFuZCAkcGMgIT0gZikge1xuICAgIEBpbmNsdWRlIG1pZCB7IGhlaWdodDogZml0KCRwYyk7IH1cbiAgICBAaW5jbHVkZSBiaWcgeyBoZWlnaHQ6ICRwYyArIHB4OyB9XG4gIH1cbiAgQGlmICgkc3ApIHtcbiAgICBAaW5jbHVkZSBzcHsgaGVpZ2h0OiBmaXRzcCgkc3ApOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkge1xuICAgICAgaGVpZ2h0OiAkc3AgKyBweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWF4IGhlaWdodFxuQG1peGluIG1heGgoJHBjLCRzcDpmYWxzZSl7XG4gIEBpZiAoJHBjIGFuZCAkcGMgIT0gZikge1xuICAgIEBpbmNsdWRlIG1pZCB7IG1heC1oZWlnaHQ6IGZpdCgkcGMpOyB9XG4gICAgQGluY2x1ZGUgYmlnIHsgbWF4LWhlaWdodDogJHBjICsgcHg7IH1cbiAgfVxuICBAaWYgKCRzcCkge1xuICAgIEBpbmNsdWRlIHNweyBtYXgtaGVpZ2h0OiBmaXRzcCgkc3ApOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkge1xuICAgICAgbWF4LWhlaWdodDogJHNwICsgcHg7XG4gICAgfVxuICB9XG59XG5cbi8vIE1pbiB3aWR0aFxuQG1peGluIG1pbncoJHBjLCRzcDpmYWxzZSl7XG4gIEBpZiAoJHBjIGFuZCAkcGMgIT0gZikge1xuICAgIEBpbmNsdWRlIG1pZCB7IG1pbi13aWR0aDogZml0KCRwYyk7IH1cbiAgICBAaW5jbHVkZSBiaWcgeyBtaW4td2lkdGg6ICRwYyArIHB4OyB9XG4gIH1cbiAgQGlmICgkc3ApIHtcbiAgICBAaW5jbHVkZSBzcHsgbWluLXdpZHRoOiBmaXRzcCgkc3ApOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkge1xuICAgICAgbWluLXdpZHRoOiAkc3AgKyBweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWluIGhlaWdodFxuQG1peGluIG1pbmgoJHBjLCRzcDpmYWxzZSl7XG4gIEBpZiAoJHBjIGFuZCAkcGMgIT0gZikge1xuICAgIEBpbmNsdWRlIG1pZCB7IG1pbi1oZWlnaHQ6IGZpdCgkcGMpOyB9XG4gICAgQGluY2x1ZGUgYmlnIHsgbWluLWhlaWdodDogJHBjICsgcHg7IH1cbiAgfVxuICBAaWYgKCRzcCkge1xuICAgIEBpbmNsdWRlIHNweyBtaW4taGVpZ2h0OiBmaXRzcCgkc3ApOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkge1xuICAgICAgbWluLWhlaWdodDogJHNwICsgcHg7XG4gICAgfVxuICB9XG59XG5cbi8vIFBvc2l0aW9uIHByb3BlcnRpZXNcbkBtaXhpbiB0b3AoJHBjLCRzcDpmYWxzZSl7XG4gIEBpZiAoJHBjIGFuZCAkcGMgIT0gZikge1xuICAgIEBpbmNsdWRlIG1pZCB7IHRvcDogZml0KCRwYyk7IH1cbiAgICBAaW5jbHVkZSBiaWcgeyB0b3A6ICRwYyArIHB4OyB9XG4gIH1cbiAgQGlmICgkc3ApIHtcbiAgICBAaW5jbHVkZSBzcHsgdG9wOiBmaXRzcCgkc3ApOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkge1xuICAgICAgdG9wOiAkc3AgKyBweDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJvdHRvbSgkcGMsJHNwOmZhbHNlKXtcbiAgQGlmICgkcGMgYW5kICRwYyAhPSBmKSB7XG4gICAgQGluY2x1ZGUgbWlkIHsgYm90dG9tOiBmaXQoJHBjKTsgfVxuICAgIEBpbmNsdWRlIGJpZyB7IGJvdHRvbTogJHBjICsgcHg7IH1cbiAgfVxuICBAaWYgKCRzcCkge1xuICAgIEBpbmNsdWRlIHNweyBib3R0b206IGZpdHNwKCRzcCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7XG4gICAgICBib3R0b206ICRzcCArIHB4O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbGVmdCgkcGMsJHNwOmZhbHNlKXtcbiAgQGlmICgkcGMgYW5kICRwYyAhPSBmKSB7XG4gICAgQGluY2x1ZGUgbWlkIHsgbGVmdDogZml0KCRwYyk7IH1cbiAgICBAaW5jbHVkZSBiaWcgeyBsZWZ0OiAkcGMgKyBweDsgfVxuICB9XG4gIEBpZiAoJHNwKSB7XG4gICAgQGluY2x1ZGUgc3B7IGxlZnQ6IGZpdHNwKCRzcCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7XG4gICAgICBsZWZ0OiAkc3AgKyBweDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHJpZ2h0KCRwYywkc3A6ZmFsc2Upe1xuICBAaWYgKCRwYyBhbmQgJHBjICE9IGYpIHtcbiAgICBAaW5jbHVkZSBtaWQgeyByaWdodDogZml0KCRwYyk7IH1cbiAgICBAaW5jbHVkZSBiaWcgeyByaWdodDogJHBjICsgcHg7IH1cbiAgfVxuICBAaWYgKCRzcCkge1xuICAgIEBpbmNsdWRlIHNweyByaWdodDogZml0c3AoJHNwKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHtcbiAgICAgIHJpZ2h0OiAkc3AgKyBweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gVHJhbnNsYXRlWFxuQG1peGluIHRyYW5zbGF0ZVgoJHBjLCRzcDpmYWxzZSl7XG4gIEBpZiAoJHBjIGFuZCAkcGMgIT0gZikge1xuICAgIEBpbmNsdWRlIG1pZCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWChmaXQoJHBjKSk7IH1cbiAgICBAaW5jbHVkZSBiaWcgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHBjICsgcHgpOyB9XG4gIH1cbiAgQGlmICgkc3ApIHtcbiAgICBAaW5jbHVkZSBzcHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGZpdHNwKCRzcCkpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzcCArIHB4KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gXG5AbWl4aW4gdHJhbnNmb3JtT3JpZ2luKCRwYywkcGMyLCRzcDpmYWxzZSwkc3AyOmZhbHNlKXtcbiAgQGlmICgkcGMgYW5kICRwYyAhPSBmKSB7XG4gICAgQGluY2x1ZGUgbWlkIHsgdHJhbnNmb3JtLW9yaWdpbjogZml0KCRwYykgZml0KCRwYzIpOyB9XG4gICAgQGluY2x1ZGUgYmlnIHsgdHJhbnNmb3JtLW9yaWdpbjogJHBjICsgcHggJHBjMiArIHB4OyB9XG4gIH1cbiAgQGlmICgkc3ApIHtcbiAgICBAaW5jbHVkZSBzcHsgdHJhbnNmb3JtLW9yaWdpbjogZml0c3AoJHNwKSBmaXRzcCgkc3AyKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICRzcCArIHB4ICRzcDI7XG4gICAgfVxuICB9XG59XG5cbi8vIEZvbnQgc2l6ZVxuQG1peGluIGYoJHBjOjE0LCRzcDpmYWxzZSl7XG4gIEBpZiAoJHBjIGFuZCAkcGMgIT0gZikge1xuICAgIEBpbmNsdWRlIG1pZCB7IGZvbnQtc2l6ZTogZml0KCRwYyk7IH1cbiAgICBAaW5jbHVkZSBiaWcgeyBmb250LXNpemU6ICRwYyArIHB4OyB9XG4gIH1cbiAgQGlmICgkc3ApIHtcbiAgICBAaW5jbHVkZSBzcHsgZm9udC1zaXplOiBmaXRzcCgkc3ApOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkge1xuICAgICAgZm9udC1zaXplOiAkc3AgKyBweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTGluZS1oZWlnaHRcbkBtaXhpbiBsaCgkcGM6ZmFsc2UsJHNwOmZhbHNlKXtcbiAgQGlmICgkcGMpIHtcbiAgICBAaW5jbHVkZSBtaWQgeyBsaW5lLWhlaWdodDogJHBjOyB9XG4gICAgQGluY2x1ZGUgYmlnIHsgbGluZS1oZWlnaHQ6ICRwYyArIHB4OyB9XG4gIH1cbiAgQGlmICgkc3ApIHtcbiAgICBAaW5jbHVkZSBzcHsgbGluZS1oZWlnaHQ6ICRzcDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkc3AgKyBweDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJncygkcGM6ZmFsc2UsJHNwOmZhbHNlKXtcbiAgQGlmICgkcGMpIHtcbiAgICBAaW5jbHVkZSBtaWQgeyBiYWNrZ3JvdW5kLXNpemU6IGZpdCgkcGMpIGF1dG87IH1cbiAgICBAaW5jbHVkZSBiaWcgeyBiYWNrZ3JvdW5kLXNpemU6ICRwYyArIHB4IGF1dG87IH1cbiAgfVxuICBAaWYgKCRzcCkge1xuICAgIEBpbmNsdWRlIHNweyBiYWNrZ3JvdW5kLXNpemU6IGZpdHNwKCRzcCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6ICRzcCArIHB4IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBiZ3AoJHBjOmZhbHNlLCRwYzI6ZmFsc2Upe1xuICBAaWYgKCRwYykge1xuICAgIEBpbmNsdWRlIG1pZCB7IGJhY2tncm91bmQtcG9zaXRpb246IGZpdCgkcGMpIGZpdCgkcGMyKTsgfVxuICAgIEBpbmNsdWRlIGJpZyB7IGJhY2tncm91bmQtcG9zaXRpb246ICRwYyArIHB4ICRwYzIgKyBweDsgfVxuICB9XG4gIEBpZiAoJHNwKSB7XG4gICAgQGluY2x1ZGUgc3B7IGJhY2tncm91bmQtcG9zaXRpb246IGZpdHNwKCRwYykgZml0c3AoJHBjMik7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcGMgKyBweCAkcGMyICsgcHg7XG4gICAgfVxuICB9XG59XG5cblxuLy9jZW50aWZ5XG5AbWl4aW4gY2VudGVyKCl7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vUEMvU1Djga7jgb/jgafooajnpLpcbkBpbmNsdWRlIHBjIHtcbiAgLkhJREUtUEN7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDt9XG59XG5AaW5jbHVkZSBiaWcge1xuICAuSElERS1CSUd7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDt9XG59XG5AaW5jbHVkZSBtaWQge1xuICAuSElERS1NSUR7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDt9XG59XG5AaW5jbHVkZSBzcCB7XG4gIC5ISURFLVNQeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7fVxufVxuXG5cblxuXG4vL2ZsZXhcbi8vdXNhZ2U6ICBAaW5jbHVkZSBmbGV4KCRqdXN0aWZ5OmNlbnRlciwkYWxpZ246ZmxleC1lbmQpXG5AbWl4aW4gZmxleCgkanVzdGlmeTpmbGV4LXN0YXJ0LCRhbGlnbjpmbGV4LXN0YXJ0KSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XG4gIC13ZWJraXQtYm94LXBhY2s6ICRqdXN0aWZ5O1xuICAtbXMtZmxleC1wYWNrOiAkanVzdGlmeTtcbiAgYWxpZ24taXRlbXM6ICRhbGlnbjtcbiAgLXdlYmtpdC1ib3gtYWxpZ246ICRhbGlnbjtcbiAgLW1zLWZsZXgtYWxpZ246ICRhbGlnbjtcbn1cblxuXG4vL2JveC1zaXppbmdcbkBtaXhpbiBib3gtc2l6aW5nKCR0eXBlKVxuIHtcbiAtd2Via2l0LWJveC1zaXppbmc6JHR5cGU7XG4gLW1vei1ib3gtc2l6aW5nOiR0eXBlO1xuIGJveC1zaXppbmc6JHR5cGU7XG4gfVxuXG4iLCIvKiBodHRwOi8vbWV5ZXJ3ZWIuY29tL2VyaWMvdG9vbHMvY3NzL3Jlc2V0L1xudjIuMCB8IDIwMTEwMTI2XG5MaWNlbnNlOiBub25lIChwdWJsaWMgZG9tYWluKVxuKi9cblxuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcbmIsIHUsIGksIGNlbnRlcixcbmRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsXG5tZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyxidXR0b24ge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRmb250OiBpbmhlcml0O1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzXG4qL1xuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSxcbmZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuYm9keSB7XG59XG5vbCwgdWwge1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuYmxvY2txdW90ZSwgcSB7XG5cdHF1b3Rlczogbm9uZTtcbn1cbmJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLFxucTpiZWZvcmUsIHE6YWZ0ZXIge1xuXHRjb250ZW50OiAnJztcblx0Y29udGVudDogbm9uZTtcbn1cbnRhYmxlIHtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0Ym9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbmJ1dHRvbiB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLy8g5YWo5L2T5YWx6YCa44Gu44KC44Gu44Gq44Gp44Gv44GT44GT44Gr44G+44Go44KB44KLXG4vLyDjg5jjg4Pjg4Djg7vjg5Xjg4Pjgr/jgarjgalcbkB1c2UgXCJtaXhpblwiIGFzICo7XG5cbi8vbm9ybWFsaXpl55qE44Gq44KC44GuXG4qe1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuXG5hOmxpbmssIGE6dmlzaXRlZCwgYTpob3ZlciwgYTphY3RpdmUge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5pbWd7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbmh0bWwsYm9keXtcbiAgJi5maXhlZHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbmh0bWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBcbn1cblxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIixBcmlhbCxcIkhpcmFnaW5vIEtha3UgR290aGljIFByb05cIixcIkhpcmFnaW5vIFNhbnNcIixNZWlyeW8sc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogJGJsYWNrO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBAaW5jbHVkZSBmKDE0LDE0KTtcblxufVxuXG5ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAwO1xuXG4gIC8qIHBj6KGo56S66Zai5L+CICovXG4gIC5wYy1jb250ZW50IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHsgZGlzcGxheTogZmxleDsgfVxuXG4gICAgJi0tbGVmdCB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IGNhbGMoNzY1IC8gMTkyMCAqIDEwMHZ3KTtcbiAgICB9XG4gICAgJi0tcmlnaHQge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogY2FsYyg3NjUgLyAxOTIwICogMTAwdncpO1xuICAgIH1cblxuICAgICZfX21pc3Npb24ge1xuICAgICAgJl9faGVhZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHsgd2lkdGg6IDM5N3B4OyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7IHdpZHRoOiBjYWxjKDM5NyAvIDE5MjAgKiAxMDB2dyk7IG1hcmdpbi1ib3R0b206IGNhbGMoNDAgLyAxOTIwICogMTAwdncpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHdpZHRoOiBjYWxjKDM5NyAvIDM5MCAqIDEwMHZ3KTsgbWFyZ2luLWJvdHRvbTogY2FsYyg0MCAvIDM5MCAqIDEwMHZ3KTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHdpZHRoOiAzOTdweDsgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgICAgfVxuXG4gICAgICAmX19saXN0IHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IG1hcmdpbi1ib3R0b206IDcwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45cHgpIHsgbWFyZ2luLWJvdHRvbTogY2FsYyg3MCAvIDE5MjAgKiAxMDB2dyk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgbWFyZ2luLWJvdHRvbTogY2FsYyg3MCAvIDM5MCAqIDEwMHZ3KTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IG1hcmdpbi1ib3R0b206IDcwcHg7IH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzO1xuICAgICAgICAgIEBpbmNsdWRlIHRvcCg2MCw2MCk7XG5cbiAgICAgICAgICAmLnNob3cge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHsgd2lkdGg6IDM1OHB4OyBoZWlnaHQ6IDE4NHB4OyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45cHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDM1OCAvIDE5MjAgKiAxMDB2dyk7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTg0IC8gMTkyMCAqIDEwMHZ3KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMzAgLyAxOTIwICogMTAwdncpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzU4IC8gMzkwICogMTAwdncpO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDE4NCAvIDM5MCAqIDEwMHZ3KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMzAgLyAzOTAgKiAxMDB2dyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgd2lkdGg6IDM1OHB4OyBoZWlnaHQ6IDE4NHB4OyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbiAgICAgICAgICBhIHsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgfVxuXG4gICAgICAgICAgJi4teCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vaW1hZ2VzL3BjX21pc3Npb25feC5zdmcpIGNlbnRlciB0b3Agbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgeyB3aWR0aDogODNweDsgYm90dG9tOiA1cHg7IGxlZnQ6IDM2cHg7IH1cbiAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45cHgpIHsgd2lkdGg6IGNhbGMoODMgLyAxOTIwICogMTAwdncpOyBib3R0b206IGNhbGMoNSAvIDE5MjAgKiAxMDB2dyk7IGxlZnQ6IGNhbGMoMzYgLyAxOTIwICogMTAwdncpOyB9XG4gICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHdpZHRoOiBjYWxjKDgzIC8gMzkwICogMTAwdncpOyBib3R0b206IGNhbGMoNSAvIDM5MCAqIDEwMHZ3KTsgbGVmdDogY2FsYygzNiAvIDM5MCAqIDEwMHZ3KTsgfVxuICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHdpZHRoOiA4M3B4OyBib3R0b206IDVweDsgbGVmdDogMzZweDsgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuLXJlY2VpcHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKC4uL2ltYWdlcy9wY19taXNzaW9uX3JlY2VpcHQuc3ZnKSBjZW50ZXIgdG9wIG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHsgd2lkdGg6IDgwcHg7IGJvdHRvbTogLTdweDsgbGVmdDogMzZweDsgfVxuICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5LjlweCkgeyB3aWR0aDogY2FsYyg4MCAvIDE5MjAgKiAxMDB2dyk7IGJvdHRvbTogY2FsYygtNyAvIDE5MjAgKiAxMDB2dyk7IGxlZnQ6IGNhbGMoMzYgLyAxOTIwICogMTAwdncpOyB9XG4gICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHdpZHRoOiBjYWxjKDgwIC8gMzkwICogMTAwdncpOyBib3R0b206IGNhbGMoLTcgLyAzOTAgKiAxMDB2dyk7IGxlZnQ6IGNhbGMoMzYgLyAzOTAgKiAxMDB2dyk7IH1cbiAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogODBweDsgYm90dG9tOiAtN3B4OyBsZWZ0OiAzNnB4OyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2RhdGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgeyB3aWR0aDogMzE1cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45cHgpIHsgd2lkdGg6IGNhbGMoMzE1IC8gMTkyMCAqIDEwMHZ3KTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogY2FsYygzMTUgLyAzOTAgKiAxMDB2dyk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogMzE1cHg7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19xci1ibG9jayB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIGJvcmRlcjogNHB4IHNvbGlkICRibGFjaztcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IGJvcmRlci13aWR0aDogNHB4OyB3aWR0aDogMzU4cHg7IHBhZGRpbmctYm90dG9tOiA0OHB4OyBtYXJnaW4tYm90dG9tOiA3M3B4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5LjlweCkge1xuICAgICAgICBib3JkZXItd2lkdGg6IGNhbGMoNCAvIDE5MjAgKiAxMDB2dyk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDM1OCAvIDE5MjAgKiAxMDB2dyk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDQ4IC8gMTkyMCAqIDEwMHZ3KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyg3MyAvIDE5MjAgKiAxMDB2dyk7XG4gICAgICB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkge1xuICAgICAgICBib3JkZXItd2lkdGg6IGNhbGMoNCAvIDM5MCAqIDEwMHZ3KTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMzU4IC8gMzkwICogMTAwdncpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyg0OCAvIDM5MCAqIDEwMHZ3KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyg3MyAvIDM5MCAqIDEwMHZ3KTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgYm9yZGVyLXdpZHRoOiA0cHg7IHdpZHRoOiAzNThweDsgcGFkZGluZy1ib3R0b206IDQ4cHg7IG1hcmdpbi1ib3R0b206IDczcHg7IH1cblxuICAgICAgJl9fbG9nbyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHsgd2lkdGg6IDIxNHB4OyB0b3A6IC0xMTVweDsgbWFyZ2luLWJvdHRvbTogLTEyMHB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjE0IC8gMTkyMCAqIDEwMHZ3KTtcbiAgICAgICAgICB0b3A6IGNhbGMoLTExNSAvIDE5MjAgKiAxMDB2dyk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYygtMTIwIC8gMTkyMCAqIDEwMHZ3KTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDIxNCAvIDM5MCAqIDEwMHZ3KTtcbiAgICAgICAgICB0b3A6IGNhbGMoLTExNSAvIDM5MCAqIDEwMHZ3KTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC0xMjAgLyAzOTAgKiAxMDB2dyk7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogMjE0cHg7IHRvcDogLTExNXB4OyBtYXJnaW4tYm90dG9tOiAtMTIwcHg7IH1cbiAgICAgIH1cblxuICAgICAgJl9faGVhZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHsgd2lkdGg6IDI3NXB4OyBtYXJnaW4tYm90dG9tOiA0NXB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7IHdpZHRoOiBjYWxjKDI3NSAvIDE5MjAgKiAxMDB2dyk7IG1hcmdpbi1ib3R0b206IGNhbGMoNDUgLyAxOTIwICogMTAwdncpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHdpZHRoOiBjYWxjKDI3NSAvIDM5MCAqIDEwMHZ3KTsgbWFyZ2luLWJvdHRvbTogY2FsYyg0NSAvIDM5MCAqIDEwMHZ3KTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHdpZHRoOiAyNzVweDsgbWFyZ2luLWJvdHRvbTogNDVweDsgfVxuICAgICAgfVxuXG4gICAgICAmX19xciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHsgd2lkdGg6IDE4MHB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7IHdpZHRoOiBjYWxjKDE4MCAvIDE5MjAgKiAxMDB2dyk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgd2lkdGg6IGNhbGMoMTgwIC8gMzkwICogMTAwdncpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgd2lkdGg6IDE4MHB4OyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2hhcmUtYmxvY2sge1xuICAgICAgJl9faGVhZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IHdpZHRoOiAzMjBweDsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5LjlweCkgeyB3aWR0aDogY2FsYygzMjAgLyAxOTIwICogMTAwdncpOyBtYXJnaW4tYm90dG9tOiBjYWxjKDIwIC8gMTkyMCAqIDEwMHZ3KTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogY2FsYygzMjAgLyAzOTAgKiAxMDB2dyk7IG1hcmdpbi1ib3R0b206IGNhbGMoMjAgLyAzOTAgKiAxMDB2dyk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogMzIwcHg7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAgIH1cblxuICAgICAgJl9fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHsgZ2FwOiA1NXB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7IGdhcDogY2FsYyg1NSAvIDE5MjAgKiAxMDB2dyk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgZ2FwOiBjYWxjKDU1IC8gMzkwICogMTAwdncpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgZ2FwOiA1NXB4OyB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgeyB3aWR0aDogOTNweDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7IHdpZHRoOiBjYWxjKDkzIC8gMTkyMCAqIDEwMHZ3KTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHdpZHRoOiBjYWxjKDkzIC8gMzkwICogMTAwdncpOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogOTNweDsgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29weXJpZ2h0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IGJvdHRvbTogMTVweDsgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5LjlweCkgeyBib3R0b206IGNhbGMoMTUgLyAxOTIwICogMTAwdncpOyBmb250LXNpemU6IGNhbGMoMTggLyAxOTIwICogMTAwdncpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyBib3R0b206IGNhbGMoMTUgLyAzOTAgKiAxMDB2dyk7IGZvbnQtc2l6ZTogY2FsYygxOCAvIDM5MCAqIDEwMHZ3KTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyBib3R0b206IDE1cHg7IGZvbnQtc2l6ZTogMThweDsgfVxuICAgIH1cbiAgfVxuXG4gIC5iZy0tcGMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCAjRUQxQzI0IDEwLjElLCAjRTQ0MzI1IDg5LjklKTtcbiAgICB9XG4gIH1cblxuICAuc2l0ZS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogMTAwJTtcblxuICAgIC8qIOWfuua6luOCkuS7luOBqOWQjOOBmOOBq+e1seS4gCAqL1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgeyB3aWR0aDogMzkwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5LjlweCkgeyB3aWR0aDogY2FsYygzOTAgLyAxOTIwICogMTAwdncpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHdpZHRoOiAzOTBweDsgfVxuXG4gICAgLmhlYWRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgeyB3aWR0aDogMzkwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7IHdpZHRoOiBjYWxjKDM5MCAvIDE5MjAgKiAxMDB2dyk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHdpZHRoOiBjYWxjKDM5MCAvIDM5MCAqIDEwMHZ3KTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogMzkwcHg7IH1cblxuICAgICAgJl9fbG9nbyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHsgdG9wOiAyMHB4OyByaWdodDogMTlweDsgd2lkdGg6IDc1cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45cHgpIHsgdG9wOiBjYWxjKDIwIC8gMTkyMCAqIDEwMHZ3KTsgcmlnaHQ6IGNhbGMoMTkgLyAxOTIwICogMTAwdncpOyB3aWR0aDogY2FsYyg3NSAvIDE5MjAgKiAxMDB2dyk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgdG9wOiBjYWxjKDIwIC8gMzkwICogMTAwdncpOyByaWdodDogY2FsYygxOSAvIDM5MCAqIDEwMHZ3KTsgd2lkdGg6IGNhbGMoNzUgLyAzOTAgKiAxMDB2dyk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB0b3A6IDIwcHg7IHJpZ2h0OiAxOXB4OyB3aWR0aDogNzVweDsgfVxuICAgICAgfVxuICAgIH1cblxuICAgICNtYWluLWNvbnRhaW5lciB7IC8qIOOBneOBruOBvuOBviAqLyB9XG5cbiAgICAuZm9vdGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IHBhZGRpbmctdG9wOiAzN3B4OyBwYWRkaW5nLWJvdHRvbTogMzVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45cHgpIHsgcGFkZGluZy10b3A6IGNhbGMoMzcgLyAxOTIwICogMTAwdncpOyBwYWRkaW5nLWJvdHRvbTogY2FsYygzNSAvIDE5MjAgKiAxMDB2dyk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHBhZGRpbmctdG9wOiBjYWxjKDM3IC8gMzkwICogMTAwdncpOyBwYWRkaW5nLWJvdHRvbTogY2FsYygzNSAvIDM5MCAqIDEwMHZ3KTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyBwYWRkaW5nLXRvcDogMzdweDsgcGFkZGluZy1ib3R0b206IDM1cHg7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIOODrOOCpOOCouOCpuODiOWFqOiIrOOBr+OBk+OBk+OBq+OBvuOBqOOCgeOCi1xuQGNoYXJzZXQgXCJVVEYtOFwiO1xuQHVzZSBcIm1peGluXCIgYXMgKjtcblxuXG5cbmJvZHl7XG5cbiAgbWFpbiNtYWluLWNvbnRhaW5lcntcbiAgICBzZWN0aW9ue1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLmNvbnRlbnR7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxufVxuXG4uaW5uZXJ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgcGMge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICBAaW5jbHVkZSBzcCB7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuXG4iLCIvLyDlhajjg5rjg7zjgrjlhbHpgJrjgafkvb/jgYjjgovjg5bjg63jg4Pjgq/jg5Hjg7zjg4TpoZ7jga/jgZPjgZPjgavjgb7jgajjgoHjgotcbi8vIOOCteODoOODjeOCpOODq+OChOOCteOCpOODieODkOODvOODkeODvOODhOOBquOBqVxuQGNoYXJzZXQgXCJVVEYtOFwiO1xuQHVzZSBcIm1peGluXCIgYXMgKjtcblxuLmZhZGUtaW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzO1xuICBAaW5jbHVkZSB0b3AoNDAsNDApO1xuXG4gICYuc2hvdyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0b3A6IDA7XG4gIH1cbn1cblxuLmhvdmVyLWRvd24ge1xuICBAbWVkaWEgKHBvaW50ZXI6IGZpbmUpIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnM7XG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC40dncpO1xuICAgIH1cbiAgfVxufVxuXG4ubG9hZGluZyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAkcmVkO1xuICB6LWluZGV4OiA5OTk5O1xuXG4gICZfX2lubmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IHdpZHRoOiAzOTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7IHdpZHRoOiBjYWxjKDM5MCAvIDE5MjAgKiAxMDB2dyk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgd2lkdGg6IDM5MHB4OyB9XG4gIH1cblxuICAubWFpbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIG10KGYsMTcwKTtcbiAgICBAaW5jbHVkZSBtYig5MCw5MCk7XG4gICAgQGluY2x1ZGUgcGMge1xuICAgICAgbWFyZ2luLXRvcDogMzB2aDtcbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgQGluY2x1ZGUgdygyMTgsMjE4KTtcbiAgICAgIEBpbmNsdWRlIGxlZnQoNCw0KTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAmX19saXN0IHtcbiAgICBAaW5jbHVkZSBmbGV4KCk7XG4gICAgQGluY2x1ZGUgbWIoMTUsMTUpO1xuICAgIEBpbmNsdWRlIG1sKDY3LDY3KTtcbiAgICBAaW5jbHVkZSBnYXAoMTYsMTYsMTYsMTYpO1xuICAgIEBpbmNsdWRlIGgoNjAsNjApO1xuXG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIEBpbmNsdWRlIHcoNDAsNDApO1xuXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIEBpbmNsdWRlIHRvcCgtNSwtNSk7XG4gICAgICAgIEBpbmNsdWRlIGxlZnQoOCw4KTtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTRkZWcpO1xuICAgICAgICBAaW5jbHVkZSBsZWZ0KDIsMik7XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0zMmRlZyk7XG4gICAgICAgIEBpbmNsdWRlIHRvcCgtNCwtNCk7XG4gICAgICAgIEBpbmNsdWRlIGxlZnQoNyw3KTtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDUpIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE0ZGVnKTtcbiAgICAgICAgQGluY2x1ZGUgdG9wKC0zLC0zKTtcbiAgICAgICAgQGluY2x1ZGUgbGVmdCg0LDQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3RleHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgQGluY2x1ZGUgdygxMjcsMTI3KTtcbiAgICBAaW5jbHVkZSBsZWZ0KC0xOCwtMTgpO1xuXG4gICAgJl9fZG90IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgIEBpbmNsdWRlIGJvdHRvbSgxMiwxMik7XG4gICAgICBAaW5jbHVkZSB3KDUsNSk7XG4gICAgICBAaW5jbHVkZSBoKDUsNSk7XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgICBhbmltYXRpb246IHNob3cxIDFzIGluZmluaXRlO1xuICAgICAgICBAaW5jbHVkZSByaWdodCgtMTgsLTE4KTtcbiAgICAgIH1cbiAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICBhbmltYXRpb246IHNob3cyIDFzIGluZmluaXRlO1xuICAgICAgICBAaW5jbHVkZSByaWdodCgtMzEsLTMxKTtcbiAgICAgIH1cbiAgICAgICY6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICBhbmltYXRpb246IHNob3czIDFzIGluZmluaXRlO1xuICAgICAgICBAaW5jbHVkZSByaWdodCgtNDUsLTQ1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4ubW9kYWwtd3JhcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgZGlzcGxheTogbm9uZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDAwO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBiYWNrZ3JvdW5kOiByZ2JhKCMwNTA1MDUsMC44KTtcbn1cblxuLm1vZGFsLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDA7XG4gIGJhY2tncm91bmQ6ICRyZWQ7XG4gIHJpZ2h0OiAwO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgeyB3aWR0aDogNTVweDsgaGVpZ2h0OiA1NXB4OyB0b3A6IC01NXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7XG4gICAgd2lkdGg6IGNhbGMoNTUgLyAxOTIwICogMTAwdncpO1xuICAgIGhlaWdodDogY2FsYyg1NSAvIDE5MjAgKiAxMDB2dyk7XG4gICAgdG9wOiBjYWxjKC01NSAvIDE5MjAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHtcbiAgICB3aWR0aDogY2FsYyg1NSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoNTUgLyAzOTAgKiAxMDB2dyk7XG4gICAgdG9wOiBjYWxjKC01NSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHdpZHRoOiA1NXB4OyBoZWlnaHQ6IDU1cHg7IHRvcDogLTU1cHg7IH1cblxuICBzcGFuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDRweDsgbGVmdDogOHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45cHgpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDQwIC8gMTkyMCAqIDEwMHZ3KTtcbiAgICAgIGhlaWdodDogY2FsYyg0IC8gMTkyMCAqIDEwMHZ3KTtcbiAgICAgIGxlZnQ6IGNhbGMoOCAvIDE5MjAgKiAxMDB2dyk7XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7XG4gICAgICB3aWR0aDogY2FsYyg0MCAvIDM5MCAqIDEwMHZ3KTtcbiAgICAgIGhlaWdodDogY2FsYyg0IC8gMzkwICogMTAwdncpO1xuICAgICAgbGVmdDogY2FsYyg4IC8gMzkwICogMTAwdncpO1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDRweDsgbGVmdDogOHB4OyB9XG5cbiAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIC4ycztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIC4ycztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICB9XG59XG5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHsgd2lkdGg6IDk2MHB4OyBoZWlnaHQ6IDU0MHB4O31cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45cHgpIHtcbiAgICB3aWR0aDogY2FsYyg5NjAgLyAxOTIwICogMTAwdncpO1xuICAgIGhlaWdodDogY2FsYyg1NDAgLyAxOTIwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7XG4gICAgd2lkdGg6IGNhbGMoMzkwIC8gMzkwICogMTAwdncpO1xuICAgIGhlaWdodDogY2FsYygyMTkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogMzkwcHg7IGhlaWdodDogMjE5cHg7fVxuXG4gIGlmcmFtZSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IHdpZHRoOiA5NjBweDsgaGVpZ2h0OiA1NDBweDsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7XG4gICAgICB3aWR0aDogY2FsYyg5NjAgLyAxOTIwICogMTAwdncpO1xuICAgICAgaGVpZ2h0OiBjYWxjKDU0MCAvIDE5MjAgKiAxMDB2dyk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDEwIC8gMTkyMCAqIDEwMHZ3KTtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDM5MCAvIDM5MCAqIDEwMHZ3KTtcbiAgICAgIGhlaWdodDogY2FsYygyMTkgLyAzOTAgKiAxMDB2dyk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDEwIC8gMzkwICogMTAwdncpO1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHdpZHRoOiAzOTBweDsgaGVpZ2h0OiAyMTlweDsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICB9XG59XG5cbi50cmkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG5cbiAgJjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCguLi9pbWFnZXMvdHJpYW5nbGUuc3ZnKSBjZW50ZXIgdG9wIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IHdpZHRoOiAzMDZweDsgaGVpZ2h0OiAzMjFweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7IHdpZHRoOiBjYWxjKDMwNiAvIDE5MjAgKiAxMDB2dyk7IGhlaWdodDogY2FsYygzMjEgLyAxOTIwICogMTAwdncpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgd2lkdGg6IGNhbGMoMzA2IC8gMzkwICogMTAwdncpOyBoZWlnaHQ6IGNhbGMoMzIxIC8gMzkwICogMTAwdncpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogMzA2cHg7IGhlaWdodDogMzIxcHg7IH1cbiAgfVxufVxuXG4uci10cmkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuXG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vaW1hZ2VzL3ItdHJpYW5nbGUuc3ZnKSBjZW50ZXIgdG9wIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IHdpZHRoOiAzOTVweDsgaGVpZ2h0OiAxNzVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7IHdpZHRoOiBjYWxjKDM5NSAvIDE5MjAgKiAxMDB2dyk7IGhlaWdodDogY2FsYygxNzUgLyAxOTIwICogMTAwdncpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgd2lkdGg6IGNhbGMoMzk1IC8gMzkwICogMTAwdncpOyBoZWlnaHQ6IGNhbGMoMTc1IC8gMzkwICogMTAwdncpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogMzk1cHg7IGhlaWdodDogMTc1cHg7IH1cbiAgfVxufVxuXG4uZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IHdpZHRoOiAyODhweDsgaGVpZ2h0OiA0NHB4OyBsZWZ0OiAtNXB4OyBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7XG4gICAgd2lkdGg6IGNhbGMoMjg4IC8gMTkyMCAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoNDQgLyAxOTIwICogMTAwdncpO1xuICAgIGxlZnQ6IGNhbGMoLTUgLyAxOTIwICogMTAwdncpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoMTAgLyAxOTIwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7XG4gICAgd2lkdGg6IGNhbGMoMjg4IC8gMzkwICogMTAwdncpO1xuICAgIGhlaWdodDogY2FsYyg0NCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBsZWZ0OiBjYWxjKC01IC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoMTAgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogMjg4cHg7IGhlaWdodDogNDRweDsgbGVmdDogLTVweDsgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuXG4gICYuZ29sZCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IGhlaWdodDogNzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7IGhlaWdodDogY2FsYyg3MCAvIDE5MjAgKiAxMDB2dyk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyBoZWlnaHQ6IGNhbGMoNzAgLyAzOTAgKiAxMDB2dyk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IGhlaWdodDogNzBweDsgfVxuXG4gICAgYSxcbiAgICBidXR0b24ge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIGJvcmRlci1jb2xvcjogJGJsYWNrO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTAyLjI3ZGVnLCAjRjA1NTAyIDAuNzklLCAjRkZBNjAwIDEwLjcxJSwgI0YzRTYwMyAyMC43MyUsICNGRkZGRkYgMzEuMzIlLCAjRkZEMzI1IDQ4Ljc5JSwgI0ZGRkJFOSA3MC4zMSUsICNGRkQwMDAgODMuODUlLCAjRjA1NTAyIDk0Ljk0JSk7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgeyBoZWlnaHQ6IDcwcHg7IGZvbnQtc2l6ZTogMjBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45cHgpIHsgaGVpZ2h0OiBjYWxjKDcwIC8gMTkyMCAqIDEwMHZ3KTsgZm9udC1zaXplOiBjYWxjKDIwIC8gMTkyMCAqIDEwMHZ3KTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgaGVpZ2h0OiBjYWxjKDcwIC8gMzkwICogMTAwdncpOyBmb250LXNpemU6IGNhbGMoMjAgLyAzOTAgKiAxMDB2dyk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgaGVpZ2h0OiA3MHB4OyBmb250LXNpemU6IDIwcHg7IH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBhbmltYXRpb246IDRzIHNoaW5lIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1NSwyNTUsMjU1LDApIDI1JSwgcmdiYSgyNTUsMjU1LDI1NSwuNikgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDc1JSk7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IC0xMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMTVkZWcpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IGhlaWdodDogNzBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45cHgpIHsgaGVpZ2h0OiBjYWxjKDcwIC8gMTkyMCAqIDEwMHZ3KTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgaGVpZ2h0OiBjYWxjKDcwIC8gMzkwICogMTAwdncpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IGhlaWdodDogNzBweDsgfVxuICAgIH1cbiAgfVxuXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIEBtZWRpYSAocG9pbnRlcjogZmluZSkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIHRvcCg1LDUpO1xuICAgICAgICBAaW5jbHVkZSBsZWZ0KDQsNCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogMnB4O1xuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICB3aWR0aDogMjkycHg7XG4gICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5LjlweCkge1xuICAgICAgcGFkZGluZy10b3A6IGNhbGMoMiAvIDE5MjAgKiAxMDB2dyk7XG4gICAgICBib3JkZXItd2lkdGg6IGNhbGMoMiAvIDE5MjAgKiAxMDB2dyk7XG4gICAgICB3aWR0aDogY2FsYygyOTIgLyAxOTIwICogMTAwdncpO1xuICAgICAgaGVpZ2h0OiBjYWxjKDQ4IC8gMTkyMCAqIDEwMHZ3KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoMTAgLyAxOTIwICogMTAwdncpO1xuICAgICAgZm9udC1zaXplOiBjYWxjKDE1IC8gMTkyMCAqIDEwMHZ3KTtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDIgLyAzOTAgKiAxMDB2dyk7XG4gICAgICBib3JkZXItd2lkdGg6IGNhbGMoMiAvIDM5MCAqIDEwMHZ3KTtcbiAgICAgIHdpZHRoOiBjYWxjKDI5MiAvIDM5MCAqIDEwMHZ3KTtcbiAgICAgIGhlaWdodDogY2FsYyg0OCAvIDM5MCAqIDEwMHZ3KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoMTAgLyAzOTAgKiAxMDB2dyk7XG4gICAgICBmb250LXNpemU6IGNhbGMoMTUgLyAzOTAgKiAxMDB2dyk7XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAycHg7XG4gICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgIHdpZHRoOiAyOTJweDtcbiAgICAgIGhlaWdodDogNDhweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgfVxuICB9XG5cbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICB6LWluZGV4OiAtMTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgeyB3aWR0aDogMjkycHg7IGhlaWdodDogNDhweDsgYm9yZGVyLXJhZGl1czogMTBweDsgdG9wOiAzcHg7IGxlZnQ6IDRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7XG4gICAgICB3aWR0aDogY2FsYygyOTIgLyAxOTIwICogMTAwdncpO1xuICAgICAgaGVpZ2h0OiBjYWxjKDQ4IC8gMTkyMCAqIDEwMHZ3KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoMTAgLyAxOTIwICogMTAwdncpO1xuICAgICAgdG9wOiBjYWxjKDMgLyAxOTIwICogMTAwdncpO1xuICAgICAgbGVmdDogY2FsYyg0IC8gMTkyMCAqIDEwMHZ3KTtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI5MiAvIDM5MCAqIDEwMHZ3KTtcbiAgICAgIGhlaWdodDogY2FsYyg0OCAvIDM5MCAqIDEwMHZ3KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoMTAgLyAzOTAgKiAxMDB2dyk7XG4gICAgICB0b3A6IGNhbGMoMyAvIDM5MCAqIDEwMHZ3KTtcbiAgICAgIGxlZnQ6IGNhbGMoNCAvIDM5MCAqIDEwMHZ3KTtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogMjkycHg7IGhlaWdodDogNDhweDsgYm9yZGVyLXJhZGl1czogMTBweDsgdG9wOiAzcHg7IGxlZnQ6IDRweDsgfVxuICB9XG59XG5cblxuXG5cbiIsIi8vIOOCouODi+ODoeODvOOCt+ODp+ODs+WItuW+oeWRqOOCilxuQGNoYXJzZXQgXCJVVEYtOFwiO1xuQHVzZSBcIi4vbWl4aW5cIiBhcyAqO1xuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpOyB9XG4gIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwJSk7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7IH1cbn1cblxuQGtleWZyYW1lcyBzaGluZSB7XG4gIDEwJSB7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSkgcm90YXRlKDBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZSgtMzYwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNwaW4tcmV2ZXJzZSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSkgcm90YXRlKDBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2hvdzEge1xuICAwJSwgMjAlIHsgb3BhY2l0eTogMDsgfVxuICAyMSUsIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbkBrZXlmcmFtZXMgc2hvdzIge1xuICAwJSwgNDAlIHsgb3BhY2l0eTogMDsgfVxuICA0MSUsIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbkBrZXlmcmFtZXMgc2hvdzMge1xuICAwJSwgNjAlIHsgb3BhY2l0eTogMDsgfVxuICA2MSUsIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbkBrZXlmcmFtZXMgaW5maW5pdHktc2Nyb2xsLWxlZnQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxufVxuLy8g44Oh44OH44Kj44Ki44Kv44Ko44Oq44Gu44OW44Os44Kk44Kv44Od44Kk44Oz44OI44KS5aSJ5pWw5YyWXG4vLyDjg6Hjg4fjgqPjgqLjgq/jgqjjg6rjga7jg5bjg6zjgqTjgq/jg53jgqTjg7Pjg4jjgpLlpInmlbDljJZcbiRicmVha3BvaW50czogKFxuICBzcDogXCIobWF4LXdpZHRoOiA2MzlweClcIixcbiAgdGFibGV0OiBcIihtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpXCIsXG4gIG1pZDogXCIobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxNDM5cHgpXCIsXG4gIGJpZzogXCIobWluLXdpZHRoOiAxNDQwcHgpXCJcbik7XG5cbi8vIOWkieaVsOOBp1nou7jjga7np7vli5XlgKTjgpLoqK3lrppcbiR0cmFuc2xhdGUtdmFsdWVzOiAoXG4gIHNwOiBmaXRzcCgxNSksXG4gIHRhYmxldDogMTVweCxcbiAgbWlkOiBmaXQoMTUpLFxuICBiaWc6IDE1cHhcbik7XG5cblxuLy8g44Ki44OL44Oh44O844K344On44Oz44GubWl4aW7ljJZcbkBtaXhpbiBmYWRlaW4tYW5pbWF0aW9uKCR0cmFuc2xhdGUteSkge1xuICBAa2V5ZnJhbWVzIGZhZGVpbiB7XG4gICAgMCUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkdHJhbnNsYXRlLXkpO1xuICAgIH1cbiAgICA3NSUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgfVxuICB9XG59XG5cblxuQGVhY2ggJGJyZWFrcG9pbnQsICRtZWRpYSBpbiAkYnJlYWtwb2ludHMge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRtZWRpYX0ge1xuICAgIEBpbmNsdWRlIGZhZGVpbi1hbmltYXRpb24obWFwLWdldCgkdHJhbnNsYXRlLXZhbHVlcywgJGJyZWFrcG9pbnQpKTtcbiAgfVxufVxuXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG4vLyDlhajkvZPlhbHpgJrjga7jgoLjga7jgarjganjga/jgZPjgZPjgavjgb7jgajjgoHjgotcbi8vIOODmOODg+ODgOODu+ODleODg+OCv+OBquOBqVxuQHVzZSBcIm1peGluXCIgYXMgKjtcblxuXG4vKiDln7rmnKzjga7jg6zjgrnjg53jg7Pjgrfjg5ZcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAoMTQ0MHB4KSkge1xuICAgICAgOiBweDtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogKDEwMjRweCkpIGFuZCAobWF4LXdpZHRoOiAoMTQzOS45cHgpKSB7XG4gICAgICA6IGNhbGMoJHZhbHVlIC8gMTQ0MCkgKiAxMDAgKyB2dztcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogKDEwMjRweCkpIHtcbiAgICAgIDogY2FsYygkdmFsdWUgLyAzOTUpICogMTAwICsgdnc7XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHtcbiAgICAgIDogcHg7XG4gICAgfVxuKi9cbi5wLXJlZ2lzdHJhdGlvbiB7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgaW5wdXQsc2VsZWN0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2IoMTE4LCAxMTgsIDExOCk7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB9XG5cbiAgLnNpdGUtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjRUQxQzI0IDEwJSwgI0U0NDMyNSA4OS45JSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHsgcGFkZGluZy10b3A6IDk1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5LjlweCkgeyBwYWRkaW5nLXRvcDogY2FsYyg5NSAvIDE5MjAgKiAxMDB2dyk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyBwYWRkaW5nLXRvcDogY2FsYyg5NSAvIDM5MCAqIDEwMHZ3KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgcGFkZGluZy10b3A6IDk1cHg7IH1cbiAgfVxuXG4gICZfX2Vycm9yIHtcbiAgICBAaW5jbHVkZSBtdCg1LDUpO1xuICAgIEBpbmNsdWRlIGYoMTgsMTgpO1xuICB9XG5cbiAgJl9fZXJyb3ItdGV4dCB7XG4gICAgQGluY2x1ZGUgbXQoNDAsNDApO1xuICAgIHAge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBmKDE4LDE4KTtcbiAgICAgIEBpbmNsdWRlIG1iKDIwLDIwKTtcbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IHdpZHRoOiAxOTBweDsgbWFyZ2luLWJvdHRvbTogMjJweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7IHdpZHRoOiBjYWxjKDE5MCAvIDE5MjAgKiAxMDB2dyk7IG1hcmdpbi1ib3R0b206IGNhbGMoMjIgLyAxOTIwICogMTAwdncpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgd2lkdGg6IGNhbGMoMTkwIC8gMzkwICogMTAwdncpOyBtYXJnaW4tYm90dG9tOiBjYWxjKDIyIC8gMzkwICogMTAwdncpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogMTkwcHg7IG1hcmdpbi1ib3R0b206IDIycHg7IH1cblxuICAgICYuLWVycm9yIHtcbiAgICAgIEBpbmNsdWRlIHcoOTIsOTIpO1xuICAgIH1cbiAgfVxuXG4gICZfX3N0ZXBzIHtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IGZvbnQtc2l6ZTogMTJweDsgbWFyZ2luLWJvdHRvbTogNzJweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7IGZvbnQtc2l6ZTogY2FsYygxMiAvIDE5MjAgKiAxMDB2dyk7IG1hcmdpbi1ib3R0b206IGNhbGMoNzIgLyAxOTIwICogMTAwdncpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgZm9udC1zaXplOiBjYWxjKDEyIC8gMzkwICogMTAwdncpOyBtYXJnaW4tYm90dG9tOiBjYWxjKDcyIC8gMzkwICogMTAwdncpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyBmb250LXNpemU6IDEycHg7IG1hcmdpbi1ib3R0b206IDcycHg7IH1cblxuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbG9yOiAkZm9ybS1yZWQ7XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAmOmFmdGVyLFxuICAgICAgICAmOmJlZm9yZSB7IGJhY2tncm91bmQ6ICR3aGl0ZTsgfVxuICAgICAgfVxuXG4gICAgICAmOmFmdGVyLFxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZDogJGZvcm0tcmVkO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgeyBoZWlnaHQ6IDJweDsgYm90dG9tOiAtMTFweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5LjlweCkgeyBoZWlnaHQ6IGNhbGMoMiAvIDE5MjAgKiAxMDB2dyk7IGJvdHRvbTogY2FsYygtMTEgLyAxOTIwICogMTAwdncpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IGhlaWdodDogY2FsYygyIC8gMzkwICogMTAwdncpOyBib3R0b206IGNhbGMoLTExIC8gMzkwICogMTAwdncpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgaGVpZ2h0OiAycHg7IGJvdHRvbTogLTExcHg7IH1cbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IHdpZHRoOiAxMHB4OyBoZWlnaHQ6IDEwcHg7IGJvdHRvbTogLTE1cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45cHgpIHsgd2lkdGg6IGNhbGMoMTAgLyAxOTIwICogMTAwdncpOyBoZWlnaHQ6IGNhbGMoMTAgLyAxOTIwICogMTAwdncpOyBib3R0b206IGNhbGMoLTE1IC8gMTkyMCAqIDEwMHZ3KTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogY2FsYygxMCAvIDM5MCAqIDEwMHZ3KTsgaGVpZ2h0OiBjYWxjKDEwIC8gMzkwICogMTAwdncpOyBib3R0b206IGNhbGMoLTE1IC8gMzkwICogMTAwdncpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgd2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDsgYm90dG9tOiAtMTVweDsgfVxuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICY6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgeyBtYXJnaW4tbGVmdDogMTVweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5LjlweCkgeyBtYXJnaW4tbGVmdDogY2FsYygxNSAvIDE5MjAgKiAxMDB2dyk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgbWFyZ2luLWxlZnQ6IGNhbGMoMTUgLyAzOTAgKiAxMDB2dyk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyBtYXJnaW4tbGVmdDogMTVweDsgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHsgd2lkdGg6IDkwcHg7IGxlZnQ6IC01M3B4OyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45cHgpIHsgd2lkdGg6IGNhbGMoOTAgLyAxOTIwICogMTAwdncpOyBsZWZ0OiBjYWxjKC01MyAvIDE5MjAgKiAxMDB2dyk7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogY2FsYyg5MCAvIDM5MCAqIDEwMHZ3KTsgbGVmdDogY2FsYygtNTMgLyAzOTAgKiAxMDB2dyk7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHdpZHRoOiA5MHB4OyBsZWZ0OiAtNTNweDsgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IG1hcmdpbi1sZWZ0OiA0MHB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7IG1hcmdpbi1sZWZ0OiBjYWxjKDQwIC8gMTkyMCAqIDEwMHZ3KTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyBtYXJnaW4tbGVmdDogY2FsYyg0MCAvIDM5MCAqIDEwMHZ3KTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IG1hcmdpbi1sZWZ0OiA0MHB4OyB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgeyB3aWR0aDogODVweDsgbGVmdDogLTc0cHg7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5LjlweCkgeyB3aWR0aDogY2FsYyg4NSAvIDE5MjAgKiAxMDB2dyk7IGxlZnQ6IGNhbGMoLTc0IC8gMTkyMCAqIDEwMHZ3KTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHdpZHRoOiBjYWxjKDg1IC8gMzkwICogMTAwdncpOyBsZWZ0OiBjYWxjKC03NCAvIDM5MCAqIDEwMHZ3KTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgd2lkdGg6IDg1cHg7IGxlZnQ6IC03NHB4OyB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHsgbWFyZ2luLWxlZnQ6IDYycHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45cHgpIHsgbWFyZ2luLWxlZnQ6IGNhbGMoNjIgLyAxOTIwICogMTAwdncpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IG1hcmdpbi1sZWZ0OiBjYWxjKDYyIC8gMzkwICogMTAwdncpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgbWFyZ2luLWxlZnQ6IDYycHg7IH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IHdpZHRoOiA4NXB4OyBsZWZ0OiAtNzRweDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7IHdpZHRoOiBjYWxjKDg1IC8gMTkyMCAqIDEwMHZ3KTsgbGVmdDogY2FsYygtNzQgLyAxOTIwICogMTAwdncpOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgd2lkdGg6IGNhbGMoODUgLyAzOTAgKiAxMDB2dyk7IGxlZnQ6IGNhbGMoLTc0IC8gMzkwICogMTAwdncpOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogODVweDsgbGVmdDogLTc0cHg7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2Zvcm0tZ3JvdXAge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgeyB3aWR0aDogMzU0cHg7IG1hcmdpbi1ib3R0b206IDE4cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5LjlweCkgeyB3aWR0aDogY2FsYygzNTQgLyAxOTIwICogMTAwdncpOyBtYXJnaW4tYm90dG9tOiBjYWxjKDE4IC8gMTkyMCAqIDEwMHZ3KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHdpZHRoOiBjYWxjKDM1NCAvIDM5MCAqIDEwMHZ3KTsgbWFyZ2luLWJvdHRvbTogY2FsYygxOCAvIDM5MCAqIDEwMHZ3KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgd2lkdGg6IDM1NHB4OyBtYXJnaW4tYm90dG9tOiAxOHB4OyB9XG5cbiAgICAmLnppcCB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHsgbWFyZ2luLXRvcDogNzNweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45cHgpIHsgbWFyZ2luLXRvcDogY2FsYyg3MyAvIDE5MjAgKiAxMDB2dyk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IG1hcmdpbi10b3A6IGNhbGMoNzMgLyAzOTAgKiAxMDB2dyk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgbWFyZ2luLXRvcDogNzNweDsgfVxuICAgIH1cbiAgfVxuXG4gICZfX2Zvcm0tYm94IHtcbiAgICAucC1yZWdpc3RyYXRpb25fX2lucHV0LFxuICAgIHNlbGVjdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IG1pbi1oZWlnaHQ6IDUycHg7IHBhZGRpbmctbGVmdDogMTRweDsgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5LjlweCkgeyBtaW4taGVpZ2h0OiBjYWxjKDUyIC8gMTkyMCAqIDEwMHZ3KTsgcGFkZGluZy1sZWZ0OiBjYWxjKDE0IC8gMTkyMCAqIDEwMHZ3KTsgZm9udC1zaXplOiBjYWxjKDE4IC8gMTkyMCAqIDEwMHZ3KTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgbWluLWhlaWdodDogY2FsYyg1MiAvIDM5MCAqIDEwMHZ3KTsgcGFkZGluZy1sZWZ0OiBjYWxjKDE0IC8gMzkwICogMTAwdncpOyBmb250LXNpemU6IGNhbGMoMTggLyAzOTAgKiAxMDB2dyk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgbWluLWhlaWdodDogNTJweDsgcGFkZGluZy1sZWZ0OiAxNHB4OyBmb250LXNpemU6IDE4cHg7IH1cblxuICAgICAgJjpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cbiAgICB9XG5cbiAgICAuc2VsZWN0LXdyYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkZ2xheTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRnbGF5O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IHRvcDogMTRweDsgcmlnaHQ6IDI2cHg7IHdpZHRoOiAxMnB4OyBoZWlnaHQ6IDEycHg7IGJvcmRlci13aWR0aDogNHB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7XG4gICAgICAgICAgdG9wOiBjYWxjKDE0IC8gMTkyMCAqIDEwMHZ3KTtcbiAgICAgICAgICByaWdodDogY2FsYygyNiAvIDE5MjAgKiAxMDB2dyk7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTIgLyAxOTIwICogMTAwdncpO1xuICAgICAgICAgIGhlaWdodDogY2FsYygxMiAvIDE5MjAgKiAxMDB2dyk7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiBjYWxjKDQgLyAxOTIwICogMTAwdncpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7XG4gICAgICAgICAgdG9wOiBjYWxjKDE0IC8gMzkwICogMTAwdncpO1xuICAgICAgICAgIHJpZ2h0OiBjYWxjKDI2IC8gMzkwICogMTAwdncpO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEyIC8gMzkwICogMTAwdncpO1xuICAgICAgICAgIGhlaWdodDogY2FsYygxMiAvIDM5MCAqIDEwMHZ3KTtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IGNhbGMoNCAvIDM5MCAqIDEwMHZ3KTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHRvcDogMTRweDsgcmlnaHQ6IDI2cHg7IHdpZHRoOiAxMnB4OyBoZWlnaHQ6IDEycHg7IGJvcmRlci13aWR0aDogNHB4OyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IGZvbnQtc2l6ZTogMThweDsgbWFyZ2luLWJvdHRvbTogM3B4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45cHgpIHsgZm9udC1zaXplOiBjYWxjKDE4IC8gMTkyMCAqIDEwMHZ3KTsgbWFyZ2luLWJvdHRvbTogY2FsYygzIC8gMTkyMCAqIDEwMHZ3KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IGZvbnQtc2l6ZTogY2FsYygxOCAvIDM5MCAqIDEwMHZ3KTsgbWFyZ2luLWJvdHRvbTogY2FsYygzIC8gMzkwICogMTAwdncpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyBmb250LXNpemU6IDE4cHg7IG1hcmdpbi1ib3R0b206IDNweDsgfVxuXG4gICAgc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yZWQ7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgeyBwYWRkaW5nOiAycHg7IGZvbnQtc2l6ZTogMTNweDsgbWFyZ2luLWxlZnQ6IDNweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45cHgpIHsgcGFkZGluZzogY2FsYygyIC8gMTkyMCAqIDEwMHZ3KTsgZm9udC1zaXplOiBjYWxjKDEzIC8gMTkyMCAqIDEwMHZ3KTsgbWFyZ2luLWxlZnQ6IGNhbGMoMyAvIDE5MjAgKiAxMDB2dyk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHBhZGRpbmc6IGNhbGMoMiAvIDM5MCAqIDEwMHZ3KTsgZm9udC1zaXplOiBjYWxjKDEzIC8gMzkwICogMTAwdncpOyBtYXJnaW4tbGVmdDogY2FsYygzIC8gMzkwICogMTAwdncpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHBhZGRpbmc6IDJweDsgZm9udC1zaXplOiAxM3B4OyBtYXJnaW4tbGVmdDogM3B4OyB9XG4gICAgfVxuXG4gIH1cblxuICBwLnAtcmVnaXN0cmF0aW9uX19pbnB1dCB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gICZfX2NvbmZpcm0tcGljdHVyZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG10KDM2LDM2KTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgeyB3aWR0aDogMzU0cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5LjlweCkgeyB3aWR0aDogY2FsYygzNTQgLyAxOTIwICogMTAwdncpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgd2lkdGg6IGNhbGMoMzU0IC8gMzkwICogMTAwdncpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogMzU0cHg7IH1cblxuICAgIGltZyB7XG4gICAgICBAaW5jbHVkZSBtYigzNiwzNik7XG4gICAgfVxuICB9XG5cbiAgJl9fZGVzY3JpcHRpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgeyBmb250LXNpemU6IDE0cHg7IG1hcmdpbi1ib3R0b206IDQ1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5LjlweCkgeyBmb250LXNpemU6IGNhbGMoMTQgLyAxOTIwICogMTAwdncpOyBtYXJnaW4tYm90dG9tOiBjYWxjKDQ1IC8gMTkyMCAqIDEwMHZ3KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IGZvbnQtc2l6ZTogY2FsYygxNCAvIDM5MCAqIDEwMHZ3KTsgbWFyZ2luLWJvdHRvbTogY2FsYyg0NSAvIDM5MCAqIDEwMHZ3KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgZm9udC1zaXplOiAxNHB4OyBtYXJnaW4tYm90dG9tOiA0NXB4OyB9XG5cbiAgICAmLi1zaG9vdCB7XG4gICAgICBsaW5lLWhlaWdodDogMS4xO1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHsgZm9udC1zaXplOiAxN3B4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5LjlweCkgeyBmb250LXNpemU6IGNhbGMoMTcgLyAxOTIwICogMTAwdncpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyBmb250LXNpemU6IGNhbGMoMTcgLyAzOTAgKiAxMDB2dyk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgZm9udC1zaXplOiAxN3B4OyB9XG4gICAgfVxuICB9XG5cbiAgJl9fdXBsb2FkcyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IHdpZHRoOiAzNTRweDsgbWFyZ2luLXRvcDogMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7IHdpZHRoOiBjYWxjKDM1NCAvIDE5MjAgKiAxMDB2dyk7IG1hcmdpbi10b3A6IGNhbGMoMzAgLyAxOTIwICogMTAwdncpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgd2lkdGg6IGNhbGMoMzU0IC8gMzkwICogMTAwdncpOyBtYXJnaW4tdG9wOiBjYWxjKDMwIC8gMzkwICogMTAwdncpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogMzU0cHg7IG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgfVxuXG4gICZfX3VwbG9hZC1pbWcgeyBkaXNwbGF5OiBub25lOyB9XG4gICZfX3VwbG9hZC1pbWc6bGFzdC1jaGlsZCB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgJl9fdXBsb2FkLWxhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgQGluY2x1ZGUgZigxOCwxOCk7XG4gICAgQGluY2x1ZGUgbWIoNSw1KTtcbiAgfVxuXG4gICZfX2Nsb3NlLWJ0biB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAuYnRucyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IHdpZHRoOiAzNTRweDsgbWFyZ2luLXRvcDogNzJweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7IHdpZHRoOiBjYWxjKDM1NCAvIDE5MjAgKiAxMDB2dyk7IG1hcmdpbi10b3A6IGNhbGMoNzIgLyAxOTIwICogMTAwdncpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgd2lkdGg6IGNhbGMoMzU0IC8gMzkwICogMTAwdncpOyBtYXJnaW4tdG9wOiBjYWxjKDcyIC8gMzkwICogMTAwdncpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogMzU0cHg7IG1hcmdpbi10b3A6IDcycHg7IH1cblxuICAgIC5idG4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHsgd2lkdGg6IDM1MXB4OyBoZWlnaHQ6IDUwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7IHdpZHRoOiBjYWxjKDM1MSAvIDE5MjAgKiAxMDB2dyk7IGhlaWdodDogY2FsYyg1MCAvIDE5MjAgKiAxMDB2dyk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHdpZHRoOiBjYWxjKDM1MSAvIDM5MCAqIDEwMHZ3KTsgaGVpZ2h0OiBjYWxjKDUwIC8gMzkwICogMTAwdncpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHdpZHRoOiAzNTFweDsgaGVpZ2h0OiA1MHB4OyB9XG5cbiAgICAgICY6YWZ0ZXIgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyB9XG5cbiAgICAgICYuc2hvb3Qge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBAaW5jbHVkZSB3KDIzLDIzKTtcbiAgICAgICAgICBAaW5jbHVkZSBtdCg1LDUpO1xuICAgICAgICAgIEBpbmNsdWRlIG1yKDgsOCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYSxcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHsgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7IGZvbnQtc2l6ZTogY2FsYygxOCAvIDE5MjAgKiAxMDB2dyk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgZm9udC1zaXplOiBjYWxjKDE4IC8gMzkwICogMTAwdncpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgZm9udC1zaXplOiAxOHB4OyB9XG5cbiAgICAgIH1cblxuICAgICAgJi5idG4tbmV4dCB7XG4gICAgICAgIEBpbmNsdWRlIG10KDQwLDQwKTtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IG1hcmdpbi1ib3R0b206IDc1cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45cHgpIHsgbWFyZ2luLWJvdHRvbTogY2FsYyg3NSAvIDE5MjAgKiAxMDB2dyk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgbWFyZ2luLWJvdHRvbTogY2FsYyg3NSAvIDM5MCAqIDEwMHZ3KTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IG1hcmdpbi1ib3R0b206IDc1cHg7IH1cblxuICAgICAgICAmOmFmdGVyIHsgYmFja2dyb3VuZDogJGZvcm0tcmVkOyB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgeyB3aWR0aDogMjdweDsgaGVpZ2h0OiAyN3B4OyB0b3A6IDEycHg7IHJpZ2h0OiAxOXB4OyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45cHgpIHsgd2lkdGg6IGNhbGMoMjcgLyAxOTIwICogMTAwdncpOyBoZWlnaHQ6IGNhbGMoMjcgLyAxOTIwICogMTAwdncpOyB0b3A6IGNhbGMoMTIgLyAxOTIwICogMTAwdncpOyByaWdodDogY2FsYygxOSAvIDE5MjAgKiAxMDB2dyk7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogY2FsYygyNyAvIDM5MCAqIDEwMHZ3KTsgaGVpZ2h0OiBjYWxjKDI3IC8gMzkwICogMTAwdncpOyB0b3A6IGNhbGMoMTIgLyAzOTAgKiAxMDB2dyk7IHJpZ2h0OiBjYWxjKDE5IC8gMzkwICogMTAwdncpOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogMjdweDsgaGVpZ2h0OiAyN3B4OyB0b3A6IDEycHg7IHJpZ2h0OiAxOXB4OyB9XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tcmVkO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICBjb2xvcjogJGZvcm0tcmVkO1xuXG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IHBhZGRpbmctcmlnaHQ6IDIycHg7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5LjlweCkgeyBwYWRkaW5nLXJpZ2h0OiBjYWxjKDIyIC8gMTkyMCAqIDEwMHZ3KTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHBhZGRpbmctcmlnaHQ6IGNhbGMoMjIgLyAzOTAgKiAxMDB2dyk7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IHBhZGRpbmctcmlnaHQ6IDIycHg7IH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmJhY2sge1xuICAgICAgICBAaW5jbHVkZSBtdCg0MCw0MCk7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcblxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgeyB3aWR0aDogMjdweDsgaGVpZ2h0OiAyN3B4OyB0b3A6IDEycHg7IGxlZnQ6IDE5cHg7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5LjlweCkgeyB3aWR0aDogY2FsYygyNyAvIDE5MjAgKiAxMDB2dyk7IGhlaWdodDogY2FsYygyNyAvIDE5MjAgKiAxMDB2dyk7IHRvcDogY2FsYygxMiAvIDE5MjAgKiAxMDB2dyk7IGxlZnQ6IGNhbGMoMTkgLyAxOTIwICogMTAwdncpOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgd2lkdGg6IGNhbGMoMjcgLyAzOTAgKiAxMDB2dyk7IGhlaWdodDogY2FsYygyNyAvIDM5MCAqIDEwMHZ3KTsgdG9wOiBjYWxjKDEyIC8gMzkwICogMTAwdncpOyBsZWZ0OiBjYWxjKDE5IC8gMzkwICogMTAwdncpOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogMjdweDsgaGVpZ2h0OiAyN3B4OyB0b3A6IDEycHg7IGxlZnQ6IDE5cHg7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEsXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGZvcm0tcmVkO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYnRuLW5leHQtc3RlcDIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICYuc2hvdyB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLngtYnRuIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgeyBtYXJnaW4tYm90dG9tOiA3MHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5LjlweCkgeyBtYXJnaW4tYm90dG9tOiBjYWxjKDcwIC8gMTkyMCAqIDEwMHZ3KTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgbWFyZ2luLWJvdHRvbTogY2FsYyg3MCAvIDM5MCAqIDEwMHZ3KTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyBtYXJnaW4tYm90dG9tOiA3MHB4OyB9XG5cbiAgICAgIC5wLXJlZ2lzdHJhdGlvbl9faW5wdXQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCxjZW50ZXIpO1xuICAgICAgICBAaW5jbHVkZSBtYigxMCwxMCk7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IG1pbi1oZWlnaHQ6IDUycHg7IHBhZGRpbmctbGVmdDogMTRweDsgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7IG1pbi1oZWlnaHQ6IGNhbGMoNTIgLyAxOTIwICogMTAwdncpOyBwYWRkaW5nLWxlZnQ6IGNhbGMoMTQgLyAxOTIwICogMTAwdncpOyBmb250LXNpemU6IGNhbGMoMTggLyAxOTIwICogMTAwdncpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IG1pbi1oZWlnaHQ6IGNhbGMoNTIgLyAzOTAgKiAxMDB2dyk7IHBhZGRpbmctbGVmdDogY2FsYygxNCAvIDM5MCAqIDEwMHZ3KTsgZm9udC1zaXplOiBjYWxjKDE4IC8gMzkwICogMTAwdncpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgbWluLWhlaWdodDogNTJweDsgcGFkZGluZy1sZWZ0OiAxNHB4OyBmb250LXNpemU6IDE4cHg7IH1cbiAgICAgIH1cblxuICAgICAgJl9faGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgeyBmb250LXNpemU6IDE4cHg7IG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5LjlweCkgeyBmb250LXNpemU6IGNhbGMoMTggLyAxOTIwICogMTAwdncpOyBtYXJnaW4tYm90dG9tOiBjYWxjKDUgLyAxOTIwICogMTAwdncpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IGZvbnQtc2l6ZTogY2FsYygxOCAvIDM5MCAqIDEwMHZ3KTsgbWFyZ2luLWJvdHRvbTogY2FsYyg1IC8gMzkwICogMTAwdncpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgZm9udC1zaXplOiAxOHB4OyBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBjb2xvcjogJGZvcm0tcmVkO1xuXG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IGZvbnQtc2l6ZTogMTNweDsgbWFyZ2luLWxlZnQ6IDNweDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOXB4KSB7IGZvbnQtc2l6ZTogY2FsYygxMyAvIDE5MjAgKiAxMDB2dyk7IG1hcmdpbi1sZWZ0OiBjYWxjKDMgLyAxOTIwICogMTAwdncpOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgZm9udC1zaXplOiBjYWxjKDEzIC8gMzkwICogMTAwdncpOyBtYXJnaW4tbGVmdDogY2FsYygzIC8gMzkwICogMTAwdncpOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyBmb250LXNpemU6IDEzcHg7IG1hcmdpbi1sZWZ0OiAzcHg7IH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYnRuIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45cHgpIHsgbWFyZ2luLWJvdHRvbTogY2FsYygxNiAvIDE5MjAgKiAxMDB2dyk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgbWFyZ2luLWJvdHRvbTogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IG1hcmdpbi1ib3R0b206IDE2cHg7IH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6IDA7XG5cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHsgd2lkdGg6IDQwcHg7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5LjlweCkgeyB3aWR0aDogY2FsYyg0MCAvIDE5MjAgKiAxMDB2dyk7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyB3aWR0aDogY2FsYyg0MCAvIDM5MCAqIDEwMHZ3KTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgd2lkdGg6IDQwcHg7IH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7IGZvbnQtc2l6ZTogMTVweDsgbWFyZ2luLWxlZnQ6IDE3cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45cHgpIHsgZm9udC1zaXplOiBjYWxjKDE1IC8gMTkyMCAqIDEwMHZ3KTsgbWFyZ2luLWxlZnQ6IGNhbGMoMTcgLyAxOTIwICogMTAwdncpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSB7IGZvbnQtc2l6ZTogY2FsYygxNSAvIDM5MCAqIDEwMHZ3KTsgbWFyZ2luLWxlZnQ6IGNhbGMoMTcgLyAzOTAgKiAxMDB2dyk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkgeyBmb250LXNpemU6IDE1cHg7IG1hcmdpbi1sZWZ0OiAxN3B4OyB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZm9vdGVyI3NpdGUtZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgeyBwYWRkaW5nLXRvcDogMTI1cHg7IHBhZGRpbmctYm90dG9tOiA1NXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45cHgpIHsgcGFkZGluZy10b3A6IGNhbGMoMTI1IC8gMTkyMCAqIDEwMHZ3KTsgcGFkZGluZy1ib3R0b206IGNhbGMoNTUgLyAxOTIwICogMTAwdncpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgcGFkZGluZy10b3A6IGNhbGMoMTI1IC8gMzkwICogMTAwdncpOyBwYWRkaW5nLWJvdHRvbTogY2FsYyg1NSAvIDM5MCAqIDEwMHZ3KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMTAyMy45cHgpIHsgcGFkZGluZy10b3A6IDEyNXB4OyBwYWRkaW5nLWJvdHRvbTogNTVweDsgfVxuICB9XG59XG5cbi8qIHBhZ2UtaW5wdXQgKi9cbmJvZHkjcGFnZS1pbnB1dCB7XG4gIC5zaXRlLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgI21haW4tY29udGFpbmVyIHsgLyog56m677ya44Gd44Gu44G+44G+ICovIH1cbiAgfVxufVxuXG5cbiIsIi8qXG7jgJDjgrPjg7zjg4nopo/ntITjgJFcblxu44O7aW5uZXLjga8xMjgwcHjnnJ/jgpPkuK3lr4TjgZvjgpLmjIfjgZnjgIIuaW5uZXLjgpLjg5rjg7zjgrjjgrnjgr/jgqTjg6vjga7mp4vpgKDlrZDjgajjgZfjgabjgIHjgrnjgr/jgqTjg6vjgpLkuI7jgYjjgZ/jgorjgZfjgabjga/jgYTjgZHjgarjgYTjgIJcbuODu2ZsZXjjga8gQGluY2x1ZGUgZmxleOOBp+iomOi/sOOBmeOCi1xu44O7Zm9udC1zaXplLCBmb250LXdlaWdodCwgbGluZS1oZWlnaHQsIHRleHQtYWxpZ24sIHBvc2l0aW9u44Gv5aSn5paH5a2XQ0xBU1PjgafoqJjov7DjgZnjgovjgIIoX21vZHVsZS5zY3Nz5Y+C54WnKVxu4oaSIEYxMSBTRjEyIEwxNSBCIFRBQy1QQyBUQVItU1AgQUJcbuODu+iJsuOBr+OBmeOBueOBpuWkieaVsOWMluOBmeOCi+OAglxu44O75Y+v6IO944Gq6ZmQ44KK44Oa44O844K444Guc2Nzc+OBjOmajuWxpOS+neWtmOOBl+OBquOBhOOCiOOBhuOBq+OBmeOCi+OBk+OBqOOAglxu44O7bWFyZ2lu44GvUEPjgavjgYrjgYTjgabjga/lj6/og73jgarpmZDjgooxMHB45Y2Y5L2N44Gr44GZ44KLXG7jg7tkaXNwbGF5OmJsb2NrLCBwb3N0aW9uOmFic29sdXRl44Gq44Gp44GvLkJMT0NLLCAuQkxPQ0vjgpLkvb/jgYbjgIJcbuOBn+OBoOOBl+OAgUhUTUzkuIrjgafjgYTjgaPjgbHjgYTmm7jjgYvjgarjgZHjgozjgbDjgYTjgZHjgarjgYTjgajjgY3jga9DU1Pjgavmj4/jgYTjgabjgoLoia/jgYTjgIJcblxu44O744Kv44Op44K55ZCN44KS44Gk44GR44KL44Go44GN44Gv44CB6KSH5pWw44Gq44Gu44GL5Y2Y5pWw44Gq44Gu44GL44KS5q2j56K644Gr44CCYmFubmVy44Gq44Gu44GLYmFubmVyc+OBquOBruOBi+OAglxu44O744CM44Oi44OO44CN44KS5oyH44GZ44Kv44Op44K55ZCN44Gv5bCP5paH5a2X44KS5L2/44GG44CCIC5hcnRpY2xlLWxpc3TjgarjganjgIJcbuODu+OAjOW9ouizqi/jg6Ljgrjjg6Xjg7zjg6vjgI3jgpLmjIfjgZnjgq/jg6njgrnjga/lpKfmloflrZfjgpLkvb/jgYbjgIIgLlJFTCwgLlBD44Gq44GpXG7jg7tqc+OBp+aMh+OBme+8iOKAu++8ieOBn+OCgeOBruOCr+ODqeOCueOBr+WIpemAlC5qcy0q44Gn44Gk44GR44KL44CC44K544K/44Kk44Or44Go44K544Kv44Oq44OX44OI44Gu5YiG6Zui44CCXG7vvIjigLvvvIljbGlja+OCpOODmeODs+ODiOOBquOBqeOCkuODleODg+OCr+OBmeOCi+WgtOWQiOOAgeacieeEoeOCkuWIpOaWreOBmeOCi+WgtOWQiOOAguaTjeS9nOWvvuixoeOBruimgee0oOOBq+OBr+WFpeOCjOOBquOBj+OBpuiJr+OBhFxuXG7jg7tsYXlvdXTjgavjgYvjgYvjgo/jgovjgq/jg6njgrnjga9sYXlvdXQtKuOAgOOBp+OBpOOBke+8iC5pbm5lcuOBoOOBkeS+i+Wklu+8ieOAgWxheW91dC5zY3Nz44Gr6KiY6L+w44GZ44KL44CC44Oa44O844K455SoQ1NT44Gr44GT44KM44KJ44Gu6KiY6L+w44KS5ZCr44KB44Gm44Gv44GE44GR44Gq44GE44CCXG7jg7vpoJjln5/lhajkvZPjgpLjg5Xjgqfjg7zjg4njgqTjg7PjgZXjgZvjgovjgqLjg4vjg6Hjg7zjgrfjg6fjg7Pjga7jgojjgYbjgarjgoLjga7jga7loLTlkIjjgIEuZngtZmFkZWlu44Gu44KI44GG44Gq44Kv44Op44K55ZCN44Gr44GZ44KLXG5cbuODu3Vs44Gn56S644GV44KM44KL6KaB57Sg44Gvc2Nzc+S4iuOBp+OBr+W/heOBmnVsLmhvZ2UtbGlzdOOBruOCiOOBhuOBq3Vs44KS5YWl44KM44KL44CCXG7jg7t1bOOBruS4i+OBrmxp44Gr44Gk44GE44Gm44Gv44CB5b+F44GaID5saeOAgOOBp+iomOi/sOOBmeOCi+OAglxuXG7jg7tzY3Nz44Gr44GK44GE44Gm44CB44Kv44Op44K55ZCN44Goe+OBrumWk+OBq+OBr+WNiuinkuOCueODmuODvOOCueOCkuioreOBkeOCi+OAglxuXG7jg7sy44Oa44Kk44Oz44Kz44Oz44OG44Oz44OE44Gu5Lit44Grc2VjdGlvbuOBjOOBguOCi+OBqOOBl+OBpuOCguOAgeWQhOODmuODvOOCuHNjc3Pjga7kuK3jgacubGF5b3V0LXN0aWNreXNpZGXjga7kuIvjgavoqJjov7DjgZfjgabjga/jgarjgonjgarjgYTjgIJtYWlu55u05LiL44Gr6KiY6L+w44GV44KM44KL44G544GN44Gn44GC44KL44CCXG5cbuODu3NlY3Rpb27jga7jgq/jg6njgrnlkI3jga/jgIHjg5Hjg7zjgrfjg6Pjg6vjg4bjg7Pjg5fjg6zjg7zjg4jjgavjgarjgaPjgabjgYTjgarjgYTpmZDjgoropIfmlbDjga7jg5rjg7zjgrjjgpLjgb7jgZ/jgYTjgaflho3liKnnlKjjgZXjgozjgarjgYTjgIJjc3PlhoXjgadzZWN0aW9uLmhvZ2XjgajjgarjgaPjgabjgYTjgovloLTlkIjjgIHlv4XjgZptYWluI3BhZ2VuYW1l44Gu5Lit44Gn5a6a576p44GV44KM44KL44CCXG5cbuODh+ODkOODg+OCrOODvOOBruWwjuWFpeaWueazlVxuXG5cbiovXG5cblxuLy9TUOOBruW5hVxuQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AZm9yd2FyZCBcIm1peGluXCI7XG5AZm9yd2FyZCBcIm5vcm1hbGl6ZVwiO1xuXG5AZm9yd2FyZCAnY29tbW9uJztcbkBmb3J3YXJkIFwibGF5b3V0XCI7XG5AZm9yd2FyZCBcIm1vZHVsZVwiO1xuQGZvcndhcmQgXCJhbmltYXRpb25cIjtcblxuQGZvcndhcmQgXCJwYWdlcy9yZWdpc3RyYXRpb25cIjtcbi8vQGZvcndhcmQgXCJkZWJ1Z1wiO1xuXG5cbiJdfQ== */
