@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
 */
.foot-banner {
  position: relative;
  display: flex;
  width: 100%;
  max-width: 335px;
  padding: 22px 26px;
  margin: 60px auto 127px;
  background-color: #bb0a2f;
  border-radius: 10px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  transition: transform 0.2s ease-in;
}
.foot-banner:hover {
  transform: translateY(-8px);
}
.foot-banner__inner {
  width: 100%;
  max-width: 136px;
}
.foot-banner__youtube {
  position: relative;
  width: 100%;
  overflow: hidden;
  overflow: hidden;
}
.foot-banner__youtube::before {
  display: block;
  width: 100%;
  padding-top: 22.3273189731%;
  content: "";
}
.foot-banner__youtube > img, .foot-banner__youtube svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.foot-banner__text {
  display: block;
  margin-top: 6px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.1666666667;
  color: #fff;
}
.foot-banner__img {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 160px;
  overflow: hidden;
  overflow: hidden;
}
.foot-banner__img::before {
  display: block;
  width: 100%;
  padding-top: 95%;
  content: "";
}
.foot-banner__img > img, .foot-banner__img svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.hero {
  height: 160vw;
  max-height: 600px;
  background-image: url(/assets/img/d-hakken/hero-img_sp@2x.jpg);
  background-position: center;
  background-size: cover;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}
.hero__inner {
  padding-top: 84px;
  padding-bottom: 250px;
}
.hero-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 80%;
  max-width: 430px;
}
.hero-title__text {
  font-size: 0.625rem;
  font-weight: 700;
  text-align: center;
}
.hero-title__main {
  position: relative;
  display: block;
  margin-top: 13px;
  overflow: hidden;
  overflow: hidden;
}
.hero-title__main::before {
  display: block;
  width: 100%;
  padding-top: 72.2524926795%;
  content: "";
}
.hero-title__main > img, .hero-title__main svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.hero-title__main > img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.hero-title-youtube {
  display: flex;
  align-items: center;
  margin-top: 13px;
}
.hero-title-youtube__img {
  position: relative;
  display: block;
  width: 100%;
  max-width: 138.25px;
  margin-right: 6px;
  overflow: hidden;
  overflow: hidden;
}
.hero-title-youtube__img::before {
  display: block;
  width: 100%;
  padding-top: 22.321880651%;
  content: "";
}
.hero-title-youtube__img > img, .hero-title-youtube__img svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.hero-title-youtube__img > svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.hero-title-youtube__text {
  font-size: 1.4375rem;
  font-weight: 700;
}

.list .youtube-list {
  display: flex;
  flex-wrap: wrap;
}
.list .youtube-list__item {
  width: 100%;
  margin-top: 40px;
}
.list .youtube-des {
  padding: 0;
}

.new__inner {
  display: flex;
  flex-direction: column;
  margin-top: 30px;
}
.new .youtube-title {
  padding: 4px 10px;
}
.new .youtube-title__num {
  font-size: 0.625rem;
}
.new .youtube-title-start__text {
  font-size: 0.625rem;
}
.new .youtube-title-start__img {
  max-width: 14px;
}
.new .youtube-des {
  background-color: #efefef;
}

.title {
  position: relative;
}
.title-main {
  position: relative;
  padding: 40px 15px;
  text-align: center;
  background-color: #bb0a2f;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}
.title-main__text {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.75;
  color: #fff;
}
.title-main__text-small {
  font-size: 0.875rem;
}
.title-main__text-large {
  font-size: 1.5rem;
}
.title-main__text.-mt {
  margin-top: 10px;
}
.title-main__img {
  position: absolute;
  top: -230px;
  right: 0;
  width: 100%;
  max-width: 187px;
  overflow: hidden;
  transition: transform 0.3s ease;
  overflow: hidden;
}
.title-main__img::before {
  display: block;
  width: 100%;
  padding-top: 122.9946524064%;
  content: "";
}
.title-main__img > img, .title-main__img svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
body.ie.windows .title-main__img:hover {
  transform: rotate(-5deg);
}

_:-ms-fullscreen:hover, :root .title-main__img:hover {
  transform: rotate(-5deg);
}

.title-main__img > img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.title-img__list {
  display: flex;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}
.title-img__item {
  position: relative;
  width: 100%;
  max-width: calc(100% / 3);
  overflow: hidden;
  border: 2px solid #bb0a2f;
  overflow: hidden;
}
.title-img__item::before {
  display: block;
  width: 100%;
  padding-top: 66.1538461538%;
  content: "";
}
.title-img__item > img, .title-img__item svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.title-img__item:not(:last-child) {
  border-right: none;
}

.youtube {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.16);
}
.youtube::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: transparent;
  transition: background-color 0.5s;
}
body.ie.windows .youtube:hover::after {
  background: rgba(255, 255, 255, 0.5);
}

_:-ms-fullscreen:hover::after, :root .youtube:hover::after {
  background: rgba(255, 255, 255, 0.5);
}

.youtube__img {
  position: relative;
  width: 100%;
  overflow: hidden;
  overflow: hidden;
}
.youtube__img::before {
  display: block;
  width: 100%;
  padding-top: 56.3798219585%;
  content: "";
}
.youtube__img > img, .youtube__img svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.youtube-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px;
  color: #fff;
  background-color: #bb0a2f;
}
.youtube-title__num {
  font-size: 1.25rem;
  font-weight: 700;
}
.youtube-title-start {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  font-weight: 700;
}
.youtube-title-start__text {
  margin-right: 10px;
  font-size: 0.75rem;
  font-weight: 700;
}
.youtube-title-start__img {
  position: relative;
  width: 100%;
  max-width: 24px;
  overflow: hidden;
}
.youtube-des {
  padding: 40px 18px;
  margin-top: 20px;
  border-radius: 4px;
}
.youtube-des__title {
  padding-bottom: 10px;
  border-bottom: 1px solid #ccc;
}
.youtube-des__title > a {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.7142857143;
}
.youtube-des__title > a:hover {
  color: #bb0a2f;
}
.youtube-des__text {
  padding-bottom: 10px;
  margin-top: 10px;
  font-size: 0.875rem;
  line-height: 1.5714285714;
  border-bottom: 1px solid #ccc;
}
.youtube-des__text a {
  color: #bb0a2f;
}
.youtube-des__text a:hover {
  text-decoration: underline;
}
.youtube-des__sub {
  display: block;
  padding-bottom: 10px;
  margin-top: 10px;
  font-size: 0.75rem;
  border-bottom: 1px solid #ccc;
}
.youtube-des .accordionBody {
  overflow: hidden;
}

.d-hakken-title {
  margin-top: 60px;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
}

.more-btn {
  display: flex;
  align-items: center;
  margin: 0 auto;
}
.more-btn__icon {
  position: relative;
  display: block;
  width: 24px;
  height: 24px;
  margin: 10px;
  border: 2px solid #221815;
  border-radius: 50%;
}
.more-btn__icon-inner {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.more-btn__icon-inner::before, .more-btn__icon-inner::after {
  position: absolute;
  display: block;
  width: 2px;
  height: 10px;
  content: "";
  background-color: #221815;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.more-btn__icon-inner::before {
  transform: translate(-50%, -50%) rotate(90deg);
}
.more-btn__text {
  font-size: 0.875rem;
}
.more-btn__text-show {
  display: block;
}
.more-btn__text-hidden {
  display: none;
}
.more-btn[data-accordion-header] {
  padding-top: 20px;
}
.more-btn[data-accordion-header] .more-btn__icon-inner::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.more-btn[data-accordion-header] .more-btn__text-show {
  display: none;
}
.more-btn[data-accordion-header] .more-btn__text-hidden {
  display: block;
}
@media (min-width: 45em){
  .foot-banner {
    max-width: 600px;
    margin-top: 110px;
    margin-bottom: 170px;
  }
  .foot-banner__inner {
    max-width: 235px;
  }
  .foot-banner__text {
    margin-top: 10px;
    font-size: 2rem;
  }
  .foot-banner__img {
    max-width: 285.5px;
  }
  .hero {
    height: 44vw;
    max-height: none;
    background-image: url(/assets/img/d-hakken/hero-img_pc@2x.jpg);
  }
  .hero__inner {
    padding-top: 38px;
    padding-bottom: 140px;
  }
  .hero-title__text {
    font-size: 1.25rem;
  }
  .hero-title__main {
    margin-top: 16px;
  }
  .hero-title-youtube__img {
    max-width: 217.99px;
  }
  .hero-title-youtube__text {
    font-size: 2.5rem;
  }
  .list .youtube-list {
    margin-right: -40px;
  }
  .list .youtube-list__item {
    width: calc((100% - 120px) / 3);
    margin-top: 60px;
    margin-right: 40px;
  }
  .new__inner {
    flex-direction: row;
    margin-top: 60px;
  }
  .new .youtube {
    width: 61.2%;
    height: 100%;
    margin-right: 34px;
  }
  .new .youtube-title {
    padding: 10px;
  }
  .new .youtube-title__num {
    font-size: 1.25rem;
  }
  .new .youtube-title-start__text {
    font-size: 0.75rem;
  }
  .new .youtube-title-start__img {
    max-width: 24px;
  }
  .new .youtube-des {
    width: calc(38.8% - 34px);
    height: 100%;
    margin-top: 0;
  }
  .title-main {
    padding: 30px 15px 45px;
  }
  .title-main__text {
    font-size: 1.25rem;
  }
  .title-main__text-small {
    font-size: 1.25rem;
  }
  .title-main__text-large {
    font-size: 2rem;
  }
  .title-main__text.-mt {
    margin-top: 24px;
  }
  .youtube-title__num {
    font-size: 1rem;
  }
  .youtube-title-start__text {
    font-size: 0.625rem;
  }
  .d-hakken-title {
    margin-top: 80px;
    font-size: 2rem;
  }
  .more-btn {
    display: none;
  }
}
@media (min-width: 61.25em){
  .title-main__img {
    top: auto;
    bottom: 0;
    max-width: 288px;
    overflow: hidden;
  }
  .title-main__img::before {
    display: block;
    width: 100%;
    padding-top: 134.2245989305%;
    content: "";
  }
  .title-main__img > img, .title-main__img svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .title-img__list {
    position: absolute;
    top: 50%;
    left: 0;
    flex-direction: column;
    width: 25vw;
    max-width: 340px;
    margin-left: -45px;
    transform: translateY(-50%);
  }
  .title-img__item {
    max-width: 58.8%;
  }
  .title-img__item:first-child {
    z-index: 1;
    margin-left: auto;
  }
  .title-img__item:nth-child(2) {
    margin-top: -40px;
  }
  .title-img__item:last-child {
    margin-top: -12px;
    margin-right: 30px;
    margin-left: auto;
  }
  .youtube-title__num {
    font-size: 1.25rem;
  }
  .youtube-title-start__text {
    font-size: 0.75rem;
  }
}
@media (hover: hover){
  .title-main__img:hover {
    transform: rotate(-5deg);
  }
  .youtube:hover::after {
    background: rgba(255, 255, 255, 0.5);
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZC1oYWtrZW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9jb21tb24vc2Nzcy9AZm91bmRhdGlvbi9fZnVuY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY29tbW9uL3Njc3MvQGZvdW5kYXRpb24vYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9jb21tb24vc2Nzcy9AZm91bmRhdGlvbi9mb250LXdlaWdodC5zY3NzIiwid2VicGFjazovLy8uL2NvbW1vbi9zY3NzL0Bmb3VuZGF0aW9uL2NvbG9ycy5zY3NzIiwid2VicGFjazovLy8uL2NvbW1vbi9zY3NzL0Bmb3VuZGF0aW9uL3otaW5kZXguc2NzcyIsIndlYnBhY2s6Ly8vLi9jb21tb24vc2Nzcy9AZm91bmRhdGlvbi9hc3BlY3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9jb21tb24vc2Nzcy9AZm91bmRhdGlvbi9fZm9udHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9wYWdlcy9kLWhha2tlbi9tb2R1bGVzL2Zvb3QtYmFhbm5lci5zY3NzIiwid2VicGFjazovLy8uL2NvbW1vbi9zY3NzL0Bmb3VuZGF0aW9uL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9wYWdlcy9kLWhha2tlbi9tb2R1bGVzL2hlcm8uc2NzcyIsIndlYnBhY2s6Ly8vLi9wYWdlcy9kLWhha2tlbi9tb2R1bGVzL2xpc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9wYWdlcy9kLWhha2tlbi9tb2R1bGVzL25ldy5zY3NzIiwid2VicGFjazovLy8uL3BhZ2VzL2QtaGFra2VuL21vZHVsZXMvdGl0bGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9wYWdlcy9kLWhha2tlbi9tb2R1bGVzL3lvdXR1YmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9wYWdlcy9kLWhha2tlbi9kLWhha2tlbi5zY3NzIiwid2VicGFjazovLy88bm8gc291cmNlPiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7RUFBQTtBQVNBOzs7OztFQUFBO0FBK0JBOzs7OztFQUFBO0FBZ0NBOzs7OztFQUFBO0FBK0JBOzs7OztFQUFBO0FBZ0JBOzs7OztFQUFBO0FDdkdBOzs7OztFQUFBO0FDUEE7Ozs7RUFBQTtBQ3FEQTs7Ozs7RUFBQTtBQ2pEQTs7OztFQUFBO0FDYkE7Ozs7OztFQUFBO0FDWUE7Ozs7RUFBQTtBQ1pBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVJ1RUY7QVF0RUU7RUFDRTtBUndFSjtBUWhFRTtFQUNFO0VBQ0E7QVJ5RUo7QVFuRUU7RUFDRTtFQUNBO0VBQ0E7RUZ0QkY7QU5pR0Y7QU1oR0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBTmtHSjtBTWhHRTtFRytFQTtFQUVFO0VBQ0E7RUFDQTtBVG1CSjtBUW5GRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUnFGSjtBUTlFRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFRjdDRjtBTm9JRjtBTW5JRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FOcUlKO0FNbklFO0VHK0VBO0VBRUU7RUFDQTtFQUNBO0FUc0RKOztBVXpKQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUQ4SEE7RUFDQTtFQUVFO0VBQ0E7QVRtQ0o7QVU3SkU7RUFDRTtFQUNBO0FWc0tKO0FVL0pFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVnVLSjtBVXJLSTtFQUNFO0VBQ0E7RUFDQTtBVnVLTjtBVWpLSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VKakNKO0FOME1GO0FNek1FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QU4yTUo7QU16TUU7RUcrRUE7RUFFRTtFQUNBO0VBQ0E7QVQ0SEo7QVVuTE07RURtREo7RUFFRTtFQUNBO0VBQ0E7QVRrSUo7QVVqTEk7RUFDRTtFQUNBO0VBQ0E7QVZ3TE47QVV0TE07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUp0RE47QU4rT0Y7QU05T0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBTmdQSjtBTTlPRTtFRytFQTtFQUVFO0VBQ0E7RUFDQTtBVGlLSjtBVW5NUTtFRDhCTjtFQUVFO0VBQ0E7RUFDQTtBVHVLSjtBVWpNTTtFQUNFO0VBQ0E7QVZ3TVI7O0FXalJFO0VBQ0U7RUFDQTtBWHlSSjtBV3BSSTtFQUNFO0FYMlJOO0FXbFJFO0VBQ0U7QVgyUko7O0FZN1NFO0VBQ0U7RUFDQTtFQUNBO0FaZ1RKO0FZbFNJO0VBQ0U7QVppVE47QVkvU007RUFDRTtBWmlUUjtBWTdTUTtFQUNFO0FaK1NWO0FZNVNRO0VBQ0U7QVo4U1Y7QVl4Ukk7RUFDRTtBWndTTjs7QWEvVkE7RUFDRTtBYnlXRjtBYXZXRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VKNEhGO0VBQ0E7QVQ4T0Y7QWFyV0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBYjRXTjtBYTNXTTtFQUNFO0FiNldSO0FhM1dNO0VBQ0U7QWI2V1I7QWEzV007RUFDRTtBYjZXUjtBYTdWSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VQdkNKO0FOcVpGO0FNcFpFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QU5zWko7QU1wWkU7RUcrRUE7RUFFRTtFQUNBO0VBQ0E7QVR1VUo7QVN2WUk7RUlnQkk7QWIrWFI7O0FTL1lJO0VJZ0JJO0FibVlSOztBYWpZTTtFSjBDSjtFQUVFO0VBQ0E7RUFDQTtBVDBWSjtBYTFYSTtFQUNFO0VKK0RKO0VBQ0E7QVRrVkY7QWFwWUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VQOUVKO0FOaWVGO0FNaGVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QU5rZUo7QU1oZUU7RUcrRUE7RUFFRTtFQUNBO0VBQ0E7QVRtWko7QWE3Wk07RUFDRTtBYitaUjs7QWN6ZkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBZDZnQkY7QVN4Y0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVDBjSjtBU3ZjSTtFQUNFO0FUOGNOOztBUy9jSTtFQUNFO0FUa2ROOztBY2xpQkU7RUFDRTtFQUNBO0VBQ0E7RVJERjtBTnVpQkY7QU10aUJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QU53aUJKO0FNdGlCRTtFRytFQTtFQUVFO0VBQ0E7RUFDQTtBVHlkSjtBYzlpQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWRnakJKO0FjOWlCSTtFQUNFO0VBQ0E7QWRnakJOO0FjdmlCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FkbWpCTjtBY2pqQk07RUFDRTtFQUNBO0VBQ0E7QWRtakJSO0FjMWlCTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0Fkc2pCUjtBY2pqQkU7RUFDRTtFQUNBO0VBQ0E7QWRtakJKO0FjampCSTtFQUNFO0VBQ0E7QWRtakJOO0FjbGpCTTtFQUNFO0VBQ0E7RUFDQTtBZG9qQlI7QWNuakJRO0VBQ0U7QWRxakJWO0FjaGpCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWRrakJOO0FjaGpCTTtFQUNFO0Fka2pCUjtBY2pqQlE7RUFDRTtBZG1qQlY7QWM5aUJJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZGdqQk47QWM3aUJJO0VBQ0U7QWQraUJOOztBZTdvQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBZmdwQkY7O0Flem9CQTtFQUNFO0VBQ0E7RUFDQTtBZmtwQkY7QWU3b0JFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWZvcEJKO0FlbHBCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0Fmb3BCTjtBZW5wQk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RU5nRE47RUFFRTtFQUNBO0VBQ0E7QVRxbUJKO0FldHBCTTtFQUNFO0Fmd3BCUjtBZW5wQkU7RUFDRTtBZnFwQko7QWVucEJJO0VBQ0U7QWZxcEJOO0FlbnBCSTtFQUNFO0FmcXBCTjtBZWpwQkU7RUFDRTtBZm1wQko7QWU5b0JRO0VBQ0U7QWZncEJWO0FlM29CUTtFQUNFO0FmNm9CVjtBZTNvQlE7RUFDRTtBZjZvQlY7QWdCaHVCQTtFUkFBO0lBZUk7SUFDQTtJQUNBO0VSeUVGO0VRdEVBO0lBSUk7RVIyRUo7RVFoRUE7SUFRSTtJQUNBO0VSdUZKO0VRbkZBO0lBU0k7RVJvR0o7RVU3SkY7SUFRSTtJQUNBO0lBQ0E7RVZzS0Y7RVVuS0E7SUFJSTtJQUNBO0VWd0tKO0VVN0pFO0lBS0k7RVZ5S047RVVyS0U7SUFVSTtFVnlMTjtFVWhMSTtJQVlJO0VWeU1SO0VVck1JO0lBSUk7RVYwTVI7RVdyUkE7SUFJSTtFWDJSSjtFV3hSRTtJQUdJO0lBQ0E7SUFDQTtFWDZSTjtFWXpTQTtJQUtJO0lBQ0E7RVprVEo7RVk5U0E7SUFFSTtJQUNBO0lBQ0E7RVppVEo7RVk5U0U7SUFpQkk7RVo4U047RVk1U007SUFDRTtFWjhTUjtFWTFTUTtJQUNFO0VaNFNWO0VZelNRO0lBQ0U7RVoyU1Y7RVlyU0U7SUFHSTtJQUNBO0lBQ0E7RVowU047RWFsV0E7SUFPSTtFYjRXSjtFYXpXRTtJQWVJO0ViOFdOO0VhN1dNO0lBQ0U7RWIrV1I7RWE3V007SUFDRTtFYitXUjtFYTdXTTtJQUNFO0ViK1dSO0VjN1hFO0lBSUk7RWRrakJOO0VjcmlCSTtJQUtJO0VkcWpCUjtFZXpsQkY7SUFNSTtJQUNBO0Vma3BCRjtFZTlvQkY7SUFLSTtFZm9wQkY7Q2dCNXFCRjtBQUFBO0VIeUNJO0lBZ0JJO0lBQ0E7SUFDQTtJUGxETjtFTjJiQTtFTTFiQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VONGJGO0VNMWJBO0lHK0VBO0lBRUU7SUFDQTtJQUNBO0VUNldGO0VhN1lFO0lBSUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFYm1aTjtFYS9ZRTtJQVdJO0ViZ2FOO0VhL1pNO0lBQ0U7SUFDQTtFYmlhUjtFYS9aTTtJQUNFO0ViaWFSO0VhL1pNO0lBQ0U7SUFDQTtJQUNBO0ViaWFSO0VjbmZFO0lBT0k7RWRvakJOO0VjMWlCSTtJQVFJO0VkdWpCUjtDZ0J0bUJGO0FBQUE7RVA4Qkk7SUlxQkk7RWIyWE47RVN4VkU7SUFDRTtFVDBjSiIsImZpbGUiOiJkYWloYXRzdS9hc3NldHMvY3NzL2QtaGFra2VuLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICog5YCk44GMMuOBpOS7peS4iuOBrumFjeWIl+OBi+OBqeOBhuOBi+WIpOWumuOBmeOCi+mWouaVsFxuICogQHBhcmFtICB7YXJyYXl9ICRfbGlzdCDphY3liJfjgYvliKTlrprjgZfjgZ/jgYTlgKRcbiAqIEByZXR1cm4ge2Jvb2xlfSAgICAgICAg5YCk44GMMuOBpOS7peS4iuOBrumFjeWIl+OBquOCiXRydWVcbiAqL1xuLyoqXG4gKiDmlbDlgKTjgpJyZW3jgavlpInmj5vjgZnjgovplqLmlbDjgafjgZlcbiAqIEBwYXJhbSAge051bWJlcn0gJHRhcmdldCAgICAgICAgcmVt44Gr44GX44Gf44GE5pWw5YCkXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICR0aHJlc2hvbGQgWzFdIOOBl+OBjeOBhOWApFxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgICAgICAgICDmlbDlgKTjgatyZW3jgYzku5jjgYTjgZ/mlbDlgKTjgpLov5TjgZfjgb7jgZlcbiAqL1xuLyoqXG4gKiDmlbDlgKTjgpJlbeOBq+WkieaPm+OBmeOCi+mWouaVsOOBp+OBmVxuICogQHBhcmFtICB7TnVtYmVyfSAkdGFyZ2V0ICAgICAgICAgICBlbeOBq+OBl+OBn+OBhOaVsOWApFxuICogQHBhcmFtICB7TnVtYmVyfSAkcGFyZW50VmFsdWUgWzE2XSDjgZfjgY3jgYTlgKRcbiAqIEByZXR1cm4ge051bWJlcn0gICAgICAgICAgICAgICAgICAg5pWw5YCk44GrcmVt44GM5LuY44GE44Gf5pWw5YCk44KS6L+U44GX44G+44GZXG4gKi9cbi8qKlxuICog5pWw5YCk44KScHjjgavlpInmj5vjgZnjgovplqLmlbDjgafjgZlcbiAqIEBwYXJhbSAge051bWJlcn0gJGFyZ2V0ICAgICAgICAgIHB444Gr44GX44Gf44GE5pWw5YCkXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICR0aHJlc2hvbGQgWzFdICDjgZfjgY3jgYTlgKRcbiAqIEByZXR1cm4ge051bWJlcn0gICAgICAgICAgICAgICAgIOaVsOWApOOBq3B444GM5LuY44GE44Gf5pWw5YCk44KS6L+U44GX44G+44GZXG4gKi9cbi8qKlxuICogbGluZS1oZWlnaHTjgYwx44Gu5pmC44Go5ZCM44GY44Gr44Gq44KL44KI44GG44GrbGluZS1oZWlnaHTliIbjga7lt67liIbjgpLov5TjgZnplqLmlbDjgafjgZlcbiAqIEBwYXJhbSAge051bWJlcn0gJGxpbmVIZWlnaHQgbGluZUhlaWdodOOBruWApFxuICogQHBhcmFtICB7TnVtYmVyfSAkZm9udFNpemUgICBmb25044Gu5YCkXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgICAgIOW3ruWIhuOBruaVsOWApFxuICovXG4vKipcbiAqIOa3seOBhOmajuWxpOOBrm1hcOOBruWApOOCkuWPluW+l+OBl+OBpui/lOOBmemWouaVsOOBp+OBmeOAglxuICogQHBhcmFtICB7bWFwfSAkbWFwICAgbWFw5pys5L2TXG4gKiBAcGFyYW0gIHttYXB9ICRrZXlzICBtYXDjga5rZXlcbiAqIEByZXR1cm4ge21hcH0gICAgICAgIOaMh+WumuOBl+OBn21hcOOBrmtleVxuICovXG4vKipcbiAqICRicmVha3BvaW50c+OBruS4reOBruaVsOWApOOCkkBtZWRpYeOBq+WFpeOCjOOBpmVt44Gr44GX44Gm6L+U44GZbWl4aW5cbiAqIEBwYXJhbSAge2FycmF5fSAgJGJyZWFrcG9pbnQgW3NtXSAgJGJyZWFrcG9pbnRz44Gua2V544GuYXJyYXlcbiAqIEBwYXJhbSAge3N0cmluZ30gJGtleSAgICAgICAgW21pbl0gbWluIG9yIG1heFxuICogQHJldHVybiB7dm9pZH0gICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKCRrZXktd2lkdGgpIHt9XG4gKi9cbi8qKlxuICogZm9udC13ZWlnaHTjga7mlbDlgKTjgpLov5TjgZnplqLmlbBcbiAqIEBwYXJhbSAge1N0cmluZ30gJHdlaWdodCB3ZWlnaHTjga7jgq3jg7zjg6/jg7zjg4nlgKRcbiAqIEByZXR1cm4ge051bWJlcn0gICAgICAgICB3ZWlnaHTjga5udW1iZXJcbiAqL1xuLyoqXG4gKiDoibLjgpJtYXDjgYvjgonlj5blvpfjgZnjgovplqLmlbDjgafjgZlcbiAqIEBwYXJhbSAge2FycmF5fSAgJGtleXMgICAgICDphY3liJdcbiAqIEBwYXJhbSAge251bWJlcn0gJF9vcGFjaXR5ICAwLjAgfiAxXG4gKiBAcmV0dXJuIHttYXB9ICAgICAgICAgICAgICAgJGNvbG9yc+OBruS7u+aEj+OBrmtleVxuICovXG4vKipcbiAqIHotaW5kZXjjgpJtYXDjgYvjgonlj5blvpfjgZnjgovplqLmlbDjgafjgZlcbiAqIEBwYXJhbSAge2FycmF5fSAka2V5cyAg6YWN5YiXXG4gKiBAcmV0dXJuIHttYXB9ICAgJHotaW5kZXjjga7ku7vmhI/jga5rZXlcbiAqL1xuLyoqXG4gKiDmk6zkvLzopoHntKDjgafjgqLjgrnjg5rjgq/jg4jmr5Tjga7poJjln5/jgpLnorrkv53jgZnjgottaXhpblxuICogQHBhcmFtICB7JF93aWR0aH0gICAgICAgICAgICAgICAgICAg5qiq44Gu5YCkXG4gKiBAcGFyYW0gIHskX2hlaWdodH0gICAgICAgICAgICAgICAgICDnuKbjga7lgKRcbiAqIEBwYXJhbSAgeyRfcHNldWRvX2VsZW1lbnR9IFtiZWZvcmVdIOa2iOiyu+OBmeOCi+eWkeS8vOimgee0oCBiZWZvcmUgb3IgYWZ0ZXJcbiAqIEByZXR1cm4ge3ZvaWR9XG4gKi9cbi8qKlxuICogZm9udOOCkm1hcOOBi+OCieWPluW+l+OBmeOCi+mWouaVsOOBp+OBmVxuICogQHBhcmFtICB7YXJyYXl9ICRrZXlzICDphY3liJdcbiAqIEByZXR1cm4ge21hcH0gICAkZm9udHPjga7ku7vmhI/jga5rZXlcbiAqL1xuLmZvb3QtYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzMzVweDtcbiAgcGFkZGluZzogMjJweCAyNnB4O1xuICBtYXJnaW46IDYwcHggYXV0byAxMjdweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JiMGEyZjtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UtaW47XG59XG4uZm9vdC1iYW5uZXI6aG92ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuZm9vdC1iYW5uZXIge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgbWFyZ2luLXRvcDogMTEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTcwcHg7XG4gIH1cbn1cbi5mb290LWJhbm5lcl9faW5uZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMzZweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5mb290LWJhbm5lcl9faW5uZXIge1xuICAgIG1heC13aWR0aDogMjM1cHg7XG4gIH1cbn1cbi5mb290LWJhbm5lcl9feW91dHViZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uZm9vdC1iYW5uZXJfX3lvdXR1YmU6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDIyLjMyNzMxODk3MzElO1xuICBjb250ZW50OiBcIlwiO1xufVxuLmZvb3QtYmFubmVyX195b3V0dWJlID4gaW1nLCAuZm9vdC1iYW5uZXJfX3lvdXR1YmUgc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cbi5mb290LWJhbm5lcl9fdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE2NjY2NjY2Njc7XG4gIGNvbG9yOiAjZmZmO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmZvb3QtYmFubmVyX190ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxufVxuLmZvb3QtYmFubmVyX19pbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE2MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmZvb3QtYmFubmVyX19pbWc6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDk1JTtcbiAgY29udGVudDogXCJcIjtcbn1cbi5mb290LWJhbm5lcl9faW1nID4gaW1nLCAuZm9vdC1iYW5uZXJfX2ltZyBzdmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmZvb3QtYmFubmVyX19pbWcge1xuICAgIG1heC13aWR0aDogMjg1LjVweDtcbiAgfVxufVxuXG4uaGVybyB7XG4gIGhlaWdodDogMTYwdnc7XG4gIG1heC1oZWlnaHQ6IDYwMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWcvZC1oYWtrZW4vaGVyby1pbWdfc3BAMnguanBnKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gNTB2dyk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoNTB2dyAtIDUwJSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoNTB2dyAtIDUwJSk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuaGVybyB7XG4gICAgaGVpZ2h0OiA0NHZ3O1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1nL2QtaGFra2VuL2hlcm8taW1nX3BjQDJ4LmpwZyk7XG4gIH1cbn1cbi5oZXJvX19pbm5lciB7XG4gIHBhZGRpbmctdG9wOiA4NHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjUwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuaGVyb19faW5uZXIge1xuICAgIHBhZGRpbmctdG9wOiAzOHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNDBweDtcbiAgfVxufVxuLmhlcm8tdGl0bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDgwJTtcbiAgbWF4LXdpZHRoOiA0MzBweDtcbn1cbi5oZXJvLXRpdGxlX190ZXh0IHtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmhlcm8tdGl0bGVfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgfVxufVxuLmhlcm8tdGl0bGVfX21haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAxM3B4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmhlcm8tdGl0bGVfX21haW46OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDcyLjI1MjQ5MjY3OTUlO1xuICBjb250ZW50OiBcIlwiO1xufVxuLmhlcm8tdGl0bGVfX21haW4gPiBpbWcsIC5oZXJvLXRpdGxlX19tYWluIHN2ZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG4uaGVyby10aXRsZV9fbWFpbiA+IGltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuaGVyby10aXRsZV9fbWFpbiB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgfVxufVxuLmhlcm8tdGl0bGUteW91dHViZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDEzcHg7XG59XG4uaGVyby10aXRsZS15b3V0dWJlX19pbWcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMzguMjVweDtcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uaGVyby10aXRsZS15b3V0dWJlX19pbWc6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDIyLjMyMTg4MDY1MSU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4uaGVyby10aXRsZS15b3V0dWJlX19pbWcgPiBpbWcsIC5oZXJvLXRpdGxlLXlvdXR1YmVfX2ltZyBzdmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuLmhlcm8tdGl0bGUteW91dHViZV9faW1nID4gc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5oZXJvLXRpdGxlLXlvdXR1YmVfX2ltZyB7XG4gICAgbWF4LXdpZHRoOiAyMTcuOTlweDtcbiAgfVxufVxuLmhlcm8tdGl0bGUteW91dHViZV9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMS40Mzc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmhlcm8tdGl0bGUteW91dHViZV9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gIH1cbn1cblxuLmxpc3QgLnlvdXR1YmUtbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5saXN0IC55b3V0dWJlLWxpc3Qge1xuICAgIG1hcmdpbi1yaWdodDogLTQwcHg7XG4gIH1cbn1cbi5saXN0IC55b3V0dWJlLWxpc3RfX2l0ZW0ge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmxpc3QgLnlvdXR1YmUtbGlzdF9faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAxMjBweCkgLyAzKTtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgfVxufVxuLmxpc3QgLnlvdXR1YmUtZGVzIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLm5ld19faW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLm5ld19faW5uZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLm5ldyAueW91dHViZSB7XG4gICAgd2lkdGg6IDYxLjIlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDM0cHg7XG4gIH1cbn1cbi5uZXcgLnlvdXR1YmUtdGl0bGUge1xuICBwYWRkaW5nOiA0cHggMTBweDtcbn1cbi5uZXcgLnlvdXR1YmUtdGl0bGVfX251bSB7XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG59XG4ubmV3IC55b3V0dWJlLXRpdGxlLXN0YXJ0X190ZXh0IHtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbn1cbi5uZXcgLnlvdXR1YmUtdGl0bGUtc3RhcnRfX2ltZyB7XG4gIG1heC13aWR0aDogMTRweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5uZXcgLnlvdXR1YmUtdGl0bGUge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gIH1cbiAgLm5ldyAueW91dHViZS10aXRsZV9fbnVtIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gIH1cbiAgLm5ldyAueW91dHViZS10aXRsZS1zdGFydF9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICB9XG4gIC5uZXcgLnlvdXR1YmUtdGl0bGUtc3RhcnRfX2ltZyB7XG4gICAgbWF4LXdpZHRoOiAyNHB4O1xuICB9XG59XG4ubmV3IC55b3V0dWJlLWRlcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAubmV3IC55b3V0dWJlLWRlcyB7XG4gICAgd2lkdGg6IGNhbGMoMzguOCUgLSAzNHB4KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4udGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udGl0bGUtbWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNDBweCAxNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYjBhMmY7XG4gIG1hcmdpbi1yaWdodDogY2FsYyg1MCUgLSA1MHZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNTB2dyk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAudGl0bGUtbWFpbiB7XG4gICAgcGFkZGluZzogMzBweCAxNXB4IDQ1cHg7XG4gIH1cbn1cbi50aXRsZS1tYWluX190ZXh0IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS43NTtcbiAgY29sb3I6ICNmZmY7XG59XG4udGl0bGUtbWFpbl9fdGV4dC1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG4udGl0bGUtbWFpbl9fdGV4dC1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuLnRpdGxlLW1haW5fX3RleHQuLW10IHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC50aXRsZS1tYWluX190ZXh0IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gIH1cbiAgLnRpdGxlLW1haW5fX3RleHQtc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgfVxuICAudGl0bGUtbWFpbl9fdGV4dC1sYXJnZSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG4gIC50aXRsZS1tYWluX190ZXh0Li1tdCB7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbiAgfVxufVxuLnRpdGxlLW1haW5fX2ltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMjMwcHg7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxODdweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi50aXRsZS1tYWluX19pbWc6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDEyMi45OTQ2NTI0MDY0JTtcbiAgY29udGVudDogXCJcIjtcbn1cbi50aXRsZS1tYWluX19pbWcgPiBpbWcsIC50aXRsZS1tYWluX19pbWcgc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIC50aXRsZS1tYWluX19pbWc6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcbiAgfVxufVxuYm9keS5pZS53aW5kb3dzIC50aXRsZS1tYWluX19pbWc6aG92ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XG59XG5cbl86LW1zLWZ1bGxzY3JlZW46aG92ZXIsIDpyb290IC50aXRsZS1tYWluX19pbWc6aG92ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XG59XG5cbi50aXRsZS1tYWluX19pbWcgPiBpbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnRpdGxlLW1haW5fX2ltZyB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXgtd2lkdGg6IDI4OHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLnRpdGxlLW1haW5fX2ltZzo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMTM0LjIyNDU5ODkzMDUlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbiAgLnRpdGxlLW1haW5fX2ltZyA+IGltZywgLnRpdGxlLW1haW5fX2ltZyBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIH1cbn1cbi50aXRsZS1pbWdfX2xpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gNTB2dyk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnRpdGxlLWltZ19fbGlzdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMjV2dztcbiAgICBtYXgtd2lkdGg6IDM0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNDVweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cbi50aXRsZS1pbWdfX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDJweCBzb2xpZCAjYmIwYTJmO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnRpdGxlLWltZ19faXRlbTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogNjYuMTUzODQ2MTUzOCU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4udGl0bGUtaW1nX19pdGVtID4gaW1nLCAudGl0bGUtaW1nX19pdGVtIHN2ZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG4udGl0bGUtaW1nX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudGl0bGUtaW1nX19pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDU4LjglO1xuICB9XG4gIC50aXRsZS1pbWdfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgLnRpdGxlLWltZ19faXRlbTpudGgtY2hpbGQoMikge1xuICAgIG1hcmdpbi10b3A6IC00MHB4O1xuICB9XG4gIC50aXRsZS1pbWdfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogLTEycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG59XG5cbi55b3V0dWJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcbn1cbi55b3V0dWJlOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cztcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIC55b3V0dWJlOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICB9XG59XG5ib2R5LmllLndpbmRvd3MgLnlvdXR1YmU6aG92ZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG5fOi1tcy1mdWxsc2NyZWVuOmhvdmVyOjphZnRlciwgOnJvb3QgLnlvdXR1YmU6aG92ZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4ueW91dHViZV9faW1nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi55b3V0dWJlX19pbWc6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDU2LjM3OTgyMTk1ODUlO1xuICBjb250ZW50OiBcIlwiO1xufVxuLnlvdXR1YmVfX2ltZyA+IGltZywgLnlvdXR1YmVfX2ltZyBzdmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuLnlvdXR1YmUtdGl0bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmIwYTJmO1xufVxuLnlvdXR1YmUtdGl0bGVfX251bSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC55b3V0dWJlLXRpdGxlX19udW0ge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLnlvdXR1YmUtdGl0bGVfX251bSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICB9XG59XG4ueW91dHViZS10aXRsZS1zdGFydCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4ueW91dHViZS10aXRsZS1zdGFydF9fdGV4dCB7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLnlvdXR1YmUtdGl0bGUtc3RhcnRfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC55b3V0dWJlLXRpdGxlLXN0YXJ0X190ZXh0IHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gIH1cbn1cbi55b3V0dWJlLXRpdGxlLXN0YXJ0X19pbWcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDI0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ueW91dHViZS1kZXMge1xuICBwYWRkaW5nOiA0MHB4IDE4cHg7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi55b3V0dWJlLWRlc19fdGl0bGUge1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG59XG4ueW91dHViZS1kZXNfX3RpdGxlID4gYSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjcxNDI4NTcxNDM7XG59XG4ueW91dHViZS1kZXNfX3RpdGxlID4gYTpob3ZlciB7XG4gIGNvbG9yOiAjYmIwYTJmO1xufVxuLnlvdXR1YmUtZGVzX190ZXh0IHtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU3MTQyODU3MTQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xufVxuLnlvdXR1YmUtZGVzX190ZXh0IGEge1xuICBjb2xvcjogI2JiMGEyZjtcbn1cbi55b3V0dWJlLWRlc19fdGV4dCBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4ueW91dHViZS1kZXNfX3N1YiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbn1cbi55b3V0dWJlLWRlcyAuYWNjb3JkaW9uQm9keSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5kLWhha2tlbi10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuZC1oYWtrZW4tdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG59XG5cbi5tb3JlLWJ0biB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLm1vcmUtYnRuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4ubW9yZS1idG5fX2ljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW46IDEwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMyMjE4MTU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cbi5tb3JlLWJ0bl9faWNvbi1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ubW9yZS1idG5fX2ljb24taW5uZXI6OmJlZm9yZSwgLm1vcmUtYnRuX19pY29uLWlubmVyOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAycHg7XG4gIGhlaWdodDogMTBweDtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyMTgxNTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cbi5tb3JlLWJ0bl9faWNvbi1pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDkwZGVnKTtcbn1cbi5tb3JlLWJ0bl9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG4ubW9yZS1idG5fX3RleHQtc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm1vcmUtYnRuX190ZXh0LWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubW9yZS1idG5bZGF0YS1hY2NvcmRpb24taGVhZGVyXSB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuLm1vcmUtYnRuW2RhdGEtYWNjb3JkaW9uLWhlYWRlcl0gLm1vcmUtYnRuX19pY29uLWlubmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg5MGRlZyk7XG59XG4ubW9yZS1idG5bZGF0YS1hY2NvcmRpb24taGVhZGVyXSAubW9yZS1idG5fX3RleHQtc2hvdyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubW9yZS1idG5bZGF0YS1hY2NvcmRpb24taGVhZGVyXSAubW9yZS1idG5fX3RleHQtaGlkZGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59IiwiLyoqXG4gKiDlgKTjgYwy44Gk5Lul5LiK44Gu6YWN5YiX44GL44Gp44GG44GL5Yik5a6a44GZ44KL6Zai5pWwXG4gKiBAcGFyYW0gIHthcnJheX0gJF9saXN0IOmFjeWIl+OBi+WIpOWumuOBl+OBn+OBhOWApFxuICogQHJldHVybiB7Ym9vbGV9ICAgICAgICDlgKTjgYwy44Gk5Lul5LiK44Gu6YWN5YiX44Gq44KJdHJ1ZVxuICovXG5AZnVuY3Rpb24gaXNfYXJyYXkoJF9saXN0KSB7XG4gIEByZXR1cm4gdHlwZS1vZigkX2xpc3QpID09IGxpc3Qgb3IgdHlwZS1vZigkX2xpc3QpID09IGFyZ2xpc3Q7XG59XG5cbi8qKlxuICog5pWw5YCk44KScmVt44Gr5aSJ5o+b44GZ44KL6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICR0YXJnZXQgICAgICAgIHJlbeOBq+OBl+OBn+OBhOaVsOWApFxuICogQHBhcmFtICB7TnVtYmVyfSAkdGhyZXNob2xkIFsxXSDjgZfjgY3jgYTlgKRcbiAqIEByZXR1cm4ge051bWJlcn0gICAgICAgICAgICAgICAg5pWw5YCk44GrcmVt44GM5LuY44GE44Gf5pWw5YCk44KS6L+U44GX44G+44GZXG4gKi9cbkBmdW5jdGlvbiBfcmVtKCR0YXJnZXQsICR0aHJlc2hvbGQpIHtcbiAgQGlmKHVuaXQoJHRhcmdldCkgIT0gJycpIHtcbiAgICBAZXJyb3IgJ3JlbeOBq+OBl+OBn+OBhOaVsOWApOOBq+WNmOS9jeOCkuS7mOOBkeOBquOBhOOBp+OBj+OBoOOBleOBhCc7XG4gIH0gQGVsc2UgaWYodW5pdCgkdGhyZXNob2xkKSAhPSAnJykge1xuICAgIEBlcnJvciAn44GX44GN44GE5YCk44Gr5Y2Y5L2N44KS5LuY44GR44Gq44GE44Gn44GP44Gg44GV44GEJ1xuICB9IEBlbHNlIGlmKCR0YXJnZXQgPT0gMCkge1xuICAgIEByZXR1cm4gJHRhcmdldDtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAoKCgkdGFyZ2V0IC8gMTYpICogJHRocmVzaG9sZCkgKiAxcmVtKTtcbiAgfVxufVxuXG4vL+esrOS4gOW8leaVsOOBq+mFjeWIl+OCkua4oeOBmeOBk+OBqOOBjOWPr+iDveOBq+OBquOBo+OBn1xuQGZ1bmN0aW9uIHJlbSgkdGFyZ2V0LCAkdGhyZXNob2xkOiAxKSB7XG4gIEBpZihpc19hcnJheSgkdGFyZ2V0KSkge1xuICAgICRuZXdfcmVtX2FycmF5OiAoKTtcbiAgICBAZWFjaCAkdGFyZ2V0X2l0ZW0gaW4gJHRhcmdldCB7XG4gICAgICAkbmV3X3JlbV9hcnJheTogYXBwZW5kKCRuZXdfcmVtX2FycmF5LCBfcmVtKCR0YXJnZXRfaXRlbSwgJHRocmVzaG9sZCkpO1xuICAgIH1cbiAgICBAcmV0dXJuICRuZXdfcmVtX2FycmF5O1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIF9yZW0oJHRhcmdldCwkdGhyZXNob2xkKTtcbiAgfVxufVxuXG4vKipcbiAqIOaVsOWApOOCkmVt44Gr5aSJ5o+b44GZ44KL6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICR0YXJnZXQgICAgICAgICAgIGVt44Gr44GX44Gf44GE5pWw5YCkXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICRwYXJlbnRWYWx1ZSBbMTZdIOOBl+OBjeOBhOWApFxuICogQHJldHVybiB7TnVtYmVyfSAgICAgICAgICAgICAgICAgICDmlbDlgKTjgatyZW3jgYzku5jjgYTjgZ/mlbDlgKTjgpLov5TjgZfjgb7jgZlcbiAqL1xuQGZ1bmN0aW9uIF9lbSgkdGFyZ2V0LCAkcGFyZW50VmFsdWUpIHtcbiAgQGlmKHVuaXQoJHRhcmdldCkgIT0gJycpIHtcbiAgICBAZXJyb3IgJ2Vt44Gr44GX44Gf44GE5pWw5YCk44Gr5Y2Y5L2N44KS5LuY44GR44Gq44GE44Gn44GP44Gg44GV44GEJztcbiAgfSBAZWxzZSBpZih1bml0KCRwYXJlbnRWYWx1ZSkgIT0gJycpIHtcbiAgICBAZXJyb3IgJ+imquimgee0oOOBruaVsOWApOOBq+WNmOS9jeOCkuS7mOOBkeOBquOBhOOBp+OBj+OBoOOBleOBhCdcbiAgfSBAZWxzZSBpZigkdGFyZ2V0ID09IDApIHtcbiAgICBAcmV0dXJuICR0YXJnZXQ7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gKCgkdGFyZ2V0IC8gMTYpICogMWVtKTtcbiAgfVxufVxuXG4vL+esrOS4gOW8leaVsOOBq+mFjeWIl+OCkua4oeOBmeOBk+OBqOOBjOWPr+iDveOBq+OBquOBo+OBn1xuQGZ1bmN0aW9uIGVtKCR0YXJnZXQsICRwYXJlbnRWYWx1ZTogMTYpIHtcbiAgQGlmKGlzX2FycmF5KCR0YXJnZXQpKSB7XG4gICAgJG5ld19lbV9hcnJheTogKCk7XG4gICAgQGVhY2ggJHRhcmdldF9pdGVtIGluICR0YXJnZXQge1xuICAgICAgJG5ld19lbV9hcnJheTogYXBwZW5kKCRuZXdfZW1fYXJyYXksIF9lbSgkdGFyZ2V0X2l0ZW0sICRwYXJlbnRWYWx1ZSkpO1xuICAgIH1cbiAgICBAcmV0dXJuICRuZXdfZW1fYXJyYXk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gX2VtKCR0YXJnZXQsJHBhcmVudFZhbHVlKTtcbiAgfVxufVxuXG5cbi8qKlxuICog5pWw5YCk44KScHjjgavlpInmj5vjgZnjgovplqLmlbDjgafjgZlcbiAqIEBwYXJhbSAge051bWJlcn0gJGFyZ2V0ICAgICAgICAgIHB444Gr44GX44Gf44GE5pWw5YCkXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICR0aHJlc2hvbGQgWzFdICDjgZfjgY3jgYTlgKRcbiAqIEByZXR1cm4ge051bWJlcn0gICAgICAgICAgICAgICAgIOaVsOWApOOBq3B444GM5LuY44GE44Gf5pWw5YCk44KS6L+U44GX44G+44GZXG4gKi9cbkBmdW5jdGlvbiBfcHgoJHRhcmdldCwgJHRocmVzaG9sZCkge1xuICBAaWYodW5pdCgkdGFyZ2V0KSAhPSAnJykge1xuICAgIEBlcnJvciAncHjjgavjgZfjgZ/jgYTmlbDlgKTjgavljZjkvY3jgpLku5jjgZHjgarjgYTjgafjgY/jgaDjgZXjgYQnO1xuICB9IEBlbHNlIGlmKHVuaXQoJHRocmVzaG9sZCkgIT0gJycpIHtcbiAgICBAZXJyb3IgJ+OBl+OBjeOBhOWApOOBq+WNmOS9jeOCkuS7mOOBkeOBquOBhOOBp+OBj+OBoOOBleOBhCdcbiAgfSBAZWxzZSBpZigkdGFyZ2V0ID09IDApIHtcbiAgICBAcmV0dXJuICR0YXJnZXQ7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gKCgkdGFyZ2V0ICogJHRocmVzaG9sZCkgKiAxcHgpO1xuICB9XG59XG5cbi8v56ys5LiA5byV5pWw44Gr6YWN5YiX44KS5rih44GZ44GT44Go44GM5Y+v6IO944Gr44Gq44Gj44GfXG5AZnVuY3Rpb24gcHgoJHRhcmdldCwgJHRocmVzaG9sZDogMSkge1xuICBAaWYoaXNfYXJyYXkoJHRhcmdldCkpIHtcbiAgICAkbmV3X3B4X2FycmF5OiAoKTtcbiAgICBAZWFjaCAkdGFyZ2V0X2l0ZW0gaW4gJHRhcmdldCB7XG4gICAgICAkbmV3X3B4X2FycmF5OiBhcHBlbmQoJG5ld19weF9hcnJheSwgX3B4KCR0YXJnZXRfaXRlbSwgJHRocmVzaG9sZCkpO1xuICAgIH1cbiAgICBAcmV0dXJuICRuZXdfcHhfYXJyYXk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gX3B4KCR0YXJnZXQsJHRocmVzaG9sZCk7XG4gIH1cbn1cblxuLyoqXG4gKiBsaW5lLWhlaWdodOOBjDHjga7mmYLjgajlkIzjgZjjgavjgarjgovjgojjgYbjgatsaW5lLWhlaWdodOWIhuOBruW3ruWIhuOCkui/lOOBmemWouaVsOOBp+OBmVxuICogQHBhcmFtICB7TnVtYmVyfSAkbGluZUhlaWdodCBsaW5lSGVpZ2h044Gu5YCkXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICRmb250U2l6ZSAgIGZvbnTjga7lgKRcbiAqIEByZXR1cm4ge051bWJlcn0gICAgICAgICAgICAg5beu5YiG44Gu5pWw5YCkXG4gKi9cbkBmdW5jdGlvbiBtYXJnaW4oJF9saW5lSGVpZ2h0LCAkX2ZvbnRTaXplKSB7XG4gIEBpZih1bml0KCRfbGluZUhlaWdodCkgIT0gJycpIHtcbiAgICBAZXJyb3IgJ2xpbmUtaGVpZ2h044Gr5Y2Y5L2N44KS5LuY44GR44Gq44GE44Gn44GP44Gg44GV44GEJztcbiAgfSBAZWxzZSBpZih1bml0KCRfZm9udFNpemUpICE9ICcnKSB7XG4gICAgQGVycm9yICdmb250LXNpemXjgavljZjkvY3jgpLku5jjgZHjgarjgYTjgafjgY/jgaDjgZXjgYQnO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICgkX2ZvbnRTaXplICogJF9saW5lSGVpZ2h0IC0gJF9mb250U2l6ZSkgLyAyO1xuICB9XG59XG5cbi8qKlxuICog5rex44GE6ZqO5bGk44GubWFw44Gu5YCk44KS5Y+W5b6X44GX44Gm6L+U44GZ6Zai5pWw44Gn44GZ44CCXG4gKiBAcGFyYW0gIHttYXB9ICRtYXAgICBtYXDmnKzkvZNcbiAqIEBwYXJhbSAge21hcH0gJGtleXMgIG1hcOOBrmtleVxuICogQHJldHVybiB7bWFwfSAgICAgICAg5oyH5a6a44GX44GfbWFw44Gua2V5XG4gKi9cbkBmdW5jdGlvbiBtYXAtZGVlcC1nZXQoJG1hcCwgJGtleXMuLi4pIHtcbiAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgQGlmIChub3QgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgJG1hcDogbWFwLWdldCgkbWFwLCAka2V5KTtcbiAgfVxuICBAcmV0dXJuICRtYXA7XG59XG4iLCIvL+ODluODrOODvOOCr+ODneOCpOODs+ODiOOBruWumue+qVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8v44Oh44OH44Kj44Ki44Kv44Ko44Oq44Gu5aSJ5pWwXG4kYnJlYWtwb2ludHM6IChcbiAgeHM6IDM2NSxcbiAgc206IDcyMCxcbiAgbWQ6IDk4MCxcbiAgbGc6IDEyMDAsXG4pO1xuXG4vL+OCq+ODs+ODl+OBruOCpOODs+ODiuODvOaoquW5hVxuJHdyYXBwZXItd2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBtZCApO1xuLy/jgrnjg57jg5vmmYLjga7lt6blj7Pjga5wYWRkaW5nXG4kd3JhcHBlci1wYWRkaW5nOiAyMDtcblxuLyoqXG4gKiAkYnJlYWtwb2ludHPjga7kuK3jga7mlbDlgKTjgpJAbWVkaWHjgavlhaXjgozjgaZlbeOBq+OBl+OBpui/lOOBmW1peGluXG4gKiBAcGFyYW0gIHthcnJheX0gICRicmVha3BvaW50IFtzbV0gICRicmVha3BvaW50c+OBrmtleeOBrmFycmF5XG4gKiBAcGFyYW0gIHtzdHJpbmd9ICRrZXkgICAgICAgIFttaW5dIG1pbiBvciBtYXhcbiAqIEByZXR1cm4ge3ZvaWR9ICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICgka2V5LXdpZHRoKSB7fVxuICovXG5AbWl4aW4gbWVkaWEoJF9icmVha3BvaW50czogc20sICRfa2V5OiBtaW4pIHtcbiAgLy8kX2JyZWFrcG9pbnRz44GuRXJyb3LmpJzlh7pcbiAgQGVhY2ggJF9oYXNfYnJlYWtwb2ludCBpbiAkX2JyZWFrcG9pbnRzIHtcbiAgICAkX2N1cnJlbnRfaW5kZXg6IGluZGV4KCRfYnJlYWtwb2ludHMsICRfaGFzX2JyZWFrcG9pbnQpO1xuICAgIEBpZihtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRfaGFzX2JyZWFrcG9pbnQpID09IGZhbHNlKSB7XG4gICAgICBAZXJyb3IgJ+esrOS4gOW8leaVsOOBriN7JF9jdXJyZW50X2luZGV4feebruOBruWApCN7JF9oYXNfYnJlYWtwb2ludH3jga/nhKHlirnjgarlgKTjgafjgZnjgIInO1xuICAgIH1cbiAgfVxuICAvLyRfa2V544GMbWlu44GLbWF444GL44GuRXJyb3LmpJzlh7pcbiAgJGtleV9hcnJheTogKG1pbixtYXgpO1xuICBAaWYoaW5kZXgoJGtleV9hcnJheSwgJF9rZXkpID09IG51bGwpIHtcbiAgICBAZXJyb3IgJ+esrOS6jOW8leaVsCN7JF9rZXl944Gv54Sh5Yq544Gq5YCk44Gn44GZ44CCbWluIG9yIG1heOOBp+aMh+WumuOBl+OBpuOBj+OBoOOBleOBhOOAgidcbiAgfVxuXG4gICRfYnJlYWtwb2ludC1sZW5ndGg6IGxlbmd0aCgkX2JyZWFrcG9pbnRzKTtcbiAgQGlmKCRfYnJlYWtwb2ludC1sZW5ndGggPT0gMSkge1xuXG4gICAgJF9maXJzdF9icmVha3BvaW50OiBudGgoJF9icmVha3BvaW50cywxKTtcbiAgICAkX2ZpcnN0X2JyZWFrcG9pbnRfdmFsdWU6IG1hcF9nZXQoJGJyZWFrcG9pbnRzLCRfZmlyc3RfYnJlYWtwb2ludCk7XG4gICAgQGlmICgkX2tleSA9PSBtYXgpIHtcbiAgICAgIEBtZWRpYSAoI3skX2tleX0td2lkdGg6IGVtKCRfZmlyc3RfYnJlYWtwb2ludF92YWx1ZSkgLSAuMDAxMSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGlmICgkX2tleSA9PSBtaW4pIHtcbiAgICAgIEBtZWRpYSAoI3skX2tleX0td2lkdGg6IGVtKCRfZmlyc3RfYnJlYWtwb2ludF92YWx1ZSkpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gIH0gQGVsc2UgaWYoJF9icmVha3BvaW50LWxlbmd0aCA9PSAyKSB7XG5cbiAgICAkX2ZpcnN0X2JyZWFrcG9pbnQ6IG50aCgkX2JyZWFrcG9pbnRzLDEpO1xuICAgICRfc2Vjb25kX2JyZWFrcG9pbnQ6IG50aCgkX2JyZWFrcG9pbnRzLDIpO1xuICAgICRfZmlyc3RfYnJlYWtwb2ludF92YWx1ZTogbWFwX2dldCgkYnJlYWtwb2ludHMsJF9maXJzdF9icmVha3BvaW50KTtcbiAgICAkX3NlY29uZF9icmVha3BvaW50X3ZhbHVlOiBtYXBfZ2V0KCRicmVha3BvaW50cywkX3NlY29uZF9icmVha3BvaW50KTtcbiAgICAkX21heF92YWx1ZTogbWF4KCRfZmlyc3RfYnJlYWtwb2ludF92YWx1ZSwkX3NlY29uZF9icmVha3BvaW50X3ZhbHVlKTtcbiAgICAkX21pbl92YWx1ZTogbWluKCRfZmlyc3RfYnJlYWtwb2ludF92YWx1ZSwkX3NlY29uZF9icmVha3BvaW50X3ZhbHVlKTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBlbSgkX21pbl92YWx1ZSkpIGFuZCAobWF4LXdpZHRoOiBlbSgkX21heF92YWx1ZSkgLSAuMDAxMSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciAn56ys5LiA5byV5pWw44Gv5pyA5aSnMuOBpOOBl+OBi+ioreWumuOBp+OBjeOBvuOBm+OCk+OAgidcbiAgfVxufVxuIiwiJGZvbnQtd2VpZ2h0OiAoXG4gIHRoaW46IDEwMCxcbiAgbGlnaHQ6IDMwMCxcbiAgcmVndWxhcjogNDAwLFxuICBtZWRpdW06IDUwMCxcbiAgYm9sZDogNzAwLFxuICBibGFjazogOTAwXG4pO1xuXG4vKipcbiAqIGZvbnQtd2VpZ2h044Gu5pWw5YCk44KS6L+U44GZ6Zai5pWwXG4gKiBAcGFyYW0gIHtTdHJpbmd9ICR3ZWlnaHQgd2VpZ2h044Gu44Kt44O844Ov44O844OJ5YCkXG4gKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICAgd2VpZ2h044GubnVtYmVyXG4gKi9cbkBmdW5jdGlvbiBmb250LXdlaWdodCgkX3dlaWdodCkge1xuICBAaWYobWFwLWhhcy1rZXkoJGZvbnQtd2VpZ2h0LCAkX3dlaWdodCkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvbnQtd2VpZ2h0LCAkX3dlaWdodCk7XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciAn5L2/44GI44KL5YCk44Gv5Lul5LiL44Gn44GZ4oaSI3ttYXAta2V5cygkZm9udC13ZWlnaHQpfSdcbiAgfVxufSIsIi8v6Imy44Gu5a6a576pXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjb2xvcnM6IChcbiAgd2hpdGU6ICNmZmYsXG4gIGJsYWNrOiAjMDAwLFxuICByZWQ6ICNkODNlNGYsXG4gIGdyYXk6ICM1OTU3NTcsXG4gIHNub3c6ICNlZmVmZWYsXG4gIHNpbHZlcjogI2NjYyxcbiAgbmF2eTogIzAwNDBhNyxcbiAgYmx1ZTogIzAwYTBlOSxcbiAgZ3JlZW46ICMwMDkxM2EsXG4gIHBpbms6ICNmN2Q4ZGMsXG4gIHRleHQ6IChcbiAgICBibGFjazogIzIyMTgxNSxcbiAgICBkZWVwcmVkOiAjZGMyNjNmLFxuICAgIGxpZ2h0cmVkOiAjZTczZTUxLFxuICApLFxuICBiZDogKFxuICAgIGdyYXk6ICNjY2MsXG4gICAgYmxhY2s6ICMyMjE4MTUsXG4gICAgZGVlcHJlZDogI2RjMjYzZixcbiAgICBsaWdodHJlZDogI2U3M2U1MSxcbiAgKSxcbiAgYmc6IChcbiAgICBncmF5OiAjZWZlZmVmLFxuICAgIGJsYWNrOiAjMjIxODE1LFxuICAgIGRlZXByZWQ6ICNkYzI2M2YsXG4gICAgbGlnaHRyZWQ6ICNlNzNlNTEsXG4gICksXG4gIGVsZWM6IChcbiAgICBwaW5rOiNmZmIyYmMsXG4gICAgeWVsbG93OiAjZmZlMjQwLFxuICAgIHNpbHZlcjogIzcwNzA3MCxcbiAgICBsaWdodHNpbHZlcjogI2NkY2VjZSxcbiAgICBsLXBpbms6ICNmZGQwZDAsXG4gICAgZC1waW5rOiAjZmZkYmRiLFxuICAgIG8tcGluazogI2ZmZWJlZSxcbiAgICBnb2xkOiAjZTdlM2RhLFxuICApLFxuICBkaHR2OiAoXG4gICAgcmVkOiAjYmIwYTJmXG4gICksXG4gIGR3YXNoOiAoXG4gICAgYmxhY2s6ICMwODA4MDgsXG4gICAgZ3JlZW46ICMzM2FmMzMsXG4gICAgYmx1ZTogIzAwNDBhNyxcbiAgICBsaWdodGJsdWU6ICMxNTVkZDEsXG4gICksXG4gIHNkZ3M6IChcbiAgICBibHVlOiAjMDA5ZWRiLFxuICAgIGxpZ2h0Ymx1ZTogI2YyZjVmOSxcbiAgICBib3JkZXJibHVlOiAjMDA3ZWFmLFxuICApLFxuICBldGFqaW1hOiAoXG4gICAgcmVkOiAjYjcyMzFkLFxuICAgIGJsdWU6ICMwMDkzZmYsXG4gICAgYmctYmx1ZTogIzNiOGFjNCxcbiAgICB5ZWxsb3c6ICNmZmQ4MzQsXG4gIClcbik7XG5cbi8qKlxuICog6Imy44KSbWFw44GL44KJ5Y+W5b6X44GZ44KL6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHthcnJheX0gICRrZXlzICAgICAg6YWN5YiXXG4gKiBAcGFyYW0gIHtudW1iZXJ9ICRfb3BhY2l0eSAgMC4wIH4gMVxuICogQHJldHVybiB7bWFwfSAgICAgICAgICAgICAgICRjb2xvcnPjga7ku7vmhI/jga5rZXlcbiAqL1xuQGZ1bmN0aW9uIGNvbG9yKCRfa2V5cywkX29wYWNpdHk6IG51bGwpIHtcbiAgQGlmKCRfb3BhY2l0eSAhPSBudWxsKSB7XG4gICAgQHJldHVybiByZ2JhKG1hcC1kZWVwLWdldCgkY29sb3JzLCAkX2tleXMuLi4pLCRfb3BhY2l0eSlcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZGVlcC1nZXQoJGNvbG9ycywgJF9rZXlzLi4uKVxuICB9XG59XG4iLCIkei1pbmRleDogKFxuICBoYW06IDUwMixcbiAgZ25hdjogNTAxLFxuICByZXNlcnZlZDogNTAwLFxuICBmcm9udDogMjAwLFxuICBtb2RhbDogKFxuICAgIG1haW46IDEwMSxcbiAgKSxcbiAgbWFpbjogMSxcbiAgYmFjazogLTFcbik7XG5cblxuLyoqXG4gKiB6LWluZGV444KSbWFw44GL44KJ5Y+W5b6X44GZ44KL6Zai5pWw44Gn44GZXG4gKiBAcGFyYW0gIHthcnJheX0gJGtleXMgIOmFjeWIl1xuICogQHJldHVybiB7bWFwfSAgICR6LWluZGV444Gu5Lu75oSP44Gua2V5XG4gKi9cbkBmdW5jdGlvbiB6LWluZGV4KCRrZXlzKSB7XG4gIEByZXR1cm4gbWFwLWRlZXAtZ2V0KCR6LWluZGV4LCAka2V5cy4uLik7XG59XG4iLCIvKipcbiAqIOaTrOS8vOimgee0oOOBp+OCouOCueODmuOCr+ODiOavlOOBrumgmOWfn+OCkueiuuS/neOBmeOCi21peGluXG4gKiBAcGFyYW0gIHskX3dpZHRofSAgICAgICAgICAgICAgICAgICDmqKrjga7lgKRcbiAqIEBwYXJhbSAgeyRfaGVpZ2h0fSAgICAgICAgICAgICAgICAgIOe4puOBruWApFxuICogQHBhcmFtICB7JF9wc2V1ZG9fZWxlbWVudH0gW2JlZm9yZV0g5raI6LK744GZ44KL55aR5Ly86KaB57SgIGJlZm9yZSBvciBhZnRlclxuICogQHJldHVybiB7dm9pZH1cbiAqL1xuQG1peGluIGFzcGVjdCgkX3dpZHRoLCAkX2hlaWdodCwgJF9wc2V1ZG9fZWxlbWVudDogYmVmb3JlKSB7XG4gIC8vIG1heC13aWR0aDogJF9oZWlnaHQgKyBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJjo6I3skX3BzZXVkb19lbGVtZW50fSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoJF93aWR0aC8kX2hlaWdodCk7XG4gICAgY29udGVudDogJyc7XG4gIH1cbiAgPiBpbWcsIHN2Z3tcbiAgICBAaW5jbHVkZSBwb3NpdGlvbjtcbiAgfVxufVxuIiwiJGZvbnRzOiAoXG4gIGphOiAoXG4gICAgc2FuczogKCdOb3RvIFNhbnMgSlAnLCBzYW5zLXNlcmlmKSxcbiAgICBzZXJpZjogKCdOb3RvIFNlcmlmIEpQJywgc2VyaWYpXG4gICksXG4gIGVuOiAoXG4gICAgcm9ib3RvOiAoJ1JvYm90bycsIHNhbnMtc2VyaWYpLFxuICAgIGRhbmNpbmc6ICgnRGFuY2luZyBTY3JpcHQnLCBjdXJzaXZlKSxcbiAgICBqb3NlZmluOiAoJ0pvc2VmaW4gU2xhYicsIHNlcmlmKVxuICApXG4pO1xuXG4vKipcbiAqIGZvbnTjgpJtYXDjgYvjgonlj5blvpfjgZnjgovplqLmlbDjgafjgZlcbiAqIEBwYXJhbSAge2FycmF5fSAka2V5cyAg6YWN5YiXXG4gKiBAcmV0dXJuIHttYXB9ICAgJGZvbnRz44Gu5Lu75oSP44Gua2V5XG4gKi9cbkBmdW5jdGlvbiBmb250KCRrZXlzKSB7XG4gIEByZXR1cm4gbWFwLWRlZXAtZ2V0KCRmb250cywgJGtleXMuLi4pO1xufVxuIiwiLmZvb3QtYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzMzVweDtcbiAgcGFkZGluZzogMjJweCAyNnB4O1xuICBtYXJnaW46IDYwcHggYXV0byAxMjdweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZGh0diByZWQpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3gtc2hhZG93OiAwIDAgOHB4IGNvbG9yKGJsYWNrLCAuNSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZS1pbjtcbiAgJjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKHNtKSB7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBtYXJnaW4tdG9wOiAxMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNzBweDtcbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEzNnB4O1xuICAgIEBpbmNsdWRlIG1lZGlhKHNtKSB7XG4gICAgICBtYXgtd2lkdGg6IDIzNXB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3lvdXR1YmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpbmNsdWRlIGFzcGVjdCgyOC4wOSwxMjUuODEpO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogNnB4O1xuICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICBmb250LXdlaWdodDogZm9udC13ZWlnaHQoYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6ICgyMS8xOCk7XG4gICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBAaW5jbHVkZSBtZWRpYShzbSkge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICB9XG4gIH1cblxuICAmX19pbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxNjBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpbmNsdWRlIGFzcGVjdCgxNTIsMTYwKTtcbiAgICBAaW5jbHVkZSBtZWRpYShzbSkge1xuICAgICAgbWF4LXdpZHRoOiAyODUuNXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBJTkRFWFxuLy8g44O7SUXnlKjjga7jg5bjg6njgqbjgrbjg4/jg4Pjgq9cbi8vIOODu+ODm+ODkOODvOOBruioreWumlxuLy8g44O744OG44Kt44K544OI44Ob44OQ44O844Gu6Kit5a6aXG4vLyDjg7vnlLvlg4/jg5vjg5Djg7zjga7oqK3lrppcbi8vIOODu+ODoeODh+OCo+OCouOCr+OCqOODquODvOOBruioreWumlxuLy8g44O7cG9zaXRpb27jga5taXhpblxuLy8g44O7ZmxleOOBrm1peGluXG4vLyDjg7t3cmFwcGVy44GL44KJ44Gu6ZaL5pS+XG4vLyDjg7vnlpHkvLzopoHntKDjgadwYWRkaW5nLXRvcFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy9JReeUqOOBruODluODqeOCpuOCtuODj+ODg+OCr1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gaWVoYWNrIHtcbiAgQGF0LXJvb3QgYm9keS5pZS53aW5kb3dzICYge1xuICAgIEBjb250ZW50O1xuICB9XG4gIC8vanPjgpLliIfjgaPjgabjgYTjgotJRTEx55So44Gu44OV44Kp44O844Or44OQ44OD44KvXG4gIEBhdC1yb290IF86LW1zLWZ1bGxzY3JlZW4sIDpyb290ICYge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8v44Ob44OQ44O844Gu6Kit5a6aXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBfaG92ZXIge1xuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICY6aG92ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGllaGFjayB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy/jg4bjgq3jgrnjg4jjg5vjg5Djg7zjga7oqK3lrppcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGhvdmVyKCRuYW1lOm51bGwpIHtcbiAgQGlmICgkbmFtZSAhPSBudWxsKSB7JG5hbWU6IHRvLWxvd2VyLWNhc2UodW5xdW90ZSgkbmFtZSkpO31cbiAgQGlmKCRuYW1lID09IG51bGwpIHtcbiAgICBAaW5jbHVkZSBfaG92ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBpZiAkbmFtZSA9PSAnb3BhJyB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3M7XG4gICAgQGluY2x1ZGUgX2hvdmVyIHtcbiAgICAgIG9wYWNpdHk6IC43O1xuICAgIH1cbiAgfVxuICBAaWYgJG5hbWUgPT0gJ3VuZGVyJyB7XG4gICAgQGluY2x1ZGUgX2hvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgY29sb3I6IGNvbG9yKHJlZCk7XG4gICAgfVxuICB9XG4gIEBpZiAkbmFtZSA9PSAnYnV0dG9uJyB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0O1xuICAgIEBpbmNsdWRlIF9ob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihiZyBkZWVwcmVkKTtcbiAgICB9XG4gIH1cbn1cblxuLy/nlLvlg4/jg5vjg5Djg7zjga7oqK3lrppcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGhvdmVyaW1nKCRnaXppOmJlZm9yZSkge1xuICAmOjojeyRnaXppfSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjVzO1xuICB9XG4gIEBpbmNsdWRlIF9ob3ZlciB7XG4gICAgJjo6I3skZ2l6aX0ge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgjZmZmLC41KTtcbiAgICB9XG4gIH1cbn1cblxuLy9wb3NpdGlvbuOBrm1peGluXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb246IHh5KSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgQGlmICRwb3NpdGlvbiA9PSB4eSB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSB4IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0geSB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbi8vZmxleOOBrm1peGluXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBmbGV4KCRwb3NpdGlvbjp4eSkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBAaWYgJHBvc2l0aW9uID09IHh5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0geCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSB5IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG5cbi8vd3JhcHBlcuOBi+OCieOBrumWi+aUvlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gb3ZlcmZsb3coJHBhZGRpbmc6IG51bGwpIHtcbiAgJGlzcGFkZGluZzogJHBhZGRpbmcgIT1udWxsO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gNTB2dyk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xuICBAaWYgJHBhZGRpbmcge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyg1MHZ3IC0gNTAlKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDUwdncgLSA1MCUpO1xuICB9XG59XG5cbi8vICog6KGM5pWw44Gr44KI44KL55yB55WlXG4vLyAqIEBwYXJhbSB7SW50ZXJnZXJ9ICRsaW5lcyDooajnpLrjgZnjgovooYzmlbBcbi8vICogQHBhcmFtIHtOdW1iZXJ9ICRsaW5lLWhlaWdodCDoqIjnrpfjgavkvb/nlKjjgZnjgovooYzpq5hcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGVsbGlwc2lzKCRsaW5lcywgJGxpbmUtaGVpZ2h0KSB7XG4gIGhlaWdodDogY2FsYygjeyRsaW5lc31lbSAqICN7JGxpbmUtaGVpZ2h0fSApO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuXG4gIEBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOiAkbGluZXMpIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogJGxpbmVzO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIH1cbn1cblxuLy8g5pac44KB44K544OI44Op44Kk44OXXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVzKCRjb2xvcjE6ICRwcmltYXJ5LCAkY29sb3IyOiAkcHJpbWFyeS1saWdodCwgJGFuZ2xlOiAtNDVkZWcsICRzdHJpcGUxLXdpZHRoOiA1cHgsICRzdHJpcGUyLXdpZHRoOiAxcHgpIHtcbiAgQGlmICgkc3RyaXBlMi13aWR0aCA9PSBudWxsKSB7XG4gICAgJHN0cmlwZTItd2lkdGg6IG51bGw7XG4gIH1cblxuICAkdGlsZS1zaXplOiAoJHN0cmlwZTEtd2lkdGggKyAkc3RyaXBlMi13aWR0aCkgKiAyO1xuICAkc3RyaXBlMi1zdGFydDogKCRzdHJpcGUxLXdpZHRoIC8gJHRpbGUtc2l6ZSkgKiAxMDAlO1xuICAkc3RyaXBlMy1zdGFydDogJHN0cmlwZTItc3RhcnQgKyAoKCRzdHJpcGUyLXdpZHRoIC8gJHRpbGUtc2l6ZSkgKiAxMDAlKTtcbiAgJHN0cmlwZTQtc3RhcnQ6ICRzdHJpcGUzLXN0YXJ0ICsgKCgkc3RyaXBlMS13aWR0aCAvICR0aWxlLXNpemUpICogMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICAkYW5nbGUsXG4gICAgJGNvbG9yMSxcbiAgICAkY29sb3IxICRzdHJpcGUyLXN0YXJ0LFxuICAgICRjb2xvcjIgJHN0cmlwZTItc3RhcnQsXG4gICAgJGNvbG9yMiAkc3RyaXBlMy1zdGFydCxcbiAgICAkY29sb3IxICRzdHJpcGUzLXN0YXJ0LFxuICAgICRjb2xvcjEgJHN0cmlwZTQtc3RhcnQsXG4gICAgJGNvbG9yMiAkc3RyaXBlNC1zdGFydCxcbiAgICAkY29sb3IyXG4gICk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG5cbiAgYmFja2dyb3VuZC1zaXplOiAkdGlsZS1zaXplICR0aWxlLXNpemU7XG59XG5cblxuJGRlZmF1bHQtbGluZS1oZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8gKipcbi8vICog44OG44Kt44K544OI44Oc44OD44Kv44K544GubGluZS1oZWlnaHTliIbjgpJuZWdhdGl2ZSBtYXJnaW7jgafpmaTljrvjgZnjgotcbi8vICogQHBhcmFtIHs/TnVtYmVyfSAkbGluZS1oZWlnaHQg5oyH5a6a44GZ44KLbGluZS1oZWlnaHRcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuQG1peGluIHRyaW0oJGxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCkge1xuICBtYXJnaW4tdG9wOiB0cmltKCRsaW5lLWhlaWdodCk7XG4gIG1hcmdpbi1ib3R0b206IHRyaW0oJGxpbmUtaGVpZ2h0KTtcbn1cblxuLy8gKipcbi8vICog44OG44Kt44K544OI44Oc44OD44Kv44K544GubGluZS1oZWlnaHTliIbjgpJuZWdhdGl2ZSBtYXJnaW7jgafpmaTljrvjgZnjgotcbi8vICogQHBhcmFtIHs/TnVtYmVyfSAkbGluZS1oZWlnaHQg5oyH5a6a44GZ44KLbGluZS1oZWlnaHRcbi8vICogQHJldHVybiB7TnVtYmVyfSBsaW5lLWhlaWdodOOBruWNiuWIhltlbV1cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuQGZ1bmN0aW9uIHRyaW0oJGxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCkge1xuICBAcmV0dXJuIC0oJGxpbmUtaGVpZ2h0IC0gMSkgLyAyICogMWVtO1xufVxuIiwiLmhlcm8ge1xuICBoZWlnaHQ6IDE2MHZ3O1xuICBtYXgtaGVpZ2h0OiA2MDBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1nL2QtaGFra2VuL2hlcm8taW1nX3NwQDJ4LmpwZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgQGluY2x1ZGUgb3ZlcmZsb3codHJ1ZSk7XG4gIEBpbmNsdWRlIG1lZGlhKHNtKSB7XG4gICAgaGVpZ2h0OiA0NHZ3O1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1nL2QtaGFra2VuL2hlcm8taW1nX3BjQDJ4LmpwZyk7XG4gIH1cblxuICAmX19pbm5lciB7XG4gICAgcGFkZGluZy10b3A6IDg0cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDI1MHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhKHNtKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMzhweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNDBweDtcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBtYXgtd2lkdGg6IDQzMHB4O1xuXG4gICAgJl9fdGV4dCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMCk7XG4gICAgICBmb250LXdlaWdodDogZm9udC13ZWlnaHQoYm9sZCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBtZWRpYShzbSkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWFpbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDEzcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgQGluY2x1ZGUgYXNwZWN0KDE5NC45MywgMjY5Ljc5KTtcbiAgICAgID4gaW1nIHtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb247XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYShzbSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYteW91dHViZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6IDEzcHg7XG5cbiAgICAgICZfX2ltZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEzOC4yNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgYXNwZWN0KDMwLjg2LDEzOC4yNSk7XG4gICAgICAgID4gc3ZnIHtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbjtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShzbSkge1xuICAgICAgICAgIG1heC13aWR0aDogMjE3Ljk5cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGZvbnQtd2VpZ2h0KGJvbGQpO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShzbSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDQwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmxpc3Qge1xuXG4gIC55b3V0dWJlLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIEBpbmNsdWRlIG1lZGlhKHNtKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC00MHB4O1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNtKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMTIwcHgpIC8gMyk7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAueW91dHViZS1kZXMge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbiIsIi5uZXcge1xuXG4gICZfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBAaW5jbHVkZSBtZWRpYShzbSkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgfVxuICB9XG5cbiAgLnlvdXR1YmUge1xuICAgIEBpbmNsdWRlIG1lZGlhKHNtKSB7XG4gICAgICB3aWR0aDogNjEuMiU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDM0cHg7XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICBwYWRkaW5nOiA0cHggMTBweDtcblxuICAgICAgJl9fbnVtIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTApO1xuICAgICAgfVxuXG4gICAgICAmLXN0YXJ0e1xuICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMTRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoc20pIHtcbiAgICAgICAgcGFkZGluZzogMTBweDtcblxuICAgICAgICAmX19udW0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtc3RhcnR7XG4gICAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJl9faW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjRweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWRlcyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihiZyBncmF5KTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNtKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDM4LjglIC0gMzRweCk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi50aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLW1haW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA0MHB4IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGRodHYgcmVkKTtcbiAgICBAaW5jbHVkZSBvdmVyZmxvdztcbiAgICBAaW5jbHVkZSBtZWRpYShzbSkge1xuICAgICAgcGFkZGluZzogMzBweCAxNXB4IDQ1cHg7XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICBmb250LXdlaWdodDogZm9udC13ZWlnaHQoYm9sZCk7XG4gICAgICBsaW5lLWhlaWdodDogKDI4LzE2KTtcbiAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICAmLXNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgfVxuICAgICAgJi1sYXJnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICAgIH1cbiAgICAgICYuLW10IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgJi1zbWFsbCB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICB9XG4gICAgICAgICYtbGFyZ2Uge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICAgICAgfVxuICAgICAgICAmLi1tdCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0yMzBweDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDE4N3B4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZTtcbiAgICAgIEBpbmNsdWRlIGFzcGVjdCgyMzAsMTg3KTtcbiAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO1xuICAgICAgfVxuICAgICAgPiBpbWcge1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbjtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKG1kKSB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDI4OHB4O1xuICAgICAgICBAaW5jbHVkZSBhc3BlY3QoMjUxLDE4Nyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1pbWcge1xuXG4gICAgJl9fbGlzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3c7XG4gICAgICBAaW5jbHVkZSBtZWRpYShtZCkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB3aWR0aDogMjV2dztcbiAgICAgICAgbWF4LXdpZHRoOiAzNDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC00NXB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gMyk7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgY29sb3IoZGh0diByZWQpO1xuICAgICAgQGluY2x1ZGUgYXNwZWN0KDg2LDEzMCk7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYShtZCkge1xuICAgICAgICBtYXgtd2lkdGg6IDU4LjglO1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xMnB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnlvdXR1YmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogMCAwIDhweCBjb2xvcihibGFjaywgLjE2KTtcbiAgQGluY2x1ZGUgaG92ZXJpbWcoYWZ0ZXIpO1xuXG4gICZfX2ltZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgYXNwZWN0KDE5MCwzMzcpO1xuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZGh0diByZWQpO1xuXG4gICAgJl9fbnVtIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBmb250LXdlaWdodChib2xkKTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKG1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLXN0YXJ0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6IGZvbnQtd2VpZ2h0KGJvbGQpO1xuXG4gICAgICAmX190ZXh0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBmb250LXdlaWdodChib2xkKTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoc20pIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEobWQpIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9faW1nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAyNHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtZGVzIHtcbiAgICBwYWRkaW5nOiA0MHB4IDE4cHg7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvcihiZCBncmF5KTtcbiAgICAgID4gYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGZvbnQtd2VpZ2h0KGJvbGQpO1xuICAgICAgICBsaW5lLWhlaWdodDogKDI0LzE0KTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKGRodHYgcmVkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgbGluZS1oZWlnaHQ6ICgyMi8xNCk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3IoYmQgZ3JheSk7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogY29sb3IoZGh0diByZWQpO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1YiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvcihiZCBncmF5KTtcbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uQm9keSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vY29tbW9uL3Njc3MvQGZvdW5kYXRpb24vZm91bmRhdGlvbic7XG5AaW1wb3J0ICdtb2R1bGVzL2Zvb3QtYmFhbm5lci5zY3NzJztcbkBpbXBvcnQgJ21vZHVsZXMvaGVyby5zY3NzJztcbkBpbXBvcnQgJ21vZHVsZXMvbGlzdC5zY3NzJztcbkBpbXBvcnQgJ21vZHVsZXMvbmV3LnNjc3MnO1xuQGltcG9ydCAnbW9kdWxlcy90aXRsZS5zY3NzJztcbkBpbXBvcnQgJ21vZHVsZXMveW91dHViZS5zY3NzJztcblxuLmQtaGFra2VuLXRpdGxlIHtcbiAgbWFyZ2luLXRvcDogNjBweDtcbiAgZm9udC1zaXplOiByZW0oMjQpO1xuICBmb250LXdlaWdodDogZm9udC13ZWlnaHQoYm9sZCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgbWVkaWEoc20pIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgfVxufVxuXG4ubW9yZS1idG4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgYXV0bztcbiAgQGluY2x1ZGUgbWVkaWEoc20pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJl9faWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgY29sb3IoYmQgYmxhY2spO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICYtaW5uZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICY6OmJlZm9yZSwmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGJnIGJsYWNrKTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb247XG4gICAgICB9XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZSg5MGRlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuXG4gICAgJi1zaG93IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1hY2NvcmRpb24taGVhZGVyXSB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG5cbiAgICAubW9yZS1idG4ge1xuXG4gICAgICAmX19pY29uIHtcbiAgICAgICAgJi1pbm5lcjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSkgcm90YXRlKDkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX190ZXh0IHtcbiAgICAgICAgJi1zaG93IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICYtaGlkZGVuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIixudWxsXSwic291cmNlUm9vdCI6IiJ9*/