@charset "UTF-8";
@media screen and (max-width: 768px) {
  /* sp */
  .sp, .tb {
    display: block !important;
  }
  .sp_off, .tb_off {
    display: none !important;
  }
  .sp_inline {
    display: inline !important;
  }
  /* structure
  ====================================================================================================================================== */
  body {
    width: 100%;
    min-width: initial;
  }
  .wrapper {
    margin: 0;
    padding-left: 20px;
    padding-right: 20px;
    width: auto !important;
  }
  #main_contents_wrap {
    padding-left: 0;
  }
  /* header
  ====================================================================================================================================== */
  #header {
    position: static;
    width: auto;
    height: auto;
    padding: 0 0 45px;
    background: url(../images/illust/bg_cloud_sp.png) no-repeat center bottom;
    background-size: 100% 140%;
    margin-bottom: -7px;
  }
  #header.top {
    padding-bottom: 0;
    margin-bottom: 0;
  }
  #header.top .header_inner {
    display: block;
    place-items: normal;
    height: 330px;
  }
  #header.top #site_title {
    width: 255px;
    margin: 0 auto 15px;
  }
  #header .header_inner {
    height: 115px;
    padding: 0;
    background: none;
    display: grid;
    place-items: center;
  }
  #header .header_inner:after {
    display: none;
  }
  #header .to_top {
    position: absolute;
    top: 50%;
    left: 30px;
    translate: 0 -50%;
    font-size: 0.8rem;
    letter-spacing: 0.03em;
  }
  #header .to_top a {
    display: block;
    color: #fff;
    text-decoration: none;
    padding-top: 2.2em;
    background: url(../images/icon/icon_to_top.svg) no-repeat left top;
    background-size: 1.875em auto;
  }
  #sp_eng_site_title {
    margin: -0.23em -10vw 20px;
    font-size: 10.5vw;
    font-weight: normal;
    line-height: 1;
    color: rgba(255, 255, 255, 0.15);
    text-align: center;
    letter-spacing: 0.6em;
  }
  #sp_eng_site_title p {
    margin: 0 -0.6em 0 0;
  }
  #site_title {
    width: 225px;
    margin-bottom: 0;
  }
  #menu_button_open {
    position: fixed;
    top: 15px;
    right: 10px;
    z-index: 99999;
    width: auto;
    aspect-ratio: auto;
    background: none;
  }
  .cms-ready #menu_button_open {
    top: 61px;
  }
  .menu_button {
    padding: 0;
  }
  .menu_button a {
    gap: 8px;
  }
  .menu_button a .icon {
    width: 27px;
  }
  /* globalnavi
  ====================================================================================================================================== */
  #globalnavi {
    width: min(340px, calc(100vw - 50px));
    height: 100%;
    padding: 40px 0 0;
    border-bottom-left-radius: 50px;
  }
  .cms-ready #globalnavi {
    height: auto;
  }
  #globalnavi #menu_button_close {
    top: 15px;
    right: 10px;
  }
  #globalnavi .inner {
    width: auto;
    padding: 0 30px 45px;
  }
  #globalnavi .to_top {
    line-height: 1.8;
    margin-bottom: 25px;
  }
  #globalnavi .to_top a {
    padding-left: 2.3em;
    background-size: 1.667em auto;
  }
  #globalnavi .square_link_boxes {
    grid-template-columns: repeat(2, 1fr);
  }
  #globalnavi .square_link_boxes li .icon {
    width: 44%;
  }
  #globalnavi .square_link_boxes li .text_area {
    min-height: initial;
  }
  #globalnavi .square_link_boxes li .link_title {
    font-size: 0.98rem;
  }
  #globalnavi .square_link_boxes li .sub_text {
    display: none;
  }
  #globalnavi .other_links {
    margin: 15px 0 35px;
  }
  #globalnavi .other_links li a {
    padding: 1em 0.7em;
  }
  #globalnavi .menu_close {
    font-size: 0.9rem;
  }
  .square_link_boxes {
    grid-gap: 15px;
  }
  .square_link_boxes li {
    aspect-ratio: 132/126;
  }
  .square_link_boxes li a {
    gap: 12px;
  }
  .square_link_boxes li a .icon {
    width: 44%;
  }
  .square_link_boxes li a .link_title {
    font-size: 1.1rem;
  }
  /* SP下部固定メニュー
  ====================================================================================================================================== */
  #sp_menu_buttons {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 99999;
    width: 100%;
    height: 70px;
    box-shadow: 0 0 16px rgba(0, 0, 0, 0.15);
  }
  #sp_menu_buttons ul {
    display: flex;
    height: 100%;
  }
  #sp_menu_buttons ul li {
    height: 100%;
  }
  #sp_menu_buttons ul li a {
    display: grid;
    place-items: center;
    height: 100%;
    text-decoration: none;
    font-weight: bold;
  }
  #sp_menu_buttons ul li a span {
    display: block;
  }
  #sp_menu_buttons ul li.sp_link_tel {
    width: 46.6666666667%;
  }
  #sp_menu_buttons ul li.sp_link_tel a {
    color: #4D6C80;
    background-color: #fff;
    font-size: 1.2rem;
    line-height: 1.3;
  }
  #sp_menu_buttons ul li.sp_link_tel a .button_inner {
    text-align: left;
    padding-left: 1.35em;
    background: url(../images/icon/i_tel_b.svg) no-repeat left center;
    background-size: 0.95em auto;
  }
  #sp_menu_buttons ul li.sp_link_tel a .tel_info {
    font-size: 0.6em;
    font-weight: normal;
  }
  #sp_menu_buttons ul li.sp_link_reserve, #sp_menu_buttons ul li.sp_link_surgery {
    width: 26.6666666667%;
  }
  #sp_menu_buttons ul li.sp_link_reserve a, #sp_menu_buttons ul li.sp_link_surgery a {
    font-size: 0.9rem;
    color: #fff;
    text-align: center;
    line-height: 1;
  }
  #sp_menu_buttons ul li.sp_link_reserve a .button_inner, #sp_menu_buttons ul li.sp_link_surgery a .button_inner {
    padding-top: 1.97em;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 1.27em auto;
  }
  #sp_menu_buttons ul li.sp_link_reserve a {
    background-color: #4D6C80;
  }
  #sp_menu_buttons ul li.sp_link_reserve a .button_inner {
    background-image: url(../images/icon/i_clock_w.svg);
  }
  #sp_menu_buttons ul li.sp_link_surgery a {
    background-color: #58BADB;
  }
  #sp_menu_buttons ul li.sp_link_surgery a .button_inner {
    background-image: url(../images/icon/i_calendar.svg);
  }
  /* 中ページ
  ====================================================================================================================================== */
  #page_title_wrap {
    padding-top: 0;
  }
  #navibar {
    margin-bottom: 5rem;
  }
  #page_top_area {
    height: 100px;
  }
  #link_tot_top {
    font-size: 0.95625rem;
  }
  #link_tot_top a {
    gap: 0.8em;
  }
  #link_tot_top a .icon {
    width: 1.9em;
  }
  /* contents
  ====================================================================================================================================== */
  #conts {
    padding-bottom: 6em;
  }
  #conts.top {
    padding-top: 0;
  }
  .surgery_info.sp {
    margin-bottom: 2.8em;
  }
  .surgery_info.sp .contact_link {
    margin-bottom: 1.5em;
    display: flex;
    justify-content: center;
    gap: 10px;
  }
  .surgery_info.sp .contact_link a {
    width: 50%;
    max-width: 12em;
    height: 3.4em;
    display: grid;
    place-items: center;
    font-size: 1rem;
    border-radius: 2em;
    text-decoration: none;
    line-height: 1.2;
    font-weight: bold;
  }
  .surgery_info.sp .contact_link a span {
    display: block;
  }
  .surgery_info.sp .contact_link a.button_tel {
    background-color: rgba(0, 0, 0, 0.05);
    color: #4D6C80;
  }
  .surgery_info.sp .contact_link a.button_tel .button_inner {
    text-align: left;
    padding-left: 1.8em;
    background: url(../images/icon/i_tel_b.svg) no-repeat left center;
    background-size: 1.3em auto;
  }
  .surgery_info.sp .contact_link a.button_tel .tel_info {
    font-size: 0.7em;
    font-weight: normal;
  }
  .surgery_info.sp .contact_link a.button_reserve {
    background-color: #4D6C80;
    color: #fff;
  }
  .surgery_info.sp .contact_link a.button_reserve .button_inner {
    padding-left: 1.8em;
    background: url(../images/icon/i_clock_w.svg) no-repeat left center;
    background-size: 1.3em auto;
  }
  #message .photo_wrap {
    width: 100% !important;
    padding: 0 40px;
  }
  #message .photo_area:before {
    top: -2em;
    right: 1.2em;
    width: 3.3em;
  }
  #message .photo_area:after {
    bottom: -1.5em;
    left: -1em;
    width: 2.5em;
    rotate: 170deg;
  }
  #message, #message .main_area {
    padding-top: calc((100% - 80px) / 2 * 293 / 390 / 2);
  }
  #message .main_area {
    margin-left: 0;
    padding-left: 0;
    padding-bottom: 70px;
  }
  #message .message_inner {
    width: auto;
    padding: 0 20px;
    margin-bottom: 50px;
  }
  #message .message_title_area h2 {
    font-size: 12.6cqw;
  }
  #message .banner_area ul {
    gap: 15px;
  }
  #message .banner_area a {
    height: 130px;
    font-size: 0.95em;
    padding-top: 2.1em;
  }
  #message .banner_area a, #message .banner_area a .link_title_ja {
    padding-left: 2.1em;
  }
  #message .banner_area a .link_title_ja {
    bottom: 1.7em;
  }
  #message .banner_area a .photo_box .photo {
    width: 104px;
    margin-right: 12px;
  }
  /* footer
  ====================================================================================================================================== */
  #footer .footer_info {
    margin-bottom: 25px;
  }
  #footer .footer_logo img {
    max-width: 245px;
  }
  #footer #contact_link {
    margin-bottom: 25px;
    gap: 10px;
  }
  #footer #contact_link a.button_tel {
    width: 245px;
    height: 62px;
  }
  #footer #contact_link a.button_reserve {
    width: 255px;
    height: 54px;
  }
  #footer .footer_link {
    margin-bottom: 25px;
  }
  /* side_fixed_box
  ====================================================================================================================================== */
  #side_fixed_box {
    right: 7px;
    bottom: 70px;
  }
}
@media screen and (max-width: 660px) {
  #message .banner_area {
    width: min(100%, 370px);
    margin: 0 auto;
  }
  #message .banner_area ul {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  #message .banner_area a .photo_box .photo {
    margin-right: 14px;
  }
}
@media screen and (max-width: 540px) {
  /* sp */
  .pc_tb, .tb {
    display: none !important;
  }
  .sp_only, .tb_off {
    display: block !important;
  }
  /* header
  ====================================================================================================================================== */
  #header {
    padding-bottom: 40px;
    background-size: 100% 170%;
    margin-bottom: -12px;
  }
  #header.top {
    background-size: 100% 100%;
    margin-bottom: -5px;
  }
  #header.top .header_inner {
    height: 255px;
  }
  #header.top #site_title {
    width: 210px;
  }
  #header .header_inner {
    height: 100px;
  }
  #sp_eng_site_title {
    margin-top: -0.25em;
    font-size: 12.56vw;
  }
  #sp_eng_site_title p {
    margin: 0 -0.6em 0 0;
  }
  #site_title {
    width: 132px;
  }
  .menu_button a {
    width: 64px;
  }
  .menu_button a .icon {
    width: 24px;
  }
  /* globalnavi
  ====================================================================================================================================== */
  #globalnavi .square_link_boxes li .link_title {
    font-size: 1.1rem;
  }
  #globalnavi .other_links li a {
    padding: 0.9em 0.65em;
  }
  #globalnavi .menu_close {
    font-size: 1rem;
  }
  .square_link_boxes {
    grid-template-columns: repeat(2, 1fr);
  }
  .square_link_boxes li a {
    gap: 10px;
  }
  .square_link_boxes li a .link_title {
    font-size: 1.1rem;
  }
  /* SP下部固定メニュー
  ====================================================================================================================================== */
  #sp_menu_buttons {
    height: 60px;
  }
  /* contents
  ====================================================================================================================================== */
  #top_nav .square_link_boxes li a {
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.04);
  }
  #message {
    padding-top: 50px;
  }
  #message .photo_area .photo_inner {
    display: block;
  }
  #message .photo_area:before {
    top: -2.3em;
    right: 1.3em;
    width: 3.9em;
  }
  #message .photo_area:after {
    bottom: -1.8em;
    left: -1em;
    width: 3em;
  }
  #message .main_area {
    padding-top: calc((100% - 80px) * 293 / 390 * 2 - 50px);
    padding-bottom: 70px;
  }
  #message .message_inner {
    margin-bottom: 50px;
  }
  #message .message_title_area {
    margin: 0 -20vw 2.3em;
  }
  #message .message_title_area h2 {
    font-size: 14.62vw;
    letter-spacing: 0.4em;
    margin-top: -0.23em;
    margin-right: -0.3em;
  }
  #message .banner_area a {
    font-size: 1rem;
    padding-top: 2.4em;
  }
  #message .banner_area a, #message .banner_area a .link_title_ja {
    padding-left: 2.1em;
  }
  #message .banner_area a .link_title_ja {
    bottom: 1.8em;
  }
  #message .banner_area a .photo_box .photo {
    margin-right: 14px;
  }
  /* footer
  ====================================================================================================================================== */
  #footer .footer_logo img {
    max-width: 210px;
  }
  #footer #contact_link {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
  }
  #footer #contact_link a.button_tel {
    width: 280px;
    height: 58px;
  }
  #footer #contact_link a.button_tel .tel_info {
    font-size: 0.58em;
  }
  #footer #contact_link a.button_tel .button_inner {
    background-size: 1.07em auto;
  }
  #footer #contact_link a.button_reserve {
    width: 280px;
    height: 48px;
    line-height: 1.3;
  }
  #footer #contact_link a.button_reserve .button_inner {
    background-size: 1.28em auto;
  }
  /* side_fixed_box
  ====================================================================================================================================== */
  #side_fixed_box {
    bottom: 60px;
  }
  /* フォーム
  ====================================================================================================================================== */
  .table_form td input[type=text],
  .table_form td input[type=email],
  .table_form td textarea {
    font-size: 15px;
  }
}
@media screen and (max-width: 389px) {
  #message .photo_area:before {
    top: -2.2em;
    right: 1.2em;
    width: 3.6em;
  }
  #message .photo_area:after {
    bottom: -1.4em;
    left: -0.6em;
    width: 2.8em;
  }
  #message .photo_wrap {
    padding: 0 30px;
  }
  #message .main_area {
    padding-top: calc((100% - 60px) * 293 / 390 * 2 - 50px);
  }
  #message .message_inner {
    padding: 0 10px;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlX3NwLnNjc3MiLCJfZGVmaW5pdGlvbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBSUE7QUFFRTtFQUNBO0lBQ0U7O0VBRUY7SUFDRTs7RUFFRjtJQUNFOztBQUdGO0FBQUE7RUFFQTtJQUNFO0lBQ0E7O0VBRUY7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7RUFFRjtJQUNFOztBQUlGO0FBQUE7RUFHQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUNBO0lBQ0U7SUFDQTs7RUFDQTtJQUNFO0lBQ0E7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7O0VBR0o7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUNBO0lBQ0U7O0VBR0o7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBQ0E7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBS047SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFDQTtJQUNFOztFQUtKO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUNBO0lBQ0U7O0VBSUo7SUFDRTs7RUFDQTtJQUNFOztFQUNBO0lBQ0U7O0FBS1I7QUFBQTtFQUVBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7O0VBQ0E7SUFDRTs7RUFFRjtJQUNFO0lBQ0E7O0VBRUY7SUFDRTtJQUNBOztFQUVGO0lBQ0U7SUFDQTs7RUFDQTtJQUNFO0lBQ0E7O0VBR0o7SUFDRTs7RUFFRTtJQUNFOztFQUVGO0lBQ0U7O0VBRUY7SUFDRTs7RUFFRjtJQUNFOztFQUlOO0lBQ0U7O0VBRUU7SUFDRTs7RUFJTjtJQUNFOztFQUlKO0lBQ0U7O0VBQ0E7SUFDRTs7RUFDQTtJQUNFOztFQUNBO0lBQ0U7O0VBRUY7SUFDRTs7QUFPUjtBQUFBO0VBRUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFDQTtJQUNFO0lBQ0E7O0VBQ0E7SUFDRTs7RUFDQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBQ0E7SUFDRTs7RUFHSjtJQUNFOztFQUNBO0lBQ0UsT0M5Tks7SUQrTkw7SUFDQTtJQUNBOztFQUNBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUNBOztFQUlOO0lBRUU7O0VBQ0E7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7RUFDQTtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUtKO0lBQ0Usa0JDaFFLOztFRGlRTDtJQUNFOztFQUtKO0lBQ0Usa0JDN1FIOztFRDhRRztJQUNFOztBQVFaO0FBQUE7RUFFQTtJQUNFOztFQUdGO0lBQ0U7O0VBSUY7SUFDRTs7RUFHRjtJQUNFOztFQUNBO0lBQ0U7O0VBQ0E7SUFDRTs7QUFNSjtBQUFBO0VBR0E7SUFDRTs7RUFDQTtJQUNFOztFQUlKO0lBQ0U7O0VBQ0E7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7RUFDQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUNBO0lBQ0U7O0VBRUY7SUFDRTtJQUNBLE9DN1VLOztFRDhVTDtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUVGO0lBQ0U7SUFDQTs7RUFHSjtJQUNFLGtCQzFWSztJRDJWTDs7RUFDQTtJQUNFO0lBQ0E7SUFDQTs7RUFTUjtJQUNFO0lBQ0E7O0VBR0E7SUFDRTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7RUFHSjtJQUNFOztFQUVGO0lBQ0U7SUFDQTtJQUNBOztFQUVGO0lBQ0U7SUFDQTtJQUNBOztFQUdBO0lBQ0U7O0VBSUY7SUFDRTs7RUFFRjtJQUNFO0lBQ0E7SUFDQTs7RUFDQTtJQUNFOztFQUVGO0lBQ0U7O0VBR0E7SUFDRTtJQUNBOztBQVFWO0FBQUE7RUFJRTtJQUNFOztFQUdBO0lBQ0U7O0VBR0o7SUFDRTtJQUNBOztFQUVFO0lBQ0U7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7O0VBSU47SUFDRTs7QUFLSjtBQUFBO0VBRUE7SUFDRTtJQUNBOzs7QUFJSjtFQUdJO0lBQ0U7SUFDQTs7RUFDQTtJQUNFO0lBQ0E7SUFDQTs7RUFJRTtJQUNFOzs7QUFTWjtBQUVFO0VBQ0E7SUFDRTs7RUFFRjtJQUNFOztBQUdGO0FBQUE7RUFHQTtJQUNFO0lBQ0E7SUFDQTs7RUFDQTtJQUNFO0lBQ0E7O0VBQ0E7SUFDRTs7RUFFRjtJQUNFOztFQUdKO0lBQ0U7O0VBSUo7SUFDRTtJQUNBOztFQUNBO0lBQ0U7O0VBS0o7SUFDRTs7RUFLQTtJQUNFOztFQUNBO0lBQ0U7O0FBS1I7QUFBQTtFQUtNO0lBQ0U7O0VBTUY7SUFDRTs7RUFJTjtJQUNFOztFQUlKO0lBQ0U7O0VBRUU7SUFDRTs7RUFDQTtJQUNFOztBQVFOO0FBQUE7RUFFQTtJQUNFOztBQUdGO0FBQUE7RUFNTTtJQUNFOztFQU9SO0lBZ0JFOztFQWRFO0lBQ0U7O0VBRUY7SUFDRTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUNBO0lBQ0E7O0VBSUo7SUFDRTtJQUNBOztFQUVGO0lBQ0U7O0VBRUY7SUFDRTs7RUFDQTtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUlGO0lBQ0U7SUFDQTs7RUFDQTtJQUNFOztFQUVGO0lBQ0U7O0VBR0E7SUFDRTs7QUFRVjtBQUFBO0VBS0k7SUFDRTs7RUFHSjtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUVFO0lBQ0U7SUFDQTs7RUFDQTtJQUNFOztFQUVGO0lBQ0U7O0VBR0o7SUFDRTtJQUNBO0lBQ0E7O0VBQ0E7SUFDRTs7QUFTVjtBQUFBO0VBRUE7SUFDRTs7QUFHRjtBQUFBO0VBS007QUFBQTtBQUFBO0lBR0U7OztBQU9WO0VBSU07SUFDRTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUNBO0lBQ0E7O0VBR0o7SUFDRTs7RUFFRjtJQUNFOztFQUVGO0lBQ0UiLCJmaWxlIjoic3R5bGVfc3AuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuQGltcG9ydCBcImRlZmluaXRpb25zXCI7XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cclxuICAvKiBzcCAqL1xyXG4gIC5zcCwgLnRiIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcclxuICB9XHJcbiAgLnNwX29mZiwgLnRiX29mZiB7XHJcbiAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcclxuICB9XHJcbiAgLnNwX2lubGluZSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLyogc3RydWN0dXJlXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiAgYm9keSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1pbi13aWR0aDogaW5pdGlhbDtcclxuICB9XHJcbiAgLndyYXBwZXIge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gICNtYWluX2NvbnRlbnRzX3dyYXB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgfVxyXG5cclxuICBcclxuICAvKiBoZWFkZXJcclxuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAjaGVhZGVyIHtcclxuICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHBhZGRpbmc6IDAgMCA0NXB4O1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pbGx1c3QvYmdfY2xvdWRfc3AucG5nKSBuby1yZXBlYXQgY2VudGVyIGJvdHRvbTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxNDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLTdweDtcclxuICAgICYudG9we1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgLmhlYWRlcl9pbm5lcntcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwbGFjZS1pdGVtczogbm9ybWFsO1xyXG4gICAgICAgIGhlaWdodDogMzMwcHg7XHJcbiAgICAgIH1cclxuICAgICAgI3NpdGVfdGl0bGV7XHJcbiAgICAgICAgd2lkdGg6IDI1NXB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDE1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5oZWFkZXJfaW5uZXJ7XHJcbiAgICAgIGhlaWdodDogMTE1cHg7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRvX3RvcCB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDMwcHg7XHJcbiAgICAgIHRyYW5zbGF0ZTogMCAtNTAlO1xyXG4gICAgICBmb250LXNpemU6IDAuOHJlbTtcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcclxuICAgICAgYXtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDIuMmVtO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbi9pY29uX3RvX3RvcC5zdmcpIG5vLXJlcGVhdCBsZWZ0IHRvcDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuODc1ZW0gYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI3NwX2VuZ19zaXRlX3RpdGxle1xyXG4gICAgbWFyZ2luOiAtMC4yM2VtIC0xMHZ3IDIwcHg7XHJcbiAgICBmb250LXNpemU6IDEwLjV2dztcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIGNvbG9yOiByZ2JhKCRjb2xvcjogI2ZmZiwgJGFscGhhOiAwLjE1KTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjZlbTtcclxuICAgIHB7XHJcbiAgICAgIG1hcmdpbjogMCAtMC42ZW0gMCAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gICNzaXRlX3RpdGxle1xyXG4gICAgd2lkdGg6IDIyNXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcblxyXG4gICNtZW51X2J1dHRvbl9vcGVue1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAxNXB4O1xyXG4gICAgcmlnaHQ6IDEwcHg7XHJcbiAgICB6LWluZGV4OiA5OTk5OTtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgYXNwZWN0LXJhdGlvOiBhdXRvO1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIC5jbXMtcmVhZHkgJntcclxuICAgICAgdG9wOiBjYWxjKDQ2cHggKyAxNXB4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5tZW51X2J1dHRvbntcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBhe1xyXG4gICAgICBnYXA6IDhweDtcclxuICAgICAgLmljb257XHJcbiAgICAgICAgd2lkdGg6IDI3cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4vKiBnbG9iYWxuYXZpXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiNnbG9iYWxuYXZpIHtcclxuICB3aWR0aDogdW5xdW90ZSgnbWluKDM0MHB4LCBjYWxjKDEwMHZ3IC0gNTBweCkpJyk7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHBhZGRpbmc6IDQwcHggMCAwO1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDUwcHg7XHJcbiAgLmNtcy1yZWFkeSAme1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gIH1cclxuICAjbWVudV9idXR0b25fY2xvc2V7XHJcbiAgICB0b3A6IDE1cHg7XHJcbiAgICByaWdodDogMTBweDtcclxuICB9XHJcbiAgLmlubmVye1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBwYWRkaW5nOiAwIDMwcHggNDVweDtcclxuICB9XHJcbiAgLnRvX3RvcHtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgYXtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAyLjNlbTtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjY2N2VtIGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zcXVhcmVfbGlua19ib3hlcyB7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gICAgbGl7XHJcbiAgICAgIC5pY29ue1xyXG4gICAgICAgIHdpZHRoOiA0NCU7XHJcbiAgICAgIH1cclxuICAgICAgLnRleHRfYXJlYXtcclxuICAgICAgICBtaW4taGVpZ2h0OiBpbml0aWFsO1xyXG4gICAgICB9XHJcbiAgICAgIC5saW5rX3RpdGxle1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC45OHJlbTtcclxuICAgICAgfVxyXG4gICAgICAuc3ViX3RleHR7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAub3RoZXJfbGlua3N7XHJcbiAgICBtYXJnaW46IDE1cHggMCAzNXB4O1xyXG4gICAgbGl7XHJcbiAgICAgIGF7XHJcbiAgICAgICAgcGFkZGluZzogMWVtIDAuN2VtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5tZW51X2Nsb3Nle1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgfVxyXG59XHJcblxyXG4uc3F1YXJlX2xpbmtfYm94ZXMge1xyXG4gIGdyaWQtZ2FwOiAxNXB4O1xyXG4gIGxpIHtcclxuICAgIGFzcGVjdC1yYXRpbzogMTMyLzEyNjtcclxuICAgIGEge1xyXG4gICAgICBnYXA6IDEycHg7XHJcbiAgICAgIC5pY29ue1xyXG4gICAgICAgIHdpZHRoOiA0NCU7XHJcbiAgICAgIH1cclxuICAgICAgLmxpbmtfdGl0bGV7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vKiBTUOS4i+mDqOWbuuWumuODoeODi+ODpeODvFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4jc3BfbWVudV9idXR0b25ze1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICB6LWluZGV4OiA5OTk5OTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDcwcHg7XHJcbiAgYm94LXNoYWRvdzogMCAwIDE2cHggcmdiYSgkY29sb3I6ICMwMDAsICRhbHBoYTogMC4xNSk7XHJcbiAgdWx7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbGl7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgYXtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBzcGFue1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuc3BfbGlua190ZWx7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoKDM5MCAtIDEwNCAqIDIpIC8gMzkwICogMTAwJSk7XHJcbiAgICAgICAgYXtcclxuICAgICAgICAgIGNvbG9yOiAkb3JpZ2luX2NvbG9yO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgICAgICAgIC5idXR0b25faW5uZXJ7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS4zNWVtO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb24vaV90ZWxfYi5zdmcpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwLjk1ZW0gYXV0bztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC50ZWxfaW5mb3tcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjZlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5zcF9saW5rX3Jlc2VydmUsXHJcbiAgICAgICYuc3BfbGlua19zdXJnZXJ5e1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwNCAvIDM5MCAqIDEwMCUpO1xyXG4gICAgICAgIGF7XHJcbiAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAuYnV0dG9uX2lubmVye1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMS45N2VtO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuMjdlbSBhdXRvO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLnNwX2xpbmtfcmVzZXJ2ZXtcclxuICAgICAgICBhe1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yaWdpbl9jb2xvcjtcclxuICAgICAgICAgIC5idXR0b25faW5uZXJ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbi9pX2Nsb2NrX3cuc3ZnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5zcF9saW5rX3N1cmdlcnl7XHJcbiAgICAgICAgYXtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG4gICAgICAgICAgLmJ1dHRvbl9pbm5lcntcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29uL2lfY2FsZW5kYXIuc3ZnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qIOS4reODmuODvOOCuFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4jcGFnZV90aXRsZV93cmFwe1xyXG4gIHBhZGRpbmctdG9wOiAwO1xyXG59XHJcblxyXG4jbmF2aWJhciB7XHJcbiAgbWFyZ2luLWJvdHRvbTogNXJlbTtcclxufVxyXG5cclxuXHJcbiNwYWdlX3RvcF9hcmVhe1xyXG4gIGhlaWdodDogMTAwcHg7XHJcbn1cclxuXHJcbiNsaW5rX3RvdF90b3B7XHJcbiAgZm9udC1zaXplOiAwLjk1NjI1cmVtO1xyXG4gIGF7XHJcbiAgICBnYXA6IDAuOGVtO1xyXG4gICAgLmljb257XHJcbiAgICAgIHdpZHRoOiAxLjllbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4gIC8qIGNvbnRlbnRzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gICNjb250cyB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNmVtO1xyXG4gICAgJi50b3B7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnN1cmdlcnlfaW5mby5zcHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIuOGVtO1xyXG4gICAgLmNvbnRhY3RfbGlua3tcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBnYXA6IDEwcHg7XHJcbiAgICAgIGF7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDEyZW07XHJcbiAgICAgICAgaGVpZ2h0OiAzLjRlbTtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJlbTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBzcGFue1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYnV0dG9uX3RlbHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yOiAjMDAwLCAkYWxwaGE6IDAuMDUpO1xyXG4gICAgICAgICAgY29sb3I6ICRvcmlnaW5fY29sb3I7XHJcbiAgICAgICAgICAuYnV0dG9uX2lubmVye1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuOGVtO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb24vaV90ZWxfYi5zdmcpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjNlbSBhdXRvO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLnRlbF9pbmZve1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuN2VtO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmJ1dHRvbl9yZXNlcnZle1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yaWdpbl9jb2xvcjtcclxuICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgLmJ1dHRvbl9pbm5lcntcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjhlbTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29uL2lfY2xvY2tfdy5zdmcpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjNlbSBhdXRvO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBcclxuICAjbWVzc2FnZXtcclxuICAgIC5waG90b193cmFwe1xyXG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICBwYWRkaW5nOiAwIDQwcHg7XHJcbiAgICB9XHJcbiAgICAucGhvdG9fYXJlYXtcclxuICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgdG9wOiAtMmVtO1xyXG4gICAgICAgIHJpZ2h0OiAxLjJlbTtcclxuICAgICAgICB3aWR0aDogMy4zZW07XHJcbiAgICAgIH1cclxuICAgICAgJjphZnRlcntcclxuICAgICAgICBib3R0b206IC0xLjVlbTtcclxuICAgICAgICBsZWZ0OiAtMWVtO1xyXG4gICAgICAgIHdpZHRoOiAyLjVlbTtcclxuICAgICAgICByb3RhdGU6IDE3MGRlZztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJiwgLm1haW5fYXJlYXtcclxuICAgICAgcGFkZGluZy10b3A6IGNhbGMoKDEwMCUgLSA0MHB4ICogMikgLyAyICogMjkzIC8gMzkwIC8gMik7XHJcbiAgICB9XHJcbiAgICAubWFpbl9hcmVhe1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogNzBweDtcclxuICAgIH1cclxuICAgIC5tZXNzYWdlX2lubmVye1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgICAgcGFkZGluZzogMCAyMHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgfVxyXG4gICAgLm1lc3NhZ2VfdGl0bGVfYXJlYXtcclxuICAgICAgaDJ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMi42Y3F3O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFubmVyX2FyZWF7XHJcbiAgICAgIHVse1xyXG4gICAgICAgIGdhcDogMTVweDtcclxuICAgICAgfVxyXG4gICAgICBhe1xyXG4gICAgICAgIGhlaWdodDogMTMwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjk1ZW07XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDIuMWVtO1xyXG4gICAgICAgICYsIC5saW5rX3RpdGxlX2phe1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjFlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmxpbmtfdGl0bGVfamF7XHJcbiAgICAgICAgICBib3R0b206IDEuN2VtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucGhvdG9fYm94e1xyXG4gICAgICAgICAgLnBob3Rve1xyXG4gICAgICAgICAgICB3aWR0aDogMTA0cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgICAgIFxyXG5cclxuICAvKiBmb290ZXJcclxuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAjZm9vdGVyIHtcclxuICAgIC5mb290ZXJfaW5mb3tcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgIH1cclxuICAgIC5mb290ZXJfbG9nb3tcclxuICAgICAgaW1ne1xyXG4gICAgICAgIG1heC13aWR0aDogMjQ1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICNjb250YWN0X2xpbmt7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgIGdhcDogMTBweDtcclxuICAgICAgYXtcclxuICAgICAgICAmLmJ1dHRvbl90ZWx7XHJcbiAgICAgICAgICB3aWR0aDogMjQ1cHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDYycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYnV0dG9uX3Jlc2VydmV7XHJcbiAgICAgICAgICB3aWR0aDogMjU1cHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDU0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuZm9vdGVyX2xpbmt7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBcclxuICAvKiBzaWRlX2ZpeGVkX2JveFxyXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiAgI3NpZGVfZml4ZWRfYm94e1xyXG4gICAgcmlnaHQ6IDdweDtcclxuICAgIGJvdHRvbTogNzBweDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY2MHB4KSB7XHJcblxyXG4gICNtZXNzYWdle1xyXG4gICAgLmJhbm5lcl9hcmVhe1xyXG4gICAgICB3aWR0aDogdW5xdW90ZSgnbWluKDEwMCUsIDM3MHB4KScpO1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgdWx7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogMTZweDtcclxuICAgICAgfVxyXG4gICAgICBhe1xyXG4gICAgICAgIC5waG90b19ib3h7XHJcbiAgICAgICAgICAucGhvdG97XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NDBweCkge1xyXG5cclxuICAvKiBzcCAqL1xyXG4gIC5wY190YiwgLnRiIHtcclxuICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xyXG4gIH1cclxuICAuc3Bfb25seSwgLnRiX29mZntcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAvKiBoZWFkZXJcclxuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAjaGVhZGVyIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDE3MCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAtMTJweDtcclxuICAgICYudG9we1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogLTVweDtcclxuICAgICAgLmhlYWRlcl9pbm5lcntcclxuICAgICAgICBoZWlnaHQ6IDI1NXB4O1xyXG4gICAgICB9XHJcbiAgICAgICNzaXRlX3RpdGxle1xyXG4gICAgICAgIHdpZHRoOiAyMTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhlYWRlcl9pbm5lcntcclxuICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICNzcF9lbmdfc2l0ZV90aXRsZXtcclxuICAgIG1hcmdpbi10b3A6IC0wLjI1ZW07XHJcbiAgICBmb250LXNpemU6IDEyLjU2dnc7XHJcbiAgICBwe1xyXG4gICAgICBtYXJnaW46IDAgLTAuNmVtIDAgMDtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAjc2l0ZV90aXRsZXtcclxuICAgIHdpZHRoOiAxMzJweDtcclxuICB9XHJcblxyXG5cclxuICAubWVudV9idXR0b257XHJcbiAgICBhe1xyXG4gICAgICB3aWR0aDogNjRweDtcclxuICAgICAgLmljb257XHJcbiAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4vKiBnbG9iYWxuYXZpXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiNnbG9iYWxuYXZpIHtcclxuICAuc3F1YXJlX2xpbmtfYm94ZXN7XHJcbiAgICBsaXtcclxuICAgICAgLmxpbmtfdGl0bGV7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLm90aGVyX2xpbmtze1xyXG4gICAgbGl7XHJcbiAgICAgIGF7XHJcbiAgICAgICAgcGFkZGluZzogMC45ZW0gMC42NWVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5tZW51X2Nsb3Nle1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gIH1cclxufVxyXG5cclxuLnNxdWFyZV9saW5rX2JveGVzIHtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gIGxpIHtcclxuICAgIGEge1xyXG4gICAgICBnYXA6IDEwcHg7XHJcbiAgICAgIC5saW5rX3RpdGxle1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbiAgLyogU1DkuIvpg6jlm7rlrprjg6Hjg4vjg6Xjg7xcclxuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gICNzcF9tZW51X2J1dHRvbnN7XHJcbiAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgfVxyXG5cclxuICAvKiBjb250ZW50c1xyXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gICN0b3BfbmF2e1xyXG4gICAgLnNxdWFyZV9saW5rX2JveGVze1xyXG4gICAgICBsaXtcclxuICAgICAgICBhe1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgkY29sb3I6ICMwMDAsICRhbHBoYTogMC4wNCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgI21lc3NhZ2V7XHJcbiAgICAucGhvdG9fYXJlYXtcclxuICAgICAgLnBob3RvX2lubmVye1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICAgICY6YmVmb3Jle1xyXG4gICAgICAgIHRvcDogLTIuM2VtO1xyXG4gICAgICAgIHJpZ2h0OiAxLjNlbTtcclxuICAgICAgICB3aWR0aDogMy45ZW07XHJcbiAgICAgIH1cclxuICAgICAgJjphZnRlcntcclxuICAgICAgICBib3R0b206IC0xLjhlbTtcclxuICAgICAgICBsZWZ0OiAtMWVtO1xyXG4gICAgICAgIHdpZHRoOiAzZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xyXG4gICAgLm1haW5fYXJlYXtcclxuICAgICAgcGFkZGluZy10b3A6IGNhbGMoKDEwMCUgLSA0MHB4ICogMikgKiAyOTMgLyAzOTAgKiAyIC0gNTBweCk7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xyXG4gICAgfVxyXG4gICAgLm1lc3NhZ2VfaW5uZXJ7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICB9XHJcbiAgICAubWVzc2FnZV90aXRsZV9hcmVhe1xyXG4gICAgICBtYXJnaW46IDAgLTIwdncgMi4zZW07XHJcbiAgICAgIGgye1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTQuNjJ2dztcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC40ZW07XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTAuMjNlbTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjNlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhbm5lcl9hcmVhe1xyXG4gICAgICBhe1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMi40ZW07XHJcbiAgICAgICAgJiwgLmxpbmtfdGl0bGVfamF7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuMWVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubGlua190aXRsZV9qYXtcclxuICAgICAgICAgIGJvdHRvbTogMS44ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5waG90b19ib3h7XHJcbiAgICAgICAgICAucGhvdG97XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgICAgIFxyXG5cclxuICAvKiBmb290ZXJcclxuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAjZm9vdGVyIHtcclxuICAgIC5mb290ZXJfbG9nb3tcclxuICAgICAgaW1ne1xyXG4gICAgICAgIG1heC13aWR0aDogMjEwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICNjb250YWN0X2xpbmt7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgZ2FwOiAxMnB4O1xyXG4gICAgICBhe1xyXG4gICAgICAgICYuYnV0dG9uX3RlbHtcclxuICAgICAgICAgIHdpZHRoOiAyODBweDtcclxuICAgICAgICAgIGhlaWdodDogNThweDtcclxuICAgICAgICAgIC50ZWxfaW5mb3tcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjU4ZW07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuYnV0dG9uX2lubmVye1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuMDdlbSBhdXRvO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmJ1dHRvbl9yZXNlcnZle1xyXG4gICAgICAgICAgd2lkdGg6IDI4MHB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgICAgICAgIC5idXR0b25faW5uZXJ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMS4yOGVtIGF1dG87XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuICBcclxuICAvKiBzaWRlX2ZpeGVkX2JveFxyXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiAgI3NpZGVfZml4ZWRfYm94e1xyXG4gICAgYm90dG9tOiA2MHB4O1xyXG4gIH1cclxuXHJcbiAgLyog44OV44Kp44O844OgXHJcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgICAudGFibGVfZm9ybXtcclxuICAgICAgdGR7XHJcbiAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbiAgICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG4gICAgICAgIHRleHRhcmVhIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM4OXB4KSB7XHJcblxyXG4gICNtZXNzYWdle1xyXG4gICAgLnBob3RvX2FyZWF7XHJcbiAgICAgICY6YmVmb3Jle1xyXG4gICAgICAgIHRvcDogLTIuMmVtO1xyXG4gICAgICAgIHJpZ2h0OiAxLjJlbTtcclxuICAgICAgICB3aWR0aDogMy42ZW07XHJcbiAgICAgIH1cclxuICAgICAgJjphZnRlcntcclxuICAgICAgICBib3R0b206IC0xLjRlbTtcclxuICAgICAgICBsZWZ0OiAtMC42ZW07XHJcbiAgICAgICAgd2lkdGg6IDIuOGVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAucGhvdG9fd3JhcHtcclxuICAgICAgcGFkZGluZzogMCAzMHB4O1xyXG4gICAgfVxyXG4gICAgLm1haW5fYXJlYXtcclxuICAgICAgcGFkZGluZy10b3A6IGNhbGMoKDEwMCUgLSAzMHB4ICogMikgKiAyOTMgLyAzOTAgKiAyIC0gNTBweCk7XHJcbiAgICB9XHJcbiAgICAubWVzc2FnZV9pbm5lcntcclxuICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIiwiJGZvbnRfZW46IFwiTnVuaXRvXCIsIHNhbnMtc2VyaWY7XHJcblxyXG4kYmx1ZTogIzU4QkFEQjtcclxuJHJlZDogI2QwMDtcclxuJHllbGxvdzogI0U2QTEwMDtcclxuJGdyZWVuOiAjOEJBRDAwO1xyXG5cclxuJG9yaWdpbl9jb2xvcjogIzRENkM4MDtcclxuJGxpbmtfY29sb3I6ICRvcmlnaW5fY29sb3I7XHJcbiRob3Zlcl9jb2xvcjogJG9yaWdpbl9jb2xvcjtcclxuXHJcblxyXG4iXX0= */
