@charset "UTF-8";

/**
 * 値が2つ以上の配列かどうか判定する関数
 * @param  {array} $_list 配列か判定したい値
 * @return {boole}        値が2つ以上の配列ならtrue
 */

/**
 * 数値をremに変換する関数です
 * @param  {Number} $target        remにしたい数値
 * @param  {Number} $threshold [1] しきい値
 * @return {Number}                数値にremが付いた数値を返します
 */

/**
 * 数値をemに変換する関数です
 * @param  {Number} $target           emにしたい数値
 * @param  {Number} $parentValue [16] しきい値
 * @return {Number}                   数値にremが付いた数値を返します
 */

/**
 * 数値をpxに変換する関数です
 * @param  {Number} $arget          pxにしたい数値
 * @param  {Number} $threshold [1]  しきい値
 * @return {Number}                 数値にpxが付いた数値を返します
 */

/**
 * line-heightが1の時と同じになるようにline-height分の差分を返す関数です
 * @param  {Number} $lineHeight lineHeightの値
 * @param  {Number} $fontSize   fontの値
 * @return {Number}             差分の数値
 */

/**
 * 深い階層のmapの値を取得して返す関数です。
 * @param  {map} $map   map本体
 * @param  {map} $keys  mapのkey
 * @return {map}        指定したmapのkey
 */

/**
 * $breakpointsの中の数値を@mediaに入れてemにして返すmixin
 * @param  {array}  $breakpoint [sm]  $breakpointsのkeyのarray
 * @param  {string} $key        [min] min or max
 * @return {void}                     @media ($key-width) {}
 */

/**
 * font-weightの数値を返す関数
 * @param  {String} $weight weightのキーワード値
 * @return {Number}         weightのnumber
 */

/**
 * 色をmapから取得する関数です
 * @param  {array}  $keys      配列
 * @param  {number} $_opacity  0.0 ~ 1
 * @return {map}               $colorsの任意のkey
 */

/**
 * z-indexをmapから取得する関数です
 * @param  {array} $keys  配列
 * @return {map}   $z-indexの任意のkey
 */

/**
 * 擬似要素でアスペクト比の領域を確保するmixin
 * @param  {$_width}                   横の値
 * @param  {$_height}                  縦の値
 * @param  {$_pseudo_element} [before] 消費する疑似要素 before or after
 * @return {void}
 */

/**
 * fontをmapから取得する関数です
 * @param  {array} $keys  配列
 * @return {map}   $fontsの任意のkey
 */

.blog-pagenation {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 320px;
  padding-top: 30px;
  margin: auto;
}

.blog-pagenation__prev>a,
.blog-pagenation__next>a {
  padding-bottom: 2px;
  font-size: 0.875rem;
  color: #231815;
  text-decoration: underline;
  transition: opacity 0.4s;
}

.blog-pagenation__prev>a:hover,
.blog-pagenation__next>a:hover {
  opacity: 0.7;
}

.blog-pagenation__numbers {
  display: inline-block;
  padding: 0;
  margin: 0 18px;
  list-style-type: none;
}

.blog-pagenation__numbers>li {
  display: inline-block;
  width: 33px;
  height: 33px;
  margin: 0 3px;
  background-color: #efefef;
  border-radius: 5px;
}

.blog-pagenation__numbers>li>a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 3px;
  font-size: 1rem;
  color: #575757;
  text-decoration: none;
  border-radius: 5px;
  transition: background-color 0.4s, color 0.4s;
}

.blog-pagenation__numbers>li>a:hover {
  color: #fff;
  background-color: #dc263f;
}

.blog-pagenation__numbers>li.is-current {
  background-color: #dc263f;
}

.blog-pagenation__numbers>li.is-current>a {
  color: #fff;
  transition: opacity 0.4s;
}

.blog-pagenation__numbers>li.is-current>a:hover {
  opacity: 0.7;
}

.blog-pagenation__toindex {
  width: 133px;
  height: 33px;
  background-color: #dc263f;
  border-radius: 5px;
}

.blog-pagenation__toindex>a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 2px;
  font-size: 0.875rem;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.4s;
}

.blog-pagenation__toindex>a:hover {
  opacity: 0.7;
}

/* stylelint-disable */

.photoGallery {
  background-image: url("/assets/img/photoGallery/bg_sp.png");
  background-position: top left;
  background-repeat: repeat-y;
  background-size: cover;
}

@media (min-width: 48.0625rem) {
  .photoGallery {
    background-image: url("/assets/img/photoGallery/bg.png");
  }
}

@media (min-width: 48.0625rem) {
  .photoGallery .sp_only {
    display: none;
  }
}

.photoGallery .pc_only {
  display: none;
}

@media (min-width: 48.0625rem) {
  .photoGallery .pc_only {
    display: block;
  }
}

.photoGallery .text-red {
  color: #D61518;
}

.photoGallery li {
  list-style: none;
}

.photoGallery_main {
  padding: 0 1.25rem 7.875rem;
}

@media (min-width: 48.0625rem) {
  .photoGallery_main {
    padding: 0 1.25rem 10.8125rem;
  }
}

.photo_introduction {
  max-width: 61.25rem;
  margin: 0 auto;
  padding: 2.5rem 0 0;
}

.photo_introduction .rainbow {
  margin-top: 2.5rem;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}

@media (min-width: 48.0625rem) {
  .photo_introduction .rainbow {
    margin-top: 3.125rem;
  }
}

.photo_introduction_inner {
  background-image: url("/assets/img/photoGallery/led_line_sp.png");
  background-position: top left;
  background-repeat: repeat-x;
  background-size: contain;
  position: relative;
  padding-bottom: 2.5rem;
}

@media (min-width: 48.0625rem) {
  .photo_introduction_inner {
    background-image: url("/assets/img/photoGallery/led_line.png");
  }
}

.photo_introduction_inner .photo_i {
  position: absolute;
  top: -2.1875rem;
  left: 0;
  width: 3.75rem;
}

@media (min-width: 48.0625rem) {
  .photo_introduction_inner .photo_i {
    width: 6.6875rem;
    top: 4.375rem;
    left: 2.5rem;
  }
}

.photo_introduction_inner .photo_i02 {
  position: absolute;
  top: -1.25rem;
  right: -1.25rem;
  width: 7.5rem;
}

@media (min-width: 48.0625rem) {
  .photo_introduction_inner .photo_i02 {
    width: 15.3125rem;
    right: -6.875rem;
  }
}

.photo_introduction_contents {
  padding: 2.5rem 0 0;
}

@media (min-width: 48.0625rem) {
  .photo_introduction_contents {
    padding: 3.125rem 0 0;
  }
}

.photo_introduction_contents .photo_introduction_contents_h2 {
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.07em;
}

@media (min-width: 48.0625rem) {
  .photo_introduction_contents .photo_introduction_contents_h2 {
    font-size: 2rem;
  }
}

.photo_introduction_contents .photo_introduction_contents_h3 {
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: 0.07em;
  line-height: 1.5;
  text-align: center;
  margin-top: 2.5rem;
}

@media (min-width: 48.0625rem) {
  .photo_introduction_contents .photo_introduction_contents_h3 {
    font-size: 1.125rem;
  }
}

.photo_introduction_contents .photo_introduction_contents_h3 ._inner_span {
  display: inline-block;
  position: relative;
  background: linear-gradient(transparent 50%, #FFFF00 50%);
}

.photo_introduction_contents .photo_introduction_contents_h3 ._inner_span::before,
.photo_introduction_contents .photo_introduction_contents_h3 ._inner_span::after {
  content: "";
  display: block;
  width: 0.125rem;
  height: 1.875rem;
  background-color: #000000;
  position: absolute;
  bottom: -0.25rem;
}

.photo_introduction_contents .photo_introduction_contents_h3 ._inner_span::before {
  left: -1rem;
  transform: rotate(-38deg);
}

.photo_introduction_contents .photo_introduction_contents_h3 ._inner_span::after {
  right: -1rem;
  transform: rotate(38deg);
}

.photo_introduction_contents .photo_introduction_text {
  font-size: 0.875rem;
  font-weight: bold;
  letter-spacing: 0.07em;
  line-height: 1.6;
  text-align: center;
}

@media (min-width: 48.0625rem) {
  .photo_introduction_contents .photo_introduction_text {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.photo_introduction_contents .photo_introduction_text._lead {
  margin-top: 1.25rem;
}

@media (min-width: 48.0625rem) {
  .photo_introduction_contents .photo_introduction_text._lead {
    margin-top: 1.625rem;
  }
}

.photo_introduction_contents .photo_introduction_text._bottom {
  margin-top: 2.5rem;
}

@media (min-width: 48.0625rem) {
  .photo_introduction_contents .photo_introduction_text._bottom {
    margin-top: 3.125rem;
    font-size: 1rem;
  }
}

.photo_introduction_contents .photo_introduction_text._bottom ._bottom_span {
  display: inline-block;
  position: relative;
}

.photo_introduction_contents .photo_introduction_poster {
  position: relative;
  margin-top: 1.875rem;
}

@media (min-width: 48.0625rem) {
  .photo_introduction_contents .photo_introduction_poster {
    margin-top: 3.125rem;
  }
}

.photo_introduction_contents ._poster {
  margin: 0 auto;
  background-color: #D61518;
  color: #fff;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  max-width: 18.5rem;
  padding: 0.9375rem;
  box-shadow: 0.375rem 0.375rem 0 rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 1;
}

@media (min-width: 48.0625rem) {
  .photo_introduction_contents ._poster {
    margin: 0 auto;
    max-width: 37.5rem;
    font-size: 2rem;
    padding: 1.25rem;
  }
}

.photo_introduction_contents ._poster span {
  display: block;
  font-size: 0.875rem;
  margin-bottom: 0.9375rem;
}

@media (min-width: 48.0625rem) {
  .photo_introduction_contents ._poster span {
    font-size: 1rem;
  }
}

.photo_introduction_contents .tape_pink {
  width: 4.125rem;
  position: absolute;
  top: -3.125rem;
  left: -0.625rem;
}

@media (min-width: 48.0625rem) {
  .photo_introduction_contents .tape_pink {
    width: 9.75rem;
    top: -6.25rem;
    left: 2.5rem;
  }
}

.photo_introduction_contents .tape_blue {
  width: 4.0625rem;
  position: absolute;
  bottom: -2.5rem;
  right: 0;
}

@media (min-width: 48.0625rem) {
  .photo_introduction_contents .tape_blue {
    width: 9.75rem;
    bottom: auto;
    top: -11.25rem;
  }
}

.photo_introduction_contents .circle_svg {
  width: 3.75rem;
  position: absolute;
  top: -1.25rem;
  right: -0.3125rem;
}

@media (min-width: 48.0625rem) {
  .photo_introduction_contents .circle_svg {
    width: 7rem;
    top: -1.875rem;
    right: 6.25rem;
  }
}

.photo_introduction_contents .heart_svg {
  width: 2.5rem;
  position: absolute;
  top: -0.75rem;
  left: -3.125rem;
}

@media (min-width: 48.0625rem) {
  .photo_introduction_contents .heart_svg {
    top: auto;
    bottom: 0.25rem;
    left: -4.0625rem;
  }
}

.photo_introduction_contents .good_svg {
  width: 2.5rem;
  position: absolute;
  top: -0.75rem;
  right: -3.125rem;
}

@media (min-width: 48.0625rem) {
  .photo_introduction_contents .good_svg {
    top: auto;
    bottom: 0.25rem;
    right: -4.0625rem;
  }
}

.photo_gallery .photo_introduction_contents_h3 {
  font-size: 1.25rem;
  font-weight: bold;
  letter-spacing: 0.07em;
  line-height: 1.3;
  text-align: center;
  margin-top: 2.5rem;
}

@media (min-width: 48.0625rem) {
  .photo_gallery .photo_introduction_contents_h3 {
    font-size: 2rem;
  }
}

.photo_gallery .photo_introduction_contents_h3 ._inner_span {
  position: relative;
}

.photo_gallery .photo_introduction_contents_h3 ._inner_span::before,
.photo_gallery .photo_introduction_contents_h3 ._inner_span::after {
  content: "";
  display: block;
  width: 0.125rem;
  height: 2.25rem;
  background-color: #000000;
  position: absolute;
  bottom: 0;
}

.photo_gallery .photo_introduction_contents_h3 ._inner_span::before {
  left: -1.625rem;
  transform: rotate(-40deg);
}

.photo_gallery .photo_introduction_contents_h3 ._inner_span::after {
  right: -1.625rem;
  transform: rotate(40deg);
}

.photo_gallery .photo_gallery_lead {
  font-size: 0.75rem;
  font-weight: bold;
  text-align: center;
  margin-top: 1rem;
}

@media (min-width: 48.0625rem) {
  .photo_gallery .photo_gallery_lead {
    font-size: 1rem;
    margin-top: 1.625rem;
  }
}


.photo_gallery .photo_gallery_inner {
  margin-top: 2.5rem;
}

@media (min-width: 48.0625rem) {
  .photo_gallery .photo_gallery_inner {
    margin-top: 3.125rem;
  }
}

.photo_gallery .photo_gallery_inner {
  max-width: 61.25rem;
  margin: 30px auto 0;
}

@media (min-width: 48.0625rem) {
  .photo_gallery .photo_gallery_inner {
    margin: 60px auto;
  }
}

.photo_gallery .photo_gallery_container {
  max-width: 61.25rem;
  margin: 30px auto 0;
}

@media (min-width: 48.0625rem) {
  .photo_gallery .photo_gallery_inner {
    margin: 60px auto 0;
  }
}

.photo_gallery .photo_gallery_lists {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.5rem 1fr 0.5rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  gap: 0.5rem;
}

.photo_gallery .photo_gallery_lists>*:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.photo_gallery .photo_gallery_lists>*:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}

.photo_gallery .photo_gallery_lists>*:nth-child(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 5;
}

@media (min-width: 48.0625rem) {
  .photo_gallery .photo_gallery_lists {
    -ms-grid-columns: 1fr 0.625rem 1fr 0.625rem 1fr 0.625rem 1fr 0.625rem 1fr;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.625rem;
  }
}

.photo_gallery_lists_item {
  aspect-ratio: 1 / 1;
}

.photo_gallery .photo_gallery_lists_item_card {
  position: relative;
  border-radius: 0.25rem;
  height: 100%;
  cursor: pointer;
}

.photo_gallery .hover_window {
  font-size: 0.8125rem;
  font-weight: bold;
  text-align: left;
  line-height: 1.5;
  letter-spacing: 0.07em;
  color: #fff;
  background-color: rgba(214, 21, 24, 0.8);
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0.375rem 0.625rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  display: block;
}

.photo_gallery .hover_window._mainWindow {
  height: auto;
}

.photo_gallery .hover_window._thumbnail {
  height: 40%;
}

@media (min-width: 48.0625rem) {
  .photo_gallery .photo_gallery_lists_item_card .hover_window {
    font-size: 0.9375rem;
    padding: 0.75rem 0.625rem;
  }
}


.photo_gallery .splide__slide-re.is-active:hover .hover_window,
.photo_gallery .photo_gallery_lists_item_card:hover .hover_window {
  opacity: 1;
  visibility: visible;
}


.photo_gallery .photo_gallery_lists_item_card_inner,
.photo_gallery .photo_gallery_lists_item_card_inner .main_carousel_link {
  height: 100%;
}

.photo_gallery .photo_gallery_lists_item_card_inner img {
  height: 100% !important;
  object-fit: cover;
}

.photo_gallery .important_point {
  font-size: 0.625rem;
  font-weight: 400;
  margin: 5rem auto 0;
  padding: 1.0625rem 0;
  border-top: solid 0.0625rem #212528;
  border-bottom: solid 0.0625rem #212528;
  max-width: 61.25rem;
  line-height: 1.6;
  letter-spacing: 0.07em;
}

@media (min-width: 48.0625rem) {
  .photo_gallery .important_point {
    font-size: 0.75rem;
    margin: 6.25rem auto 0;
    padding: 1.3125rem 0;
    border-top: solid 0.125rem #212528;
    border-bottom: solid 0.125rem #212528;
  }
}

.photo_gallery .important_point_dt,
.photo_gallery .important_point_dd {
  position: relative;
  padding-left: 0.875rem;
}

@media (min-width: 48.0625rem) {

  .photo_gallery .important_point_dt,
  .photo_gallery .important_point_dd {
    padding-left: 1rem;
  }
}

.photo_gallery .important_point_dt::before,
.photo_gallery .important_point_dd::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.photo_gallery .important_point_dt::before {
  content: "■";
}

.photo_gallery .important_point_dd::before {
  content: "※";
}

.photoGallery .iframe-wrapper {
  position: relative;
  padding-bottom: 56.25% !important;
  height: 0;
  overflow: hidden;
}

.photoGallery .iframe-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


.photoGallery .splide__slide-re {
  position: relative;
  aspect-ratio: 650 / 650;
  padding: 5px;
}


.photoGallery .splide__slide-re .splide__slide__wrap {
  background-color: #fff;
  padding: 16px;
  box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.1);
  height: 100%;
}

.photoGallery .splide__slide-re .splide__slide__wrap .splide__slide__wrap__inner {
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

@media (min-width: 48.0625rem) {

  .photoGallery .splide__slide-re .splide__slide__wrap {
    background-color: #fff;
    padding: 30px;
  }
}

.photoGallery .splide__slide.splide__slide-re img {
  width: auto;
  height: auto;
  object-fit: cover;
}

/* サムネイルの幅を調整 */
.photoGallery .splide__track--nav>.splide__list>.splide__slide {
  width: 100% !important;
}

.photoGallery .splide__track--nav>.splide__list>.splide__slide.is-active {
  width: 100% !important;
}

/* 選択されていないサムネイルは薄くする */
.photoGallery .splide__slide {
  opacity: .6;
}

/* 選択されているサムネイルだけ透過しない */
.photoGallery .splide__slide.is-active {
  opacity: 1;
}

/* 画像サイズ調整 */
.photoGallery #main-carousel-list {
  align-items: flex-start !important;
}

.photoGallery .splide__slide img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.photoGallery .splide__slide[data-slidePnel="false"] {
  display: none;
}

.photoGallery .splide__slide[data-slidePnel="true"] {
  display: block;
}

.photoGallery .main_carousel .splide__slide,
.photoGallery .main_carousel .splide__slide .splide__slide__wrap,
.photoGallery .main_carousel .splide__slide img {
  transition: transform 1s ease;
}

@media (min-width: 48.0625rem) {

  .photoGallery .main_carousel .splide__slide.is-prev .splide__slide__wrap,
  .photoGallery .main_carousel .splide__slide.is-next .splide__slide__wrap{
    opacity: .3;
    transform: scale(.9);
  }
}

/* Overwrite */
.photoGallery .splide__track--nav>.splide__list>.splide__slide.is-active {
  border: solid 3px #d83e4f !important;
}

.photoGallery .splide__arrow {
  background-color: #d83e4f !important;
}

.photoGallery .splide__arrow svg {
  fill: #fff !important;
}







/* stylelint-enable */

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vcGhvdG9nYWxsZXJ5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY29tbW9uL3Njc3MvQGZvdW5kYXRpb24vX2Z1bmN0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL2NvbW1vbi9zY3NzL0Bmb3VuZGF0aW9uL2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY29tbW9uL3Njc3MvQGZvdW5kYXRpb24vZm9udC13ZWlnaHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9jb21tb24vc2Nzcy9AZm91bmRhdGlvbi9jb2xvcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9jb21tb24vc2Nzcy9AZm91bmRhdGlvbi96LWluZGV4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY29tbW9uL3Njc3MvQGZvdW5kYXRpb24vYXNwZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY29tbW9uL3Njc3MvQGZvdW5kYXRpb24vX2ZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY29tbW9uL3Njc3MvQGZvdW5kYXRpb24vX2Jsb2ctcGFnZW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3BhZ2VzL3Bob3RvZ2FsbGVyeS9waG90b2dhbGxlcnkuc2NzcyIsIndlYnBhY2s6Ly8vPG5vIHNvdXJjZT4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCOztBQ0FoQjs7OztFQUFBOztBQVNBOzs7OztFQUFBOztBQStCQTs7Ozs7RUFBQTs7QUFnQ0E7Ozs7O0VBQUE7O0FBK0JBOzs7OztFQUFBOztBQWdCQTs7Ozs7RUFBQTs7QUN2R0E7Ozs7O0VBQUE7O0FDUEE7Ozs7RUFBQTs7QUNxREE7Ozs7O0VBQUE7O0FDakRBOzs7O0VBQUE7O0FDYkE7Ozs7OztFQUFBOztBQ1lBOzs7O0VBQUE7O0FDWkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVJ1RUY7O0FRcEVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUnVFRjs7QVFwRUE7RUFDRTtBUnVFRjs7QVFwRUE7RUFDRTtFQUNB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QTtFQUNBO0VBQ0E7QVQrR047O0FTNUdJO0VBQ0U7QVQ4R047O0FTM0dJO0VBQ0U7QVQ2R047O0FTdkdFO0VBQ0U7RUFDQTtBVHlHSjs7QVN0R0U7RUFDRTtFQUNBO0VBQ0E7QVR3R0o7O0FTdEdJO0VBTEY7SUFNSTtFVHlHSjtBQUNGOztBU3RHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVR3R0o7O0FTdEdJO0VBVkY7SUFXSTtJQUNBO0VUeUdKO0FBQ0Y7O0FTckdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVR1R0o7O0FTcEdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVHNHSjs7QVNuR0U7RUFDRTtBVHFHSjs7QVNqR0U7RUFDRTtFQUNBO0VBQ0E7QVRtR0o7O0FTaEdFO0VBQ0U7RUFDQTtFQUNBO0FUa0dKOztBU3pGQSxzQiIsImZpbGUiOiJkYWloYXRzdS9hc3NldHMvY3NzL3Bob3RvZ2FsbGVyeS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIOWApOOBjDLjgaTku6XkuIrjga7phY3liJfjgYvjganjgYbjgYvliKTlrprjgZnjgovplqLmlbBcbiAqIEBwYXJhbSAge2FycmF5fSAkX2xpc3Qg6YWN5YiX44GL5Yik5a6a44GX44Gf44GE5YCkXG4gKiBAcmV0dXJuIHtib29sZX0gICAgICAgIOWApOOBjDLjgaTku6XkuIrjga7phY3liJfjgarjgol0cnVlXG4gKi9cbi8qKlxuICog5pWw5YCk44KScmVt44Gr5aSJ5o+b44GZ44KL6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICR0YXJnZXQgICAgICAgIHJlbeOBq+OBl+OBn+OBhOaVsOWApFxuICogQHBhcmFtICB7TnVtYmVyfSAkdGhyZXNob2xkIFsxXSDjgZfjgY3jgYTlgKRcbiAqIEByZXR1cm4ge051bWJlcn0gICAgICAgICAgICAgICAg5pWw5YCk44GrcmVt44GM5LuY44GE44Gf5pWw5YCk44KS6L+U44GX44G+44GZXG4gKi9cbi8qKlxuICog5pWw5YCk44KSZW3jgavlpInmj5vjgZnjgovplqLmlbDjgafjgZlcbiAqIEBwYXJhbSAge051bWJlcn0gJHRhcmdldCAgICAgICAgICAgZW3jgavjgZfjgZ/jgYTmlbDlgKRcbiAqIEBwYXJhbSAge051bWJlcn0gJHBhcmVudFZhbHVlIFsxNl0g44GX44GN44GE5YCkXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgICAgICAgICAgIOaVsOWApOOBq3JlbeOBjOS7mOOBhOOBn+aVsOWApOOCkui/lOOBl+OBvuOBmVxuICovXG4vKipcbiAqIOaVsOWApOOCknB444Gr5aSJ5o+b44GZ44KL6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICRhcmdldCAgICAgICAgICBweOOBq+OBl+OBn+OBhOaVsOWApFxuICogQHBhcmFtICB7TnVtYmVyfSAkdGhyZXNob2xkIFsxXSAg44GX44GN44GE5YCkXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgICAgICAgICDmlbDlgKTjgatweOOBjOS7mOOBhOOBn+aVsOWApOOCkui/lOOBl+OBvuOBmVxuICovXG4vKipcbiAqIGxpbmUtaGVpZ2h044GMMeOBruaZguOBqOWQjOOBmOOBq+OBquOCi+OCiOOBhuOBq2xpbmUtaGVpZ2h05YiG44Gu5beu5YiG44KS6L+U44GZ6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICRsaW5lSGVpZ2h0IGxpbmVIZWlnaHTjga7lgKRcbiAqIEBwYXJhbSAge051bWJlcn0gJGZvbnRTaXplICAgZm9udOOBruWApFxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgICAgICDlt67liIbjga7mlbDlgKRcbiAqL1xuLyoqXG4gKiDmt7HjgYTpmo7lsaTjga5tYXDjga7lgKTjgpLlj5blvpfjgZfjgabov5TjgZnplqLmlbDjgafjgZnjgIJcbiAqIEBwYXJhbSAge21hcH0gJG1hcCAgIG1hcOacrOS9k1xuICogQHBhcmFtICB7bWFwfSAka2V5cyAgbWFw44Gua2V5XG4gKiBAcmV0dXJuIHttYXB9ICAgICAgICDmjIflrprjgZfjgZ9tYXDjga5rZXlcbiAqL1xuLyoqXG4gKiAkYnJlYWtwb2ludHPjga7kuK3jga7mlbDlgKTjgpJAbWVkaWHjgavlhaXjgozjgaZlbeOBq+OBl+OBpui/lOOBmW1peGluXG4gKiBAcGFyYW0gIHthcnJheX0gICRicmVha3BvaW50IFtzbV0gICRicmVha3BvaW50c+OBrmtleeOBrmFycmF5XG4gKiBAcGFyYW0gIHtzdHJpbmd9ICRrZXkgICAgICAgIFttaW5dIG1pbiBvciBtYXhcbiAqIEByZXR1cm4ge3ZvaWR9ICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICgka2V5LXdpZHRoKSB7fVxuICovXG4vKipcbiAqIGZvbnQtd2VpZ2h044Gu5pWw5YCk44KS6L+U44GZ6Zai5pWwXG4gKiBAcGFyYW0gIHtTdHJpbmd9ICR3ZWlnaHQgd2VpZ2h044Gu44Kt44O844Ov44O844OJ5YCkXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgd2VpZ2h044GubnVtYmVyXG4gKi9cbi8qKlxuICog6Imy44KSbWFw44GL44KJ5Y+W5b6X44GZ44KL6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHthcnJheX0gICRrZXlzICAgICAg6YWN5YiXXG4gKiBAcGFyYW0gIHtudW1iZXJ9ICRfb3BhY2l0eSAgMC4wIH4gMVxuICogQHJldHVybiB7bWFwfSAgICAgICAgICAgICAgICRjb2xvcnPjga7ku7vmhI/jga5rZXlcbiAqL1xuLyoqXG4gKiB6LWluZGV444KSbWFw44GL44KJ5Y+W5b6X44GZ44KL6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHthcnJheX0gJGtleXMgIOmFjeWIl1xuICogQHJldHVybiB7bWFwfSAgICR6LWluZGV444Gu5Lu75oSP44Gua2V5XG4gKi9cbi8qKlxuICog5pOs5Ly86KaB57Sg44Gn44Ki44K544Oa44Kv44OI5q+U44Gu6aCY5Z+f44KS56K65L+d44GZ44KLbWl4aW5cbiAqIEBwYXJhbSAgeyRfd2lkdGh9ICAgICAgICAgICAgICAgICAgIOaoquOBruWApFxuICogQHBhcmFtICB7JF9oZWlnaHR9ICAgICAgICAgICAgICAgICAg57im44Gu5YCkXG4gKiBAcGFyYW0gIHskX3BzZXVkb19lbGVtZW50fSBbYmVmb3JlXSDmtojosrvjgZnjgovnlpHkvLzopoHntKAgYmVmb3JlIG9yIGFmdGVyXG4gKiBAcmV0dXJuIHt2b2lkfVxuICovXG4vKipcbiAqIGZvbnTjgpJtYXDjgYvjgonlj5blvpfjgZnjgovplqLmlbDjgafjgZlcbiAqIEBwYXJhbSAge2FycmF5fSAka2V5cyAg6YWN5YiXXG4gKiBAcmV0dXJuIHttYXB9ICAgJGZvbnRz44Gu5Lu75oSP44Gua2V5XG4gKi9cbi5ibG9nLXBhZ2VuYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiAzMjBweDtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fcHJldiA+IGEsIC5ibG9nLXBhZ2VuYXRpb25fX25leHQgPiBhIHtcbiAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICMyMzE4MTU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHM7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX3ByZXYgPiBhOmhvdmVyLCAuYmxvZy1wYWdlbmF0aW9uX19uZXh0ID4gYTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fbnVtYmVycyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIDE4cHg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fbnVtYmVycyA+IGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMzNweDtcbiAgaGVpZ2h0OiAzM3B4O1xuICBtYXJnaW46IDAgM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX251bWJlcnMgPiBsaSA+IGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzU3NTc1NztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC40cywgY29sb3IgMC40cztcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fbnVtYmVycyA+IGxpID4gYTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMyNjNmO1xufVxuXG4uYmxvZy1wYWdlbmF0aW9uX19udW1iZXJzID4gbGkuaXMtY3VycmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzI2M2Y7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX251bWJlcnMgPiBsaS5pcy1jdXJyZW50ID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHM7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX251bWJlcnMgPiBsaS5pcy1jdXJyZW50ID4gYTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fdG9pbmRleCB7XG4gIHdpZHRoOiAxMzNweDtcbiAgaGVpZ2h0OiAzM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMyNjNmO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX3RvaW5kZXggPiBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiAycHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cztcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fdG9pbmRleCA+IGE6aG92ZXIge1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4ucGhvdG9HYWxsZXJ5IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWcvcGhvdG9HYWxsZXJ5L2JnX3NwLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbkBzY3JlZW4gc20ge1xuICAucGhvdG9HYWxsZXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL2ltZy9waG90b0dhbGxlcnkvYmcucG5nXCIpO1xuICB9XG59XG5Ac2NyZWVuIHNtIHtcbiAgLnBob3RvR2FsbGVyeSAuc3Bfb25seSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnBob3RvR2FsbGVyeSAucGNfb25seSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5Ac2NyZWVuIHNtIHtcbiAgLnBob3RvR2FsbGVyeSAucGNfb25seSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5waG90b0dhbGxlcnkgLnRleHQtcmVkIHtcbiAgY29sb3I6ICNENjE1MTg7XG59XG4ucGhvdG9HYWxsZXJ5IGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnBob3RvR2FsbGVyeV9tYWluIHtcbiAgcGFkZGluZzogMCAxLjI1cmVtIDcuODc1cmVtO1xufVxuQHNjcmVlbiBzbSB7XG4gIC5waG90b0dhbGxlcnlfbWFpbiB7XG4gICAgcGFkZGluZzogMCAxLjI1cmVtIDEwLjgxMjVyZW07XG4gIH1cbn1cblxuLnBob3RvX2ludHJvZHVjdGlvbiB7XG4gIG1heC13aWR0aDogNjEuMjVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAyLjVyZW0gMCAwO1xufVxuLnBob3RvX2ludHJvZHVjdGlvbiAucmFpbmJvdyB7XG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKDUwJSAtIDUwdncpO1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgLSA1MHZ3KTtcbn1cbkBzY3JlZW4gc20ge1xuICAucGhvdG9faW50cm9kdWN0aW9uIC5yYWluYm93IHtcbiAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTtcbiAgfVxufVxuXG4ucGhvdG9faW50cm9kdWN0aW9uX2lubmVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWcvcGhvdG9HYWxsZXJ5L2xlZF9saW5lX3NwLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG59XG5Ac2NyZWVuIHNtIHtcbiAgLnBob3RvX2ludHJvZHVjdGlvbl9pbm5lciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWcvcGhvdG9HYWxsZXJ5L2xlZF9saW5lLnBuZ1wiKTtcbiAgfVxufVxuLnBob3RvX2ludHJvZHVjdGlvbl9pbm5lciAucGhvdG9faSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMi4xODc1cmVtO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMy43NXJlbTtcbn1cbkBzY3JlZW4gc20ge1xuICAucGhvdG9faW50cm9kdWN0aW9uX2lubmVyIC5waG90b19pIHtcbiAgICB3aWR0aDogNi42ODc1cmVtO1xuICAgIHRvcDogNC4zNzVyZW07XG4gICAgbGVmdDogMi41cmVtO1xuICB9XG59XG4ucGhvdG9faW50cm9kdWN0aW9uX2lubmVyIC5waG90b19pMDIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEuMjVyZW07XG4gIHJpZ2h0OiAtMS4yNXJlbTtcbiAgd2lkdGg6IDcuNXJlbTtcbn1cbkBzY3JlZW4gc20ge1xuICAucGhvdG9faW50cm9kdWN0aW9uX2lubmVyIC5waG90b19pMDIge1xuICAgIHdpZHRoOiAxNS4zMTI1cmVtO1xuICAgIHJpZ2h0OiAtNi44NzVyZW07XG4gIH1cbn1cblxuLnBob3RvX2ludHJvZHVjdGlvbl9jb250ZW50cyB7XG4gIHBhZGRpbmc6IDIuNXJlbSAwIDA7XG59XG5Ac2NyZWVuIHNtIHtcbiAgLnBob3RvX2ludHJvZHVjdGlvbl9jb250ZW50cyB7XG4gICAgcGFkZGluZzogMy4xMjVyZW0gMCAwO1xuICB9XG59XG4ucGhvdG9faW50cm9kdWN0aW9uX2NvbnRlbnRzIC5waG90b19pbnRyb2R1Y3Rpb25fY29udGVudHNfaDIge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA3ZW07XG59XG5Ac2NyZWVuIHNtIHtcbiAgLnBob3RvX2ludHJvZHVjdGlvbl9jb250ZW50cyAucGhvdG9faW50cm9kdWN0aW9uX2NvbnRlbnRzX2gyIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbn1cbi5waG90b19pbnRyb2R1Y3Rpb25fY29udGVudHMgLnBob3RvX2ludHJvZHVjdGlvbl9jb250ZW50c19oMyB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA3ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xufVxuQHNjcmVlbiBzbSB7XG4gIC5waG90b19pbnRyb2R1Y3Rpb25fY29udGVudHMgLnBob3RvX2ludHJvZHVjdGlvbl9jb250ZW50c19oMyB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgfVxufVxuLnBob3RvX2ludHJvZHVjdGlvbl9jb250ZW50cyAucGhvdG9faW50cm9kdWN0aW9uX2NvbnRlbnRzX2gzIC5faW5uZXJfc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQgNTAlLCAjRkZGRjAwIDUwJSk7XG59XG4ucGhvdG9faW50cm9kdWN0aW9uX2NvbnRlbnRzIC5waG90b19pbnRyb2R1Y3Rpb25fY29udGVudHNfaDMgLl9pbm5lcl9zcGFuOjpiZWZvcmUsXG4ucGhvdG9faW50cm9kdWN0aW9uX2NvbnRlbnRzIC5waG90b19pbnRyb2R1Y3Rpb25fY29udGVudHNfaDMgLl9pbm5lcl9zcGFuOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMC4xMjVyZW07XG4gIGhlaWdodDogMS44NzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMC4yNXJlbTtcbn1cbi5waG90b19pbnRyb2R1Y3Rpb25fY29udGVudHMgLnBob3RvX2ludHJvZHVjdGlvbl9jb250ZW50c19oMyAuX2lubmVyX3NwYW46OmJlZm9yZSB7XG4gIGxlZnQ6IC0xcmVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzhkZWcpO1xufVxuLnBob3RvX2ludHJvZHVjdGlvbl9jb250ZW50cyAucGhvdG9faW50cm9kdWN0aW9uX2NvbnRlbnRzX2gzIC5faW5uZXJfc3Bhbjo6YWZ0ZXIge1xuICByaWdodDogLTFyZW07XG4gIHRyYW5zZm9ybTogcm90YXRlKDM4ZGVnKTtcbn1cbi5waG90b19pbnRyb2R1Y3Rpb25fY29udGVudHMgLnBob3RvX2ludHJvZHVjdGlvbl90ZXh0IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA3ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBzY3JlZW4gc20ge1xuICAucGhvdG9faW50cm9kdWN0aW9uX2NvbnRlbnRzIC5waG90b19pbnRyb2R1Y3Rpb25fdGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG59XG4ucGhvdG9faW50cm9kdWN0aW9uX2NvbnRlbnRzIC5waG90b19pbnRyb2R1Y3Rpb25fdGV4dC5fbGVhZCB7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG59XG5Ac2NyZWVuIHNtIHtcbiAgLnBob3RvX2ludHJvZHVjdGlvbl9jb250ZW50cyAucGhvdG9faW50cm9kdWN0aW9uX3RleHQuX2xlYWQge1xuICAgIG1hcmdpbi10b3A6IDEuNjI1cmVtO1xuICB9XG59XG4ucGhvdG9faW50cm9kdWN0aW9uX2NvbnRlbnRzIC5waG90b19pbnRyb2R1Y3Rpb25fdGV4dC5fYm90dG9tIHtcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xufVxuQHNjcmVlbiBzbSB7XG4gIC5waG90b19pbnRyb2R1Y3Rpb25fY29udGVudHMgLnBob3RvX2ludHJvZHVjdGlvbl90ZXh0Ll9ib3R0b20ge1xuICAgIG1hcmdpbi10b3A6IDMuMTI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuLnBob3RvX2ludHJvZHVjdGlvbl9jb250ZW50cyAucGhvdG9faW50cm9kdWN0aW9uX3RleHQuX2JvdHRvbSAuX2JvdHRvbV9zcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucGhvdG9faW50cm9kdWN0aW9uX2NvbnRlbnRzIC5waG90b19pbnRyb2R1Y3Rpb25fcG9zdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbn1cbkBzY3JlZW4gc20ge1xuICAucGhvdG9faW50cm9kdWN0aW9uX2NvbnRlbnRzIC5waG90b19pbnRyb2R1Y3Rpb25fcG9zdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTtcbiAgfVxufVxuLnBob3RvX2ludHJvZHVjdGlvbl9jb250ZW50cyAuX3Bvc3RlciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDYxNTE4O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXgtd2lkdGg6IDE4LjVyZW07XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgYm94LXNoYWRvdzogMC4zNzVyZW0gMC4zNzVyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cbkBzY3JlZW4gc20ge1xuICAucGhvdG9faW50cm9kdWN0aW9uX2NvbnRlbnRzIC5fcG9zdGVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDM3LjVyZW07XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gIH1cbn1cbi5waG90b19pbnRyb2R1Y3Rpb25fY29udGVudHMgLl9wb3N0ZXIgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG59XG5Ac2NyZWVuIHNtIHtcbiAgLnBob3RvX2ludHJvZHVjdGlvbl9jb250ZW50cyAuX3Bvc3RlciBzcGFuIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbn1cbi5waG90b19pbnRyb2R1Y3Rpb25fY29udGVudHMgLnRhcGVfcGluayB7XG4gIHdpZHRoOiA0LjEyNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0zLjEyNXJlbTtcbiAgbGVmdDogLTAuNjI1cmVtO1xufVxuQHNjcmVlbiBzbSB7XG4gIC5waG90b19pbnRyb2R1Y3Rpb25fY29udGVudHMgLnRhcGVfcGluayB7XG4gICAgd2lkdGg6IDkuNzVyZW07XG4gICAgdG9wOiAtNi4yNXJlbTtcbiAgICBsZWZ0OiAyLjVyZW07XG4gIH1cbn1cbi5waG90b19pbnRyb2R1Y3Rpb25fY29udGVudHMgLnRhcGVfYmx1ZSB7XG4gIHdpZHRoOiA0LjA2MjVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMi41cmVtO1xuICByaWdodDogMDtcbn1cbkBzY3JlZW4gc20ge1xuICAucGhvdG9faW50cm9kdWN0aW9uX2NvbnRlbnRzIC50YXBlX2JsdWUge1xuICAgIHdpZHRoOiA5Ljc1cmVtO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IC0xMS4yNXJlbTtcbiAgfVxufVxuLnBob3RvX2ludHJvZHVjdGlvbl9jb250ZW50cyAuY2lyY2xlX3N2ZyB7XG4gIHdpZHRoOiAzLjc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEuMjVyZW07XG4gIHJpZ2h0OiAtMC4zMTI1cmVtO1xufVxuQHNjcmVlbiBzbSB7XG4gIC5waG90b19pbnRyb2R1Y3Rpb25fY29udGVudHMgLmNpcmNsZV9zdmcge1xuICAgIHdpZHRoOiA3cmVtO1xuICAgIHRvcDogLTEuODc1cmVtO1xuICAgIHJpZ2h0OiA2LjI1cmVtO1xuICB9XG59XG4ucGhvdG9faW50cm9kdWN0aW9uX2NvbnRlbnRzIC5oZWFydF9zdmcge1xuICB3aWR0aDogMi41cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTAuNzVyZW07XG4gIGxlZnQ6IC0zLjEyNXJlbTtcbn1cbkBzY3JlZW4gc20ge1xuICAucGhvdG9faW50cm9kdWN0aW9uX2NvbnRlbnRzIC5oZWFydF9zdmcge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDAuMjVyZW07XG4gICAgbGVmdDogLTQuMDYyNXJlbTtcbiAgfVxufVxuLnBob3RvX2ludHJvZHVjdGlvbl9jb250ZW50cyAuZ29vZF9zdmcge1xuICB3aWR0aDogMi41cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTAuNzVyZW07XG4gIHJpZ2h0OiAtMy4xMjVyZW07XG59XG5Ac2NyZWVuIHNtIHtcbiAgLnBob3RvX2ludHJvZHVjdGlvbl9jb250ZW50cyAuZ29vZF9zdmcge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDAuMjVyZW07XG4gICAgcmlnaHQ6IC00LjA2MjVyZW07XG4gIH1cbn1cblxuLnBob3RvX2dhbGxlcnkgLnBob3RvX2ludHJvZHVjdGlvbl9jb250ZW50c19oMyB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA3ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xufVxuQHNjcmVlbiBzbSB7XG4gIC5waG90b19nYWxsZXJ5IC5waG90b19pbnRyb2R1Y3Rpb25fY29udGVudHNfaDMge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxufVxuLnBob3RvX2dhbGxlcnkgLnBob3RvX2ludHJvZHVjdGlvbl9jb250ZW50c19oMyAuX2lubmVyX3NwYW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucGhvdG9fZ2FsbGVyeSAucGhvdG9faW50cm9kdWN0aW9uX2NvbnRlbnRzX2gzIC5faW5uZXJfc3Bhbjo6YmVmb3JlLFxuLnBob3RvX2dhbGxlcnkgLnBob3RvX2ludHJvZHVjdGlvbl9jb250ZW50c19oMyAuX2lubmVyX3NwYW46OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwLjEyNXJlbTtcbiAgaGVpZ2h0OiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbn1cbi5waG90b19nYWxsZXJ5IC5waG90b19pbnRyb2R1Y3Rpb25fY29udGVudHNfaDMgLl9pbm5lcl9zcGFuOjpiZWZvcmUge1xuICBsZWZ0OiAtMS42MjVyZW07XG4gIHRyYW5zZm9ybTogcm90YXRlKC00MGRlZyk7XG59XG4ucGhvdG9fZ2FsbGVyeSAucGhvdG9faW50cm9kdWN0aW9uX2NvbnRlbnRzX2gzIC5faW5uZXJfc3Bhbjo6YWZ0ZXIge1xuICByaWdodDogLTEuNjI1cmVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0MGRlZyk7XG59XG4ucGhvdG9fZ2FsbGVyeSAucGhvdG9fZ2FsbGVyeV9sZWFkIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuQHNjcmVlbiBzbSB7XG4gIC5waG90b19nYWxsZXJ5IC5waG90b19nYWxsZXJ5X2xlYWQge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAxLjYyNXJlbTtcbiAgfVxufVxuLnBob3RvX2dhbGxlcnkgLnZpZXdfbW9yZUJ0biB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Q4M0U0RjtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNi43NXJlbTtcbiAgaGVpZ2h0OiAyLjYyNXJlbTtcbiAgbWFyZ2luOiAzLjc1cmVtIGF1dG8gMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlO1xufVxuQHNjcmVlbiBzbSB7XG4gIC5waG90b19nYWxsZXJ5IC52aWV3X21vcmVCdG4ge1xuICAgIG1hcmdpbjogNXJlbSBhdXRvIDA7XG4gIH1cbn1cbi5waG90b19nYWxsZXJ5IC52aWV3X21vcmVCdG4gc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnBob3RvX2dhbGxlcnkgLnZpZXdfbW9yZUJ0biAudmlld19tb3JlQnRuX3RleHQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMC43NXJlbTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0NyU7XG4gIGxlZnQ6IC0xLjYyNXJlbTtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCA1MCUgMTAwJSk7XG59XG4ucGhvdG9fZ2FsbGVyeSAudmlld19tb3JlQnRuOmhvdmVyIHtcbiAgb3BhY2l0eTogMC43O1xufVxuLnBob3RvX2dhbGxlcnkgLnBob3RvX2dhbGxlcnlfaW5uZXIge1xuICBtYXJnaW4tdG9wOiAyLjVyZW07XG59XG5Ac2NyZWVuIHNtIHtcbiAgLnBob3RvX2dhbGxlcnkgLnBob3RvX2dhbGxlcnlfaW5uZXIge1xuICAgIG1hcmdpbi10b3A6IDMuMTI1cmVtO1xuICB9XG59XG4ucGhvdG9fZ2FsbGVyeSAucGhvdG9fZ2FsbGVyeV9jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDYxLjI1cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5waG90b19nYWxsZXJ5IC5waG90b19nYWxsZXJ5X2xpc3RzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gIGdhcDogMC41cmVtO1xufVxuQHNjcmVlbiBzbSB7XG4gIC5waG90b19nYWxsZXJ5IC5waG90b19nYWxsZXJ5X2xpc3RzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuICAgIGdhcDogMC42MjVyZW07XG4gIH1cbn1cbi5waG90b19nYWxsZXJ5IC5waG90b19nYWxsZXJ5X2xpc3RzX2l0ZW1fY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucGhvdG9fZ2FsbGVyeSAucGhvdG9fZ2FsbGVyeV9saXN0c19pdGVtX2NhcmQgLm1vZGFsLW9wZW4taW1nIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5waG90b19nYWxsZXJ5IC5waG90b19nYWxsZXJ5X2xpc3RzX2l0ZW1fY2FyZCAuaG92ZXJfd2luZG93IHtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBsZXR0ZXItc3BhY2luZzogMC4wN2VtO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTQsIDIxLCAyNCwgMC44KTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC42MjVyZW07XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIHZpc2liaWxpdHkgMC41cyBlYXNlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBzY3JlZW4gc20ge1xuICAucGhvdG9fZ2FsbGVyeSAucGhvdG9fZ2FsbGVyeV9saXN0c19pdGVtX2NhcmQgLmhvdmVyX3dpbmRvdyB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgcGFkZGluZzogMC43NXJlbSAwLjYyNXJlbTtcbiAgfVxufVxuQHNjcmVlbiBzbSB7XG4gIC5waG90b19nYWxsZXJ5IC5waG90b19nYWxsZXJ5X2xpc3RzX2l0ZW1fY2FyZDpob3ZlciAuaG92ZXJfd2luZG93IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cbi5waG90b19nYWxsZXJ5IC5waG90b19nYWxsZXJ5X2xpc3RzX2l0ZW1fY2FyZF9pbm5lciB7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5waG90b19nYWxsZXJ5IC5pbXBvcnRhbnRfcG9pbnQge1xuICBmb250LXNpemU6IDAuNjI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW46IDVyZW0gYXV0byAwO1xuICBwYWRkaW5nOiAxLjA2MjVyZW0gMDtcbiAgYm9yZGVyLXRvcDogc29saWQgMC4wNjI1cmVtICMyMTI1Mjg7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDAuMDYyNXJlbSAjMjEyNTI4O1xuICBtYXgtd2lkdGg6IDYxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBsZXR0ZXItc3BhY2luZzogMC4wN2VtO1xufVxuQHNjcmVlbiBzbSB7XG4gIC5waG90b19nYWxsZXJ5IC5pbXBvcnRhbnRfcG9pbnQge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBtYXJnaW46IDYuMjVyZW0gYXV0byAwO1xuICAgIHBhZGRpbmc6IDEuMzEyNXJlbSAwO1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDAuMTI1cmVtICMyMTI1Mjg7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMC4xMjVyZW0gIzIxMjUyODtcbiAgfVxufVxuLnBob3RvX2dhbGxlcnkgLmltcG9ydGFudF9wb2ludF9kdCxcbi5waG90b19nYWxsZXJ5IC5pbXBvcnRhbnRfcG9pbnRfZGQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMC44NzVyZW07XG59XG5Ac2NyZWVuIHNtIHtcbiAgLnBob3RvX2dhbGxlcnkgLmltcG9ydGFudF9wb2ludF9kdCxcbi5waG90b19nYWxsZXJ5IC5pbXBvcnRhbnRfcG9pbnRfZGQge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgfVxufVxuLnBob3RvX2dhbGxlcnkgLmltcG9ydGFudF9wb2ludF9kdDo6YmVmb3JlLFxuLnBob3RvX2dhbGxlcnkgLmltcG9ydGFudF9wb2ludF9kZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuLnBob3RvX2dhbGxlcnkgLmltcG9ydGFudF9wb2ludF9kdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCLilqBcIjtcbn1cbi5waG90b19nYWxsZXJ5IC5pbXBvcnRhbnRfcG9pbnRfZGQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oC7XCI7XG59XG4ucGhvdG9fZ2FsbGVyeSAuanNfdmlld19tb3JlQnRuW2RhdGEtbW9yZT10cnVlXSAudmlld19tb3JlQnRuX3RleHQ6OmJlZm9yZSB7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwIDEwMCUsIDUwJSAwLCAxMDAlIDEwMCUpO1xufVxuXG4ucGhvdG9HYWxsZXJ5IHtcbiAgLyog44Oi44O844OA44Or44KS6KSH5pWw6Kit572u44GZ44KL44Gf44KB44Gud3JhcHBlcuOCr+ODqeOCuSAqL1xuICAvKiDjg6Ljg7zjg4Djg6vjgpLplovjgY/jg5zjgr/jg7MgKi9cbiAgLyog44Oi44O844OA44Or44Go6IOM5pmv44Gu5oyH5a6aICovXG4gIC8qIOOCr+ODqeOCueOBjOi/veWKoOOBleOCjOOBn+aZguOBruaMh+WumiAqL1xuICAvKiDjg6Ljg7zjg4Djg6vlhoXlgbTjga7mjIflrpogKi9cbiAgLyog44Oi44O844OA44Or44KS6ZaJ44GY44KL44Oc44K/44Oz44Gu5oyH5a6aICovXG4gIC8qIOODouODvOODgOODq+OBruOCs+ODs+ODhuODs+ODhOmDqOWIhuOBruaMh+WumiAqL1xuICAvKiDjg6Ljg7zjg4Djg6vlhoXjga7li5XnlLsgKi9cbn1cbi5waG90b0dhbGxlcnkgLm1vZGFsIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnBob3RvR2FsbGVyeSAubW9kYWxUYXJnZXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucGhvdG9HYWxsZXJ5IC5tb2RhbC1vcGVuIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ucGhvdG9HYWxsZXJ5IC5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDk5OTk5O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xuICBvdmVyZmxvdzogYXV0bztcbiAgdHJhbnNpdGlvbjogMC4zcztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ucGhvdG9HYWxsZXJ5IC5tb2RhbC5pcy1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLnBob3RvR2FsbGVyeSAubW9kYWwtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0MS4zNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLnBob3RvR2FsbGVyeSAubW9kYWwtY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTEuODc1cmVtO1xuICByaWdodDogMC42MjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICNmZmY7XG4gIHdpZHRoOiAxLjI1cmVtO1xuICBoZWlnaHQ6IDEuMjVyZW07XG59XG5Ac2NyZWVuIHNtIHtcbiAgLnBob3RvR2FsbGVyeSAubW9kYWwtY2xvc2Uge1xuICAgIHdpZHRoOiAxLjg3NXJlbTtcbiAgICBoZWlnaHQ6IDEuODc1cmVtO1xuICAgIGJvdHRvbTogLTIuNXJlbTtcbiAgfVxufVxuLnBob3RvR2FsbGVyeSAubW9kYWwtY2xvc2UtYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnBob3RvR2FsbGVyeSAubW9kYWwtY2xvc2UtYm94IC5fbGluZV8wMSxcbi5waG90b0dhbGxlcnkgLm1vZGFsLWNsb3NlLWJveCAuX2xpbmVfMDIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC4xMjVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuLnBob3RvR2FsbGVyeSAubW9kYWwtY2xvc2UtYm94IC5fbGluZV8wMSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cbi5waG90b0dhbGxlcnkgLm1vZGFsLWNsb3NlLWJveCAuX2xpbmVfMDIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuLnBob3RvR2FsbGVyeSAubW9kYWwtY29udGVudCB7XG4gIGZsZXg6IDE7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnBob3RvR2FsbGVyeSAubW9kYWwtY29udGVudC1tdiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiBzb2xpZCAwLjE4NzVyZW0gI2ZmZjtcbiAgY3Vyc29yOiBhdXRvO1xufVxuQHNjcmVlbiBzbSB7XG4gIC5waG90b0dhbGxlcnkgLm1vZGFsLWNvbnRlbnQtbXYge1xuICAgIGJvcmRlcjogc29saWQgMC4zNzVyZW0gI2ZmZjtcbiAgfVxufVxuLnBob3RvR2FsbGVyeSAubW9kYWwtY29udGVudC1ib2R5IHtcbiAgbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAyO1xuICBsZXR0ZXItc3BhY2luZzogMC4wN2VtO1xuICBjdXJzb3I6IGF1dG87XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5Ac2NyZWVuIHNtIHtcbiAgLnBob3RvR2FsbGVyeSAubW9kYWwtY29udGVudC1ib2R5IHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDMuNzVyZW07XG4gIH1cbn1cbi5waG90b0dhbGxlcnkgLmlmcmFtZS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5waG90b0dhbGxlcnkgLmlmcmFtZS13cmFwcGVyIGlmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnBob3RvR2FsbGVyeSAuanNfcGhvdG9FeHBhbmRlZCB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLCB2aXNpYmlsaXR5IDAuM3MgZWFzZTtcbn1cbi5waG90b0dhbGxlcnkgLmpzX3Bob3RvRXhwYW5kZWRbZGF0YS1pbml0aWFsVmFsdWU9ZmFsc2VdIHtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBoZWlnaHQ6IDA7XG59XG4ucGhvdG9HYWxsZXJ5IC5qc19waG90b0V4cGFuZGVkW2RhdGEtaW5pdGlhbFZhbHVlPWZhbHNlXS5waG90b0FjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqLyIsIi8qKlxuICog5YCk44GMMuOBpOS7peS4iuOBrumFjeWIl+OBi+OBqeOBhuOBi+WIpOWumuOBmeOCi+mWouaVsFxuICogQHBhcmFtICB7YXJyYXl9ICRfbGlzdCDphY3liJfjgYvliKTlrprjgZfjgZ/jgYTlgKRcbiAqIEByZXR1cm4ge2Jvb2xlfSAgICAgICAg5YCk44GMMuOBpOS7peS4iuOBrumFjeWIl+OBquOCiXRydWVcbiAqL1xuQGZ1bmN0aW9uIGlzX2FycmF5KCRfbGlzdCkge1xuICBAcmV0dXJuIHR5cGUtb2YoJF9saXN0KSA9PSBsaXN0IG9yIHR5cGUtb2YoJF9saXN0KSA9PSBhcmdsaXN0O1xufVxuXG4vKipcbiAqIOaVsOWApOOCknJlbeOBq+WkieaPm+OBmeOCi+mWouaVsOOBp+OBmVxuICogQHBhcmFtICB7TnVtYmVyfSAkdGFyZ2V0ICAgICAgICByZW3jgavjgZfjgZ/jgYTmlbDlgKRcbiAqIEBwYXJhbSAge051bWJlcn0gJHRocmVzaG9sZCBbMV0g44GX44GN44GE5YCkXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgICAgICAgIOaVsOWApOOBq3JlbeOBjOS7mOOBhOOBn+aVsOWApOOCkui/lOOBl+OBvuOBmVxuICovXG5AZnVuY3Rpb24gX3JlbSgkdGFyZ2V0LCAkdGhyZXNob2xkKSB7XG4gIEBpZih1bml0KCR0YXJnZXQpICE9ICcnKSB7XG4gICAgQGVycm9yICdyZW3jgavjgZfjgZ/jgYTmlbDlgKTjgavljZjkvY3jgpLku5jjgZHjgarjgYTjgafjgY/jgaDjgZXjgYQnO1xuICB9IEBlbHNlIGlmKHVuaXQoJHRocmVzaG9sZCkgIT0gJycpIHtcbiAgICBAZXJyb3IgJ+OBl+OBjeOBhOWApOOBq+WNmOS9jeOCkuS7mOOBkeOBquOBhOOBp+OBj+OBoOOBleOBhCdcbiAgfSBAZWxzZSBpZigkdGFyZ2V0ID09IDApIHtcbiAgICBAcmV0dXJuICR0YXJnZXQ7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gKCgoJHRhcmdldCAvIDE2KSAqICR0aHJlc2hvbGQpICogMXJlbSk7XG4gIH1cbn1cblxuLy/nrKzkuIDlvJXmlbDjgavphY3liJfjgpLmuKHjgZnjgZPjgajjgYzlj6/og73jgavjgarjgaPjgZ9cbkBmdW5jdGlvbiByZW0oJHRhcmdldCwgJHRocmVzaG9sZDogMSkge1xuICBAaWYoaXNfYXJyYXkoJHRhcmdldCkpIHtcbiAgICAkbmV3X3JlbV9hcnJheTogKCk7XG4gICAgQGVhY2ggJHRhcmdldF9pdGVtIGluICR0YXJnZXQge1xuICAgICAgJG5ld19yZW1fYXJyYXk6IGFwcGVuZCgkbmV3X3JlbV9hcnJheSwgX3JlbSgkdGFyZ2V0X2l0ZW0sICR0aHJlc2hvbGQpKTtcbiAgICB9XG4gICAgQHJldHVybiAkbmV3X3JlbV9hcnJheTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiBfcmVtKCR0YXJnZXQsJHRocmVzaG9sZCk7XG4gIH1cbn1cblxuLyoqXG4gKiDmlbDlgKTjgpJlbeOBq+WkieaPm+OBmeOCi+mWouaVsOOBp+OBmVxuICogQHBhcmFtICB7TnVtYmVyfSAkdGFyZ2V0ICAgICAgICAgICBlbeOBq+OBl+OBn+OBhOaVsOWApFxuICogQHBhcmFtICB7TnVtYmVyfSAkcGFyZW50VmFsdWUgWzE2XSDjgZfjgY3jgYTlgKRcbiAqIEByZXR1cm4ge051bWJlcn0gICAgICAgICAgICAgICAgICAg5pWw5YCk44GrcmVt44GM5LuY44GE44Gf5pWw5YCk44KS6L+U44GX44G+44GZXG4gKi9cbkBmdW5jdGlvbiBfZW0oJHRhcmdldCwgJHBhcmVudFZhbHVlKSB7XG4gIEBpZih1bml0KCR0YXJnZXQpICE9ICcnKSB7XG4gICAgQGVycm9yICdlbeOBq+OBl+OBn+OBhOaVsOWApOOBq+WNmOS9jeOCkuS7mOOBkeOBquOBhOOBp+OBj+OBoOOBleOBhCc7XG4gIH0gQGVsc2UgaWYodW5pdCgkcGFyZW50VmFsdWUpICE9ICcnKSB7XG4gICAgQGVycm9yICfopqropoHntKDjga7mlbDlgKTjgavljZjkvY3jgpLku5jjgZHjgarjgYTjgafjgY/jgaDjgZXjgYQnXG4gIH0gQGVsc2UgaWYoJHRhcmdldCA9PSAwKSB7XG4gICAgQHJldHVybiAkdGFyZ2V0O1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICgoJHRhcmdldCAvIDE2KSAqIDFlbSk7XG4gIH1cbn1cblxuLy/nrKzkuIDlvJXmlbDjgavphY3liJfjgpLmuKHjgZnjgZPjgajjgYzlj6/og73jgavjgarjgaPjgZ9cbkBmdW5jdGlvbiBlbSgkdGFyZ2V0LCAkcGFyZW50VmFsdWU6IDE2KSB7XG4gIEBpZihpc19hcnJheSgkdGFyZ2V0KSkge1xuICAgICRuZXdfZW1fYXJyYXk6ICgpO1xuICAgIEBlYWNoICR0YXJnZXRfaXRlbSBpbiAkdGFyZ2V0IHtcbiAgICAgICRuZXdfZW1fYXJyYXk6IGFwcGVuZCgkbmV3X2VtX2FycmF5LCBfZW0oJHRhcmdldF9pdGVtLCAkcGFyZW50VmFsdWUpKTtcbiAgICB9XG4gICAgQHJldHVybiAkbmV3X2VtX2FycmF5O1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIF9lbSgkdGFyZ2V0LCRwYXJlbnRWYWx1ZSk7XG4gIH1cbn1cblxuXG4vKipcbiAqIOaVsOWApOOCknB444Gr5aSJ5o+b44GZ44KL6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICRhcmdldCAgICAgICAgICBweOOBq+OBl+OBn+OBhOaVsOWApFxuICogQHBhcmFtICB7TnVtYmVyfSAkdGhyZXNob2xkIFsxXSAg44GX44GN44GE5YCkXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgICAgICAgICDmlbDlgKTjgatweOOBjOS7mOOBhOOBn+aVsOWApOOCkui/lOOBl+OBvuOBmVxuICovXG5AZnVuY3Rpb24gX3B4KCR0YXJnZXQsICR0aHJlc2hvbGQpIHtcbiAgQGlmKHVuaXQoJHRhcmdldCkgIT0gJycpIHtcbiAgICBAZXJyb3IgJ3B444Gr44GX44Gf44GE5pWw5YCk44Gr5Y2Y5L2N44KS5LuY44GR44Gq44GE44Gn44GP44Gg44GV44GEJztcbiAgfSBAZWxzZSBpZih1bml0KCR0aHJlc2hvbGQpICE9ICcnKSB7XG4gICAgQGVycm9yICfjgZfjgY3jgYTlgKTjgavljZjkvY3jgpLku5jjgZHjgarjgYTjgafjgY/jgaDjgZXjgYQnXG4gIH0gQGVsc2UgaWYoJHRhcmdldCA9PSAwKSB7XG4gICAgQHJldHVybiAkdGFyZ2V0O1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICgoJHRhcmdldCAqICR0aHJlc2hvbGQpICogMXB4KTtcbiAgfVxufVxuXG4vL+esrOS4gOW8leaVsOOBq+mFjeWIl+OCkua4oeOBmeOBk+OBqOOBjOWPr+iDveOBq+OBquOBo+OBn1xuQGZ1bmN0aW9uIHB4KCR0YXJnZXQsICR0aHJlc2hvbGQ6IDEpIHtcbiAgQGlmKGlzX2FycmF5KCR0YXJnZXQpKSB7XG4gICAgJG5ld19weF9hcnJheTogKCk7XG4gICAgQGVhY2ggJHRhcmdldF9pdGVtIGluICR0YXJnZXQge1xuICAgICAgJG5ld19weF9hcnJheTogYXBwZW5kKCRuZXdfcHhfYXJyYXksIF9weCgkdGFyZ2V0X2l0ZW0sICR0aHJlc2hvbGQpKTtcbiAgICB9XG4gICAgQHJldHVybiAkbmV3X3B4X2FycmF5O1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIF9weCgkdGFyZ2V0LCR0aHJlc2hvbGQpO1xuICB9XG59XG5cbi8qKlxuICogbGluZS1oZWlnaHTjgYwx44Gu5pmC44Go5ZCM44GY44Gr44Gq44KL44KI44GG44GrbGluZS1oZWlnaHTliIbjga7lt67liIbjgpLov5TjgZnplqLmlbDjgafjgZlcbiAqIEBwYXJhbSAge051bWJlcn0gJGxpbmVIZWlnaHQgbGluZUhlaWdodOOBruWApFxuICogQHBhcmFtICB7TnVtYmVyfSAkZm9udFNpemUgICBmb25044Gu5YCkXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgICAgIOW3ruWIhuOBruaVsOWApFxuICovXG5AZnVuY3Rpb24gbWFyZ2luKCRfbGluZUhlaWdodCwgJF9mb250U2l6ZSkge1xuICBAaWYodW5pdCgkX2xpbmVIZWlnaHQpICE9ICcnKSB7XG4gICAgQGVycm9yICdsaW5lLWhlaWdodOOBq+WNmOS9jeOCkuS7mOOBkeOBquOBhOOBp+OBj+OBoOOBleOBhCc7XG4gIH0gQGVsc2UgaWYodW5pdCgkX2ZvbnRTaXplKSAhPSAnJykge1xuICAgIEBlcnJvciAnZm9udC1zaXpl44Gr5Y2Y5L2N44KS5LuY44GR44Gq44GE44Gn44GP44Gg44GV44GEJztcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAoJF9mb250U2l6ZSAqICRfbGluZUhlaWdodCAtICRfZm9udFNpemUpIC8gMjtcbiAgfVxufVxuXG4vKipcbiAqIOa3seOBhOmajuWxpOOBrm1hcOOBruWApOOCkuWPluW+l+OBl+OBpui/lOOBmemWouaVsOOBp+OBmeOAglxuICogQHBhcmFtICB7bWFwfSAkbWFwICAgbWFw5pys5L2TXG4gKiBAcGFyYW0gIHttYXB9ICRrZXlzICBtYXDjga5rZXlcbiAqIEByZXR1cm4ge21hcH0gICAgICAgIOaMh+WumuOBl+OBn21hcOOBrmtleVxuICovXG5AZnVuY3Rpb24gbWFwLWRlZXAtZ2V0KCRtYXAsICRrZXlzLi4uKSB7XG4gIEBlYWNoICRrZXkgaW4gJGtleXMge1xuICAgIEBpZiAobm90IG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICAgICRtYXA6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gIH1cbiAgQHJldHVybiAkbWFwO1xufVxuIiwiLy/jg5bjg6zjg7zjgq/jg53jgqTjg7Pjg4jjga7lrprnvqlcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vL+ODoeODh+OCo+OCouOCr+OCqOODquOBruWkieaVsFxuJGJyZWFrcG9pbnRzOiAoXG4gIHhzOiAzNjUsXG4gIHNtOiA3MjAsXG4gIG1kOiA5ODAsXG4gIGxnOiAxMjAwLFxuKTtcblxuLy/jgqvjg7Pjg5fjga7jgqTjg7Pjg4rjg7zmqKrluYVcbiR3cmFwcGVyLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgbWQgKTtcbi8v44K544Oe44Ob5pmC44Gu5bem5Y+z44GucGFkZGluZ1xuJHdyYXBwZXItcGFkZGluZzogMjA7XG5cbi8qKlxuICogJGJyZWFrcG9pbnRz44Gu5Lit44Gu5pWw5YCk44KSQG1lZGlh44Gr5YWl44KM44GmZW3jgavjgZfjgabov5TjgZltaXhpblxuICogQHBhcmFtICB7YXJyYXl9ICAkYnJlYWtwb2ludCBbc21dICAkYnJlYWtwb2ludHPjga5rZXnjga5hcnJheVxuICogQHBhcmFtICB7c3RyaW5nfSAka2V5ICAgICAgICBbbWluXSBtaW4gb3IgbWF4XG4gKiBAcmV0dXJuIHt2b2lkfSAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAoJGtleS13aWR0aCkge31cbiAqL1xuQG1peGluIG1lZGlhKCRfYnJlYWtwb2ludHM6IHNtLCAkX2tleTogbWluKSB7XG4gIC8vJF9icmVha3BvaW50c+OBrkVycm9y5qSc5Ye6XG4gIEBlYWNoICRfaGFzX2JyZWFrcG9pbnQgaW4gJF9icmVha3BvaW50cyB7XG4gICAgJF9jdXJyZW50X2luZGV4OiBpbmRleCgkX2JyZWFrcG9pbnRzLCAkX2hhc19icmVha3BvaW50KTtcbiAgICBAaWYobWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkX2hhc19icmVha3BvaW50KSA9PSBmYWxzZSkge1xuICAgICAgQGVycm9yICfnrKzkuIDlvJXmlbDjga4jeyRfY3VycmVudF9pbmRleH3nm67jga7lgKQjeyRfaGFzX2JyZWFrcG9pbnR944Gv54Sh5Yq544Gq5YCk44Gn44GZ44CCJztcbiAgICB9XG4gIH1cbiAgLy8kX2tleeOBjG1pbuOBi21heOOBi+OBrkVycm9y5qSc5Ye6XG4gICRrZXlfYXJyYXk6IChtaW4sbWF4KTtcbiAgQGlmKGluZGV4KCRrZXlfYXJyYXksICRfa2V5KSA9PSBudWxsKSB7XG4gICAgQGVycm9yICfnrKzkuozlvJXmlbAjeyRfa2V5feOBr+eEoeWKueOBquWApOOBp+OBmeOAgm1pbiBvciBtYXjjgafmjIflrprjgZfjgabjgY/jgaDjgZXjgYTjgIInXG4gIH1cblxuICAkX2JyZWFrcG9pbnQtbGVuZ3RoOiBsZW5ndGgoJF9icmVha3BvaW50cyk7XG4gIEBpZigkX2JyZWFrcG9pbnQtbGVuZ3RoID09IDEpIHtcblxuICAgICRfZmlyc3RfYnJlYWtwb2ludDogbnRoKCRfYnJlYWtwb2ludHMsMSk7XG4gICAgJF9maXJzdF9icmVha3BvaW50X3ZhbHVlOiBtYXBfZ2V0KCRicmVha3BvaW50cywkX2ZpcnN0X2JyZWFrcG9pbnQpO1xuICAgIEBpZiAoJF9rZXkgPT0gbWF4KSB7XG4gICAgICBAbWVkaWEgKCN7JF9rZXl9LXdpZHRoOiBlbSgkX2ZpcnN0X2JyZWFrcG9pbnRfdmFsdWUpIC0gLjAwMTEpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBpZiAoJF9rZXkgPT0gbWluKSB7XG4gICAgICBAbWVkaWEgKCN7JF9rZXl9LXdpZHRoOiBlbSgkX2ZpcnN0X2JyZWFrcG9pbnRfdmFsdWUpKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cblxuICB9IEBlbHNlIGlmKCRfYnJlYWtwb2ludC1sZW5ndGggPT0gMikge1xuXG4gICAgJF9maXJzdF9icmVha3BvaW50OiBudGgoJF9icmVha3BvaW50cywxKTtcbiAgICAkX3NlY29uZF9icmVha3BvaW50OiBudGgoJF9icmVha3BvaW50cywyKTtcbiAgICAkX2ZpcnN0X2JyZWFrcG9pbnRfdmFsdWU6IG1hcF9nZXQoJGJyZWFrcG9pbnRzLCRfZmlyc3RfYnJlYWtwb2ludCk7XG4gICAgJF9zZWNvbmRfYnJlYWtwb2ludF92YWx1ZTogbWFwX2dldCgkYnJlYWtwb2ludHMsJF9zZWNvbmRfYnJlYWtwb2ludCk7XG4gICAgJF9tYXhfdmFsdWU6IG1heCgkX2ZpcnN0X2JyZWFrcG9pbnRfdmFsdWUsJF9zZWNvbmRfYnJlYWtwb2ludF92YWx1ZSk7XG4gICAgJF9taW5fdmFsdWU6IG1pbigkX2ZpcnN0X2JyZWFrcG9pbnRfdmFsdWUsJF9zZWNvbmRfYnJlYWtwb2ludF92YWx1ZSk7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogZW0oJF9taW5fdmFsdWUpKSBhbmQgKG1heC13aWR0aDogZW0oJF9tYXhfdmFsdWUpIC0gLjAwMTEpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgJ+esrOS4gOW8leaVsOOBr+acgOWkpzLjgaTjgZfjgYvoqK3lrprjgafjgY3jgb7jgZvjgpPjgIInXG4gIH1cbn1cbiIsIiRmb250LXdlaWdodDogKFxuICB0aGluOiAxMDAsXG4gIGxpZ2h0OiAzMDAsXG4gIHJlZ3VsYXI6IDQwMCxcbiAgbWVkaXVtOiA1MDAsXG4gIGJvbGQ6IDcwMCxcbiAgYmxhY2s6IDkwMFxuKTtcblxuLyoqXG4gKiBmb250LXdlaWdodOOBruaVsOWApOOCkui/lOOBmemWouaVsFxuICogQHBhcmFtICB7U3RyaW5nfSAkd2VpZ2h0IHdlaWdodOOBruOCreODvOODr+ODvOODieWApFxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgIHdlaWdodOOBrm51bWJlclxuICovXG5AZnVuY3Rpb24gZm9udC13ZWlnaHQoJF93ZWlnaHQpIHtcbiAgQGlmKG1hcC1oYXMta2V5KCRmb250LXdlaWdodCwgJF93ZWlnaHQpKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb250LXdlaWdodCwgJF93ZWlnaHQpO1xuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgJ+S9v+OBiOOCi+WApOOBr+S7peS4i+OBp+OBmeKGkiN7bWFwLWtleXMoJGZvbnQtd2VpZ2h0KX0nXG4gIH1cbn0iLCIvL+iJsuOBruWumue+qVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kY29sb3JzOiAoXG4gIHdoaXRlOiAjZmZmLFxuICBibGFjazogIzAwMCxcbiAgcmVkOiAjZDgzZTRmLFxuICBncmF5OiAjNTk1NzU3LFxuICBzbm93OiAjZWZlZmVmLFxuICBzaWx2ZXI6ICNjY2MsXG4gIG5hdnk6ICMwMDQwYTcsXG4gIGJsdWU6ICMwMGEwZTksXG4gIGdyZWVuOiAjMDA5MTNhLFxuICBwaW5rOiAjZjdkOGRjLFxuICB0ZXh0OiAoXG4gICAgYmxhY2s6ICMyMjE4MTUsXG4gICAgZGVlcHJlZDogI2RjMjYzZixcbiAgICBsaWdodHJlZDogI2U3M2U1MSxcbiAgKSxcbiAgYmQ6IChcbiAgICBncmF5OiAjY2NjLFxuICAgIGJsYWNrOiAjMjIxODE1LFxuICAgIGRlZXByZWQ6ICNkYzI2M2YsXG4gICAgbGlnaHRyZWQ6ICNlNzNlNTEsXG4gICksXG4gIGJnOiAoXG4gICAgZ3JheTogI2VmZWZlZixcbiAgICBibGFjazogIzIyMTgxNSxcbiAgICBkZWVwcmVkOiAjZGMyNjNmLFxuICAgIGxpZ2h0cmVkOiAjZTczZTUxLFxuICApLFxuICBlbGVjOiAoXG4gICAgcGluazojZmZiMmJjLFxuICAgIHllbGxvdzogI2ZmZTI0MCxcbiAgICBzaWx2ZXI6ICM3MDcwNzAsXG4gICAgbGlnaHRzaWx2ZXI6ICNjZGNlY2UsXG4gICAgbC1waW5rOiAjZmRkMGQwLFxuICAgIGQtcGluazogI2ZmZGJkYixcbiAgICBvLXBpbms6ICNmZmViZWUsXG4gICAgZ29sZDogI2U3ZTNkYSxcbiAgKSxcbiAgZGh0djogKFxuICAgIHJlZDogI2JiMGEyZlxuICApLFxuICBkd2FzaDogKFxuICAgIGJsYWNrOiAjMDgwODA4LFxuICAgIGdyZWVuOiAjMzNhZjMzLFxuICAgIGJsdWU6ICMwMDQwYTcsXG4gICAgbGlnaHRibHVlOiAjMTU1ZGQxLFxuICApLFxuICBzZGdzOiAoXG4gICAgYmx1ZTogIzAwOWVkYixcbiAgICBsaWdodGJsdWU6ICNmMmY1ZjksXG4gICAgYm9yZGVyYmx1ZTogIzAwN2VhZixcbiAgKSxcbiAgZXRhamltYTogKFxuICAgIHJlZDogI2I3MjMxZCxcbiAgICBibHVlOiAjMDA5M2ZmLFxuICAgIGJnLWJsdWU6ICMzYjhhYzQsXG4gICAgeWVsbG93OiAjZmZkODM0LFxuICApXG4pO1xuXG4vKipcbiAqIOiJsuOCkm1hcOOBi+OCieWPluW+l+OBmeOCi+mWouaVsOOBp+OBmVxuICogQHBhcmFtICB7YXJyYXl9ICAka2V5cyAgICAgIOmFjeWIl1xuICogQHBhcmFtICB7bnVtYmVyfSAkX29wYWNpdHkgIDAuMCB+IDFcbiAqIEByZXR1cm4ge21hcH0gICAgICAgICAgICAgICAkY29sb3Jz44Gu5Lu75oSP44Gua2V5XG4gKi9cbkBmdW5jdGlvbiBjb2xvcigkX2tleXMsJF9vcGFjaXR5OiBudWxsKSB7XG4gIEBpZigkX29wYWNpdHkgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gcmdiYShtYXAtZGVlcC1nZXQoJGNvbG9ycywgJF9rZXlzLi4uKSwkX29wYWNpdHkpXG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWRlZXAtZ2V0KCRjb2xvcnMsICRfa2V5cy4uLilcbiAgfVxufVxuIiwiJHotaW5kZXg6IChcbiAgaGFtOiA1MDIsXG4gIGduYXY6IDUwMSxcbiAgcmVzZXJ2ZWQ6IDUwMCxcbiAgZnJvbnQ6IDIwMCxcbiAgbW9kYWw6IChcbiAgICBtYWluOiAxMDEsXG4gICksXG4gIG1haW46IDEsXG4gIGJhY2s6IC0xXG4pO1xuXG5cbi8qKlxuICogei1pbmRleOOCkm1hcOOBi+OCieWPluW+l+OBmeOCi+mWouaVsOOBp+OBmVxuICogQHBhcmFtICB7YXJyYXl9ICRrZXlzICDphY3liJdcbiAqIEByZXR1cm4ge21hcH0gICAkei1pbmRleOOBruS7u+aEj+OBrmtleVxuICovXG5AZnVuY3Rpb24gei1pbmRleCgka2V5cykge1xuICBAcmV0dXJuIG1hcC1kZWVwLWdldCgkei1pbmRleCwgJGtleXMuLi4pO1xufVxuIiwiLyoqXG4gKiDmk6zkvLzopoHntKDjgafjgqLjgrnjg5rjgq/jg4jmr5Tjga7poJjln5/jgpLnorrkv53jgZnjgottaXhpblxuICogQHBhcmFtICB7JF93aWR0aH0gICAgICAgICAgICAgICAgICAg5qiq44Gu5YCkXG4gKiBAcGFyYW0gIHskX2hlaWdodH0gICAgICAgICAgICAgICAgICDnuKbjga7lgKRcbiAqIEBwYXJhbSAgeyRfcHNldWRvX2VsZW1lbnR9IFtiZWZvcmVdIOa2iOiyu+OBmeOCi+eWkeS8vOimgee0oCBiZWZvcmUgb3IgYWZ0ZXJcbiAqIEByZXR1cm4ge3ZvaWR9XG4gKi9cbkBtaXhpbiBhc3BlY3QoJF93aWR0aCwgJF9oZWlnaHQsICRfcHNldWRvX2VsZW1lbnQ6IGJlZm9yZSkge1xuICAvLyBtYXgtd2lkdGg6ICRfaGVpZ2h0ICsgcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICY6OiN7JF9wc2V1ZG9fZWxlbWVudH0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKCRfd2lkdGgvJF9oZWlnaHQpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG4gID4gaW1nLCBzdmd7XG4gICAgQGluY2x1ZGUgcG9zaXRpb247XG4gIH1cbn1cbiIsIiRmb250czogKFxuICBqYTogKFxuICAgIHNhbnM6ICgnTm90byBTYW5zIEpQJywgc2Fucy1zZXJpZiksXG4gICAgc2VyaWY6ICgnTm90byBTZXJpZiBKUCcsIHNlcmlmKVxuICApLFxuICBlbjogKFxuICAgIHJvYm90bzogKCdSb2JvdG8nLCBzYW5zLXNlcmlmKSxcbiAgICBkYW5jaW5nOiAoJ0RhbmNpbmcgU2NyaXB0JywgY3Vyc2l2ZSksXG4gICAgam9zZWZpbjogKCdKb3NlZmluIFNsYWInLCBzZXJpZilcbiAgKVxuKTtcblxuLyoqXG4gKiBmb25044KSbWFw44GL44KJ5Y+W5b6X44GZ44KL6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHthcnJheX0gJGtleXMgIOmFjeWIl1xuICogQHJldHVybiB7bWFwfSAgICRmb250c+OBruS7u+aEj+OBrmtleVxuICovXG5AZnVuY3Rpb24gZm9udCgka2V5cykge1xuICBAcmV0dXJuIG1hcC1kZWVwLWdldCgkZm9udHMsICRrZXlzLi4uKTtcbn1cbiIsIi5ibG9nLXBhZ2VuYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiAzMjBweDtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fcHJldiA+IGEsIC5ibG9nLXBhZ2VuYXRpb25fX25leHQgPiBhIHtcbiAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgZm9udC1zaXplOiAuODc1cmVtO1xuICBjb2xvcjogIzIzMTgxNTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzO1xufVxuXG4uYmxvZy1wYWdlbmF0aW9uX19wcmV2ID4gYTpob3ZlciwgLmJsb2ctcGFnZW5hdGlvbl9fbmV4dCA+IGE6aG92ZXIge1xuICBvcGFjaXR5OiAuNztcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fbnVtYmVycyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIDE4cHg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fbnVtYmVycyA+IGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMzNweDtcbiAgaGVpZ2h0OiAzM3B4O1xuICBtYXJnaW46IDAgM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX251bWJlcnMgPiBsaSA+IGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzU3NTc1NztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjRzLCBjb2xvciAuNHM7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX251bWJlcnMgPiBsaSA+IGE6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjMjYzZjtcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fbnVtYmVycyA+IGxpLmlzLWN1cnJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMyNjNmO1xufVxuXG4uYmxvZy1wYWdlbmF0aW9uX19udW1iZXJzID4gbGkuaXMtY3VycmVudCA+IGEge1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHM7XG59XG5cbi5ibG9nLXBhZ2VuYXRpb25fX251bWJlcnMgPiBsaS5pcy1jdXJyZW50ID4gYTpob3ZlciB7XG4gIG9wYWNpdHk6IC43O1xufVxuXG4uYmxvZy1wYWdlbmF0aW9uX190b2luZGV4IHtcbiAgd2lkdGg6IDEzM3B4O1xuICBoZWlnaHQ6IDMzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzI2M2Y7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fdG9pbmRleCA+IGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgZm9udC1zaXplOiAuODc1cmVtO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cztcbn1cblxuLmJsb2ctcGFnZW5hdGlvbl9fdG9pbmRleCA+IGE6aG92ZXIge1xuICBvcGFjaXR5OiAuNztcbn1cbiIsIkBpbXBvcnQgJy4uLy4uL2NvbW1vbi9zY3NzL0Bmb3VuZGF0aW9uL2ZvdW5kYXRpb24nO1xuXG4kY29sb3JfcmVkOiAjRDYxNTE4O1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLnBob3RvR2FsbGVyeSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWcvcGhvdG9HYWxsZXJ5L2JnX3NwLnBuZycpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gIEBzY3JlZW4gc20ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWcvcGhvdG9HYWxsZXJ5L2JnLnBuZycpO1xuICB9XG5cbiAgLnNwX29ubHkge1xuXG4gICAgQHNjcmVlbiBzbSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5wY19vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQHNjcmVlbiBzbSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAudGV4dC1yZWQge1xuICAgIGNvbG9yOiAkY29sb3JfcmVkO1xuICB9XG5cbiAgbGl7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuXG4ucGhvdG9HYWxsZXJ5X21haW4ge1xuICBwYWRkaW5nOiAwIHJlbSgyMCkgcmVtKDEyNik7XG5cbiAgQHNjcmVlbiBzbXtcbiAgICBwYWRkaW5nOiAwIHJlbSgyMCkgcmVtKDE3Myk7XG4gIH1cbn1cblxuXG4ucGhvdG9faW50cm9kdWN0aW9uIHtcbiAgbWF4LXdpZHRoOiByZW0oOTgwKTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IHJlbSg0MCkgMCAwO1xuXG4gIC5yYWluYm93IHtcbiAgICBtYXJnaW4tdG9wOiByZW0oNDApO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyg1MCUgLSA1MHZ3KTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgLSA1MHZ3KTtcblxuICAgIEBzY3JlZW4gc20ge1xuICAgICAgbWFyZ2luLXRvcDogcmVtKDUwKTtcbiAgICB9XG4gIH1cbn1cblxuLnBob3RvX2ludHJvZHVjdGlvbl9pbm5lciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWcvcGhvdG9HYWxsZXJ5L2xlZF9saW5lX3NwLnBuZycpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IHJlbSg0MCk7XG5cbiAgQHNjcmVlbiBzbSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltZy9waG90b0dhbGxlcnkvbGVkX2xpbmUucG5nJyk7XG4gIH1cblxuXG4gIC5waG90b19pIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiByZW0oLTM1KTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiByZW0oNjApO1xuXG4gICAgQHNjcmVlbiBzbSB7XG4gICAgICB3aWR0aDogcmVtKDEwNyk7XG4gICAgICB0b3A6IHJlbSg3MCk7XG4gICAgICBsZWZ0OiByZW0oNDApO1xuICAgIH1cbiAgfVxuXG4gIC5waG90b19pMDIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHJlbSgtMjApO1xuICAgIHJpZ2h0OiByZW0oLTIwKTtcbiAgICB3aWR0aDogcmVtKDEyMCk7XG5cbiAgICBAc2NyZWVuIHNtIHtcbiAgICAgIHdpZHRoOiByZW0oMjQ1KTtcbiAgICAgIHJpZ2h0OiByZW0oLTExMCk7XG4gICAgfVxuICB9XG59XG5cbi8vIC5waG90b19pbnRyb2R1Y3Rpb25faW5uZXJcblxuXG4ucGhvdG9faW50cm9kdWN0aW9uX2NvbnRlbnRzIHtcbiAgcGFkZGluZzogcmVtKDQwKSAwIDA7XG5cbiAgQHNjcmVlbiBzbSB7XG4gICAgcGFkZGluZzogcmVtKDUwKSAwIDA7XG4gIH1cblxuICAucGhvdG9faW50cm9kdWN0aW9uX2NvbnRlbnRzX2gyIHtcbiAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDdlbTtcblxuICAgIEBzY3JlZW4gc20ge1xuICAgICAgZm9udC1zaXplOiByZW0oMzIpO1xuICAgIH1cbiAgfVxuXG4gIC5waG90b19pbnRyb2R1Y3Rpb25fY29udGVudHNfaDMge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wN2VtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IHJlbSg0MCk7XG5cbiAgICBAc2NyZWVuIHNtIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICB9XG5cbiAgICAuX2lubmVyX3NwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50IDUwJSwgI0ZGRkYwMCA1MCUpO1xuICAgIH1cblxuICAgIC5faW5uZXJfc3Bhbjo6YmVmb3JlLFxuICAgIC5faW5uZXJfc3Bhbjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiByZW0oMik7XG4gICAgICBoZWlnaHQ6IHJlbSgzMCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiByZW0oLTQpO1xuICAgIH1cblxuICAgIC5faW5uZXJfc3Bhbjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IHJlbSgtMTYpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTM4ZGVnKTtcbiAgICB9XG5cbiAgICAuX2lubmVyX3NwYW46OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiByZW0oLTE2KTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM4ZGVnKTtcbiAgICB9XG4gIH1cblxuICAucGhvdG9faW50cm9kdWN0aW9uX3RleHQge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wN2VtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQHNjcmVlbiBzbSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cblxuICAgICYuX2xlYWQge1xuICAgICAgbWFyZ2luLXRvcDogcmVtKDIwKTtcblxuICAgICAgQHNjcmVlbiBzbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgyNik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5fYm90dG9tIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbSg0MCk7XG5cbiAgICAgIEBzY3JlZW4gc20ge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oNTApO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5fYm90dG9tIC5fYm90dG9tX3NwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICB9XG5cbiAgLnBob3RvX2ludHJvZHVjdGlvbl9wb3N0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiByZW0oMzApO1xuXG4gICAgQHNjcmVlbiBzbSB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0oNTApO1xuICAgIH1cbiAgfVxuXG4gIC5fcG9zdGVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfcmVkO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IHJlbSgyOTYpO1xuICAgIHBhZGRpbmc6IHJlbSgxNSk7XG4gICAgYm94LXNoYWRvdzogcmVtKDYpIHJlbSg2KSAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcblxuXG4gICAgQHNjcmVlbiBzbSB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogcmVtKDYwMCk7XG4gICAgICBmb250LXNpemU6IHJlbSgzMik7XG4gICAgICBwYWRkaW5nOiByZW0oMjApO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTUpO1xuXG4gICAgICBAc2NyZWVuIHNtIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YXBlX3Bpbmsge1xuICAgIHdpZHRoOiByZW0oNjYpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHJlbSgtNTApO1xuICAgIGxlZnQ6IHJlbSgtMTApO1xuXG4gICAgQHNjcmVlbiBzbSB7XG4gICAgICB3aWR0aDogcmVtKDE1Nik7XG4gICAgICB0b3A6IHJlbSgtMTAwKTtcbiAgICAgIGxlZnQ6IHJlbSg0MCk7XG4gICAgfVxuICB9XG5cbiAgLnRhcGVfYmx1ZSB7XG4gICAgd2lkdGg6IHJlbSg2NSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogcmVtKC00MCk7XG4gICAgcmlnaHQ6IDA7XG5cbiAgICBAc2NyZWVuIHNtIHtcbiAgICAgIHdpZHRoOiByZW0oMTU2KTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogcmVtKC0xODApO1xuICAgIH1cbiAgfVxuXG4gIC5jaXJjbGVfc3ZnIHtcbiAgICB3aWR0aDogcmVtKDYwKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiByZW0oLTIwKTtcbiAgICByaWdodDogcmVtKC01KTtcblxuICAgIEBzY3JlZW4gc20ge1xuICAgICAgd2lkdGg6IHJlbSgxMTIpO1xuICAgICAgdG9wOiByZW0oLTMwKTtcbiAgICAgIHJpZ2h0OiByZW0oMTAwKTtcbiAgICB9XG4gIH1cblxuICAuaGVhcnRfc3ZnIHtcbiAgICB3aWR0aDogcmVtKDQwKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiByZW0oLTEyKTtcbiAgICBsZWZ0OiByZW0oLTUwKTtcblxuICAgIEBzY3JlZW4gc20ge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiByZW0oNCk7XG4gICAgICBsZWZ0OiByZW0oLTY1KTtcbiAgICB9XG4gIH1cblxuICAuZ29vZF9zdmcge1xuICAgIHdpZHRoOiByZW0oNDApO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHJlbSgtMTIpO1xuICAgIHJpZ2h0OiByZW0oLTUwKTtcblxuICAgIEBzY3JlZW4gc20ge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiByZW0oNCk7XG4gICAgICByaWdodDogcmVtKC02NSk7XG4gICAgfVxuICB9XG5cbn1cblxuLy8gLnBob3RvX2ludHJvZHVjdGlvbl9jb250ZW50c1xuXG5cbi5waG90b19nYWxsZXJ5IHtcblxuICAucGhvdG9faW50cm9kdWN0aW9uX2NvbnRlbnRzX2gzIHtcbiAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDdlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiByZW0oNDApO1xuXG4gICAgQHNjcmVlbiBzbSB7XG4gICAgICBmb250LXNpemU6IHJlbSgzMik7XG4gICAgfVxuXG4gICAgLl9pbm5lcl9zcGFuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuX2lubmVyX3NwYW46OmJlZm9yZSxcbiAgICAuX2lubmVyX3NwYW46OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogcmVtKDIpO1xuICAgICAgaGVpZ2h0OiByZW0oMzYpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogcmVtKDApO1xuICAgIH1cblxuICAgIC5faW5uZXJfc3Bhbjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IHJlbSgtMjYpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwZGVnKTtcbiAgICB9XG5cbiAgICAuX2lubmVyX3NwYW46OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiByZW0oLTI2KTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQwZGVnKTtcbiAgICB9XG4gIH1cblxuICAucGhvdG9fZ2FsbGVyeV9sZWFkIHtcbiAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IHJlbSgxNik7XG5cbiAgICBAc2NyZWVuIHNtIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgIG1hcmdpbi10b3A6IHJlbSgyNik7XG4gICAgfVxuICB9XG5cblxuICAudmlld19tb3JlQnRuIHtcbiAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDgzRTRGO1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbSg4KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IHJlbSgyNjgpO1xuICAgIGhlaWdodDogcmVtKDQyKTtcbiAgICBtYXJnaW46IHJlbSg2MCkgYXV0byAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBlYXNlO1xuXG4gICAgQHNjcmVlbiBzbXtcbiAgICAgIG1hcmdpbjogcmVtKDgwKSBhdXRvIDA7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLnZpZXdfbW9yZUJ0bl90ZXh0OjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiByZW0oMTIpO1xuICAgICAgaGVpZ2h0OiByZW0oOCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA0NyU7XG4gICAgICBsZWZ0OiByZW0oLTI2KTtcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgNTAlIDEwMCUpO1xuICAgIH1cblxuICAgICY6aG92ZXJ7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgfVxuICB9XG5cbiAgLnBob3RvX2dhbGxlcnlfaW5uZXJ7XG4gICAgbWFyZ2luLXRvcDogcmVtKDQwKTtcblxuICAgIEBzY3JlZW4gc217XG4gICAgICBtYXJnaW4tdG9wOiByZW0oNTApO1xuICAgIH1cbiAgfVxuXG4gIC5waG90b19nYWxsZXJ5X2NvbnRhaW5lcntcbiAgICBtYXgtd2lkdGg6IHJlbSg5ODApO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgLnBob3RvX2dhbGxlcnlfbGlzdHN7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICAgIGdhcDogcmVtKDgpO1xuXG4gICAgQHNjcmVlbiBzbXtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG4gICAgICBnYXA6IHJlbSgxMCk7XG4gICAgfVxuICB9XG5cbiAgLnBob3RvX2dhbGxlcnlfbGlzdHNfaXRlbV9jYXJke1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiByZW0oNCk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC5tb2RhbC1vcGVuLWltZ3tcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0oNCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuICAgIC5ob3Zlcl93aW5kb3d7XG4gICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDdlbTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTQsIDIxLCAyNCwgLjgpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDQwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiByZW0oNikgcmVtKDEwKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBlYXNlLCB2aXNpYmlsaXR5IC41cyBlYXNlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBzY3JlZW4gc217XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgICAgcGFkZGluZzogcmVtKDEyKSByZW0oMTApO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIgLmhvdmVyX3dpbmRvd3tcblxuICAgICAgQHNjcmVlbiBzbXtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIC5waG90b19nYWxsZXJ5X2xpc3RzX2l0ZW1fY2FyZF9pbm5lcntcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuaW1wb3J0YW50X3BvaW50e1xuICAgIGZvbnQtc2l6ZTogcmVtKDEwKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbjogcmVtKDgwKSBhdXRvIDA7XG4gICAgcGFkZGluZzogcmVtKDE3KSAwO1xuICAgIGJvcmRlci10b3A6IHNvbGlkIHJlbSgxKSAjMjEyNTI4O1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIHJlbSgxKSAjMjEyNTI4O1xuICAgIG1heC13aWR0aDogcmVtKDk4MCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wN2VtO1xuXG4gICAgQHNjcmVlbiBzbXtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgIG1hcmdpbjogcmVtKDEwMCkgYXV0byAwO1xuICAgICAgcGFkZGluZzogcmVtKDIxKSAwO1xuICAgICAgYm9yZGVyLXRvcDogc29saWQgcmVtKDIpICMyMTI1Mjg7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCByZW0oMikgIzIxMjUyODtcbiAgICB9XG4gIH1cblxuICAuaW1wb3J0YW50X3BvaW50X2R0LFxuICAuaW1wb3J0YW50X3BvaW50X2Rke1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbSgxNCk7XG5cbiAgICBAc2NyZWVuIHNte1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMTYpO1xuICAgIH1cbiAgfVxuXG4gIC5pbXBvcnRhbnRfcG9pbnRfZHQ6OmJlZm9yZSxcbiAgLmltcG9ydGFudF9wb2ludF9kZDo6YmVmb3Jle1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIC5pbXBvcnRhbnRfcG9pbnRfZHQ6OmJlZm9yZXtcbiAgICBjb250ZW50OiAn4pagJztcbiAgfVxuXG4gIC5pbXBvcnRhbnRfcG9pbnRfZGQ6OmJlZm9yZXtcbiAgICBjb250ZW50OiAn4oC7JztcbiAgfVxuXG5cbiAgLmpzX3ZpZXdfbW9yZUJ0bltkYXRhLW1vcmU9XCJ0cnVlXCJdIC52aWV3X21vcmVCdG5fdGV4dDo6YmVmb3Jle1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDEwMCUsIDUwJSAwLCAxMDAlIDEwMCUpO1xuICB9XG5cbn1cblxuLy8gLnBob3RvX2dhbGxlcnlcblxuXG4ucGhvdG9HYWxsZXJ5IHtcblxuICAubW9kYWx7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLyog44Oi44O844OA44Or44KS6KSH5pWw6Kit572u44GZ44KL44Gf44KB44Gud3JhcHBlcuOCr+ODqeOCuSAqL1xuICAubW9kYWxUYXJnZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG5cbiAgLyog44Oi44O844OA44Or44KS6ZaL44GP44Oc44K/44OzICovXG4gIC5tb2RhbC1vcGVuIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG5cbiAgLyog44Oi44O844OA44Or44Go6IOM5pmv44Gu5oyH5a6aICovXG4gIC5tb2RhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDk5OTk5O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjMzMzO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHRyYW5zaXRpb246IC4zcztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cblxuICAvKiDjgq/jg6njgrnjgYzov73liqDjgZXjgozjgZ/mmYLjga7mjIflrpogKi9cbiAgLm1vZGFsLmlzLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cblxuICAvKiDjg6Ljg7zjg4Djg6vlhoXlgbTjga7mjIflrpogKi9cbiAgLm1vZGFsLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogcmVtKDY2Mik7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAvKiDjg6Ljg7zjg4Djg6vjgpLplonjgZjjgovjg5zjgr/jg7Pjga7mjIflrpogKi9cbiAgLm1vZGFsLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiByZW0oLTMwKTtcbiAgICByaWdodDogcmVtKDEwKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB3aWR0aDogcmVtKDIwKTtcbiAgICBoZWlnaHQ6IHJlbSgyMCk7XG5cbiAgICBAc2NyZWVuIHNte1xuICAgICAgd2lkdGg6IHJlbSgzMCk7XG4gICAgICBoZWlnaHQ6IHJlbSgzMCk7XG4gICAgICBib3R0b206IHJlbSgtNDApO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1jbG9zZS1ib3h7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIC5fbGluZV8wMSxcbiAgICAuX2xpbmVfMDJ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogcmVtKDIpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLl9saW5lXzAxe1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIH1cblxuICAgIC5fbGluZV8wMntcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgfVxuICB9XG5cblxuICAvKiDjg6Ljg7zjg4Djg6vjga7jgrPjg7Pjg4bjg7Pjg4Tpg6jliIbjga7mjIflrpogKi9cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIGZsZXg6IDE7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICAubW9kYWwtY29udGVudC1tdntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiBzb2xpZCByZW0oMykgI2ZmZjtcbiAgICBjdXJzb3I6IGF1dG87XG5cbiAgICBAc2NyZWVuIHNte1xuICAgICAgYm9yZGVyOiBzb2xpZCByZW0oNikgI2ZmZjtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtY29udGVudC1ib2R5e1xuICAgIG1hcmdpbi10b3A6IHJlbSgxMik7XG4gICAgcGFkZGluZy1yaWdodDogcmVtKDQwKTtcbiAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wN2VtO1xuICAgIGN1cnNvcjogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuXG4gICAgQHNjcmVlbiBzbXtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg2MCk7XG4gICAgfVxuICB9XG5cbiAgLyog44Oi44O844OA44Or5YaF44Gu5YuV55S7ICovXG4gIC5pZnJhbWUtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5pZnJhbWUtd3JhcHBlciBpZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuanNfcGhvdG9FeHBhbmRlZHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLCB2aXNpYmlsaXR5IC4zcyBlYXNlO1xuICB9XG5cblxuICAuanNfcGhvdG9FeHBhbmRlZFtkYXRhLWluaXRpYWxWYWx1ZT1cImZhbHNlXCJde1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIC5qc19waG90b0V4cGFuZGVkW2RhdGEtaW5pdGlhbFZhbHVlPVwiZmFsc2VcIl0ucGhvdG9BY3RpdmV7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5cblxuXG5cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIixudWxsXSwic291cmNlUm9vdCI6IiJ9*/