@charset "UTF-8";
/* 基本フォント ------------------------------ */
body {
  color: #000000;
  font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', '\30D2\30E9\30AE\30CE\89D2\30B4   ProN W3', Meiryo, メイリオ, sans-serif;
  font-size: 12px;
  line-height: 1.5;
}

input, textarea, select {
  font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', '\30D2\30E9\30AE\30CE\89D2\30B4   ProN W3', Meiryo, メイリオ, sans-serif;
  font-size: 100%;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

/* 基本タグ -------------------- */
body, div,
h1, h2, h3, h4, h5, h6,
dl, dt, dd, ul, ol, li,
p, blockquote, pre, cite, code, caption,
form, fieldset, legend, input, textarea, select, option, label {
  margin: 0px;
  padding: 0px;
}

img, table {
  border: none;
}

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

ol, ul {
  list-style: none;
}

address, em, cite {
  font-style: normal;
}

fieldset {
  border: none;
}

article, aside, dialog, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

/* 基本テキストリンク -------------------- */
a:link,
a:visited {
  color: #000000;
  text-decoration: underline;
}

a:hover,
a:active {
  color: #000000;
  text-decoration: none;
}

/* --------------------------------------------------------------------------------------
 float解除
--------------------------------------------------------------------------------------- */
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.clearfix {
  display: inline-block;
}

/*\*/
* html .clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

/**/
/* --------------------------------------------------------------------------------------
 layout
--------------------------------------------------------------------------------------- */
#wrapper {
  padding-top: 45px;
}

img.spImg {
  opacity: 0;
  filter: alpha(opacity=0);
  -ms-filter: "alpha(opacity=0)";
}

.pcHide {
  display: none;
}

.container {
  position: relative;
  width: 960px;
  margin: 0 auto;
}

.container02 {
  position: relative;
  width: 960px;
  margin: 0 auto;
  text-align: left;
}

.bgArea01 {
  background: url(../img/bg_back01.jpg) repeat center top;
}

.bgArea02 {
  background: url(../img/bg_back02.jpg) repeat center top;
}

.container h2 {
  background: url(../img/bg_line01.gif) no-repeat center bottom;
  font-family: Arial, Helvetica, sans-serif;
  text-align: center;
  font-size: 40px;
  text-transform: uppercase;
  line-height: 1.4;
}

.container h3.line {
  border-bottom: 1px solid #c7c6c3;
  text-align: center;
  font-size: 24px;
}

.container h3.line span {
  position: relative;
  display: inline-block;
  bottom: -18px;
  padding: 0 38px;
  background: url(../img/bg_back01.jpg) repeat center top;
}

.bgArea02 h3.line span {
  background: url(../img/bg_back02.jpg) repeat center top;
}

.container h3 span.en {
  font-family: Arial, Helvetica, sans-serif;
  text-transform: uppercase;
}

.pagetop {
  position: fixed;
  bottom: 150px;
  right: 0;
  width: 56px;
}

/* --------------------------------------------------------------------------------------
 header
--------------------------------------------------------------------------------------- */
#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 45px;
  min-width: 960px;
  background: #6aa06a;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  text-transform: uppercase;
  z-index: 200;
}

#header .container {
  padding: 12px 0;
}

@media screen and (min-width: 641px) {
  #header .container {
    display: block !important;
  }
}

#header a {
  color: #ffffff;
  text-decoration: none;
}

#header a:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
  -ms-filter: "alpha(opacity=50)";
}

#header .menu {
  display: none;
}

#header .nav {
  padding-left: 43px;
}

#header .nav li {
  float: left;
  padding-right: 5em;
}

#header .lang {
  position: absolute;
  top: 15px;
  right: 120px;
  font-size: 11px;
}

#header .lang li {
  float: left;
  padding-left: 16px;
}

#header .lang li a {
  text-decoration: underline;
}

#header .lang li.off a {
  text-decoration: none;
  opacity: 0.5;
  filter: alpha(opacity=50);
  -ms-filter: "alpha(opacity=50)";
}

#header .btn {
  position: absolute;
  top: 8px;
  right: 30px;
}

#header .btn li {
  float: left;
  width: 28px;
  margin-left: 5px;
}

/* --------------------------------------------------------------------------------------
 kv
--------------------------------------------------------------------------------------- */
#kv {
  position: relative;
  min-width: 960px;
  height: 505px;
  background: url(../img/kv01.jpg) no-repeat center top;
  background-size: cover;
}

#kv h1 {
  position: absolute;
  top: 168px;
  left: 0;
  width: 100%;
  text-align: center;
}

#kv .bx-wrapper {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
}

#kv .bx-controls {
  display: none;
}

#kv .kv_img {
  position: absolute;
  width: 100%;
  height: 505px;
  z-index: 5;
}

#kv .kv_img li {
  position: absolute;
  width: 100%;
  min-width: 960px;
  height: 505px;
}

#kv .kv_img li.kv01 {
  height: 337px;
  padding-top: 168px;
  background: url(../img/kv01.jpg) no-repeat center center;
  background-size: cover;
  z-index: 10;
}

#kv .kv_img li.kv01 .logo {
  display: block;
  width: 410px;
  height: 152px;
  margin: 0 auto;
  background: url(../img/title.png) no-repeat center center;
}

#kv .kv_img li.kv02 {
  background: url(../img/kv02.jpg) no-repeat center center;
  background-size: cover;
}

#kv .kv_img li.kv03 {
  background: url(../img/kv03.jpg) no-repeat center center;
  background-size: cover;
}

#kv .kv_img li.kv04 {
  background: url(../img/kv04.jpg) no-repeat center bottom;
  background-size: cover;
}

#kv .kv_img li.kv04 .img01 {
  display: block;
  width: 960px;
  height: 505px;
  margin: 0 auto;
  background: url(../img/kv_img02.png) no-repeat center center;
}

/* --------------------------------------------------------------------------------------
 about
--------------------------------------------------------------------------------------- */
#about {
  padding: 58px 0 66px;
  text-align: center;
}

#about h3 {
  margin: 42px 0;
}

#about p {
  font-size: 18px;
  line-height: 50px;
}

#about p.bnr {
  width: 251px;
  margin: 30px auto 0;
  overflow: hidden;
}

#about p.bnr a {
  display: block;
  width: 251px;
  height: 143px;
  background: url(../img/bnr_makuake.gif) no-repeat center top;
}

#about p.bnr a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

/* --------------------------------------------------------------------------------------
 products
--------------------------------------------------------------------------------------- */
#products {
  padding: 58px 0 58px;
  text-align: center;
}

#products .lead {
  margin-top: 45px;
  text-align: center;
  font-size: 18px;
}

#products .productsWrap {
  margin: 20px 0 50px -3px;
  text-align: left;
}

#products .productsWrap h3 {
  position: relative;
  font-size: 16px;
  font-weight: bold;
  line-height: 22px;
}

#products .productsWrap dl {
  margin-top: 18px;
  font-size: 13px;
  line-height: 26px;
}

#products .productsWrap dl dt {
  float: left;
  width: 4em;
}

#products .productsWrap dl dd {
  padding-left: 5.5em;
}

#products .productsWrap dl dd .price {
  color: #cb4446;
  font-weight: bold;
}

#products .productsBox01 {
  float: left;
  width: 318px;
  padding-bottom: 20px;
  margin-left: 3px;
}

#products .productsBox01 h3 img {
  margin-bottom: 16px;
}

#products .productsBox01 h3 .mosaic-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 318px;
  text-align: center;
}

#products .productsBox01 h3 .mosaic-overlay img {
  margin: 160px 0 0;
}

#products .productsBox01 .btn {
  background: #6ba16b;
  color: #FFFFFF;
  padding: 5px 15px 5px 15px;
  text-decoration: none;
}

#products .productsBox01 .btn2 {
  background: #D70003;
  color: #FFF;
  padding: 5px 15px 5px 15px;
  text-decoration: none;
}

/**/
#products .productsBox02 {
  position: relative;
  float: left;
  width: 500px;
  margin-top: 60px;
  margin-right: 0;
  margin-left: 0;
  margin-bottom: 0;
  padding-left: 416px;
}

#products .productsBox02 h3 .img {
  display: block;
  position: absolute;
  top: 0;
  left: -416px;
  width: 386px;
  margin: 0;
}

#products .productsBox02 h3 .mosaic-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 386px;
  text-align: center;
}

#products .productsBox02 h3 .mosaic-overlay img {
  margin: 18px 0 0;
}

#products .productsBox02 h3 span {
  display: inline-block;
  margin-top: 10px;
  font-size: 13px;
  line-height: 20px;
}

#products .productsBox02 .btn {
  background: #6ba16b;
  color: #FFF;
  padding: 5px 15px 5px 15px;
  text-decoration: none;
}

#products .productsBox02 .btn2 {
  background: #D70003;
  color: #FFF;
  padding: 5px 15px 5px 15px;
  text-decoration: none;
}

/**/
#products .productsBox02-2 {
  position: relative;
  float: left;
  width: 500px;
  margin-top: 40px;
  margin-right: 0;
  margin-left: 0;
  margin-bottom: 0;
  padding-left: 416px;
}

#products .productsBox02-2 h3 .img {
  display: block;
  position: absolute;
  top: 0;
  left: -416px;
  width: 386px;
  margin: 0;
}

#products .productsBox02-2 h3 .mosaic-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 386px;
  text-align: center;
}

#products .productsBox02-2 h3 .mosaic-overlay img {
  margin: 18px 0 0;
}

#products .productsBox02-2 h3 span {
  display: inline-block;
  margin-top: 10px;
  font-size: 13px;
  line-height: 20px;
}

#products .productsBox02-2 .btn {
  background: #6ba16b;
  color: #FFF;
  padding: 5px 15px 5px 15px;
  text-decoration: none;
}

#products .productsBox02-2 .btn2 {
  background: #D70003;
  color: #FFF;
  padding: 5px 15px 5px 15px;
  text-decoration: none;
}

/**/
#products .movieWrap {
  margin-top: 75px;
  text-align: left;
}

#products .movieWrap .movieBtn {
  float: right;
  width: 480px;
  padding-top: 5px;
}

#products .movieWrap .movieBtn a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

#products .movieWrap .text {
  float: left;
  width: 450px;
}

#products .movieWrap .text p {
  margin-bottom: 30px;
  font-size: 16px;
  line-height: 30px;
}

#products .movieWrap .text p.note {
  margin-top: 44px;
  font-size: 13px;
  line-height: 20px;
}

.c_movie-window {
  z-index: 85000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: repeat;
  background-image: url(../img/c_movie-window_bg.png);
}

.c_movie-window .c_movie-window_content {
  width: 800px;
  height: 490px;
}

.c_movie-window .c_movie-window_box {
  min-height: 1px;
  zoom: 1;
  width: 800px;
  height: 50px;
}

.c_movie-window .c_movie-window_box:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.c_movie-window .c_movie-window_box .c_movie-window_box-left {
  float: left;
}

.c_movie-window .c_movie-window_box .c_movie-window_box-right {
  float: right;
}

.c_movie-window .c_movie-window_box2 {
  width: 800px;
  height: 450px;
  background-color: #000;
}

.c_movie-window .c_movie-window_txt {
  display: inline-block;
  font-size: 16px;
  line-height: 1em;
  padding-top: 21px;
  color: #fff;
}

.c_movie-window .c_movie-window_btn {
  overflow: hidden;
  display: block;
  border: none;
  _border-width: 0px;
  width: 50px;
  height: 50px;
  text-align: left;
  text-indent: -9999px;
  cursor: pointer;
  background-position: left top;
  background-repeat: no-repeat;
  background-image: url(../img/c_movie-window_btn.gif);
}

.productsPopup {
  display: none;
  position: fixed;
  top: 95px;
  left: 0;
  width: 100%;
  z-index: 100;
}

.productsPopup .close {
  display: block;
  position: absolute;
  top: -50px;
  right: 0;
}

.productsPopup .container {
  padding: 34px 0 24px;
  background: #ffffff;
  text-align: center;
}

#products p.bnr {
  width: 250px;
  margin: 20px auto 0;
  overflow: hidden;
}

#products p.bnr a {
  display: block;
  width: 250px;
  height: 60px;
  background: url(../img/bnr_shop.gif) no-repeat center top;
}

#products p.bnr a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

/* --------------------------------------------------------------------------------------
 FAQ
--------------------------------------------------------------------------------------- */
#faq {
  padding: 58px 0 66px;
}

#faq dl {
  padding-top: 46px;
  font-size: 13px;
  line-height: 24px;
}

#faq dl dt {
  position: relative;
  margin-top: 14px;
  padding: 0 0 8px 45px;
  font-weight: bold;
}

#faq dl dt.off {
  text-decoration: underline;
}

#faq dl dt .q {
  position: absolute;
  top: -2px;
  left: 12px;
  color: #bd634b;
  font-size: 20px;
  text-decoration: none;
}

#faq dl dd {
  position: relative;
  margin-bottom: 36px;
  padding: 13px 0 0 45px;
  border-top: 1px solid #cccccc;
}

#faq dl dd .a {
  position: absolute;
  top: 11px;
  left: 12px;
  color: #639c63;
  font-size: 20px;
  font-weight: bold;
}

/* --------------------------------------------------------------------------------------
 contact
--------------------------------------------------------------------------------------- */
#contact {
  padding: 58px 0 114px;
}

#contact dl {
  margin: 58px 230px 0 110px;
  font-size: 13px;
}

#contact dl dt {
  float: left;
  padding-top: 7px;
  vertical-align: middle;
}

#contact dl dt.fix {
  padding-top: 88px;
}

#contact dl dd {
  margin-bottom: 10px;
  padding-left: 120px;
}

#contact dl dd input {
  width: 490px;
  padding: 4px;
  background: #ffffff;
  border: 1px solid #cac9c6;
}

#contact dl dd textarea {
  width: 490px;
  height: 190px;
  padding: 4px;
  background: #ffffff;
  border: 1px solid #cac9c6;
}

#contact ul {
  margin-top: 28px;
  text-align: center;
  letter-spacing: -0.4em;
}

#contact ul li {
  display: inline;
  padding: 0 5px;
  letter-spacing: 0;
}

#contact ul li input {
  width: 156px;
  padding: 6px;
  border: 1px solid #639c63;
  background: #639c63;
  color: #ffffff;
}

#contact ul li input.reset {
  border: 1px solid #1f1a16;
  background: #ffffff;
  color: #000000;
}

/* --------------------------------------------------------------------------------------
 privacy
--------------------------------------------------------------------------------------- */
.privacyPopup {
  position: fixed;
  top: 95px;
  left: 0;
  width: 100%;
  z-index: 100;
}

.privacyPopup .close {
  display: block;
  position: absolute;
  top: -50px;
  right: 0;
}

.privacyPopup .container {
  padding: 38px 0 26px;
  background: #ffffff;
}

#privacy .textBox {
  width: 860px;
  height: 530px;
  margin: 50px auto 0;
  padding-right: 40px;
  overflow: auto;
}

#privacy .textBox h3 {
  margin: 30px 0 10px;
  font-size: 14px;
  font-weight: bold;
}

#privacy .textBox p {
  margin-bottom: 24px;
  font-size: 13px;
  line-height: 24px;
}

#privacy .textBox .list01 {
  margin: -12px 0 24px 20px;
  font-size: 13px;
  line-height: 24px;
}

#privacy .textBox .list01 span {
  display: inline-block;
  width: 2em;
}

#overlay,
#overlay2 {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/c_movie-window_bg.png) repeat;
  z-index: 20;
}

/* --------------------------------------------------------------------------------------
 apology
--------------------------------------------------------------------------------------- */
#apology {
  padding: 50px 0 30px;
  text-align: center;
}

#apology p {
  font-size: 14px;
  line-height: 30px;
  border: 2px solid #cc0000;
  padding: 20px 20px 20px 20px;
}

/* --------------------------------------------------------------------------------------
 footer
--------------------------------------------------------------------------------------- */
#footer {
  background: #1f1a16;
  color: #ffffff;
}

#footer a {
  color: #ffffff;
  text-decoration: none;
}

#footer a:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
  -ms-filter: "alpha(opacity=50)";
}

#footer .btn {
  position: absolute;
  top: 18px;
  left: 0;
}

#footer .btn li {
  float: left;
  width: 34px;
  margin-right: 7px;
}

#footer .privacy {
  position: absolute;
  top: 26px;
  left: 92px;
}

#footer .copyright {
  padding: 26px 0;
  text-align: right;
}

@media screen and (max-width: 640px) {
  /* --------------------------------------------------------------------------------------
   layout
  --------------------------------------------------------------------------------------- */
  #wrapper {
    padding-top: 0;
  }
  img.spImg {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -ms-filter: "alpha(opacity=100)";
  }
  .pcHide {
    display: inherit;
  }
  .spHide {
    display: none;
  }
  .container {
    width: auto;
    max-width: 640px;
  }
  .container h2 {
    font-size: 30px;
    line-height: 1.4;
  }
  .container h3.line {
    font-size: 15px;
  }
  .container h3.line span {
    bottom: -14px;
    padding: 0 20px;
  }
  .pagetop {
    position: fixed;
    bottom: 100px;
    right: 0;
    width: 10.93%;
    z-index: 1005;
  }
  /* --------------------------------------------------------------------------------------
   header
  --------------------------------------------------------------------------------------- */
  #header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-width: 1em;
    background: none;
    font-size: 14px;
    z-index: 1000;
  }
  #header .container {
    display: none;
    position: absolute;
    width: 51.56%;
    padding: 0;
    background: #689f69;
  }
  #header a {
    color: #ffffff;
    text-decoration: none;
  }
  #header a:hover {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -ms-filter: "alpha(opacity=100)";
  }
  #header .menu {
    display: block;
    position: absolute;
    top: 6px;
    left: 6px;
    width: 15.62%;
    max-width: 100px;
    background: url(../img/btn_close.gif) no-repeat;
    background-size: 100% auto;
    z-index: 1001;
  }
  #header .menu.on img {
    opacity: 0;
    filter: alpha(opacity=0);
    -ms-filter: "alpha(opacity=0)";
  }
  #header ul {
    margin: 0 12.12%;
  }
  #header .nav {
    padding: 40% 0 10.9%;
    border-bottom: 1px solid #bdd3be;
  }
  #header .nav li {
    float: none;
    padding-right: 0;
    font-size: 15px;
    line-height: 35px;
  }
  #header .lang {
    position: relative;
    top: 0;
    right: 0;
    padding: 8.48% 0;
    font-size: 12px;
    border-bottom: 1px solid #bdd3be;
    overflow: hidden;
  }
  #header .lang li {
    padding: 0 4em 0 0;
  }
  #header .lang li a {
    text-decoration: underline;
  }
  #header .lang li.off a {
    text-decoration: none;
    opacity: 0.5;
    filter: alpha(opacity=50);
    -ms-filter: "alpha(opacity=50)";
  }
  #header .btn {
    position: relative;
    top: 0;
    right: 0;
    margin-top: 10.9%;
  }
  #header .btn li {
    width: 28%;
    margin: 0 8% 0 0;
  }
  /* --------------------------------------------------------------------------------------
   kv
  --------------------------------------------------------------------------------------- */
  #kv {
    min-width: 1em;
    height: auto;
    padding-top: 70.31%;
    background: none;
    text-align: center;
    background: url(../img/kv01_sp.jpg) no-repeat center center;
    background-size: cover;
  }
  #kv h1 {
    z-index: -1;
  }
  #kv .bx-wrapper {
    position: absolute;
    top: 0;
    left: 0;
  }
  #kv .kv_img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 5;
  }
  #kv .kv_img li {
    position: absolute;
    width: 100%;
    min-width: 1em;
    height: auto;
    padding-top: 70.31%;
  }
  #kv .kv_img li.kv01 {
    height: auto;
    padding-top: 0;
    background: #ffffff url(../img/kv01_sp.jpg) no-repeat center center;
    background-size: cover;
  }
  #kv .kv_img li.kv02 {
    background: #ffffff url(../img/kv02_sp.jpg) no-repeat center center;
    background-size: cover;
  }
  #kv .kv_img li.kv03 {
    background: #ffffff url(../img/kv03_sp.jpg) no-repeat center center;
    background-size: cover;
  }
  #kv .kv_img li.kv04 {
    background: #ffffff url(../img/kv04_sp02.jpg) no-repeat center center;
    background-size: cover;
  }
  #kv .kv_img li.kv01 .logo,
  #kv .kv_img li.kv04 .img01 {
    display: none;
  }
  /* --------------------------------------------------------------------------------------
   about
  --------------------------------------------------------------------------------------- */
  #about {
    padding: 9.68% 3.12% 10.62%;
  }
  #about h3 {
    margin: 8.66% 0;
  }
  #about p {
    font-size: 13px;
    line-height: 30px;
  }
  #about p.bnr {
    width: 63.33%;
    height: auto;
    margin: 8.75% auto 0;
    background: none;
    overflow: hidden;
  }
  #about p.bnr a {
    display: inline;
    width: auto;
    height: auto;
    background: none;
  }
  /* --------------------------------------------------------------------------------------
   products
  --------------------------------------------------------------------------------------- */
  #products {
    padding: 9.68% 3.12% 10.62%;
  }
  #products .lead {
    margin-top: 10%;
    font-size: 13px;
  }
  #products .productsWrap {
    margin: 20px 0 4.13%;
  }
  #products .productsWrap h3 {
    margin: 0 3.33%;
    font-size: 13px;
    line-height: 19px;
  }
  #products .productsWrap h3 img {
    display: block;
    width: 71.07%;
    margin: 0 auto;
  }
  #products .productsWrap dl {
    margin: 8px 3.33% 0;
    font-size: 11px;
    line-height: 20px;
  }
  #products .productsBox01 {
    float: none;
    width: 100%;
    margin: 3.33% 0 0;
    padding-bottom: 8.33%;
    border-bottom: 1px solid #cccccc;
  }
  #products .productsBox01 h3 img {
    margin-bottom: 0;
  }
  #products .productsBox01 h3 .mosaic-overlay {
    display: none !important;
  }
  /**/
  #products .productsBox02 {
    position: relative;
    float: none;
    width: 100%;
    margin: 3.33% 0 0;
    padding-bottom: 8.33%;
    padding-left: 0;
    overflow: hidden;
    border-bottom: 1px solid #cccccc;
  }
  #products .productsBox02 h3 .img {
    display: block;
    position: relative;
    top: 0;
    left: 0;
    width: auto;
    margin: 0 -3.44%;
  }
  #products .productsBox02 h3 .img img {
    width: 100%;
  }
  #products .productsBox02 h3 span {
    display: inline-block;
    margin-top: 10px;
    font-size: 13px;
    line-height: 20px;
  }
  /**/
  #products .productsBox02-2 {
    position: relative;
    float: none;
    width: 100%;
    margin: 3.33% 0 0;
    padding-bottom: 8.33%;
    padding-left: 0;
    overflow: hidden;
    border-bottom: 1px solid #cccccc;
  }
  #products .productsBox02-2 h3 .img {
    display: block;
    position: relative;
    top: 0;
    left: 0;
    width: auto;
    margin: 0 -3.44%;
  }
  #products .productsBox02-2 h3 .img img {
    width: 100%;
  }
  #products .productsBox02-2 h3 span {
    display: inline-block;
    margin-top: 10px;
    font-size: 13px;
    line-height: 20px;
  }
  /**/
  #products .movieWrap {
    width: 93.33%;
    margin: 8.33% auto 0;
    text-align: left;
  }
  #products .movieWrap .movieBtn {
    float: none;
    width: auto;
    padding-top: 0;
  }
  #products .movieWrap .text {
    float: none;
    width: auto;
    margin-top: 7.2%;
  }
  #products .movieWrap .text p {
    margin-bottom: 23px;
    font-size: 13px;
    line-height: 23px;
  }
  #products .movieWrap .text p.note {
    margin-top: 14px;
    font-size: 11px;
    line-height: 18px;
  }
  .c_movie-window {
    z-index: 85000;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .c_movie-window .c_movie-window_content {
    width: 100%;
    height: auto;
    left: 0 !important;
    margin: 0 auto;
  }
  .c_movie-window .c_movie-window_box {
    min-height: 1px;
    zoom: 1;
    width: 100%;
    height: 30px;
  }
  .c_movie-window .c_movie-window_box:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  .c_movie-window .c_movie-window_box .c_movie-window_box-left {
    float: left;
  }
  .c_movie-window .c_movie-window_box .c_movie-window_box-right {
    float: right;
  }
  .c_movie-window .c_movie-window_box2 {
    position: relative;
    width: 100%;
    height: auto;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
  }
  .c_movie-window .c_movie-window_box2 iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .c_movie-window .c_movie-window_txt {
    display: inline-block;
    font-size: 16px;
    line-height: 1em;
    padding-top: 10px;
    color: #fff;
  }
  .c_movie-window .c_movie-window_btn {
    overflow: hidden;
    display: block;
    border: none;
    _border-width: 0px;
    width: 25px;
    height: 25px;
    text-align: left;
    text-indent: -9999px;
    cursor: pointer;
    background-position: left top;
    background-repeat: no-repeat;
    background-image: url(../img/c_movie-window_btn.gif);
    background-size: 100%;
  }
  .productsPopup {
    display: none;
    position: fixed;
    top: 50px;
    left: 0;
    width: 100%;
  }
  .productsPopup .close {
    display: block;
    position: absolute;
    top: -25px;
    right: 0;
    width: 25px;
    height: 25px;
  }
  .productsPopup .container {
    margin: 3.12%;
    padding: 10px 0;
    background: #ffffff;
    text-align: center;
  }
  /* --------------------------------------------------------------------------------------
   FAQ
  --------------------------------------------------------------------------------------- */
  #faq {
    padding: 9.68% 3.12% 10.62%;
  }
  #faq dl {
    padding-top: 46px;
  }
  #faq dl dt {
    position: relative;
    margin-top: 14px;
    padding: 0 0 8px 35px;
    font-size: 13px;
    line-height: 20px;
  }
  #faq dl dt .q {
    position: absolute;
    top: -2px;
    left: 10px;
    color: #bd634b;
    font-size: 20px;
    text-decoration: none;
  }
  #faq dl dd {
    position: relative;
    margin-bottom: 36px;
    padding: 13px 0 0 35px;
    border-top: 1px solid #cccccc;
    font-size: 11px;
    line-height: 17px;
  }
  #faq dl dd .a {
    position: absolute;
    top: 11px;
    left: 10px;
    color: #639c63;
    font-size: 20px;
    font-weight: bold;
  }
  /* --------------------------------------------------------------------------------------
   contact
  --------------------------------------------------------------------------------------- */
  #contact {
    padding: 9.68% 6.25% 14.06%;
  }
  #contact dl {
    margin: 8.92% 0 0 0;
    font-size: 11px;
  }
  #contact dl dt {
    float: none;
    padding-top: 7px;
    vertical-align: middle;
  }
  #contact dl dt.fix {
    padding-top: 7px;
  }
  #contact dl dd {
    margin: 0.5em 0;
    padding-left: 0;
  }
  #contact dl dd input {
    width: 100%;
    padding: 4px;
    background: #ffffff;
    border: 1px solid #cac9c6;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-appearance: none;
    border-radius: 0;
  }
  #contact dl dd textarea {
    width: 100%;
    height: 95px;
    padding: 4px;
    background: #ffffff;
    border: 1px solid #cac9c6;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-appearance: none;
    border-radius: 0;
  }
  #contact ul {
    margin-top: 5.71%;
    overflow: hidden;
  }
  #contact ul li {
    float: left;
    width: 48.57%;
    padding: 0;
  }
  #contact ul li:nth-child(2n) {
    float: right;
  }
  #contact ul li input {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-appearance: none;
    border-radius: 0;
  }
  /* --------------------------------------------------------------------------------------
   privacy
  --------------------------------------------------------------------------------------- */
  #privacy {
    padding-top: 31.2%;
  }
  #privacy .close {
    margin-bottom: 3.12%;
    text-align: center;
  }
  #privacy .textBox {
    width: auto;
    height: auto;
    margin: 50px 6.25% 0;
    padding-right: 0;
  }
  #privacy .textBox h3 {
    margin: 30px 0 10px;
    font-size: 12px;
  }
  #privacy .textBox p {
    margin-bottom: 17px;
    font-size: 11px;
    line-height: 17px;
  }
  #privacy .textBox .list01 {
    margin: -7px 0 17px 10px;
    font-size: 11px;
    line-height: 17px;
  }
  /* --------------------------------------------------------------------------------------
   apology
  --------------------------------------------------------------------------------------- */
  #apology {
    padding: 9.68% 3.12% 5.5%;
  }
  #apology p {
    font-size: 13px;
    line-height: 30px;
    border: 2px solid #cc0000;
    padding: 5.5% 3.0% 5.5%;
  }
  /* --------------------------------------------------------------------------------------
   footer
  --------------------------------------------------------------------------------------- */
  #footer {
    position: relative;
    z-index: 1;
  }
  #footer .container {
    padding: 6.25% 6.25% 0;
    overflow: hidden;
  }
  #footer a:hover {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -ms-filter: "alpha(opacity=100)";
  }
  #footer .btn {
    position: relative;
    top: 0;
    left: 0;
  }
  #footer .btn li {
    float: left;
    width: 12.5%;
    margin-right: 2.14%;
  }
  #footer .privacy {
    position: relative;
    top: 0;
    left: 0;
    padding-top: 1em;
  }
  #footer .copyright {
    float: left;
    width: 100%;
    padding: 1em 0;
    text-align: center;
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes colorChange {
  0% {
    fill: #fff;
  }
  100% {
    fill: #000;
  }
}

@keyframes colorChange {
  0% {
    fill: #fff;
  }
  100% {
    fill: #000;
  }
}

#products .productsBox01.threeWide {
  float: none;
  width: 100%;
}

@media screen and (min-width: 641px) {
  #products .productsBox01.threeWide {
    text-align: center;
  }
  #products .productsBox01.threeWide h3 {
    width: 410px;
    left: 275px;
  }
  #products .productsBox01.threeWide dl {
    display: inline-block;
  }
  #products .productsBox01.threeWide dl dt {
    text-align: justify;
  }
  #products .productsBox01.threeWide dl dd {
    text-align: justify;
  }
  #products .productsBox01.threeWide .mosaic-overlay {
    width: 400px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvc2Fzcy9zdHlsZS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zYXNzL19jb3JlL19vbGQtc3R5bGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Nhc3MvX2NvcmUvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zYXNzL19hZGQvX2FkZDIwMjAwMi5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zYXNzL19jb3JlL192YXJpYWJsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNHakI7QUFFQTtFQUNFLGVBQWM7RUFDZCxnSUFBWTtFQUNaLGdCQUFlO0VBQ2YsaUJBQWdCO0NBQ2pCOztBQUVEO0VBQ0UsZ0lBQVk7RUFDWixnQkFBZTtDQUNoQjs7QUFFRDtFQUNFLGdCQUFlO0VBQ2Ysb0JBQW1CO0NBQ3BCOztBQUdEO0FBRUE7Ozs7O0VBS0UsWUFBVztFQUNYLGFBQVk7Q0FDYjs7QUFFRDtFQUNFLGFBQVk7Q0FDYjs7QUFFRDtFQUNFLGdCQUFlO0VBQ2YsYUFBWTtFQUNaLG9CQUFtQjtDQUNwQjs7QUFFRDtFQUNFLGlCQUFnQjtDQUNqQjs7QUFFRDtFQUNFLG1CQUFrQjtDQUNuQjs7QUFFRDtFQUNFLGFBQVk7Q0FDYjs7QUFFRDtFQUE2RSxlQUFjO0NBQUk7O0FBRS9GO0FBRUE7O0VBRUUsZUFBYztFQUNkLDJCQUEwQjtDQUMzQjs7QUFFRDs7RUFFRSxlQUFjO0VBQ2Qsc0JBQXFCO0NBQ3RCOztBQUdEOzswRkFFMEY7QUFFMUY7RUFBa0IsYUFBVztFQUFFLGVBQWE7RUFBRSxVQUFRO0VBQUUsWUFBVTtFQUFFLG1CQUFpQjtDQUFJOztBQUN6RjtFQUFZLHNCQUFvQjtDQUFHOztBQUNuQyxLQUFLO0FBQ0w7RUFBbUIsV0FBUztDQUFJOztBQUNoQztFQUFZLGVBQWE7Q0FBSTs7QUFDN0IsSUFBSTtBQUdKOzswRkFFMEY7QUFFMUY7RUFDRSxrQkFBaUI7Q0FDbEI7O0FBRUQ7RUFDRSxXQUFV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QUNFLG1CQUFrQjtJQUNsQixXQUFVO0dBQ1g7RUFDRDtJQUNFLHVCQUFzQjtJQUN0QixpQkFBZTtHQUNoQjtFQUNEO0lBQ0UsYUFBWTtJQUNaLDJCQUEwQjtJQUMxQixpQ0FBZ0M7R0FDakM7RUFDRDtJQUNFLG1CQUFrQjtJQUNsQixPQUFNO0lBQ04sUUFBTztHQUNSO0VBQ0Q7SUFDRSxZQUFXO0lBQ1gsYUFBWTtJQUNaLG9CQUFtQjtHQUNwQjtFQUNEO0lBQ0UsbUJBQWtCO0lBQ2xCLE9BQU07SUFDTixRQUFPO0lBQ1AsaUJBQWdCO0dBQ2pCO0VBQ0Q7SUFDRSxZQUFXO0lBQ1gsWUFBVztJQUNYLGVBQWM7SUFDZCxtQkFBa0I7R0FDbkI7Q0RrSUY7O0FFaitDRDtFQUNFO0lBQUssV0FBVTtHRnErQ2Q7RUVwK0NEO0lBQU8sV0FBVTtHRnUrQ2hCO0NBQ0Y7O0FFMStDRDtFQUNFO0lBQUssV0FBVTtHRnErQ2Q7RUVwK0NEO0lBQU8sV0FBVTtHRnUrQ2hCO0NBQ0Y7O0FFcitDRDtFQUNFO0lBQUssV0FBUztHRnkrQ2I7RUV4K0NEO0lBQU8sV0FBUztHRjIrQ2Y7Q0FDRjs7QUU5K0NEO0VBQ0U7SUFBSyxXQUFTO0dGeStDYjtFRXgrQ0Q7SUFBTyxXQUFTO0dGMitDZjtDQUNGOztBRzlpREQ7RUFHTSxZQUFXO0VBQ1gsWUFBVztDQXNCWjs7QUNxQkc7RUQvQ1I7SUFNUSxtQkFBa0I7R0FvQnJCO0VBMUJMO0lBUVUsYUFBWTtJQUNaLFlBQVc7R0FDWjtFQVZUO0lBWVUsc0JBQXFCO0dBT3RCO0VBbkJUO0lBY1ksb0JBQW1CO0dBQ3BCO0VBZlg7SUFpQlksb0JBQW1CO0dBQ3BCO0VBbEJYO0lBc0JVLGFBQVk7SUROcEIsVUFBUztJQUNULG9DQUEyQjtZQUEzQiw0QkFBMkI7R0NPcEI7Q0htakRSIiwiZmlsZSI6InB1YmxpYy9jc3Mvc3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyog5Z+65pys44OV44Kp44Oz44OIIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYm9keSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LWZhbWlseTogJ0x1Y2lkYSBHcmFuZGUnLCAnSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvTicsICfjg5Ljg6njgq7jg47op5LjgrQgUHJvTiBXMycsIE1laXJ5bywg44Oh44Kk44Oq44KqLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbmlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0IHtcbiAgZm9udC1mYW1pbHk6ICdMdWNpZGEgR3JhbmRlJywgJ0hpcmFnaW5vIEtha3UgR290aGljIFByb04nLCAn44OS44Op44Ku44OO6KeS44K0IFByb04gVzMnLCBNZWlyeW8sIOODoeOCpOODquOCqiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMDAlO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4vKiDln7rmnKzjgr/jgrAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmJvZHksIGRpdixcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG5kbCwgZHQsIGRkLCB1bCwgb2wsIGxpLFxucCwgYmxvY2txdW90ZSwgcHJlLCBjaXRlLCBjb2RlLCBjYXB0aW9uLFxuZm9ybSwgZmllbGRzZXQsIGxlZ2VuZCwgaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QsIG9wdGlvbiwgbGFiZWwge1xuICBtYXJnaW46IDBweDtcbiAgcGFkZGluZzogMHB4O1xufVxuXG5pbWcsIHRhYmxlIHtcbiAgYm9yZGVyOiBub25lO1xufVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxub2wsIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuYWRkcmVzcywgZW0sIGNpdGUge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiBub25lO1xufVxuXG5hcnRpY2xlLCBhc2lkZSwgZGlhbG9nLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiDln7rmnKzjg4bjgq3jgrnjg4jjg6rjg7Pjgq8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmE6bGluayxcbmE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuYTpob3ZlcixcbmE6YWN0aXZlIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBmbG9hdOino+mZpFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICBjb250ZW50OiBcIi5cIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmNsZWFyZml4IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKlxcKi9cbiogaHRtbCAuY2xlYXJmaXgge1xuICBoZWlnaHQ6IDElO1xufVxuXG4uY2xlYXJmaXgge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBsYXlvdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI3dyYXBwZXIge1xuICBwYWRkaW5nLXRvcDogNDVweDtcbn1cblxuaW1nLnNwSW1nIHtcbiAgb3BhY2l0eTogMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MClcIjtcbn1cblxuLnBjSGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA5NjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5jb250YWluZXIwMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDk2MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmJnQXJlYTAxIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9iZ19iYWNrMDEuanBnKSByZXBlYXQgY2VudGVyIHRvcDtcbn1cblxuLmJnQXJlYTAyIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9iZ19iYWNrMDIuanBnKSByZXBlYXQgY2VudGVyIHRvcDtcbn1cblxuLmNvbnRhaW5lciBoMiB7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYmdfbGluZTAxLmdpZikgbm8tcmVwZWF0IGNlbnRlciBib3R0b207XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLmNvbnRhaW5lciBoMy5saW5lIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjN2M2YzM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyNHB4O1xufVxuXG4uY29udGFpbmVyIGgzLmxpbmUgc3BhbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3R0b206IC0xOHB4O1xuICBwYWRkaW5nOiAwIDM4cHg7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYmdfYmFjazAxLmpwZykgcmVwZWF0IGNlbnRlciB0b3A7XG59XG5cbi5iZ0FyZWEwMiBoMy5saW5lIHNwYW4ge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2JnX2JhY2swMi5qcGcpIHJlcGVhdCBjZW50ZXIgdG9wO1xufVxuXG4uY29udGFpbmVyIGgzIHNwYW4uZW4ge1xuICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnBhZ2V0b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMTUwcHg7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNTZweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBoZWFkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI2hlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0NXB4O1xuICBtaW4td2lkdGg6IDk2MHB4O1xuICBiYWNrZ3JvdW5kOiAjNmFhMDZhO1xuICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB6LWluZGV4OiAyMDA7XG59XG5cbiNoZWFkZXIgLmNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDEycHggMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgI2hlYWRlciAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbiNoZWFkZXIgYSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbiNoZWFkZXIgYTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTUwKVwiO1xufVxuXG4jaGVhZGVyIC5tZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI2hlYWRlciAubmF2IHtcbiAgcGFkZGluZy1sZWZ0OiA0M3B4O1xufVxuXG4jaGVhZGVyIC5uYXYgbGkge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogNWVtO1xufVxuXG4jaGVhZGVyIC5sYW5nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE1cHg7XG4gIHJpZ2h0OiAxMjBweDtcbiAgZm9udC1zaXplOiAxMXB4O1xufVxuXG4jaGVhZGVyIC5sYW5nIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMTZweDtcbn1cblxuI2hlYWRlciAubGFuZyBsaSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbiNoZWFkZXIgLmxhbmcgbGkub2ZmIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG9wYWNpdHk6IDAuNTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTUwKVwiO1xufVxuXG4jaGVhZGVyIC5idG4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOHB4O1xuICByaWdodDogMzBweDtcbn1cblxuI2hlYWRlciAuYnRuIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyOHB4O1xuICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIGt2XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNrdiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLXdpZHRoOiA5NjBweDtcbiAgaGVpZ2h0OiA1MDVweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9rdjAxLmpwZykgbm8tcmVwZWF0IGNlbnRlciB0b3A7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbiNrdiBoMSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNjhweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI2t2IC5ieC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ja3YgLmJ4LWNvbnRyb2xzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI2t2IC5rdl9pbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUwNXB4O1xuICB6LWluZGV4OiA1O1xufVxuXG4ja3YgLmt2X2ltZyBsaSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogOTYwcHg7XG4gIGhlaWdodDogNTA1cHg7XG59XG5cbiNrdiAua3ZfaW1nIGxpLmt2MDEge1xuICBoZWlnaHQ6IDMzN3B4O1xuICBwYWRkaW5nLXRvcDogMTY4cHg7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcva3YwMS5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4ja3YgLmt2X2ltZyBsaS5rdjAxIC5sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0MTBweDtcbiAgaGVpZ2h0OiAxNTJweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvdGl0bGUucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbn1cblxuI2t2IC5rdl9pbWcgbGkua3YwMiB7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcva3YwMi5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbiNrdiAua3ZfaW1nIGxpLmt2MDMge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2t2MDMuanBnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4ja3YgLmt2X2ltZyBsaS5rdjA0IHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9rdjA0LmpwZykgbm8tcmVwZWF0IGNlbnRlciBib3R0b207XG4gIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuI2t2IC5rdl9pbWcgbGkua3YwNCAuaW1nMDEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDk2MHB4O1xuICBoZWlnaHQ6IDUwNXB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9rdl9pbWcwMi5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIGFib3V0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNhYm91dCB7XG4gIHBhZGRpbmc6IDU4cHggMCA2NnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNhYm91dCBoMyB7XG4gIG1hcmdpbjogNDJweCAwO1xufVxuXG4jYWJvdXQgcCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDUwcHg7XG59XG5cbiNhYm91dCBwLmJuciB7XG4gIHdpZHRoOiAyNTFweDtcbiAgbWFyZ2luOiAzMHB4IGF1dG8gMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuI2Fib3V0IHAuYm5yIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDI1MXB4O1xuICBoZWlnaHQ6IDE0M3B4O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2Jucl9tYWt1YWtlLmdpZikgbm8tcmVwZWF0IGNlbnRlciB0b3A7XG59XG5cbiNhYm91dCBwLmJuciBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMC43O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NzApO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NzApXCI7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gcHJvZHVjdHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI3Byb2R1Y3RzIHtcbiAgcGFkZGluZzogNThweCAwIDU4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3Byb2R1Y3RzIC5sZWFkIHtcbiAgbWFyZ2luLXRvcDogNDVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbiNwcm9kdWN0cyAucHJvZHVjdHNXcmFwIHtcbiAgbWFyZ2luOiAyMHB4IDAgNTBweCAtM3B4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4jcHJvZHVjdHMgLnByb2R1Y3RzV3JhcCBoMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG59XG5cbiNwcm9kdWN0cyAucHJvZHVjdHNXcmFwIGRsIHtcbiAgbWFyZ2luLXRvcDogMThweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMjZweDtcbn1cblxuI3Byb2R1Y3RzIC5wcm9kdWN0c1dyYXAgZGwgZHQge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDRlbTtcbn1cblxuI3Byb2R1Y3RzIC5wcm9kdWN0c1dyYXAgZGwgZGQge1xuICBwYWRkaW5nLWxlZnQ6IDUuNWVtO1xufVxuXG4jcHJvZHVjdHMgLnByb2R1Y3RzV3JhcCBkbCBkZCAucHJpY2Uge1xuICBjb2xvcjogI2NiNDQ0NjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbiNwcm9kdWN0cyAucHJvZHVjdHNCb3gwMSB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMzE4cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBtYXJnaW4tbGVmdDogM3B4O1xufVxuXG4jcHJvZHVjdHMgLnByb2R1Y3RzQm94MDEgaDMgaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAxIGgzIC5tb3NhaWMtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMzE4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAxIGgzIC5tb3NhaWMtb3ZlcmxheSBpbWcge1xuICBtYXJnaW46IDE2MHB4IDAgMDtcbn1cblxuI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAxIC5idG4ge1xuICBiYWNrZ3JvdW5kOiAjNmJhMTZiO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgcGFkZGluZzogNXB4IDE1cHggNXB4IDE1cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAxIC5idG4yIHtcbiAgYmFja2dyb3VuZDogI0Q3MDAwMztcbiAgY29sb3I6ICNGRkY7XG4gIHBhZGRpbmc6IDVweCAxNXB4IDVweCAxNXB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qKi9cbiNwcm9kdWN0cyAucHJvZHVjdHNCb3gwMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MDBweDtcbiAgbWFyZ2luLXRvcDogNjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1sZWZ0OiA0MTZweDtcbn1cblxuI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAyIGgzIC5pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC00MTZweDtcbiAgd2lkdGg6IDM4NnB4O1xuICBtYXJnaW46IDA7XG59XG5cbiNwcm9kdWN0cyAucHJvZHVjdHNCb3gwMiBoMyAubW9zYWljLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDM4NnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNwcm9kdWN0cyAucHJvZHVjdHNCb3gwMiBoMyAubW9zYWljLW92ZXJsYXkgaW1nIHtcbiAgbWFyZ2luOiAxOHB4IDAgMDtcbn1cblxuI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAyIGgzIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG5cbiNwcm9kdWN0cyAucHJvZHVjdHNCb3gwMiAuYnRuIHtcbiAgYmFja2dyb3VuZDogIzZiYTE2YjtcbiAgY29sb3I6ICNGRkY7XG4gIHBhZGRpbmc6IDVweCAxNXB4IDVweCAxNXB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbiNwcm9kdWN0cyAucHJvZHVjdHNCb3gwMiAuYnRuMiB7XG4gIGJhY2tncm91bmQ6ICNENzAwMDM7XG4gIGNvbG9yOiAjRkZGO1xuICBwYWRkaW5nOiA1cHggMTVweCA1cHggMTVweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiovXG4jcHJvZHVjdHMgLnByb2R1Y3RzQm94MDItMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MDBweDtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1sZWZ0OiA0MTZweDtcbn1cblxuI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAyLTIgaDMgLmltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogLTQxNnB4O1xuICB3aWR0aDogMzg2cHg7XG4gIG1hcmdpbjogMDtcbn1cblxuI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAyLTIgaDMgLm1vc2FpYy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAzODZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jcHJvZHVjdHMgLnByb2R1Y3RzQm94MDItMiBoMyAubW9zYWljLW92ZXJsYXkgaW1nIHtcbiAgbWFyZ2luOiAxOHB4IDAgMDtcbn1cblxuI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAyLTIgaDMgc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbn1cblxuI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAyLTIgLmJ0biB7XG4gIGJhY2tncm91bmQ6ICM2YmExNmI7XG4gIGNvbG9yOiAjRkZGO1xuICBwYWRkaW5nOiA1cHggMTVweCA1cHggMTVweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4jcHJvZHVjdHMgLnByb2R1Y3RzQm94MDItMiAuYnRuMiB7XG4gIGJhY2tncm91bmQ6ICNENzAwMDM7XG4gIGNvbG9yOiAjRkZGO1xuICBwYWRkaW5nOiA1cHggMTVweCA1cHggMTVweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiovXG4jcHJvZHVjdHMgLm1vdmllV3JhcCB7XG4gIG1hcmdpbi10b3A6IDc1cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbiNwcm9kdWN0cyAubW92aWVXcmFwIC5tb3ZpZUJ0biB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDQ4MHB4O1xuICBwYWRkaW5nLXRvcDogNXB4O1xufVxuXG4jcHJvZHVjdHMgLm1vdmllV3JhcCAubW92aWVCdG4gYTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTcwKTtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTcwKVwiO1xufVxuXG4jcHJvZHVjdHMgLm1vdmllV3JhcCAudGV4dCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNDUwcHg7XG59XG5cbiNwcm9kdWN0cyAubW92aWVXcmFwIC50ZXh0IHAge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xufVxuXG4jcHJvZHVjdHMgLm1vdmllV3JhcCAudGV4dCBwLm5vdGUge1xuICBtYXJnaW4tdG9wOiA0NHB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuXG4uY19tb3ZpZS13aW5kb3cge1xuICB6LWluZGV4OiA4NTAwMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY19tb3ZpZS13aW5kb3dfYmcucG5nKTtcbn1cblxuLmNfbW92aWUtd2luZG93IC5jX21vdmllLXdpbmRvd19jb250ZW50IHtcbiAgd2lkdGg6IDgwMHB4O1xuICBoZWlnaHQ6IDQ5MHB4O1xufVxuXG4uY19tb3ZpZS13aW5kb3cgLmNfbW92aWUtd2luZG93X2JveCB7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgem9vbTogMTtcbiAgd2lkdGg6IDgwMHB4O1xuICBoZWlnaHQ6IDUwcHg7XG59XG5cbi5jX21vdmllLXdpbmRvdyAuY19tb3ZpZS13aW5kb3dfYm94OmFmdGVyIHtcbiAgY29udGVudDogXCIuXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgaGVpZ2h0OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5jX21vdmllLXdpbmRvdyAuY19tb3ZpZS13aW5kb3dfYm94IC5jX21vdmllLXdpbmRvd19ib3gtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uY19tb3ZpZS13aW5kb3cgLmNfbW92aWUtd2luZG93X2JveCAuY19tb3ZpZS13aW5kb3dfYm94LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uY19tb3ZpZS13aW5kb3cgLmNfbW92aWUtd2luZG93X2JveDIge1xuICB3aWR0aDogODAwcHg7XG4gIGhlaWdodDogNDUwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG59XG5cbi5jX21vdmllLXdpbmRvdyAuY19tb3ZpZS13aW5kb3dfdHh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHBhZGRpbmctdG9wOiAyMXB4O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmNfbW92aWUtd2luZG93IC5jX21vdmllLXdpbmRvd19idG4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiBub25lO1xuICBfYm9yZGVyLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2NfbW92aWUtd2luZG93X2J0bi5naWYpO1xufVxuXG4ucHJvZHVjdHNQb3B1cCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA5NXB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwO1xufVxuXG4ucHJvZHVjdHNQb3B1cCAuY2xvc2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC01MHB4O1xuICByaWdodDogMDtcbn1cblxuLnByb2R1Y3RzUG9wdXAgLmNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDM0cHggMCAyNHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNwcm9kdWN0cyBwLmJuciB7XG4gIHdpZHRoOiAyNTBweDtcbiAgbWFyZ2luOiAyMHB4IGF1dG8gMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuI3Byb2R1Y3RzIHAuYm5yIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDI1MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYm5yX3Nob3AuZ2lmKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcbn1cblxuI3Byb2R1Y3RzIHAuYm5yIGE6aG92ZXIge1xuICBvcGFjaXR5OiAwLjc7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT03MCk7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT03MClcIjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBGQVFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI2ZhcSB7XG4gIHBhZGRpbmc6IDU4cHggMCA2NnB4O1xufVxuXG4jZmFxIGRsIHtcbiAgcGFkZGluZy10b3A6IDQ2cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG5cbiNmYXEgZGwgZHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDE0cHg7XG4gIHBhZGRpbmc6IDAgMCA4cHggNDVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbiNmYXEgZGwgZHQub2ZmIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbiNmYXEgZGwgZHQgLnEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTJweDtcbiAgbGVmdDogMTJweDtcbiAgY29sb3I6ICNiZDYzNGI7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4jZmFxIGRsIGRkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuICBwYWRkaW5nOiAxM3B4IDAgMCA0NXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjY2NjYztcbn1cblxuI2ZhcSBkbCBkZCAuYSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMXB4O1xuICBsZWZ0OiAxMnB4O1xuICBjb2xvcjogIzYzOWM2MztcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBjb250YWN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNjb250YWN0IHtcbiAgcGFkZGluZzogNThweCAwIDExNHB4O1xufVxuXG4jY29udGFjdCBkbCB7XG4gIG1hcmdpbjogNThweCAyMzBweCAwIDExMHB4O1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbiNjb250YWN0IGRsIGR0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbiNjb250YWN0IGRsIGR0LmZpeCB7XG4gIHBhZGRpbmctdG9wOiA4OHB4O1xufVxuXG4jY29udGFjdCBkbCBkZCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMTIwcHg7XG59XG5cbiNjb250YWN0IGRsIGRkIGlucHV0IHtcbiAgd2lkdGg6IDQ5MHB4O1xuICBwYWRkaW5nOiA0cHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWM5YzY7XG59XG5cbiNjb250YWN0IGRsIGRkIHRleHRhcmVhIHtcbiAgd2lkdGg6IDQ5MHB4O1xuICBoZWlnaHQ6IDE5MHB4O1xuICBwYWRkaW5nOiA0cHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWM5YzY7XG59XG5cbiNjb250YWN0IHVsIHtcbiAgbWFyZ2luLXRvcDogMjhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogLTAuNGVtO1xufVxuXG4jY29udGFjdCB1bCBsaSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgcGFkZGluZzogMCA1cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xufVxuXG4jY29udGFjdCB1bCBsaSBpbnB1dCB7XG4gIHdpZHRoOiAxNTZweDtcbiAgcGFkZGluZzogNnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjM5YzYzO1xuICBiYWNrZ3JvdW5kOiAjNjM5YzYzO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuI2NvbnRhY3QgdWwgbGkgaW5wdXQucmVzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMWYxYTE2O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBwcml2YWN5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5wcml2YWN5UG9wdXAge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogOTVweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuLnByaXZhY3lQb3B1cCAuY2xvc2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC01MHB4O1xuICByaWdodDogMDtcbn1cblxuLnByaXZhY3lQb3B1cCAuY29udGFpbmVyIHtcbiAgcGFkZGluZzogMzhweCAwIDI2cHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG5cbiNwcml2YWN5IC50ZXh0Qm94IHtcbiAgd2lkdGg6IDg2MHB4O1xuICBoZWlnaHQ6IDUzMHB4O1xuICBtYXJnaW46IDUwcHggYXV0byAwO1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuI3ByaXZhY3kgLnRleHRCb3ggaDMge1xuICBtYXJnaW46IDMwcHggMCAxMHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4jcHJpdmFjeSAudGV4dEJveCBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cblxuI3ByaXZhY3kgLnRleHRCb3ggLmxpc3QwMSB7XG4gIG1hcmdpbjogLTEycHggMCAyNHB4IDIwcHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG5cbiNwcml2YWN5IC50ZXh0Qm94IC5saXN0MDEgc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDJlbTtcbn1cblxuI292ZXJsYXksXG4jb3ZlcmxheTIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9jX21vdmllLXdpbmRvd19iZy5wbmcpIHJlcGVhdDtcbiAgei1pbmRleDogMjA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gYXBvbG9neVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jYXBvbG9neSB7XG4gIHBhZGRpbmc6IDUwcHggMCAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNhcG9sb2d5IHAge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjY2MwMDAwO1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMjBweCAyMHB4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIGZvb3RlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogIzFmMWExNjtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbiNmb290ZXIgYSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbiNmb290ZXIgYTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTUwKVwiO1xufVxuXG4jZm9vdGVyIC5idG4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMThweDtcbiAgbGVmdDogMDtcbn1cblxuI2Zvb3RlciAuYnRuIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzNHB4O1xuICBtYXJnaW4tcmlnaHQ6IDdweDtcbn1cblxuI2Zvb3RlciAucHJpdmFjeSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyNnB4O1xuICBsZWZ0OiA5MnB4O1xufVxuXG4jZm9vdGVyIC5jb3B5cmlnaHQge1xuICBwYWRkaW5nOiAyNnB4IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgbGF5b3V0XG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAjd3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbiAgaW1nLnNwSW1nIHtcbiAgICBvcGFjaXR5OiAxLjA7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG4gICAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTEwMClcIjtcbiAgfVxuICAucGNIaWRlIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xuICB9XG4gIC5zcEhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiA2NDBweDtcbiAgfVxuICAuY29udGFpbmVyIGgyIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgfVxuICAuY29udGFpbmVyIGgzLmxpbmUge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxuICAuY29udGFpbmVyIGgzLmxpbmUgc3BhbiB7XG4gICAgYm90dG9tOiAtMTRweDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gIH1cbiAgLnBhZ2V0b3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDEwMHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMC45MyU7XG4gICAgei1pbmRleDogMTAwNTtcbiAgfVxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgaGVhZGVyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAjaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAxZW07XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgei1pbmRleDogMTAwMDtcbiAgfVxuICAjaGVhZGVyIC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA1MS41NiU7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiAjNjg5ZjY5O1xuICB9XG4gICNoZWFkZXIgYSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gICNoZWFkZXIgYTpob3ZlciB7XG4gICAgb3BhY2l0eTogMS4wO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xuICAgIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0xMDApXCI7XG4gIH1cbiAgI2hlYWRlciAubWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNnB4O1xuICAgIGxlZnQ6IDZweDtcbiAgICB3aWR0aDogMTUuNjIlO1xuICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9idG5fY2xvc2UuZ2lmKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gICAgei1pbmRleDogMTAwMTtcbiAgfVxuICAjaGVhZGVyIC5tZW51Lm9uIGltZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gICAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTApXCI7XG4gIH1cbiAgI2hlYWRlciB1bCB7XG4gICAgbWFyZ2luOiAwIDEyLjEyJTtcbiAgfVxuICAjaGVhZGVyIC5uYXYge1xuICAgIHBhZGRpbmc6IDQwJSAwIDEwLjklO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmRkM2JlO1xuICB9XG4gICNoZWFkZXIgLm5hdiBsaSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gIH1cbiAgI2hlYWRlciAubGFuZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiA4LjQ4JSAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JkZDNiZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gICNoZWFkZXIgLmxhbmcgbGkge1xuICAgIHBhZGRpbmc6IDAgNGVtIDAgMDtcbiAgfVxuICAjaGVhZGVyIC5sYW5nIGxpIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gICNoZWFkZXIgLmxhbmcgbGkub2ZmIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTtcbiAgICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NTApXCI7XG4gIH1cbiAgI2hlYWRlciAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IDEwLjklO1xuICB9XG4gICNoZWFkZXIgLmJ0biBsaSB7XG4gICAgd2lkdGg6IDI4JTtcbiAgICBtYXJnaW46IDAgOCUgMCAwO1xuICB9XG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBrdlxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgI2t2IHtcbiAgICBtaW4td2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDcwLjMxJTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2t2MDFfc3AuanBnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuICAja3YgaDEge1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG4gICNrdiAuYngtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG4gICNrdiAua3ZfaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHotaW5kZXg6IDU7XG4gIH1cbiAgI2t2IC5rdl9pbWcgbGkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDcwLjMxJTtcbiAgfVxuICAja3YgLmt2X2ltZyBsaS5rdjAxIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZiB1cmwoLi4vaW1nL2t2MDFfc3AuanBnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuICAja3YgLmt2X2ltZyBsaS5rdjAyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmIHVybCguLi9pbWcva3YwMl9zcC5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB9XG4gICNrdiAua3ZfaW1nIGxpLmt2MDMge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmYgdXJsKC4uL2ltZy9rdjAzX3NwLmpwZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cbiAgI2t2IC5rdl9pbWcgbGkua3YwNCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZiB1cmwoLi4vaW1nL2t2MDRfc3AwMi5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB9XG4gICNrdiAua3ZfaW1nIGxpLmt2MDEgLmxvZ28sXG4gICNrdiAua3ZfaW1nIGxpLmt2MDQgLmltZzAxIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBhYm91dFxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgI2Fib3V0IHtcbiAgICBwYWRkaW5nOiA5LjY4JSAzLjEyJSAxMC42MiU7XG4gIH1cbiAgI2Fib3V0IGgzIHtcbiAgICBtYXJnaW46IDguNjYlIDA7XG4gIH1cbiAgI2Fib3V0IHAge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgfVxuICAjYWJvdXQgcC5ibnIge1xuICAgIHdpZHRoOiA2My4zMyU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogOC43NSUgYXV0byAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAjYWJvdXQgcC5ibnIgYSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBwcm9kdWN0c1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgI3Byb2R1Y3RzIHtcbiAgICBwYWRkaW5nOiA5LjY4JSAzLjEyJSAxMC42MiU7XG4gIH1cbiAgI3Byb2R1Y3RzIC5sZWFkIHtcbiAgICBtYXJnaW4tdG9wOiAxMCU7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG4gICNwcm9kdWN0cyAucHJvZHVjdHNXcmFwIHtcbiAgICBtYXJnaW46IDIwcHggMCA0LjEzJTtcbiAgfVxuICAjcHJvZHVjdHMgLnByb2R1Y3RzV3JhcCBoMyB7XG4gICAgbWFyZ2luOiAwIDMuMzMlO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMTlweDtcbiAgfVxuICAjcHJvZHVjdHMgLnByb2R1Y3RzV3JhcCBoMyBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA3MS4wNyU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgI3Byb2R1Y3RzIC5wcm9kdWN0c1dyYXAgZGwge1xuICAgIG1hcmdpbjogOHB4IDMuMzMlIDA7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB9XG4gICNwcm9kdWN0cyAucHJvZHVjdHNCb3gwMSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAzLjMzJSAwIDA7XG4gICAgcGFkZGluZy1ib3R0b206IDguMzMlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjY2NjO1xuICB9XG4gICNwcm9kdWN0cyAucHJvZHVjdHNCb3gwMSBoMyBpbWcge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAxIGgzIC5tb3NhaWMtb3ZlcmxheSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC8qKi9cbiAgI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAzLjMzJSAwIDA7XG4gICAgcGFkZGluZy1ib3R0b206IDguMzMlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjY2NjO1xuICB9XG4gICNwcm9kdWN0cyAucHJvZHVjdHNCb3gwMiBoMyAuaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAwIC0zLjQ0JTtcbiAgfVxuICAjcHJvZHVjdHMgLnByb2R1Y3RzQm94MDIgaDMgLmltZyBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICNwcm9kdWN0cyAucHJvZHVjdHNCb3gwMiBoMyBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIH1cbiAgLyoqL1xuICAjcHJvZHVjdHMgLnByb2R1Y3RzQm94MDItMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMy4zMyUgMCAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA4LjMzJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2NjYztcbiAgfVxuICAjcHJvZHVjdHMgLnByb2R1Y3RzQm94MDItMiBoMyAuaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAwIC0zLjQ0JTtcbiAgfVxuICAjcHJvZHVjdHMgLnByb2R1Y3RzQm94MDItMiBoMyAuaW1nIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAyLTIgaDMgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB9XG4gIC8qKi9cbiAgI3Byb2R1Y3RzIC5tb3ZpZVdyYXAge1xuICAgIHdpZHRoOiA5My4zMyU7XG4gICAgbWFyZ2luOiA4LjMzJSBhdXRvIDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAjcHJvZHVjdHMgLm1vdmllV3JhcCAubW92aWVCdG4ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG4gICNwcm9kdWN0cyAubW92aWVXcmFwIC50ZXh0IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiA3LjIlO1xuICB9XG4gICNwcm9kdWN0cyAubW92aWVXcmFwIC50ZXh0IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICB9XG4gICNwcm9kdWN0cyAubW92aWVXcmFwIC50ZXh0IHAubm90ZSB7XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIH1cbiAgLmNfbW92aWUtd2luZG93IHtcbiAgICB6LWluZGV4OiA4NTAwMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5jX21vdmllLXdpbmRvdyAuY19tb3ZpZS13aW5kb3dfY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICAuY19tb3ZpZS13aW5kb3cgLmNfbW92aWUtd2luZG93X2JveCB7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIHpvb206IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICB9XG4gIC5jX21vdmllLXdpbmRvdyAuY19tb3ZpZS13aW5kb3dfYm94OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIi5cIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIC5jX21vdmllLXdpbmRvdyAuY19tb3ZpZS13aW5kb3dfYm94IC5jX21vdmllLXdpbmRvd19ib3gtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmNfbW92aWUtd2luZG93IC5jX21vdmllLXdpbmRvd19ib3ggLmNfbW92aWUtd2luZG93X2JveC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG4gIC5jX21vdmllLXdpbmRvdyAuY19tb3ZpZS13aW5kb3dfYm94MiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC5jX21vdmllLXdpbmRvdyAuY19tb3ZpZS13aW5kb3dfYm94MiBpZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLmNfbW92aWUtd2luZG93IC5jX21vdmllLXdpbmRvd190eHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuICAuY19tb3ZpZS13aW5kb3cgLmNfbW92aWUtd2luZG93X2J0biB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgX2JvcmRlci13aWR0aDogMHB4O1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY19tb3ZpZS13aW5kb3dfYnRuLmdpZik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICB9XG4gIC5wcm9kdWN0c1BvcHVwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDUwcHg7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAucHJvZHVjdHNQb3B1cCAuY2xvc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yNXB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgfVxuICAucHJvZHVjdHNQb3B1cCAuY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDMuMTIlO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgRkFRXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAjZmFxIHtcbiAgICBwYWRkaW5nOiA5LjY4JSAzLjEyJSAxMC42MiU7XG4gIH1cbiAgI2ZhcSBkbCB7XG4gICAgcGFkZGluZy10b3A6IDQ2cHg7XG4gIH1cbiAgI2ZhcSBkbCBkdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgcGFkZGluZzogMCAwIDhweCAzNXB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgfVxuICAjZmFxIGRsIGR0IC5xIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMnB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgY29sb3I6ICNiZDYzNGI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICAjZmFxIGRsIGRkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMzZweDtcbiAgICBwYWRkaW5nOiAxM3B4IDAgMCAzNXB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjY2NjO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgfVxuICAjZmFxIGRsIGRkIC5hIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMXB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgY29sb3I6ICM2MzljNjM7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBjb250YWN0XG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAjY29udGFjdCB7XG4gICAgcGFkZGluZzogOS42OCUgNi4yNSUgMTQuMDYlO1xuICB9XG4gICNjb250YWN0IGRsIHtcbiAgICBtYXJnaW46IDguOTIlIDAgMCAwO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgfVxuICAjY29udGFjdCBkbCBkdCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgcGFkZGluZy10b3A6IDdweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gICNjb250YWN0IGRsIGR0LmZpeCB7XG4gICAgcGFkZGluZy10b3A6IDdweDtcbiAgfVxuICAjY29udGFjdCBkbCBkZCB7XG4gICAgbWFyZ2luOiAwLjVlbSAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAjY29udGFjdCBkbCBkZCBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogNHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NhYzljNjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gICNjb250YWN0IGRsIGRkIHRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDk1cHg7XG4gICAgcGFkZGluZzogNHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NhYzljNjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gICNjb250YWN0IHVsIHtcbiAgICBtYXJnaW4tdG9wOiA1LjcxJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gICNjb250YWN0IHVsIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNDguNTclO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgI2NvbnRhY3QgdWwgbGk6bnRoLWNoaWxkKDJuKSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG4gICNjb250YWN0IHVsIGxpIGlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBwcml2YWN5XG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAjcHJpdmFjeSB7XG4gICAgcGFkZGluZy10b3A6IDMxLjIlO1xuICB9XG4gICNwcml2YWN5IC5jbG9zZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy4xMiU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICNwcml2YWN5IC50ZXh0Qm94IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiA1MHB4IDYuMjUlIDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICAjcHJpdmFjeSAudGV4dEJveCBoMyB7XG4gICAgbWFyZ2luOiAzMHB4IDAgMTBweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbiAgI3ByaXZhY3kgLnRleHRCb3ggcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTdweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gIH1cbiAgI3ByaXZhY3kgLnRleHRCb3ggLmxpc3QwMSB7XG4gICAgbWFyZ2luOiAtN3B4IDAgMTdweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgfVxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgYXBvbG9neVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgI2Fwb2xvZ3kge1xuICAgIHBhZGRpbmc6IDkuNjglIDMuMTIlIDUuNSU7XG4gIH1cbiAgI2Fwb2xvZ3kgcCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNjYzAwMDA7XG4gICAgcGFkZGluZzogNS41JSAzLjAlIDUuNSU7XG4gIH1cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIGZvb3RlclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgI2Zvb3RlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgI2Zvb3RlciAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiA2LjI1JSA2LjI1JSAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgI2Zvb3RlciBhOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxLjA7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG4gICAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTEwMClcIjtcbiAgfVxuICAjZm9vdGVyIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuICAjZm9vdGVyIC5idG4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMi41JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMTQlO1xuICB9XG4gICNmb290ZXIgLnByaXZhY3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nLXRvcDogMWVtO1xuICB9XG4gICNmb290ZXIgLmNvcHlyaWdodCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMWVtIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNvbG9yQ2hhbmdlIHtcbiAgMCUge1xuICAgIGZpbGw6ICNmZmY7XG4gIH1cbiAgMTAwJSB7XG4gICAgZmlsbDogIzAwMDtcbiAgfVxufVxuXG4jcHJvZHVjdHMgLnByb2R1Y3RzQm94MDEudGhyZWVXaWRlIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAjcHJvZHVjdHMgLnByb2R1Y3RzQm94MDEudGhyZWVXaWRlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAxLnRocmVlV2lkZSBoMyB7XG4gICAgd2lkdGg6IDQxMHB4O1xuICAgIGxlZnQ6IDI3NXB4O1xuICB9XG4gICNwcm9kdWN0cyAucHJvZHVjdHNCb3gwMS50aHJlZVdpZGUgZGwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAjcHJvZHVjdHMgLnByb2R1Y3RzQm94MDEudGhyZWVXaWRlIGRsIGR0IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICB9XG4gICNwcm9kdWN0cyAucHJvZHVjdHNCb3gwMS50aHJlZVdpZGUgZGwgZGQge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIH1cbiAgI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAxLnRocmVlV2lkZSAubW9zYWljLW92ZXJsYXkge1xuICAgIHdpZHRoOiA0MDBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvc2Fzcy9zdHlsZS5zY3NzIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5cbi8qIOWfuuacrOODleOCqeODs+ODiCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuYm9keSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LWZhbWlseTonTHVjaWRhIEdyYW5kZScsICdIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9OJywgJ+ODkuODqeOCruODjuinkuOCtCBQcm9OIFczJywgTWVpcnlvLCDjg6HjgqTjg6rjgqosIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuaW5wdXQsdGV4dGFyZWEsc2VsZWN0IHtcbiAgZm9udC1mYW1pbHk6J0x1Y2lkYSBHcmFuZGUnLCAnSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvTicsICfjg5Ljg6njgq7jg47op5LjgrQgUHJvTiBXMycsIE1laXJ5bywg44Oh44Kk44Oq44KqLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEwMCU7XG59XG5cbmgxLGgyLGgzLGg0LGg1LGg2IHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5cbi8qIOWfuuacrOOCv+OCsCAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5ib2R5LGRpdixcbmgxLGgyLGgzLGg0LGg1LGg2LFxuZGwsZHQsZGQsdWwsb2wsbGksXG5wLGJsb2NrcXVvdGUscHJlLGNpdGUsY29kZSxjYXB0aW9uLFxuZm9ybSxmaWVsZHNldCxsZWdlbmQsaW5wdXQsdGV4dGFyZWEsc2VsZWN0LG9wdGlvbixsYWJlbCB7XG4gIG1hcmdpbjogMHB4O1xuICBwYWRkaW5nOiAwcHg7XG59XG5cbmltZyx0YWJsZSB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbm9sLHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuYWRkcmVzcyxlbSxjaXRlIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuYXJ0aWNsZSwgYXNpZGUsIGRpYWxvZywgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24geyBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiDln7rmnKzjg4bjgq3jgrnjg4jjg6rjg7Pjgq8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuYTpsaW5rLFxuYTp2aXNpdGVkIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5hOmhvdmVyLFxuYTphY3RpdmUge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gZmxvYXTop6PpmaRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uY2xlYXJmaXg6YWZ0ZXIgeyBjb250ZW50OlwiLlwiOyBkaXNwbGF5OmJsb2NrOyBoZWlnaHQ6MDsgY2xlYXI6Ym90aDsgdmlzaWJpbGl0eTpoaWRkZW47IH1cbi5jbGVhcmZpeCB7IGRpc3BsYXk6aW5saW5lLWJsb2NrO31cbi8qXFwqL1xuKiBodG1sIC5jbGVhcmZpeCB7IGhlaWdodDoxJTsgfVxuLmNsZWFyZml4IHsgZGlzcGxheTpibG9jazsgfVxuLyoqL1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gbGF5b3V0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuI3dyYXBwZXIge1xuICBwYWRkaW5nLXRvcDogNDVweDtcbn1cblxuaW1nLnNwSW1nIHtcbiAgb3BhY2l0eTogMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MClcIjtcbn1cblxuLnBjSGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA5NjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5jb250YWluZXIwMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDk2MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuXG5cbi5iZ0FyZWEwMSB7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYmdfYmFjazAxLmpwZykgcmVwZWF0IGNlbnRlciB0b3A7XG59XG5cbi5iZ0FyZWEwMiB7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYmdfYmFjazAyLmpwZykgcmVwZWF0IGNlbnRlciB0b3A7XG59XG5cbi5jb250YWluZXIgaDIge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2JnX2xpbmUwMS5naWYpIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tO1xuICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDQwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5jb250YWluZXIgaDMubGluZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzdjNmMzO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMjRweDtcbn1cbi5jb250YWluZXIgaDMubGluZSBzcGFuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvdHRvbTogLTE4cHg7XG4gIHBhZGRpbmc6IDAgMzhweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9iZ19iYWNrMDEuanBnKSByZXBlYXQgY2VudGVyIHRvcDtcbn1cbi5iZ0FyZWEwMiBoMy5saW5lIHNwYW4ge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2JnX2JhY2swMi5qcGcpIHJlcGVhdCBjZW50ZXIgdG9wO1xufVxuLmNvbnRhaW5lciBoMyBzcGFuLmVuIHtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5wYWdldG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDE1MHB4O1xuICByaWdodDogMDtcbiAgd2lkdGg6IDU2cHg7XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBoZWFkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4jaGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIG1pbi13aWR0aDogOTYwcHg7XG4gIGJhY2tncm91bmQ6ICM2YWEwNmE7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHotaW5kZXg6IDIwMDtcbn1cbiNoZWFkZXIgLmNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDEycHggMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICNoZWFkZXIgLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4jaGVhZGVyIGEge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuI2hlYWRlciBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMC41O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NTApXCI7XG59XG4jaGVhZGVyIC5tZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiNoZWFkZXIgLm5hdiB7XG4gIHBhZGRpbmctbGVmdDogNDNweDtcbn1cbiNoZWFkZXIgLm5hdiBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiA1ZW07XG59XG4jaGVhZGVyIC5sYW5nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE1cHg7XG4gIHJpZ2h0OiAxMjBweDtcbiAgZm9udC1zaXplOiAxMXB4O1xufVxuI2hlYWRlciAubGFuZyBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG59XG4jaGVhZGVyIC5sYW5nIGxpIGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbiNoZWFkZXIgLmxhbmcgbGkub2ZmIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG9wYWNpdHk6IDAuNTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTUwKVwiO1xufVxuI2hlYWRlciAuYnRuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDhweDtcbiAgcmlnaHQ6IDMwcHg7XG59XG4jaGVhZGVyIC5idG4gbGkge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDI4cHg7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBrdlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiNrdiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLXdpZHRoOiA5NjBweDtcbiAgaGVpZ2h0OiA1MDVweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9rdjAxLmpwZykgbm8tcmVwZWF0IGNlbnRlciB0b3A7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4ja3YgaDEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTY4cHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ja3YgLmJ4LXdyYXBwZXJ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbiNrdiAuYngtY29udHJvbHN7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNrdiAua3ZfaW1ne1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUwNXB4O1xuICB6LWluZGV4OiA1O1xufVxuI2t2IC5rdl9pbWcgbGl7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogOTYwcHg7XG4gIGhlaWdodDogNTA1cHg7XG59XG4ja3YgLmt2X2ltZyBsaS5rdjAxe1xuICBoZWlnaHQ6IDMzN3B4O1xuICBwYWRkaW5nLXRvcDogMTY4cHg7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcva3YwMS5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHotaW5kZXg6IDEwO1xufVxuI2t2IC5rdl9pbWcgbGkua3YwMSAubG9nbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNDEwcHg7XG4gIGhlaWdodDogMTUycHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3RpdGxlLnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG59XG4ja3YgLmt2X2ltZyBsaS5rdjAye1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2t2MDIuanBnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuI2t2IC5rdl9pbWcgbGkua3YwM3tcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9rdjAzLmpwZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbiNrdiAua3ZfaW1nIGxpLmt2MDR7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcva3YwNC5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tO1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4ja3YgLmt2X2ltZyBsaS5rdjA0IC5pbWcwMSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogOTYwcHg7XG4gIGhlaWdodDogNTA1cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2t2X2ltZzAyLnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBhYm91dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiNhYm91dCB7XG4gIHBhZGRpbmc6IDU4cHggMCA2NnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jYWJvdXQgaDMge1xuICBtYXJnaW46IDQycHggMDtcbn1cbiNhYm91dCBwIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogNTBweDtcbn1cbiNhYm91dCBwLmJuciB7XG4gIHdpZHRoOiAyNTFweDtcbiAgbWFyZ2luOiAzMHB4IGF1dG8gMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiNhYm91dCBwLmJuciBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyNTFweDtcbiAgaGVpZ2h0OiAxNDNweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9ibnJfbWFrdWFrZS5naWYpIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xufVxuI2Fib3V0IHAuYm5yIGE6aG92ZXIge1xuICBvcGFjaXR5OiAwLjc7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT03MCk7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT03MClcIjtcbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIHByb2R1Y3RzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuI3Byb2R1Y3RzIHtcbiAgcGFkZGluZzogNThweCAwIDU4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNwcm9kdWN0cyAubGVhZCB7XG4gIG1hcmdpbi10b3A6IDQ1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuI3Byb2R1Y3RzIC5wcm9kdWN0c1dyYXAge1xuICBtYXJnaW46IDIwcHggMCA1MHB4IC0zcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4jcHJvZHVjdHMgLnByb2R1Y3RzV3JhcCBoMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG59XG4jcHJvZHVjdHMgLnByb2R1Y3RzV3JhcCBkbCB7XG4gIG1hcmdpbi10b3A6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG59XG4jcHJvZHVjdHMgLnByb2R1Y3RzV3JhcCBkbCBkdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNGVtO1xufVxuI3Byb2R1Y3RzIC5wcm9kdWN0c1dyYXAgZGwgZGQge1xuICBwYWRkaW5nLWxlZnQ6IDUuNWVtO1xufVxuI3Byb2R1Y3RzIC5wcm9kdWN0c1dyYXAgZGwgZGQgLnByaWNlIHtcbiAgY29sb3I6ICNjYjQ0NDY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAxIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzMThweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAzcHg7XG59XG4jcHJvZHVjdHMgLnByb2R1Y3RzQm94MDEgaDMgaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cbiNwcm9kdWN0cyAucHJvZHVjdHNCb3gwMSBoMyAubW9zYWljLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDMxOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jcHJvZHVjdHMgLnByb2R1Y3RzQm94MDEgaDMgLm1vc2FpYy1vdmVybGF5IGltZyB7XG4gIG1hcmdpbjogMTYwcHggMCAwO1xufVxuXG4jcHJvZHVjdHMgLnByb2R1Y3RzQm94MDEgLmJ0biB7XG4gIGJhY2tncm91bmQ6ICM2YmExNmI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBwYWRkaW5nOiA1cHggMTVweCA1cHggMTVweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4jcHJvZHVjdHMgLnByb2R1Y3RzQm94MDEgLmJ0bjIge1xuICBiYWNrZ3JvdW5kOiAjRDcwMDAzO1xuICBjb2xvcjogI0ZGRjtcbiAgcGFkZGluZzogNXB4IDE1cHggNXB4IDE1cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuXG4vKiovXG5cbiNwcm9kdWN0cyAucHJvZHVjdHNCb3gwMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MDBweDtcbiAgbWFyZ2luLXRvcDogNjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1sZWZ0OiA0MTZweDtcbn1cblxuI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAyIGgzIC5pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC00MTZweDtcbiAgd2lkdGg6IDM4NnB4O1xuICBtYXJnaW46IDA7XG59XG4jcHJvZHVjdHMgLnByb2R1Y3RzQm94MDIgaDMgLm1vc2FpYy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAzODZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAyIGgzIC5tb3NhaWMtb3ZlcmxheSBpbWcge1xuICBtYXJnaW46IDE4cHggMCAwO1xufVxuI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAyIGgzIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG5cbiNwcm9kdWN0cyAucHJvZHVjdHNCb3gwMiAuYnRuIHtcbiAgYmFja2dyb3VuZDogIzZiYTE2YjtcbiAgY29sb3I6ICNGRkY7XG4gIHBhZGRpbmc6IDVweCAxNXB4IDVweCAxNXB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbiNwcm9kdWN0cyAucHJvZHVjdHNCb3gwMiAuYnRuMiB7XG4gIGJhY2tncm91bmQ6ICNENzAwMDM7XG4gIGNvbG9yOiAjRkZGO1xuICBwYWRkaW5nOiA1cHggMTVweCA1cHggMTVweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5cbi8qKi9cblxuI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAyLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTAwcHg7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctbGVmdDogNDE2cHg7XG59XG5cbiNwcm9kdWN0cyAucHJvZHVjdHNCb3gwMi0yIGgzIC5pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC00MTZweDtcbiAgd2lkdGg6IDM4NnB4O1xuICBtYXJnaW46IDA7XG59XG4jcHJvZHVjdHMgLnByb2R1Y3RzQm94MDItMiBoMyAubW9zYWljLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDM4NnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jcHJvZHVjdHMgLnByb2R1Y3RzQm94MDItMiBoMyAubW9zYWljLW92ZXJsYXkgaW1nIHtcbiAgbWFyZ2luOiAxOHB4IDAgMDtcbn1cbiNwcm9kdWN0cyAucHJvZHVjdHNCb3gwMi0yIGgzIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG5cbiNwcm9kdWN0cyAucHJvZHVjdHNCb3gwMi0yIC5idG4ge1xuICBiYWNrZ3JvdW5kOiAjNmJhMTZiO1xuICBjb2xvcjogI0ZGRjtcbiAgcGFkZGluZzogNXB4IDE1cHggNXB4IDE1cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAyLTIgLmJ0bjIge1xuICBiYWNrZ3JvdW5kOiAjRDcwMDAzO1xuICBjb2xvcjogI0ZGRjtcbiAgcGFkZGluZzogNXB4IDE1cHggNXB4IDE1cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuXG4vKiovXG5cblxuI3Byb2R1Y3RzIC5tb3ZpZVdyYXAge1xuICBtYXJnaW4tdG9wOiA3NXB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuI3Byb2R1Y3RzIC5tb3ZpZVdyYXAgLm1vdmllQnRuIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogNDgwcHg7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG59XG4jcHJvZHVjdHMgLm1vdmllV3JhcCAubW92aWVCdG4gYTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTcwKTtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTcwKVwiO1xufVxuI3Byb2R1Y3RzIC5tb3ZpZVdyYXAgLnRleHQge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDQ1MHB4O1xufVxuI3Byb2R1Y3RzIC5tb3ZpZVdyYXAgLnRleHQgcCB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG59XG4jcHJvZHVjdHMgLm1vdmllV3JhcCAudGV4dCBwLm5vdGUge1xuICBtYXJnaW4tdG9wOiA0NHB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuXG4uY19tb3ZpZS13aW5kb3cgeyB6LWluZGV4OiA4NTAwMDsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDA7IGxlZnQ6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY19tb3ZpZS13aW5kb3dfYmcucG5nKTt9XG4uY19tb3ZpZS13aW5kb3cgLmNfbW92aWUtd2luZG93X2NvbnRlbnQgeyB3aWR0aDogODAwcHg7IGhlaWdodDogNDkwcHg7IH1cbi5jX21vdmllLXdpbmRvdyAuY19tb3ZpZS13aW5kb3dfYm94IHsgbWluLWhlaWdodDogMXB4OyB6b29tOiAxOyB3aWR0aDogODAwcHg7IGhlaWdodDogNTBweDsgfVxuLmNfbW92aWUtd2luZG93IC5jX21vdmllLXdpbmRvd19ib3g6YWZ0ZXIgeyBjb250ZW50OiBcIi5cIjsgZGlzcGxheTogYmxvY2s7IGNsZWFyOiBib3RoOyBoZWlnaHQ6IDA7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuLmNfbW92aWUtd2luZG93IC5jX21vdmllLXdpbmRvd19ib3ggLmNfbW92aWUtd2luZG93X2JveC1sZWZ0IHsgZmxvYXQ6IGxlZnQ7IH1cbi5jX21vdmllLXdpbmRvdyAuY19tb3ZpZS13aW5kb3dfYm94IC5jX21vdmllLXdpbmRvd19ib3gtcmlnaHQgeyBmbG9hdDogcmlnaHQ7IH1cbi5jX21vdmllLXdpbmRvdyAuY19tb3ZpZS13aW5kb3dfYm94MiB7IHdpZHRoOiA4MDBweDsgaGVpZ2h0OiA0NTBweDsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuLmNfbW92aWUtd2luZG93IC5jX21vdmllLXdpbmRvd190eHQgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDFlbTsgcGFkZGluZy10b3A6IDIxcHg7IGNvbG9yOiNmZmY7IH1cbi5jX21vdmllLXdpbmRvdyAuY19tb3ZpZS13aW5kb3dfYnRuIHsgb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogYmxvY2s7IGJvcmRlcjogbm9uZTsgX2JvcmRlci13aWR0aDogMHB4OyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyB0ZXh0LWFsaWduOiBsZWZ0OyB0ZXh0LWluZGVudDogLTk5OTlweDsgY3Vyc29yOiBwb2ludGVyOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcDsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9jX21vdmllLXdpbmRvd19idG4uZ2lmKTsgfVxuXG4ucHJvZHVjdHNQb3B1cHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDk1cHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG59XG4ucHJvZHVjdHNQb3B1cCAuY2xvc2V7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTUwcHg7XG4gIHJpZ2h0OiAwO1xufVxuLnByb2R1Y3RzUG9wdXAgLmNvbnRhaW5lcntcbiAgcGFkZGluZzogMzRweCAwIDI0cHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3Byb2R1Y3RzIHAuYm5yIHtcbiAgd2lkdGg6IDI1MHB4O1xuICBtYXJnaW46IDIwcHggYXV0byAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4jcHJvZHVjdHMgcC5ibnIgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjUwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9ibnJfc2hvcC5naWYpIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xufVxuI3Byb2R1Y3RzIHAuYm5yIGE6aG92ZXIge1xuICBvcGFjaXR5OiAwLjc7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT03MCk7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT03MClcIjtcbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEZBUVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiNmYXEge1xuICBwYWRkaW5nOiA1OHB4IDAgNjZweDtcbn1cbiNmYXEgZGwge1xuICBwYWRkaW5nLXRvcDogNDZweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cbiNmYXEgZGwgZHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDE0cHg7XG4gIHBhZGRpbmc6IDAgMCA4cHggNDVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4jZmFxIGRsIGR0Lm9mZiB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuI2ZhcSBkbCBkdCAucSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMnB4O1xuICBsZWZ0OiAxMnB4O1xuICBjb2xvcjogI2JkNjM0YjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4jZmFxIGRsIGRkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuICBwYWRkaW5nOiAxM3B4IDAgMCA0NXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjY2NjYztcbn1cbiNmYXEgZGwgZGQgLmEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTFweDtcbiAgbGVmdDogMTJweDtcbiAgY29sb3I6ICM2MzljNjM7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBjb250YWN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuI2NvbnRhY3Qge1xuICBwYWRkaW5nOiA1OHB4IDAgMTE0cHg7XG59XG4jY29udGFjdCBkbCB7XG4gIG1hcmdpbjogNThweCAyMzBweCAwIDExMHB4O1xuICBmb250LXNpemU6IDEzcHg7XG59XG4jY29udGFjdCBkbCBkdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuI2NvbnRhY3QgZGwgZHQuZml4IHtcbiAgcGFkZGluZy10b3A6IDg4cHg7XG59XG4jY29udGFjdCBkbCBkZCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMTIwcHg7XG59XG4jY29udGFjdCBkbCBkZCBpbnB1dCB7XG4gIHdpZHRoOiA0OTBweDtcbiAgcGFkZGluZzogNHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjOWM2O1xufVxuI2NvbnRhY3QgZGwgZGQgdGV4dGFyZWEge1xuICB3aWR0aDogNDkwcHg7XG4gIGhlaWdodDogMTkwcHg7XG4gIHBhZGRpbmc6IDRweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhYzljNjtcbn1cbiNjb250YWN0IHVsIHtcbiAgbWFyZ2luLXRvcDogMjhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogLTAuNGVtO1xufVxuI2NvbnRhY3QgdWwgbGkge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cbiNjb250YWN0IHVsIGxpIGlucHV0IHtcbiAgd2lkdGg6IDE1NnB4O1xuICBwYWRkaW5nOiA2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2MzljNjM7XG4gIGJhY2tncm91bmQ6ICM2MzljNjM7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuI2NvbnRhY3QgdWwgbGkgaW5wdXQucmVzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMWYxYTE2O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBwcml2YWN5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnByaXZhY3lQb3B1cHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDk1cHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG59XG4ucHJpdmFjeVBvcHVwIC5jbG9zZXtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNTBweDtcbiAgcmlnaHQ6IDA7XG59XG4ucHJpdmFjeVBvcHVwIC5jb250YWluZXJ7XG4gIHBhZGRpbmc6IDM4cHggMCAyNnB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuI3ByaXZhY3kgLnRleHRCb3h7XG4gIHdpZHRoOiA4NjBweDtcbiAgaGVpZ2h0OiA1MzBweDtcbiAgbWFyZ2luOiA1MHB4IGF1dG8gMDtcbiAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG4jcHJpdmFjeSAudGV4dEJveCBoM3tcbiAgbWFyZ2luOiAzMHB4IDAgMTBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbiNwcml2YWN5IC50ZXh0Qm94IHB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG4jcHJpdmFjeSAudGV4dEJveCAubGlzdDAxe1xuICBtYXJnaW46IC0xMnB4IDAgMjRweCAyMHB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuI3ByaXZhY3kgLnRleHRCb3ggLmxpc3QwMSBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMmVtO1xufVxuXG4jb3ZlcmxheSxcbiNvdmVybGF5MntcbiAgZGlzcGxheTpub25lO1xuICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgdG9wOjA7XG4gIGxlZnQ6MDtcbiAgd2lkdGg6MTAwJTtcbiAgaGVpZ2h0OjEwMCU7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvY19tb3ZpZS13aW5kb3dfYmcucG5nKSByZXBlYXQ7XG4gIHotaW5kZXg6MjA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gYXBvbG9neVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiNhcG9sb2d5IHtcbiAgcGFkZGluZzogNTBweCAwIDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxufVxuI2Fwb2xvZ3kgcCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGJvcmRlcjoycHggc29saWQgI2NjMDAwMDtcbiAgcGFkZGluZzogMjBweCAyMHB4IDIwcHggMjBweDtcbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIGZvb3RlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiNmb290ZXIge1xuICBiYWNrZ3JvdW5kOiAjMWYxYTE2O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbiNmb290ZXIgYSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4jZm9vdGVyIGE6aG92ZXIge1xuICBvcGFjaXR5OiAwLjU7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT01MClcIjtcbn1cbiNmb290ZXIgLmJ0biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxOHB4O1xuICBsZWZ0OiAwO1xufVxuI2Zvb3RlciAuYnRuIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzNHB4O1xuICBtYXJnaW4tcmlnaHQ6IDdweDtcbn1cbiNmb290ZXIgLnByaXZhY3kge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjZweDtcbiAgbGVmdDogOTJweDtcbn1cbiNmb290ZXIgLmNvcHlyaWdodCB7XG4gIHBhZGRpbmc6IDI2cHggMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG5cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIGxheW91dFxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAjd3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cblxuICBpbWcuc3BJbWcge1xuICAgIG9wYWNpdHk6IDEuMDtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbiAgICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MTAwKVwiO1xuICB9XG5cbiAgLnBjSGlkZSB7XG4gICAgZGlzcGxheTogaW5oZXJpdDtcbiAgfVxuXG4gIC5zcEhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDY0MHB4O1xuICB9XG5cbiAgLmNvbnRhaW5lciBoMiB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIH1cblxuICAuY29udGFpbmVyIGgzLmxpbmUge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxuICAuY29udGFpbmVyIGgzLmxpbmUgc3BhbiB7XG4gICAgYm90dG9tOiAtMTRweDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gIH1cblxuICAucGFnZXRvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMTAwcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwLjkzJTtcbiAgICB6LWluZGV4OiAxMDA1O1xuICB9XG5cblxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgaGVhZGVyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICNoZWFkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDFlbTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB6LWluZGV4OiAxMDAwO1xuICB9XG4gICNoZWFkZXIgLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDUxLjU2JTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6ICM2ODlmNjk7XG4gIH1cbiAgI2hlYWRlciBhIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgI2hlYWRlciBhOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxLjA7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG4gICAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTEwMClcIjtcbiAgfVxuICAjaGVhZGVyIC5tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA2cHg7XG4gICAgbGVmdDogNnB4O1xuICAgIHdpZHRoOiAxNS42MiU7XG4gICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2J0bl9jbG9zZS5naWYpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICB6LWluZGV4OiAxMDAxO1xuICB9XG4gICNoZWFkZXIgLm1lbnUub24gaW1nIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MClcIjtcbiAgfVxuICAjaGVhZGVyIHVsIHtcbiAgICBtYXJnaW46IDAgMTIuMTIlO1xuICB9XG4gICNoZWFkZXIgLm5hdiB7XG4gICAgcGFkZGluZzogNDAlIDAgMTAuOSU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiZGQzYmU7XG4gIH1cbiAgI2hlYWRlciAubmF2IGxpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgfVxuICAjaGVhZGVyIC5sYW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDguNDglIDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmRkM2JlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgI2hlYWRlciAubGFuZyBsaSB7XG4gICAgcGFkZGluZzogMCA0ZW0gMCAwO1xuICB9XG4gICNoZWFkZXIgLmxhbmcgbGkgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgI2hlYWRlciAubGFuZyBsaS5vZmYgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApO1xuICAgIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT01MClcIjtcbiAgfVxuICAjaGVhZGVyIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogMTAuOSU7XG4gIH1cbiAgI2hlYWRlciAuYnRuIGxpIHtcbiAgICB3aWR0aDogMjglO1xuICAgIG1hcmdpbjogMCA4JSAwIDA7XG4gIH1cblxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAga3ZcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgI2t2IHtcbiAgICBtaW4td2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDcwLjMxJTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2t2MDFfc3AuanBnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuICAja3YgaDEge1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG4gICNrdiAuYngtd3JhcHBlcntcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgI2t2IC5rdl9pbWd7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB6LWluZGV4OiA1O1xuICB9XG4gICNrdiAua3ZfaW1nIGxpe1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDcwLjMxJTtcbiAgfVxuICAja3YgLmt2X2ltZyBsaS5rdjAxe1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmIHVybCguLi9pbWcva3YwMV9zcC5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB9XG4gICNrdiAua3ZfaW1nIGxpLmt2MDJ7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZiB1cmwoLi4vaW1nL2t2MDJfc3AuanBnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuICAja3YgLmt2X2ltZyBsaS5rdjAze1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmYgdXJsKC4uL2ltZy9rdjAzX3NwLmpwZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cbiAgI2t2IC5rdl9pbWcgbGkua3YwNHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmIHVybCguLi9pbWcva3YwNF9zcDAyLmpwZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cbiAgI2t2IC5rdl9pbWcgbGkua3YwMSAubG9nbyxcbiAgI2t2IC5rdl9pbWcgbGkua3YwNCAuaW1nMDEge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBhYm91dFxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAjYWJvdXQge1xuICAgIHBhZGRpbmc6IDkuNjglIDMuMTIlIDEwLjYyJTtcbiAgfVxuICAjYWJvdXQgaDMge1xuICAgIG1hcmdpbjogOC42NiUgMDtcbiAgfVxuICAjYWJvdXQgcCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICB9XG4gICNhYm91dCBwLmJuciB7XG4gICAgd2lkdGg6IDYzLjMzJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiA4Ljc1JSBhdXRvIDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gICNhYm91dCBwLmJuciBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cblxuXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBwcm9kdWN0c1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAjcHJvZHVjdHMge1xuICAgIHBhZGRpbmc6IDkuNjglIDMuMTIlIDEwLjYyJTtcbiAgfVxuICAjcHJvZHVjdHMgLmxlYWQge1xuICAgIG1hcmdpbi10b3A6IDEwJTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gIH1cbiAgI3Byb2R1Y3RzIC5wcm9kdWN0c1dyYXAge1xuICAgIG1hcmdpbjogMjBweCAwIDQuMTMlO1xuICB9XG4gICNwcm9kdWN0cyAucHJvZHVjdHNXcmFwIGgzIHtcbiAgICBtYXJnaW46IDAgMy4zMyU7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICB9XG4gICNwcm9kdWN0cyAucHJvZHVjdHNXcmFwIGgzIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDcxLjA3JTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICAjcHJvZHVjdHMgLnByb2R1Y3RzV3JhcCBkbCB7XG4gICAgbWFyZ2luOiA4cHggMy4zMyUgMDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIH1cbiAgI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAxIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDMuMzMlIDAgMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOC4zMyU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2NjY2M7XG4gIH1cbiAgI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAxIGgzIGltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAjcHJvZHVjdHMgLnByb2R1Y3RzQm94MDEgaDMgLm1vc2FpYy1vdmVybGF5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuXG4gIC8qKi9cblxuICAjcHJvZHVjdHMgLnByb2R1Y3RzQm94MDIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDMuMzMlIDAgMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOC4zMyU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2NjY2M7XG4gIH1cbiAgI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAyIGgzIC5pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDAgLTMuNDQlO1xuICB9XG4gICNwcm9kdWN0cyAucHJvZHVjdHNCb3gwMiBoMyAuaW1nIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAyIGgzIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgfVxuXG4gIC8qKi9cblxuICAjcHJvZHVjdHMgLnByb2R1Y3RzQm94MDItMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMy4zMyUgMCAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA4LjMzJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2NjYztcbiAgfVxuICAjcHJvZHVjdHMgLnByb2R1Y3RzQm94MDItMiBoMyAuaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAwIC0zLjQ0JTtcbiAgfVxuICAjcHJvZHVjdHMgLnByb2R1Y3RzQm94MDItMiBoMyAuaW1nIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgI3Byb2R1Y3RzIC5wcm9kdWN0c0JveDAyLTIgaDMgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB9XG5cbiAgLyoqL1xuXG4gICNwcm9kdWN0cyAubW92aWVXcmFwIHtcbiAgICB3aWR0aDogOTMuMzMlO1xuICAgIG1hcmdpbjogOC4zMyUgYXV0byAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgI3Byb2R1Y3RzIC5tb3ZpZVdyYXAgLm1vdmllQnRuIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuICAjcHJvZHVjdHMgLm1vdmllV3JhcCAudGV4dCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogNy4yJTtcbiAgfVxuICAjcHJvZHVjdHMgLm1vdmllV3JhcCAudGV4dCBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyM3B4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgfVxuICAjcHJvZHVjdHMgLm1vdmllV3JhcCAudGV4dCBwLm5vdGUge1xuICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICB9XG5cbiAgLmNfbW92aWUtd2luZG93IHsgei1pbmRleDogODUwMDA7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAwOyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO31cbiAgLmNfbW92aWUtd2luZG93IC5jX21vdmllLXdpbmRvd19jb250ZW50IHsgd2lkdGg6IDEwMCU7IGhlaWdodDogYXV0bzsgbGVmdDowICFpbXBvcnRhbnQ7IG1hcmdpbjogMCBhdXRvfVxuICAuY19tb3ZpZS13aW5kb3cgLmNfbW92aWUtd2luZG93X2JveCB7IG1pbi1oZWlnaHQ6IDFweDsgem9vbTogMTsgd2lkdGg6IDEwMCU7IGhlaWdodDogMzBweDsgfVxuICAuY19tb3ZpZS13aW5kb3cgLmNfbW92aWUtd2luZG93X2JveDphZnRlciB7IGNvbnRlbnQ6IFwiLlwiOyBkaXNwbGF5OiBibG9jazsgY2xlYXI6IGJvdGg7IGhlaWdodDogMDsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5jX21vdmllLXdpbmRvdyAuY19tb3ZpZS13aW5kb3dfYm94IC5jX21vdmllLXdpbmRvd19ib3gtbGVmdCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5jX21vdmllLXdpbmRvdyAuY19tb3ZpZS13aW5kb3dfYm94IC5jX21vdmllLXdpbmRvd19ib3gtcmlnaHQgeyBmbG9hdDogcmlnaHQ7IH1cbiAgLmNfbW92aWUtd2luZG93IC5jX21vdmllLXdpbmRvd19ib3gyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLmNfbW92aWUtd2luZG93IC5jX21vdmllLXdpbmRvd19ib3gyIGlmcmFtZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAuY19tb3ZpZS13aW5kb3cgLmNfbW92aWUtd2luZG93X3R4dCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxNnB4OyBsaW5lLWhlaWdodDogMWVtOyBwYWRkaW5nLXRvcDogMTBweDsgY29sb3I6I2ZmZjsgfVxuICAuY19tb3ZpZS13aW5kb3cgLmNfbW92aWUtd2luZG93X2J0biB7IG92ZXJmbG93OiBoaWRkZW47IGRpc3BsYXk6IGJsb2NrOyBib3JkZXI6IG5vbmU7IF9ib3JkZXItd2lkdGg6IDBweDsgd2lkdGg6IDI1cHg7IGhlaWdodDogMjVweDsgdGV4dC1hbGlnbjogbGVmdDsgdGV4dC1pbmRlbnQ6IC05OTk5cHg7IGN1cnNvcjogcG9pbnRlcjsgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY19tb3ZpZS13aW5kb3dfYnRuLmdpZik7IGJhY2tncm91bmQtc2l6ZTogMTAwJTsgfVxuXG4gIC5wcm9kdWN0c1BvcHVwe1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogNTBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5wcm9kdWN0c1BvcHVwIC5jbG9zZXtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMjVweDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gIH1cbiAgLnByb2R1Y3RzUG9wdXAgLmNvbnRhaW5lcntcbiAgICBtYXJnaW46IDMuMTIlO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG5cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIEZBUVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAjZmFxIHtcbiAgICBwYWRkaW5nOiA5LjY4JSAzLjEyJSAxMC42MiU7XG4gIH1cbiAgI2ZhcSBkbCB7XG4gICAgcGFkZGluZy10b3A6IDQ2cHg7XG4gIH1cbiAgI2ZhcSBkbCBkdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgcGFkZGluZzogMCAwIDhweCAzNXB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgfVxuICAjZmFxIGRsIGR0IC5xIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMnB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgY29sb3I6ICNiZDYzNGI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICAjZmFxIGRsIGRkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMzZweDtcbiAgICBwYWRkaW5nOiAxM3B4IDAgMCAzNXB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjY2NjO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgfVxuICAjZmFxIGRsIGRkIC5hIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMXB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgY29sb3I6ICM2MzljNjM7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIGNvbnRhY3RcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgI2NvbnRhY3Qge1xuICAgIHBhZGRpbmc6IDkuNjglIDYuMjUlIDE0LjA2JTtcbiAgfVxuICAjY29udGFjdCBkbCB7XG4gICAgbWFyZ2luOiA4LjkyJSAwIDAgMDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gIH1cbiAgI2NvbnRhY3QgZGwgZHQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmctdG9wOiA3cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICAjY29udGFjdCBkbCBkdC5maXgge1xuICAgIHBhZGRpbmctdG9wOiA3cHg7XG4gIH1cbiAgI2NvbnRhY3QgZGwgZGQge1xuICAgIG1hcmdpbjogMC41ZW0gMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgI2NvbnRhY3QgZGwgZGQgaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYWM5YzY7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICAjY29udGFjdCBkbCBkZCB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA5NXB4O1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYWM5YzY7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICAjY29udGFjdCB1bCB7XG4gICAgbWFyZ2luLXRvcDogNS43MSU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAjY29udGFjdCB1bCBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDQ4LjU3JTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gICNjb250YWN0IHVsIGxpOm50aC1jaGlsZCgybikge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuICAjY29udGFjdCB1bCBsaSBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBwcml2YWN5XG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICNwcml2YWN5IHtcbiAgICBwYWRkaW5nLXRvcDogMzEuMiU7XG4gIH1cbiAgI3ByaXZhY3kgLmNsb3Nle1xuICAgIG1hcmdpbi1ib3R0b206IDMuMTIlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAjcHJpdmFjeSAudGV4dEJveHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiA1MHB4IDYuMjUlIDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICAjcHJpdmFjeSAudGV4dEJveCBoM3tcbiAgICBtYXJnaW46IDMwcHggMCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuICAjcHJpdmFjeSAudGV4dEJveCBwe1xuICAgIG1hcmdpbi1ib3R0b206IDE3cHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICB9XG4gICNwcml2YWN5IC50ZXh0Qm94IC5saXN0MDF7XG4gICAgbWFyZ2luOiAtN3B4IDAgMTdweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgfVxuXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBhcG9sb2d5XG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICNhcG9sb2d5IHtcbiAgICBwYWRkaW5nOiA5LjY4JSAzLjEyJSA1LjUlO1xuXG4gIH1cbiAgI2Fwb2xvZ3kgcCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGJvcmRlcjoycHggc29saWQgI2NjMDAwMDtcbiAgICBwYWRkaW5nOiA1LjUlIDMuMCUgNS41JTtcbiAgfVxuXG5cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIGZvb3RlclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAjZm9vdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgfVxuICAjZm9vdGVyIC5jb250YWluZXJ7XG4gICAgcGFkZGluZzogNi4yNSUgNi4yNSUgMDtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gIH1cbiAgI2Zvb3RlciBhOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxLjA7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG4gICAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTEwMClcIjtcbiAgfVxuICAjZm9vdGVyIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuICAjZm9vdGVyIC5idG4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMi41JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMTQlO1xuICB9XG4gICNmb290ZXIgLnByaXZhY3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nLXRvcDogMWVtO1xuICB9XG4gICNmb290ZXIgLmNvcHlyaWdodCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMWVtIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9zYXNzL19jb3JlL19vbGQtc3R5bGVzLnNjc3MiLCIvLyBwb3NpdGlvbmluZ1xuLy8gPT09PT09PT09PT1cblxuLy8gdmVydGljYWxcbkBtaXhpbiBjZW50ZXJpbmctdmVydGljYWwoJGhlaWdodDogMCkge1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBAaWYgbm90ICgkaGVpZ2h0ID09IDApIHtcbiAgICAubm8tY3NzdHJhbnNmb3JtcyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0oJGhlaWdodCAvIDIpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBob3Jpem9udGFsXG5AbWl4aW4gY2VudGVyaW5nLWhvcml6b250YWwoJHdpZHRoOiAwKSB7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBAaWYgbm90ICgkd2lkdGggPT0gMCkge1xuICAgIC5uby1jc3N0cmFuc2Zvcm1zICYge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0oJHdpZHRoIC8gMik7XG4gICAgfVxuICB9XG59XG5cbi8vIGJvdGhcbkBtaXhpbiBjZW50ZXJpbmctYm90aCgkaGVpZ2h0OiAwLCAkd2lkdGg6IDApIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIEBpZiBub3QgKCR3aWR0aCA9PSAwKSBvciBub3QgKCRoZWlnaHQgPT0gMCkge1xuICAgIC5uby1jc3N0cmFuc2Zvcm1zICYge1xuICAgICAgQGlmIG5vdCAoJGhlaWdodCA9PSAwKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0oJGhlaWdodCAvIDIpO1xuICAgICAgfVxuICAgICAgQGlmIG5vdCAoJHdpZHRoID09IDApIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0oJHdpZHRoIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGNsZWFyZml4XG4lY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8gZm9udC1zaXplXG5AbWl4aW4gZnooJHNpemUpIHtcbiAgZm9udC1zaXplOiAkc2l6ZSArIHB4O1xuICBmb250LXNpemU6ICgkc2l6ZSAvIDE2KSArIHJlbTtcbn1cblxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHsgb3BhY2l0eTogMDsgfVxuICAxMDAlIHsgb3BhY2l0eTogMTsgfVxufVxuXG5Aa2V5ZnJhbWVzIGNvbG9yQ2hhbmdlIHtcbiAgMCUgeyBmaWxsOiNmZmY7IH1cbiAgMTAwJSB7IGZpbGw6IzAwMDsgfVxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9zYXNzL19jb3JlL19taXhpbnMuc2NzcyIsIiNwcm9kdWN0cyB7XG4gIC5wcm9kdWN0c0JveDAxIHtcbiAgICAmLnRocmVlV2lkZSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBoMyB7XG4gICAgICAgICAgd2lkdGg6IDQxMHB4O1xuICAgICAgICAgIGxlZnQ6IDI3NXB4O1xuICAgICAgICB9XG4gICAgICAgIGRsIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZHQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZGQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubW9zYWljLW92ZXJsYXkge1xuICAgICAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgICAgICBAaW5jbHVkZSBjZW50ZXJpbmctaG9yaXpvbnRhbCgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL3Nhc3MvX2FkZC9fYWRkMjAyMDAyLnNjc3MiLCJcbi8vIGNvbG9yc1xuLy8gPT09PT09XG4kY29sb3ItZ3JheTogIzg5ODk4OTtcblxuXG4vL2xpbmtcblxuXG4vLyBwYWRkaW5nLWxlZnQgLHBhZGRpbmctcmlnaHRcbkBtaXhpbiBwYWRkaW5nLWxyICgkc2l6ZSkge1xuICAgIHBhZGRpbmctbGVmdDogJHNpemU7XG4gICAgcGFkZGluZy1yaWdodDogJHNpemU7XG59XG5cbi8vIG1hcmdpbi1sZWZ0ICxtYXJnaW4tcmlnaHRcbkBtaXhpbiBtYXJnaW4tbHIgKCRzaXplKSB7XG4gICAgbWFyZ2luLWxlZnQ6ICRzaXplO1xuICAgIG1hcmdpbi1yaWdodDogJHNpemU7XG59XG5cbi8vIG1lZGlhIHF1ZXJ5XG4vLyA9PT09PT09PT09PVxuXG4vLy8qXG4vL3VzZSBleFxuLy8uaG9nZSB7XG4vLyAgQGluY2x1ZGUgbXEoc20pIHtcbi8vICAgIGlmIHlvdSBuZWVkXG4vLyAgfVxuLy99XG4vLyovXG5cbiRzbTogNTQ0cHg7XG4vLyRtZDogNzY4cHg7XG4kbWQ6IDY0MXB4O1xuJGxnOiA5OTJweDtcbiR4bDogMTIwMHB4O1xuXG4vLyBzdHlsZWd1aWRlOmlnbm9yZTpzdGFydFxuQG1peGluIG1xKCRtZWRpYSkge1xuICAgIEBpZiAkbWVkaWEgPT0gc20ge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRzbX0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpZiAkbWVkaWEgPT0gbWQge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRtZH0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRsZ30pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpZiAkbWVkaWEgPT0geGwge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyR4bH0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL3Nhc3MvX2NvcmUvX3ZhcmlhYmxlcy5zY3NzIl0sInNvdXJjZVJvb3QiOiIifQ==*/