
.small[data-v-204471a6] { font-size: 0.75em;
}
.graph[data-v-204471a6] { width: 100%; max-width: 540px; margin: 0px auto;
}
.btn-day.hide[data-v-204471a6] { opacity: 0; pointer-events: none;}
.switchContent__item[data-v-204471a6] { opacity: 0;
}
.switchContent__item.act[data-v-204471a6] { opacity: 1;}
.mb-10[data-v-204471a6] { margin-bottom: 10px !important;}
.mb-5[data-v-204471a6] { margin-bottom: 5px !important;}
.mb-0[data-v-204471a6] { margin-bottom:0px !important;}


.plot { stroke: #666; stroke-width: 1px;
}
.pollen1 { fill: #ccc;
}
.pollen2 { fill: #005bac;
}
.pollen3 { fill: #f08200;
}
.pollen4 { fill: #e60012;
}
.temp_white   { fill: rgba(255,255,255,255);
}
.temp_blue    { fill: rgba(  0,  0,255,255);
}
.temp_skyblue { fill: rgba(  0,176,240,255);
}
.temp_green   { fill: rgba(  0,176, 80,255);
}
.temp_yellow  { fill: rgba(255,192,  0,255);
}
.temp_orange  { fill: rgba(255,102,  0,255);
}
.temp_pink    { fill: rgba(255, 51,153,255);
}
.temp_red     { fill: rgba(255,  0,  0,255);
}
.wind1 { fill: rgba(255, 255, 255, 255)
}
.wind2 { fill: rgba(  0,   0, 255, 255)
}
.wind3 { fill: rgba(  0, 176,  80, 255)
}
.wind4 { fill: rgba(255, 192,   0, 255)
}
.wind5 { fill: rgba(255, 102,   0, 255)
}
.wind6 { fill: rgba(255,   0,   0, 255)
}
.graph svg text {  font-family: 'ヒラギノ角ゴ ProN W3', 'HiraKakuProN-W3', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', sans-serif;
}
.line { fill: none; stroke: #999; stroke-width: 1.5px;
}
.axis path,
.axis line { fill: none; stroke: #000; shape-rendering: crispEdges; stroke-width: 2px;
}
.axis text { font-size: 12px;
}
.inline { display: inline;
}
.inline-block { display: inline-block;}


.doughnut_text[data-v-88c0605a] {
  position: relative;
  line-height:20px;
  top: -104px;
  left: 0;
  margin: auto;
  right: 0;
  margin: auto;
  text-align: center;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size:25px
}
.doughnut_text.attr[data-v-88c0605a] {
  position: relative;
  font-size:10px;
}


.popupAns { text-align: left; width: 80%; margin: 0 auto;
}
.popupAns li label { font-size: 14px;}
.popupAns li label:before { content: '●'; padding-right: 5px; font-size: 18px;}
.popupAns li label#ans_label0:before { color: #00889E;
}
.popupAns li label#ans_label1:before { color: #5ACA81;
}
.popupAns li label#ans_label2:before { color: #FF8000;
}
.popupAns li label#ans_label3:before { color: #E50000;
}
ul.popupAns label {
  cursor: pointer;
  display: inline-block;
  width: 100%;
  border: 1px solid #ccc;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  margin: 2px 0;
  padding: 3px;
}
body:not(.ios) ul.popupAns label:hover {
  color: #f00;
}
ul.popupAns input[type=radio]:checked + label {
  border-color: #f00;
  border-width: 2px;
}


.close_msg[data-v-544a2f94] {
  max-width: 990px;
  margin: 10px;
  padding: 8px 0;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #fff;
  color: #106c1b;
  font-size: 15px;
  text-align: center;
  font-weight: 500;
}

@charset "UTF-8";
/*====================================================================================
0）リセット
====================================================================================*/
/*! sanitize.css v3.3.0 | CC0 1.0 Public Domain | github.com/10up/sanitize.css */
/*
 * Normalization
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline;
  text-decoration: underline dotted;
}

audio:not([controls]) {
  display: none;
}

b,
strong {
  font-weight: bolder;
}

button {
  -webkit-appearance: button;
  overflow: visible;
}

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

button:-moz-focusring,
input:-moz-focusring {
  outline: 1px dotted ButtonText;
}

button,
select {
  text-transform: none;
}

details {
  display: block;
}

hr {
  overflow: visible;
}

html {
  -ms-overflow-style: -ms-autohiding-scrollbar;
  -webkit-text-size-adjust: 100%;
  overflow-y: scroll;
}

input {
  -webkit-border-radius: 0;
}

input[type="button"], input[type="reset"], input[type="submit"] {
  -webkit-appearance: button;
}

input[type="number"] {
  width: auto;
}

input[type="search"] {
  -webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

main {
  display: block;
}

pre {
  overflow: auto;
}

progress {
  display: inline-block;
}

summary {
  display: block;
}

svg:not(:root) {
  overflow: hidden;
}

template {
  display: none;
}

textarea {
  overflow: auto;
}

[hidden] {
  display: none;
}

/*
 * Universal inheritance
 */
*,
::before,
::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

* {
  font-size: inherit;
  line-height: inherit;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

button,
input,
select,
textarea {
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
}

/*
 * Opinionated defaults
 */
* {
  margin: 0;
  padding: 0;
}

*,
::before,
::after {
  border-width: 0;
  border-style: solid;
}

a,
area,
button,
input,
label,
select,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

svg {
  fill: currentColor;
}

[aria-busy="true"] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled] {
  cursor: default;
}

[hidden][aria-hidden="false"] {
  clip: rect(0 0 0 0);
  display: inherit;
  position: absolute;
}

[hidden][aria-hidden="false"]:focus {
  clip: auto;
}

/*
 * Configurable defaults
 */
* {
  background-repeat: no-repeat;
}

:root {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #ffffff;
  color: #000000;
  font: 66.66667% sans-serif;
  cursor: default;
}

a {
  text-decoration: none;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

button,
input,
select,
textarea {
  background-color: transparent;
  color: inherit;
}

button,
[type="button"],
[type="date"],
[type="datetime"],
[type="datetime-local"],
[type="email"],
[type="month"],
[type="number"],
[type="password"],
[type="reset"],
[type="search"],
[type="submit"],
[type="tel"],
[type="text"],
[type="time"],
[type="url"],
[type="week"],
select,
textarea {
  min-height: 1.5em;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

nav ol,
nav ul {
  list-style: none;
}

small {
  font-size: 75%;
}

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

textarea {
  resize: vertical;
}

::-moz-selection {
  background-color: #b3d4fc;
  color: #ffffff;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc;
  color: #ffffff;
  text-shadow: none;
}

@charset "UTF-8";

/*▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼
▼ BASE
▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼*/
html {
  scroll-behavior: smooth;
}

html:root {
  background-color: #f5f5f5;
}

body {
  -webkit-font-smoothing: antialiased;
}

img {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/*====================================================================================
BreakPoint
====================================================================================*/
@media screen and (max-width: 830px) {
  .pc {
    display: none !important;
  }
}

@media screen and (min-width: 830px) {
  .sp {
    display: none !important;
  }
}

/*====================================================================================
Font
====================================================================================*/
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
blockquote,
pre,
abbr,
address,
cite,
code,
dt,
dd,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure {
  word-wrap: break-word;
  color: #242A2C;
  font-family: "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.5em;
  list-style-type: none;
}

/*▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼
▼ Header
▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼*/
#areaHeader {
  -webkit-box-shadow: 0px 1px 0px 0px rgba(47, 184, 214, 0.3);
  padding: 10px;
  background-color: #fff;
  box-shadow: 0px 1px 0px 0px rgba(47, 184, 214, 0.3);
}

#areaHeader .inner {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media screen and (min-width: 915px) {
  #areaHeader {
    position: relative;
    margin-top: 5px;
  }

  #areaHeader:before {
    display: block;
    position: absolute;
    top: -5px;
    left: 0;
    width: 100%;
    height: 5px;
    background-color: #2fb8d6;
    content: "";
  }

  #areaHeader .inner {
    max-width: 915px;
    margin-right: auto;
    margin-left: auto;
  }
}

/*====================================================================================
ヘッダー下
====================================================================================*/
#areaTop {
  max-width: 915px;
  margin-right: auto;
  margin-left: auto;
  padding: 10px 10px;
}

@media screen and (min-width: 830px) {
  #areaTop {
    padding: 20px 0;
  }
}

/*------------------------------------------
リードテキスト
------------------------------------------*/
.readText {
  font-size: 13px;
}

@media screen and (min-width: 830px) {
  .readText {
    font-size: 14px;
    text-align: center;
  }

  .readText span {
    display: inline-block;
    text-align: left;
  }
}

/*------------------------------------------
戻るボタンとパンくず
------------------------------------------*/
.prevPankuzu {
  position: relative;
}

/*------------------------------------------
戻るボタン
------------------------------------------*/
.buttonPrev {
  -webkit-transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: 0;
  width: 57px;
  transform: translateY(-50%);
}

.buttonPrev>* {
  -webkit-box-shadow: 0px 3px 2px 0px rgba(47, 184, 214, 0.3);
  display: inline-block;
  padding: 5px;
  border-radius: 100px;
  background-color: #fff;
  box-shadow: 0px 3px 2px 0px rgba(47, 184, 214, 0.3);
  line-height: 1em;
}

.buttonPrev>*:before {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 5px;
  border-radius: 100px;
  background-color: #2fb8d6;
  vertical-align: middle;
  content: "";
}

.buttonPrev>*:after {
  -webkit-transform: translateY(-50%) rotate(45deg);
  display: block;
  z-index: 2;
  position: absolute;
  top: 50%;
  left: 11px;
  width: 6px;
  height: 6px;
  transform: translateY(-50%) rotate(45deg);
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  content: '';
}

.buttonPrev .text {
  font-size: 13px;
  font-weight: 600;
  vertical-align: middle;
}

/*------------------------------------------
ぱんくず
------------------------------------------*/
.panKuzuList {
  -ms-overflow-style: none;
  scrollbar-width: none;
  overflow-x: scroll;
  font-size: 0px;
  white-space: nowrap;
}

.panKuzuList::-webkit-scrollbar {
  display: block;
  height: 6px;
}

.panKuzuList::-webkit-scrollbar-track {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(47, 184, 214, 0)), color-stop(50%, rgba(47, 184, 214, 0)), color-stop(51%, rgba(47, 184, 214, 0)));
  background: linear-gradient(to bottom, rgba(47, 184, 214, 0) 0%, rgba(47, 184, 214, 0) 50%, rgba(47, 184, 214, 0) 51%);
}

.panKuzuList::-webkit-scrollbar-thumb {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(47, 184, 214, 0)), color-stop(50%, rgba(47, 184, 214, 0)), color-stop(51%, #2fb8d6));
  background: linear-gradient(to bottom, rgba(47, 184, 214, 0) 0%, rgba(47, 184, 214, 0) 50%, #2fb8d6 51%);
}

.panKuzuList__item {
  display: inline-block;
  vertical-align: middle;
}

.panKuzuList__item>* {
  font-size: 12px;
}

.panKuzuList__item a {
  color: #2fb8d6;
  font-weight: 600;
  text-decoration: underline;
  display:inline;
}

.panKuzuList__item:not(:last-child):after {
  -webkit-transform: translateY(0px);
  display: inline-block;
  width: 0;
  height: 0;
  margin: 0 10px;
  transform: translateY(0px);
  border: 0.3em solid transparent;
  border-right: none;
  border-left: 0.45em solid #2fb8d6;
  content: '';
}

/*▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼
▼ コンテンツ
▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼*/
.close_msg {
  max-width: 990px;
  margin: 10px;
  padding: 8px 0;
  border: 1px solid #2fb8d6;
  border-radius: 4px;
  background-color: #fff;
  color: #2fb8d6;
  font-size: 15px;
  font-weight: 600;
  text-align: center;
}

@media screen and (min-width: 999px) {
  .close_msg {
    margin: 20px 0;
    margin-right: auto;
    margin-left: auto;
  }
}

/*====================================================================================
エリア
====================================================================================*/
/*------------------------------------------
コンテント
------------------------------------------*/
#areaContent {
  padding: 8px 10px;
}

@media screen and (min-width: 830px) {
  #areaContent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 915px;
    margin-right: auto;
    margin-left: auto;
    padding: 0;
  }

  #areaContent #areaMain {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    overflow: hidden;
  }

  #areaContent #areaSub {
    width: 320px;
    margin-left: 25px;
  }
}

/*------------------------------------------
メインエリア & サブエリア共通
------------------------------------------*/
#areaMain>*:not(:last-child),
#areaSub>*:not(:last-child) {
  margin-bottom: 15px;
}

/*------------------------------------------
メインエリア
------------------------------------------*/
#areaMain {
  padding-bottom: 30px;
}

/*------------------------------------------
ブロック
------------------------------------------*/
.block>*:not(:last-child) {
  margin-bottom: 15px;
}

@media screen and (max-width: 830px) {
  .block>*[class*="title"] {
    margin-bottom: 10px;
  }
}

/*------------------------------------------
カード
------------------------------------------*/
.card,
.cardSp {
  -webkit-box-shadow: 0px 3px 2px 0px rgba(47, 184, 214, 0.3);
  padding: 20px 10px;
  overflow: hidden;
  border-radius: 8px;
  background-color: #fff;
  box-shadow: 0px 3px 2px 0px rgba(47, 184, 214, 0.3);
}

.card>*:not(:last-child),
.cardSp>*:not(:last-child) {
  margin-bottom: 15px;
}

.card+.notice,
.cardSp+.notice {
  margin-top: 10px;
}

@media screen and (min-width: 830px) {
  .cardSp {
    -webkit-box-shadow: none;
    padding: 0;
    border-radius: 0;
    background-color: transparent;
    box-shadow: none;
  }
}

/*------------------------------------------
ブロック
------------------------------------------*/
.box>*:not(:last-child) {
  margin-bottom: 10px;
}

/*------------------------------------------
ボーダーブロック
------------------------------------------*/
.borderBlock {
  padding: 10px;
  border: 1px solid #2fb8d6;
  border-radius: 6px;
  background-color: #fff;
}

.borderBlock>*:not(:last-child) {
  margin-bottom: 15px;
}

/*------------------------------------------
カラム
------------------------------------------*/
.column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.column>*:not(:last-child) {
  margin-right: 15px;
}

/*====================================================================================
TITLE & TEXT
====================================================================================*/
.titleAreaColumn {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.title01 {
  margin-bottom: 5px;
  font-size: 20px;
  font-weight: 600;
}

@media screen and (min-width: 830px) {
  .title01 {
    margin-bottom: 10px;
    border-bottom: 3px solid #2fb8d6;
  }
}

.title02 {
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
}

@media screen and (min-width: 830px) {
  .title02 {
    margin-bottom: 10px;
    border-bottom: 3px solid #2fb8d6;
    font-size: 20px;
    line-height: 1.45em;
  }
}

.title03 {
  font-size: 16px;
  font-weight: 600;
}

.title04 {
  color: #2fb8d6;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
}

.title05 {
  color: #0f6bd2;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35em;
  text-align: center;
}

.title06 {
  font-size: 24px;
  font-weight: 600;
  text-align: center;
}

.title07 {
  padding-left: 10px;
  border-left: 3px solid #2fb8d6;
  font-size: 20px;
  font-weight: 600;
  line-height: 1em;
}

.title08 {
  padding-left: 10px;
  border-left: 3px solid #2fb8d6;
  font-weight: 600;
}

.title09 {
  font-size: 20px;
  font-weight: 600;
}

/*------------------------------------------
titleエリア
------------------------------------------*/
*[class*="title"].area {
  position: relative;
  padding: 5px 0;
  padding-right: 70px;
}

.areaName {
  -webkit-transform: translateY(-50%);
  position: absolute;
  top: 50%;
  right: 0px;
  transform: translateY(-50%);
  border: 1px solid #2fb8d6;
  border-radius: 4px;
  background-color: #fff;
}

.areaName,
.areaName>* {
  color: #2fb8d6;
  font-size: 13px;
  font-weight: 600;
  line-height: 1em;
}

.areaName>* {
  display: block;
  padding: 6px 10px;
}

.strong {
  font-weight: 600;
}

.big {
  font-size: 120%;
}

/*====================================================================================
テキスト
====================================================================================*/
/*------------------------------------------
色付き
------------------------------------------*/
.color {
  color: #2fb8d6;
}

/*------------------------------------------
色付き
------------------------------------------*/
.caution {
  color: #e06161;
}

/*------------------------------------------
注意書き
------------------------------------------*/
.notice {
  font-size: 13px;
}

/*------------------------------------------
中央
------------------------------------------*/
.center {
  text-align: center;
}

.right {
  text-align: right;
}

/*------------------------------------------
ボールド
------------------------------------------*/
.bold {
  font-weight: 600;
}

/*------------------------------------------
エラー文
------------------------------------------*/
.emsg {
  color: #ff0000;
}

/*------------------------------------------
テキストリンク
------------------------------------------*/
.textLink {
  text-align: right;
}

.textLink>* {
  position: relative;
  padding-right: 20px;
  color: #0f6bd2;
  font-weight: 600;
  text-decoration: underline;
}

.textLink>*:after {
  -webkit-transform: translateY(-50%);
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  border-radius: 100px;
  background-color: #2fb8d6;
  color: #fff;
  font-size: 10px;
  line-height: 16px;
  text-align: center;
  text-decoration: none;
  content: ">";
}

/*------------------------------------------
テキスト右つき
------------------------------------------*/
.textRight {
  text-align: right;
}

a:hover,
button:hover {
  cursor: pointer;
}

/*------------------------------------------
バナー
------------------------------------------*/
.banner {
  max-width: 300px;
  margin-right: auto;
  margin-left: auto;
}

.banner img {
  width: 100%;
}

.notification {
  max-width: 400px;
  margin-right: auto;
  margin-left: auto;
}

.notification>*:not(:last-child) {
  display: block;
  margin-bottom: 10px;
}

.notification img {
  width: 100%;
}

/*------------------------------------------
日付ボタン
------------------------------------------*/
.dateSwitch {
  padding-bottom: 5px;
  border-bottom: 1px solid #ccc;
  text-align: center;
}

.dateSwitch .prev,
.dateSwitch .next {
  display: inline-block;
  position: relative;
  width: 1.2em;
  height: 1.2em;
  border-radius: 100px;
  background-color: #2fb8d6;
  vertical-align: middle;
}

.dateSwitch .prev:before,
.dateSwitch .next:before {
  -webkit-transform: translate(-50%, -50%);
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  transform: translate(-50%, -50%);
  border: 3px solid transparent;
  content: "";
}

.dateSwitch .prev:hover,
.dateSwitch .next:hover {
  cursor: pointer;
}

.dateSwitch .prev.last,
.dateSwitch .next.last {
  opacity: 0.5;
  pointer-events: none;
}

.dateSwitch .prev:before {
  border-right: 5px solid #fff;
  border-left: 0;
}

.dateSwitch .next:before {
  border-right: 0;
  border-left: 5px solid #fff;
}

/*====================================================================================
margin
====================================================================================*/
.negT {
  margin-top: -10px;
}

.negB {
  margin-bottom: -10px;
}

.negTB {
  margin-top: -10px;
  margin-bottom: -10px;
}

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

  .negSpB {
    margin-bottom: -10px;
  }

  .negSpTB {
    margin-top: -10px;
    margin-bottom: -10px;
  }
}

@media screen and (min-width: 830px) {
  .negPcT {
    margin-top: -10px;
  }

  .negPcB {
    margin-bottom: -10px;
  }

  .negPcTB {
    margin-top: -10px;
    margin-bottom: -10px;
  }
}

/*====================================================================================
button
====================================================================================*/
.buttonList {
  font-size: 0;
  text-align: center;
}

.buttonList>.button {
  display: inline-block;
}

.buttonList>.button>* {
  font-size: 16px !important;
}

.buttonList>.button:not(:last-child) {
  margin-right: 5px;
}

@media screen and (max-width: 374px) {
  .buttonList>.button {
    width: 49%;
  }

  .buttonList>.button>* {
    width: 100% !important;
  }

  .buttonList>.button:not(:last-child) {
    margin-right: 0.5%;
  }
}

/*------------------------------------------
通常ボタン
------------------------------------------*/
.button {
  display: block;
  width: 100%;
}

.button:hover {
  cursor: pointer;
}

.button>* {
  display: inline-block;
  position: relative;
  padding: 10px 30px 10px 15px;
  border-radius: 8px;
  background-color: #2fb8d6;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1em;
}

.button>*:after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  display: block;
  position: absolute;
  top: 50%;
  right: 15px;
  width: 0.75em;
  height: 0.75em;
  transform: translateY(-50%) rotate(-45deg);
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: "";
}

.button.noArrow>*:after {
  display: none;
}

.button.type02 {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.button.type02>* {
  min-width: 150px;
  padding-right: 15px;
  padding-left: 15px;
  font-size: 18px;
  text-align: center;
}

.button.type02>*:after {
  display: none;
}

.button.color02>* {
  background-color: #2fb8d6;
}

.button .center {
  text-align: center;
}

/*------------------------------------------
右つきボタン
------------------------------------------*/
.buttonRight {
  display: block;
  text-align: right;
}

.buttonRight>* {
  display: inline-block;
  position: relative;
  padding: 10px 30px 10px 15px;
  border-radius: 8px;
  background-color: #2fb8d6;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1em;
}

.buttonRight>*:after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  display: block;
  position: absolute;
  top: 50%;
  right: 15px;
  width: 0.75em;
  height: 0.75em;
  transform: translateY(-50%) rotate(-45deg);
  border-right: 2px solid #2fb8d6;
  border-bottom: 2px solid #2fb8d6;
  content: "";
}

/*------------------------------------------
アイコンつきボタン
------------------------------------------*/
.buttonIcon {
  -webkit-box-shadow: 0px 2px 2px 1px rgba(47, 184, 214, 0.25);
  position: relative;
  max-width: 300px;
  margin-right: auto;
  margin-left: auto;
  padding: 5px;
  border-radius: 8px;
  background-color: #2fb8d6;
  box-shadow: 0px 2px 2px 1px rgba(47, 184, 214, 0.25);
}

.buttonIcon__link {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.buttonIcon__inner {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}

.buttonIcon__content * {
  color: #fff;
  line-height: 1em;
}

.buttonIcon__content>*:not(:last-child) {
  margin-bottom: 5px;
}

.buttonIcon__icon {
  margin-right: 5px;
}

.buttonIcon__icon img {
  max-width: 60px;
}

.buttonIcon__title {
  font-size: 16px;
  font-weight: 600;
}

.buttonIcon__text {
  font-size: 13px;
}

/*====================================================================================
検索
====================================================================================*/
.areaSearch>*:not(:last-child) {
  margin-bottom: 15px;
}

/*------------------------------------------
キーワード＆現在地＆条件検索
------------------------------------------*/
.searchCondition {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
}

.searchCondition__item {
  -webkit-box-shadow: 0px 3px 2px 0px rgba(47, 184, 214, 0.3);
  width: 100%;
  border-radius: 4px;
  background-color: #fff;
  box-shadow: 0px 3px 2px 0px rgba(47, 184, 214, 0.3);
}

.searchCondition__item:not(:last-child) {
  margin-right: 5px;
}

.searchCondition__item>* {
  display: block;
  position: relative;
  padding: 15px 10px;
  font-weight: 600;
  line-height: 1em;
}

.searchCondition__link {
  position: relative;
}

.searchCondition__link:after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  width: 10px;
  height: 10px;
  transform: translateY(-50%) rotate(-45deg);
  border-right: 2px solid #2fb8d6;
  border-bottom: 2px solid #2fb8d6;
  content: '';
}

/*------------------------------------------
現在地&条件検索
------------------------------------------*/
.condition,
.location {
  position: relative;
}

.condition .icon,
.location .icon {
  margin-right: 5px;
  vertical-align: middle;
}

/*------------------------------------------
キーワード検索
------------------------------------------*/
.searchCondition__item.keywords {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 5px;
}

.searchCondition__item.keywords input {
  width: 100%;
  background-color: #EFF2F2;
  font-size: 14px;
}

.searchCondition__item.keywords>* {
  padding: 10px;
}

.searchCondition__item.keywords .submit>* {
  padding: 0 5px 0 10px;
}

.searchCondition__item.keywords .submit img {
  width: 22px;
}

#areaSub .keywords label {
  padding: 0 0 0 5px;
}

/*------------------------------------------
現在地
------------------------------------------*/
.location .icon {
  width: 16px;
}

/*------------------------------------------
条件検索
------------------------------------------*/
.condition .icon {
  width: 18px;
}

/*------------------------------------------
地名で検索
------------------------------------------*/
.searchArea {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.searchArea__item {
  width: 33.33%;
  padding: 5px 2.5px;
}

.searchArea__item>* {
  -webkit-box-shadow: 0px 3px 2px 0px rgba(47, 184, 214, 0.3);
  display: block;
  position: relative;
  padding: 15px 10px;
  border-radius: 4px;
  background-color: #fff;
  box-shadow: 0px 3px 2px 0px rgba(47, 184, 214, 0.3);
  font-weight: 600;
  line-height: 1em;
}

.searchArea__item>*:after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  width: 10px;
  height: 10px;
  transform: translateY(-50%) rotate(-45deg);
  border-right: 2px solid #2fb8d6;
  border-bottom: 2px solid #2fb8d6;
  content: '';
}

.searchArea__item>*:hover {
  cursor: pointer;
}

/*====================================================================================
タイプ02
====================================================================================*/
.searchArea.type02 {
  display: table;
}

.searchArea.type02 .searchArea__column {
  display: table-row;
}

.searchArea.type02 .searchArea__column>* {
  display: table-cell;
  padding: 8px 0;
}

.searchArea.type02 .searchArea__column:nth-child(even)>* {
  background-color: rgba(47, 184, 214, 0.15);
}

.searchArea.type02 .searchArea__columnTitle {
  white-space: nowrap;
}

.searchArea.type02 .searchArea__columnTitle .searchArea__item {
  border-right: 1px solid rgba(36, 42, 44, 0.5);
}

.searchArea.type02 .searchArea__columnTitle .searchArea__item>* {
  font-weight: 600;
}

.searchArea.type02 .searchArea__columnTitle .searchArea__item>*:before,
.searchArea.type02 .searchArea__columnTitle .searchArea__item>*:after {
  -webkit-transform: none;
  display: inline-block;
  position: static;
  transform: none;
  border: none;
  text-decoration: none;
}

.searchArea.type02 .searchArea__columnItem {
  padding-left: 10px;
  font-size: 0;
}

.searchArea.type02 .searchArea__columnItem .searchArea__item {
  display: inline-block;
}

.searchArea.type02 .searchArea__item {
  width: auto;
  padding: 0 7px;
}

.searchArea.type02 .searchArea__item>* {
  -webkit-box-shadow: none;
  display: inline-block;
  padding: 5px 0px;
  background-color: transparent;
  box-shadow: none;
  color: #0f6bd2;
  text-decoration: underline;
}

.searchArea.type02 .searchArea__item>*:after {
  display: none;
}

/*====================================================================================
ON/OFFスイッチ
====================================================================================*/
.onoffswitch {
  position: relative;
  width: 68px;
}

.onoffswitch.center {
  margin-right: auto;
  margin-left: auto;
}

.onoffswitch-checkbox {
  display: none;
}

.onoffswitch-label {
  display: block;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 36px;
  cursor: pointer;
}

.onoffswitch-inner {
  -webkit-transition: margin .3s ease-in 0s;
  display: block;
  width: 200%;
  margin-left: -100%;
  transition: margin .3s ease-in 0s;
}

.onoffswitch-inner:after,
.onoffswitch-inner:before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  width: 50%;
  height: 30px;
  padding: 0;
  float: left;
  color: #fff;
  font-size: 14px;
  line-height: 30px;
}

.onoffswitch-inner:before {
  padding-left: 8px;
  background-color: #60cba9;
  color: #fff;
  text-align: left;
  content: "ON";
}

.onoffswitch-inner:after {
  padding-right: 8px;
  background-color: #ccc;
  color: #fff;
  text-align: right;
  content: "OFF";
}

.onoffswitch-switch {
  -webkit-transition: all .3s ease-in 0s;
  display: block;
  position: absolute;
  top: 0;
  right: 34px;
  bottom: 0;
  width: 20px;
  margin: 7px;
  border-radius: 36px;
  background: #fff;
  transition: all .3s ease-in 0s;
}

.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner {
  margin-left: 0;
}

.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch {
  right: 0;
}

/*▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼
▼ リスト類
▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼*/
.accessRankList>*[class*="__item"]:not(:last-child),
.seasonInfoList>*[class*="__item"]:not(:last-child),
.spotList>*[class*="__item"]:not(:last-child) {
  border-bottom: 1px solid #ccc;
}

.accessRankList *[class*="__inner"],
.seasonInfoList *[class*="__inner"],
.spotList *[class*="__inner"] {
  position: relative;
  padding: 10px 15px 10px 0px;
}

.accessRankList *[class*="__inner"]:after,
.seasonInfoList *[class*="__inner"]:after,
.spotList *[class*="__inner"]:after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  display: block;
  position: absolute;
  top: 50%;
  right: 5px;
  width: 10px;
  height: 10px;
  transform: translateY(-50%) rotate(-45deg);
  border-right: 2px solid #2fb8d6;
  border-bottom: 2px solid #2fb8d6;
  content: '';
}

.accessRankList *[class*="__name"],
.seasonInfoList *[class*="__name"],
.spotList *[class*="__name"] {
  font-size: 16px;
  font-weight: 600;
}

.accessRankList *[class*="__info"],
.seasonInfoList *[class*="__info"],
.spotList *[class*="__info"] {
  font-size: 13px;
  line-height: 1em;
}

/*====================================================================================
リスト
====================================================================================*/
.dotList {
  margin-left: 1em;
}

.dotList .list__item {
  list-style-position: outside;
  list-style-type: disc;
}

/*====================================================================================
アクセスランキング（リスト）
====================================================================================*/
.accessRankList__inner {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}

.accessRankList__icon {
  position: relative;
  width: 24px;
  height: 24px;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 24px;
  text-align: center;
}

.accessRankList__icon>* {
  z-index: 1;
  position: relative;
}

.accessRankList__icon img {
  -o-object-fit: cover;
  width: 24px;
  height: 24px;
  object-fit: cover;
}

.accessRankList__icon:after {
  -webkit-transform: translate(-50%, -50%);
  display: block;
  z-index: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 24px;
  transform: translate(-50%, -50%);
  border-radius: 100px;
  background-color: #2fb8d6;
  content: "";
}

.accessRankList__item:nth-child(1) .accessRankList__icon,
.accessRankList__item:nth-child(2) .accessRankList__icon,
.accessRankList__item:nth-child(3) .accessRankList__icon {
  line-height: 26px;
}

.accessRankList__item:nth-child(1) .accessRankList__icon:after,
.accessRankList__item:nth-child(2) .accessRankList__icon:after,
.accessRankList__item:nth-child(3) .accessRankList__icon:after {
  width: 28px;
  height: 28px;
  background-color: transparent;
  background-position: center;
  background-size: cover;
}

/*
.accessRankList__item:nth-child(1) .accessRankList__icon:after {
  background-image: url("../images/icon_star01.svg");
}

.accessRankList__item:nth-child(2) .accessRankList__icon:after {
  background-image: url("../images/icon_star02.svg");
}

.accessRankList__item:nth-child(3) .accessRankList__icon:after {
  background-image: url("../images/icon_star03.svg");
}
*/

.accessRankList__content {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-left: 10px;
}

.accessRankList__name {
  line-height: 1em;
}

.accessRankList__info {
  margin-bottom: 5px;
}

/*====================================================================================
エリアリスト
====================================================================================*/
.spotList__item {
  position: relative;
}

.spotList__mask {
  display: block !important;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.spotList__inner {
  display: block;
}

.spotList__title {
  font-size: 12px;
  font-weight: 600;
  line-height: 1em;
}

.spotList__event,
.spotList__date {
  font-size: 13px;
}

.spotList.off {
  display: none;
}

.spotList.on {
  display: block;
}

.spotList__item.backStyle .spotList__name {
  font-size: 14px;
  opacity: 0.9;
}

.spotList__item.backStyle .spotList__inner {
  padding: 10px 0px 10px 15px;
}

.spotList__item.backStyle .spotList__inner:after {
  -webkit-transform: translateY(-50%) rotate(135deg);
  right: auto;
  left: 2px;
  transform: translateY(-50%) rotate(135deg);
}

.spotListInfo {
  font-size: 0;
}

.spotListInfo__item {
  display: inline-block;
  line-height: 1em;
  vertical-align: middle;
}

.spotListInfo__item>* {
  z-index: 2;
  position: relative;
  font-size: 13px;
  opacity: 0.9;
}

.spotListInfo__item a:hover {
  color: #2fb8d6;
  text-decoration: underline;
  cursor: pointer;
}

.spotListInfo__item:not(:last-child) {
  margin-right: 7px;
  padding-right: 7px;
  border-right: 1px solid #ccc;
}

/*====================================================================================
トピックス
====================================================================================*/
.topicsPickUp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.topicsPickUp__thumb {
  position: relative;
  width: 150px;
  height: 112.5px;
  overflow: hidden;
  border-radius: 4px;
}

.topicsPickUp__thumb img {
  -o-object-fit: cover;
  width: 150px;
  height: 112.5px;
  object-fit: cover;
}

.topicsPickUp__text {
  overflow: hidden;
  max-height: 112.5px;
  text-overflow: ellipsis;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-left: 10px;
}

/*====================================================================================
季節の情報
====================================================================================*/
.seasonInfoList__item:not(:last-child) {
  border-bottom: 1px solid #ccc;
}

.seasonInfoList__inner {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}

.seasonInfoList__icon {
  position: relative;
  width: 24px;
  height: 24px;
}

.seasonInfoList__icon img {
  -o-object-fit: cover;
  width: 24px;
  height: 24px;
  object-fit: cover;
}

.seasonInfoList__content {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-left: 10px;
}

.seasonInfoList__title {
  font-weight: 600;
  line-height: 1em;
}

.seasonInfoList__text {
  margin-top: 3px;
  font-size: 12px;
  line-height: 1em;
}

/*▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼
▼ フォームパーツ
▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼*/
.group:not(:last-child),
.formGroup:not(:last-child) {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid rgba(47, 184, 214, 0.3);
}

.group>*:not(:last-child),
.formGroup>*:not(:last-child) {
  margin-bottom: 15px;
}

/*====================================================================================
通常のinput=" text or select "
====================================================================================*/
.form-text,
.form-select {
  display: block;
  z-index: 2;
  position: relative;
  max-width: 335px;
  margin-right: auto;
  margin-left: auto;
  border: 2px solid #2fb8d6;
  border-radius: 6px;
}

.form-text:hover,
.form-select:hover {
  cursor: pointer;
}

.form-text>*,
.form-select>* {
  width: 100%;
  padding: 5px;
}

/*------------------------------------------
"slect"
------------------------------------------*/
.form-select:before,
.form-select:after {
  display: block;
  content: "";
}

.form-select:before {
  -webkit-transform: translateY(-50%) rotate(45deg);
  display: block;
  z-index: -1;
  position: absolute;
  top: 50%;
  right: 10px;
  width: 8px;
  height: 8px;
  transform: translateY(-50%) rotate(45deg);
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: '';
}

.form-select:after {
  -webkit-transform: translateY(-50%);
  z-index: -2;
  position: absolute;
  top: 50%;
  right: 2px;
  width: 25px;
  height: 25px;
  transform: translateY(-50%);
  border-radius: 4px;
  background-color: #2fb8d6;
}

/*====================================================================================
条件選択（チェックボックス & ラジオ）
====================================================================================*/
.statusRadio__input,
.statusCheckbox__input {
  display: none;
}

.statusRadio__label,
.statusCheckbox__label {
  -webkit-transition: 0.15s ease-in;
  display: block;
  position: relative;
  width: 100%;
  padding: 8px 0;
  border-radius: 4px;
  background-color: rgba(47, 184, 214, 0.25);
  font-size: 16px;
  font-weight: 600;
  line-height: 1em;
  transition: 0.15s ease-in;
}

.statusRadio__label:hover,
.statusCheckbox__label:hover {
  cursor: pointer;
}

.statusRadio__input:checked+.statusRadio__label,
.statusCheckbox__input:checked+.statusRadio__label,
.statusRadio__input:checked+.statusCheckbox__label,
.statusCheckbox__input:checked+.statusCheckbox__label {
  -webkit-transition: 0.15s ease-out;
  -webkit-box-shadow: 0px 3px 2px 0px rgba(47, 184, 214, 0.3);
  background-color: #fff;
  box-shadow: 0px 3px 2px 0px rgba(47, 184, 214, 0.3);
  transition: 0.15s ease-out;
}

.statusRadio__input:checked+.statusRadio__label::after,
.statusCheckbox__input:checked+.statusRadio__label::after,
.statusRadio__input:checked+.statusCheckbox__label::after,
.statusCheckbox__input:checked+.statusCheckbox__label::after {
  opacity: 1;
}

/*------------------------------------------
ラジオ
------------------------------------------*/
.statusRadio__item:not(:last-child) {
  margin-bottom: 10px;
}

.statusRadio .icon {
  width: 40px;
  margin-right: 10px;
}

.statusRadio__label {
  padding: 15px 10px;
  border: 1px solid transparent;
}

.statusRadio__input:checked+.statusRadio__label {
  border: 1px solid rgba(47, 184, 214, 0.3);
}

/*------------------------------------------
チェックボックス
------------------------------------------*/
.statusCheckbox {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  padding: 10px;
  border-radius: 4px;
  background-color: rgba(47, 184, 214, 0.1);
}

.statusCheckbox__item {
  width: 50%;
  padding: 5px;
}

@media screen and (max-width: 830px) {
  .statusCheckbox__item:nth-child(odd) {
    padding-left: 0;
  }

  .statusCheckbox__item:nth-child(even) {
    padding-right: 0;
  }
}

.statusCheckbox__label {
  padding: 15px 0;
  font-size: 14px;
  text-align: center;
}

@media screen and (max-width: 374px) {
  .statusCheckbox__label {
    font-size: 13px;
  }
}

@media screen and (min-width: 830px) {
  .statusCheckbox__item {
    width: 25%;
    padding: 5px;
  }
}

/*====================================================================================
条件変更のラジオ（〜を選んでくだい。の下）
====================================================================================*/
.statusChoice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 335px;
  margin-right: auto;
  margin-left: auto;
  padding: 5px;
  border-radius: 200px;
  background-color: rgba(47, 184, 214, 0.1);
}

.statusChoice__item {
  width: 100%;
}

.statusChoice__item:not(:last-child) {
  margin-right: 5px;
}

.statusChoice__label {
  -webkit-transition: 0.15s ease-in;
  display: block;
  position: relative;
  width: 100%;
  padding: 8px 0;
  border-radius: 100px;
  background-color: rgba(47, 184, 214, 0.1);
  font-size: 16px;
  font-weight: 600;
  line-height: 1em;
  text-align: center;
  transition: 0.15s ease-in;
}

.statusChoice__label:after {
  -webkit-transform: translateX(-50%);
  display: block;
  position: absolute;
  bottom: -17px;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border: 10px solid transparent;
  border-top: 12px solid rgba(47, 184, 214, 0.1);
  border-bottom: none;
  content: '';
  opacity: 0;
}

.statusChoice__input {
  display: none;
}

.statusChoice__input:checked+.statusChoice__label {
  -webkit-transition: 0.15s ease-out;
  -webkit-box-shadow: 0px 3px 2px 0px rgba(47, 184, 214, 0.3);
  background-color: #fff;
  box-shadow: 0px 3px 2px 0px rgba(47, 184, 214, 0.3);
  transition: 0.15s ease-out;
}

.statusChoice__input:checked+.statusChoice__label::after {
  opacity: 1;
}

/*▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼
▼ 天気
▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼*/
/*====================================================================================
スイッチ
====================================================================================*/
.switchTab {
  -webkit-box-shadow: 0px 2px 4px 0px rgba(47, 184, 214, 0.6);
  display: table;
  width: 100%;
  max-width: 510px;
  margin-top: 15px;
  margin-right: auto;
  margin-bottom: 15px;
  margin-left: auto;
  border: 1px solid #ececec;
  border-radius: 4px;
  border-spacing: 0;
  background-color: #f6f9fd;
  box-shadow: 0px 2px 4px 0px rgba(47, 184, 214, 0.6);
  table-layout: fixed;
}

.switchTab__item {
  display: table-cell;
  position: relative;
  padding: 8px 0;
  color: #606060;
  font-size: 14px;
  font-weight: 600;
  line-height: 1em;
  text-align: center;
}

.switchTab__item:not(:last-child) {
  border-right: 1px solid #ececec;
}

.switchTab__item.act {
  color: #fff;
}

.switchTab__item.act span {
  z-index: 3;
  position: relative;
}

.switchTab__item.act:after {
  -webkit-transform: translate(-50%, -50%);
  -webkit-box-shadow: 0px 2px 4px 1px rgba(0, 0, 0, 0.2);
  display: block;
  z-index: 2;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 105%;
  height: 125%;
  transform: translate(-50%, -50%);
  border-radius: 10px;
  background-color: #2fb8d6;
  box-shadow: 0px 2px 4px 1px rgba(0, 0, 0, 0.2);
  content: "";
}

/*====================================================================================
スイッチコンテンツ
====================================================================================*/
.switchContent__item {
  display: none;
}

.switchContent__item.act {
  display: block;
}

/*▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼
▼ Sub
▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼*/
/*====================================================================================
トピックス
====================================================================================*/
.topicsList__item:not(:last-child) {
  border-bottom: 1px solid #ccc;
}

.topicsList__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  padding: 10px 15px 10px 0px;
}

.topicsList__inner:after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  display: block;
  position: absolute;
  top: 50%;
  right: 5px;
  width: 10px;
  height: 10px;
  transform: translateY(-50%) rotate(-45deg);
  border-right: 2px solid #2fb8d6;
  border-bottom: 2px solid #2fb8d6;
  content: '';
}

.topicsList__thumb {
  position: relative;
  width: 90px;
  height: 67px;
  overflow: hidden;
  border-radius: 4px;
}

.topicsList__thumb img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.topicsList__content {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-left: 10px;
}

.topicsList__title {
  font-weight: 600;
}

.topicsList__date {
  font-size: 12px;
}

/*▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼
▼ Footer
▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼*/
/*====================================================================================

====================================================================================*/
#areaFooter {
  display: block;
  padding-top: 40px;
}

/*====================================================================================

====================================================================================*/
.underArea {
  margin-top: 30px;
  padding-right: 10px;
  padding-left: 10px;
  text-align: center;
}

.underArea .readText {
  display: inline-block;
  text-align: left;
}

.underArea .noticeText {
  display: inline-block;
  margin-left: 1em;
  font-size: 13px;
  text-align: left;
  text-indent: -1em;
}

/*====================================================================================
コピーライト
====================================================================================*/
.copyList__item {
  padding: 15px 0;
  background-color: #fff;
  line-height: 1em;
  text-align: center;
}

.copyList__item:not(:last-child) {
  margin-bottom: 1px;
}

.copyList a {
  color: #2fb8d6;
  font-weight: 600;
}

/*▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼
▼ オーバーレイ
▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼*/
#overlay {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  z-index: 10;
  position: fixed;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: 100vh;
  padding-right: 15px;
  padding-left: 15px;
  background-color: rgba(47, 184, 214, 0.9);
}

#overlay.off {
  display: none;
  opacity: 0;
}

#overlay.on {
  -webkit-animation: on 0.25s ease-in 0s forwards;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  animation: on 0.25s ease-in 0s forwards;
  opacity: 1;
}

.overlayContent {
  position: relative;
  width: 100%;
  max-width: 355px;
  padding: 10px 10px 65px 10px;
  border-radius: 10px;
  background-color: #fff;
}

.overlayContent .button {
  -webkit-transform: translateX(-50%);
  position: absolute;
  bottom: 15px;
  left: 50%;
  width: 180px;
  margin-right: auto;
  margin-left: auto;
  transform: translateX(-50%);
}

.overlayContent .button>* {
  display: block;
  width: 180px;
  padding-right: 0;
  padding-left: 0;
  text-align: center;
}

.overlayContent .button>*:after {
  display: none;
}

.overlayContent .inner {
  overflow-y: scroll;
}

.overlayContent .inner>*:not(:last-child) {
  margin-bottom: 20px;
}

.overlayContent ::-webkit-scrollbar {
  width: 12px;
}

.overlayContent ::-webkit-scrollbar-track {
  background: -webkit-gradient(linear, left top, right top, from(rgba(47, 184, 214, 0)), color-stop(50%, rgba(47, 184, 214, 0)), color-stop(51%, rgba(47, 184, 214, 0.1)));
  background: linear-gradient(to right, rgba(47, 184, 214, 0) 0%, rgba(47, 184, 214, 0) 50%, rgba(47, 184, 214, 0.1) 51%);
}

.overlayContent ::-webkit-scrollbar-thumb {
  background: -webkit-gradient(linear, left top, right top, from(rgba(47, 184, 214, 0)), color-stop(50%, rgba(47, 184, 214, 0)), color-stop(51%, #2fb8d6));
  background: linear-gradient(to right, rgba(47, 184, 214, 0) 0%, rgba(47, 184, 214, 0) 50%, #2fb8d6 51%);
}

@media screen and (min-width: 830px) {
  .overlayContent .inner {
    max-width: 100vw;
    max-height: calc(500px - 80px);
  }
}

@media screen and (max-width: 830px) {
  #overlay {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    padding: 0;
    background-color: #fff;
  }

  .overlayContent {
    max-width: 100vw;
    height: 100vh;
    padding-bottom: 140px;
  }

  .overlayContent .inner {
    height: calc(100vh - 140px - 60px);
  }

  .overlayContent .button {
    bottom: 140px;
  }
}

@-webkit-keyframes on {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes on {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

[v-cloak] {
  opacity: 0;
}

.trans {
  opacity: 0;
}

.trans.ready {
  opacity: 1;
}

.text-bold {
  font-weight: bold;
}

.alarm-sample-image {
  width: 100%;
}

.text-center {
  text-align: center;
}

.small {
  font-size: 0.8em
}

.banner-image,
.banner-text {
  width: 100%;
  max-width: 320px;
}

.banner-text {
  margin: auto;
  text-align: left;
}

.inline-content {
  display: inline;
}

.inline-content * {
  display: inline-block;
}

.inline-content .buttonRight {
  float: right;
}

.mb-10 {
  margin-bottom: 10px !important;
}

/*====================================================================================
モーダルコンテンツ
====================================================================================*/

.overlay.modal {
  width: 100vw;
  height: 100vh;
  display: block;
  padding-top: 10vh;
  justify-content: center;
  align-items: center;
  padding: 15px;
  background-color: rgba(0, 0, 0, 0.85);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
}

.overlayContent.modal {
  margin: auto;
  padding-top: 0;
  width: 80vw;
  height: 75vh;
  max-width: 375px;
  padding-top: 20px;
}

.overlayContent.modal .button {
  bottom: 10px;
}

/* ピンクボタン */
.pink-btn {background: -webkit-gradient(linear, left top, left bottom, from(mistyrose), to(#fff)) !important;
   color: #0c419a; border-radius: 4px; box-shadow: 2px 3px 3px 0px rgba(0, 0, 0, 0.3); margin-top: 10px; margin-left: auto; margin-right: auto; position: relative; }
.pink-btn.wide {width: 290px; }
.pink-btn a {color: #0c419a !important; }
.pink-btn > * {font-weight: 600; width: 100%; height: 40px; line-height: 40px; display: block; text-align: center; }
.pink-btn a.txt-row::after{content: ''; position: absolute; top: 50%; right: 7px; display: block; width: 8px; height: 14px; margin-top: -7px; background: url(//weather.smt.docomo.ne.jp/img/weather_arrow_b.png) no-repeat 0 0; -webkit-background-size: 8px 14px; -moz-background-size: 8px 14px; -o-background-size: 8px 14px; background-size: 8px 14px; }
/* etc */
[v-cloak] {display:none;}

.sgtkpink-btn {background: -webkit-gradient(linear, left top, left bottom, from(mistyrose), to(#fff)) !important;}
.sgtkpink-btn2 {background: mistyrose !important;}
/* トップへ戻るリンク */
@media screen and (min-width: 769px) {#top_link {margin-top: 30px; background-color: #fff; } }


/*------------------------------------------
黒のオーバーレイを出す
------------------------------------------*/
.lockOverlay {
    position: relative;
}

.lockOverlay:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.lockOverlay_txt>a {
    background-color: #fff;
    font-size: 16px;
    font-weight: bold;
    box-shadow: 1px 1px 3px #555555;
    padding: 15px;
    border-radius: 10px;
    line-height: 1.5;
    width: 250px;
    margin: auto;
    color: #000;
    text-align: center;
}


.lockOverlay_txt.rakuraku {
    font-size: 22px;
    font-weight: 600;
    font-size: 20px;
    color: #000;
    text-align: center;
}

/*------------------------------------------
オーバーレイの上のテキスト
------------------------------------------*/

/* 基本設定
------------------------------------------*/
.lockOverlay_txt {
    text-align: center;
    width: 250px;
}

.lockOverlaytop {
    padding: 10px;
    line-height: 1.5;
}

.lockOverlaytop>.title {
    font-weight: 600;
}



/* 位置調整
------------------------------------------*/
.lockOverlay_txt {
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: absolute;
    z-index: 3;
}


.lockOverlay_txt {
    margin: auto;
    width: 100%;
    height: 30px;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
}

.lockOverlay_txt.rakuraku {
    height: 88px;
}

.lockOverlay_txt.large {
    height: 450px;
}
.panKuzuList__item a {display: inline !important;}

@charset "UTF-8";
/*▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼
▼ 全ページ
▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼*/
/*====================================================================================
フォームのチェックボックス
====================================================================================*/
.statusCheckbox {
  padding: 0;
  background-color: transparent;
}

.statusRadio__label, .statusCheckbox__label {
  background-color: rgba(47, 184, 214, 0.35);
}

.statusRadio__input:checked + .statusRadio__label, .statusCheckbox__input:checked + .statusRadio__label, .statusRadio__input:checked + .statusCheckbox__label, .statusCheckbox__input:checked + .statusCheckbox__label {
  background-color: #2fb8d6;
  color: #fff;
}

/*====================================================================================
グラフエリア
====================================================================================*/
.graphArea {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
}

.graphArea > *:not(:last-child) {
  margin-right: 15px;
}

/*------------------------------------------
凡例
------------------------------------------*/
.kafunGraphGuide {
  -webkit-box-shadow: 0px 2px 2px 0px rgba(47, 184, 214, 0.25);
  padding: 10px;
  border: 1px solid rgba(47, 184, 214, 0.5);
  border-radius: 6px;
  background-color: white;
  box-shadow: 0px 2px 2px 0px rgba(47, 184, 214, 0.25);
}

.kafunGraphGuide__item {
  font-size: 12px;
  font-weight: 600;
  line-height: 1em;
}

.kafunGraphGuide__item:not(:last-child) {
  margin-bottom: 5px;
}

.kafunGraphGuide__item:before {
  display: inline-block;
  width: 13px;
  height: 13px;
  margin-right: 5px;
  border-radius: 100px;
  background-color: #fff;
  vertical-align: middle;
  content: "";
}

.kafunGraphGuide__item.lv4:before {
  background-color: #e50000;
}

.kafunGraphGuide__item.lv3:before {
  background-color: #ff8000;
}

.kafunGraphGuide__item.lv2:before {
  background-color: #5aca81;
}

.kafunGraphGuide__item.lv1:before {
  background-color: #00889e;
}

/*▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼
▼ トップページ
▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼*/
/*====================================================================================
マイタウン設定
====================================================================================*/
.myTownInfo {
  padding: 10px;
  border: 1px solid #2fb8d6;
  border-radius: 6px;
  background-color: #fff;
}

.myTownInfo .top, .myTownInfo .bottom {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 830px) {
  .myTownInfo .bottom {
    display: block;
  }
  .myTownInfo .bottom > *:not(:last-child) {
    margin-bottom: 10px;
  }
}

.myTownInfo .top {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #2fb8d6;
}

.myTownInfo .areaText {
  font-size: 16px;
  font-weight: 600;
}

.myTownInfo__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.myTownInfo__group > *:not(:last-child) {
  margin-right: 10px;
  padding-right: 10px;
  border-right: 1px solid #ccc;
}

@media screen and (max-width: 830px) {
  .myTownInfo__group {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .myTownInfo__group > *:not(:last-child) {
    margin-right: 15px;
    padding-right: 15px;
  }
}

.myTownInfo__item {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}

.myTownInfo__icon {
  margin-right: 5px;
}

.myTownInfo__date {
  font-weight: 600;
  line-height: 1em;
}

/*▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼
▼ マイカルテ
▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼*/
/*====================================================================================
今日の症状
====================================================================================*/
.karute {
  display: table;
  width: 100%;
  padding: 0;
  vertical-align: middle;
}

.karute > * {
  display: table-cell;
}

.karute > *:not(:last-child) {
  margin-bottom: 0;
}

.karute .left, .karute .right {
  padding: 10px 5px;
  vertical-align: middle;
}

.karute .left {
  border-right: 1px solid transparent;
}

.karute__icon {
  text-align: center;
}

.karute__icon img {
  width: 50px;
}

.karute__text {
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
}

.karuteList {
  margin-left: 10px;
  display: table;
}

.karuteList__item {
  display: table-row;
}

.karuteList__item > * {
  display: table-cell;
}

.karuteList__title {
  font-size: 1em;
  position: relative;
  padding-right: 1em;
}

.karuteList__title:after {
  -webkit-transform: translateY(-50%);
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  content: ":";
}

.karuteList__content {
  font-size: 1em;
  padding-left: 0.5em;
  max-width: 200px;
}

.karuteComment {
  display: table;
  position: relative;
  width: 100%;
  margin-top: 10px;
  padding: 10px 5px;
  border: 1px solid rgba(0, 0, 0, 0.5);
  border-radius: 8px;
  background-color: white;
}

.karuteComment > * {
  display: table-cell;
  vertical-align: middle;
}

.karuteComment:after {
  -webkit-transform: rotate(-45deg);
  display: block;
  position: absolute;
  top: -9px;
  left: 15px;
  width: 16px;
  height: 16px;
  transform: rotate(-45deg);
  border-top: 1px solid transparent;
  border-right: 1px solid transparent;
  background-color: white;
  content: "";
}

.karuteComment__icon {
  width: 35px;
}

.karuteComment__icon img {
  width: 100%;
}

.karuteComment__text {
  padding-left: 5px;
  font-weight: 600;
  text-align: left;
}

.karute.lv4 {
  border-color: #e50000;
  background-color: rgba(229, 0, 0, 0.05);
}

.karute.lv4 .karute__text {
  color: #e50000;
}

.karute.lv4 .left {
  border-right-color: #e50000;
}

.karute.lv4 .karuteComment {
  border-color: #e50000;
}

.karute.lv4 .karuteComment:after {
  border-top-color: #e50000;
  border-right-color: #e50000;
}

.karute.lv3 {
  border-color: #ff8000;
  background-color: rgba(255, 128, 0, 0.05);
}

.karute.lv3 .karute__text {
  color: #ff8000;
}

.karute.lv3 .left {
  border-right-color: #ff8000;
}

.karute.lv3 .karuteComment {
  border-color: #ff8000;
}

.karute.lv3 .karuteComment:after {
  border-top-color: #ff8000;
  border-right-color: #ff8000;
}

.karute.lv2 {
  border-color: #6cadd9;
  background-color: rgba(108, 173, 217, 0.05);
}

.karute.lv2 .karute__text {
  color: #6cadd9;
}

.karute.lv2 .left {
  border-right-color: #6cadd9;
}

.karute.lv2 .karuteComment {
  border-color: #6cadd9;
}

.karute.lv2 .karuteComment:after {
  border-top-color: #6cadd9;
  border-right-color: #6cadd9;
}

.karute.lv1 {
  border-color: #999999;
  background-color: rgba(153, 153, 153, 0.05);
}

.karute.lv1 .karute__text {
  color: #999999;
}

.karute.lv1 .left {
  border-right-color: #999999;
}

.karute.lv1 .karuteComment {
  border-color: #999999;
}

.karute.lv1 .karuteComment:after {
  border-top-color: #999999;
  border-right-color: #999999;
}

/*====================================================================================
カレンダー
====================================================================================*/
.calendarArea .cal {
  width: 100%;
}

.calendarArea th, .calendarArea td {
  text-align: center;
}

/*====================================================================================
グラフ
====================================================================================*/
.karuteGraph canvas {
  max-width: 100%;
}

.parts-switch {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  padding-bottom: 10px;
}

.parts-switch input {
  display: none;
}

.parts-switch label {
  -webkit-box-shadow: 0px 1px 1px 0px rgba(47, 184, 214, 0.15);
  display: block;
  margin: 0 4px;
  padding: 5px 15px;
  border: 2px solid #2fb8d6;
  border-radius: 4px;
  background-color: #fff;
  box-shadow: 0px 1px 1px 0px rgba(47, 184, 214, 0.15);
  color: #0f6bd2;
  font-weight: 600;
  line-height: 1em;
  text-align: center;
}

.parts-switch label:hover {
  cursor: pointer;
}

.parts-switch input:checked + label {
  -webkit-transition: 0.15s ease-in;
  -webkit-box-shadow: 0px 2px 2px 0px rgba(47, 184, 214, 0.5);
  background-color: #f3ffaf;
  box-shadow: 0px 2px 2px 0px rgba(47, 184, 214, 0.5);
  transition: 0.15s ease-in;
}

/*▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼
▼ チェックシート
▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼*/
.checkIcon {
  display: inline-block;
  width: 15px;
  margin-top: -2px;
  margin-right: 3px;
  border: 1px solid transparent;
  vertical-align: middle;
}

/*▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼
▼ spot
▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼*/
.kafunDl {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  height:83px;
}

.kafunDl__group {
  margin: 0 10px;
  text-align: center;
}

.kafunDl__group > *:not(:last-child), .kafunDl__content > *:not(:last-child) {
  margin-bottom: 5px;
}

.kafunDl__icon img {
  width: 60px;
}

.kafunDl * {
  line-height: 1em;
}

.kafunDl__date {
  font-size: 16px;
  font-weight: 600;
}

.kafunDl__date.sat{
  color: #030fb8;
}

.kafunDl__date.sun{
  color: #ce0000
}

.kafunDl__text {
  font-size: 14px;
  font-weight: bold;
}

/*====================================================================================
天気予報の花粉
====================================================================================*/
.wTable__item.kafun {
  height: 68px;
}

.wTable__item.kafun .inner {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.wTable__item.kafun .text {
  display: block;
  margin-top: 5px;
  font-size: 10px;
  line-height: 1em;
  text-align: center;
}

/*====================================================================================
凡例
====================================================================================*/
/*------------------------------------------
凡例
------------------------------------------*/
.guide {
  text-align: center;
}

.guide__inner {
  display: inline-block;
  padding: 10px;
  border: 1px solid #2fb8d6;
  border-radius: 4px;
}

.guide__item {
  font-size: 14px;
  text-align: left;
}

.guide__item.rightText {
  margin-top: 10px;
  text-align: right;
}

.guide__icon {
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-top: -1px;
  margin-right: 3px;
  border-radius: 100px;
  vertical-align: middle;
}

.guide__icon.lv4 {
  background-color: #ffb4b4;
}

.guide__icon.lv3 {
  background-color: #ffd4a2;
}

.guide__icon.lv2 {
  background-color: #a5e295;
}

.guide__icon.lv1 {
  background-color: #85b8e7;
}

@charset "UTF-8";
/*▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼
▼ 
▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼*/
.thumb img {
  width: 100%;
}

/*▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼
▼ 天気予報共通
▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼*/
/*====================================================================================
テーブル全体
====================================================================================*/
.wTable {
  position: relative;
  width: 100%;
  max-width: 510px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 20px;
}

.wTable__inner {
  position: relative;
  padding-left: 40px;
  overflow: hidden;
  border: 1px solid #ccc;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

@media screen and (min-width: 830px) {
  .wTable {
    padding-left: 20px;
  }
}

/*====================================================================================
タイトル
====================================================================================*/
.wTable__head {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 100%;
  border-right: 1px solid #ccc;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
  background-color: #f6f9fd;
}

.wTable__head .wTable__item.w {
  height: 40px;
  line-height: 40px;
}

/*====================================================================================
パーツ
====================================================================================*/
.wTable__body {
  font-size: 0;
}

.wTable__item {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0px 3px;
  text-align: center;
}

.wTable__item .inner {
  font-weight: bold;
  line-height: 1em;
}

.wTable__item.weather {
  height: 48px;
}

.wTable__item.kafun {
  height: 54px;
}

/*------------------------------------------
グループ
------------------------------------------*/
.wTable__group {
  display: inline-block;
  line-height: 0;
}

/*------------------------------------------
曜日
------------------------------------------*/
.wTable .sat, .wTable .low {
  color: #030fb8;
}

.wTable .sun, .wTable .high {
  color: #ce0000;
}

/*------------------------------------------
内容
------------------------------------------*/
.wTable__body .wTable__row {
  display: inline-block;
}

.wTable__body .wTable__row:not(:last-child) {
  border-right: 1px dashed #eee;
}

/*====================================================================================
パーツ
====================================================================================*/
/*------------------------------------------
単位
------------------------------------------*/
.wTable .unit {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  line-height: 1em;
  text-align: center;
}

/*------------------------------------------
天気アイコン
------------------------------------------*/
.wIcon {
  height: 35px;
  text-align: center;
}

/*------------------------------------------
風アイコン
------------------------------------------*/
.wdir {
  display: block;
  margin: 0px auto 3px;
}

.wdir, .wdir img {
  width: 14px;
  height: 14px;
}

/*====================================================================================
prev&next
====================================================================================*/
.wTableSwitch {
  -webkit-transform: translateY(-50%);
  position: absolute;
  top: 50%;
  width: 12px;
  height: 12px;
  transform: translateY(-50%);
  border-right: 3px solid #000;
  border-bottom: 3px solid #000;
}

.wTableSwitch.prev {
  -webkit-transform: translateY(-50%) rotate(135deg);
  left: 3px;
  transform: translateY(-50%) rotate(135deg);
}

.wTableSwitch.next {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  right: 3px;
  transform: translateY(-50%) rotate(-45deg);
}

@media screen and (max-width: 830px) {
  .wTableSwitch .prev {
    display: none;
  }
  .wTableSwitch.next {
    -webkit-transform: none;
    top: 0;
    right: 1px;
    width: 20px;
    height: 100%;
    transform: none;
    border: 1px solid #ececec;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    background-color: #f6f9fd;
  }
  .wTableSwitch.next:after {
    -webkit-transform: translateY(-50%) rotate(-45deg);
    display: block;
    position: relative;
    top: 50%;
    right: -3px;
    width: 8px;
    height: 8px;
    transform: translateY(-50%) rotate(-45deg);
    border-right: 2px solid #2fb8d6;
    border-bottom: 2px solid #2fb8d6;
    content: "";
  }
}

@media screen and (min-width: 830px) {
  .wTableSwitch {
    width: 14px;
    height: 14px;
  }
}

/*====================================================================================
時間天気
====================================================================================*/
.wTable.time {
  position: relative;
}

.wTable.time .wTable__body {
  position: relative;
  width: 100%;
  overflow-x: scroll;
  white-space: nowrap;
}

.wTable.time .wTable__body .wTable__group:not(:last-child) {
  border-right: 1px solid #ccc;
}

.wTable.time .wTable__body .wTable__item:not(:last-child) {
  border-bottom: 1px dashed #eee;
}

.wTable.time .wTable__body .wTable__row {
  border-top: 1px solid #ccc;
}

.wTable.time .wTable__item.day, .wTable.time .wTable__body .wTable__item.day .inner, .wTable.time .wTable__item.time {
  height: 25px;
}

/*------------------------------------------
日付
------------------------------------------*/
.wTable.time .wTable__body .wTable__item.day {
  display: inline-block;
  position: sticky;
  left: 0;
  padding-left: 5px;
  border-bottom: none;
}

.wTable.time .wTable__body .wTable__item.day .inner {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}

/*====================================================================================
10日天気
====================================================================================*/
.wTable.week .wTable__item.day {
  height: 50px;
}

.wTable.week .wTable__body {
  overflow-x: scroll;
  white-space: nowrap;
}

.wTable.week .wTable__body .wTable__row:not(:last-child) {
  border-right: 1px dashed #eee;
}

@media screen and (min-width: 515px) {
  .wTable.week .wTable__body .wTable__row {
    width: 14.2%;
  }
}

.wTable.week .wTable__body .wTable__item:not(:last-child) {
  border-bottom: 1px dashed #eee;
}

.wTable.week .wTable__body .wTable__item.day {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}

.wTable.week .wTable__body .wTable__item.day .week {
  display: block;
}

/*▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼
▼ スポットリスト
▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼*/
.card > .spotInfoList:first-child, .box > .spotInfoList:first-child {
  margin-top: -20px;
}

.spotInfoList {
  display: table;
  width: 100%;
  margin-right: -10px;
  margin-bottom: -20px;
  margin-left: -10px;
}

.spotInfoList__item {
  display: table-row;
}

.spotInfoList__title, .spotInfoList__content {
  display: table-cell;
  padding: 10px;
}

.spotInfoList__title {
  border-bottom: 1px solid #fff;
  background-color: rgba(47, 184, 214, 0.05);
}

.spotInfoList__title > * {
  font-weight: 600;
  white-space: nowrap;
}

.spotInfoList__content {
  width: 100%;
  border-bottom: 1px solid rgba(47, 184, 214, 0.05);
}

.spotInfoList__group:not(:last-child) {
  margin-bottom: 1em;
}

.spotInfoList .title {
  font-weight: 600;
}

.spotInfoList .button > * {
  padding: 8px 20px 8px 12px;
  font-size: 13px;
}

.spotInfoList .button > *:after {
  right: 10px;
  width: 0.5em;
  height: 0.5em;
}

.spotInfoList__thumb img {
  -o-object-fit: cover;
  width: 100px;
  height: 100px;
  object-fit: cover;
}

@media screen and (max-width: 830px) {
  .spotInfoList .column {
    display: block;
  }
  .spotInfoList .column > *:not(:last-child) {
    margin-right: 0px;
    margin-bottom: 10px;
  }
  .spotInfoList__thumb {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
  }
}

.spotInfoList__caption {
  font-size: 12px;
  text-align: center;
}

.box .spotInfoList {
  margin-bottom: 0;
}

.box .spotInfoList + .small {
  margin-top: 10px;
}

/*====================================================================================
コロナなどの注意書き
====================================================================================*/
.noticeTextArea {
  padding: 15px;
  background-color: rgba(47, 184, 214, 0.1);
}

.noticeTextArea > *:not(:last-child) {
  margin-bottom: 10px;
}

.noticeTextArea__title {
  font-weight: 600;
  text-align: center;
}

/*====================================================================================
設備の有無
====================================================================================*/
.facilityList {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}

.facilityList__item {
  width: 50%;
  margin-bottom: 5px;
  border-bottom: 1px solid #2fb8d6;
}

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

@media screen and (max-width: 830px) {
  .facilityList__item {
    font-size: 13px;
  }
}

.facilityList__icon {
  display: inline-block;
  position: relative;
  width: 10px;
  height: 10px;
  margin-right: 5px;
  background-color: #2fb8d6;
  vertical-align: bottom;
}

.facilityList__icon:after {
  -webkit-transform: translate(-50%, -50%);
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
}

.facilityList__icon.maru:after {
  width: .75em;
  height: .75em;
  border: 1px solid #fff;
  border-radius: 100px;
}

.facilityList__icon.batu:before, .facilityList__icon.batu:after {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: .75em;
  background-color: #fff;
  content: "";
}

.facilityList__icon.batu:before {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

.facilityList__icon.batu:after {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi92dWUvcG9sbGVuT2JzR3JhcGgudnVlIiwid2VicGFjazovLy8uL3Z1ZS9yZXBvcnRHcmFwaC52dWUiLCJ3ZWJwYWNrOi8vLy4vdnVlL2Nsb3NlTXNnVnVlLnZ1ZSIsIndlYnBhY2s6Ly8vLi9zdHlsZXMvc2FuaXRpemUuY3NzIiwid2VicGFjazovLy8uL3N0eWxlcy9hcHAuY3NzIiwid2VicGFjazovLy8uL3N0eWxlcy9rYWZ1bi5jc3MiLCJ3ZWJwYWNrOi8vLy4vc3R5bGVzL3Nwb3QuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFraEJBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO2FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7OztBQ3JMQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDQTtBQUNBO0VBQ0E7RUFDQTtBQUNBOzs7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDQTtBQUNBO0VBQ0E7QUFDQTtBQUNBO0VBQ0E7RUFDQTtBQUNBOzs7QUN0WkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUNBOztBQy9CQSxn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RUFDYix5Q0FBeUM7QUFDM0M7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsa0JBQWtCO0FBQ3BCOztBQUVBOztxRkFFcUY7QUFDckY7RUFDRSx5QkFBeUI7RUFDekIsc0JBQXNCO0VBQ3RCLG1CQUFtQjtFQUNuQixvQkFBb0I7RUFDcEIsb0JBQW9CO0VBQ3BCLGFBQWE7RUFDYixlQUFlO0VBQ2YsOEJBQThCO0VBQzlCLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsZ0NBQWdDO0FBQ2xDOztBQUVBO0VBQ0U7SUFDRSxXQUFXO0VBQ2I7QUFDRjs7QUFFQTtFQUNFO0lBQ0UsZUFBZTtFQUNqQjtBQUNGOztBQUVBO0VBQ0UscUJBQXFCO0VBQ3JCLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQix5QkFBeUI7RUFDekIsc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0Usd0NBQXdDO0VBQ3hDLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLFNBQVM7RUFDVCxnQ0FBZ0M7RUFDaEMsV0FBVztBQUNiOztBQUVBO0VBQ0UsWUFBWTtFQUNaLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsb0JBQW9CO0FBQ3RCOztBQUVBO0VBQ0UsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixRQUFRO0VBQ1IsU0FBUztFQUNULFVBQVU7RUFDVixhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLFdBQVc7QUFDYjs7QUFFQTtFQUNFLHVEQUF1RDtFQUN2RCwrQ0FBK0M7QUFDakQ7O0FBRUE7RUFDRSxzREFBc0Q7RUFDdEQsOENBQThDO0FBQ2hEIiwiZmlsZSI6Imh0bWxfcmVzb3VyY2VzL2NpdHkvc3R5bGVzLm1pbi5jc3M/ODlhMTQ5ODMzY2E4YWUyNDA3NjYiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG4gIDxhcnRpY2xlXG4gICAgdi1pZj1cInBpZCAmJiAhY2xvc2VcIlxuICAgIGNsYXNzPVwiYmxvY2sgbWItMTBcIlxuICA+XG4gICAgPGgyIGNsYXNzPVwidGl0bGUwMVwiPlxuICAgICAg44Od44O844Or44Oz44Ot44Oc6Kaz5ris44OH44O844K/PHNwYW4gY2xhc3M9XCJzbWFsbFwiPih7eyBwb2xsZW5yb2JvUGxhY2UgfX0pPC9zcGFuPlxuICAgIDwvaDI+XG4gICAgPGRpdiBjbGFzcz1cImxvY2tPdmVybGF5XCIgPlxuICAgICAgPGRpdiBjbGFzcz1cImxvY2tPdmVybGF5X3R4dFwiPlxuICAgICAgICA8YSA6aHJlZj1cInNldFNndGtVcmwoKVwiID7jgrnjgrTlvpfjgafjgZTopqfpoILjgZHjgb7jgZk+PC9hPlxuICAgICAgPC9kaXY+XG4gICAgPHNlY3Rpb24gY2xhc3M9XCJjYXJkIHRleHQtY2VudGVyXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIDpjbGFzcz1cIlt7J3RyYW5zJzohZGF5UG9sbGVuVGV4dH0sJ21iLTUnXVwiXG4gICAgICA+XG4gICAgICAgIDxpbWdcbiAgICAgICAgICBjbGFzcz1cImlubGluZS1ibG9ja1wiXG4gICAgICAgICAgd2lkdGg9XCI0MlwiXG4gICAgICAgICAgaGVpZ2h0PVwiMzBcIlxuICAgICAgICAgIDpzcmM9XCJkYXlQb2xsZW5JbWFnZVwiXG4gICAgICAgID5cbiAgICAgICAgPHBcbiAgICAgICAgICB2LWNsb2FrXG4gICAgICAgICAgY2xhc3M9XCJ0ZXh0LWNlbnRlciBpbmxpbmUtYmxvY2tcIlxuICAgICAgICAgIHN0eWxlPVwiaGVpZ2h0OjIyLjVweFwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBkYXlQb2xsZW5UZXh0IH19XG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPHAgY2xhc3M9XCJkYXRlU3dpdGNoXCI+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgOmNsYXNzPVwiWydwcmV2JywnYnRuLWRheScsIHsgJ2hpZGUnOiAhaGFzUHJldiB9XVwiXG4gICAgICAgICAgQGNsaWNrPVwicHJldigpXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICB2LWNsb2FrXG4gICAgICAgICAgY2xhc3M9XCJkYXRlIHRpdGxlMDNcIlxuICAgICAgICA+e3sgc2hvd0RhdGUgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgOmNsYXNzPVwiWyduZXh0JywnYnRuLWRheScsIHsgJ2hpZGUnOiAhaGFzTmV4dCB9XVwiXG4gICAgICAgICAgQGNsaWNrPVwibmV4dCgpXCJcbiAgICAgICAgLz5cbiAgICAgIDwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJzd2ljdGhBcmVhXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzd2l0Y2hUYWJcIj5cbiAgICAgICAgICA8cFxuICAgICAgICAgICAgaWQ9XCJzd2l0Y2hUYWJfX3BvbGxlblwiXG4gICAgICAgICAgICA6Y2xhc3M9XCJbJ3N3aXRjaFRhYl9faXRlbScsIHsnYWN0X19fJzogc2hvd1R5cGUgPT09ICdwb2xsZW4nfV1cIlxuICAgICAgICAgICAgQGNsaWNrPVwidG9nZ2xlVHlwZSgncG9sbGVuJylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuPuiKseeyiTwvc3Bhbj5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHBcbiAgICAgICAgICAgIGlkPVwic3dpdGNoVGFiX19ob3VyM1wiXG4gICAgICAgICAgICA6Y2xhc3M9XCJbJ3N3aXRjaFRhYl9faXRlbScsIHsnYWN0Jzogc2hvd1R5cGUgPT09ICd0ZW1wJ31dXCJcbiAgICAgICAgICAgIEBjbGljaz1cInRvZ2dsZVR5cGUoJ3RlbXAnKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4+5rCX5ripPC9zcGFuPlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cFxuICAgICAgICAgICAgaWQ9XCJzd2l0Y2hUYWJfX3dlZWtcIlxuICAgICAgICAgICAgOmNsYXNzPVwiWydzd2l0Y2hUYWJfX2l0ZW0nLCB7J2FjdCc6IHNob3dUeXBlID09PSAnd2luZCd9XVwiXG4gICAgICAgICAgICBAY2xpY2s9XCJ0b2dnbGVUeXBlKCd3aW5kJylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuPumiqOWQkemiqOmAnzwvc3Bhbj5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIGdyYXBoIGFyZWEucyAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN3aXRjaENvbnRlbnRcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICA6Y2xhc3M9XCJbJ3N3aXRjaENvbnRlbnRfX2l0ZW0nLCB7J2FjdCc6IHNob3dUeXBlID09PSAncG9sbGVuJ31dXCJcbiAgICAgICAgICAgIGRhdGEtbnVtPVwiMVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyYXBoLWFyZWFcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGlkPVwib2JzLWdyYXBoLXBvbGxlblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJncmFwaFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICA6Y2xhc3M9XCJbJ3N3aXRjaENvbnRlbnRfX2l0ZW0nLCB7J2FjdCc6IHNob3dUeXBlID09PSAndGVtcCd9XVwiXG4gICAgICAgICAgICBkYXRhLW51bT1cIjJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmFwaC1hcmVhXCI+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBpZD1cIm9icy1ncmFwaC10ZW1wXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImdyYXBoXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIDpjbGFzcz1cIlsnc3dpdGNoQ29udGVudF9faXRlbScsIHsnYWN0Jzogc2hvd1R5cGUgPT09ICd3aW5kJ31dXCJcbiAgICAgICAgICAgIGRhdGEtbnVtPVwiM1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyYXBoLWFyZWFcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGlkPVwib2JzLWdyYXBoLXdpbmRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZ3JhcGhcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIGdyYXBoIGFyZWEuZSAtLT5cbiAgICAgIDxwIHYtY2xvYWs+XG4gICAgICAgIOWun+azgeODh+ODvOOCv+OBruOAjOawl+a4qeOAjeOAjOmiqOWQkemiqOmAn+OAjeOBr+OAgeacgOWvhOOCiuOBruOCouODoeODgOOCuTxzcGFuXG4gICAgICAgICAgdi1pZj1cImFtZW5hbWVcIlxuICAgICAgICAgIHYtY2xvYWtcbiAgICAgICAgPih7eyBhbWVuYW1lIH19KTwvc3Bhbj7jga7jg4fjg7zjgr/jgpLmjrLovInjgZfjgabjgYTjgb7jgZnjgIJcbiAgICAgIDwvcD5cbiAgICA8L3NlY3Rpb24+XG4gIDwvZGl2PlxuICA8L2FydGljbGU+XG48L3RlbXBsYXRlPlxuPHNjcmlwdD5cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVmICovXG5pbXBvcnQgVnVlIGZyb20gJ3Z1ZSdcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcydcbmltcG9ydCAkIGZyb20gJ2pRdWVyeSdcbmltcG9ydCB2YWx1ZXMgZnJvbSAnLi4vc2NyaXB0cy92YWx1ZXMnXG5cbmNvbnN0IG5vdyA9IG5ldyBEYXRlKClcbmNvbnN0IHR5cGVzID0gWydwb2xsZW4nLCAndGVtcCcsICd3aW5kJ11cbmNvbnN0IHRoaXNZZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpXG5jb25zdCBEQVRBX0xJTUlUID0ge1xuICBiZWc6IG5ldyBEYXRlKHRoaXNZZWFyLCAxIC0gMSwgMSksXG4gIGVuZDogbmV3IERhdGUodGhpc1llYXIsIDMgLSAxLCAzMSlcbn1cbmNvbnN0IHJhbmtKUCA9IHtcbiAgMTogJ+acqueZuuihqCcsXG4gIDI6ICflsJHjgarjgYQnLFxuICAzOiAn44KE44KE5aSa44GEJyxcbiAgNDogJ+WkmuOBhCcsXG4gIDU6ICfpnZ7luLjjgavlpJrjgYQnXG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcHM6IHtcbiAgICBuZWFyZXN0cG9sbGVuOiB7IHR5cGU6IE9iamVjdCwgZGVmYXVsdDogZnVuY3Rpb24gKCkgeyByZXR1cm4ge30gfSB9XG4gIH0sXG4gIGRhdGEgKCkge1xuICAgIHJldHVybiB7XG4gICAgICBwaWQ6IHduaXV0aWwucGFyYW0ucGlkIHx8ICcnLFxuICAgICAgT2JzRGF0YTogeyB3aW5kOiB7fSwgdGVtcDoge30sIHBvbGxlbjoge30gfSxcbiAgICAgIHNob3dUeXBlOiAncG9sbGVuJyxcbiAgICAgIGN1cnJlbnREYXRlOiAodGhpcy5pc1ZhbGlkRGF0ZShub3cpKSA/IG5vdyA6IERBVEFfTElNSVQuZW5kLFxuICAgICAgZHJhd0ZsYWc6IHsgcG9sbGVuOiB0cnVlLCB3aW5kOiB0cnVlLCB0ZW1wOiB0cnVlIH0sXG4gICAgICBhbWVJbmZvOiB7fSxcbiAgICAgIGZpcnN0RmxhZzogdHJ1ZSxcbiAgICAgIGNsb3NlOiB2YWx1ZXMuQ0xPU0VfTU9ERSAmJiAhd2luZG93Ll9fRk9SQ0VfT1BFTl9fXG4gICAgfVxuICB9LFxuICBjb21wdXRlZDoge1xuICAgIHBvbGxlbkNvdW50ICgpIHtcbiAgICAgIGNvbnN0IF9kYXRhID0gdGhpcy5PYnNEYXRhLnBvbGxlbj8uW3RoaXMucG9sbGVuT2JzZGF0ZVBhcmFtXT8ucG9sbGVuIHx8IFtdXG4gICAgICBpZiAoX2RhdGEubGVuZ3RoID4gMSkge1xuICAgICAgICBsZXQgc3VtID0gMFxuICAgICAgICBmb3IgKGxldCBpID0gMCwgbCA9IF9kYXRhLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgIHN1bSArPSBfZGF0YVtpXVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdW1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBOYU5cbiAgICAgIH1cbiAgICB9LFxuICAgIHBvbGxlblJhbmsgKCkge1xuICAgICAgcmV0dXJuIHRoaXMuY291bnQyUmFuayh0aGlzLnBvbGxlbkNvdW50KVxuICAgIH0sXG4gICAgcG9sbGVuUmFua1RleHQgKCkge1xuICAgICAgcmV0dXJuIHJhbmtKUFt0aGlzLnBvbGxlblJhbmtdXG4gICAgfSxcbiAgICBkYXlQb2xsZW5UZXh0ICgpIHtcbiAgICAgIGlmICh0aGlzLnBvbGxlblJhbmsgPT09IDEpIHsgcmV0dXJuICcnIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLnBvbGxlblJhbmtUZXh0fSgke3RoaXMucG9sbGVuQ291bnR9IOWAiylgXG4gICAgICB9XG4gICAgfSxcbiAgICBkYXlQb2xsZW5JbWFnZSAoKSB7XG4gICAgICBjb25zdCByYW5rID0gdGhpcy5wb2xsZW5SYW5rIC0gMVxuICAgICAgcmV0dXJuIGBodHRwczovL2d2cy53ZWF0aGVybmV3cy5qcC9zL3BvbGxlbi9pbWcvcG9sbGVuL3Jhbmske3Jhbmt9X21hcC5zdmdgXG4gICAgfSxcbiAgICBwb2xsZW5PYnNkYXRlUGFyYW0gKCkge1xuICAgICAgcmV0dXJuIHduaXV0aWwuc2ltcGxlX3N0cmZ0aW1lKCclWS8lbS8lZCcsIHRoaXMuY3VycmVudERhdGUpXG4gICAgfSxcbiAgICBXeE9ic2RhdGVQYXJhbSAoKSB7XG4gICAgICByZXR1cm4gd25pdXRpbC5zaW1wbGVfc3RyZnRpbWUoJyVZJW0lZCcsIHRoaXMuY3VycmVudERhdGUpXG4gICAgfSxcbiAgICBzaG93RGF0ZSAoKSB7XG4gICAgICByZXR1cm4gd25pdXRpbC5zaW1wbGVfc3RyZnRpbWUoJyUtbeaciCUtZOaXpScsIHRoaXMuY3VycmVudERhdGUpXG4gICAgfSxcbiAgICBoYXNQcmV2ICgpIHtcbiAgICAgIGNvbnN0IHByZXYgPSBuZXcgRGF0ZSh0aGlzLmN1cnJlbnREYXRlLmdldFRpbWUoKSAtIDg2NDAwICogMTAwMClcbiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWREYXRlKHByZXYpXG4gICAgfSxcbiAgICBoYXNOZXh0ICgpIHtcbiAgICAgIGNvbnN0IG5leHQgPSBuZXcgRGF0ZSh0aGlzLmN1cnJlbnREYXRlLmdldFRpbWUoKSArIDg2NDAwICogMTAwMClcbiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWREYXRlKG5leHQpXG4gICAgfSxcbiAgICBwb2xsZW5yb2JvUGxhY2UgKCkge1xuICAgICAgcmV0dXJuIHRoaXMubmVhcmVzdHBvbGxlbi5wbGFjZSB8fCAnJ1xuICAgIH0sXG4gICAgcG9sbGVucm9ib0xhdGxvbiAoKSB7XG4gICAgICByZXR1cm4geyBsYXQ6IHRoaXMubmVhcmVzdHBvbGxlbi5sYXQsIGxvbjogdGhpcy5uZWFyZXN0cG9sbGVuLmxvbiB9IHx8IHt9XG4gICAgfSxcbiAgICBhbWVuYW1lICgpIHtcbiAgICAgIHJldHVybiB0aGlzLmFtZUluZm8uYW1lbmFtZSB8fCAnJ1xuICAgIH1cbiAgfSxcbiAgd2F0Y2g6IHtcbiAgICBjdXJyZW50RGF0ZSAoKSB7XG4gICAgICBpZiAodGhpcy5jbG9zZSkgeyByZXR1cm4gfVxuICAgICAgLyog5LiA5pem44Kw44Op44OV44KS44Oq44K744OD44OI44GZ44KLICovXG4gICAgICBkMy5zZWxlY3RBbGwoJ3N2Zzpub3QoI2xvZ28td25pKScpLnJlbW92ZSgpXG4gICAgICBmb3IgKGNvbnN0IHR5cGUgb2YgdHlwZXMpIHtcbiAgICAgICAgdGhpcy5kcmF3RmxhZ1t0eXBlXSA9IHRydWVcbiAgICAgIH1cbiAgICAgIHRoaXMuZmlyc3RGbGFnID0gdHJ1ZVxuICAgICAgdGhpcy5nZXRPYnNEYXRhKClcbiAgICB9LFxuICAgIHNob3dUeXBlICgpIHtcbiAgICAgIGlmICh0aGlzLmNsb3NlKSB7IHJldHVybiB9XG4gICAgICB0aGlzLmdldE9ic0RhdGEoKVxuICAgIH0sXG4gICAgbmVhcmVzdHBvbGxlbjoge1xuICAgICAgaGFuZGxlcjogZnVuY3Rpb24gKHZhbCwgb2xkVmFsKSB7XG4gICAgICAgIGlmICh0aGlzLmNsb3NlKSB7IHJldHVybiB9XG4gICAgICAgIHRoaXMucGlkID0gdGhpcy5uZWFyZXN0cG9sbGVuLnBpZFxuICAgICAgICBpZiAodGhpcy5waWQpIHtcbiAgICAgICAgICB0aGlzLmdldE9ic0RhdGEoKVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZGVlcDogdHJ1ZVxuICAgIH1cbiAgfSxcbiAgbW91bnRlZCAoKSB7XG4gICAgaWYgKHRoaXMuY2xvc2UpIHsgcmV0dXJuIH1cbiAgICBpZiAodGhpcy5waWQpIHtcbiAgICAgIHRoaXMuZ2V0T2JzRGF0YSgpXG4gICAgfVxuICB9LFxuICBtZXRob2RzOiB7XG4gICAgYXN5bmMgZ2V0T2JzRGF0YSAoKSB7XG4gICAgICBsZXQgT2JzRGF0YVxuICAgICAgaWYgKHRoaXMuc2hvd1R5cGUgPT09ICdwb2xsZW4nKSB7XG4gICAgICAgIE9ic0RhdGEgPSBhd2FpdCB0aGlzLmdldFBvbGxlbk9ic0RhdGEodGhpcy5wb2xsZW5PYnNkYXRlUGFyYW0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBPYnNEYXRhID0gYXdhaXQgdGhpcy5nZXRXeE9ic0RhdGEodGhpcy5XeE9ic2RhdGVQYXJhbSwgdGhpcy5zaG93VHlwZSlcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmRyYXdGbGFnW3RoaXMuc2hvd1R5cGVdKSB7XG4gICAgICAgIHRoaXMuZHJhd09ic0RhdGEoT2JzRGF0YSwgdGhpcy5zaG93VHlwZSlcbiAgICAgICAgdGhpcy5kcmF3RmxhZ1t0aGlzLnNob3dUeXBlXSA9IGZhbHNlXG4gICAgICAgIGlmICh0aGlzLmZpcnN0RmxhZykge1xuICAgICAgICAgIGNvbnN0IHdpZHRoID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYG9icy1ncmFwaC0ke3RoaXMuc2hvd1R5cGV9YCkuY2xpZW50V2lkdGhcbiAgICAgICAgICBjb25zdCBoZWlnaHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgb2JzLWdyYXBoLSR7dGhpcy5zaG93VHlwZX1gKS5jbGllbnRIZWlnaHRcbiAgICAgICAgICBmb3IgKGNvbnN0IHR5cGUgb2YgdHlwZXMpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBvYnMtZ3JhcGgtJHt0eXBlfWApLnN0eWxlLndpZHRoID0gYCR7d2lkdGh9cHhgXG4gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgb2JzLWdyYXBoLSR7dHlwZX1gKS5zdHlsZS5oZWlnaHQgPSBgJHtoZWlnaHR9cHhgXG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuZmlyc3RGbGFnID0gZmFsc2VcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgY291bnQyUmFuayAoY291bnQpIHtcbiAgICAgIGlmIChpc05hTihjb3VudCkpIHJldHVybiAxXG4gICAgICBpZiAoY291bnQgPCAzMCkgcmV0dXJuIDJcbiAgICAgIGVsc2UgaWYgKGNvdW50IDwgMTAwKSByZXR1cm4gM1xuICAgICAgZWxzZSBpZiAoY291bnQgPCAyMDApIHJldHVybiA0XG4gICAgICBlbHNlIHJldHVybiA1XG4gICAgfSxcbiAgICB0b2dnbGVUeXBlIChfc2hvd1R5cGUpIHtcbiAgICAgIHRoaXMuc2hvd1R5cGUgPSBfc2hvd1R5cGVcbiAgICB9LFxuICAgIHByZXYgKCkge1xuICAgICAgdGhpcy5jdXJyZW50RGF0ZSA9IG5ldyBEYXRlKHRoaXMuY3VycmVudERhdGUuZ2V0VGltZSgpIC0gODY0MDAgKiAxMDAwKVxuICAgIH0sXG4gICAgbmV4dCAoKSB7XG4gICAgICB0aGlzLmN1cnJlbnREYXRlID0gbmV3IERhdGUodGhpcy5jdXJyZW50RGF0ZS5nZXRUaW1lKCkgKyA4NjQwMCAqIDEwMDApXG4gICAgfSxcbiAgICBpc1ZhbGlkRGF0ZSAoZGF0ZSkge1xuICAgICAgcmV0dXJuIChEQVRBX0xJTUlULmJlZy5nZXRUaW1lKCkgPD0gZGF0ZS5nZXRUaW1lKCkpICYmIChkYXRlLmdldFRpbWUoKSA8PSBEQVRBX0xJTUlULmVuZC5nZXRUaW1lKCkpICYmIChkYXRlLmdldFRpbWUoKSA8PSBub3cuZ2V0VGltZSgpKVxuICAgIH0sXG4gICAgZHJhd09ic0RhdGEgKGQsIHR5cGUpIHtcbiAgICAgIGNvbnN0IHRpbWUgPSBkW2Ake3R5cGV9X3RpbWVgXSAqIDEwMDBcbiAgICAgIGNvbnN0IHN0cmlkZSA9IGRbYCR7dHlwZX1fc3RyaWRlYF0gKiAxMDAwXG5cbiAgICAgIHZhciBkYXRhID0gW11cbiAgICAgIGxldCBtYXhWYWwgPSAtOTk5OVxuICAgICAgbGV0IG1pblZhbCA9IDk5OTlcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMjQ7IGkrKykge1xuICAgICAgICBkYXRhW2ldID0ge31cbiAgICAgICAgZGF0YVtpXS54ID0gbmV3IERhdGUodGltZSArIHN0cmlkZSAqIGkpLmdldEhvdXJzKClcbiAgICAgICAgaWYgKGRhdGFbaV0ueCA9PT0gMCkgZGF0YVtpXS54ID0gMjRcbiAgICAgICAgaWYgKHR5cGUgPT09ICd3aW5kJykge1xuICAgICAgICAgIGRhdGFbaV0udmFsID0gZFt0eXBlXVtpXSA/IGRbdHlwZV1baV0uc3BkIDogbnVsbFxuICAgICAgICAgIGRhdGFbaV0uZGlyID0gZFt0eXBlXVtpXSA/IGRbdHlwZV1baV0uZGlyIDogbnVsbFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRhdGFbaV0udmFsID0gZFt0eXBlXVtpXVxuICAgICAgICB9XG4gICAgICAgIGlmIChkYXRhW2ldLnZhbCA+IG1heFZhbCkgbWF4VmFsID0gZGF0YVtpXS52YWxcbiAgICAgICAgaWYgKGRhdGFbaV0udmFsIDwgbWluVmFsKSBtaW5WYWwgPSBkYXRhW2ldLnZhbFxuICAgICAgfVxuICAgICAgY29uc3QgaWQgPSBgI29icy1ncmFwaC0ke3R5cGV9YFxuICAgICAgdmFyIGltZ3cgPSAkKGlkKS53aWR0aCgpXG4gICAgICB2YXIgaW1naCA9IGltZ3cgLyA0ICogM1xuICAgICAgdmFyIG1hcmdpbiA9IHsgdG9wOiA0MCwgcmlnaHQ6IDQwLCBib3R0b206IDQwLCBsZWZ0OiA0MCB9XG4gICAgICB2YXIgd2lkdGggPSBpbWd3IC0gbWFyZ2luLmxlZnQgLSBtYXJnaW4ucmlnaHRcbiAgICAgIHZhciBoZWlnaHQgPSBpbWdoIC0gbWFyZ2luLnRvcCAtIG1hcmdpbi5ib3R0b21cbiAgICAgIHZhciBwbG90U2l6ZSA9IDRcbiAgICAgIGlmICh3aWR0aCA8IDQwMCkgcGxvdFNpemUgPSAzXG5cbiAgICAgIGNvbnN0IGxpbmUgPSBkMy5saW5lKClcbiAgICAgICAgLmRlZmluZWQoZnVuY3Rpb24gKGQpIHsgcmV0dXJuIGQudmFsICE9IG51bGwgfSlcbiAgICAgICAgLngoZnVuY3Rpb24gKGQpIHsgcmV0dXJuIHgoZC54KSB9KVxuICAgICAgICAueShmdW5jdGlvbiAoZCkgeyByZXR1cm4geShkLnZhbCkgfSlcblxuICAgICAgY29uc3QgeCA9IGQzLnNjYWxlTGluZWFyKClcbiAgICAgICAgLmRvbWFpbihbMCwgMjRdKVxuICAgICAgICAucmFuZ2UoWzAsIHdpZHRoXSlcblxuICAgICAgbGV0IGRhdGFSYW5nZSA9IFtdXG4gICAgICBsZXQgdW5pdCA9ICcnXG4gICAgICBsZXQgbWluXG4gICAgICBsZXQgbWF4XG4gICAgICBpZiAodHlwZSA9PT0gJ3BvbGxlbicpIHtcbiAgICAgICAgbWF4ID0gTWF0aC5tYXgobWF4VmFsLCAxMDApXG4gICAgICAgIGlmIChtYXggJSA1MCAhPT0gMCkgbWF4ID0gKG1heCArIDUwKSAtIG1heCAlIDUwXG4gICAgICAgIGRhdGFSYW5nZSA9IFswLCBtYXhdXG4gICAgICAgIHVuaXQgPSAn5YCLJ1xuICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAndGVtcCcpIHtcbiAgICAgICAgbWluID0gTWF0aC5taW4obWluVmFsLCAwKSAqIDEuMlxuICAgICAgICBtaW4gPSAobWluIC0gMjApIC0gbWluICUgMjBcbiAgICAgICAgbWF4ID0gTWF0aC5tYXgobWF4VmFsLCAwKSAqIDEuMlxuICAgICAgICBtYXggPSAobWF4ICsgMjApIC0gbWF4ICUgMjBcbiAgICAgICAgZGF0YVJhbmdlID0gW21pbiwgbWF4XVxuICAgICAgICB1bml0ID0gJ+KEgydcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3dpbmQnKSB7XG4gICAgICAgIG1heCA9IE1hdGgubWF4KG1heFZhbCwgMCkgKiAxLjJcbiAgICAgICAgbWF4ID0gKG1heCArIDIwKSAtIG1heCAlIDIwXG4gICAgICAgIGRhdGFSYW5nZSA9IFswLCBtYXhdXG4gICAgICAgIHVuaXQgPSAnbS9zJ1xuICAgICAgfVxuICAgICAgY29uc3QgeSA9IGQzLnNjYWxlTGluZWFyKClcbiAgICAgICAgLmRvbWFpbihkYXRhUmFuZ2UpXG4gICAgICAgIC5yYW5nZShbaGVpZ2h0LCAwXSlcblxuICAgICAgY29uc3Qgc3ZnID0gZDMuc2VsZWN0KGlkKS5hcHBlbmQoJ3N2ZycpXG4gICAgICAgIC5hdHRyKCd3aWR0aCcsIHdpZHRoICsgbWFyZ2luLmxlZnQgKyBtYXJnaW4ucmlnaHQpXG4gICAgICAgIC5hdHRyKCdoZWlnaHQnLCBoZWlnaHQgKyBtYXJnaW4udG9wICsgbWFyZ2luLmJvdHRvbSlcbiAgICAgICAgLmF0dHIoJ3ZpZXdCb3gnLCAnMCAwICcgKyBpbWd3ICsgJyAnICsgaW1naClcbiAgICAgICAgLmF0dHIoJ3ByZXNlcnZlQXNwZWN0UmF0aW8nLCAneE1pZFlNaWQgbWVldCcpXG4gICAgICAgIC5kYXR1bShkYXRhKVxuICAgICAgICAuYXBwZW5kKCdnJylcbiAgICAgICAgLmF0dHIoJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUoJyArIG1hcmdpbi5sZWZ0ICsgJywnICsgbWFyZ2luLnRvcCArICcpJylcblxuICAgICAgc3ZnLmFwcGVuZCgnZycpXG4gICAgICAgIC5hdHRyKCdjbGFzcycsICdheGlzIGF4aXMtLXgnKVxuICAgICAgICAuYXR0cigndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZSgwLCcgKyBoZWlnaHQgKyAnKScpXG4gICAgICAgIC5jYWxsKGQzLmF4aXNCb3R0b20oKS5zY2FsZSh4KSlcblxuICAgICAgc3ZnLmFwcGVuZCgndGV4dCcpXG4gICAgICAgIC5hdHRyKCdjbGFzcycsICdheGlzJylcbiAgICAgICAgLmF0dHIoJ3gnLCAtMzIpXG4gICAgICAgIC5hdHRyKCd5JywgLTE1KVxuICAgICAgICAuYXR0cignZm9udC1zaXplJywgMTIpXG4gICAgICAgIC50ZXh0KCcoJyArIHVuaXQgKyAnKScpXG5cbiAgICAgIHN2Zy5hcHBlbmQoJ3RleHQnKVxuICAgICAgICAuYXR0cignY2xhc3MnLCAnYXhpcycpXG4gICAgICAgIC5hdHRyKCd4Jywgd2lkdGgpXG4gICAgICAgIC5hdHRyKCd5JywgaGVpZ2h0ICsgMzIpXG4gICAgICAgIC5hdHRyKCdmb250LXNpemUnLCAxMilcbiAgICAgICAgLnRleHQoJyjmmYIpJylcblxuICAgICAgc3ZnLmFwcGVuZCgnZycpXG4gICAgICAgIC5hdHRyKCdjbGFzcycsICdheGlzIGF4aXMtLXknKVxuICAgICAgICAuY2FsbChkMy5heGlzTGVmdCgpLnNjYWxlKHkpLnRpY2tzKDUpKVxuXG4gICAgICBzdmcuYXBwZW5kKCdwYXRoJylcbiAgICAgICAgLmF0dHIoJ2NsYXNzJywgJ2xpbmUnKVxuICAgICAgICAuYXR0cignZCcsIGxpbmUpXG5cbiAgICAgIGxldCBwbG90XG4gICAgICBpZiAodHlwZSA9PT0gJ3dpbmQnKSB7XG4gICAgICAgIHZhciBhcnJvdyA9IGNyZWF0ZUFycm93KHBsb3RTaXplICogMilcbiAgICAgICAgcGxvdCA9IHN2Zy5hcHBlbmQoJ2cnKS5zZWxlY3RBbGwoJy5wbG90JylcbiAgICAgICAgICAuZGF0YShkYXRhLmZpbHRlcihmdW5jdGlvbiAoZCkgeyByZXR1cm4gZC52YWwgfSkpXG4gICAgICAgICAgLmVudGVyKCkuYXBwZW5kKCdwb2x5Z29uJylcbiAgICAgICAgICAuYXR0cigncG9pbnRzJywgYXJyb3cpXG4gICAgICAgICAgLmF0dHIoJ3RyYW5zZm9ybScsIGZ1bmN0aW9uIChkLCBpKSB7XG4gICAgICAgICAgICBjb25zdCBwb3N4ID0geChkLngpXG4gICAgICAgICAgICBjb25zdCBwb3N5ID0geShkLnZhbClcbiAgICAgICAgICAgIGNvbnN0IHJvdGF0ZSA9IGQuZGlyICogMjIuNVxuICAgICAgICAgICAgcmV0dXJuIGB0cmFuc2xhdGUoJHtwb3N4fSwke3Bvc3l9KSByb3RhdGUoJHtyb3RhdGV9KWBcbiAgICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGxvdCA9IHN2Zy5hcHBlbmQoJ2cnKS5zZWxlY3RBbGwoJy5wbG90JylcbiAgICAgICAgICAuZGF0YShkYXRhLmZpbHRlcihmdW5jdGlvbiAoZCkgeyByZXR1cm4gZC52YWwgIT0gbnVsbCB9KSlcbiAgICAgICAgICAuZW50ZXIoKS5hcHBlbmQoJ2NpcmNsZScpXG4gICAgICAgICAgLmF0dHIoJ2NsYXNzJywgJ2RvdCcpXG4gICAgICAgICAgLmF0dHIoJ2N4JywgbGluZS54KCkpXG4gICAgICAgICAgLmF0dHIoJ2N5JywgbGluZS55KCkpXG4gICAgICAgICAgLmF0dHIoJ3InLCBwbG90U2l6ZSlcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGUgPT09ICdwb2xsZW4nKSB7XG4gICAgICAgIHZhciBzdW0gPSAwXG4gICAgICAgIHBsb3QuYXR0cignY2xhc3MnLCBmdW5jdGlvbiAoZCwgaSkgeyBzdW0gKz0gZC52YWw7IHJldHVybiAncGxvdCAnICsgdHlwZSArIGdldFJhbmsoc3VtLCB0eXBlKSB9KVxuICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAndGVtcCcgfHwgdHlwZSA9PT0gJ3dpbmQnKSB7XG4gICAgICAgIHBsb3QuYXR0cignY2xhc3MnLCBmdW5jdGlvbiAoZCwgaSkgeyByZXR1cm4gJ3Bsb3QgJyArIHR5cGUgKyBnZXRSYW5rKGQudmFsLCB0eXBlKSB9KVxuICAgICAgfVxuXG4gICAgICBwbG90XG4gICAgICAgIC5hcHBlbmQoJ3RpdGxlJylcbiAgICAgICAgLnRleHQoZnVuY3Rpb24gKGQpIHsgcmV0dXJuIGQueCArICfmmYIgKCcgKyBkLnZhbCArIHVuaXQgKyAnKScgfSlcbiAgICB9LFxuICAgIGdldFd4T2JzRGF0YSAoZGF0ZVBhcmFtLCBzaG93VHlwZSkge1xuICAgICAgY29uc3Qgc2VsZiA9IHRoaXNcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGlmIChzZWxmLk9ic0RhdGFbc2hvd1R5cGVdW2RhdGVQYXJhbV0pIHtcbiAgICAgICAgICByZXNvbHZlKHNlbGYuT2JzRGF0YVtzaG93VHlwZV1bZGF0ZVBhcmFtXSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBheGlvcy5nZXQoJ2h0dHBzOi8vd2VhdGhlcm5ld3MuanAvYXBpL3BvbGxlbi9jZ2kvZ2V0V3hPYnMuZmNnaScsIHsgcGFyYW1zOiB7IHRtOiB3bml1dGlsLm5vY2FjaGVzKDEwKSwgZGF0YXR5cGU6IHNob3dUeXBlLCBkYXRlOiBkYXRlUGFyYW0sIGxhdDogc2VsZi5wb2xsZW5yb2JvTGF0bG9uLmxhdCwgbG9uOiBzZWxmLnBvbGxlbnJvYm9MYXRsb24ubG9uIH0gfSlcbiAgICAgICAgICAgIC50aGVuKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgVnVlLnNldChzZWxmLk9ic0RhdGFbc2hvd1R5cGVdLCBkYXRlUGFyYW0sIHJlcy5kYXRhLm9icyB8fCB7fSlcbiAgICAgICAgICAgICAgVnVlLnNldChzZWxmLCAnYW1lSW5mbycsIHJlcy5kYXRhLmFtZWRhcyB8fCB7fSlcbiAgICAgICAgICAgICAgcmVzb2x2ZShzZWxmLk9ic0RhdGFbc2hvd1R5cGVdW2RhdGVQYXJhbV0pXG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0sXG4gICAgc2V0U2d0a1VybCgpe1xuICAgICAgICByZXR1cm4gYGh0dHBzOi8vd3d3LmRjbS1iLmpwL2NzL2Nwc2l0ZS5odG1sP3VybD1odHRwczovL2Rjc2d0ay53bmkuY28uanAvc2ArIGxvY2F0aW9uLnBhdGhuYW1lO1xuICAgIH0sXG4gICAgZ2V0UG9sbGVuT2JzRGF0YSAoZGF0ZVBhcmFtKSB7XG4gICAgICBjb25zdCBzZWxmID0gdGhpc1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgaWYgKHNlbGYuT2JzRGF0YS5wb2xsZW5bZGF0ZVBhcmFtXSkge1xuICAgICAgICAgIHJlc29sdmUoc2VsZi5PYnNEYXRhLnBvbGxlbltkYXRlUGFyYW1dKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGF4aW9zLmdldChgaHR0cHM6Ly9zaXRlLndlYXRoZXJuZXdzLmpwL3NpdGUvcG9sbGVuL2pzb24vb2JzLyR7ZGF0ZVBhcmFtfS8ke3NlbGYucGlkfS5qc29uYCwgeyBwYXJhbXM6IHsgdG06IHduaXV0aWwubm9jYWNoZXMoMTApIH0gfSlcbiAgICAgICAgICAgIC50aGVuKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgVnVlLnNldChzZWxmLk9ic0RhdGEucG9sbGVuLCBkYXRlUGFyYW0sIHJlcy5kYXRhLm9icyB8fCB7fSlcbiAgICAgICAgICAgICAgcmVzb2x2ZShzZWxmLk9ic0RhdGEucG9sbGVuW2RhdGVQYXJhbV0pXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2dldCBmYWlsZWQgcG9sbGVuIGRhdGEnKVxuICAgICAgICAgICAgICByZXNvbHZlKHsgcG9sbGVuOiBbXSwgcG9sbGVuX3RpbWU6IDM2MDAgKiAxMDAwICogMTUsIHBvbGxlbl9zdHJpZGU6IDM2MDAgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldFJhbmsgKHZhbCwgdHlwZSkge1xuICBpZiAodHlwZSA9PT0gJ3BvbGxlbicpIHtcbiAgICBpZiAoaXNOYU4odmFsKSkgcmV0dXJuIDBcbiAgICBpZiAodmFsIDwgMzApIHJldHVybiAxXG4gICAgZWxzZSBpZiAodmFsIDwgMTAwKSByZXR1cm4gMlxuICAgIGVsc2UgaWYgKHZhbCA8IDIwMCkgcmV0dXJuIDNcbiAgICBlbHNlIHJldHVybiA0XG4gIH1cbiAgaWYgKHR5cGUgPT09ICd3aW5kJykge1xuICAgIGlmICh2YWwgPCA1KSByZXR1cm4gMVxuICAgIGVsc2UgaWYgKHZhbCA8IDEwKSByZXR1cm4gMlxuICAgIGVsc2UgaWYgKHZhbCA8IDE1KSByZXR1cm4gM1xuICAgIGVsc2UgaWYgKHZhbCA8IDIwKSByZXR1cm4gNFxuICAgIGVsc2UgaWYgKHZhbCA8IDI1KSByZXR1cm4gNVxuICAgIGVsc2UgcmV0dXJuIDZcbiAgfSBlbHNlIGlmICh0eXBlID09PSAndGVtcCcpIHtcbiAgICB2YXIgbSA9IDEgLy8gVE9ET1xuICAgIGlmIChtID09PSAxMiB8fCBtID09PSAxIHx8IG0gPT09IDIpIHsgLyogd2ludGVyICovXG4gICAgICBpZiAodmFsIDwgLTEwKSByZXR1cm4gJ193aGl0ZSdcbiAgICAgIGVsc2UgaWYgKHZhbCA8IC01KSByZXR1cm4gJ19ibHVlJ1xuICAgICAgZWxzZSBpZiAodmFsIDwgMCkgcmV0dXJuICdfc2t5Ymx1ZSdcbiAgICAgIGVsc2UgaWYgKHZhbCA8IDUpIHJldHVybiAnX2dyZWVuJ1xuICAgICAgZWxzZSBpZiAodmFsIDwgMTApIHJldHVybiAnX3llbGxvdydcbiAgICAgIGVsc2UgaWYgKHZhbCA8IDE1KSByZXR1cm4gJ19vcmFuZ2UnXG4gICAgICBlbHNlIGlmICh2YWwgPCAyMCkgcmV0dXJuICdfcGluaydcbiAgICAgIGVsc2UgcmV0dXJuICdfcmVkJ1xuICAgIH0gZWxzZSBpZiAobSA+PSA2ICYmIG0gPD0gOSkgeyAvKiBzdW1tZXIgKi9cbiAgICAgIGlmICh2YWwgPCA1KSByZXR1cm4gJ193aGl0ZSdcbiAgICAgIGVsc2UgaWYgKHZhbCA8IDEwKSByZXR1cm4gJ19ibHVlJ1xuICAgICAgZWxzZSBpZiAodmFsIDwgMTUpIHJldHVybiAnX3NreWJsdWUnXG4gICAgICBlbHNlIGlmICh2YWwgPCAyMCkgcmV0dXJuICdfZ3JlZW4nXG4gICAgICBlbHNlIGlmICh2YWwgPCAyNSkgcmV0dXJuICdfeWVsbG93J1xuICAgICAgZWxzZSBpZiAodmFsIDwgMzApIHJldHVybiAnX29yYW5nZSdcbiAgICAgIGVsc2UgaWYgKHZhbCA8IDM1KSByZXR1cm4gJ19waW5rJ1xuICAgICAgZWxzZSByZXR1cm4gJ19yZWQnXG4gICAgfSBlbHNlIHsgLyogc3ByaW5nL2ZhbGwgKi9cbiAgICAgIGlmICh2YWwgPCAtNSkgcmV0dXJuICdfd2hpdGUnXG4gICAgICBlbHNlIGlmICh2YWwgPCAwKSByZXR1cm4gJ19ibHVlJ1xuICAgICAgZWxzZSBpZiAodmFsIDwgNSkgcmV0dXJuICdfc2t5Ymx1ZSdcbiAgICAgIGVsc2UgaWYgKHZhbCA8IDEwKSByZXR1cm4gJ19ncmVlbidcbiAgICAgIGVsc2UgaWYgKHZhbCA8IDE1KSByZXR1cm4gJ195ZWxsb3cnXG4gICAgICBlbHNlIGlmICh2YWwgPCAyMCkgcmV0dXJuICdfb3JhbmdlJ1xuICAgICAgZWxzZSBpZiAodmFsIDwgMjUpIHJldHVybiAnX3BpbmsnXG4gICAgICBlbHNlIHJldHVybiAnX3JlZCdcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlQXJyb3cgKHIpIHtcbiAgdmFyIHBvaW50cyA9IFtdXG5cbiAgdmFyIGFuZ2xlID0gOTBcbiAgdmFyIHggPSByICogTWF0aC5jb3MoYW5nbGUgLyAxODAgKiBNYXRoLlBJKVxuICB2YXIgeSA9IHIgKiBNYXRoLnNpbihhbmdsZSAvIDE4MCAqIE1hdGguUEkpXG4gIHBvaW50cy5wdXNoKHggKyAnLCcgKyB5KVxuXG4gIGFuZ2xlID0gMjM0XG4gIHggPSByICogTWF0aC5jb3MoYW5nbGUgLyAxODAgKiBNYXRoLlBJKVxuICB5ID0gciAqIE1hdGguc2luKGFuZ2xlIC8gMTgwICogTWF0aC5QSSlcbiAgcG9pbnRzLnB1c2goeCArICcsJyArIHkpXG5cbiAgYW5nbGUgPSAyNzBcbiAgeCA9IHIgLyAyICogTWF0aC5jb3MoYW5nbGUgLyAxODAgKiBNYXRoLlBJKVxuICB5ID0gciAvIDIgKiBNYXRoLnNpbihhbmdsZSAvIDE4MCAqIE1hdGguUEkpXG4gIHBvaW50cy5wdXNoKHggKyAnLCcgKyB5KVxuXG4gIGFuZ2xlID0gMzA2XG4gIHggPSByICogTWF0aC5jb3MoYW5nbGUgLyAxODAgKiBNYXRoLlBJKVxuICB5ID0gciAqIE1hdGguc2luKGFuZ2xlIC8gMTgwICogTWF0aC5QSSlcbiAgcG9pbnRzLnB1c2goeCArICcsJyArIHkpXG5cbiAgcmV0dXJuIHBvaW50cy5qb2luKCcgJylcbn1cbjwvc2NyaXB0PlxuPHN0eWxlIHNjb3BlZD5cbiAgLnNtYWxsIHsgZm9udC1zaXplOiAwLjc1ZW07IH1cbiAgLmdyYXBoIHsgd2lkdGg6IDEwMCU7IG1heC13aWR0aDogNTQwcHg7IG1hcmdpbjogMHB4IGF1dG87IH1cbiAgLmJ0bi1kYXkuaGlkZSB7IG9wYWNpdHk6IDA7IHBvaW50ZXItZXZlbnRzOiBub25lO31cbiAgLnN3aXRjaENvbnRlbnRfX2l0ZW0geyBvcGFjaXR5OiAwOyB9XG4gIC5zd2l0Y2hDb250ZW50X19pdGVtLmFjdCB7IG9wYWNpdHk6IDE7fVxuICAubWItMTAgeyBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7fVxuICAubWItNSB7IG1hcmdpbi1ib3R0b206IDVweCAhaW1wb3J0YW50O31cbiAgLm1iLTAgeyBtYXJnaW4tYm90dG9tOjBweCAhaW1wb3J0YW50O31cbjwvc3R5bGU+XG48c3R5bGU+XG4gIC5wbG90IHsgc3Ryb2tlOiAjNjY2OyBzdHJva2Utd2lkdGg6IDFweDsgfVxuICAucG9sbGVuMSB7IGZpbGw6ICNjY2M7IH1cbiAgLnBvbGxlbjIgeyBmaWxsOiAjMDA1YmFjOyB9XG4gIC5wb2xsZW4zIHsgZmlsbDogI2YwODIwMDsgfVxuICAucG9sbGVuNCB7IGZpbGw6ICNlNjAwMTI7IH1cbiAgLnRlbXBfd2hpdGUgICB7IGZpbGw6IHJnYmEoMjU1LDI1NSwyNTUsMjU1KTsgfVxuICAudGVtcF9ibHVlICAgIHsgZmlsbDogcmdiYSggIDAsICAwLDI1NSwyNTUpOyB9XG4gIC50ZW1wX3NreWJsdWUgeyBmaWxsOiByZ2JhKCAgMCwxNzYsMjQwLDI1NSk7IH1cbiAgLnRlbXBfZ3JlZW4gICB7IGZpbGw6IHJnYmEoICAwLDE3NiwgODAsMjU1KTsgfVxuICAudGVtcF95ZWxsb3cgIHsgZmlsbDogcmdiYSgyNTUsMTkyLCAgMCwyNTUpOyB9XG4gIC50ZW1wX29yYW5nZSAgeyBmaWxsOiByZ2JhKDI1NSwxMDIsICAwLDI1NSk7IH1cbiAgLnRlbXBfcGluayAgICB7IGZpbGw6IHJnYmEoMjU1LCA1MSwxNTMsMjU1KTsgfVxuICAudGVtcF9yZWQgICAgIHsgZmlsbDogcmdiYSgyNTUsICAwLCAgMCwyNTUpOyB9XG4gIC53aW5kMSB7IGZpbGw6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMjU1KSB9XG4gIC53aW5kMiB7IGZpbGw6IHJnYmEoICAwLCAgIDAsIDI1NSwgMjU1KSB9XG4gIC53aW5kMyB7IGZpbGw6IHJnYmEoICAwLCAxNzYsICA4MCwgMjU1KSB9XG4gIC53aW5kNCB7IGZpbGw6IHJnYmEoMjU1LCAxOTIsICAgMCwgMjU1KSB9XG4gIC53aW5kNSB7IGZpbGw6IHJnYmEoMjU1LCAxMDIsICAgMCwgMjU1KSB9XG4gIC53aW5kNiB7IGZpbGw6IHJnYmEoMjU1LCAgIDAsICAgMCwgMjU1KSB9XG4gIC5ncmFwaCBzdmcgdGV4dCB7ICBmb250LWZhbWlseTogJ+ODkuODqeOCruODjuinkuOCtCBQcm9OIFczJywgJ0hpcmFLYWt1UHJvTi1XMycsICfjg6HjgqTjg6rjgqonLCAnTWVpcnlvJywgJ++8re+8syDvvLDjgrTjgrfjg4Pjgq8nLCBzYW5zLXNlcmlmOyB9XG4gIC5saW5lIHsgZmlsbDogbm9uZTsgc3Ryb2tlOiAjOTk5OyBzdHJva2Utd2lkdGg6IDEuNXB4OyB9XG4gIC5heGlzIHBhdGgsXG4gIC5heGlzIGxpbmUgeyBmaWxsOiBub25lOyBzdHJva2U6ICMwMDA7IHNoYXBlLXJlbmRlcmluZzogY3Jpc3BFZGdlczsgc3Ryb2tlLXdpZHRoOiAycHg7IH1cbiAgLmF4aXMgdGV4dCB7IGZvbnQtc2l6ZTogMTJweDsgfVxuICAuaW5saW5lIHsgZGlzcGxheTogaW5saW5lOyB9XG4gIC5pbmxpbmUtYmxvY2sgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7fVxuPC9zdHlsZT5cbiIsIjx0ZW1wbGF0ZT5cbiAgPGFydGljbGVcbiAgICB2LWlmPVwiIWNsb3NlXCJcbiAgICBjbGFzcz1cImJsb2NrXCJcbiAgPlxuICAgIDxoMiBjbGFzcz1cInRpdGxlMDFcIj5cbiAgICAgIOOBv+OCk+OBquOBruiKseeyieeXh+eKtlxuICAgIDwvaDI+XG4gICAgPHNlY3Rpb24gY2xhc3M9XCJjYXJkU3BcIj5cbiAgICAgIDxoMyBjbGFzcz1cInRpdGxlMDVcIj5cbiAgICAgICAg5LuK5pel44Gu6Iqx57KJ55eH44Gu55eH54q244Gv77yfPGJyPnt7IHNob3dEYXRlIH19XG4gICAgICA8L2gzPlxuICAgICAgPGRpdiBjbGFzcz1cImdyYXBoQXJlYVwiPlxuICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgIDxjYW52YXNcbiAgICAgICAgICAgIGlkPVwicGllQXJlYVwiXG4gICAgICAgICAgICB3aWR0aD1cIjIwMFwiXG4gICAgICAgICAgICBoZWlnaHQ9XCIyMDBcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZmlndXJlPlxuICAgICAgPC9kaXY+XG4gICAgICA8dWwgY2xhc3M9XCJrYWZ1bkdyYXBoR3VpZGVcIj5cbiAgICAgICAgPGxpIGNsYXNzPVwia2FmdW5HcmFwaEd1aWRlX19pdGVtIGx2NFwiPlxuICAgICAgICAgIOmdnuW4uOOBq+OBpOOCieOBhDxzbWFsbCB2LWNsb2FrPih7eyByYXRpb1szXSB9fSUpPC9zbWFsbD5cbiAgICAgICAgPC9saT5cbiAgICAgICAgPGxpIGNsYXNzPVwia2FmdW5HcmFwaEd1aWRlX19pdGVtIGx2M1wiPlxuICAgICAgICAgIOOBpOOCieOBhDxzbWFsbCB2LWNsb2FrPih7eyByYXRpb1syXSB9fSUpPC9zbWFsbD5cbiAgICAgICAgPC9saT5cbiAgICAgICAgPGxpIGNsYXNzPVwia2FmdW5HcmFwaEd1aWRlX19pdGVtIGx2MlwiPlxuICAgICAgICAgIOOChOOChOOBpOOCieOBhDxzbWFsbCB2LWNsb2FrPih7eyByYXRpb1sxXSB9fSUpPC9zbWFsbD5cbiAgICAgICAgPC9saT5cbiAgICAgICAgPGxpIGNsYXNzPVwia2FmdW5HcmFwaEd1aWRlX19pdGVtIGx2MVwiPlxuICAgICAgICAgIOWkp+S4iOWkqzxzbWFsbCB2LWNsb2FrPih7eyByYXRpb1swXSB9fSUpPC9zbWFsbD5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG5cbiAgICA8L3NlY3Rpb24+XG4gIDwvYXJ0aWNsZT5cbjwvdGVtcGxhdGU+XG48c2NyaXB0PlxuaW1wb3J0IFZ1ZSBmcm9tICd2dWUnXG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnXG5pbXBvcnQgR1BTIGZyb20gJy4uL3NjcmlwdHMvbGliL2dldEdQUydcbmltcG9ydCBwb2xsZW5EYXRhV2l0aEFXUyBmcm9tICcuLi9zY3JpcHRzL2xpYi9wb2xsZW5EYXRhV2l0aEFXUydcbmltcG9ydCB2YWx1ZXMgZnJvbSAnLi4vc2NyaXB0cy92YWx1ZXMnXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbmltcG9ydCB7IFJlc2l6ZU9ic2VydmVyIH0gZnJvbSAnQGp1Z2dsZS9yZXNpemUtb2JzZXJ2ZXInXG5pbXBvcnQgeyBDaGFydCwgcmVnaXN0ZXJhYmxlcyB9IGZyb20gJ2NoYXJ0LmpzJ1xuQ2hhcnQucmVnaXN0ZXIoLi4ucmVnaXN0ZXJhYmxlcylcblxuZXhwb3J0IGRlZmF1bHQge1xuICBwcm9wczoge1xuICB9LFxuICBkYXRhICgpIHtcbiAgICByZXR1cm4ge1xuICAgICAga2V5OiAnJyxcbiAgICAgIHJlcG9ydF9kYXRhOiB7IGxpZ2h0OiBbMCwgMCwgMCwgMF0sIG5vcm06IFswLCAwLCAwLCAwXSwgaGVhdnk6IFswLCAwLCAwLCAwXSwgb3RoZXI6IFswLCAwLCAwLCAwXSB9LFxuICAgICAgbm93OiBuZXcgRGF0ZSgpLFxuICAgICAgcmVwb3J0U2VuZGluZzogZmFsc2UsXG4gICAgICBjbG9zZTogdmFsdWVzLkNMT1NFX01PREVcbiAgICB9XG4gIH0sXG4gIGNvbXB1dGVkOiB7XG4gICAgaXNUbXAgKCkge1xuICAgICAgY29uc3Qga2V5ID0gdGhpcy5rZXkgfHwgJydcbiAgICAgIGNvbnNvbGUubG9nKGtleSlcbiAgICAgIHJldHVybiBrZXkubWF0Y2goL150bXBfLylcbiAgICB9LFxuICAgIHJlcG9ydERhdGFQYXRoICgpIHtcbiAgICAgIGNvbnN0IHBhdGggPSB3bml1dGlsLnNpbXBsZV9zdHJmdGltZSgnJVkvJW0nLCB0aGlzLm5vdylcbiAgICAgIGNvbnN0IGZpbGUgPSB3bml1dGlsLnNpbXBsZV9zdHJmdGltZSgnJVklbSVkJywgdGhpcy5ub3cpXG4gICAgICByZXR1cm4gYGh0dHBzOi8vc2l0ZS53ZWF0aGVybmV3cy5qcC9zaXRlL3BvbGxlbi9qc29uL3N5bXB0b20vJHtwYXRofS8ke2ZpbGV9Lmpzb25gXG4gICAgfSxcbiAgICBzdW1kYXRhICgpIHtcbiAgICAgIGNvbnN0IGFycmF5ID0gWzAsIDAsIDAsIDBdXG4gICAgICBmb3IgKGNvbnN0IHR5cGUgb2YgWydsaWdodCcsICdub3JtJywgJ2hlYXZ5JywgJ290aGVyJ10pIHtcbiAgICAgICAgZm9yIChsZXQgcmFuayA9IDA7IHJhbmsgPCA0OyByYW5rKyspIHtcbiAgICAgICAgICBhcnJheVtyYW5rXSArPSB0aGlzLnJlcG9ydF9kYXRhW3R5cGVdW3JhbmtdXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBhcnJheVxuICAgIH0sXG4gICAgc3VtQ291bnQgKCkge1xuICAgICAgY29uc3QgcmVkdWNlciA9IChwcmV2aW91c1ZhbHVlLCBjdXJyZW50VmFsdWUpID0+IHByZXZpb3VzVmFsdWUgKyBjdXJyZW50VmFsdWVcbiAgICAgIHJldHVybiB0aGlzLnN1bWRhdGEucmVkdWNlKHJlZHVjZXIpXG4gICAgfSxcbiAgICBzaG93RGF0ZSAoKSB7XG4gICAgICBjb25zdCB3YXJyID0gWyfml6UnLCAn5pyIJywgJ+eBqycsICfmsLQnLCAn5pyoJywgJ+mHkScsICflnJ8nXVxuICAgICAgcmV0dXJuIHduaXV0aWwuc2ltcGxlX3N0cmZ0aW1lKCclLW3mnIglLWTml6UoJUEpJywgdGhpcy5ub3csIHdhcnIpXG4gICAgfSxcbiAgICBkYXRlS2V5ICgpIHtcbiAgICAgIHJldHVybiB3bml1dGlsLnNpbXBsZV9zdHJmdGltZSgnJVklbSVkJywgdGhpcy5ub3cpXG4gICAgfSxcbiAgICByYXRpbyAoKSB7XG4gICAgICBjb25zdCBzZWxmID0gdGhpc1xuICAgICAgY29uc3Qgc3VtID0gdGhpcy5zdW1Db3VudFxuICAgICAgaWYgKHN1bSA9PT0gMCkge1xuICAgICAgICByZXR1cm4gWzAsIDAsIDAsIDBdXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5zdW1kYXRhLm1hcCgoeCkgPT4geyByZXR1cm4gc2VsZi5mbG9vclJvdW5kKHggKiAxMDAgLyBzdW0sIDEpIH0pXG4gICAgICB9XG4gICAgfVxuICB9LFxuICBhc3luYyBtb3VudGVkICgpIHtcbiAgICBpZiAodGhpcy5jbG9zZSkgeyByZXR1cm4gfVxuICAgIC8qIHNldEtleSAqL1xuICAgIFZ1ZS5zZXQodGhpcywgJ2tleScsIHduaXV0aWwuZ2V0X2FrZXlfdjIoKSB8fCB0aGlzLmdldFRtcEtleSgpKVxuICAgIC8qIGdldCBzeW9qbyBkYXRhICovXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuZ2V0UmVwb3J0RGF0YSgpXG4gICAgVnVlLnNldCh0aGlzLCAncmVwb3J0X2RhdGEnLCBkYXRhKVxuICAgIHRoaXMuZHJhd0dyYXBoKClcbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIGdldFRtcEtleSAoKSB7XG4gICAgICBsZXQgdG1wa2V5XG4gICAgICBpZiAod25pdXRpbC5jb29raWUuX19wb2xsZW5fY2tzaF90bXBrZXlfXykge1xuICAgICAgICB0bXBrZXkgPSB3bml1dGlsLmNvb2tpZS5fX3BvbGxlbl9ja3NoX3RtcGtleV9fXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0bXBrZXkgPSB0aGlzLmNyZWF0ZVRtcEtleSgpXG4gICAgICB9XG4gICAgICB3aW5kb3cuY29va2llX3dyaXRlKCdfX3BvbGxlbl9ja3NoX3RtcGtleV9fJywgdG1wa2V5LCAxKVxuICAgICAgcmV0dXJuIHRtcGtleVxuICAgIH0sXG4gICAgY3JlYXRlVG1wS2V5ICgpIHtcbiAgICAgIGNvbnN0IFMgPSAnYWJjZGVmMDEyMzQ1Njc4OSdcbiAgICAgIGNvbnN0IE4gPSAxNlxuICAgICAgcmV0dXJuICd0bXBfJyArIEFycmF5LmZyb20oQXJyYXkoTikpLm1hcCgoKSA9PiBTW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIFMubGVuZ3RoKV0pLmpvaW4oJycpXG4gICAgfSxcbiAgICBmbG9vclJvdW5kICh2YWwsIG4pIHtcbiAgICAgIHJldHVybiBNYXRoLnJvdW5kKHZhbCAqIE1hdGgucG93KDEwLCBuKSkgLyBNYXRoLnBvdygxMCwgbilcbiAgICB9LFxuICAgIGRyYXdHcmFwaCAoKSB7XG4gICAgICBjb25zdCBzdW1kYXRhID0gdGhpcy5zdW1kYXRhXG4gICAgICBjb25zdCBzdW1Db3VudCA9IHRoaXMuc3VtQ291bnRcbiAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgIGRhdGFzZXRzOiBbe1xuICAgICAgICAgIGRhdGE6IHN1bWRhdGEuc2xpY2UoKS5yZXZlcnNlKCksXG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBbJ3JnYigyMjksMCwwKScsICdyZ2IoMjU1LDEyOCwwKScsICdyZ2IoOTAsMjAyLDEyOSknLCAncmdiKDAsMTM2LDE1OCknXVxuICAgICAgICB9XVxuICAgICAgfVxuXG4gICAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICAgIHR5cGU6ICdkb3VnaG51dCcsXG4gICAgICAgIGRhdGE6IGRhdGEsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBwbHVnaW5zOiB7XG4gICAgICAgICAgICBkb3VnaG51dGxhYmVsOiB7XG4gICAgICAgICAgICAgIGxhYmVsczogW3tcbiAgICAgICAgICAgICAgICB0ZXh0OiAnNTUwJyxcbiAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICBzaXplOiAyMCxcbiAgICAgICAgICAgICAgICAgIHdlaWdodDogJ2JvbGQnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgdGV4dDogJ3RvdGFsJ1xuICAgICAgICAgICAgICB9XVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxlZ2VuZDogZmFsc2UsXG4gICAgICAgICAgICB0b29sdGlwOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgcGx1Z2luczogW3tcbiAgICAgICAgICBpZDogJ3RleHQnLFxuICAgICAgICAgIGJlZm9yZURyYXc6IGZ1bmN0aW9uIChjaGFydCwgYSwgYikge1xuICAgICAgICAgICAgY29uc3Qgd2lkdGggPSBjaGFydC53aWR0aFxuICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gY2hhcnQuaGVpZ2h0XG4gICAgICAgICAgICBjb25zdCBjdHggPSBjaGFydC5jdHhcbiAgICAgICAgICAgIGN0eC5yZXN0b3JlKClcbiAgICAgICAgICAgIC8vIOS6uuaVsFxuICAgICAgICAgICAgY29uc3QgZm9udFNpemVDb3VudCA9IChoZWlnaHQgLyAxMzApLnRvRml4ZWQoMilcbiAgICAgICAgICAgIGN0eC5mb250ID0gZm9udFNpemVDb3VudCArICdlbSDjg5Ljg6njgq7jg47op5LjgrTjgrfjg4Pjgq8nXG4gICAgICAgICAgICBjdHgudGV4dEJhc2VsaW5lID0gJ21pZGRsZSdcblxuICAgICAgICAgICAgY29uc3QgdGV4dENvdW50ID0gc3VtQ291bnRcbiAgICAgICAgICAgIGNvbnN0IHRleHRDb3VuV2lkdGggPSBjdHgubWVhc3VyZVRleHQodGV4dENvdW50KS53aWR0aFxuICAgICAgICAgICAgY29uc3QgdGV4dENvdW50WCA9IE1hdGgucm91bmQoKHdpZHRoIC0gdGV4dENvdW5XaWR0aCkgLyAyKVxuICAgICAgICAgICAgY29uc3QgdGV4dENvdW50WSA9IGhlaWdodCAqIDAuNDVcblxuICAgICAgICAgICAgY3R4LmZpbGxUZXh0KHRleHRDb3VudCwgdGV4dENvdW50WCwgdGV4dENvdW50WSlcbiAgICAgICAgICAgIGN0eC5zYXZlKClcbiAgICAgICAgICAgIGN0eC5yZXN0b3JlKClcbiAgICAgICAgICAgIC8vIOWbnuetlFxuICAgICAgICAgICAgY29uc3QgZm9udFNpemVCb3R0b20gPSAoaGVpZ2h0IC8gMTcwKS50b0ZpeGVkKDIpXG4gICAgICAgICAgICBjdHguZm9udCA9IGZvbnRTaXplQm90dG9tICsgJ2VtIOODkuODqeOCruODjuinkuOCtOOCt+ODg+OCrydcblxuICAgICAgICAgICAgY29uc3QgdGV4dEJvdHRvbSA9ICflm57nrZQnXG4gICAgICAgICAgICBjb25zdCB0ZXh0Qm90dG9tWCA9IE1hdGgucm91bmQoKHdpZHRoIC0gY3R4Lm1lYXN1cmVUZXh0KHRleHRCb3R0b20pLndpZHRoKSAvIDIpXG4gICAgICAgICAgICBjb25zdCB0ZXh0Qm90dG9tWSA9IGhlaWdodCAqIDAuNlxuICAgICAgICAgICAgY3R4LmZpbGxUZXh0KHRleHRCb3R0b20sIHRleHRCb3R0b21YLCB0ZXh0Qm90dG9tWSlcbiAgICAgICAgICAgIC8vIOS6ulxuICAgICAgICAgICAgY29uc3QgdGV4dE5pbiA9ICcg5Lq6J1xuICAgICAgICAgICAgY29uc3QgdGV4dE5pblggPSB0ZXh0Q291bnRYICsgdGV4dENvdW5XaWR0aCAqIDAuODVcbiAgICAgICAgICAgIGNvbnN0IHRleHROaW5ZID0gKHN1bUNvdW50ID49IDEwMDAwKSA/IGhlaWdodCAqIDAuNTUgOiBoZWlnaHQgKiAwLjUwXG4gICAgICAgICAgICBjdHguZmlsbFRleHQodGV4dE5pbiwgdGV4dE5pblgsIHRleHROaW5ZKVxuICAgICAgICAgICAgY3R4LnNhdmUoKVxuICAgICAgICAgIH1cbiAgICAgICAgfV1cblxuICAgICAgfVxuICAgICAgY29uc3QgbXlQaWUgPSBuZXcgQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BpZUFyZWEnKSwgY29uZmlnKVxuICAgICAgY29uc29sZS5sb2cobXlQaWUpXG4gICAgfSxcbiAgICBnZXRSZXBvcnREYXRhICgpIHtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGFwYXRoID0gdGhpcy5yZXBvcnREYXRhUGF0aFxuICAgICAgICBheGlvcy5nZXQoZGF0YXBhdGgsIHsgcGFyYW1zOiB7IHRtOiB3bml1dGlsLm5vY2FjaGUgfSB9KVxuICAgICAgICAgIC50aGVuKChyZXMpID0+IHtcbiAgICAgICAgICAgIGlmIChyZXMuZGF0YT8uYWxsKSB7XG4gICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2dldC1zeW9qby1yZXBvcnQnLCByZXMuZGF0YSlcbiAgICAgICAgICAgICAgcmVzb2x2ZShyZXMuZGF0YS5hbGwpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXNvbHZlKHsgbGlnaHQ6IFswLCAwLCAwLCAwXSwgbm9ybTogWzAsIDAsIDAsIDBdLCBoZWF2eTogWzAsIDAsIDAsIDBdLCBvdGhlcjogWzAsIDAsIDAsIDBdIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZSh7IGxpZ2h0OiBbMCwgMCwgMCwgMF0sIG5vcm06IFswLCAwLCAwLCAwXSwgaGVhdnk6IFswLCAwLCAwLCAwXSwgb3RoZXI6IFswLCAwLCAwLCAwXSB9KVxuICAgICAgICAgIH0pXG4gICAgICB9KVxuICAgIH0sXG4gICAgZ2V0Q2l0eUluZm8gKGdwc0luZm8pIHtcbiAgICAgIGNvbnN0IGxhdGxvbiA9IHtcbiAgICAgICAgbGF0OiBncHNJbmZvLmxhdCxcbiAgICAgICAgbG9uOiBncHNJbmZvLmxvblxuICAgICAgfVxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgYXhpb3MuZ2V0KCdodHRwczovL3dlYXRoZXJuZXdzLmpwL2FwaS9wb2xsZW4vY2dpL2FwaV9jaXR5Y29kZS5jZ2knLCB7IHBhcmFtczogbGF0bG9uIH0pXG4gICAgICAgICAgLnRoZW4oKHJlcykgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcy5kYXRhPy5wcmVmKSB7XG4gICAgICAgICAgICAgIHJlc29sdmUocmVzLmRhdGEpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZWplY3QobmV3IEVycm9yKCdjYW4gbm90IGdldCBjaXR5SW5mbyAoMjAwKScpKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoJ2NhbiBub3QgZ2V0IGNpdHlJbmZvJykpXG4gICAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgfSxcbiAgICBhc3luYyBnZXRSZXBvcnRDb3VudCAoKSB7XG4gICAgICBpZiAodGhpcy5pc1RtcCkge1xuICAgICAgICByZXR1cm4gWzAsICcnXVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBwYXJhbSA9IHsgYWtleTogdGhpcy5rZXkgfVxuICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHBvbGxlbkRhdGFXaXRoQVdTLmdldFJlcG9ydENvdW50KHBhcmFtKVxuICAgICAgICAgIGNvbnN0IGNvdW50ID0gIWlzTmFOKHJlcy5hY3Rpb24pID8gcGFyc2VJbnQocmVzLmFjdGlvbiwgMTApIDogMFxuICAgICAgICAgIHJldHVybiBbY291bnQsIHJlcy5kYXRlXVxuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICByZXR1cm4gWzAsICcnXVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBhc3luYyBzdWJtaXRSZXBvcnQgKGdwc0luZm8sIGNpdHlJbmZvLCB2YWx1ZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcGFyYW0gPSB7XG4gICAgICAgICAgc3ltcHRvbTogU3RyaW5nKHZhbHVlKSxcbiAgICAgICAgICBkYXRlOiB0aGlzLmRhdGVLZXlcbiAgICAgICAgfVxuICAgICAgICBpZiAoZ3BzSW5mbz8ubGF0ICYmIGdwc0luZm8/Lmxvbikge1xuICAgICAgICAgIHBhcmFtLmxhdCA9IFN0cmluZyhncHNJbmZvLmxhdClcbiAgICAgICAgICBwYXJhbS5sb24gPSBTdHJpbmcoZ3BzSW5mby5sb24pXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNpdHlJbmZvPy5jaXR5Y29kZSkge1xuICAgICAgICAgIHBhcmFtLnByZWYgPSBjaXR5SW5mby5wcmVmXG4gICAgICAgICAgcGFyYW0uYXJlYSA9IGNpdHlJbmZvLmFyZWFcbiAgICAgICAgICBwYXJhbS5jaXR5Y29kZSA9IGNpdHlJbmZvLmNpdHljb2RlXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaXNUbXApIHtcbiAgICAgICAgICBwYXJhbS50a2V5ID0gdGhpcy5rZXlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwYXJhbS5ha2V5ID0gdGhpcy5rZXlcbiAgICAgICAgfVxuICAgICAgICBwYXJhbS5vYnMgPSAnMScgLy8gMjAyMi8wMi8xNC0g5aSp5rCX44OH44O844K/44KS5YWl44KM44KL44Gf44KB44Gu44OR44Op44Oh44O844K/XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHBvbGxlbkRhdGFXaXRoQVdTLnB1c2hSZXBvcnQocGFyYW0sIHsgbWFwOiB0cnVlIH0pXG4gICAgICAgIHJldHVybiByZXNcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcilcbiAgICAgIH1cbiAgICB9LFxuICAgIGFzeW5jIHN1Ym1pdFJlcG9ydENvdW50IChjb3VudCwgZGF0ZWtleSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcGFyYW0gPSB7XG4gICAgICAgICAgYWN0aW9uOiBTdHJpbmcoY291bnQpLFxuICAgICAgICAgIGRhdGU6IFN0cmluZyhkYXRla2V5KSxcbiAgICAgICAgICBha2V5OiB0aGlzLmtleVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHBvbGxlbkRhdGFXaXRoQVdTLnB1c2hSZXBvcnRDb3VudChwYXJhbSlcbiAgICAgICAgcmV0dXJuIHJlc1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yKVxuICAgICAgfVxuICAgIH0sXG4gICAgc3VibWl0Q2hlY2tCYWRnZSAoY291bnQpIHtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGNvbnN0IGVuZHBvaW50ID0gJ2h0dHBzOi8vd2VhdGhlcm5ld3MuanAvYXBpL3BvbGxlbi9jZ2kvY2hlY2tQb2xsZW5CYWRnZS5jZ2knXG4gICAgICAgIGNvbnN0IHBhcmFtID0ge1xuICAgICAgICAgIHJlcG9Db3VudDogU3RyaW5nKGNvdW50KSxcbiAgICAgICAgICBha2V5OiB0aGlzLmtleVxuICAgICAgICB9XG4gICAgICAgIGF4aW9zLmdldChlbmRwb2ludCwgeyBwYXJhbXM6IHBhcmFtIH0pXG4gICAgICAgICAgLmZpbmFsbHkocmVzb2x2ZSlcbiAgICAgIH0pXG4gICAgfSxcbiAgICBmaW5pc2hSZXBvcnQgKCkge1xuICAgICAgc3dhbF91dGlsLmluZm8oeyB0ZXh0OiAn5Zue562U44KS6YCB5L+h44GX44G+44GX44Gf44CCJyB9LCBmdW5jdGlvbiAoc3RhdCkge1xuICAgICAgICBpZiAoc3RhdCkge1xuICAgICAgICAgIGxvY2F0aW9uLmhyZWYgPSAnL3MvcG9sbGVuL3N5bXB0b20uaHRtbCdcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIHduaXV0aWwucmVtb3ZlX25vd2xvYWRpbmcoKVxuICAgIH0sXG4gICAgZXJyb3JSZXBvcnQgKHBhcmFtKSB7XG4gICAgICBjb25zdCBtc2cgPSBwYXJhbT8ubXNnID8gcGFyYW0ubXNnIDogJ+WbnuetlOOBrumAgeS/oeOBq+WkseaVl+OBl+OBvuOBl+OBn+OAgidcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4geyBzd2FsX3V0aWwud2Fybih7IHRleHQ6IG1zZyB9KTsgd25pdXRpbC5yZW1vdmVfbm93bG9hZGluZygpIH0sIDEwMDApXG4gICAgfSxcbiAgICBzaG93UG9wdXAgKCkge1xuICAgICAgY29uc3Qgc2VsZiA9IHRoaXNcbiAgICAgIGxldCByYWRpb1RhZyA9ICcnXG4gICAgICBjb25zdCBhbnNTdHIgPSB7XG4gICAgICAgIDA6ICflpKfkuIjlpKsnLFxuICAgICAgICAxOiAn44KE44KE44Gk44KJ44GEJyxcbiAgICAgICAgMjogJ+OBpOOCieOBhCcsXG4gICAgICAgIDM6ICfjgajjgabjgoLjgaTjgonjgYQnXG4gICAgICB9XG4gICAgICByYWRpb1RhZyA9ICc8dWwgY2xhc3M9XCJwb3B1cEFuc1wiPidcbiAgICAgIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkge1xuICAgICAgICBpZiAoYW5zU3RyW2ldKSB7XG4gICAgICAgICAgcmFkaW9UYWcgKz0gJzxsaT48aW5wdXQgdHlwZT1cInJhZGlvXCIgbmFtZT1cInNvcmFidG5cIiBpZD1cImFucycgKyBpICsgJ1wiIHZhbHVlPVwiJyArIGkgKyAnXCI+PGxhYmVsIGZvcj1cImFucycgKyBpICsgJ1wiIGlkPVwiYW5zX2xhYmVsJyArIGkgKyAnXCI+JyArIGFuc1N0cltpXSArICc8L2xhYmVsPjwvbGk+J1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByYWRpb1RhZyArPSAnPC91bD4nXG4gICAgICByYWRpb1RhZyArPSAnPHNwYW4gc3R5bGU9XCJmb250LXNpemU6MTJweFwiPuKAu+S9jee9ruaDheWgseOCkuWPluW+l+OBl+OBpumAgeS/oeOBl+OBvuOBmTwvc3Bhbj4nXG4gICAgICBzd2FsKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICB0ZXh0OiByYWRpb1RhZyxcbiAgICAgICAgaHRtbDogdHJ1ZSxcbiAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICfpgIHkv6EnLFxuICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAn44KE44KB44KLJ1xuICAgICAgfSwgYXN5bmMgZnVuY3Rpb24gKHN0YXQpIHtcbiAgICAgICAgaWYgKHN0YXQpIHtcbiAgICAgICAgICBpZiAoc2VsZi5yZXBvcnRTZW5kaW5nKSB7IHJldHVybiB9XG4gICAgICAgICAgd25pdXRpbC5hZGRfbm93bG9hZGluZygnaHR0cHM6Ly9zaXRlLndlYXRoZXJuZXdzLmpwL3NpdGUvY3NzL3V0aWwvbm93bG9hZGluZy5jc3MnKVxuICAgICAgICAgIHNlbGYucmVwb3J0U2VuZGluZyA9IHRydWVcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IHduaXV0aWwuZ2V0X3JhZGlvX3ZhbHVlKCdzb3JhYnRuJylcbiAgICAgICAgICBpZiAoIXZhbHVlKSB7IHNlbGYuZXJyb3JSZXBvcnQoeyBtc2c6ICflm57nrZTjgpLpgbjmip7jgZfjgabjgY/jgaDjgZXjgYQnIH0pOyByZXR1cm4gZmFsc2UgfVxuICAgICAgICAgIGNvbnN0IFtyZXBvcnRDb3VudCwgcmVwb3J0TGFzdGRheV0gPSBhd2FpdCBzZWxmLmdldFJlcG9ydENvdW50KClcbiAgICAgICAgICBjb25zdCBzdWJtaXRzID0gW11cbiAgICAgICAgICAvKiDjg5Djg4Pjgrjlj5blvpfjgpLliLblvqHjgZnjgovjgZ/jgoHjgass44Os44Od44O844OI5Zue5pWw44Gu44G/44KS5Y+W5b6X44GZ44KL44GT44Go44KS44GZ44KLKGFrZXnjgoLjgaHjga7jgb8pICovXG4gICAgICAgICAgaWYgKHJlcG9ydExhc3RkYXkgIT09IHNlbGYuZGF0ZUtleSAmJiAhc2VsZi5pc1RtcCkge1xuICAgICAgICAgICAgc3VibWl0cy5wdXNoKHNlbGYuc3VibWl0UmVwb3J0Q291bnQocmVwb3J0Q291bnQgKyAxLCBzZWxmLmRhdGVLZXkpKVxuICAgICAgICAgICAgc3VibWl0cy5wdXNoKHNlbGYuc3VibWl0Q2hlY2tCYWRnZShyZXBvcnRDb3VudCArIDEpKVxuICAgICAgICAgIH1cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgZ3BzSW5mbyA9IGF3YWl0IEdQUy5nZXRHUFMoKVxuICAgICAgICAgICAgY29uc3QgY2l0eUluZm8gPSBhd2FpdCBzZWxmLmdldENpdHlJbmZvKGdwc0luZm8pXG4gICAgICAgICAgICBzdWJtaXRzLnB1c2goc2VsZi5zdWJtaXRSZXBvcnQoZ3BzSW5mbywgY2l0eUluZm8sIHZhbHVlKSlcbiAgICAgICAgICAgIFByb21pc2UuYWxsKHN1Ym1pdHMpXG4gICAgICAgICAgICAgIC50aGVuKHNlbGYuZmluaXNoUmVwb3J0KVxuICAgICAgICAgICAgICAuY2F0Y2goc2VsZi5lcnJvclJlcG9ydClcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAvKiBHUFPjga7jgqjjg6njg7zjga7loLTlkIjnt6/luqbntYzluqbjgarjgZfjgaflho3mjJHmiKbjgZnjgosgKi9cbiAgICAgICAgICAgIGlmIChlLm1lc3NhZ2UubWF0Y2goL15HUFMvKSkge1xuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHN1Ym1pdHMucHVzaChzZWxmLnN1Ym1pdFJlcG9ydCh7fSwge30sIHZhbHVlKSlcbiAgICAgICAgICAgICAgICBQcm9taXNlLmFsbChzdWJtaXRzKVxuICAgICAgICAgICAgICAgICAgLnRoZW4oc2VsZi5maW5pc2hSZXBvcnQpXG4gICAgICAgICAgICAgICAgICAuY2F0Y2goc2VsZi5lcnJvclJlcG9ydClcbiAgICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgICAgc2VsZi5lcnJvclJlcG9ydCgpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHNlbGYuZXJyb3JSZXBvcnQoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICBzZWxmLnJlcG9ydFNlbmRpbmcgPSBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gIH1cbn1cbjwvc2NyaXB0PlxuPHN0eWxlIHNjb3BlZD5cbi5kb3VnaG51dF90ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDoyMHB4O1xuICB0b3A6IC0xMDRweDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGZvbnQtc2l6ZToyNXB4XG59XG4uZG91Z2hudXRfdGV4dC5hdHRyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6MTBweDtcbn1cbjwvc3R5bGU+XG48c3R5bGU+XG4ucG9wdXBBbnMgeyB0ZXh0LWFsaWduOiBsZWZ0OyB3aWR0aDogODAlOyBtYXJnaW46IDAgYXV0bzsgfVxuLnBvcHVwQW5zIGxpIGxhYmVsIHsgZm9udC1zaXplOiAxNHB4O31cbi5wb3B1cEFucyBsaSBsYWJlbDpiZWZvcmUgeyBjb250ZW50OiAn4pePJzsgcGFkZGluZy1yaWdodDogNXB4OyBmb250LXNpemU6IDE4cHg7fVxuLnBvcHVwQW5zIGxpIGxhYmVsI2Fuc19sYWJlbDA6YmVmb3JlIHsgY29sb3I6ICMwMDg4OUU7IH1cbi5wb3B1cEFucyBsaSBsYWJlbCNhbnNfbGFiZWwxOmJlZm9yZSB7IGNvbG9yOiAjNUFDQTgxOyB9XG4ucG9wdXBBbnMgbGkgbGFiZWwjYW5zX2xhYmVsMjpiZWZvcmUgeyBjb2xvcjogI0ZGODAwMDsgfVxuLnBvcHVwQW5zIGxpIGxhYmVsI2Fuc19sYWJlbDM6YmVmb3JlIHsgY29sb3I6ICNFNTAwMDA7IH1cbnVsLnBvcHVwQW5zIGxhYmVsIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNXB4O1xuICBtYXJnaW46IDJweCAwO1xuICBwYWRkaW5nOiAzcHg7XG59XG5ib2R5Om5vdCguaW9zKSB1bC5wb3B1cEFucyBsYWJlbDpob3ZlciB7XG4gIGNvbG9yOiAjZjAwO1xufVxudWwucG9wdXBBbnMgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIGxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjZjAwO1xuICBib3JkZXItd2lkdGg6IDJweDtcbn1cbjwvc3R5bGU+XG4iLCI8dGVtcGxhdGU+XG4gIDxkaXZcbiAgICB2LWlmPVwiY2xvc2VcIlxuICAgIGNsYXNzPVwiY2xvc2VfbXNnXCJcbiAgPlxuICAgIOS7iuOCt+ODvOOCuuODs+OBruaDheWgseOBruabtOaWsOOBr+e1guS6huOBl+OBvuOBl+OBn+OAgjxicj5cbiAgICDmnaXjgrfjg7zjgrrjg7Pjga7mg4XloLHjga8yMDI05bm0MeaciOOBq+aOsui8ieS6iOWumuOBp+OBmeOAglxuICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG48c2NyaXB0PlxuaW1wb3J0IHZhbHVlcyBmcm9tICcuLi9zY3JpcHRzL3ZhbHVlcydcbmV4cG9ydCBkZWZhdWx0IHtcbiAgZGF0YSAoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNsb3NlOiB2YWx1ZXMuQ0xPU0VfTU9ERVxuICAgIH1cbiAgfVxufVxuPC9zY3JpcHQ+XG48c3R5bGUgc2NvcGVkPlxuLmNsb3NlX21zZyB7XG4gIG1heC13aWR0aDogOTkwcHg7XG4gIG1hcmdpbjogMTBweDtcbiAgcGFkZGluZzogOHB4IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMxMDZjMWI7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuPC9zdHlsZT5cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4w77yJ44Oq44K744OD44OIXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyohIHNhbml0aXplLmNzcyB2My4zLjAgfCBDQzAgMS4wIFB1YmxpYyBEb21haW4gfCBnaXRodWIuY29tLzEwdXAvc2FuaXRpemUuY3NzICovXG4vKlxuICogTm9ybWFsaXphdGlvblxuICovXG5hYmJyW3RpdGxlXSB7XG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xufVxuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuaW5wdXQ6LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmhyIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbmh0bWwge1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbmlucHV0IHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xufVxuXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCBpbnB1dFt0eXBlPVwicmVzZXRcIl0sIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG59XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qXG4gKiBVbml2ZXJzYWwgaW5oZXJpdGFuY2VcbiAqL1xuKixcbjo6YmVmb3JlLFxuOjphZnRlciB7XG4gIC13ZWJraXQtYm94LXNpemluZzogaW5oZXJpdDtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuKiB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbjo6YmVmb3JlLFxuOjphZnRlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zdHlsZTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qXG4gKiBPcGluaW9uYXRlZCBkZWZhdWx0c1xuICovXG4qIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4qLFxuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG5hLFxuYXJlYSxcbmJ1dHRvbixcbmlucHV0LFxubGFiZWwsXG5zZWxlY3QsXG50ZXh0YXJlYSxcblt0YWJpbmRleF0ge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG5zZWxlY3Qge1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuc2VsZWN0OjotbXMtdmFsdWUge1xuICBjb2xvcjogY3VycmVudENvbG9yO1xufVxuXG5zdmcge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cblthcmlhLWJ1c3k9XCJ0cnVlXCJdIHtcbiAgY3Vyc29yOiBwcm9ncmVzcztcbn1cblxuW2FyaWEtY29udHJvbHNdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5bYXJpYS1kaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbltoaWRkZW5dW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBkaXNwbGF5OiBpbmhlcml0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbltoaWRkZW5dW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl06Zm9jdXMge1xuICBjbGlwOiBhdXRvO1xufVxuXG4vKlxuICogQ29uZmlndXJhYmxlIGRlZmF1bHRzXG4gKi9cbioge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG46cm9vdCB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQ6IDY2LjY2NjY3JSBzYW5zLXNlcmlmO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmF1ZGlvLFxuY2FudmFzLFxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwiZGF0ZVwiXSxcblt0eXBlPVwiZGF0ZXRpbWVcIl0sXG5bdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuW3R5cGU9XCJlbWFpbFwiXSxcblt0eXBlPVwibW9udGhcIl0sXG5bdHlwZT1cIm51bWJlclwiXSxcblt0eXBlPVwicGFzc3dvcmRcIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzZWFyY2hcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSxcblt0eXBlPVwidGVsXCJdLFxuW3R5cGU9XCJ0ZXh0XCJdLFxuW3R5cGU9XCJ0aW1lXCJdLFxuW3R5cGU9XCJ1cmxcIl0sXG5bdHlwZT1cIndlZWtcIl0sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIG1pbi1oZWlnaHQ6IDEuNWVtO1xufVxuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbn1cblxubmF2IG9sLFxubmF2IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDc1JTtcbn1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzZDRmYztcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2Q0ZmM7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLyrilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrxcbuKWvCBCQVNFXG7ilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrwqL1xuaHRtbCB7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG5odG1sOnJvb3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xufVxuXG5ib2R5IHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbmltZyB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5CcmVha1BvaW50XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODMwcHgpIHtcbiAgLnBjIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMwcHgpIHtcbiAgLnNwIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkZvbnRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wLFxuYSxcbmJsb2NrcXVvdGUsXG5wcmUsXG5hYmJyLFxuYWRkcmVzcyxcbmNpdGUsXG5jb2RlLFxuZHQsXG5kZCxcbmxpLFxuZmllbGRzZXQsXG5mb3JtLFxubGFiZWwsXG5sZWdlbmQsXG50YWJsZSxcbmNhcHRpb24sXG50Ym9keSxcbnRmb290LFxudGhlYWQsXG50cixcbnRoLFxudGQsXG5hcnRpY2xlLFxuYXNpZGUsXG5jYW52YXMsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgY29sb3I6ICMyNDJBMkM7XG4gIGZvbnQtZmFtaWx5OiBcIuODkuODqeOCruODjuinkuOCtOOCt+ODg+OCr1wiLCBcIkhpcmFnaW5vIFNhbnNcIiwgXCLjg5Ljg6njgq7jg47op5LjgrQgUHJvTiBXM1wiLCBcIkhpcmFLYWt1UHJvTi1XM1wiLCBcIuODoeOCpOODquOCqlwiLCBNZWlyeW8sIFwi77yt77yzIO+8sOOCtOOCt+ODg+OCr1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vKuKWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvFxu4pa8IEhlYWRlclxu4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa8Ki9cbiNhcmVhSGVhZGVyIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMXB4IDBweCAwcHggcmdiYSg0NywgMTg0LCAyMTQsIDAuMyk7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggMHB4IDBweCByZ2JhKDQ3LCAxODQsIDIxNCwgMC4zKTtcbn1cblxuI2FyZWFIZWFkZXIgLmlubmVyIHtcbiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkxNXB4KSB7XG4gICNhcmVhSGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICB9XG5cbiAgI2FyZWFIZWFkZXI6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJmYjhkNjtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgI2FyZWFIZWFkZXIgLmlubmVyIHtcbiAgICBtYXgtd2lkdGg6IDkxNXB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxu44OY44OD44OA44O85LiLXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuI2FyZWFUb3Age1xuICBtYXgtd2lkdGg6IDkxNXB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nOiAxMHB4IDEwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgzMHB4KSB7XG4gICNhcmVhVG9wIHtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbuODquODvOODieODhuOCreOCueODiFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5yZWFkVGV4dCB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMwcHgpIHtcbiAgLnJlYWRUZXh0IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLnJlYWRUZXh0IHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG7miLvjgovjg5zjgr/jg7Pjgajjg5Hjg7PjgY/jgZpcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ucHJldlBhbmt1enUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG7miLvjgovjg5zjgr/jg7Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uYnV0dG9uUHJldiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogNTdweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4uYnV0dG9uUHJldj4qIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggM3B4IDJweCAwcHggcmdiYSg0NywgMTg0LCAyMTQsIDAuMyk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNXB4O1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMHB4IDNweCAycHggMHB4IHJnYmEoNDcsIDE4NCwgMjE0LCAwLjMpO1xuICBsaW5lLWhlaWdodDogMWVtO1xufVxuXG4uYnV0dG9uUHJldj4qOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmZiOGQ2O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4uYnV0dG9uUHJldj4qOmFmdGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IDI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDExcHg7XG4gIHdpZHRoOiA2cHg7XG4gIGhlaWdodDogNnB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmY7XG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2ZmZjtcbiAgY29udGVudDogJyc7XG59XG5cbi5idXR0b25QcmV2IC50ZXh0IHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNjAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxu44Gx44KT44GP44GaXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnBhbkt1enVMaXN0IHtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgZm9udC1zaXplOiAwcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5wYW5LdXp1TGlzdDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA2cHg7XG59XG5cbi5wYW5LdXp1TGlzdDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHJnYmEoNDcsIDE4NCwgMjE0LCAwKSksIGNvbG9yLXN0b3AoNTAlLCByZ2JhKDQ3LCAxODQsIDIxNCwgMCkpLCBjb2xvci1zdG9wKDUxJSwgcmdiYSg0NywgMTg0LCAyMTQsIDApKSk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoNDcsIDE4NCwgMjE0LCAwKSAwJSwgcmdiYSg0NywgMTg0LCAyMTQsIDApIDUwJSwgcmdiYSg0NywgMTg0LCAyMTQsIDApIDUxJSk7XG59XG5cbi5wYW5LdXp1TGlzdDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHJnYmEoNDcsIDE4NCwgMjE0LCAwKSksIGNvbG9yLXN0b3AoNTAlLCByZ2JhKDQ3LCAxODQsIDIxNCwgMCkpLCBjb2xvci1zdG9wKDUxJSwgIzJmYjhkNikpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDQ3LCAxODQsIDIxNCwgMCkgMCUsIHJnYmEoNDcsIDE4NCwgMjE0LCAwKSA1MCUsICMyZmI4ZDYgNTElKTtcbn1cblxuLnBhbkt1enVMaXN0X19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ucGFuS3V6dUxpc3RfX2l0ZW0+KiB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLnBhbkt1enVMaXN0X19pdGVtIGEge1xuICBjb2xvcjogIzJmYjhkNjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGRpc3BsYXk6aW5saW5lO1xufVxuXG4ucGFuS3V6dUxpc3RfX2l0ZW06bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwIDEwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICBib3JkZXI6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiAwLjQ1ZW0gc29saWQgIzJmYjhkNjtcbiAgY29udGVudDogJyc7XG59XG5cbi8q4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa8XG7ilrwg44Kz44Oz44OG44Oz44OEXG7ilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrwqL1xuLmNsb3NlX21zZyB7XG4gIG1heC13aWR0aDogOTkwcHg7XG4gIG1hcmdpbjogMTBweDtcbiAgcGFkZGluZzogOHB4IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMyZmI4ZDY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMyZmI4ZDY7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTlweCkge1xuICAuY2xvc2VfbXNnIHtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbuOCqOODquOColxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG7jgrPjg7Pjg4bjg7Pjg4hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4jYXJlYUNvbnRlbnQge1xuICBwYWRkaW5nOiA4cHggMTBweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMwcHgpIHtcbiAgI2FyZWFDb250ZW50IHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiA5MTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICNhcmVhQ29udGVudCAjYXJlYU1haW4ge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgLW1zLWZsZXg6IDE7XG4gICAgZmxleDogMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgI2FyZWFDb250ZW50ICNhcmVhU3ViIHtcbiAgICB3aWR0aDogMzIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbuODoeOCpOODs+OCqOODquOCoiAmIOOCteODluOCqOODquOCouWFsemAmlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiNhcmVhTWFpbj4qOm5vdCg6bGFzdC1jaGlsZCksXG4jYXJlYVN1Yj4qOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxu44Oh44Kk44Oz44Ko44Oq44KiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuI2FyZWFNYWluIHtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG7jg5bjg63jg4Pjgq9cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uYmxvY2s+Kjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODMwcHgpIHtcbiAgLmJsb2NrPipbY2xhc3MqPVwidGl0bGVcIl0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbuOCq+ODvOODiVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5jYXJkLFxuLmNhcmRTcCB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDNweCAycHggMHB4IHJnYmEoNDcsIDE4NCwgMjE0LCAwLjMpO1xuICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMHB4IDNweCAycHggMHB4IHJnYmEoNDcsIDE4NCwgMjE0LCAwLjMpO1xufVxuXG4uY2FyZD4qOm5vdCg6bGFzdC1jaGlsZCksXG4uY2FyZFNwPio6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5jYXJkKy5ub3RpY2UsXG4uY2FyZFNwKy5ub3RpY2Uge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MzBweCkge1xuICAuY2FyZFNwIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbuODluODreODg+OCr1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5ib3g+Kjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbuODnOODvOODgOODvOODluODreODg+OCr1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5ib3JkZXJCbG9jayB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMyZmI4ZDY7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLmJvcmRlckJsb2NrPio6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG7jgqvjg6njg6Bcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uY29sdW1uIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uY29sdW1uPio6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblRJVExFICYgVEVYVFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi50aXRsZUFyZWFDb2x1bW4ge1xuICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnRpdGxlMDEge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMwcHgpIHtcbiAgLnRpdGxlMDEge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICMyZmI4ZDY7XG4gIH1cbn1cblxuLnRpdGxlMDIge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MzBweCkge1xuICAudGl0bGUwMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgIzJmYjhkNjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDVlbTtcbiAgfVxufVxuXG4udGl0bGUwMyB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnRpdGxlMDQge1xuICBjb2xvcjogIzJmYjhkNjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50aXRsZTA1IHtcbiAgY29sb3I6ICMwZjZiZDI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGl0bGUwNiB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGl0bGUwNyB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMmZiOGQ2O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG59XG5cbi50aXRsZTA4IHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICMyZmI4ZDY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50aXRsZTA5IHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudGl0bGXjgqjjg6rjgqJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4qW2NsYXNzKj1cInRpdGxlXCJdLmFyZWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBwYWRkaW5nLXJpZ2h0OiA3MHB4O1xufVxuXG4uYXJlYU5hbWUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMmZiOGQ2O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5hcmVhTmFtZSxcbi5hcmVhTmFtZT4qIHtcbiAgY29sb3I6ICMyZmI4ZDY7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbn1cblxuLmFyZWFOYW1lPioge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNnB4IDEwcHg7XG59XG5cbi5zdHJvbmcge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uYmlnIHtcbiAgZm9udC1zaXplOiAxMjAlO1xufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxu44OG44Kt44K544OIXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbuiJsuS7mOOBjVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5jb2xvciB7XG4gIGNvbG9yOiAjMmZiOGQ2O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxu6Imy5LuY44GNXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmNhdXRpb24ge1xuICBjb2xvcjogI2UwNjE2MTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbuazqOaEj+abuOOBjVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5ub3RpY2Uge1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG7kuK3lpK5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbuODnOODvOODq+ODiVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbuOCqOODqeODvOaWh1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5lbXNnIHtcbiAgY29sb3I6ICNmZjAwMDA7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG7jg4bjgq3jgrnjg4jjg6rjg7Pjgq9cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udGV4dExpbmsge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRleHRMaW5rPioge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIGNvbG9yOiAjMGY2YmQyO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnRleHRMaW5rPio6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmZiOGQ2O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbnRlbnQ6IFwiPlwiO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxu44OG44Kt44K544OI5Y+z44Gk44GNXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnRleHRSaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5hOmhvdmVyLFxuYnV0dG9uOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxu44OQ44OK44O8XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmJhbm5lciB7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5iYW5uZXIgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5ub3RpZmljYXRpb24ge1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4ubm90aWZpY2F0aW9uPio6bm90KDpsYXN0LWNoaWxkKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ubm90aWZpY2F0aW9uIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxu5pel5LuY44Oc44K/44OzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmRhdGVTd2l0Y2gge1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZGF0ZVN3aXRjaCAucHJldixcbi5kYXRlU3dpdGNoIC5uZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxLjJlbTtcbiAgaGVpZ2h0OiAxLjJlbTtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZmI4ZDY7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5kYXRlU3dpdGNoIC5wcmV2OmJlZm9yZSxcbi5kYXRlU3dpdGNoIC5uZXh0OmJlZm9yZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBib3JkZXI6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLmRhdGVTd2l0Y2ggLnByZXY6aG92ZXIsXG4uZGF0ZVN3aXRjaCAubmV4dDpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmRhdGVTd2l0Y2ggLnByZXYubGFzdCxcbi5kYXRlU3dpdGNoIC5uZXh0Lmxhc3Qge1xuICBvcGFjaXR5OiAwLjU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uZGF0ZVN3aXRjaCAucHJldjpiZWZvcmUge1xuICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCAjZmZmO1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLmRhdGVTd2l0Y2ggLm5leHQ6YmVmb3JlIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICNmZmY7XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5tYXJnaW5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4ubmVnVCB7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xufVxuXG4ubmVnQiB7XG4gIG1hcmdpbi1ib3R0b206IC0xMHB4O1xufVxuXG4ubmVnVEIge1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogLTEwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzMHB4KSB7XG4gIC5uZWdTcFQge1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICB9XG5cbiAgLm5lZ1NwQiB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEwcHg7XG4gIH1cblxuICAubmVnU3BUQiB7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMwcHgpIHtcbiAgLm5lZ1BjVCB7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIH1cblxuICAubmVnUGNCIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTBweDtcbiAgfVxuXG4gIC5uZWdQY1RCIHtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTBweDtcbiAgfVxufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuYnV0dG9uXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmJ1dHRvbkxpc3Qge1xuICBmb250LXNpemU6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJ1dHRvbkxpc3Q+LmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmJ1dHRvbkxpc3Q+LmJ1dHRvbj4qIHtcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5idXR0b25MaXN0Pi5idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNzRweCkge1xuICAuYnV0dG9uTGlzdD4uYnV0dG9uIHtcbiAgICB3aWR0aDogNDklO1xuICB9XG5cbiAgLmJ1dHRvbkxpc3Q+LmJ1dHRvbj4qIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmJ1dHRvbkxpc3Q+LmJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNSU7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbumAmuW4uOODnOOCv+ODs1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5idXR0b24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5idXR0b246aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5idXR0b24+KiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxMHB4IDMwcHggMTBweCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZmI4ZDY7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG59XG5cbi5idXR0b24+KjphZnRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAwLjc1ZW07XG4gIGhlaWdodDogMC43NWVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNmZmY7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4uYnV0dG9uLm5vQXJyb3c+KjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5idXR0b24udHlwZTAyIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYnV0dG9uLnR5cGUwMj4qIHtcbiAgbWluLXdpZHRoOiAxNTBweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJ1dHRvbi50eXBlMDI+KjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5idXR0b24uY29sb3IwMj4qIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJmYjhkNjtcbn1cblxuLmJ1dHRvbiAuY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxu5Y+z44Gk44GN44Oc44K/44OzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmJ1dHRvblJpZ2h0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYnV0dG9uUmlnaHQ+KiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxMHB4IDMwcHggMTBweCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZmI4ZDY7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG59XG5cbi5idXR0b25SaWdodD4qOmFmdGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMTVweDtcbiAgd2lkdGg6IDAuNzVlbTtcbiAgaGVpZ2h0OiAwLjc1ZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgIzJmYjhkNjtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyZmI4ZDY7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG7jgqLjgqTjgrPjg7PjgaTjgY3jg5zjgr/jg7Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uYnV0dG9uSWNvbiB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDJweCAycHggMXB4IHJnYmEoNDcsIDE4NCwgMjE0LCAwLjI1KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nOiA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJmYjhkNjtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAycHggMXB4IHJnYmEoNDcsIDE4NCwgMjE0LCAwLjI1KTtcbn1cblxuLmJ1dHRvbkljb25fX2xpbmsge1xuICB6LWluZGV4OiAyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmJ1dHRvbkljb25fX2lubmVyIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYnV0dG9uSWNvbl9fY29udGVudCAqIHtcbiAgY29sb3I6ICNmZmY7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG59XG5cbi5idXR0b25JY29uX19jb250ZW50Pio6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLmJ1dHRvbkljb25fX2ljb24ge1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLmJ1dHRvbkljb25fX2ljb24gaW1nIHtcbiAgbWF4LXdpZHRoOiA2MHB4O1xufVxuXG4uYnV0dG9uSWNvbl9fdGl0bGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5idXR0b25JY29uX190ZXh0IHtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxu5qSc57SiXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmFyZWFTZWFyY2g+Kjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbuOCreODvOODr+ODvOODie+8huePvuWcqOWcsO+8huadoeS7tuaknOe0olxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5zZWFyY2hDb25kaXRpb24ge1xuICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnNlYXJjaENvbmRpdGlvbl9faXRlbSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDNweCAycHggMHB4IHJnYmEoNDcsIDE4NCwgMjE0LCAwLjMpO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwcHggM3B4IDJweCAwcHggcmdiYSg0NywgMTg0LCAyMTQsIDAuMyk7XG59XG5cbi5zZWFyY2hDb25kaXRpb25fX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4uc2VhcmNoQ29uZGl0aW9uX19pdGVtPioge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG59XG5cbi5zZWFyY2hDb25kaXRpb25fX2xpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zZWFyY2hDb25kaXRpb25fX2xpbms6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAxMHB4O1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICMyZmI4ZDY7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMmZiOGQ2O1xuICBjb250ZW50OiAnJztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbuePvuWcqOWcsCbmnaHku7bmpJzntKJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uY29uZGl0aW9uLFxuLmxvY2F0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY29uZGl0aW9uIC5pY29uLFxuLmxvY2F0aW9uIC5pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG7jgq3jg7zjg6/jg7zjg4nmpJzntKJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uc2VhcmNoQ29uZGl0aW9uX19pdGVtLmtleXdvcmRzIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbi5zZWFyY2hDb25kaXRpb25fX2l0ZW0ua2V5d29yZHMgaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VGRjJGMjtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uc2VhcmNoQ29uZGl0aW9uX19pdGVtLmtleXdvcmRzPioge1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4uc2VhcmNoQ29uZGl0aW9uX19pdGVtLmtleXdvcmRzIC5zdWJtaXQ+KiB7XG4gIHBhZGRpbmc6IDAgNXB4IDAgMTBweDtcbn1cblxuLnNlYXJjaENvbmRpdGlvbl9faXRlbS5rZXl3b3JkcyAuc3VibWl0IGltZyB7XG4gIHdpZHRoOiAyMnB4O1xufVxuXG4jYXJlYVN1YiAua2V5d29yZHMgbGFiZWwge1xuICBwYWRkaW5nOiAwIDAgMCA1cHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG7nj77lnKjlnLBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ubG9jYXRpb24gLmljb24ge1xuICB3aWR0aDogMTZweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbuadoeS7tuaknOe0olxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5jb25kaXRpb24gLmljb24ge1xuICB3aWR0aDogMThweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbuWcsOWQjeOBp+aknOe0olxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5zZWFyY2hBcmVhIHtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2VhcmNoQXJlYV9faXRlbSB7XG4gIHdpZHRoOiAzMy4zMyU7XG4gIHBhZGRpbmc6IDVweCAyLjVweDtcbn1cblxuLnNlYXJjaEFyZWFfX2l0ZW0+KiB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDNweCAycHggMHB4IHJnYmEoNDcsIDE4NCwgMjE0LCAwLjMpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMHB4IDNweCAycHggMHB4IHJnYmEoNDcsIDE4NCwgMjE0LCAwLjMpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMWVtO1xufVxuXG4uc2VhcmNoQXJlYV9faXRlbT4qOmFmdGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMTBweDtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjMmZiOGQ2O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzJmYjhkNjtcbiAgY29udGVudDogJyc7XG59XG5cbi5zZWFyY2hBcmVhX19pdGVtPio6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG7jgr/jgqTjg5cwMlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5zZWFyY2hBcmVhLnR5cGUwMiB7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4uc2VhcmNoQXJlYS50eXBlMDIgLnNlYXJjaEFyZWFfX2NvbHVtbiB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdztcbn1cblxuLnNlYXJjaEFyZWEudHlwZTAyIC5zZWFyY2hBcmVhX19jb2x1bW4+KiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHBhZGRpbmc6IDhweCAwO1xufVxuXG4uc2VhcmNoQXJlYS50eXBlMDIgLnNlYXJjaEFyZWFfX2NvbHVtbjpudGgtY2hpbGQoZXZlbik+KiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDcsIDE4NCwgMjE0LCAwLjE1KTtcbn1cblxuLnNlYXJjaEFyZWEudHlwZTAyIC5zZWFyY2hBcmVhX19jb2x1bW5UaXRsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5zZWFyY2hBcmVhLnR5cGUwMiAuc2VhcmNoQXJlYV9fY29sdW1uVGl0bGUgLnNlYXJjaEFyZWFfX2l0ZW0ge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDM2LCA0MiwgNDQsIDAuNSk7XG59XG5cbi5zZWFyY2hBcmVhLnR5cGUwMiAuc2VhcmNoQXJlYV9fY29sdW1uVGl0bGUgLnNlYXJjaEFyZWFfX2l0ZW0+KiB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5zZWFyY2hBcmVhLnR5cGUwMiAuc2VhcmNoQXJlYV9fY29sdW1uVGl0bGUgLnNlYXJjaEFyZWFfX2l0ZW0+KjpiZWZvcmUsXG4uc2VhcmNoQXJlYS50eXBlMDIgLnNlYXJjaEFyZWFfX2NvbHVtblRpdGxlIC5zZWFyY2hBcmVhX19pdGVtPio6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc2VhcmNoQXJlYS50eXBlMDIgLnNlYXJjaEFyZWFfX2NvbHVtbkl0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMDtcbn1cblxuLnNlYXJjaEFyZWEudHlwZTAyIC5zZWFyY2hBcmVhX19jb2x1bW5JdGVtIC5zZWFyY2hBcmVhX19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uc2VhcmNoQXJlYS50eXBlMDIgLnNlYXJjaEFyZWFfX2l0ZW0ge1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogMCA3cHg7XG59XG5cbi5zZWFyY2hBcmVhLnR5cGUwMiAuc2VhcmNoQXJlYV9faXRlbT4qIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDVweCAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogIzBmNmJkMjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5zZWFyY2hBcmVhLnR5cGUwMiAuc2VhcmNoQXJlYV9faXRlbT4qOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbk9OL09GRuOCueOCpOODg+ODgVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5vbm9mZnN3aXRjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDY4cHg7XG59XG5cbi5vbm9mZnN3aXRjaC5jZW50ZXIge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4ub25vZmZzd2l0Y2gtY2hlY2tib3gge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ub25vZmZzd2l0Y2gtbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDM2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm9ub2Zmc3dpdGNoLWlubmVyIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBtYXJnaW4gLjNzIGVhc2UtaW4gMHM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjAwJTtcbiAgbWFyZ2luLWxlZnQ6IC0xMDAlO1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gLjNzIGVhc2UtaW4gMHM7XG59XG5cbi5vbm9mZnN3aXRjaC1pbm5lcjphZnRlcixcbi5vbm9mZnN3aXRjaC1pbm5lcjpiZWZvcmUge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNTAlO1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbn1cblxuLm9ub2Zmc3dpdGNoLWlubmVyOmJlZm9yZSB7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjBjYmE5O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29udGVudDogXCJPTlwiO1xufVxuXG4ub25vZmZzd2l0Y2gtaW5uZXI6YWZ0ZXIge1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgY29udGVudDogXCJPRkZcIjtcbn1cblxuLm9ub2Zmc3dpdGNoLXN3aXRjaCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluIDBzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAzNHB4O1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAyMHB4O1xuICBtYXJnaW46IDdweDtcbiAgYm9yZGVyLXJhZGl1czogMzZweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluIDBzO1xufVxuXG4ub25vZmZzd2l0Y2gtY2hlY2tib3g6Y2hlY2tlZCsub25vZmZzd2l0Y2gtbGFiZWwgLm9ub2Zmc3dpdGNoLWlubmVyIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5vbm9mZnN3aXRjaC1jaGVja2JveDpjaGVja2VkKy5vbm9mZnN3aXRjaC1sYWJlbCAub25vZmZzd2l0Y2gtc3dpdGNoIHtcbiAgcmlnaHQ6IDA7XG59XG5cbi8q4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa8XG7ilrwg44Oq44K544OI6aGeXG7ilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrwqL1xuLmFjY2Vzc1JhbmtMaXN0PipbY2xhc3MqPVwiX19pdGVtXCJdOm5vdCg6bGFzdC1jaGlsZCksXG4uc2Vhc29uSW5mb0xpc3Q+KltjbGFzcyo9XCJfX2l0ZW1cIl06bm90KDpsYXN0LWNoaWxkKSxcbi5zcG90TGlzdD4qW2NsYXNzKj1cIl9faXRlbVwiXTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG59XG5cbi5hY2Nlc3NSYW5rTGlzdCAqW2NsYXNzKj1cIl9faW5uZXJcIl0sXG4uc2Vhc29uSW5mb0xpc3QgKltjbGFzcyo9XCJfX2lubmVyXCJdLFxuLnNwb3RMaXN0ICpbY2xhc3MqPVwiX19pbm5lclwiXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweCAxNXB4IDEwcHggMHB4O1xufVxuXG4uYWNjZXNzUmFua0xpc3QgKltjbGFzcyo9XCJfX2lubmVyXCJdOmFmdGVyLFxuLnNlYXNvbkluZm9MaXN0ICpbY2xhc3MqPVwiX19pbm5lclwiXTphZnRlcixcbi5zcG90TGlzdCAqW2NsYXNzKj1cIl9faW5uZXJcIl06YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiA1cHg7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgIzJmYjhkNjtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyZmI4ZDY7XG4gIGNvbnRlbnQ6ICcnO1xufVxuXG4uYWNjZXNzUmFua0xpc3QgKltjbGFzcyo9XCJfX25hbWVcIl0sXG4uc2Vhc29uSW5mb0xpc3QgKltjbGFzcyo9XCJfX25hbWVcIl0sXG4uc3BvdExpc3QgKltjbGFzcyo9XCJfX25hbWVcIl0ge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5hY2Nlc3NSYW5rTGlzdCAqW2NsYXNzKj1cIl9faW5mb1wiXSxcbi5zZWFzb25JbmZvTGlzdCAqW2NsYXNzKj1cIl9faW5mb1wiXSxcbi5zcG90TGlzdCAqW2NsYXNzKj1cIl9faW5mb1wiXSB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbuODquOCueODiFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5kb3RMaXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbn1cblxuLmRvdExpc3QgLmxpc3RfX2l0ZW0ge1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG7jgqLjgq/jgrvjgrnjg6njg7Pjgq3jg7PjgrDvvIjjg6rjgrnjg4jvvIlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uYWNjZXNzUmFua0xpc3RfX2lubmVyIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYWNjZXNzUmFua0xpc3RfX2ljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5hY2Nlc3NSYW5rTGlzdF9faWNvbj4qIHtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYWNjZXNzUmFua0xpc3RfX2ljb24gaW1nIHtcbiAgLW8tb2JqZWN0LWZpdDogY292ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uYWNjZXNzUmFua0xpc3RfX2ljb246YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZmI4ZDY7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5hY2Nlc3NSYW5rTGlzdF9faXRlbTpudGgtY2hpbGQoMSkgLmFjY2Vzc1JhbmtMaXN0X19pY29uLFxuLmFjY2Vzc1JhbmtMaXN0X19pdGVtOm50aC1jaGlsZCgyKSAuYWNjZXNzUmFua0xpc3RfX2ljb24sXG4uYWNjZXNzUmFua0xpc3RfX2l0ZW06bnRoLWNoaWxkKDMpIC5hY2Nlc3NSYW5rTGlzdF9faWNvbiB7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xufVxuXG4uYWNjZXNzUmFua0xpc3RfX2l0ZW06bnRoLWNoaWxkKDEpIC5hY2Nlc3NSYW5rTGlzdF9faWNvbjphZnRlcixcbi5hY2Nlc3NSYW5rTGlzdF9faXRlbTpudGgtY2hpbGQoMikgLmFjY2Vzc1JhbmtMaXN0X19pY29uOmFmdGVyLFxuLmFjY2Vzc1JhbmtMaXN0X19pdGVtOm50aC1jaGlsZCgzKSAuYWNjZXNzUmFua0xpc3RfX2ljb246YWZ0ZXIge1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4vKlxuLmFjY2Vzc1JhbmtMaXN0X19pdGVtOm50aC1jaGlsZCgxKSAuYWNjZXNzUmFua0xpc3RfX2ljb246YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbl9zdGFyMDEuc3ZnXCIpO1xufVxuXG4uYWNjZXNzUmFua0xpc3RfX2l0ZW06bnRoLWNoaWxkKDIpIC5hY2Nlc3NSYW5rTGlzdF9faWNvbjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29uX3N0YXIwMi5zdmdcIik7XG59XG5cbi5hY2Nlc3NSYW5rTGlzdF9faXRlbTpudGgtY2hpbGQoMykgLmFjY2Vzc1JhbmtMaXN0X19pY29uOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25fc3RhcjAzLnN2Z1wiKTtcbn1cbiovXG5cbi5hY2Nlc3NSYW5rTGlzdF9fY29udGVudCB7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC1tcy1mbGV4OiAxO1xuICBmbGV4OiAxO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLmFjY2Vzc1JhbmtMaXN0X19uYW1lIHtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbn1cblxuLmFjY2Vzc1JhbmtMaXN0X19pbmZvIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxu44Ko44Oq44Ki44Oq44K544OIXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLnNwb3RMaXN0X19pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc3BvdExpc3RfX21hc2sge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnNwb3RMaXN0X19pbm5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc3BvdExpc3RfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMWVtO1xufVxuXG4uc3BvdExpc3RfX2V2ZW50LFxuLnNwb3RMaXN0X19kYXRlIHtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuXG4uc3BvdExpc3Qub2ZmIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNwb3RMaXN0Lm9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zcG90TGlzdF9faXRlbS5iYWNrU3R5bGUgLnNwb3RMaXN0X19uYW1lIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBvcGFjaXR5OiAwLjk7XG59XG5cbi5zcG90TGlzdF9faXRlbS5iYWNrU3R5bGUgLnNwb3RMaXN0X19pbm5lciB7XG4gIHBhZGRpbmc6IDEwcHggMHB4IDEwcHggMTVweDtcbn1cblxuLnNwb3RMaXN0X19pdGVtLmJhY2tTdHlsZSAuc3BvdExpc3RfX2lubmVyOmFmdGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDEzNWRlZyk7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAycHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTM1ZGVnKTtcbn1cblxuLnNwb3RMaXN0SW5mbyB7XG4gIGZvbnQtc2l6ZTogMDtcbn1cblxuLnNwb3RMaXN0SW5mb19faXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnNwb3RMaXN0SW5mb19faXRlbT4qIHtcbiAgei1pbmRleDogMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDEzcHg7XG4gIG9wYWNpdHk6IDAuOTtcbn1cblxuLnNwb3RMaXN0SW5mb19faXRlbSBhOmhvdmVyIHtcbiAgY29sb3I6ICMyZmI4ZDY7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zcG90TGlzdEluZm9fX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1yaWdodDogN3B4O1xuICBwYWRkaW5nLXJpZ2h0OiA3cHg7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2M7XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG7jg4jjg5Tjg4Pjgq/jgrlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4udG9waWNzUGlja1VwIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4udG9waWNzUGlja1VwX190aHVtYiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDE1MHB4O1xuICBoZWlnaHQ6IDExMi41cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRvcGljc1BpY2tVcF9fdGh1bWIgaW1nIHtcbiAgLW8tb2JqZWN0LWZpdDogY292ZXI7XG4gIHdpZHRoOiAxNTBweDtcbiAgaGVpZ2h0OiAxMTIuNXB4O1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLnRvcGljc1BpY2tVcF9fdGV4dCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1heC1oZWlnaHQ6IDExMi41cHg7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAtbXMtZmxleDogMTtcbiAgZmxleDogMTtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG7lraPnr4Djga7mg4XloLFcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uc2Vhc29uSW5mb0xpc3RfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xufVxuXG4uc2Vhc29uSW5mb0xpc3RfX2lubmVyIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uc2Vhc29uSW5mb0xpc3RfX2ljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG59XG5cbi5zZWFzb25JbmZvTGlzdF9faWNvbiBpbWcge1xuICAtby1vYmplY3QtZml0OiBjb3ZlcjtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5zZWFzb25JbmZvTGlzdF9fY29udGVudCB7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC1tcy1mbGV4OiAxO1xuICBmbGV4OiAxO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLnNlYXNvbkluZm9MaXN0X190aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG59XG5cbi5zZWFzb25JbmZvTGlzdF9fdGV4dCB7XG4gIG1hcmdpbi10b3A6IDNweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMWVtO1xufVxuXG4vKuKWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvFxu4pa8IOODleOCqeODvOODoOODkeODvOODhFxu4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa8Ki9cbi5ncm91cDpub3QoOmxhc3QtY2hpbGQpLFxuLmZvcm1Hcm91cDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDQ3LCAxODQsIDIxNCwgMC4zKTtcbn1cblxuLmdyb3VwPio6bm90KDpsYXN0LWNoaWxkKSxcbi5mb3JtR3JvdXA+Kjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbumAmuW4uOOBrmlucHV0PVwiIHRleHQgb3Igc2VsZWN0IFwiXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmZvcm0tdGV4dCxcbi5mb3JtLXNlbGVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMzM1cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGJvcmRlcjogMnB4IHNvbGlkICMyZmI4ZDY7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cblxuLmZvcm0tdGV4dDpob3Zlcixcbi5mb3JtLXNlbGVjdDpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZvcm0tdGV4dD4qLFxuLmZvcm0tc2VsZWN0Pioge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNXB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXCJzbGVjdFwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZvcm0tc2VsZWN0OmJlZm9yZSxcbi5mb3JtLXNlbGVjdDphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4uZm9ybS1zZWxlY3Q6YmVmb3JlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IC0xO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMTBweDtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjZmZmO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZjtcbiAgY29udGVudDogJyc7XG59XG5cbi5mb3JtLXNlbGVjdDphZnRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAtMjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDJweDtcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMjVweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZmI4ZDY7XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG7mnaHku7bpgbjmip7vvIjjg4Hjgqfjg4Pjgq/jg5zjg4Pjgq/jgrkgJiDjg6njgrjjgqrvvIlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uc3RhdHVzUmFkaW9fX2lucHV0LFxuLnN0YXR1c0NoZWNrYm94X19pbnB1dCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zdGF0dXNSYWRpb19fbGFiZWwsXG4uc3RhdHVzQ2hlY2tib3hfX2xhYmVsIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjE1cyBlYXNlLWluO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4IDA7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NywgMTg0LCAyMTQsIDAuMjUpO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHRyYW5zaXRpb246IDAuMTVzIGVhc2UtaW47XG59XG5cbi5zdGF0dXNSYWRpb19fbGFiZWw6aG92ZXIsXG4uc3RhdHVzQ2hlY2tib3hfX2xhYmVsOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc3RhdHVzUmFkaW9fX2lucHV0OmNoZWNrZWQrLnN0YXR1c1JhZGlvX19sYWJlbCxcbi5zdGF0dXNDaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsuc3RhdHVzUmFkaW9fX2xhYmVsLFxuLnN0YXR1c1JhZGlvX19pbnB1dDpjaGVja2VkKy5zdGF0dXNDaGVja2JveF9fbGFiZWwsXG4uc3RhdHVzQ2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnN0YXR1c0NoZWNrYm94X19sYWJlbCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMC4xNXMgZWFzZS1vdXQ7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDNweCAycHggMHB4IHJnYmEoNDcsIDE4NCwgMjE0LCAwLjMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwcHggM3B4IDJweCAwcHggcmdiYSg0NywgMTg0LCAyMTQsIDAuMyk7XG4gIHRyYW5zaXRpb246IDAuMTVzIGVhc2Utb3V0O1xufVxuXG4uc3RhdHVzUmFkaW9fX2lucHV0OmNoZWNrZWQrLnN0YXR1c1JhZGlvX19sYWJlbDo6YWZ0ZXIsXG4uc3RhdHVzQ2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnN0YXR1c1JhZGlvX19sYWJlbDo6YWZ0ZXIsXG4uc3RhdHVzUmFkaW9fX2lucHV0OmNoZWNrZWQrLnN0YXR1c0NoZWNrYm94X19sYWJlbDo6YWZ0ZXIsXG4uc3RhdHVzQ2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnN0YXR1c0NoZWNrYm94X19sYWJlbDo6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxu44Op44K444KqXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnN0YXR1c1JhZGlvX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uc3RhdHVzUmFkaW8gLmljb24ge1xuICB3aWR0aDogNDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4uc3RhdHVzUmFkaW9fX2xhYmVsIHtcbiAgcGFkZGluZzogMTVweCAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLnN0YXR1c1JhZGlvX19pbnB1dDpjaGVja2VkKy5zdGF0dXNSYWRpb19fbGFiZWwge1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDQ3LCAxODQsIDIxNCwgMC4zKTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbuODgeOCp+ODg+OCr+ODnOODg+OCr+OCuVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5zdGF0dXNDaGVja2JveCB7XG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDcsIDE4NCwgMjE0LCAwLjEpO1xufVxuXG4uc3RhdHVzQ2hlY2tib3hfX2l0ZW0ge1xuICB3aWR0aDogNTAlO1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzMHB4KSB7XG4gIC5zdGF0dXNDaGVja2JveF9faXRlbTpudGgtY2hpbGQob2RkKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLnN0YXR1c0NoZWNrYm94X19pdGVtOm50aC1jaGlsZChldmVuKSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4uc3RhdHVzQ2hlY2tib3hfX2xhYmVsIHtcbiAgcGFkZGluZzogMTVweCAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzc0cHgpIHtcbiAgLnN0YXR1c0NoZWNrYm94X19sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgzMHB4KSB7XG4gIC5zdGF0dXNDaGVja2JveF9faXRlbSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBwYWRkaW5nOiA1cHg7XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbuadoeS7tuWkieabtOOBruODqeOCuOOCqu+8iOOAnOOCkumBuOOCk+OBp+OBj+OBoOOBhOOAguOBruS4i++8iVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5zdGF0dXNDaG9pY2Uge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1heC13aWR0aDogMzM1cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmc6IDVweDtcbiAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDcsIDE4NCwgMjE0LCAwLjEpO1xufVxuXG4uc3RhdHVzQ2hvaWNlX19pdGVtIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zdGF0dXNDaG9pY2VfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4uc3RhdHVzQ2hvaWNlX19sYWJlbCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMC4xNXMgZWFzZS1pbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDhweCAwO1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NywgMTg0LCAyMTQsIDAuMSk7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiAwLjE1cyBlYXNlLWluO1xufVxuXG4uc3RhdHVzQ2hvaWNlX19sYWJlbDphZnRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0xN3B4O1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgYm9yZGVyOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAxMnB4IHNvbGlkIHJnYmEoNDcsIDE4NCwgMjE0LCAwLjEpO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBjb250ZW50OiAnJztcbiAgb3BhY2l0eTogMDtcbn1cblxuLnN0YXR1c0Nob2ljZV9faW5wdXQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc3RhdHVzQ2hvaWNlX19pbnB1dDpjaGVja2VkKy5zdGF0dXNDaG9pY2VfX2xhYmVsIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjE1cyBlYXNlLW91dDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggM3B4IDJweCAwcHggcmdiYSg0NywgMTg0LCAyMTQsIDAuMyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggMnB4IDBweCByZ2JhKDQ3LCAxODQsIDIxNCwgMC4zKTtcbiAgdHJhbnNpdGlvbjogMC4xNXMgZWFzZS1vdXQ7XG59XG5cbi5zdGF0dXNDaG9pY2VfX2lucHV0OmNoZWNrZWQrLnN0YXR1c0Nob2ljZV9fbGFiZWw6OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyrilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrxcbuKWvCDlpKnmsJdcbuKWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvCovXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxu44K544Kk44OD44OBXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLnN3aXRjaFRhYiB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDJweCA0cHggMHB4IHJnYmEoNDcsIDE4NCwgMjE0LCAwLjYpO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNTEwcHg7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlY2VjZWM7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY5ZmQ7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDBweCByZ2JhKDQ3LCAxODQsIDIxNCwgMC42KTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cblxuLnN3aXRjaFRhYl9faXRlbSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogOHB4IDA7XG4gIGNvbG9yOiAjNjA2MDYwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnN3aXRjaFRhYl9faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2VjZWNlYztcbn1cblxuLnN3aXRjaFRhYl9faXRlbS5hY3Qge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnN3aXRjaFRhYl9faXRlbS5hY3Qgc3BhbiB7XG4gIHotaW5kZXg6IDM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnN3aXRjaFRhYl9faXRlbS5hY3Q6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAxMDUlO1xuICBoZWlnaHQ6IDEyNSU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmZiOGQ2O1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxu44K544Kk44OD44OB44Kz44Oz44OG44Oz44OEXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLnN3aXRjaENvbnRlbnRfX2l0ZW0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc3dpdGNoQ29udGVudF9faXRlbS5hY3Qge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyrilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrxcbuKWvCBTdWJcbuKWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvCovXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxu44OI44OU44OD44Kv44K5XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLnRvcGljc0xpc3RfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xufVxuXG4udG9waWNzTGlzdF9faW5uZXIge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweCAxNXB4IDEwcHggMHB4O1xufVxuXG4udG9waWNzTGlzdF9faW5uZXI6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiA1cHg7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgIzJmYjhkNjtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyZmI4ZDY7XG4gIGNvbnRlbnQ6ICcnO1xufVxuXG4udG9waWNzTGlzdF9fdGh1bWIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA5MHB4O1xuICBoZWlnaHQ6IDY3cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRvcGljc0xpc3RfX3RodW1iIGltZyB7XG4gIC1vLW9iamVjdC1maXQ6IGNvdmVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLnRvcGljc0xpc3RfX2NvbnRlbnQge1xuICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAtbXMtZmxleDogMTtcbiAgZmxleDogMTtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi50b3BpY3NMaXN0X190aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50b3BpY3NMaXN0X19kYXRlIHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4vKuKWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvFxu4pa8IEZvb3Rlclxu4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa8Ki9cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4jYXJlYUZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogNDBweDtcbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi51bmRlckFyZWEge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnVuZGVyQXJlYSAucmVhZFRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi51bmRlckFyZWEgLm5vdGljZVRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1pbmRlbnQ6IC0xZW07XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG7jgrPjg5Tjg7zjg6njgqTjg4hcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uY29weUxpc3RfX2l0ZW0ge1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNvcHlMaXN0X19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAxcHg7XG59XG5cbi5jb3B5TGlzdCBhIHtcbiAgY29sb3I6ICMyZmI4ZDY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi8q4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa8XG7ilrwg44Kq44O844OQ44O844Os44KkXG7ilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrwqL1xuI292ZXJsYXkge1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMTA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDcsIDE4NCwgMjE0LCAwLjkpO1xufVxuXG4jb3ZlcmxheS5vZmYge1xuICBkaXNwbGF5OiBub25lO1xuICBvcGFjaXR5OiAwO1xufVxuXG4jb3ZlcmxheS5vbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBvbiAwLjI1cyBlYXNlLWluIDBzIGZvcndhcmRzO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFuaW1hdGlvbjogb24gMC4yNXMgZWFzZS1pbiAwcyBmb3J3YXJkcztcbiAgb3BhY2l0eTogMTtcbn1cblxuLm92ZXJsYXlDb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzNTVweDtcbiAgcGFkZGluZzogMTBweCAxMHB4IDY1cHggMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLm92ZXJsYXlDb250ZW50IC5idXR0b24ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDE1cHg7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDE4MHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi5vdmVybGF5Q29udGVudCAuYnV0dG9uPioge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDE4MHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm92ZXJsYXlDb250ZW50IC5idXR0b24+KjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vdmVybGF5Q29udGVudCAuaW5uZXIge1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi5vdmVybGF5Q29udGVudCAuaW5uZXI+Kjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLm92ZXJsYXlDb250ZW50IDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogMTJweDtcbn1cblxuLm92ZXJsYXlDb250ZW50IDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDQ3LCAxODQsIDIxNCwgMCkpLCBjb2xvci1zdG9wKDUwJSwgcmdiYSg0NywgMTg0LCAyMTQsIDApKSwgY29sb3Itc3RvcCg1MSUsIHJnYmEoNDcsIDE4NCwgMjE0LCAwLjEpKSk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSg0NywgMTg0LCAyMTQsIDApIDAlLCByZ2JhKDQ3LCAxODQsIDIxNCwgMCkgNTAlLCByZ2JhKDQ3LCAxODQsIDIxNCwgMC4xKSA1MSUpO1xufVxuXG4ub3ZlcmxheUNvbnRlbnQgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoNDcsIDE4NCwgMjE0LCAwKSksIGNvbG9yLXN0b3AoNTAlLCByZ2JhKDQ3LCAxODQsIDIxNCwgMCkpLCBjb2xvci1zdG9wKDUxJSwgIzJmYjhkNikpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoNDcsIDE4NCwgMjE0LCAwKSAwJSwgcmdiYSg0NywgMTg0LCAyMTQsIDApIDUwJSwgIzJmYjhkNiA1MSUpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MzBweCkge1xuICAub3ZlcmxheUNvbnRlbnQgLmlubmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoNTAwcHggLSA4MHB4KTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzBweCkge1xuICAjb3ZlcmxheSB7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB9XG5cbiAgLm92ZXJsYXlDb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgcGFkZGluZy1ib3R0b206IDE0MHB4O1xuICB9XG5cbiAgLm92ZXJsYXlDb250ZW50IC5pbm5lciB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTQwcHggLSA2MHB4KTtcbiAgfVxuXG4gIC5vdmVybGF5Q29udGVudCAuYnV0dG9uIHtcbiAgICBib3R0b206IDE0MHB4O1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBvbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG9uIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cblt2LWNsb2FrXSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi50cmFucyB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi50cmFucy5yZWFkeSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi50ZXh0LWJvbGQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmFsYXJtLXNhbXBsZS1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC44ZW1cbn1cblxuLmJhbm5lci1pbWFnZSxcbi5iYW5uZXItdGV4dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDMyMHB4O1xufVxuXG4uYmFubmVyLXRleHQge1xuICBtYXJnaW46IGF1dG87XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5pbmxpbmUtY29udGVudCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLmlubGluZS1jb250ZW50ICoge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5pbmxpbmUtY29udGVudCAuYnV0dG9uUmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5tYi0xMCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbuODouODvOODgOODq+OCs+ODs+ODhuODs+ODhFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuLm92ZXJsYXkubW9kYWwge1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogMTB2aDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDtcbn1cblxuLm92ZXJsYXlDb250ZW50Lm1vZGFsIHtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgd2lkdGg6IDgwdnc7XG4gIGhlaWdodDogNzV2aDtcbiAgbWF4LXdpZHRoOiAzNzVweDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG59XG5cbi5vdmVybGF5Q29udGVudC5tb2RhbCAuYnV0dG9uIHtcbiAgYm90dG9tOiAxMHB4O1xufVxuXG4vKiDjg5Tjg7Pjgq/jg5zjgr/jg7MgKi9cbi5waW5rLWJ0biB7YmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbShtaXN0eXJvc2UpLCB0bygjZmZmKSkgIWltcG9ydGFudDtcbiAgIGNvbG9yOiAjMGM0MTlhOyBib3JkZXItcmFkaXVzOiA0cHg7IGJveC1zaGFkb3c6IDJweCAzcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IG1hcmdpbi10b3A6IDEwcHg7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuLnBpbmstYnRuLndpZGUge3dpZHRoOiAyOTBweDsgfVxuLnBpbmstYnRuIGEge2NvbG9yOiAjMGM0MTlhICFpbXBvcnRhbnQ7IH1cbi5waW5rLWJ0biA+ICoge2ZvbnQtd2VpZ2h0OiA2MDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDQwcHg7IGxpbmUtaGVpZ2h0OiA0MHB4OyBkaXNwbGF5OiBibG9jazsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4ucGluay1idG4gYS50eHQtcm93OjphZnRlcntjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTsgcmlnaHQ6IDdweDsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiA4cHg7IGhlaWdodDogMTRweDsgbWFyZ2luLXRvcDogLTdweDsgYmFja2dyb3VuZDogdXJsKC8vd2VhdGhlci5zbXQuZG9jb21vLm5lLmpwL2ltZy93ZWF0aGVyX2Fycm93X2IucG5nKSBuby1yZXBlYXQgMCAwOyAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogOHB4IDE0cHg7IC1tb3otYmFja2dyb3VuZC1zaXplOiA4cHggMTRweDsgLW8tYmFja2dyb3VuZC1zaXplOiA4cHggMTRweDsgYmFja2dyb3VuZC1zaXplOiA4cHggMTRweDsgfVxuLyogZXRjICovXG5bdi1jbG9ha10ge2Rpc3BsYXk6bm9uZTt9XG5cbi5zZ3RrcGluay1idG4ge2JhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20obWlzdHlyb3NlKSwgdG8oI2ZmZikpICFpbXBvcnRhbnQ7fVxuLnNndGtwaW5rLWJ0bjIge2JhY2tncm91bmQ6IG1pc3R5cm9zZSAhaW1wb3J0YW50O31cbi8qIOODiOODg+ODl+OBuOaIu+OCi+ODquODs+OCryAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHsjdG9wX2xpbmsge21hcmdpbi10b3A6IDMwcHg7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH0gfVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG7pu5Ljga7jgqrjg7zjg5Djg7zjg6zjgqTjgpLlh7rjgZlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ubG9ja092ZXJsYXkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmxvY2tPdmVybGF5OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDI7XG59XG5cbi5sb2NrT3ZlcmxheV90eHQ+YSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgYm94LXNoYWRvdzogMXB4IDFweCAzcHggIzU1NTU1NTtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuXG4ubG9ja092ZXJsYXlfdHh0LnJha3VyYWt1IHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxu44Kq44O844OQ44O844Os44Kk44Gu5LiK44Gu44OG44Kt44K544OIXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiDln7rmnKzoqK3lrppcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ubG9ja092ZXJsYXlfdHh0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDI1MHB4O1xufVxuXG4ubG9ja092ZXJsYXl0b3Age1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmxvY2tPdmVybGF5dG9wPi50aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuXG5cbi8qIOS9jee9ruiqv+aVtFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5sb2NrT3ZlcmxheV90eHQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMztcbn1cblxuXG4ubG9ja092ZXJsYXlfdHh0IHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbn1cblxuLmxvY2tPdmVybGF5X3R4dC5yYWt1cmFrdSB7XG4gICAgaGVpZ2h0OiA4OHB4O1xufVxuXG4ubG9ja092ZXJsYXlfdHh0LmxhcmdlIHtcbiAgICBoZWlnaHQ6IDQ1MHB4O1xufVxuLnBhbkt1enVMaXN0X19pdGVtIGEge2Rpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O31cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8q4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa8XG7ilrwg5YWo44Oa44O844K4XG7ilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrwqL1xuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbuODleOCqeODvOODoOOBruODgeOCp+ODg+OCr+ODnOODg+OCr+OCuVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5zdGF0dXNDaGVja2JveCB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc3RhdHVzUmFkaW9fX2xhYmVsLCAuc3RhdHVzQ2hlY2tib3hfX2xhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NywgMTg0LCAyMTQsIDAuMzUpO1xufVxuXG4uc3RhdHVzUmFkaW9fX2lucHV0OmNoZWNrZWQgKyAuc3RhdHVzUmFkaW9fX2xhYmVsLCAuc3RhdHVzQ2hlY2tib3hfX2lucHV0OmNoZWNrZWQgKyAuc3RhdHVzUmFkaW9fX2xhYmVsLCAuc3RhdHVzUmFkaW9fX2lucHV0OmNoZWNrZWQgKyAuc3RhdHVzQ2hlY2tib3hfX2xhYmVsLCAuc3RhdHVzQ2hlY2tib3hfX2lucHV0OmNoZWNrZWQgKyAuc3RhdHVzQ2hlY2tib3hfX2xhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJmYjhkNjtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG7jgrDjg6njg5Xjgqjjg6rjgqJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uZ3JhcGhBcmVhIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5ncmFwaEFyZWEgPiAqOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG7lh6Hkvotcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ua2FmdW5HcmFwaEd1aWRlIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMnB4IDJweCAwcHggcmdiYSg0NywgMTg0LCAyMTQsIDAuMjUpO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDQ3LCAxODQsIDIxNCwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAycHggMHB4IHJnYmEoNDcsIDE4NCwgMjE0LCAwLjI1KTtcbn1cblxuLmthZnVuR3JhcGhHdWlkZV9faXRlbSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbn1cblxuLmthZnVuR3JhcGhHdWlkZV9faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4ua2FmdW5HcmFwaEd1aWRlX19pdGVtOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEzcHg7XG4gIGhlaWdodDogMTNweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ua2FmdW5HcmFwaEd1aWRlX19pdGVtLmx2NDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTUwMDAwO1xufVxuXG4ua2FmdW5HcmFwaEd1aWRlX19pdGVtLmx2MzpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY4MDAwO1xufVxuXG4ua2FmdW5HcmFwaEd1aWRlX19pdGVtLmx2MjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWFjYTgxO1xufVxuXG4ua2FmdW5HcmFwaEd1aWRlX19pdGVtLmx2MTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4ODllO1xufVxuXG4vKuKWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvFxu4pa8IOODiOODg+ODl+ODmuODvOOCuFxu4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa8Ki9cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG7jg57jgqTjgr/jgqbjg7PoqK3lrppcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4ubXlUb3duSW5mbyB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMyZmI4ZDY7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLm15VG93bkluZm8gLnRvcCwgLm15VG93bkluZm8gLmJvdHRvbSB7XG4gIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzBweCkge1xuICAubXlUb3duSW5mbyAuYm90dG9tIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAubXlUb3duSW5mbyAuYm90dG9tID4gKjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG59XG5cbi5teVRvd25JbmZvIC50b3Age1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyZmI4ZDY7XG59XG5cbi5teVRvd25JbmZvIC5hcmVhVGV4dCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm15VG93bkluZm9fX2dyb3VwIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubXlUb3duSW5mb19fZ3JvdXAgPiAqOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2M7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzMHB4KSB7XG4gIC5teVRvd25JbmZvX19ncm91cCB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAubXlUb3duSW5mb19fZ3JvdXAgPiAqOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB9XG59XG5cbi5teVRvd25JbmZvX19pdGVtIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubXlUb3duSW5mb19faWNvbiB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4ubXlUb3duSW5mb19fZGF0ZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG59XG5cbi8q4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa8XG7ilrwg44Oe44Kk44Kr44Or44OGXG7ilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrwqL1xuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbuS7iuaXpeOBrueXh+eKtlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5rYXJ1dGUge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5rYXJ1dGUgPiAqIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbn1cblxuLmthcnV0ZSA+ICo6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5rYXJ1dGUgLmxlZnQsIC5rYXJ1dGUgLnJpZ2h0IHtcbiAgcGFkZGluZzogMTBweCA1cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5rYXJ1dGUgLmxlZnQge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLmthcnV0ZV9faWNvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmthcnV0ZV9faWNvbiBpbWcge1xuICB3aWR0aDogNTBweDtcbn1cblxuLmthcnV0ZV9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ua2FydXRlTGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLmthcnV0ZUxpc3RfX2l0ZW0ge1xuICBkaXNwbGF5OiB0YWJsZS1yb3c7XG59XG5cbi5rYXJ1dGVMaXN0X19pdGVtID4gKiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG5cbi5rYXJ1dGVMaXN0X190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDFlbTtcbn1cblxuLmthcnV0ZUxpc3RfX3RpdGxlOmFmdGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBjb250ZW50OiBcIjpcIjtcbn1cblxuLmthcnV0ZUxpc3RfX2NvbnRlbnQge1xuICBmb250LXNpemU6IDFlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgbWF4LXdpZHRoOiAyMDBweDtcbn1cblxuLmthcnV0ZUNvbW1lbnQge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgcGFkZGluZzogMTBweCA1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLmthcnV0ZUNvbW1lbnQgPiAqIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmthcnV0ZUNvbW1lbnQ6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTlweDtcbiAgbGVmdDogMTVweDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5rYXJ1dGVDb21tZW50X19pY29uIHtcbiAgd2lkdGg6IDM1cHg7XG59XG5cbi5rYXJ1dGVDb21tZW50X19pY29uIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ua2FydXRlQ29tbWVudF9fdGV4dCB7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ua2FydXRlLmx2NCB7XG4gIGJvcmRlci1jb2xvcjogI2U1MDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjksIDAsIDAsIDAuMDUpO1xufVxuXG4ua2FydXRlLmx2NCAua2FydXRlX190ZXh0IHtcbiAgY29sb3I6ICNlNTAwMDA7XG59XG5cbi5rYXJ1dGUubHY0IC5sZWZ0IHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZTUwMDAwO1xufVxuXG4ua2FydXRlLmx2NCAua2FydXRlQ29tbWVudCB7XG4gIGJvcmRlci1jb2xvcjogI2U1MDAwMDtcbn1cblxuLmthcnV0ZS5sdjQgLmthcnV0ZUNvbW1lbnQ6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjZTUwMDAwO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICNlNTAwMDA7XG59XG5cbi5rYXJ1dGUubHYzIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY4MDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTI4LCAwLCAwLjA1KTtcbn1cblxuLmthcnV0ZS5sdjMgLmthcnV0ZV9fdGV4dCB7XG4gIGNvbG9yOiAjZmY4MDAwO1xufVxuXG4ua2FydXRlLmx2MyAubGVmdCB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2ZmODAwMDtcbn1cblxuLmthcnV0ZS5sdjMgLmthcnV0ZUNvbW1lbnQge1xuICBib3JkZXItY29sb3I6ICNmZjgwMDA7XG59XG5cbi5rYXJ1dGUubHYzIC5rYXJ1dGVDb21tZW50OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmODAwMDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmY4MDAwO1xufVxuXG4ua2FydXRlLmx2MiB7XG4gIGJvcmRlci1jb2xvcjogIzZjYWRkOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDgsIDE3MywgMjE3LCAwLjA1KTtcbn1cblxuLmthcnV0ZS5sdjIgLmthcnV0ZV9fdGV4dCB7XG4gIGNvbG9yOiAjNmNhZGQ5O1xufVxuXG4ua2FydXRlLmx2MiAubGVmdCB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogIzZjYWRkOTtcbn1cblxuLmthcnV0ZS5sdjIgLmthcnV0ZUNvbW1lbnQge1xuICBib3JkZXItY29sb3I6ICM2Y2FkZDk7XG59XG5cbi5rYXJ1dGUubHYyIC5rYXJ1dGVDb21tZW50OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzZjYWRkOTtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjNmNhZGQ5O1xufVxuXG4ua2FydXRlLmx2MSB7XG4gIGJvcmRlci1jb2xvcjogIzk5OTk5OTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjA1KTtcbn1cblxuLmthcnV0ZS5sdjEgLmthcnV0ZV9fdGV4dCB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4ua2FydXRlLmx2MSAubGVmdCB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogIzk5OTk5OTtcbn1cblxuLmthcnV0ZS5sdjEgLmthcnV0ZUNvbW1lbnQge1xuICBib3JkZXItY29sb3I6ICM5OTk5OTk7XG59XG5cbi5rYXJ1dGUubHYxIC5rYXJ1dGVDb21tZW50OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzk5OTk5OTtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjOTk5OTk5O1xufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxu44Kr44Os44Oz44OA44O8XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmNhbGVuZGFyQXJlYSAuY2FsIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jYWxlbmRhckFyZWEgdGgsIC5jYWxlbmRhckFyZWEgdGQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG7jgrDjg6njg5Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4ua2FydXRlR3JhcGggY2FudmFzIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucGFydHMtc3dpdGNoIHtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG4ucGFydHMtc3dpdGNoIGlucHV0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBhcnRzLXN3aXRjaCBsYWJlbCB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDFweCAxcHggMHB4IHJnYmEoNDcsIDE4NCwgMjE0LCAwLjE1KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCA0cHg7XG4gIHBhZGRpbmc6IDVweCAxNXB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjMmZiOGQ2O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggMXB4IDBweCByZ2JhKDQ3LCAxODQsIDIxNCwgMC4xNSk7XG4gIGNvbG9yOiAjMGY2YmQyO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wYXJ0cy1zd2l0Y2ggbGFiZWw6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5wYXJ0cy1zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjE1cyBlYXNlLWluO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAycHggMnB4IDBweCByZ2JhKDQ3LCAxODQsIDIxNCwgMC41KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZmZhZjtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAycHggMHB4IHJnYmEoNDcsIDE4NCwgMjE0LCAwLjUpO1xuICB0cmFuc2l0aW9uOiAwLjE1cyBlYXNlLWluO1xufVxuXG4vKuKWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvFxu4pa8IOODgeOCp+ODg+OCr+OCt+ODvOODiFxu4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa8Ki9cbi5jaGVja0ljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxNXB4O1xuICBtYXJnaW4tdG9wOiAtMnB4O1xuICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8q4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa8XG7ilrwgc3BvdFxu4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa8Ki9cbi5rYWZ1bkRsIHtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDo4M3B4O1xufVxuXG4ua2FmdW5EbF9fZ3JvdXAge1xuICBtYXJnaW46IDAgMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ua2FmdW5EbF9fZ3JvdXAgPiAqOm5vdCg6bGFzdC1jaGlsZCksIC5rYWZ1bkRsX19jb250ZW50ID4gKjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4ua2FmdW5EbF9faWNvbiBpbWcge1xuICB3aWR0aDogNjBweDtcbn1cblxuLmthZnVuRGwgKiB7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG59XG5cbi5rYWZ1bkRsX19kYXRlIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ua2FmdW5EbF9fZGF0ZS5zYXR7XG4gIGNvbG9yOiAjMDMwZmI4O1xufVxuXG4ua2FmdW5EbF9fZGF0ZS5zdW57XG4gIGNvbG9yOiAjY2UwMDAwXG59XG5cbi5rYWZ1bkRsX190ZXh0IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbuWkqeawl+S6iOWgseOBruiKseeyiVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi53VGFibGVfX2l0ZW0ua2FmdW4ge1xuICBoZWlnaHQ6IDY4cHg7XG59XG5cbi53VGFibGVfX2l0ZW0ua2FmdW4gLmlubmVyIHtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ud1RhYmxlX19pdGVtLmthZnVuIC50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG7lh6Hkvotcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxu5Yeh5L6LXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmd1aWRlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZ3VpZGVfX2lubmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMmZiOGQ2O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5ndWlkZV9faXRlbSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmd1aWRlX19pdGVtLnJpZ2h0VGV4dCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uZ3VpZGVfX2ljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIG1hcmdpbi1yaWdodDogM3B4O1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmd1aWRlX19pY29uLmx2NCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmI0YjQ7XG59XG5cbi5ndWlkZV9faWNvbi5sdjMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZkNGEyO1xufVxuXG4uZ3VpZGVfX2ljb24ubHYyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E1ZTI5NTtcbn1cblxuLmd1aWRlX19pY29uLmx2MSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4NWI4ZTc7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG4vKuKWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvFxu4pa8IFxu4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa8Ki9cbi50aHVtYiBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyrilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrxcbuKWvCDlpKnmsJfkuojloLHlhbHpgJpcbuKWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvOKWs+KWvCovXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxu44OG44O844OW44Or5YWo5L2TXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLndUYWJsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNTEwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG5cbi53VGFibGVfX2lubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNnB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MzBweCkge1xuICAud1RhYmxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbuOCv+OCpOODiOODq1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi53VGFibGVfX2hlYWQge1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNnB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY5ZmQ7XG59XG5cbi53VGFibGVfX2hlYWQgLndUYWJsZV9faXRlbS53IHtcbiAgaGVpZ2h0OiA0MHB4O1xuICBsaW5lLWhlaWdodDogNDBweDtcbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbuODkeODvOODhFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi53VGFibGVfX2JvZHkge1xuICBmb250LXNpemU6IDA7XG59XG5cbi53VGFibGVfX2l0ZW0ge1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwcHggM3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53VGFibGVfX2l0ZW0gLmlubmVyIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG59XG5cbi53VGFibGVfX2l0ZW0ud2VhdGhlciB7XG4gIGhlaWdodDogNDhweDtcbn1cblxuLndUYWJsZV9faXRlbS5rYWZ1biB7XG4gIGhlaWdodDogNTRweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbuOCsOODq+ODvOODl1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi53VGFibGVfX2dyb3VwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbuabnOaXpVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi53VGFibGUgLnNhdCwgLndUYWJsZSAubG93IHtcbiAgY29sb3I6ICMwMzBmYjg7XG59XG5cbi53VGFibGUgLnN1biwgLndUYWJsZSAuaGlnaCB7XG4gIGNvbG9yOiAjY2UwMDAwO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxu5YaF5a65XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLndUYWJsZV9fYm9keSAud1RhYmxlX19yb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi53VGFibGVfX2JvZHkgLndUYWJsZV9fcm93Om5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgI2VlZTtcbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbuODkeODvOODhFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG7ljZjkvY1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ud1RhYmxlIC51bml0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDJweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG7lpKnmsJfjgqLjgqTjgrPjg7Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ud0ljb24ge1xuICBoZWlnaHQ6IDM1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbumiqOOCouOCpOOCs+ODs1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi53ZGlyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMHB4IGF1dG8gM3B4O1xufVxuXG4ud2RpciwgLndkaXIgaW1nIHtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbnByZXYmbmV4dFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi53VGFibGVTd2l0Y2gge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCAjMDAwO1xuICBib3JkZXItYm90dG9tOiAzcHggc29saWQgIzAwMDtcbn1cblxuLndUYWJsZVN3aXRjaC5wcmV2IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDEzNWRlZyk7XG4gIGxlZnQ6IDNweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxMzVkZWcpO1xufVxuXG4ud1RhYmxlU3dpdGNoLm5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgcmlnaHQ6IDNweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzBweCkge1xuICAud1RhYmxlU3dpdGNoIC5wcmV2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC53VGFibGVTd2l0Y2gubmV4dCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWNlY2VjO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmOWZkO1xuICB9XG4gIC53VGFibGVTd2l0Y2gubmV4dDphZnRlciB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAtM3B4O1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICMyZmI4ZDY7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyZmI4ZDY7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MzBweCkge1xuICAud1RhYmxlU3dpdGNoIHtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbuaZgumWk+Wkqeawl1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi53VGFibGUudGltZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLndUYWJsZS50aW1lIC53VGFibGVfX2JvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi53VGFibGUudGltZSAud1RhYmxlX19ib2R5IC53VGFibGVfX2dyb3VwOm5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xufVxuXG4ud1RhYmxlLnRpbWUgLndUYWJsZV9fYm9keSAud1RhYmxlX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICNlZWU7XG59XG5cbi53VGFibGUudGltZSAud1RhYmxlX19ib2R5IC53VGFibGVfX3JvdyB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xufVxuXG4ud1RhYmxlLnRpbWUgLndUYWJsZV9faXRlbS5kYXksIC53VGFibGUudGltZSAud1RhYmxlX19ib2R5IC53VGFibGVfX2l0ZW0uZGF5IC5pbm5lciwgLndUYWJsZS50aW1lIC53VGFibGVfX2l0ZW0udGltZSB7XG4gIGhlaWdodDogMjVweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbuaXpeS7mFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi53VGFibGUudGltZSAud1RhYmxlX19ib2R5IC53VGFibGVfX2l0ZW0uZGF5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLndUYWJsZS50aW1lIC53VGFibGVfX2JvZHkgLndUYWJsZV9faXRlbS5kYXkgLmlubmVyIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuMTDml6XlpKnmsJdcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4ud1RhYmxlLndlZWsgLndUYWJsZV9faXRlbS5kYXkge1xuICBoZWlnaHQ6IDUwcHg7XG59XG5cbi53VGFibGUud2VlayAud1RhYmxlX19ib2R5IHtcbiAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ud1RhYmxlLndlZWsgLndUYWJsZV9fYm9keSAud1RhYmxlX19yb3c6bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjZWVlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MTVweCkge1xuICAud1RhYmxlLndlZWsgLndUYWJsZV9fYm9keSAud1RhYmxlX19yb3cge1xuICAgIHdpZHRoOiAxNC4yJTtcbiAgfVxufVxuXG4ud1RhYmxlLndlZWsgLndUYWJsZV9fYm9keSAud1RhYmxlX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICNlZWU7XG59XG5cbi53VGFibGUud2VlayAud1RhYmxlX19ib2R5IC53VGFibGVfX2l0ZW0uZGF5IHtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi53VGFibGUud2VlayAud1RhYmxlX19ib2R5IC53VGFibGVfX2l0ZW0uZGF5IC53ZWVrIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8q4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa84paz4pa8XG7ilrwg44K544Od44OD44OI44Oq44K544OIXG7ilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrzilrPilrwqL1xuLmNhcmQgPiAuc3BvdEluZm9MaXN0OmZpcnN0LWNoaWxkLCAuYm94ID4gLnNwb3RJbmZvTGlzdDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IC0yMHB4O1xufVxuXG4uc3BvdEluZm9MaXN0IHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICBtYXJnaW4tYm90dG9tOiAtMjBweDtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xufVxuXG4uc3BvdEluZm9MaXN0X19pdGVtIHtcbiAgZGlzcGxheTogdGFibGUtcm93O1xufVxuXG4uc3BvdEluZm9MaXN0X190aXRsZSwgLnNwb3RJbmZvTGlzdF9fY29udGVudCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbi5zcG90SW5mb0xpc3RfX3RpdGxlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDcsIDE4NCwgMjE0LCAwLjA1KTtcbn1cblxuLnNwb3RJbmZvTGlzdF9fdGl0bGUgPiAqIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnNwb3RJbmZvTGlzdF9fY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSg0NywgMTg0LCAyMTQsIDAuMDUpO1xufVxuXG4uc3BvdEluZm9MaXN0X19ncm91cDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4uc3BvdEluZm9MaXN0IC50aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5zcG90SW5mb0xpc3QgLmJ1dHRvbiA+ICoge1xuICBwYWRkaW5nOiA4cHggMjBweCA4cHggMTJweDtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuXG4uc3BvdEluZm9MaXN0IC5idXR0b24gPiAqOmFmdGVyIHtcbiAgcmlnaHQ6IDEwcHg7XG4gIHdpZHRoOiAwLjVlbTtcbiAgaGVpZ2h0OiAwLjVlbTtcbn1cblxuLnNwb3RJbmZvTGlzdF9fdGh1bWIgaW1nIHtcbiAgLW8tb2JqZWN0LWZpdDogY292ZXI7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzMHB4KSB7XG4gIC5zcG90SW5mb0xpc3QgLmNvbHVtbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnNwb3RJbmZvTGlzdCAuY29sdW1uID4gKjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIC5zcG90SW5mb0xpc3RfX3RodW1iIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5zcG90SW5mb0xpc3RfX2NhcHRpb24ge1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJveCAuc3BvdEluZm9MaXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJveCAuc3BvdEluZm9MaXN0ICsgLnNtYWxsIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbuOCs+ODreODiuOBquOBqeOBruazqOaEj+abuOOBjVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5ub3RpY2VUZXh0QXJlYSB7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDcsIDE4NCwgMjE0LCAwLjEpO1xufVxuXG4ubm90aWNlVGV4dEFyZWEgPiAqOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ubm90aWNlVGV4dEFyZWFfX3RpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxu6Kit5YKZ44Gu5pyJ54ShXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmZhY2lsaXR5TGlzdCB7XG4gIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZmFjaWxpdHlMaXN0X19pdGVtIHtcbiAgd2lkdGg6IDUwJTtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzJmYjhkNjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzc0cHgpIHtcbiAgLmZhY2lsaXR5TGlzdF9faXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODMwcHgpIHtcbiAgLmZhY2lsaXR5TGlzdF9faXRlbSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG59XG5cbi5mYWNpbGl0eUxpc3RfX2ljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZmI4ZDY7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbi5mYWNpbGl0eUxpc3RfX2ljb246YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLmZhY2lsaXR5TGlzdF9faWNvbi5tYXJ1OmFmdGVyIHtcbiAgd2lkdGg6IC43NWVtO1xuICBoZWlnaHQ6IC43NWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbn1cblxuLmZhY2lsaXR5TGlzdF9faWNvbi5iYXR1OmJlZm9yZSwgLmZhY2lsaXR5TGlzdF9faWNvbi5iYXR1OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAuNzVlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLmZhY2lsaXR5TGlzdF9faWNvbi5iYXR1OmJlZm9yZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4uZmFjaWxpdHlMaXN0X19pY29uLmJhdHU6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZyk7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9*/