@import url('https://fonts.googleapis.com/css2?family=Titillium+Web:wght@300;400;600&display=swap');

* {
  box-sizing: border-box;
}

:root {
  --header-padding          : 210px;
  --median-virtical-bar-left: 20px;
  --median-text-left        : 5px;
}

html {
  scroll-behavior   : smooth;
  scroll-padding-top: var(--header-padding);

  /* PC時のスクロールバーがたつき防止 */
  scrollbar-gutter: stable;
}

body {
  font-family:
    'Titillium Web',
    'Helvetica Neue',
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "BIZ UDPGothic",
    "Segoe UI",
    "Yu Gothic",
    Meiryo,
    "NotoSans",
    sans-serif;
  color         : #333333;
  max-width     : 740px;
  margin        : auto;
  letter-spacing: -0px;
}

.footer {
  display    : grid;
  place-items: center;
}

.hidden {
  display: none;
}

.area {
  border-width: 1px;
  border-color: black;
  border-style: solid;
  height      : 100px;
}

div.ui.segment.top_loading_area {
  padding      : 0 0 0 0;
  border-style : none;
  box-shadow   : none;
  border-radius: 0;
  height       : calc(100vh - 100px);

}

div.ui.segment.startup_contents {
  padding-top : 0px;
  padding-left: 10px;
  border-style: none;
  box-shadow  : none;
}

.startup_contents>span {
  font-size: 16px;
}

.startup_contents i.icon.arrow {
  font-size: 24px;
}

.ui.segment.header_area:not(.hidden) {
  display    : flex;
  align-items: center;
  flex-flow  : column;

  position        : sticky;
  top             : 0px;
  z-index         : 1;
  background-color: rgba(255, 255, 255, 0.8);

  padding-top    : 0;
  padding-left   : 0;
  padding-right  : 0;
  margin-bottom  : 0;
  /* padding     : 0 0 0 0; */
  border-style   : none;
  box-shadow     : none;

  backdrop-filter        : blur(4px);
  -webkit-backdrop-filter: blur(4px);


}

div.room_header {
  display        : flex;
  align-items    : center;
  justify-content: center;
  flex-flow      : column;

  padding-left  : 10px;
  padding-right : 10px;
  padding-bottom: 4px;

  width              : 100%;
  min-height         : 80px;
  /* max-height      : 80px; */
  font-size          : 12px;
  /* background-color: rgba(255, 228, 197, 0.8); */
  background-color   : rgba(205, 231, 252, 0.8);
  /* 改行位置を調整 */
  overflow-wrap      : normal;
  word-break         : keep-all;
  overflow-wrap      : anywhere;
  /* white-space     :nowrap; */

  .room_name {
    font-weight   : bold;
    /* white-space: pre; */
  }
}

div.room_header.vp {
  padding-left    : 0px;
  padding-right   : 0px;
  background-color: rgba(215, 253, 194, 0.8);
}

div.room_header div.plan_name {
  width        : 100%;
  padding-left : 10px;
  padding-right: 10px;

  font-weight: bold;
  font-size  : 14px;
  color      : rgb(18, 69, 145)
}

div.room_header div.plan_period {
  width        : 100%;
  padding-left : 10px;
  padding-right: 10px;

  border-bottom: 1px solid rgb(202, 231, 188);
  font-weight  : bold;
  font-size    : 11px;
  color        : rgb(18, 69, 145)
}


.price_range_area i.question.icon {
  font-size: 11px;
  cursor   : pointer;
  padding  : 0px 8px 8px;
}

span.room_name {
  display: inline-block;
}

.top_menu {
  width           : 100%;
  background-color: rgb(253, 241, 225);
  height          : 40px;

}

div.ui.buttons.months.button_area {
  margin-top   : 10px;
  margin-bottom: 4px;
}

.ui.buttons.months button {
  font-size: 14px;
  width    : 60px;
  padding  : 8px 0px;
}

.ui.segment.months_area {
  padding-top   : 0;
  padding-bottom: 0;
  margin-top    : 0;
  margin-bottom : 0;

}

/* .ui.segment.month_area { */
.month_area {
  padding      : 0 0 0 0;
  border-style : none;
  box-shadow   : none;
  margin-bottom: 20px;
}

.month_area+.month_area {
  padding-top: 10px;
  border-top : 1px solid rgba(207, 207, 207, 0.548);

}

/* .ui.segment.month_area:last-child { */
div.month_area:last-child {
  /* height: calc(100vh - var(--header-padding)); */
  margin-bottom: calc(100vh - var(--header-padding) - 420px);

  /* border: 1px solid red; */
  /* border-radius: 4px; */
}

/* .multi_calendar_grid .ui.segment.month_area:last-child { */
.multi_calendar_grid div.month_area:last-child {
  height: auto;
}

/* モーダルがvhより長い縦長の場合に、デバイスによってスクロールしきれず、下が隠れる
その対策 */
#modal_select_calendar {
  overflow-y: auto;
  margin-top: 0px;
  max-height: 95%;
  max-width : 400px;

  & div.head_comment {
    text-align: center;
    padding   : 0px 20px 8px;
    font-size : 0.9em;
  }
}

/* モーダル用にカレンダーを複数列表示 */
.multi_calendar_grid {
  display              : grid;
  grid-template-columns: 1fr;
  place-items          : center;
}

.calendar-container {
  display          : grid;
  /* grid-auto-flow: row; */
  grid-template    :
    "day_of_week_haader"20px "calendar_main"1fr / 1fr;

  row-gap: 2px;

}

.day_of_week_header {
  grid-area            : day_of_week_haader;
  display              : grid;
  grid-auto-flow       : row;
  grid-template-rows   : minmax(auto, 40px);
  grid-template-columns: repeat(7, minmax(40px, 1fr));
  column-gap           : 2px;

  /* モーダルのカレンダー表示 */
  &.modal {
    grid-auto-rows       : 40px;
    grid-template-columns: repeat(7, 40px);

  }
}

.calendar_main {
  grid-area            : calendar_main;
  display              : grid;
  grid-auto-flow       : row;
  grid-auto-rows       : minmax(40px, auto);
  grid-template-columns: repeat(7, minmax(40px, 1fr));
  row-gap              : 4px;
  column-gap           : 2px;

  /* モーダルのカレンダー表示(価格無し) */
  &.modal {
    grid-auto-rows       : 40px;
    grid-template-columns: repeat(7, 40px);
  }
}

div.day_header_flex {
  display        : flex;
  justify-content: center;
  margin-top     : 4px;
  margin-bottom  : 4px;
  position       : relative;
}

.day_of_week {
  font-size: 11px;

}

.day_of_week_header.modal .day_of_week {
  font-size: 14px;
}

.day {
  display   : flex;
  flex-flow : column;
  min-height: 50px;
}

.day div.price.not_sale {
  display        : flex;
  justify-content: center;
  align-items    : center;
  height         : 100%;

  .horizontal_bar {
    background-color: rgb(190, 190, 190);
    height          : 2px;
    width           : 60%;
  }
}

/* 価格帯の色 */
.center_price {
  border: solid 1px rgba(128, 128, 128, 0.1);
}

.max_price {
  background-color: rgba(252, 179, 170, 0.8);
}

.min_price {
  background-color: rgba(195, 209, 255, 0.8);
}

.higher_price {
  background-color: rgba(255, 228, 197, 0.8);
}

.higher2_price {
  background-color: rgba(255, 245, 233, 0.8);
}

.lower_price {
  background-color: rgba(202, 240, 255, 0.8);
}

.lower2_price {
  background-color: rgba(232, 248, 255, 0.8);
}

/* 日付の数値を囲むラッパー
  モーダルで表示するとline-heightがずれるため、Flexで数字を中央配置にする
*/
div.day_number {
  display        : flex;
  justify-content: center;
  align-items    : center;

  font-size       : 11px;
  font-weight     : bold;
  background-color: rgb(232, 232, 232);

}

.calendar_all_area .calendar_main.modal div.day_number {
  font-size: 20px;
}



div.day_header_flex {
  .circle:not(.day_of_week) {
    border-radius: 50%;
    width        : 1.8em;
    height       : 1.8em;

    &:not(.no_data) {
      cursor: pointer;
    }

    &.no_data {
      color  : rgb(180, 180, 180);
      opacity: 0.8;
    }
  }

  .day_of_week {
    width           : 100%;
    border-radius   : 4px;
    background-color: rgb(232, 232, 232);
  }

  .saturday {
    background-color: rgb(234, 234, 255);
    color           : blue;
  }

  .holiday {
    background-color: rgb(255, 230, 230);
    color           : red;
  }
}

/* モーダルの場合の曜日 */
.day_of_week_header.modal div.day_header_flex {
  .day_of_week {
    background-color: transparent;
  }
}


div.price {
  display        : flex;
  justify-content: center;
  flex-flow      : column;
  border-radius  : 4px;
  min-height     : 30px;
}

span.price {
  font-size  : 13px;
  font-weight: bold;
  text-wrap  : nowrap;

}

span.vp.sup {
  font-size  : 8px;
  color      : rgb(134, 134, 134);
  line-height: 8px;
}


/* 追加ベッド表示の + を before で付けるためのposition: relative */
span.yen_mark_small {
  position      : relative;
}

span.price.use_extra_bed {
  color: rgb(75, 73, 221);

  & span.yen_mark_small::before {
    /* font-size: 9.75px; */
    font-size: 9.75px;
    content  : "+";
    color    : rgb(75, 73, 221);
    position : absolute;
    top      : -10px;
    left     : 1px;
  }
}

/* スマホの場合に円マークを小さく目立たないよう表示 */
@media screen and (max-width: 768px) {

  span.yen_mark_small {
    font-size     : 0.7em;
    vertical-align: baseline;
    color         : rgb(128, 128, 128);
    
  }
}

/* PC用 */
@media screen and (min-width: 500px) {
  body {
    /* overflow-y: scroll; */

    overflow-y: auto !important;


    -ms-overflow-style: none;
    /* IE, Edge 対応 */
    scrollbar-width   : none;
    /* Firefox 対応 */

    ::-webkit-scrollbar {
      display: none;
      /* Chrome, Safari 対応 */
    }
  }
}

span.price_person {
  font-size  : 11px;
  font-weight: bold;
  color      : rgb(128, 128, 128);
  text-wrap  : nowrap;
}

div.month_header {
  font-weight: bold;
  position   : relative;
}

div.month_header span.annotation {
  /* font-weight: normal; */
  font-size: 9px;
  position : absolute;
  right    : 0px;
  bottom   : -2px;
}

div.price_range_area {
  font-size  : 11px;
  font-weight: bold;
  width      : 90%;
}

div.price_range_text,
div.price_range_other {
  display        : flex;
  justify-content: space-between;
  align-items    : center;
  color          : gray;
  font-size      : 9px;

}

div.price_range_bar {
  position       : relative;
  font-size      : 11px;
  display        : flex;
  justify-content: space-between;
  align-items    : center;
  /* margin-left : 20px;
  margin-right   : 20px; */

  border-radius      : 4px;
  height             : 15px;
  width              : 100%;
  /* background-color: aqua; */
  background-image   : linear-gradient(to right,
      rgba(195, 209, 255, 0.8) 0 15%,
      rgba(202, 240, 255, 0.8) 15% 29%,
      rgba(232, 248, 255, 0.8) 29% 43%,
      rgba(255, 255, 255, 0.8) 43% 57%,
      rgba(255, 245, 233, 0.8) 57% 71%,
      rgba(255, 228, 197, 0.8) 71% 85%,
      rgba(252, 179, 170, 0.8) 85% 100%);

  & span {
    background-color: transparent;
  }
}

.price_range_bar .min_price {
  padding-left: 5px;

}

.price_range_bar .max_price {
  padding-right: 5px;
}

/* 中央値の配置 */
.price_range_bar::before {
  content            : '';
  top                : 12px;
  width              : 1px;
  height             : 7px;
  /* border-radius   : 50%; */
  background-color   : rgb(134, 134, 134);
  position           : absolute;
  left               : var(--median-virtical-bar-left);
  /* left            : 50%; */

  z-index: 10;
}

.price_range_other {
  padding-left   : var(--median-text-left);
  /* padding-left: 50%; */
}

.price_range_other_text {
  color    : #333333;
  font-size: 11px;
}

.price_range_text span {
  width        : 40px;
  padding-left : 5px;
  padding-right: 5px;
  text-wrap    : nowrap;
}

/* divは価格表示枠 */
div.not_sale {
  color           : rgba(158, 158, 158, 0.74);
  background-color: rgba(221, 221, 221, 1);
}

span.not_sale {
  font-size: 11px;

}

div.horizontal_line {
  width           : 35%;
  height          : 1px;
  background-color: rgb(240, 240, 240);
}

/* モーダルウィンドウのサイズ調整 */
#modal_select_room {
  min-height: 600px;
}

.modal .content .dropdown_label.inline {
  margin-top  : 30px;
  margin-right: 10px;
  font-size   : 14px;
  font-weight : bold;
  display     : inline-block;
}

.modal .content .inline+.annotation {
  padding-left: 10px;
  font-size   : 11px;
}




/* ドロップダウンの表示サイズを拡張 */
@media only screen and (max-width: 767.98px) {
  .ui.selection.dropdown:not(.room_type) .menu {
    max-height: 16.01428571rem
  }
}

/* .ui.selection.dropdown:not(.unlimited) .menu {
  max-height: 333px;
} */


div.ui.dropdown>.text {
  font-weight: bold;
}

div.ui.dropdown.room_type {
  min-height      : 36px;
  /* min-height   : 72px; */
  padding-right   : 28px;
}



div.ui.dropdown.room_type > div.menu {
  max-height: 338px !important;
}
div.ui.dropdown.room_type .menu .scrolling.menu {
  max-height: 300px;
}

/* すべてのホテル指定時に表示するホテル名部分 */
div.ui.dropdown.commodityCD span.dropdown.item.plan_name {
  font-size  : 9px;
  font-weight: normal;
}

/* div.ui.dropdown.room_type div.menu.visible > div.header:not(:has(span)) {
  background-color: rgb(255, 240, 223);
  margin-top: 6px;
  margin-bottom: 6px;
  height: 20px;
} */
div.ui.dropdown.room_type {

  & div.item {
    font-size  : 14px;
    font-weight: bold;
    padding    : 8px 8px !important;
    border-top : solid 1px rgba(185, 185, 185, 0.205) !important;

    &.selected {
      color           : white;
      background-color: rgb(120, 163, 255);
    }
  }

  /* 部屋タイプのカテゴリ名 */
  & div.menu div.header {
    background-color: rgb(255, 240, 223);
    margin          : 0px;
    padding         : 2px 8px;
    min-height      : 20px;
    max-height      : 40px;
    border-top      : solid 1px rgba(185, 185, 185, 0.205) !important;
  }

  /* すべてのホテル指定時に表示するホテル名部分 */
  & span.dropdown_item.hotel_name {
    font-size  : 8px;
    font-weight: normal;
  }


}

/* アクセシブルルームの表示・非表示切り替え */
div.ui.dropdown.room_type .menu .scrolling.menu:not(.show_accessible) .item.accessible {
  display: none;
}

/* 検索ドロップダウンで、ヘッダー指定が選択されるとバックグラウンドカラーが設定されてしまうのを打ち消し */
.ui.dropdown .menu .header .selected.item {
  background: none !important;
}

/* 検索文字入力欄の余白調整 */
.ui.selection.dropdown .menu .search.input {
  margin: 0px 4px 4px;

}



.ui.mini.label {
  font-size: 8px;

}

/* トップメニューのサイズ調整 */
.ui.menu .item {
  padding-top   : 4px;
  padding-bottom: 4px;
  padding-left  : 7px;
  padding-right : 7px;
}

.ui.menu .item i.icon {
  font-size: 21px;

}

/* ページのタイトルヘッダー */
.ui.menu .item.head_title {
  font-size      : 16px;
  font-weight    : bold;
  /* 残りの余白をすべて埋める */
  flex-grow      : 1;
  align-items    : center;
  justify-content: center;

  >div>a {
    color: #333333;
  }
}

/* 暫定 
モーダルの内容が広がる時、初回ではなぜかスクロールができないため、対策として設定
*/
.dimmer.modals.visible.active {
  overflow-y: auto;
}


#sorry_area {
  display: none;
}

#sorry_area.show {
  display: block;
}

#sorry_area.hidden {
  display: none !important;
}

/* スマホではスクロールバーを非表示 */
body {
  /* -ms-overflow-style: none; */
  /* IE, Edge 対応 */
  /* scrollbar-width   : none; */
  /* Firefox 対応 */

  /* Chrome, Safari 対応 */
  /* ::-webkit-scrollbar {
    display: none;
  } */
}


/* トップページ表示時のみのスタイル */
.ui.segment.top_one_day_list {
  padding: 0;
  margin : 10px auto;


  >div.content {
    text-align: left;

    & div.sub_header {
      top: 0px !important;
    }
  }

  .accordion {
    >.title.hotel_name {
      &.active {
        top: 73px !important;
      }

      &.vp {
        top: 96px !important;
      }
    }

    .title.group_header {
      &.active {
        top: 108px !important;
      }

      &.vp {
        top: 130px !important;
      }
    }

  }
}

/* 1日分表示モーダルのスタイル */
#modal_show_oneday,
.ui.segment.top_one_day_list {
  max-width: 600px;

  /* アイコン */
  >div.header i.icon {
    font-size: 14px;
  }

  /* モーダルのコンテンツ */
  >div.content {
    padding: 0 0 1rem !important;

    & div.sub_header {
      position        : sticky;
      top             : -14px;
      z-index         : 11;
      min-height      : 74px;
      background-color: white;

      display    : flex;
      flex-flow  : column;
      align-items: center;


      padding: 8px 0px;

      &.vp {
        top       : -14px;
        min-height: 65px;

        & div.annotation {
          margin-top   : 10px;
          width        : 100%;
          padding-right: 14px;
          text-align   : right;
          font-size    : 9px;
          font-weight  : bold;

        }
      }

      & div.parameter_area {
        display        : flex;
        justify-content: center;
        position       : relative;
        width          : 100%;

        .date_title {
          font-size  : 18px;
          font-weight: bold;

          & span.external_link>i.icon {
            font-size: 1rem;
          }
        }

        .person_setting_area {
          display  : inline-block;
          /* border: solid 1px blue; */

          .ui.dropdown.inline.person {
            min-width   : 40px;
            min-height  : auto;
            text-align  : center;
            /* width    : 80px; */
            padding     : 4px 0px;
            margin      : 0;

            .menu {

              /* width: 40px; */
              .item {
                padding   : 4px 0px;
                min-height: 2em;
                text-align: center;

              }
            }

            .dropdown.icon {
              padding: 0;
            }
          }

        }

      }

      & div.filter_option_area {
        /* color : red; */
        /* border: solid 1px red; */
        padding        : 8px 8px 4px;
        display        : flex;
        justify-content: space-between;
        width          : 100%;
        max-width      : 400px;
      }
    }
  }
}

#modal_show_oneday .overcapacity_hide .overcapacity,
#modal_show_oneday .accessible_hide .accessible,
.ui.segment.top_one_day_list .overcapacity_hide .overcapacity,
.ui.segment.top_one_day_list .accessible_hide .accessible {
  display: none !important;
}

#modal_show_oneday,
.ui.segment.top_one_day_list {
  .accordion {
    border-radius: 0 !important;
    box-shadow   : none;
    /* アコーディオンの上部余白を削除して詰める */
    margin-top   : 0px;

    >.title {
      padding-left : 4px;
      padding-right: 4px;
    }

    /* アコーディオンのホテル名タイトル */
    >.title.vpplan_name {
      background-color: rgba(215, 253, 194, 0.8);
      color           : #333333;
      min-height      : 51px;

      &.active {
        background-color       : rgb(101, 209, 42);
        color                  : white;
        position               : sticky;
        top                    : 45px;
        backdrop-filter        : blur(4px);
        -webkit-backdrop-filter: blur(4px);
        z-index                : 11;
      }

      &.not_sale {
        background-color: rgba(160, 160, 160, 0.233);
        color           : gray;
      }
    }

    /* アコーディオンのホテル名タイトル */
    >.title.hotel_name {
      background-color: rgba(208, 233, 253, 0.8);
      color           : #333333;
      font-size       : 13px;

      &.active {
        background-color       : rgb(62, 168, 255);
        color                  : white;
        position               : sticky;
        top                    : 59px;
        backdrop-filter        : blur(4px);
        -webkit-backdrop-filter: blur(4px);
        z-index                : 10;

        &.vp {
          top: 95px;
        }
      }

      &.not_sale {
        background-color: rgba(160, 160, 160, 0.233);
        color           : gray;
      }
    }


    /* アコーディオンの部屋グループ名タイトル */
    .title.group_header {
      background-color: rgb(255, 240, 223);
      color           : #333333;
      font-weight     : bold;
      padding-left    : 15px;
      font-size       : 13px;

      border-bottom: solid 1px rgba(34, 36, 38, .15);

      &.active {
        background-color       : rgb(255, 174, 82);
        color                  : white;
        position               : sticky;
        top                    : 94px;
        backdrop-filter        : blur(4px);
        -webkit-backdrop-filter: blur(4px);
        z-index                : 9;

        &.vp {
          top: 128px;
        }
      }

      &.not_sale {
        background-color: rgba(160, 160, 160, 0.233);
        color           : gray;
      }

    }

    /* 部屋グループのコンテンツエリア(部屋が縦に並ぶところ */
    .content.group_content_area {
      padding: 0;
    }

    .vpplan_content_area {
      padding-left  : 0;
      padding-right : 0;
      padding-top   : 0;
      padding-bottom: 10px;
    }

    /* ホテル内のグループ/部屋が並ぶエリア */
    .hotel_content_area {
      padding-left  : 0;
      padding-right : 0;
      padding-top   : 0;
      padding-bottom: 10px;

      .accordion div.scroll_padding_dummy {
        width : 100%;
        height: calc(100vh - 400px);
      }

      .room_type_area {
        display: grid;
        grid-template:
          "room_name"auto "features"auto "bed_type_name_area_all"auto /1fr;

        border-bottom: solid 1px rgba(34, 36, 38, .15);
        padding-top  : 4px;
        padding-left : 10px;
        padding-right: 0px;

        .room_name {
          grid-area    : room_name;
          font-size    : 13px;
          font-weight  : bold;
          padding-right: 4px;
          /* 一覧では改行位置を調整しない */

        }

        .features_area {
          grid-area     : features;
          /* display    : inline-block; */
          padding-bottom: 2px;
        }

        .bed_type_name_area_all {
          grid-area            : bed_type_name_area_all;
          display              : grid;
          /* padding分、gridで端っこが取られる？ */
          grid-template-columns: 1fr 70px 70px 34px;

          &.vp {
            grid-template-columns: 1fr 70px 10px 70px 34px;

          }

          .bed_type_area {
            display              : grid;
            grid-template-columns: subgrid;
            grid-column          : span 4;
            padding-left         : 4px;
            margin-left          : 6px;
            margin-right         : 0;
            padding-right        : 4px;
            border-top           : solid 1px rgba(160, 160, 160, 0.233);
            border-left          : solid 1px rgba(160, 160, 160, 0.233);

            &.not_sale {
              background-color: rgba(160, 160, 160, 0.233);

              .bed_type_name {
                color: gray;
              }
            }

            &.vp {
              grid-column: span 5;

            }
          }



          .bed_type_name {
            font-size: 12px;
          }

          .price {
            text-align: right;

            .sup {
              font-size: 8px;
            }

            .price_title {
              font-size: 10px;

              &.vp {
                font-size : 9px;
                text-align: center;
              }
            }
          }

          .price.not_sale {
            font-size: 10px;
            width    : 100%;
            color    : gray;
          }

          .single_price {
            text-align: right;
            color     : gray;

            .request_person {
              text-decoration: line-through;
              color          : rgb(177, 177, 177);
            }

            .fixed_person {
              color: red;
            }
          }
        }
      }
    }
  }
}



/* blockの位置調整するFlex wrapper */
.flex_wrapper.align_bottom {
  display    : flex;
  align-items: flex-end;
}

.flex_wrapper.virtical_align_center {
  display           : flex;
  /* justify-content: center; */
  align-items       : center;
}

/* アイコンを中心に配置するFlex wrapper */
.flex.icon_wrapper {
  padding-left   : 8px;
  display        : flex;
  justify-content: center;
  align-items    : center;
  font-size      : 24px;
}


.mini_popup.use_extra_bed {
  /* font-size: 0.8em; */
  font-weight: bold;
  color      : rgb(75, 73, 221);
}

#modal_open_external_link .content {
  .link_area {
    padding      : 10px 10px;
    border-radius: 4px;
    border       : solid 1px gray;
    word-break   : break-all;
    font-size    : 0.8em;
  }

  .notice {
    color    : #555555;
    font-size: 0.7rem;

  }
}

/* モーダルの上にモーダルが重なる場合のカスタムディマー
  javascriptで制御する
*/
#modal_open_external_link {
  z-index: 1003;
}

.ui.dimmer.modal_open_external_link_dimmer {
  z-index: 1002;
}

span.external_link {
  color : #1e70bf;
  cursor: pointer;
}

#modal_q_oneday_list {
  z-index: 1003;
}

.ui.dimmer.modal_q_oneday_list_dimmer {
  z-index: 1002;
}



/* トグルスイッチ全体のラベルを含めたベース枠 */
.custome_toggle_switch {
  display     : table;
  /* font-size: 14px; */
  margin      : 0px 0px;
  padding     : 0px 0px;

  /* border   : solid 0.5px rgba(255, 0, 0, 0.3); */
  &.inline {
    display: inline-block;
  }

  >input {
    display: none;

    &:checked+label {

      /* チェックしたときの背景部分 */
      &::before {
        background-color: rgba(0, 140, 186, 1);
      }

      /* チェックした時の丸の位置 */
      &::after {
        left: calc(1em + 0.1em);
      }
    }

    /* トグルをdisabledにした場合のスタイル */
    &:disabled+label {
      color: rgba(138, 138, 138, 0.575);

      &::before {
        background-color: rgba(94, 94, 94, 0.575);
      }
    }

  }

  /* 赤指定の場合 label::before を変える */
  &.red {
    >input:checked+label::before {
      background-color: rgb(212, 9, 9);
    }
  }

  /* ボタンの説明欄 ボタンの幅と余白分左からずらす */
  >label {
    position    : relative;
    display     : inline-block;
    text-wrap   : nowrap;
    /*  */
    padding-left: 2.6em;

    /* トグルボタンの丸本体 */
    &::after {
      position        : absolute;
      top             : 0.15em;
      left            : 0.2em;
      width           : calc(1em + 0.1em);
      height          : calc(1em + 0.1em);
      border-radius   : calc(1em + 0.1em);
      background-color: #fff;
      transition      : 0.5s;
      content         : "";
      z-index         : 2;

    }

    /* トグルスイッチの背景部分 
       背景の幅を伸ばしても丸の位置は変わらないので別途調整が必要 */
    &::before {
      display         : block;
      position        : absolute;
      width           : 2.4em;
      height          : 1.4em;
      border-radius   : 1em;
      background-color: #DDDDDD;
      cursor          : pointer;
      content         : "";
      z-index         : 1;
      top             : 0.0em;
      left            : 0.0em;
    }
  }
}

p.copyright {
  font-size: 11px;
}

.twitter.icon {
  color    : #1DA1F2;
  font-size: 1.2em;

}


.color_description_area {
  font-size: 12px;
  margin   : 8px auto;

  & i.icon {
    margin: 0;
  }

  & td {
    height: 18px;

  }

  & td.description_area {
    padding-left: 8px;
    font-size   : 11px !important;
  }

  & td.header {
    text-align: center;
    text-wrap : nowrap;
    width     : 40px;
    font-size : 0.8em;

  }

  /* & td.range_color:is(.max_price,.higher_price,.higher2_price,.center_price,.lower_price,.lower2_price,.min_price) { */
  & td.range_color {
    border-radius: 4px;
  }

  & td.border-bottom {
    border-bottom: 1px solid rgba(207, 207, 207, 0.548);
  }

}


.room_header {
  position: relative;
}

.room_header .icon_area {
  position     : absolute;
  width        : 100%;
  padding-right: 0px;
  /* top       : 0px; */
  right        : 10px;
  bottom       : 4px;
  text-align   : right;

  & i.question.icon {
    font-size: 12px;
    padding  : 8px;
    cursor   : pointer;
  }
}

ul {
  padding-inline-start: 20px;

  & li {
    font-size: 0.9em;
  }
}

.modal>.content .description_area {
  font-size: 13px;

}

#modal_q_price_calendar>.content {
  .flex_area {
    display    : flex;
    font-size  : 13px;
    margin-top : 10px;
    align-items: center;

    & div.price {
      text-align: center;
      width     : 56px;
      height    : 40px;

      &.not_sale {
        font-size: 10px;
        height   : 30px;
      }
    }

    .description_area {
      padding-left: 4px;
      font-size   : 11px;

      .blue {
        color: blue;
      }
    }
  }


}

#modal_q_oneday_list>.content {

  & i.icon {
    color: rgb(30, 112, 191);
  }

}

i.copy.icon {
  cursor: pointer;
}

.ui.segment.bookmarklet_usage ol li {
  font-weight  : bold;
  margin-top   : 4px;
  margin-bottom: 4px;
}

.red {
  color: red;
}

.annotation {
  font-size: 0.9rem;
}

.bookmarklet details summary {
  font-weight: bold;

}

pre code.hljs {
  text-wrap    : wrap;
  word-wrap    : break-word;
  overflow-wrap: break-word;
}

/* 価格変動履歴ありアイコン */
div.price_history.day_icon_area {
  font-size: 10px;
  position : absolute;
  right    : -4px;
  bottom   : -8px;
}

div.price_history.day_icon_area.old,
i.icon.old {
  opacity: 0.4;
}

.price_history span {
  text-wrap: nowrap;
}

/* アイコンの色 */
.price_history i.up.icon,
i.price_up.icon {
  color: rgba(238, 85, 102, 1.0);
}

.price_history i.down.icon,
i.price_down.icon {
  color: rgb(77, 139, 219);
}

.price_history i.right.icon,
i.price_normal.icon {
  color: gray;
}



/* 価格変動履歴ポップアップ */

/* 日付 */
.price_history.header_date {
  text-align: center;
  font-weight: bold;
  
  margin-bottom: 4px;

}

.price_history tbody tr {
  font-weight: bold;
}

.price_history thead tr {
  font-size: 10px;
  /* color : gray; */
}

.price_history thead td {
  border: 0px;

}


table.price_history {
  /* border-collapse:separate; */
  border-spacing: 0px;

}

/* 行罫線 */
table.price_history tr td {
  border-top: solid 1px rgba(128, 128, 128, 0.2);
}
/* 最新価格の背景色 */
table.price_history tr.latest td {
  background-color: rgba(255, 245, 233, 1.0);
}

/* テーブルのヘッダ文字列と末尾(初回料金)をグレー表示 */
table.price_history tr:nth-last-child(1) td,
table.price_history thead th {
  opacity: 0.6;
}


table.price_history td {
  padding: 4px;
  text-wrap: nowrap;
  white-space: nowrap;

}


table.price_history td.price {
  text-align: right;
}

table.price_history td:has(.price_down) {
  color: rgb(48, 124, 224);

}

table.price_history td:has(.price_up) {
  color: rgb(238, 52, 74);
}

table.price_history td:has(span.price_initial) {
  text-align: center;
}

/*  */
table.update_history td{
  vertical-align: top;
  padding: 4px

}


/* ブックマークレットページ関連 */
@media screen and (max-width: 768px) {
  #image_modal.ui.modal {
    max-width: 400px;
  }
  #image_modal.ui.modal img {
    max-width: min(100%, 400px);
  }
}

#image_modal.ui.modal {
  max-width: 800px;
}
#image_modal.ui.modal img {
  max-width: min(100%, 800px);
}


.bookmarklet ol li::marker {
  font-size: 1.5rem;

}


.bookmarklet h4,
h4 {
  padding    : 10px 10px;
  border-left: 5px solid rgb(224, 118, 48);
  background-color: rgba(243, 137, 51, 0.158);

}
.bookmarklet h5,
h5 {
  padding    : 10px 10px;
  border-left: 5px solid rgb(48, 124, 224);

}

.image.steps {
  display    : flex;
  align-items: center;
  flex-wrap  : wrap;
  row-gap    : 20px;
  column-gap : 10px;
}

.image_box {
  display: inline-block;
  padding      : 8px;
  border       : 2px solid rgba(128, 128, 128, 0.2);
  border-radius: 4px;

}

.image.steps i.right.icon {
  font-size: 2rem;
}

@media screen and (max-width: 768px) {
  .image.steps {
    display  : flex;
    flex-flow: column;
    row-gap  : 10px;
  }

  .image.steps i.right.icon {
    transform: rotate(90deg);

  }
}

details.ui.fluid.accordion.bookmarklet {
  border-radius: 4px;
  border: 1px solid rgb(219, 223, 255);
  padding: 4px;
}
details.ui.fluid.accordion.bookmarklet > summary {
  padding: 8px;
  background-color: rgb(232, 235, 255);
  border-radius: 4px;

}

details.ui.fluid.accordion.bookmarklet.extra {
  border: 1px solid rgb(255, 219, 219);
}
details.ui.fluid.accordion.bookmarklet.extra > summary {
  background-color: rgb(255, 232, 232);
}
details.ui.fluid.accordion.bookmarklet.old {
  border: 1px solid rgb(173, 173, 173);
}
details.ui.fluid.accordion.bookmarklet.old > summary {
  background-color: rgb(202, 202, 202);
}

.ui.fluid.card.light-red {
  background-color: rgb(252, 241, 241);
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob3RlbC9jc3MvbWFpbi5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1UaXRpbGxpdW0rV2ViOndnaHRAMzAwOzQwMDs2MDAmZGlzcGxheT1zd2FwJyk7XHJcblxyXG4qIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG46cm9vdCB7XHJcbiAgLS1oZWFkZXItcGFkZGluZyAgICAgICAgICA6IDIxMHB4O1xyXG4gIC0tbWVkaWFuLXZpcnRpY2FsLWJhci1sZWZ0OiAyMHB4O1xyXG4gIC0tbWVkaWFuLXRleHQtbGVmdCAgICAgICAgOiA1cHg7XHJcbn1cclxuXHJcbmh0bWwge1xyXG4gIHNjcm9sbC1iZWhhdmlvciAgIDogc21vb3RoO1xyXG4gIHNjcm9sbC1wYWRkaW5nLXRvcDogdmFyKC0taGVhZGVyLXBhZGRpbmcpO1xyXG5cclxuICAvKiBQQ+aZguOBruOCueOCr+ODreODvOODq+ODkOODvOOBjOOBn+OBpOOBjemYsuatoiAqL1xyXG4gIHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZTtcclxufVxyXG5cclxuYm9keSB7XHJcbiAgZm9udC1mYW1pbHk6XHJcbiAgICAnVGl0aWxsaXVtIFdlYicsXHJcbiAgICAnSGVsdmV0aWNhIE5ldWUnLFxyXG4gICAgQXJpYWwsXHJcbiAgICBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb05cIixcclxuICAgIFwiSGlyYWdpbm8gU2Fuc1wiLFxyXG4gICAgXCJCSVogVURQR290aGljXCIsXHJcbiAgICBcIlNlZ29lIFVJXCIsXHJcbiAgICBcIll1IEdvdGhpY1wiLFxyXG4gICAgTWVpcnlvLFxyXG4gICAgXCJOb3RvU2Fuc1wiLFxyXG4gICAgc2Fucy1zZXJpZjtcclxuICBjb2xvciAgICAgICAgIDogIzMzMzMzMztcclxuICBtYXgtd2lkdGggICAgIDogNzQwcHg7XHJcbiAgbWFyZ2luICAgICAgICA6IGF1dG87XHJcbiAgbGV0dGVyLXNwYWNpbmc6IC0wcHg7XHJcbn1cclxuXHJcbi5mb290ZXIge1xyXG4gIGRpc3BsYXkgICAgOiBncmlkO1xyXG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5oaWRkZW4ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5hcmVhIHtcclxuICBib3JkZXItd2lkdGg6IDFweDtcclxuICBib3JkZXItY29sb3I6IGJsYWNrO1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgaGVpZ2h0ICAgICAgOiAxMDBweDtcclxufVxyXG5cclxuZGl2LnVpLnNlZ21lbnQudG9wX2xvYWRpbmdfYXJlYSB7XHJcbiAgcGFkZGluZyAgICAgIDogMCAwIDAgMDtcclxuICBib3JkZXItc3R5bGUgOiBub25lO1xyXG4gIGJveC1zaGFkb3cgICA6IG5vbmU7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuICBoZWlnaHQgICAgICAgOiBjYWxjKDEwMHZoIC0gMTAwcHgpO1xyXG5cclxufVxyXG5cclxuZGl2LnVpLnNlZ21lbnQuc3RhcnR1cF9jb250ZW50cyB7XHJcbiAgcGFkZGluZy10b3AgOiAwcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gIGJvcmRlci1zdHlsZTogbm9uZTtcclxuICBib3gtc2hhZG93ICA6IG5vbmU7XHJcbn1cclxuXHJcbi5zdGFydHVwX2NvbnRlbnRzPnNwYW4ge1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxufVxyXG5cclxuLnN0YXJ0dXBfY29udGVudHMgaS5pY29uLmFycm93IHtcclxuICBmb250LXNpemU6IDI0cHg7XHJcbn1cclxuXHJcbi51aS5zZWdtZW50LmhlYWRlcl9hcmVhOm5vdCguaGlkZGVuKSB7XHJcbiAgZGlzcGxheSAgICA6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBmbGV4LWZsb3cgIDogY29sdW1uO1xyXG5cclxuICBwb3NpdGlvbiAgICAgICAgOiBzdGlja3k7XHJcbiAgdG9wICAgICAgICAgICAgIDogMHB4O1xyXG4gIHotaW5kZXggICAgICAgICA6IDE7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xyXG5cclxuICBwYWRkaW5nLXRvcCAgICA6IDA7XHJcbiAgcGFkZGluZy1sZWZ0ICAgOiAwO1xyXG4gIHBhZGRpbmctcmlnaHQgIDogMDtcclxuICBtYXJnaW4tYm90dG9tICA6IDA7XHJcbiAgLyogcGFkZGluZyAgICAgOiAwIDAgMCAwOyAqL1xyXG4gIGJvcmRlci1zdHlsZSAgIDogbm9uZTtcclxuICBib3gtc2hhZG93ICAgICA6IG5vbmU7XHJcblxyXG4gIGJhY2tkcm9wLWZpbHRlciAgICAgICAgOiBibHVyKDRweCk7XHJcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcclxuXHJcblxyXG59XHJcblxyXG5kaXYucm9vbV9oZWFkZXIge1xyXG4gIGRpc3BsYXkgICAgICAgIDogZmxleDtcclxuICBhbGlnbi1pdGVtcyAgICA6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBmbGV4LWZsb3cgICAgICA6IGNvbHVtbjtcclxuXHJcbiAgcGFkZGluZy1sZWZ0ICA6IDEwcHg7XHJcbiAgcGFkZGluZy1yaWdodCA6IDEwcHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDRweDtcclxuXHJcbiAgd2lkdGggICAgICAgICAgICAgIDogMTAwJTtcclxuICBtaW4taGVpZ2h0ICAgICAgICAgOiA4MHB4O1xyXG4gIC8qIG1heC1oZWlnaHQgICAgICA6IDgwcHg7ICovXHJcbiAgZm9udC1zaXplICAgICAgICAgIDogMTJweDtcclxuICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjI4LCAxOTcsIDAuOCk7ICovXHJcbiAgYmFja2dyb3VuZC1jb2xvciAgIDogcmdiYSgyMDUsIDIzMSwgMjUyLCAwLjgpO1xyXG4gIC8qIOaUueihjOS9jee9ruOCkuiqv+aVtCAqL1xyXG4gIG92ZXJmbG93LXdyYXAgICAgICA6IG5vcm1hbDtcclxuICB3b3JkLWJyZWFrICAgICAgICAgOiBrZWVwLWFsbDtcclxuICBvdmVyZmxvdy13cmFwICAgICAgOiBhbnl3aGVyZTtcclxuICAvKiB3aGl0ZS1zcGFjZSAgICAgOm5vd3JhcDsgKi9cclxuXHJcbiAgLnJvb21fbmFtZSB7XHJcbiAgICBmb250LXdlaWdodCAgIDogYm9sZDtcclxuICAgIC8qIHdoaXRlLXNwYWNlOiBwcmU7ICovXHJcbiAgfVxyXG59XHJcblxyXG5kaXYucm9vbV9oZWFkZXIudnAge1xyXG4gIHBhZGRpbmctbGVmdCAgICA6IDBweDtcclxuICBwYWRkaW5nLXJpZ2h0ICAgOiAwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTUsIDI1MywgMTk0LCAwLjgpO1xyXG59XHJcblxyXG5kaXYucm9vbV9oZWFkZXIgZGl2LnBsYW5fbmFtZSB7XHJcbiAgd2lkdGggICAgICAgIDogMTAwJTtcclxuICBwYWRkaW5nLWxlZnQgOiAxMHB4O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcblxyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGZvbnQtc2l6ZSAgOiAxNHB4O1xyXG4gIGNvbG9yICAgICAgOiByZ2IoMTgsIDY5LCAxNDUpXHJcbn1cclxuXHJcbmRpdi5yb29tX2hlYWRlciBkaXYucGxhbl9wZXJpb2Qge1xyXG4gIHdpZHRoICAgICAgICA6IDEwMCU7XHJcbiAgcGFkZGluZy1sZWZ0IDogMTBweDtcclxuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG5cclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiKDIwMiwgMjMxLCAxODgpO1xyXG4gIGZvbnQtd2VpZ2h0ICA6IGJvbGQ7XHJcbiAgZm9udC1zaXplICAgIDogMTFweDtcclxuICBjb2xvciAgICAgICAgOiByZ2IoMTgsIDY5LCAxNDUpXHJcbn1cclxuXHJcblxyXG4ucHJpY2VfcmFuZ2VfYXJlYSBpLnF1ZXN0aW9uLmljb24ge1xyXG4gIGZvbnQtc2l6ZTogMTFweDtcclxuICBjdXJzb3IgICA6IHBvaW50ZXI7XHJcbiAgcGFkZGluZyAgOiAwcHggOHB4IDhweDtcclxufVxyXG5cclxuc3Bhbi5yb29tX25hbWUge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLnRvcF9tZW51IHtcclxuICB3aWR0aCAgICAgICAgICAgOiAxMDAlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTMsIDI0MSwgMjI1KTtcclxuICBoZWlnaHQgICAgICAgICAgOiA0MHB4O1xyXG5cclxufVxyXG5cclxuZGl2LnVpLmJ1dHRvbnMubW9udGhzLmJ1dHRvbl9hcmVhIHtcclxuICBtYXJnaW4tdG9wICAgOiAxMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDRweDtcclxufVxyXG5cclxuLnVpLmJ1dHRvbnMubW9udGhzIGJ1dHRvbiB7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIHdpZHRoICAgIDogNjBweDtcclxuICBwYWRkaW5nICA6IDhweCAwcHg7XHJcbn1cclxuXHJcbi51aS5zZWdtZW50Lm1vbnRoc19hcmVhIHtcclxuICBwYWRkaW5nLXRvcCAgIDogMDtcclxuICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICBtYXJnaW4tdG9wICAgIDogMDtcclxuICBtYXJnaW4tYm90dG9tIDogMDtcclxuXHJcbn1cclxuXHJcbi8qIC51aS5zZWdtZW50Lm1vbnRoX2FyZWEgeyAqL1xyXG4ubW9udGhfYXJlYSB7XHJcbiAgcGFkZGluZyAgICAgIDogMCAwIDAgMDtcclxuICBib3JkZXItc3R5bGUgOiBub25lO1xyXG4gIGJveC1zaGFkb3cgICA6IG5vbmU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLm1vbnRoX2FyZWErLm1vbnRoX2FyZWEge1xyXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gIGJvcmRlci10b3AgOiAxcHggc29saWQgcmdiYSgyMDcsIDIwNywgMjA3LCAwLjU0OCk7XHJcblxyXG59XHJcblxyXG4vKiAudWkuc2VnbWVudC5tb250aF9hcmVhOmxhc3QtY2hpbGQgeyAqL1xyXG5kaXYubW9udGhfYXJlYTpsYXN0LWNoaWxkIHtcclxuICAvKiBoZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1oZWFkZXItcGFkZGluZykpOyAqL1xyXG4gIG1hcmdpbi1ib3R0b206IGNhbGMoMTAwdmggLSB2YXIoLS1oZWFkZXItcGFkZGluZykgLSA0MjBweCk7XHJcblxyXG4gIC8qIGJvcmRlcjogMXB4IHNvbGlkIHJlZDsgKi9cclxuICAvKiBib3JkZXItcmFkaXVzOiA0cHg7ICovXHJcbn1cclxuXHJcbi8qIC5tdWx0aV9jYWxlbmRhcl9ncmlkIC51aS5zZWdtZW50Lm1vbnRoX2FyZWE6bGFzdC1jaGlsZCB7ICovXHJcbi5tdWx0aV9jYWxlbmRhcl9ncmlkIGRpdi5tb250aF9hcmVhOmxhc3QtY2hpbGQge1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuLyog44Oi44O844OA44Or44GMdmjjgojjgorplbfjgYTnuKbplbfjga7loLTlkIjjgavjgIHjg4fjg5DjgqTjgrnjgavjgojjgaPjgabjgrnjgq/jg63jg7zjg6vjgZfjgY3jgozjgZrjgIHkuIvjgYzpmqDjgozjgotcclxu44Gd44Gu5a++562WICovXHJcbiNtb2RhbF9zZWxlY3RfY2FsZW5kYXIge1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgbWFyZ2luLXRvcDogMHB4O1xyXG4gIG1heC1oZWlnaHQ6IDk1JTtcclxuICBtYXgtd2lkdGggOiA0MDBweDtcclxuXHJcbiAgJiBkaXYuaGVhZF9jb21tZW50IHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmcgICA6IDBweCAyMHB4IDhweDtcclxuICAgIGZvbnQtc2l6ZSA6IDAuOWVtO1xyXG4gIH1cclxufVxyXG5cclxuLyog44Oi44O844OA44Or55So44Gr44Kr44Os44Oz44OA44O844KS6KSH5pWw5YiX6KGo56S6ICovXHJcbi5tdWx0aV9jYWxlbmRhcl9ncmlkIHtcclxuICBkaXNwbGF5ICAgICAgICAgICAgICA6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgcGxhY2UtaXRlbXMgICAgICAgICAgOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jYWxlbmRhci1jb250YWluZXIge1xyXG4gIGRpc3BsYXkgICAgICAgICAgOiBncmlkO1xyXG4gIC8qIGdyaWQtYXV0by1mbG93OiByb3c7ICovXHJcbiAgZ3JpZC10ZW1wbGF0ZSAgICA6XHJcbiAgICBcImRheV9vZl93ZWVrX2hhYWRlclwiMjBweCBcImNhbGVuZGFyX21haW5cIjFmciAvIDFmcjtcclxuXHJcbiAgcm93LWdhcDogMnB4O1xyXG5cclxufVxyXG5cclxuLmRheV9vZl93ZWVrX2hlYWRlciB7XHJcbiAgZ3JpZC1hcmVhICAgICAgICAgICAgOiBkYXlfb2Zfd2Vla19oYWFkZXI7XHJcbiAgZGlzcGxheSAgICAgICAgICAgICAgOiBncmlkO1xyXG4gIGdyaWQtYXV0by1mbG93ICAgICAgIDogcm93O1xyXG4gIGdyaWQtdGVtcGxhdGUtcm93cyAgIDogbWlubWF4KGF1dG8sIDQwcHgpO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIG1pbm1heCg0MHB4LCAxZnIpKTtcclxuICBjb2x1bW4tZ2FwICAgICAgICAgICA6IDJweDtcclxuXHJcbiAgLyog44Oi44O844OA44Or44Gu44Kr44Os44Oz44OA44O86KGo56S6ICovXHJcbiAgJi5tb2RhbCB7XHJcbiAgICBncmlkLWF1dG8tcm93cyAgICAgICA6IDQwcHg7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCA0MHB4KTtcclxuXHJcbiAgfVxyXG59XHJcblxyXG4uY2FsZW5kYXJfbWFpbiB7XHJcbiAgZ3JpZC1hcmVhICAgICAgICAgICAgOiBjYWxlbmRhcl9tYWluO1xyXG4gIGRpc3BsYXkgICAgICAgICAgICAgIDogZ3JpZDtcclxuICBncmlkLWF1dG8tZmxvdyAgICAgICA6IHJvdztcclxuICBncmlkLWF1dG8tcm93cyAgICAgICA6IG1pbm1heCg0MHB4LCBhdXRvKTtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCBtaW5tYXgoNDBweCwgMWZyKSk7XHJcbiAgcm93LWdhcCAgICAgICAgICAgICAgOiA0cHg7XHJcbiAgY29sdW1uLWdhcCAgICAgICAgICAgOiAycHg7XHJcblxyXG4gIC8qIOODouODvOODgOODq+OBruOCq+ODrOODs+ODgOODvOihqOekuijkvqHmoLznhKHjgZcpICovXHJcbiAgJi5tb2RhbCB7XHJcbiAgICBncmlkLWF1dG8tcm93cyAgICAgICA6IDQwcHg7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCA0MHB4KTtcclxuICB9XHJcbn1cclxuXHJcbmRpdi5kYXlfaGVhZGVyX2ZsZXgge1xyXG4gIGRpc3BsYXkgICAgICAgIDogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBtYXJnaW4tdG9wICAgICA6IDRweDtcclxuICBtYXJnaW4tYm90dG9tICA6IDRweDtcclxuICBwb3NpdGlvbiAgICAgICA6IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uZGF5X29mX3dlZWsge1xyXG4gIGZvbnQtc2l6ZTogMTFweDtcclxuXHJcbn1cclxuXHJcbi5kYXlfb2Zfd2Vla19oZWFkZXIubW9kYWwgLmRheV9vZl93ZWVrIHtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbi5kYXkge1xyXG4gIGRpc3BsYXkgICA6IGZsZXg7XHJcbiAgZmxleC1mbG93IDogY29sdW1uO1xyXG4gIG1pbi1oZWlnaHQ6IDUwcHg7XHJcbn1cclxuXHJcbi5kYXkgZGl2LnByaWNlLm5vdF9zYWxlIHtcclxuICBkaXNwbGF5ICAgICAgICA6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXMgICAgOiBjZW50ZXI7XHJcbiAgaGVpZ2h0ICAgICAgICAgOiAxMDAlO1xyXG5cclxuICAuaG9yaXpvbnRhbF9iYXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE5MCwgMTkwLCAxOTApO1xyXG4gICAgaGVpZ2h0ICAgICAgICAgIDogMnB4O1xyXG4gICAgd2lkdGggICAgICAgICAgIDogNjAlO1xyXG4gIH1cclxufVxyXG5cclxuLyog5L6h5qC85biv44Gu6ImyICovXHJcbi5jZW50ZXJfcHJpY2Uge1xyXG4gIGJvcmRlcjogc29saWQgMXB4IHJnYmEoMTI4LCAxMjgsIDEyOCwgMC4xKTtcclxufVxyXG5cclxuLm1heF9wcmljZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTIsIDE3OSwgMTcwLCAwLjgpO1xyXG59XHJcblxyXG4ubWluX3ByaWNlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE5NSwgMjA5LCAyNTUsIDAuOCk7XHJcbn1cclxuXHJcbi5oaWdoZXJfcHJpY2Uge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyMjgsIDE5NywgMC44KTtcclxufVxyXG5cclxuLmhpZ2hlcjJfcHJpY2Uge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNDUsIDIzMywgMC44KTtcclxufVxyXG5cclxuLmxvd2VyX3ByaWNlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMiwgMjQwLCAyNTUsIDAuOCk7XHJcbn1cclxuXHJcbi5sb3dlcjJfcHJpY2Uge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMyLCAyNDgsIDI1NSwgMC44KTtcclxufVxyXG5cclxuLyog5pel5LuY44Gu5pWw5YCk44KS5Zuy44KA44Op44OD44OR44O8XHJcbiAg44Oi44O844OA44Or44Gn6KGo56S644GZ44KL44GobGluZS1oZWlnaHTjgYzjgZrjgozjgovjgZ/jgoHjgIFGbGV444Gn5pWw5a2X44KS5Lit5aSu6YWN572u44Gr44GZ44KLXHJcbiovXHJcbmRpdi5kYXlfbnVtYmVyIHtcclxuICBkaXNwbGF5ICAgICAgICA6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXMgICAgOiBjZW50ZXI7XHJcblxyXG4gIGZvbnQtc2l6ZSAgICAgICA6IDExcHg7XHJcbiAgZm9udC13ZWlnaHQgICAgIDogYm9sZDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjMyLCAyMzIsIDIzMik7XHJcblxyXG59XHJcblxyXG4uY2FsZW5kYXJfYWxsX2FyZWEgLmNhbGVuZGFyX21haW4ubW9kYWwgZGl2LmRheV9udW1iZXIge1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxufVxyXG5cclxuXHJcblxyXG5kaXYuZGF5X2hlYWRlcl9mbGV4IHtcclxuICAuY2lyY2xlOm5vdCguZGF5X29mX3dlZWspIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHdpZHRoICAgICAgICA6IDEuOGVtO1xyXG4gICAgaGVpZ2h0ICAgICAgIDogMS44ZW07XHJcblxyXG4gICAgJjpub3QoLm5vX2RhdGEpIHtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG5cclxuICAgICYubm9fZGF0YSB7XHJcbiAgICAgIGNvbG9yICA6IHJnYigxODAsIDE4MCwgMTgwKTtcclxuICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmRheV9vZl93ZWVrIHtcclxuICAgIHdpZHRoICAgICAgICAgICA6IDEwMCU7XHJcbiAgICBib3JkZXItcmFkaXVzICAgOiA0cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjMyLCAyMzIsIDIzMik7XHJcbiAgfVxyXG5cclxuICAuc2F0dXJkYXkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzNCwgMjM0LCAyNTUpO1xyXG4gICAgY29sb3IgICAgICAgICAgIDogYmx1ZTtcclxuICB9XHJcblxyXG4gIC5ob2xpZGF5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDIzMCwgMjMwKTtcclxuICAgIGNvbG9yICAgICAgICAgICA6IHJlZDtcclxuICB9XHJcbn1cclxuXHJcbi8qIOODouODvOODgOODq+OBruWgtOWQiOOBruabnOaXpSAqL1xyXG4uZGF5X29mX3dlZWtfaGVhZGVyLm1vZGFsIGRpdi5kYXlfaGVhZGVyX2ZsZXgge1xyXG4gIC5kYXlfb2Zfd2VlayB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB9XHJcbn1cclxuXHJcblxyXG5kaXYucHJpY2Uge1xyXG4gIGRpc3BsYXkgICAgICAgIDogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBmbGV4LWZsb3cgICAgICA6IGNvbHVtbjtcclxuICBib3JkZXItcmFkaXVzICA6IDRweDtcclxuICBtaW4taGVpZ2h0ICAgICA6IDMwcHg7XHJcbn1cclxuXHJcbnNwYW4ucHJpY2Uge1xyXG4gIGZvbnQtc2l6ZSAgOiAxM3B4O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIHRleHQtd3JhcCAgOiBub3dyYXA7XHJcblxyXG59XHJcblxyXG5zcGFuLnZwLnN1cCB7XHJcbiAgZm9udC1zaXplICA6IDhweDtcclxuICBjb2xvciAgICAgIDogcmdiKDEzNCwgMTM0LCAxMzQpO1xyXG4gIGxpbmUtaGVpZ2h0OiA4cHg7XHJcbn1cclxuXHJcblxyXG4vKiDov73liqDjg5njg4Pjg4nooajnpLrjga4gKyDjgpIgYmVmb3JlIOOBp+S7mOOBkeOCi+OBn+OCgeOBrnBvc2l0aW9uOiByZWxhdGl2ZSAqL1xyXG5zcGFuLnllbl9tYXJrX3NtYWxsIHtcclxuICBwb3NpdGlvbiAgICAgIDogcmVsYXRpdmU7XHJcbn1cclxuXHJcbnNwYW4ucHJpY2UudXNlX2V4dHJhX2JlZCB7XHJcbiAgY29sb3I6IHJnYig3NSwgNzMsIDIyMSk7XHJcblxyXG4gICYgc3Bhbi55ZW5fbWFya19zbWFsbDo6YmVmb3JlIHtcclxuICAgIC8qIGZvbnQtc2l6ZTogOS43NXB4OyAqL1xyXG4gICAgZm9udC1zaXplOiA5Ljc1cHg7XHJcbiAgICBjb250ZW50ICA6IFwiK1wiO1xyXG4gICAgY29sb3IgICAgOiByZ2IoNzUsIDczLCAyMjEpO1xyXG4gICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcclxuICAgIHRvcCAgICAgIDogLTEwcHg7XHJcbiAgICBsZWZ0ICAgICA6IDFweDtcclxuICB9XHJcbn1cclxuXHJcbi8qIOOCueODnuODm+OBruWgtOWQiOOBq+WGhuODnuODvOOCr+OCkuWwj+OBleOBj+ebrueri+OBn+OBquOBhOOCiOOBhuihqOekuiAqL1xyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cclxuICBzcGFuLnllbl9tYXJrX3NtYWxsIHtcclxuICAgIGZvbnQtc2l6ZSAgICAgOiAwLjdlbTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICAgIGNvbG9yICAgICAgICAgOiByZ2IoMTI4LCAxMjgsIDEyOCk7XHJcbiAgICBcclxuICB9XHJcbn1cclxuXHJcbi8qIFBD55SoICovXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XHJcbiAgYm9keSB7XHJcbiAgICAvKiBvdmVyZmxvdy15OiBzY3JvbGw7ICovXHJcblxyXG4gICAgb3ZlcmZsb3cteTogYXV0byAhaW1wb3J0YW50O1xyXG5cclxuXHJcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XHJcbiAgICAvKiBJRSwgRWRnZSDlr77lv5wgKi9cclxuICAgIHNjcm9sbGJhci13aWR0aCAgIDogbm9uZTtcclxuICAgIC8qIEZpcmVmb3gg5a++5b+cICovXHJcblxyXG4gICAgOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIC8qIENocm9tZSwgU2FmYXJpIOWvvuW/nCAqL1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuc3Bhbi5wcmljZV9wZXJzb24ge1xyXG4gIGZvbnQtc2l6ZSAgOiAxMXB4O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGNvbG9yICAgICAgOiByZ2IoMTI4LCAxMjgsIDEyOCk7XHJcbiAgdGV4dC13cmFwICA6IG5vd3JhcDtcclxufVxyXG5cclxuZGl2Lm1vbnRoX2hlYWRlciB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgcG9zaXRpb24gICA6IHJlbGF0aXZlO1xyXG59XHJcblxyXG5kaXYubW9udGhfaGVhZGVyIHNwYW4uYW5ub3RhdGlvbiB7XHJcbiAgLyogZm9udC13ZWlnaHQ6IG5vcm1hbDsgKi9cclxuICBmb250LXNpemU6IDlweDtcclxuICBwb3NpdGlvbiA6IGFic29sdXRlO1xyXG4gIHJpZ2h0ICAgIDogMHB4O1xyXG4gIGJvdHRvbSAgIDogLTJweDtcclxufVxyXG5cclxuZGl2LnByaWNlX3JhbmdlX2FyZWEge1xyXG4gIGZvbnQtc2l6ZSAgOiAxMXB4O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIHdpZHRoICAgICAgOiA5MCU7XHJcbn1cclxuXHJcbmRpdi5wcmljZV9yYW5nZV90ZXh0LFxyXG5kaXYucHJpY2VfcmFuZ2Vfb3RoZXIge1xyXG4gIGRpc3BsYXkgICAgICAgIDogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgYWxpZ24taXRlbXMgICAgOiBjZW50ZXI7XHJcbiAgY29sb3IgICAgICAgICAgOiBncmF5O1xyXG4gIGZvbnQtc2l6ZSAgICAgIDogOXB4O1xyXG5cclxufVxyXG5cclxuZGl2LnByaWNlX3JhbmdlX2JhciB7XHJcbiAgcG9zaXRpb24gICAgICAgOiByZWxhdGl2ZTtcclxuICBmb250LXNpemUgICAgICA6IDExcHg7XHJcbiAgZGlzcGxheSAgICAgICAgOiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBhbGlnbi1pdGVtcyAgICA6IGNlbnRlcjtcclxuICAvKiBtYXJnaW4tbGVmdCA6IDIwcHg7XHJcbiAgbWFyZ2luLXJpZ2h0ICAgOiAyMHB4OyAqL1xyXG5cclxuICBib3JkZXItcmFkaXVzICAgICAgOiA0cHg7XHJcbiAgaGVpZ2h0ICAgICAgICAgICAgIDogMTVweDtcclxuICB3aWR0aCAgICAgICAgICAgICAgOiAxMDAlO1xyXG4gIC8qIGJhY2tncm91bmQtY29sb3I6IGFxdWE7ICovXHJcbiAgYmFja2dyb3VuZC1pbWFnZSAgIDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LFxyXG4gICAgICByZ2JhKDE5NSwgMjA5LCAyNTUsIDAuOCkgMCAxNSUsXHJcbiAgICAgIHJnYmEoMjAyLCAyNDAsIDI1NSwgMC44KSAxNSUgMjklLFxyXG4gICAgICByZ2JhKDIzMiwgMjQ4LCAyNTUsIDAuOCkgMjklIDQzJSxcclxuICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpIDQzJSA1NyUsXHJcbiAgICAgIHJnYmEoMjU1LCAyNDUsIDIzMywgMC44KSA1NyUgNzElLFxyXG4gICAgICByZ2JhKDI1NSwgMjI4LCAxOTcsIDAuOCkgNzElIDg1JSxcclxuICAgICAgcmdiYSgyNTIsIDE3OSwgMTcwLCAwLjgpIDg1JSAxMDAlKTtcclxuXHJcbiAgJiBzcGFuIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIH1cclxufVxyXG5cclxuLnByaWNlX3JhbmdlX2JhciAubWluX3ByaWNlIHtcclxuICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuXHJcbn1cclxuXHJcbi5wcmljZV9yYW5nZV9iYXIgLm1heF9wcmljZSB7XHJcbiAgcGFkZGluZy1yaWdodDogNXB4O1xyXG59XHJcblxyXG4vKiDkuK3lpK7lgKTjga7phY3nva4gKi9cclxuLnByaWNlX3JhbmdlX2Jhcjo6YmVmb3JlIHtcclxuICBjb250ZW50ICAgICAgICAgICAgOiAnJztcclxuICB0b3AgICAgICAgICAgICAgICAgOiAxMnB4O1xyXG4gIHdpZHRoICAgICAgICAgICAgICA6IDFweDtcclxuICBoZWlnaHQgICAgICAgICAgICAgOiA3cHg7XHJcbiAgLyogYm9yZGVyLXJhZGl1cyAgIDogNTAlOyAqL1xyXG4gIGJhY2tncm91bmQtY29sb3IgICA6IHJnYigxMzQsIDEzNCwgMTM0KTtcclxuICBwb3NpdGlvbiAgICAgICAgICAgOiBhYnNvbHV0ZTtcclxuICBsZWZ0ICAgICAgICAgICAgICAgOiB2YXIoLS1tZWRpYW4tdmlydGljYWwtYmFyLWxlZnQpO1xyXG4gIC8qIGxlZnQgICAgICAgICAgICA6IDUwJTsgKi9cclxuXHJcbiAgei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi5wcmljZV9yYW5nZV9vdGhlciB7XHJcbiAgcGFkZGluZy1sZWZ0ICAgOiB2YXIoLS1tZWRpYW4tdGV4dC1sZWZ0KTtcclxuICAvKiBwYWRkaW5nLWxlZnQ6IDUwJTsgKi9cclxufVxyXG5cclxuLnByaWNlX3JhbmdlX290aGVyX3RleHQge1xyXG4gIGNvbG9yICAgIDogIzMzMzMzMztcclxuICBmb250LXNpemU6IDExcHg7XHJcbn1cclxuXHJcbi5wcmljZV9yYW5nZV90ZXh0IHNwYW4ge1xyXG4gIHdpZHRoICAgICAgICA6IDQwcHg7XHJcbiAgcGFkZGluZy1sZWZ0IDogNXB4O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICB0ZXh0LXdyYXAgICAgOiBub3dyYXA7XHJcbn1cclxuXHJcbi8qIGRpduOBr+S+oeagvOihqOekuuaeoCAqL1xyXG5kaXYubm90X3NhbGUge1xyXG4gIGNvbG9yICAgICAgICAgICA6IHJnYmEoMTU4LCAxNTgsIDE1OCwgMC43NCk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjEsIDIyMSwgMjIxLCAxKTtcclxufVxyXG5cclxuc3Bhbi5ub3Rfc2FsZSB7XHJcbiAgZm9udC1zaXplOiAxMXB4O1xyXG5cclxufVxyXG5cclxuZGl2Lmhvcml6b250YWxfbGluZSB7XHJcbiAgd2lkdGggICAgICAgICAgIDogMzUlO1xyXG4gIGhlaWdodCAgICAgICAgICA6IDFweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQwLCAyNDAsIDI0MCk7XHJcbn1cclxuXHJcbi8qIOODouODvOODgOODq+OCpuOCo+ODs+ODieOCpuOBruOCteOCpOOCuuiqv+aVtCAqL1xyXG4jbW9kYWxfc2VsZWN0X3Jvb20ge1xyXG4gIG1pbi1oZWlnaHQ6IDYwMHB4O1xyXG59XHJcblxyXG4ubW9kYWwgLmNvbnRlbnQgLmRyb3Bkb3duX2xhYmVsLmlubGluZSB7XHJcbiAgbWFyZ2luLXRvcCAgOiAzMHB4O1xyXG4gIG1hcmdpbi1yaWdodDogMTBweDtcclxuICBmb250LXNpemUgICA6IDE0cHg7XHJcbiAgZm9udC13ZWlnaHQgOiBib2xkO1xyXG4gIGRpc3BsYXkgICAgIDogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4ubW9kYWwgLmNvbnRlbnQgLmlubGluZSsuYW5ub3RhdGlvbiB7XHJcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gIGZvbnQtc2l6ZSAgIDogMTFweDtcclxufVxyXG5cclxuXHJcblxyXG5cclxuLyog44OJ44Ot44OD44OX44OA44Km44Oz44Gu6KGo56S644K144Kk44K644KS5ouh5by1ICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcclxuICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duOm5vdCgucm9vbV90eXBlKSAubWVudSB7XHJcbiAgICBtYXgtaGVpZ2h0OiAxNi4wMTQyODU3MXJlbVxyXG4gIH1cclxufVxyXG5cclxuLyogLnVpLnNlbGVjdGlvbi5kcm9wZG93bjpub3QoLnVubGltaXRlZCkgLm1lbnUge1xyXG4gIG1heC1oZWlnaHQ6IDMzM3B4O1xyXG59ICovXHJcblxyXG5cclxuZGl2LnVpLmRyb3Bkb3duPi50ZXh0IHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuZGl2LnVpLmRyb3Bkb3duLnJvb21fdHlwZSB7XHJcbiAgbWluLWhlaWdodCAgICAgIDogMzZweDtcclxuICAvKiBtaW4taGVpZ2h0ICAgOiA3MnB4OyAqL1xyXG4gIHBhZGRpbmctcmlnaHQgICA6IDI4cHg7XHJcbn1cclxuXHJcblxyXG5cclxuZGl2LnVpLmRyb3Bkb3duLnJvb21fdHlwZSA+IGRpdi5tZW51IHtcclxuICBtYXgtaGVpZ2h0OiAzMzhweCAhaW1wb3J0YW50O1xyXG59XHJcbmRpdi51aS5kcm9wZG93bi5yb29tX3R5cGUgLm1lbnUgLnNjcm9sbGluZy5tZW51IHtcclxuICBtYXgtaGVpZ2h0OiAzMDBweDtcclxufVxyXG5cclxuLyog44GZ44G544Gm44Gu44Ob44OG44Or5oyH5a6a5pmC44Gr6KGo56S644GZ44KL44Ob44OG44Or5ZCN6YOo5YiGICovXHJcbmRpdi51aS5kcm9wZG93bi5jb21tb2RpdHlDRCBzcGFuLmRyb3Bkb3duLml0ZW0ucGxhbl9uYW1lIHtcclxuICBmb250LXNpemUgIDogOXB4O1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi8qIGRpdi51aS5kcm9wZG93bi5yb29tX3R5cGUgZGl2Lm1lbnUudmlzaWJsZSA+IGRpdi5oZWFkZXI6bm90KDpoYXMoc3BhbikpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNDAsIDIyMyk7XHJcbiAgbWFyZ2luLXRvcDogNnB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDZweDtcclxuICBoZWlnaHQ6IDIwcHg7XHJcbn0gKi9cclxuZGl2LnVpLmRyb3Bkb3duLnJvb21fdHlwZSB7XHJcblxyXG4gICYgZGl2Lml0ZW0ge1xyXG4gICAgZm9udC1zaXplICA6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmcgICAgOiA4cHggOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItdG9wIDogc29saWQgMXB4IHJnYmEoMTg1LCAxODUsIDE4NSwgMC4yMDUpICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgJi5zZWxlY3RlZCB7XHJcbiAgICAgIGNvbG9yICAgICAgICAgICA6IHdoaXRlO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTIwLCAxNjMsIDI1NSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiDpg6jlsYvjgr/jgqTjg5fjga7jgqvjg4bjgrTjg6rlkI0gKi9cclxuICAmIGRpdi5tZW51IGRpdi5oZWFkZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjQwLCAyMjMpO1xyXG4gICAgbWFyZ2luICAgICAgICAgIDogMHB4O1xyXG4gICAgcGFkZGluZyAgICAgICAgIDogMnB4IDhweDtcclxuICAgIG1pbi1oZWlnaHQgICAgICA6IDIwcHg7XHJcbiAgICBtYXgtaGVpZ2h0ICAgICAgOiA0MHB4O1xyXG4gICAgYm9yZGVyLXRvcCAgICAgIDogc29saWQgMXB4IHJnYmEoMTg1LCAxODUsIDE4NSwgMC4yMDUpICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAvKiDjgZnjgbnjgabjga7jg5vjg4bjg6vmjIflrprmmYLjgavooajnpLrjgZnjgovjg5vjg4bjg6vlkI3pg6jliIYgKi9cclxuICAmIHNwYW4uZHJvcGRvd25faXRlbS5ob3RlbF9uYW1lIHtcclxuICAgIGZvbnQtc2l6ZSAgOiA4cHg7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIH1cclxuXHJcblxyXG59XHJcblxyXG4vKiDjgqLjgq/jgrvjgrfjg5bjg6vjg6vjg7zjg6Djga7ooajnpLrjg7vpnZ7ooajnpLrliIfjgormm7/jgYggKi9cclxuZGl2LnVpLmRyb3Bkb3duLnJvb21fdHlwZSAubWVudSAuc2Nyb2xsaW5nLm1lbnU6bm90KC5zaG93X2FjY2Vzc2libGUpIC5pdGVtLmFjY2Vzc2libGUge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIOaknOe0ouODieODreODg+ODl+ODgOOCpuODs+OBp+OAgeODmOODg+ODgOODvOaMh+WumuOBjOmBuOaKnuOBleOCjOOCi+OBqOODkOODg+OCr+OCsOODqeOCpuODs+ODieOCq+ODqeODvOOBjOioreWumuOBleOCjOOBpuOBl+OBvuOBhuOBruOCkuaJk+OBoea2iOOBlyAqL1xyXG4udWkuZHJvcGRvd24gLm1lbnUgLmhlYWRlciAuc2VsZWN0ZWQuaXRlbSB7XHJcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiDmpJzntKLmloflrZflhaXlipvmrITjga7kvZnnmb3oqr/mlbQgKi9cclxuLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudSAuc2VhcmNoLmlucHV0IHtcclxuICBtYXJnaW46IDBweCA0cHggNHB4O1xyXG5cclxufVxyXG5cclxuXHJcblxyXG4udWkubWluaS5sYWJlbCB7XHJcbiAgZm9udC1zaXplOiA4cHg7XHJcblxyXG59XHJcblxyXG4vKiDjg4jjg4Pjg5fjg6Hjg4vjg6Xjg7zjga7jgrXjgqTjgrroqr/mlbQgKi9cclxuLnVpLm1lbnUgLml0ZW0ge1xyXG4gIHBhZGRpbmctdG9wICAgOiA0cHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDRweDtcclxuICBwYWRkaW5nLWxlZnQgIDogN3B4O1xyXG4gIHBhZGRpbmctcmlnaHQgOiA3cHg7XHJcbn1cclxuXHJcbi51aS5tZW51IC5pdGVtIGkuaWNvbiB7XHJcbiAgZm9udC1zaXplOiAyMXB4O1xyXG5cclxufVxyXG5cclxuLyog44Oa44O844K444Gu44K/44Kk44OI44Or44OY44OD44OA44O8ICovXHJcbi51aS5tZW51IC5pdGVtLmhlYWRfdGl0bGUge1xyXG4gIGZvbnQtc2l6ZSAgICAgIDogMTZweDtcclxuICBmb250LXdlaWdodCAgICA6IGJvbGQ7XHJcbiAgLyog5q6L44KK44Gu5L2Z55m944KS44GZ44G544Gm5Z+L44KB44KLICovXHJcbiAgZmxleC1ncm93ICAgICAgOiAxO1xyXG4gIGFsaWduLWl0ZW1zICAgIDogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICA+ZGl2PmEge1xyXG4gICAgY29sb3I6ICMzMzMzMzM7XHJcbiAgfVxyXG59XHJcblxyXG4vKiDmmqvlrpogXHJcbuODouODvOODgOODq+OBruWGheWuueOBjOW6g+OBjOOCi+aZguOAgeWIneWbnuOBp+OBr+OBquOBnOOBi+OCueOCr+ODreODvOODq+OBjOOBp+OBjeOBquOBhOOBn+OCgeOAgeWvvuetluOBqOOBl+OBpuioreWumlxyXG4qL1xyXG4uZGltbWVyLm1vZGFscy52aXNpYmxlLmFjdGl2ZSB7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuXHJcbiNzb3JyeV9hcmVhIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4jc29ycnlfYXJlYS5zaG93IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuI3NvcnJ5X2FyZWEuaGlkZGVuIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIOOCueODnuODm+OBp+OBr+OCueOCr+ODreODvOODq+ODkOODvOOCkumdnuihqOekuiAqL1xyXG5ib2R5IHtcclxuICAvKiAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7ICovXHJcbiAgLyogSUUsIEVkZ2Ug5a++5b+cICovXHJcbiAgLyogc2Nyb2xsYmFyLXdpZHRoICAgOiBub25lOyAqL1xyXG4gIC8qIEZpcmVmb3gg5a++5b+cICovXHJcblxyXG4gIC8qIENocm9tZSwgU2FmYXJpIOWvvuW/nCAqL1xyXG4gIC8qIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9ICovXHJcbn1cclxuXHJcblxyXG4vKiDjg4jjg4Pjg5fjg5rjg7zjgrjooajnpLrmmYLjga7jgb/jga7jgrnjgr/jgqTjg6sgKi9cclxuLnVpLnNlZ21lbnQudG9wX29uZV9kYXlfbGlzdCB7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW4gOiAxMHB4IGF1dG87XHJcblxyXG5cclxuICA+ZGl2LmNvbnRlbnQge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICAmIGRpdi5zdWJfaGVhZGVyIHtcclxuICAgICAgdG9wOiAwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5hY2NvcmRpb24ge1xyXG4gICAgPi50aXRsZS5ob3RlbF9uYW1lIHtcclxuICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgIHRvcDogNzNweCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnZwIHtcclxuICAgICAgICB0b3A6IDk2cHggIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50aXRsZS5ncm91cF9oZWFkZXIge1xyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgdG9wOiAxMDhweCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnZwIHtcclxuICAgICAgICB0b3A6IDEzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcblxyXG4vKiAx5pel5YiG6KGo56S644Oi44O844OA44Or44Gu44K544K/44Kk44OrICovXHJcbiNtb2RhbF9zaG93X29uZWRheSxcclxuLnVpLnNlZ21lbnQudG9wX29uZV9kYXlfbGlzdCB7XHJcbiAgbWF4LXdpZHRoOiA2MDBweDtcclxuXHJcbiAgLyog44Ki44Kk44Kz44OzICovXHJcbiAgPmRpdi5oZWFkZXIgaS5pY29uIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICB9XHJcblxyXG4gIC8qIOODouODvOODgOODq+OBruOCs+ODs+ODhuODs+ODhCAqL1xyXG4gID5kaXYuY29udGVudCB7XHJcbiAgICBwYWRkaW5nOiAwIDAgMXJlbSAhaW1wb3J0YW50O1xyXG5cclxuICAgICYgZGl2LnN1Yl9oZWFkZXIge1xyXG4gICAgICBwb3NpdGlvbiAgICAgICAgOiBzdGlja3k7XHJcbiAgICAgIHRvcCAgICAgICAgICAgICA6IC0xNHB4O1xyXG4gICAgICB6LWluZGV4ICAgICAgICAgOiAxMTtcclxuICAgICAgbWluLWhlaWdodCAgICAgIDogNzRweDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcblxyXG4gICAgICBkaXNwbGF5ICAgIDogZmxleDtcclxuICAgICAgZmxleC1mbG93ICA6IGNvbHVtbjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcblxyXG4gICAgICBwYWRkaW5nOiA4cHggMHB4O1xyXG5cclxuICAgICAgJi52cCB7XHJcbiAgICAgICAgdG9wICAgICAgIDogLTE0cHg7XHJcbiAgICAgICAgbWluLWhlaWdodDogNjVweDtcclxuXHJcbiAgICAgICAgJiBkaXYuYW5ub3RhdGlvbiB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wICAgOiAxMHB4O1xyXG4gICAgICAgICAgd2lkdGggICAgICAgIDogMTAwJTtcclxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE0cHg7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduICAgOiByaWdodDtcclxuICAgICAgICAgIGZvbnQtc2l6ZSAgICA6IDlweDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0ICA6IGJvbGQ7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJiBkaXYucGFyYW1ldGVyX2FyZWEge1xyXG4gICAgICAgIGRpc3BsYXkgICAgICAgIDogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBwb3NpdGlvbiAgICAgICA6IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoICAgICAgICAgIDogMTAwJTtcclxuXHJcbiAgICAgICAgLmRhdGVfdGl0bGUge1xyXG4gICAgICAgICAgZm9udC1zaXplICA6IDE4cHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuXHJcbiAgICAgICAgICAmIHNwYW4uZXh0ZXJuYWxfbGluaz5pLmljb24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucGVyc29uX3NldHRpbmdfYXJlYSB7XHJcbiAgICAgICAgICBkaXNwbGF5ICA6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIC8qIGJvcmRlcjogc29saWQgMXB4IGJsdWU7ICovXHJcblxyXG4gICAgICAgICAgLnVpLmRyb3Bkb3duLmlubGluZS5wZXJzb24ge1xyXG4gICAgICAgICAgICBtaW4td2lkdGggICA6IDQwcHg7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQgIDogYXV0bztcclxuICAgICAgICAgICAgdGV4dC1hbGlnbiAgOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIC8qIHdpZHRoICAgIDogODBweDsgKi9cclxuICAgICAgICAgICAgcGFkZGluZyAgICAgOiA0cHggMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4gICAgICA6IDA7XHJcblxyXG4gICAgICAgICAgICAubWVudSB7XHJcblxyXG4gICAgICAgICAgICAgIC8qIHdpZHRoOiA0MHB4OyAqL1xyXG4gICAgICAgICAgICAgIC5pdGVtIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcgICA6IDRweCAwcHg7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyZW07XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmRyb3Bkb3duLmljb24ge1xyXG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG5cclxuICAgICAgJiBkaXYuZmlsdGVyX29wdGlvbl9hcmVhIHtcclxuICAgICAgICAvKiBjb2xvciA6IHJlZDsgKi9cclxuICAgICAgICAvKiBib3JkZXI6IHNvbGlkIDFweCByZWQ7ICovXHJcbiAgICAgICAgcGFkZGluZyAgICAgICAgOiA4cHggOHB4IDRweDtcclxuICAgICAgICBkaXNwbGF5ICAgICAgICA6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIHdpZHRoICAgICAgICAgIDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGggICAgICA6IDQwMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4jbW9kYWxfc2hvd19vbmVkYXkgLm92ZXJjYXBhY2l0eV9oaWRlIC5vdmVyY2FwYWNpdHksXHJcbiNtb2RhbF9zaG93X29uZWRheSAuYWNjZXNzaWJsZV9oaWRlIC5hY2Nlc3NpYmxlLFxyXG4udWkuc2VnbWVudC50b3Bfb25lX2RheV9saXN0IC5vdmVyY2FwYWNpdHlfaGlkZSAub3ZlcmNhcGFjaXR5LFxyXG4udWkuc2VnbWVudC50b3Bfb25lX2RheV9saXN0IC5hY2Nlc3NpYmxlX2hpZGUgLmFjY2Vzc2libGUge1xyXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuI21vZGFsX3Nob3dfb25lZGF5LFxyXG4udWkuc2VnbWVudC50b3Bfb25lX2RheV9saXN0IHtcclxuICAuYWNjb3JkaW9uIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3cgICA6IG5vbmU7XHJcbiAgICAvKiDjgqLjgrPjg7zjg4fjgqPjgqrjg7Pjga7kuIrpg6jkvZnnmb3jgpLliYrpmaTjgZfjgaboqbDjgoHjgosgKi9cclxuICAgIG1hcmdpbi10b3AgICA6IDBweDtcclxuXHJcbiAgICA+LnRpdGxlIHtcclxuICAgICAgcGFkZGluZy1sZWZ0IDogNHB4O1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLyog44Ki44Kz44O844OH44Kj44Kq44Oz44Gu44Ob44OG44Or5ZCN44K/44Kk44OI44OrICovXHJcbiAgICA+LnRpdGxlLnZwcGxhbl9uYW1lIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTUsIDI1MywgMTk0LCAwLjgpO1xyXG4gICAgICBjb2xvciAgICAgICAgICAgOiAjMzMzMzMzO1xyXG4gICAgICBtaW4taGVpZ2h0ICAgICAgOiA1MXB4O1xyXG5cclxuICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgICAgICAgOiByZ2IoMTAxLCAyMDksIDQyKTtcclxuICAgICAgICBjb2xvciAgICAgICAgICAgICAgICAgIDogd2hpdGU7XHJcbiAgICAgICAgcG9zaXRpb24gICAgICAgICAgICAgICA6IHN0aWNreTtcclxuICAgICAgICB0b3AgICAgICAgICAgICAgICAgICAgIDogNDVweDtcclxuICAgICAgICBiYWNrZHJvcC1maWx0ZXIgICAgICAgIDogYmx1cig0cHgpO1xyXG4gICAgICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XHJcbiAgICAgICAgei1pbmRleCAgICAgICAgICAgICAgICA6IDExO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLm5vdF9zYWxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE2MCwgMTYwLCAxNjAsIDAuMjMzKTtcclxuICAgICAgICBjb2xvciAgICAgICAgICAgOiBncmF5O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyog44Ki44Kz44O844OH44Kj44Kq44Oz44Gu44Ob44OG44Or5ZCN44K/44Kk44OI44OrICovXHJcbiAgICA+LnRpdGxlLmhvdGVsX25hbWUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwOCwgMjMzLCAyNTMsIDAuOCk7XHJcbiAgICAgIGNvbG9yICAgICAgICAgICA6ICMzMzMzMzM7XHJcbiAgICAgIGZvbnQtc2l6ZSAgICAgICA6IDEzcHg7XHJcblxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAgICAgICA6IHJnYig2MiwgMTY4LCAyNTUpO1xyXG4gICAgICAgIGNvbG9yICAgICAgICAgICAgICAgICAgOiB3aGl0ZTtcclxuICAgICAgICBwb3NpdGlvbiAgICAgICAgICAgICAgIDogc3RpY2t5O1xyXG4gICAgICAgIHRvcCAgICAgICAgICAgICAgICAgICAgOiA1OXB4O1xyXG4gICAgICAgIGJhY2tkcm9wLWZpbHRlciAgICAgICAgOiBibHVyKDRweCk7XHJcbiAgICAgICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcclxuICAgICAgICB6LWluZGV4ICAgICAgICAgICAgICAgIDogMTA7XHJcblxyXG4gICAgICAgICYudnAge1xyXG4gICAgICAgICAgdG9wOiA5NXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5ub3Rfc2FsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNjAsIDE2MCwgMTYwLCAwLjIzMyk7XHJcbiAgICAgICAgY29sb3IgICAgICAgICAgIDogZ3JheTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiDjgqLjgrPjg7zjg4fjgqPjgqrjg7Pjga7pg6jlsYvjgrDjg6vjg7zjg5flkI3jgr/jgqTjg4jjg6sgKi9cclxuICAgIC50aXRsZS5ncm91cF9oZWFkZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNDAsIDIyMyk7XHJcbiAgICAgIGNvbG9yICAgICAgICAgICA6ICMzMzMzMzM7XHJcbiAgICAgIGZvbnQtd2VpZ2h0ICAgICA6IGJvbGQ7XHJcbiAgICAgIHBhZGRpbmctbGVmdCAgICA6IDE1cHg7XHJcbiAgICAgIGZvbnQtc2l6ZSAgICAgICA6IDEzcHg7XHJcblxyXG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggcmdiYSgzNCwgMzYsIDM4LCAuMTUpO1xyXG5cclxuICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgICAgICAgOiByZ2IoMjU1LCAxNzQsIDgyKTtcclxuICAgICAgICBjb2xvciAgICAgICAgICAgICAgICAgIDogd2hpdGU7XHJcbiAgICAgICAgcG9zaXRpb24gICAgICAgICAgICAgICA6IHN0aWNreTtcclxuICAgICAgICB0b3AgICAgICAgICAgICAgICAgICAgIDogOTRweDtcclxuICAgICAgICBiYWNrZHJvcC1maWx0ZXIgICAgICAgIDogYmx1cig0cHgpO1xyXG4gICAgICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XHJcbiAgICAgICAgei1pbmRleCAgICAgICAgICAgICAgICA6IDk7XHJcblxyXG4gICAgICAgICYudnAge1xyXG4gICAgICAgICAgdG9wOiAxMjhweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYubm90X3NhbGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTYwLCAxNjAsIDE2MCwgMC4yMzMpO1xyXG4gICAgICAgIGNvbG9yICAgICAgICAgICA6IGdyYXk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLyog6YOo5bGL44Kw44Or44O844OX44Gu44Kz44Oz44OG44Oz44OE44Ko44Oq44KiKOmDqOWxi+OBjOe4puOBq+S4puOBtuOBqOOBk+OCjSAqL1xyXG4gICAgLmNvbnRlbnQuZ3JvdXBfY29udGVudF9hcmVhIHtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICAudnBwbGFuX2NvbnRlbnRfYXJlYSB7XHJcbiAgICAgIHBhZGRpbmctbGVmdCAgOiAwO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0IDogMDtcclxuICAgICAgcGFkZGluZy10b3AgICA6IDA7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC8qIOODm+ODhuODq+WGheOBruOCsOODq+ODvOODly/pg6jlsYvjgYzkuKbjgbbjgqjjg6rjgqIgKi9cclxuICAgIC5ob3RlbF9jb250ZW50X2FyZWEge1xyXG4gICAgICBwYWRkaW5nLWxlZnQgIDogMDtcclxuICAgICAgcGFkZGluZy1yaWdodCA6IDA7XHJcbiAgICAgIHBhZGRpbmctdG9wICAgOiAwO1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuXHJcbiAgICAgIC5hY2NvcmRpb24gZGl2LnNjcm9sbF9wYWRkaW5nX2R1bW15IHtcclxuICAgICAgICB3aWR0aCA6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDAwcHgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAucm9vbV90eXBlX2FyZWEge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZTpcclxuICAgICAgICAgIFwicm9vbV9uYW1lXCJhdXRvIFwiZmVhdHVyZXNcImF1dG8gXCJiZWRfdHlwZV9uYW1lX2FyZWFfYWxsXCJhdXRvIC8xZnI7XHJcblxyXG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKDM0LCAzNiwgMzgsIC4xNSk7XHJcbiAgICAgICAgcGFkZGluZy10b3AgIDogNHB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdCA6IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xyXG5cclxuICAgICAgICAucm9vbV9uYW1lIHtcclxuICAgICAgICAgIGdyaWQtYXJlYSAgICA6IHJvb21fbmFtZTtcclxuICAgICAgICAgIGZvbnQtc2l6ZSAgICA6IDEzcHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodCAgOiBib2xkO1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xyXG4gICAgICAgICAgLyog5LiA6Kan44Gn44Gv5pS56KGM5L2N572u44KS6Kq/5pW044GX44Gq44GEICovXHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmZlYXR1cmVzX2FyZWEge1xyXG4gICAgICAgICAgZ3JpZC1hcmVhICAgICA6IGZlYXR1cmVzO1xyXG4gICAgICAgICAgLyogZGlzcGxheSAgICA6IGlubGluZS1ibG9jazsgKi9cclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYmVkX3R5cGVfbmFtZV9hcmVhX2FsbCB7XHJcbiAgICAgICAgICBncmlkLWFyZWEgICAgICAgICAgICA6IGJlZF90eXBlX25hbWVfYXJlYV9hbGw7XHJcbiAgICAgICAgICBkaXNwbGF5ICAgICAgICAgICAgICA6IGdyaWQ7XHJcbiAgICAgICAgICAvKiBwYWRkaW5n5YiG44CBZ3JpZOOBp+err+OBo+OBk+OBjOWPluOCieOCjOOCi++8nyAqL1xyXG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgNzBweCA3MHB4IDM0cHg7XHJcblxyXG4gICAgICAgICAgJi52cCB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDcwcHggMTBweCA3MHB4IDM0cHg7XHJcblxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5iZWRfdHlwZV9hcmVhIHtcclxuICAgICAgICAgICAgZGlzcGxheSAgICAgICAgICAgICAgOiBncmlkO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uICAgICAgICAgIDogc3BhbiA0O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQgICAgICAgICA6IDRweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQgICAgICAgICAgOiA2cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodCAgICAgICAgIDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodCAgICAgICAgOiA0cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AgICAgICAgICAgIDogc29saWQgMXB4IHJnYmEoMTYwLCAxNjAsIDE2MCwgMC4yMzMpO1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdCAgICAgICAgICA6IHNvbGlkIDFweCByZ2JhKDE2MCwgMTYwLCAxNjAsIDAuMjMzKTtcclxuXHJcbiAgICAgICAgICAgICYubm90X3NhbGUge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTYwLCAxNjAsIDE2MCwgMC4yMzMpO1xyXG5cclxuICAgICAgICAgICAgICAuYmVkX3R5cGVfbmFtZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZ3JheTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYudnAge1xyXG4gICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDU7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG5cclxuXHJcbiAgICAgICAgICAuYmVkX3R5cGVfbmFtZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAucHJpY2Uge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcbiAgICAgICAgICAgIC5zdXAge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogOHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAucHJpY2VfdGl0bGUge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuXHJcbiAgICAgICAgICAgICAgJi52cCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemUgOiA5cHg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLnByaWNlLm5vdF9zYWxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICAgICAgICB3aWR0aCAgICA6IDEwMCU7XHJcbiAgICAgICAgICAgIGNvbG9yICAgIDogZ3JheTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuc2luZ2xlX3ByaWNlIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yICAgICA6IGdyYXk7XHJcblxyXG4gICAgICAgICAgICAucmVxdWVzdF9wZXJzb24ge1xyXG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xyXG4gICAgICAgICAgICAgIGNvbG9yICAgICAgICAgIDogcmdiKDE3NywgMTc3LCAxNzcpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuZml4ZWRfcGVyc29uIHtcclxuICAgICAgICAgICAgICBjb2xvcjogcmVkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8qIGJsb2Nr44Gu5L2N572u6Kq/5pW044GZ44KLRmxleCB3cmFwcGVyICovXHJcbi5mbGV4X3dyYXBwZXIuYWxpZ25fYm90dG9tIHtcclxuICBkaXNwbGF5ICAgIDogZmxleDtcclxuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbn1cclxuXHJcbi5mbGV4X3dyYXBwZXIudmlydGljYWxfYWxpZ25fY2VudGVyIHtcclxuICBkaXNwbGF5ICAgICAgICAgICA6IGZsZXg7XHJcbiAgLyoganVzdGlmeS1jb250ZW50OiBjZW50ZXI7ICovXHJcbiAgYWxpZ24taXRlbXMgICAgICAgOiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIOOCouOCpOOCs+ODs+OCkuS4reW/g+OBq+mFjee9ruOBmeOCi0ZsZXggd3JhcHBlciAqL1xyXG4uZmxleC5pY29uX3dyYXBwZXIge1xyXG4gIHBhZGRpbmctbGVmdCAgIDogOHB4O1xyXG4gIGRpc3BsYXkgICAgICAgIDogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtcyAgICA6IGNlbnRlcjtcclxuICBmb250LXNpemUgICAgICA6IDI0cHg7XHJcbn1cclxuXHJcblxyXG4ubWluaV9wb3B1cC51c2VfZXh0cmFfYmVkIHtcclxuICAvKiBmb250LXNpemU6IDAuOGVtOyAqL1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGNvbG9yICAgICAgOiByZ2IoNzUsIDczLCAyMjEpO1xyXG59XHJcblxyXG4jbW9kYWxfb3Blbl9leHRlcm5hbF9saW5rIC5jb250ZW50IHtcclxuICAubGlua19hcmVhIHtcclxuICAgIHBhZGRpbmcgICAgICA6IDEwcHggMTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJvcmRlciAgICAgICA6IHNvbGlkIDFweCBncmF5O1xyXG4gICAgd29yZC1icmVhayAgIDogYnJlYWstYWxsO1xyXG4gICAgZm9udC1zaXplICAgIDogMC44ZW07XHJcbiAgfVxyXG5cclxuICAubm90aWNlIHtcclxuICAgIGNvbG9yICAgIDogIzU1NTU1NTtcclxuICAgIGZvbnQtc2l6ZTogMC43cmVtO1xyXG5cclxuICB9XHJcbn1cclxuXHJcbi8qIOODouODvOODgOODq+OBruS4iuOBq+ODouODvOODgOODq+OBjOmHjeOBquOCi+WgtOWQiOOBruOCq+OCueOCv+ODoOODh+OCo+ODnuODvFxyXG4gIGphdmFzY3JpcHTjgafliLblvqHjgZnjgotcclxuKi9cclxuI21vZGFsX29wZW5fZXh0ZXJuYWxfbGluayB7XHJcbiAgei1pbmRleDogMTAwMztcclxufVxyXG5cclxuLnVpLmRpbW1lci5tb2RhbF9vcGVuX2V4dGVybmFsX2xpbmtfZGltbWVyIHtcclxuICB6LWluZGV4OiAxMDAyO1xyXG59XHJcblxyXG5zcGFuLmV4dGVybmFsX2xpbmsge1xyXG4gIGNvbG9yIDogIzFlNzBiZjtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbiNtb2RhbF9xX29uZWRheV9saXN0IHtcclxuICB6LWluZGV4OiAxMDAzO1xyXG59XHJcblxyXG4udWkuZGltbWVyLm1vZGFsX3Ffb25lZGF5X2xpc3RfZGltbWVyIHtcclxuICB6LWluZGV4OiAxMDAyO1xyXG59XHJcblxyXG5cclxuXHJcbi8qIOODiOOCsOODq+OCueOCpOODg+ODgeWFqOS9k+OBruODqeODmeODq+OCkuWQq+OCgeOBn+ODmeODvOOCueaeoCAqL1xyXG4uY3VzdG9tZV90b2dnbGVfc3dpdGNoIHtcclxuICBkaXNwbGF5ICAgICA6IHRhYmxlO1xyXG4gIC8qIGZvbnQtc2l6ZTogMTRweDsgKi9cclxuICBtYXJnaW4gICAgICA6IDBweCAwcHg7XHJcbiAgcGFkZGluZyAgICAgOiAwcHggMHB4O1xyXG5cclxuICAvKiBib3JkZXIgICA6IHNvbGlkIDAuNXB4IHJnYmEoMjU1LCAwLCAwLCAwLjMpOyAqL1xyXG4gICYuaW5saW5lIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB9XHJcblxyXG4gID5pbnB1dCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICY6Y2hlY2tlZCtsYWJlbCB7XHJcblxyXG4gICAgICAvKiDjg4Hjgqfjg4Pjgq/jgZfjgZ/jgajjgY3jga7og4zmma/pg6jliIYgKi9cclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0MCwgMTg2LCAxKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLyog44OB44Kn44OD44Kv44GX44Gf5pmC44Gu5Li444Gu5L2N572uICovXHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBsZWZ0OiBjYWxjKDFlbSArIDAuMWVtKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIOODiOOCsOODq+OCkmRpc2FibGVk44Gr44GX44Gf5aC05ZCI44Gu44K544K/44Kk44OrICovXHJcbiAgICAmOmRpc2FibGVkK2xhYmVsIHtcclxuICAgICAgY29sb3I6IHJnYmEoMTM4LCAxMzgsIDEzOCwgMC41NzUpO1xyXG5cclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk0LCA5NCwgOTQsIDAuNTc1KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC8qIOi1pOaMh+WumuOBruWgtOWQiCBsYWJlbDo6YmVmb3JlIOOCkuWkieOBiOOCiyAqL1xyXG4gICYucmVkIHtcclxuICAgID5pbnB1dDpjaGVja2VkK2xhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjEyLCA5LCA5KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qIOODnOOCv+ODs+OBruiqrOaYjuashCDjg5zjgr/jg7Pjga7luYXjgajkvZnnmb3liIblt6bjgYvjgonjgZrjgonjgZkgKi9cclxuICA+bGFiZWwge1xyXG4gICAgcG9zaXRpb24gICAgOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXkgICAgIDogaW5saW5lLWJsb2NrO1xyXG4gICAgdGV4dC13cmFwICAgOiBub3dyYXA7XHJcbiAgICAvKiAgKi9cclxuICAgIHBhZGRpbmctbGVmdDogMi42ZW07XHJcblxyXG4gICAgLyog44OI44Kw44Or44Oc44K/44Oz44Gu5Li45pys5L2TICovXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIHBvc2l0aW9uICAgICAgICA6IGFic29sdXRlO1xyXG4gICAgICB0b3AgICAgICAgICAgICAgOiAwLjE1ZW07XHJcbiAgICAgIGxlZnQgICAgICAgICAgICA6IDAuMmVtO1xyXG4gICAgICB3aWR0aCAgICAgICAgICAgOiBjYWxjKDFlbSArIDAuMWVtKTtcclxuICAgICAgaGVpZ2h0ICAgICAgICAgIDogY2FsYygxZW0gKyAwLjFlbSk7XHJcbiAgICAgIGJvcmRlci1yYWRpdXMgICA6IGNhbGMoMWVtICsgMC4xZW0pO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICB0cmFuc2l0aW9uICAgICAgOiAwLjVzO1xyXG4gICAgICBjb250ZW50ICAgICAgICAgOiBcIlwiO1xyXG4gICAgICB6LWluZGV4ICAgICAgICAgOiAyO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICAvKiDjg4jjgrDjg6vjgrnjgqTjg4Pjg4Hjga7og4zmma/pg6jliIYgXHJcbiAgICAgICDog4zmma/jga7luYXjgpLkvLjjgbDjgZfjgabjgoLkuLjjga7kvY3nva7jga/lpInjgo/jgonjgarjgYTjga7jgafliKXpgJToqr/mlbTjgYzlv4XopoEgKi9cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGRpc3BsYXkgICAgICAgICA6IGJsb2NrO1xyXG4gICAgICBwb3NpdGlvbiAgICAgICAgOiBhYnNvbHV0ZTtcclxuICAgICAgd2lkdGggICAgICAgICAgIDogMi40ZW07XHJcbiAgICAgIGhlaWdodCAgICAgICAgICA6IDEuNGVtO1xyXG4gICAgICBib3JkZXItcmFkaXVzICAgOiAxZW07XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEREREREQ7XHJcbiAgICAgIGN1cnNvciAgICAgICAgICA6IHBvaW50ZXI7XHJcbiAgICAgIGNvbnRlbnQgICAgICAgICA6IFwiXCI7XHJcbiAgICAgIHotaW5kZXggICAgICAgICA6IDE7XHJcbiAgICAgIHRvcCAgICAgICAgICAgICA6IDAuMGVtO1xyXG4gICAgICBsZWZ0ICAgICAgICAgICAgOiAwLjBlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbnAuY29weXJpZ2h0IHtcclxuICBmb250LXNpemU6IDExcHg7XHJcbn1cclxuXHJcbi50d2l0dGVyLmljb24ge1xyXG4gIGNvbG9yICAgIDogIzFEQTFGMjtcclxuICBmb250LXNpemU6IDEuMmVtO1xyXG5cclxufVxyXG5cclxuXHJcbi5jb2xvcl9kZXNjcmlwdGlvbl9hcmVhIHtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgbWFyZ2luICAgOiA4cHggYXV0bztcclxuXHJcbiAgJiBpLmljb24ge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuXHJcbiAgJiB0ZCB7XHJcbiAgICBoZWlnaHQ6IDE4cHg7XHJcblxyXG4gIH1cclxuXHJcbiAgJiB0ZC5kZXNjcmlwdGlvbl9hcmVhIHtcclxuICAgIHBhZGRpbmctbGVmdDogOHB4O1xyXG4gICAgZm9udC1zaXplICAgOiAxMXB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAmIHRkLmhlYWRlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LXdyYXAgOiBub3dyYXA7XHJcbiAgICB3aWR0aCAgICAgOiA0MHB4O1xyXG4gICAgZm9udC1zaXplIDogMC44ZW07XHJcblxyXG4gIH1cclxuXHJcbiAgLyogJiB0ZC5yYW5nZV9jb2xvcjppcygubWF4X3ByaWNlLC5oaWdoZXJfcHJpY2UsLmhpZ2hlcjJfcHJpY2UsLmNlbnRlcl9wcmljZSwubG93ZXJfcHJpY2UsLmxvd2VyMl9wcmljZSwubWluX3ByaWNlKSB7ICovXHJcbiAgJiB0ZC5yYW5nZV9jb2xvciB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgfVxyXG5cclxuICAmIHRkLmJvcmRlci1ib3R0b20ge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjA3LCAyMDcsIDIwNywgMC41NDgpO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG4ucm9vbV9oZWFkZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnJvb21faGVhZGVyIC5pY29uX2FyZWEge1xyXG4gIHBvc2l0aW9uICAgICA6IGFic29sdXRlO1xyXG4gIHdpZHRoICAgICAgICA6IDEwMCU7XHJcbiAgcGFkZGluZy1yaWdodDogMHB4O1xyXG4gIC8qIHRvcCAgICAgICA6IDBweDsgKi9cclxuICByaWdodCAgICAgICAgOiAxMHB4O1xyXG4gIGJvdHRvbSAgICAgICA6IDRweDtcclxuICB0ZXh0LWFsaWduICAgOiByaWdodDtcclxuXHJcbiAgJiBpLnF1ZXN0aW9uLmljb24ge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgcGFkZGluZyAgOiA4cHg7XHJcbiAgICBjdXJzb3IgICA6IHBvaW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG51bCB7XHJcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDIwcHg7XHJcblxyXG4gICYgbGkge1xyXG4gICAgZm9udC1zaXplOiAwLjllbTtcclxuICB9XHJcbn1cclxuXHJcbi5tb2RhbD4uY29udGVudCAuZGVzY3JpcHRpb25fYXJlYSB7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG5cclxufVxyXG5cclxuI21vZGFsX3FfcHJpY2VfY2FsZW5kYXI+LmNvbnRlbnQge1xyXG4gIC5mbGV4X2FyZWEge1xyXG4gICAgZGlzcGxheSAgICA6IGZsZXg7XHJcbiAgICBmb250LXNpemUgIDogMTNweDtcclxuICAgIG1hcmdpbi10b3AgOiAxMHB4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAmIGRpdi5wcmljZSB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgd2lkdGggICAgIDogNTZweDtcclxuICAgICAgaGVpZ2h0ICAgIDogNDBweDtcclxuXHJcbiAgICAgICYubm90X3NhbGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgICAgICBoZWlnaHQgICA6IDMwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZGVzY3JpcHRpb25fYXJlYSB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xyXG4gICAgICBmb250LXNpemUgICA6IDExcHg7XHJcblxyXG4gICAgICAuYmx1ZSB7XHJcbiAgICAgICAgY29sb3I6IGJsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxufVxyXG5cclxuI21vZGFsX3Ffb25lZGF5X2xpc3Q+LmNvbnRlbnQge1xyXG5cclxuICAmIGkuaWNvbiB7XHJcbiAgICBjb2xvcjogcmdiKDMwLCAxMTIsIDE5MSk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuaS5jb3B5Lmljb24ge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnVpLnNlZ21lbnQuYm9va21hcmtsZXRfdXNhZ2Ugb2wgbGkge1xyXG4gIGZvbnQtd2VpZ2h0ICA6IGJvbGQ7XHJcbiAgbWFyZ2luLXRvcCAgIDogNHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDRweDtcclxufVxyXG5cclxuLnJlZCB7XHJcbiAgY29sb3I6IHJlZDtcclxufVxyXG5cclxuLmFubm90YXRpb24ge1xyXG4gIGZvbnQtc2l6ZTogMC45cmVtO1xyXG59XHJcblxyXG4uYm9va21hcmtsZXQgZGV0YWlscyBzdW1tYXJ5IHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuXHJcbn1cclxuXHJcbnByZSBjb2RlLmhsanMge1xyXG4gIHRleHQtd3JhcCAgICA6IHdyYXA7XHJcbiAgd29yZC13cmFwICAgIDogYnJlYWstd29yZDtcclxuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xyXG59XHJcblxyXG4vKiDkvqHmoLzlpInli5XlsaXmrbTjgYLjgorjgqLjgqTjgrPjg7MgKi9cclxuZGl2LnByaWNlX2hpc3RvcnkuZGF5X2ljb25fYXJlYSB7XHJcbiAgZm9udC1zaXplOiAxMHB4O1xyXG4gIHBvc2l0aW9uIDogYWJzb2x1dGU7XHJcbiAgcmlnaHQgICAgOiAtNHB4O1xyXG4gIGJvdHRvbSAgIDogLThweDtcclxufVxyXG5cclxuZGl2LnByaWNlX2hpc3RvcnkuZGF5X2ljb25fYXJlYS5vbGQsXHJcbmkuaWNvbi5vbGQge1xyXG4gIG9wYWNpdHk6IDAuNDtcclxufVxyXG5cclxuLnByaWNlX2hpc3Rvcnkgc3BhbiB7XHJcbiAgdGV4dC13cmFwOiBub3dyYXA7XHJcbn1cclxuXHJcbi8qIOOCouOCpOOCs+ODs+OBruiJsiAqL1xyXG4ucHJpY2VfaGlzdG9yeSBpLnVwLmljb24sXHJcbmkucHJpY2VfdXAuaWNvbiB7XHJcbiAgY29sb3I6IHJnYmEoMjM4LCA4NSwgMTAyLCAxLjApO1xyXG59XHJcblxyXG4ucHJpY2VfaGlzdG9yeSBpLmRvd24uaWNvbixcclxuaS5wcmljZV9kb3duLmljb24ge1xyXG4gIGNvbG9yOiByZ2IoNzcsIDEzOSwgMjE5KTtcclxufVxyXG5cclxuLnByaWNlX2hpc3RvcnkgaS5yaWdodC5pY29uLFxyXG5pLnByaWNlX25vcm1hbC5pY29uIHtcclxuICBjb2xvcjogZ3JheTtcclxufVxyXG5cclxuXHJcblxyXG4vKiDkvqHmoLzlpInli5XlsaXmrbTjg53jg4Pjg5fjgqLjg4Pjg5cgKi9cclxuXHJcbi8qIOaXpeS7mCAqL1xyXG4ucHJpY2VfaGlzdG9yeS5oZWFkZXJfZGF0ZSB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIFxyXG4gIG1hcmdpbi1ib3R0b206IDRweDtcclxuXHJcbn1cclxuXHJcbi5wcmljZV9oaXN0b3J5IHRib2R5IHRyIHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLnByaWNlX2hpc3RvcnkgdGhlYWQgdHIge1xyXG4gIGZvbnQtc2l6ZTogMTBweDtcclxuICAvKiBjb2xvciA6IGdyYXk7ICovXHJcbn1cclxuXHJcbi5wcmljZV9oaXN0b3J5IHRoZWFkIHRkIHtcclxuICBib3JkZXI6IDBweDtcclxuXHJcbn1cclxuXHJcblxyXG50YWJsZS5wcmljZV9oaXN0b3J5IHtcclxuICAvKiBib3JkZXItY29sbGFwc2U6c2VwYXJhdGU7ICovXHJcbiAgYm9yZGVyLXNwYWNpbmc6IDBweDtcclxuXHJcbn1cclxuXHJcbi8qIOihjOe9q+e3miAqL1xyXG50YWJsZS5wcmljZV9oaXN0b3J5IHRyIHRkIHtcclxuICBib3JkZXItdG9wOiBzb2xpZCAxcHggcmdiYSgxMjgsIDEyOCwgMTI4LCAwLjIpO1xyXG59XHJcbi8qIOacgOaWsOS+oeagvOOBruiDjOaZr+iJsiAqL1xyXG50YWJsZS5wcmljZV9oaXN0b3J5IHRyLmxhdGVzdCB0ZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI0NSwgMjMzLCAxLjApO1xyXG59XHJcblxyXG4vKiDjg4bjg7zjg5bjg6vjga7jg5jjg4Pjg4DmloflrZfliJfjgajmnKvlsL4o5Yid5Zue5paZ6YeRKeOCkuOCsOODrOODvOihqOekuiAqL1xyXG50YWJsZS5wcmljZV9oaXN0b3J5IHRyOm50aC1sYXN0LWNoaWxkKDEpIHRkLFxyXG50YWJsZS5wcmljZV9oaXN0b3J5IHRoZWFkIHRoIHtcclxuICBvcGFjaXR5OiAwLjY7XHJcbn1cclxuXHJcblxyXG50YWJsZS5wcmljZV9oaXN0b3J5IHRkIHtcclxuICBwYWRkaW5nOiA0cHg7XHJcbiAgdGV4dC13cmFwOiBub3dyYXA7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbn1cclxuXHJcblxyXG50YWJsZS5wcmljZV9oaXN0b3J5IHRkLnByaWNlIHtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxudGFibGUucHJpY2VfaGlzdG9yeSB0ZDpoYXMoLnByaWNlX2Rvd24pIHtcclxuICBjb2xvcjogcmdiKDQ4LCAxMjQsIDIyNCk7XHJcblxyXG59XHJcblxyXG50YWJsZS5wcmljZV9oaXN0b3J5IHRkOmhhcygucHJpY2VfdXApIHtcclxuICBjb2xvcjogcmdiKDIzOCwgNTIsIDc0KTtcclxufVxyXG5cclxudGFibGUucHJpY2VfaGlzdG9yeSB0ZDpoYXMoc3Bhbi5wcmljZV9pbml0aWFsKSB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4vKiAgKi9cclxudGFibGUudXBkYXRlX2hpc3RvcnkgdGR7XHJcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICBwYWRkaW5nOiA0cHhcclxuXHJcbn1cclxuXHJcblxyXG4vKiDjg5bjg4Pjgq/jg57jg7zjgq/jg6zjg4Pjg4jjg5rjg7zjgrjplqLpgKMgKi9cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAjaW1hZ2VfbW9kYWwudWkubW9kYWwge1xyXG4gICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICB9XHJcbiAgI2ltYWdlX21vZGFsLnVpLm1vZGFsIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IG1pbigxMDAlLCA0MDBweCk7XHJcbiAgfVxyXG59XHJcblxyXG4jaW1hZ2VfbW9kYWwudWkubW9kYWwge1xyXG4gIG1heC13aWR0aDogODAwcHg7XHJcbn1cclxuI2ltYWdlX21vZGFsLnVpLm1vZGFsIGltZyB7XHJcbiAgbWF4LXdpZHRoOiBtaW4oMTAwJSwgODAwcHgpO1xyXG59XHJcblxyXG5cclxuLmJvb2ttYXJrbGV0IG9sIGxpOjptYXJrZXIge1xyXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xyXG5cclxufVxyXG5cclxuXHJcbi5ib29rbWFya2xldCBoNCxcclxuaDQge1xyXG4gIHBhZGRpbmcgICAgOiAxMHB4IDEwcHg7XHJcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCByZ2IoMjI0LCAxMTgsIDQ4KTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MywgMTM3LCA1MSwgMC4xNTgpO1xyXG5cclxufVxyXG4uYm9va21hcmtsZXQgaDUsXHJcbmg1IHtcclxuICBwYWRkaW5nICAgIDogMTBweCAxMHB4O1xyXG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgcmdiKDQ4LCAxMjQsIDIyNCk7XHJcblxyXG59XHJcblxyXG4uaW1hZ2Uuc3RlcHMge1xyXG4gIGRpc3BsYXkgICAgOiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZmxleC13cmFwICA6IHdyYXA7XHJcbiAgcm93LWdhcCAgICA6IDIwcHg7XHJcbiAgY29sdW1uLWdhcCA6IDEwcHg7XHJcbn1cclxuXHJcbi5pbWFnZV9ib3gge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwYWRkaW5nICAgICAgOiA4cHg7XHJcbiAgYm9yZGVyICAgICAgIDogMnB4IHNvbGlkIHJnYmEoMTI4LCAxMjgsIDEyOCwgMC4yKTtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcblxyXG59XHJcblxyXG4uaW1hZ2Uuc3RlcHMgaS5yaWdodC5pY29uIHtcclxuICBmb250LXNpemU6IDJyZW07XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgLmltYWdlLnN0ZXBzIHtcclxuICAgIGRpc3BsYXkgIDogZmxleDtcclxuICAgIGZsZXgtZmxvdzogY29sdW1uO1xyXG4gICAgcm93LWdhcCAgOiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLmltYWdlLnN0ZXBzIGkucmlnaHQuaWNvbiB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcblxyXG4gIH1cclxufVxyXG5cclxuZGV0YWlscy51aS5mbHVpZC5hY2NvcmRpb24uYm9va21hcmtsZXQge1xyXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2IoMjE5LCAyMjMsIDI1NSk7XHJcbiAgcGFkZGluZzogNHB4O1xyXG59XHJcbmRldGFpbHMudWkuZmx1aWQuYWNjb3JkaW9uLmJvb2ttYXJrbGV0ID4gc3VtbWFyeSB7XHJcbiAgcGFkZGluZzogOHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzIsIDIzNSwgMjU1KTtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcblxyXG59XHJcblxyXG5kZXRhaWxzLnVpLmZsdWlkLmFjY29yZGlvbi5ib29rbWFya2xldC5leHRyYSB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiKDI1NSwgMjE5LCAyMTkpO1xyXG59XHJcbmRldGFpbHMudWkuZmx1aWQuYWNjb3JkaW9uLmJvb2ttYXJrbGV0LmV4dHJhID4gc3VtbWFyeSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjMyLCAyMzIpO1xyXG59XHJcbmRldGFpbHMudWkuZmx1aWQuYWNjb3JkaW9uLmJvb2ttYXJrbGV0Lm9sZCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiKDE3MywgMTczLCAxNzMpO1xyXG59XHJcbmRldGFpbHMudWkuZmx1aWQuYWNjb3JkaW9uLmJvb2ttYXJrbGV0Lm9sZCA+IHN1bW1hcnkge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMDIsIDIwMiwgMjAyKTtcclxufVxyXG5cclxuLnVpLmZsdWlkLmNhcmQubGlnaHQtcmVkIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjUyLCAyNDEsIDI0MSk7XHJcbn1cclxuIl19 */