@charset "UTF-8";
a { padding: 0; }

@media (max-width: 700px) { .johnny-utah { content: 'Whoa.'; } }

.clear-lg2 { clear: both; }

@media (max-width: 940px) { .clear-lg2 { clear: none; } }

@media (max-width: 480px) { .clear-lg2 { clear: both; } }

@media (max-width: 1023px) { .clear-lg1 { clear: none; } }

@media (max-width: 940px) { .clear-lg1 { clear: both; } }

@media (max-width: 700px) { .clear-lg1 { clear: none; } }

.lg2 { display: block; }

@media (max-width: 940px) { .lg2 { display: none; } }

.lg1 { display: none; }

@media (max-width: 940px) { .lg1 { display: block; } }

table td { word-break: break-all; }

body { font-family: "맑은고딕","malgun gothic","나눔고딕","Nanum Gothic","AppleGothic","돋움","dotum",Helvetica,Arial,sans-serif; font-size: 0.85em; color: #2d3740; position: relative; }

@media (max-width: 767px) { body { background: none; background: #f3f1f3; } }

#bgW { display: none; background: rgba(0, 0, 0, 0.7); position: fixed; width: 100%; z-index: 1010; top: 0; height: 100%; }

#wrapper { max-width: 100%; margin: 0 auto; min-width: 320px; background: url(/static/images/common/sub_visual.jpg) no-repeat center 140px; }

@media (max-width: 767px) { #wrapper { background: none; } }

#header #logo { text-align: center; height: 56px; padding-top: 17px; }

@media (max-width: 767px) { #header #logo { text-align: left; padding-top: 14px; float: left; } }

@media (max-width: 767px) { #header #logo img { width: 190px; } }

#header { height: 140px; max-width: 1260px; width: 100%; margin: 0 auto; }

#header #header_global { position: relative; height: 93px; }

@media (max-width: 767px) { #header #header_global { height: 10px; } }

@media (max-width: 1260px) { #header { padding: 0 7px 0 7px; } }

@media (max-width: 767px) { #header { margin-bottom: 0; height: 70px; padding-top: 0; border-bottom: 3px solid #1a2851; background: #fff; } }

#header #tLink { position: absolute; top: 0; right: 0; }

@media (max-width: 1400px) { #header #tLink { right: 12px; } }

@media (max-width: 767px) { #header #tLink { display: none; } }

#header #tLink a { padding: 5px 7px 5px 30px; font-size: 0.85em; font-weight: bold; border-radius: 0 0 3px 3px; display: inline-block; color: #fff; }

#header #tLink .ev { background: #6fa4d6 url(/static/images/common/ico/ico_w_world.png) no-repeat 8px center; }

#header #tLink .fv { background: #6dbb67 url(/static/images/common/ico/ico_w_person.png) no-repeat 8px center; }

#header #global { float: right; position: absolute; top: 48px; right: 0; }

@media (max-width: 1400px) { #header #global { right: 12px; } }

@media (max-width: 767px) { #header #global { display: none; } }

#header #global a { font-size: 0.95em; color: #666; }

#header #global li { font-weight: 600; float: left; margin-left: 10px; padding-left: 10px; background: url(/static/images/portal/common/line.gif) no-repeat left center; }

#header #global li:first-child { background: none; }

#header #global li.cor a { color: #1a2851; }

#header #global li.eng { background: none; margin-left: 3px; }

#header #global li.eng a { display: inline-block; font-weight: normal; border: 1px solid #9a9ca5; border-radius: 15px; padding: 0 20px 0 10px; background: #f2f4f7 url("/static/images/portal/common/bu_eng.gif") no-repeat 90% center; }

#gnbWrap { padding-right: 48px; }

@media (max-width: 940px) { #gnbWrap { padding-right: 95px; } }

@media (max-width: 767px) { #gnbWrap { float: right; top: 10px; } }

#gnb { padding: 0; height: 46px; margin-bottom: 7px; }

#gnb a { text-decoration: none; display: block; }

@media (max-width: 767px) { #gnb > ul { display: none; } }

@media (max-width: 940px) { #gnb > ul > li { width: 20%; } }

#gnb > ul > li > a { color: #fff; font-size: 15px; font-weight: 600; display: block; white-space: nowrap; display: block; line-height: 1; text-align: center; letter-spacing: -1px; }

/* #gnb > ul > li.on > a:after, #gnb > ul > li.hover > a:after { content: ''; display: block; position: absolute; background: url(/static/images/portal/common/bu_gnbOn.png) 0 0 no-repeat; width: 7px; height: 4px; left: 48%; top: 43px; z-index: 20; } */

/* #gnb > ul > li > a > span { padding: 16px 1%; display: block; } */

#gnb > ul > li.hover > a { color: #1a2851; }

/* #gnb > ul > li.hover > a > span { background: url(/static/images/portal/common/bu_gnbOn.png) center bottom no-repeat; color: #1a2851; } */

#gnb > ul > li > div { position: absolute; left: 0; top: 140px; padding-top: 0; display: none; border: 1px solid #3f476e; border-top: 0; width: 100%; z-index: 1020; }

#gnb > ul > li.hover > div.gnbArea { display: block; background: #fff; display: table; }

#gnb > ul > li.hover > div.gnbArea:after { content: ""; display: block; position: static; }

#gnb > ul > li.hover > div.gnbArea > div.gnbtit { width: 15%; display: table-cell; background: #1a2851 url(/static/images/portal/common/bg_gnb1.gif) right bottom no-repeat; position: relative; }

#gnb > ul > li.hover > div.gnbArea > div.gnbtit > span { display: block; color: #fff; font-size: 2.5em; vertical-align: top; padding-top: 2.2em; text-align: center; letter-spacing: -1px; line-height: 129%; position: relative; z-index: 10; }

#gnb > ul > li.hover > div.gnbArea > div.gnbtit > span.ptype { padding-top: 10px; }

@media (max-width: 1500px) { #gnb > ul > li.hover > div.gnbArea > div.gnbtit > span { display: none; } }

#gnb > ul > li.hover > div.gnbArea > div.gnbtit > .btnMain { text-align: left; position: absolute; bottom: 20px; left: 10px; right: 5px; z-index: 5; }

@media (max-width: 1500px) { #gnb > ul > li.hover > div.gnbArea > div.gnbtit > .btnMain { display: none; } }

#gnb > ul > li.hover > div.gnbArea > div.gnbtit:after { content: ""; display: block; background: url(/static/images/portal/common/bg_gnb2.png) right 0 no-repeat; height: 105px; width: 100%; position: absolute; top: 0; }

#gnb > ul > li > div.gnbArea > ul { position: relative; width: 85%; display: table-cell; background: #fff; vertical-align: top; }

#gnb > ul > li > div.gnbArea > ul > li { display: table; vertical-align: top; width: 100%; border-top: 1px solid #ccc; }

#gnb > ul > li > div.gnbArea > ul > li > a { display: table-cell; color: #fff; background: #787d9a; width: 192px; padding: 12px 0; text-align: center; font-weight: bold; }

#gnb > ul > li > div.gnbArea > ul > li > a.noSub { display: block !important; }

#gnb > ul > li > div.gnbArea > ul > li > ul { display: table-cell; vertical-align: top; padding: 8px 0 6px 0; }

#gnb > ul > li > div.gnbArea > ul > li > ul > li { float: left; vertical-align: top; padding-top: 4px; }

/*div.gnbArea > ul > li > ul > li.last { display:none; }*/

#gnb > ul > li > div.gnbArea > ul > li > ul > li > a { color: #757575; padding: 0 20px; background: url(/static/images/common/bu1.gif) 10px center no-repeat; display: block; }

#gnb > ul > li > div.gnbArea > ul > li > ul > li > a:hover, #gnb > ul > li > div > ul > li > ul > li > a:focus, #gnb > ul > li > div > ul > li > ul > li > a:active { color: #333; font-weight: bold; }

#gnb > ul > li > div.gnbArea > ul.view { display: block; overflow: visible; }

#gnb.viewAll > ul > li > div { display: block; }

#gnb .totalSch { position: absolute; right: 35px; top: 26px; font-weight: 600; padding-right: 0; height: 26px; }

#gnb .totalSch > a { display: block; }

#gnb .totalSch > a.totalSch_open { background: url(/static/images/portal/common/btn_totalsch.png) center 5px no-repeat; width: 40px; height: 40px; }

#gnb .totalSch.on { display: none; }

#gnb .totalSch_close { background: #333 url(/static/images/portal/common/btn_schclose.gif) center 0 no-repeat; width: 40px; height: 40px; display: none; }

#gnb .totalSch_close:hover, #gnb .totalSch_close:focus { background: #333 url(/static/images/portal/common/btn_schclose.gif) center 0 no-repeat; }

#gnb .totalSch_area { position: absolute; background: #333; padding: 15px; width: 300px; right: 35px; top: 63px; display: none; }

#gnb .totalSch_area .inp { border: 0; padding: 0 10px; height: 31px; width: 230px; }

#gnb .totalSch_area .totalSch_box { background: #fff; display: block; border-radius: 3px; padding: 4px; }

#gnb .navClose { display: none; position: absolute; right: 0; top: 35px; font-weight: 600; background: url(/static/images/portal/common/navOpen.png) right 0 no-repeat; padding-right: 36px; color: #93dbff; height: 26px; font-size: 16px; }

.tsh { float: right; width: 20.1%; min-width: 48px; position: relative; height: 47px; background: #1a2952; font-size: 0.95em; z-index: 999; }

@media (max-width: 940px) { .tsh { display: none; } }

@media (max-width: 940px) { .tsh { position: absolute; right: 0; width: 210px; z-index: 100; } }

.tsh > form > span { display: block; margin-right: 0; border-radius: 5px; background: #fff; padding: 3px 50px 3px 8px; margin: 6px 7px 0 7px; }

.tsh > form > span .acArrow { display: inline-block !important; position: absolute; top: 11px; right: 35px; }

.tsh .inp { border: #efefef; height: 28px; line-height: 28px; background: #fff; width: 100%; }

.tsh .btn_gnbSch { position: absolute; right: 12px; top: 10px; }

.schBtn { display: none !important; }

.schBtn.on { position: absolute; top: 0; right: -47px; display: none !important; }

@media (max-width: 940px) { .schBtn.on { display: block !important; } }

.schClose { position: absolute; top: 0; right: 48px; display: none !important; }

@media (max-width: 940px) { .schClose { display: none !important; } }

.schClose.on { position: absolute; top: 0; right: -47px; display: none !important; }

@media (max-width: 940px) { .schClose.on { display: block !important; } }

#container { height: auto; width: 100%; max-width: 1260px; padding-top: 0; margin: 0 auto; position: relative; margin-top: 50px; }

#container img { vertical-align: middle; }

@media (max-width: 767px) { #container { margin-top: 0; } }

.hgroup { clear: both; text-align: center; display: none; }

@media (max-width: 767px) { .hgroup { display: block; } }

.hgroup h2 { padding: 3.3% 0 3.25% 0; font-size: 2.5em; font-weight: 400; letter-spacing: -1px; color: #474a5b; }

@media (max-width: 767px) { .hgroup h2 { font-size: 2em; cursor: pointer; } }

@media (max-width: 767px) { .hgroup h2 > span { background: url(/static/images/common/bu_selectM.png) right bottom no-repeat; display: inline-block; padding-right: 35px; } }

.hgroup .lnb1dept { display: none; }

@media (max-width: 767px) { .hgroup .lnb1dept.on { display: block; background: #fff; position: absolute; width: 98%; z-index: 101; border-top: 0; left: 1%; }
  .hgroup .lnb1dept li { border-bottom: 1px solid #f087b1; color: #fff; display: block; padding: 3px; background: #f05291 url(/static/images/common/bu1.gif) 10px center no-repeat; }
  .hgroup .lnb1dept li a { color: #fff; text-align: left; display: block; padding: 3px 3px 3px 15px; } }

#lnbWrap { min-width: 180px; max-width: 280px; width: 22%; margin-right: 1%; float: left; }

@media (max-width: 1023px) { #lnbWrap { width: 19%; } }

@media (max-width: 940px) { #lnbWrap { display: none; } }

#lnb, .lnb { background: #fff; }

#lnb h3, .lnb h3 { background: #474a5b url(/static/images/common/bg_lnbTit.png) 35px bottom no-repeat; padding: 25px 30px; font-size: 2.1em; color: #fff; font-weight: 400; letter-spacing: -1px; line-height: 1.2; }

.lnb.type { margin-top: 10px; }

.lnb.type:first-child { margin: 0; }

.lnb.type h3 { font-size: 1.0em; padding: 16px; font-weight: bold; }

.lnb.type h3 span { background: url(/static/images/ico/ico_w_sch2.png) left center no-repeat; padding-left: 20px; }

#lnb > ul, .lnb > ul { padding: 8% 8% 12% 8%; }

#lnb > ul > li, .lnb > ul > li { border-bottom: 1px solid #e6e7eb; }

#lnb > ul > li > a, .lnb > ul > li > a { display: block; line-height: 139%; font-size: 1.05em; background: url(/static/images/common/bu_lnb1_off.gif) 5px 12px no-repeat; padding: 5px 0 5px 18px; }

#lnb > ul > li > ul, .lnb > ul > li > ul { padding: 0 0 5px 0; margin-left: 15px; }

#lnb > ul > li > ul > li, .lnb > ul > li > ul > li { padding: 2px 0; }

#lnb > ul > li > ul > li > a, .lnb > ul > li > ul > li > a { color: #777; font-size: 0.95em; background: url(/static/images/common/bu_lnb2.gif) left 9px no-repeat; padding-left: 12px; }

#lnb > ul > li.on > a, .lnb > ul > li.on > a { font-weight: bold; background: url(/static/images/common/bu_lnb1_on.png) left 12px no-repeat; }

#lnb > ul > li.on > ul > li.on > a, .lnb > ul > li.on > ul > li.on > a { color: #f05291; font-weight: bold; }

#lnbInfo { padding: 12px; background: #fff; margin-top: 10px; height: 220px; }

#lnbInfo h3 { font-size: 1em; margin-bottom: 12px; margin-top: 10px; }

#lnbInfo > ul { position: relative; }

#lnbInfo > ul > li { float: left; margin-left: 1px; margin: 2px 0 1.5% 0; width: 50%; }

#lnbInfo > ul > li > a { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; display: block; text-align: center; color: #666; letter-spacing: -1px; padding: 5px 0; background: #f5f6fa; border: 1px solid #b2b4bf; margin-left: -1px; font-size: 0.9em; color: #787d9a; }

#lnbInfo > ul > li > a.on { color: #f05291; border-bottom: 1px solid #fff; padding: 3px 0 7px 0; font-weight: 600; }

.lnbInfo_area { position: absolute; top: 32px; left: 0; width: 100%; padding: 13px 0 0; display: none; }

.lnbInfo_area > ul > li { margin: 2.8% 0; float: none; overflow: hidden; }

.lnbInfo_area > ul > li > a { font-size: 0.9em; text-align: left; line-height: 129%; color: #666; background: none; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; }

.lnbInfo_area .numt { padding: 1px; text-align: center; width: 13px; height: 13px; font-family: verdana; font-size: 0.8em; color: #fff; display: inline-block; line-height: 1.1; margin-right: 8px; vertical-align: middle; border-radius: 1px; }

.lnbInfo_area .numType1, .lnbInfo_area .numType2, .lnbInfo_area .numType3 { background: #f05291; }

.lnbInfo_area .numType4, .lnbInfo_area .numType5, .lnbInfo_area .numType6 { background: #474a5b; }

.lnbService { width: 100%; overflow: hidden; background: #fff; margin: 10px 0; }

.lnbService li { float: left; width: 50%; margin: 22px 0; }

.lnbService li:first-child { border-right: 1px solid #ddd; }

.lnbService li a { display: block; color: #f05291; text-align: center; font-weight: bold; font-size: 0.95em; }

.lnbService li a span { display: block; padding-top: 5px; }

#contents { float: left; width: 77%; position: relative; }

@media (max-width: 1023px) { #contents { width: 79%; } }

@media (max-width: 940px) { #contents { width: 100%; } }

#contents > .wbox:first-child { margin-top: 0; min-height: 700px; }

@media (max-width: 767px) { #contents > .wbox:first-child { min-height: inherit; } }

#contents.contents_all { width: 100% !important; }

.wbox { padding: 1em 30px; background: #fff; margin-top: 10px; display: block; }

.wbox:before, .wbox:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }

@media (max-width: 940px) { .wbox { margin: 1%; padding: 1em 0.5em; } }

.conP .tit1:first-child { margin-top: 0; }

.location { clear: both; display: block; border-bottom: 1px solid #474a5b; margin-bottom: 3%; padding-bottom: 1%; }

.location:before, .location:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }

@media (max-width: 767px) { .location { margin: 0 0 1em 0; } }

.location > div.locL { float: left; color: #666; font-size: 0.90em; }

@media (max-width: 767px) { .location > div.locL { display: none; margin: 0 1%; } }

.location > div.locL > span { display: inline-block; letter-spacing: -1px; }

.location > div.locL > span:first-child { background: url(/static/images/common/bu_home.gif) left 48% no-repeat; padding-left: 18px; letter-spacing: 0; }

.location > div.locL > span.ing { color: #333; }

.location.type { font-size: 1.15em; font-weight: bold; }

.snsService { float: right; }

.snsService a:first-child { margin-right: 0; }

.snsService img { vertical-align: top !important; }

.snsService a, .snsService span { float: left; margin-right: 2px; }

.snsService .sns_goodN { margin-right: 8px; background: url(/static/images/common/sns_goodN.gif) right top no-repeat; padding: 0 4px; color: #fff; font-size: 0.85em; height: 20px; }

@media (max-width: 940px) { .snsService .print { display: none; } }

.snsService .print a { margin-left: 7px; }

.qMenu { position: absolute; top: 0; right: -67px; }

@media (max-width: 1400px) { .qMenu { display: none; } }

.qMenu a { display: block; color: #fff; font-size: 0.95em; font-weight: bold; width: 66px; height: 80px; text-align: center; line-height: 1.2; padding: 37px 4px 0 4px; background: #474a5b url(/static/images/portal/main/bu_qmenu.png) no-repeat center 9px; }

#footer { background: #fff; margin-top: 30px; }

#footer a { font-size: 0.9em; letter-spacing: -1px; }

#footer .foot { padding: 0 0 10px 0; width: 100%; overflow: hidden; position: relative; }

@media (max-width: 1260px) { #footer .foot { padding: 0 10px 10px 10px; } }

#footer .footer_bg { margin: 0 auto; max-width: 1260px; }

.f_logo { float: left; padding: 10px 26px 0 0; }

@media (max-width: 1260px) { .f_logo { display: none; } }

.f_logo.type1 { padding-top: 20px; }

.f_logo img { width: 240px; }

.f_add { float: left; padding-top: 23px; color: #474a5b; font-size: 0.95em; line-height: 1.4; }

@media (max-width: 940px) { .f_add { float: none; text-align: center; padding: 55px 0 10px 0; } }

.f_add address { margin-bottom: 1px; }

@media (max-width: 940px) { .f_add span { display: block; } }

.f_add .addB { font-weight: bold; color: #f05291; display: inline-block !important; }

.f_add .telboxW .telbox { margin-top: 5px; float: left; }

.f_add .telboxW .telbox span { background: #787d9a; line-height: 1.4; padding: 3px 10px; color: #fff; border-radius: 2px 0 0 2px; display: inline-block; vertical-align: top; }

.f_add .telboxW .telbox .arr { background: #474a5b url(/static/images/portal/common/tel_arr.png) center center no-repeat; display: inline-block; border-radius: 0 2px 2px 0; width: 10px; height: 22px; }

.f_add .telboxW p { float: left; margin: 5px 0 0 5px; font-weight: bold; }

.family { float: right; padding: 25px 285px 0 0; }

@media (max-width: 940px) { .family { display: block; } }

@media (max-width: 940px) { .family { float: none; padding: 0; text-align: center; position: absolute; top: 8px; left: 50%; margin-left: -130px; } }

.family .familySel { cursor: pointer; border: 0; background: #f8f8f8 url(/static/images/common/bu_select.gif) 95% no-repeat; width: 205px; overflow: hidden; display: inline-block; border: 1px solid #474a5b; float: left; }

@media (max-width: 940px) { .family .familySel { float: none; } }

.family .familySel select { height: 32px; border: none; background: transparent; width: 115%; min-width: 90px; font-size: 13px; padding-left: 8px; letter-spacing: -1px; }

.family .input_img { vertical-align: top; display: inline; }

.f_menu { width: 100%; margin: 0 auto; overflow: hidden; line-height: 35px; border-bottom: 1px solid #e5e5e5; margin-top: 8px; }

@media (max-width: 940px) { .f_menu { margin-top: 0; } }

.f_menu ul { overflow: hidden; float: left; margin-top: 2px; }

@media (max-width: 940px) { .f_menu ul { float: none; margin-top: 0; } }

.f_menu ul li { float: left; background: url(/static/images/common/line.gif) no-repeat left 50%; padding: 0 9px; }

@media (max-width: 940px) { .f_menu ul li { background: none; border: 1px solid #e5e5e5; border-width: 0 1px 1px 0; width: 16.66%; padding: 0; text-align: center; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; } }

@media (max-width: 480px) { .f_menu ul li { width: 33.33%; } }

.f_menu ul li a { color: #474a5b; font-size: 1.0em; display: block; }

.f_menu .f_sns { float: right; margin-bottom: 3px; }

@media (max-width: 1260px) { .f_menu .f_sns { margin-right: 10px; } }

@media (max-width: 940px) { .f_menu .f_sns { float: none; text-align: center; padding: 5px 0; } }

.f_menu .f_sns img { vertical-align: middle; }

.alrim { position: relative; top: -2px; }

.mark { position: absolute; top: 15px; right: 5px; border: 0; padding: 0; background: none; }

@media (max-width: 940px) { .mark { display: none; } }

.mark .mark1 img { width: 78px; padding-left: 5px; }

.mark .mark2 img { width: 78px; padding-left: 5px; }

#quick { position: fixed; right: -320px; top: 0; height: 100%; background: #474a5b; border-radius: 5px 0 0 5px; z-index: 160; padding: 0 5px; width: 329px; }

@media (max-width: 940px) { #quick { display: none; } }

#quick > .view, #quick > .viewClose { position: absolute; top: 200px; left: -15px; color: #fff; width: 15px; height: 170px; border-radius: 5px 0 0 5px; display: table-cell; }

#quick > .view a, #quick > .viewClose a { position: absolute; padding: 30px 3px 5px 3px; width: 100%; line-height: 1.1; color: #dbdce0; font-weight: 600; display: table-cell; writing-mode: vertical-lr; text-decoration: none; }

#quick > .view { background: #474a5b url(/static/images/common/arr_pink_left.png) no-repeat 8px 15px; }

#quick > .viewClose { display: none; background: #474a5b url(/static/images/common/arr_pink_right.png) no-repeat 8px 15px; }

#quick h2 { border-bottom: 1px solid #6e7084; padding: 0.5em 0; text-align: center; }

#quick h3 { text-align: center; color: #aecfe1; padding: 1em 0; font-size: 1.1em; }

#quick .quick_area { padding: 0 15px; overflow: auto; height: 100%; }

#quick .quick_area > ul > li { margin-bottom: 1px; color: #fff; line-height: 1.4; }

#quick .quick_area > ul > li.on { background: #fff; }

#quick .quick_area > ul > li.on > a { color: #474a5b; font-weight: bold; background: #fff url(/static/images/common/bu_quick_off1.png) no-repeat 15px 13px; font-size: 1.05em; letter-spacing: -1px; }

#quick .quick_area > ul > li.on > a .btn { vertical-align: top; font-weight: 600; margin-left: 5px; display: inline-block; padding: 2px 7px; line-height: 1.2; }

#quick .quick_area > ul > li.on > ul { display: block; background: #fff; padding: 0 0 10px 22px; }

#quick .quick_area > ul > li.on > ul > li { background: url(/static/images/common/quick_line2.gif) no-repeat left center; padding: 1px 10px; }

#quick .quick_area > ul > li.on > ul > li.last { background: url(/static/images/common/quick_line3.gif) no-repeat left top; }

#quick .quick_area > ul > li.on > ul > li > a { color: #474a5b; font-size: 0.95em; }

#quick .quick_area > ul > li.on > ul > li > a:hover { color: #f05291; font-weight: 600; }

#quick .quick_area > ul > li > a { color: #fff; background: #5a5c6c url(/static/images/common/bu_quick_on.png) no-repeat 15px 13px; padding: 10px 10px 10px 35px; display: block; }

#quick .quick_area > ul > li > a .btn { display: none; }

#quick .quick_area > ul > li > ul { display: none; }

#quick a { color: #fff; font-size: 0.95em; }

.qMenuBtnW { overflow: hidden; }

.qMenuBtnW .qMenuMobile { float: right; margin: 0 5px 5px 0; }

@media (max-width: 767px) { .qMenuBtnW .qMenuMobile { margin: 0 25px 0 0; } }

.qMenuBtnW .qMenuMobile a { font-weight: bold; background: url(/static/images/common/bu_arr1.png) no-repeat right center; padding-right: 16px; color: #f05291 !important; }

.qMenuBtnW .qMenuBtn { float: left; display: none; padding-right: 8px;}

@media (max-width: 767px) { .qMenuBtnW .qMenuBtn { display: block; } }

.qMenuBtnW .qMenuBtn a { color: #fff; border-radius: 3px; background: #438de0; padding: 1px 8px; display: inline-block; font-weight: 600; }

#Allmenu { position: absolute; top: 80px; z-index: 1020; width: 100%; display: block; display: none; }

@media (max-width: 767px) { #Allmenu { top: 50px; } }

#Allmenu > .Allmenu_box { display: block; position: fixed; width: 100%; }

@media (max-width: 767px) { #Allmenu > .Allmenu_box { position: fixed; width: 95%; right: 0; } }

#Allmenu > .Allmenu_box > div.Allmw { padding: 1% 2%; max-width: 1360px; width: 98%; margin: 0 auto; background: #fff; position: relative; }

@media (max-width: 767px) { #Allmenu > .Allmenu_box > div.Allmw { width: 100%; padding: 0; } }

#Allmenu > .Allmenu_box > div.Allmw:before, #Allmenu > .Allmenu_box > div.Allmw:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }

#Allmenu > .Allmenu_box > div.Allmw .btn_popClose { clear: both; text-align: center; padding-top: 10px; }

#Allmenu > .Allmenu_box > div.Allmw .popSchW { text-align: center; }

#Allmenu > .Allmenu_box > div.Allmw .popSchW .popSch { margin-top: 2%; border: 2px solid #474a5b; background: #fff; border-radius: 25px; width: 100%; max-width: 400px; display: inline-block; padding: 5px 5px 7px 10px; position: relative; }

#Allmenu > .Allmenu_box > div.Allmw .popSchW .popSch .inp { border: 0; width: 100%; padding: 0 35px 0 5px; }

#Allmenu > .Allmenu_box > div.Allmw .popSchW .popSch .btnsch { position: absolute; top: 5px; right: 10px; }

@media (max-width: 767px) { #Allmenu > .Allmenu_box > div.Allmw > div { padding: 0; max-width: auto; margin: 0 auto; background: #fff; position: relative; overflow: hidden; width: 100%; padding: 0 2% 2% 2%; } }

@media (max-width: 767px) { #Allmenu > .Allmenu_box > div.Allmw > div > ul { overflow: hidden; border: 1px solid #b2b4bf; background: #f5f6fa url(/static/images/common/Allmenu_line.gif) repeat-y center top; } }

@media (max-width: 360px) { #Allmenu > .Allmenu_box > div.Allmw > div > ul { background: #f5f6fa; } }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li { width: 20%; padding: 1% 1.5%; float: left; color: #333; border: 1px solid #b2b4bf; background: #f5f6fa; min-height: 220px; margin: -1px 0 0 -1px; }

@media (max-width: 940px) { #Allmenu > .Allmenu_box > div.Allmw > div > ul > li { font-size: 0.9em; } }

@media (max-width: 767px) { #Allmenu > .Allmenu_box > div.Allmw > div > ul > li { width: 50%; padding-top: 10px; min-height: inherit; border-width: 1px 0 0 0; margin: -1px 0 0 0; background: none; }
  #Allmenu > .Allmenu_box > div.Allmw > div > ul > li:nth-child(odd) { clear: both; }
  #Allmenu > .Allmenu_box > div.Allmw > div > ul > li:nth-child(1), #Allmenu > .Allmenu_box > div.Allmw > div > ul > li:nth-child(2) { border-top: 0; clear: none; } }

@media (max-width: 360px) { #Allmenu > .Allmenu_box > div.Allmw > div > ul > li { width: 100%; min-height: inherit; padding: 3%; }
  #Allmenu > .Allmenu_box > div.Allmw > div > ul > li:nth-child(2) { border-top: 1px solid #b2b4bf; } }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li.on > a { height: 50px; }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li:nth-child(6) { clear: both; }

@media (max-width: 767px) { #Allmenu > .Allmenu_box > div.Allmw > div > ul > li:nth-child(6) { clear: none !important; } }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li.type { min-height: 290px; }

@media (max-width: 767px) { #Allmenu > .Allmenu_box > div.Allmw > div > ul > li.type { min-height: 160px; } }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li.site { background: #474a5b url(/static/images/common/ico_all1.png) no-repeat center 50px; text-align: center; padding: 130px 0 0 0; color: #fff; line-height: 1.3; }

@media (max-width: 767px) { #Allmenu > .Allmenu_box > div.Allmw > div > ul > li.site { background-position: center 20px; padding-top: 90px; } }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li.site .fb { color: #ff80b3; }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li.site li { display: inline-block; font-size: 0; line-height: 0; padding-left: 0; }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li.site li a { background: url(/static/images/common/line.gif) no-repeat left 3px; padding: 0 1px 0 4px; font-size: 12px; color: #fff; }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li.site li a:hover { color: #f05291; }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li.site li:first-child a { background: none; }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li.sn { background: #f05291 url(/static/images/common/ico_all2.png) no-repeat center 60px; text-align: center; padding: 135px 0 0 0; color: #fff; }

@media (max-width: 767px) { #Allmenu > .Allmenu_box > div.Allmw > div > ul > li.sn { background-position: center 30px; padding-top: 95px; } }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li.sn span { display: block; font-weight: bold; }

@media (max-width: 940px) { #Allmenu > .Allmenu_box > div.Allmw > div > ul > li.sn span { display: inline; } }

@media (max-width: 360px) { #Allmenu > .Allmenu_box > div.Allmw > div > ul > li.sn span { display: block; } }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li.sn a { padding-right: 18px; background: url(/static/images/common/bu_arr.png) no-repeat right 3px; display: inline-block; font-weight: bold; color: #fff; }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li > a { letter-spacing: -1px; font-weight: 600; font-size: 1.10em; background: url(/static/img/gw/common/bg_tit.gif) no-repeat 1px top; padding: 7px 0 0 0; }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li > ul { margin-top: 2.5%; }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li > ul > li { text-indent: -10px; padding-left: 10px; line-height: 1.3; margin: 5px 0; }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li > ul > li:before { content: "- "; display: inline-block; padding-left: 10px; }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li > ul > li > a:hover { color: #f05291; font-weight: bold; }

.AllmenuBtn { position: absolute; right: -48px; top: 0; font-weight: 600; border-left: 1px solid #5f6986; }

@media (max-width: 940px) { .AllmenuBtn { right: -95px; } }

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

.AllmenuBtnClose a { display: block; padding: 10px; }

.AllmenuBtnClose a:focus { border: 1px dotted #ddd; }

#Allmenu .exBox { display: none; }

.btn-gray { background: #474a5b; border-radius: 15px; line-height: 1.2; color: #fff; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsL2xheW91dC5jc3MiLCJzb3VyY2VzIjpbInBvcnRhbC9sYXlvdXQuc2NzcyIsIl9icmVha3BvaW50LnNjc3MiLCJicmVha3BvaW50L19zZXR0aW5ncy5zY3NzIiwiYnJlYWtwb2ludC9fY29udGV4dC5zY3NzIiwiYnJlYWtwb2ludC9faGVscGVycy5zY3NzIiwiYnJlYWtwb2ludC9fcGFyc2Vycy5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL19xdWVyeS5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL19zaW5nbGUuc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy9zaW5nbGUvX2RlZmF1bHQuc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy9fZG91YmxlLnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvZG91YmxlL19kZWZhdWx0LXBhaXIuc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy9kb3VibGUvX2RvdWJsZS1zdHJpbmcuc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy9kb3VibGUvX2RlZmF1bHQuc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy9fdHJpcGxlLnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvdHJpcGxlL19kZWZhdWx0LnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvX3Jlc29sdXRpb24uc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy9yZXNvbHV0aW9uL19yZXNvbHV0aW9uLnNjc3MiLCJicmVha3BvaW50L19uby1xdWVyeS5zY3NzIiwiYnJlYWtwb2ludC9fcmVzcG9uZC10by5zY3NzIiwiYnJlYWtwb2ludC9fbGVnYWN5LXNldHRpbmdzLnNjc3MiLCJwb3J0YWwvYmFzZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJy4uL2JyZWFrcG9pbnQnO1xyXG5AaW1wb3J0ICdiYXNlLnNjc3MnO1xyXG5cclxudGFibGUgdGR7IHdvcmQtYnJlYWsgOiBicmVhay1hbGx9XHJcbmJvZHl7Zm9udC1mYW1pbHk6IFwi66eR7J2A6rOg65SVXCIsXCJtYWxndW4gZ290aGljXCIsXCLrgpjriJTqs6DrlJVcIixcIk5hbnVtIEdvdGhpY1wiLFwiQXBwbGVHb3RoaWNcIixcIuuPi+ybgFwiLFwiZG90dW1cIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MC44NWVtO2NvbG9yOiMyZDM3NDA7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZDojZjJmNGY3IHVybCgvc3RhdGljL2ltYWdlcy9jb21tb24vYmdfdG9wLmdpZikgcmVwZWF0LXggbGVmdCB0b3A7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOm5vbmU7XHJcblx0XHRcdGJhY2tncm91bmQ6I2YyZjRmNztcclxuXHRcdH1cclxuXHR9IFxyXG5cclxuI2JnV3tkaXNwbGF5Om5vbmU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNyk7cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTt6LWluZGV4OjEwMTA7dG9wOjA7aGVpZ2h0OjEwMCU7fVxyXG4jd3JhcHBlcnttYXgtd2lkdGg6MTAwJTttYXJnaW46IDAgYXV0bzttaW4td2lkdGg6MzIwcHg7YmFja2dyb3VuZDogdXJsKC9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9zdWJfdmlzdWFsLmpwZykgbm8tcmVwZWF0IGNlbnRlciAxNDBweDsgXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdGJhY2tncm91bmQ6bm9uZTtcclxuXHR9XHJcbn1cclxuI2hlYWRlciAjbG9nb3t0ZXh0LWFsaWduOmNlbnRlcjtoZWlnaHQ6NTZweDtwYWRkaW5nLXRvcDoxN3B4O1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdFx0dGV4dC1hbGlnbjpsZWZ0O3BhZGRpbmctdG9wOjE0cHg7XHJcblx0XHRcdGZsb2F0OmxlZnQ7XHJcblx0XHQgIH1cclxuXHRpbWd7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0ICAgIHdpZHRoOjE5MHB4O1xyXG5cdFx0ICB9XHJcblx0fVxyXG59XHJcbiNoZWFkZXJ7aGVpZ2h0OjE0MHB4O21heC13aWR0aDoxMjYwcHg7d2lkdGg6MTAwJTttYXJnaW46MCBhdXRvO1xyXG5cdCNoZWFkZXJfZ2xvYmFse3Bvc2l0aW9uOiByZWxhdGl2ZTtoZWlnaHQ6OTNweDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHRcdGhlaWdodDoxMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzQpIHtcclxuXHRcdHBhZGRpbmc6MCA3cHggMCA3cHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOjA7XHJcblx0XHRoZWlnaHQ6NzBweDtcclxuXHRcdHBhZGRpbmctdG9wOjA7XHJcblx0XHRib3JkZXItYm90dG9tOjNweCBzb2xpZCAjMWEyODUxO2JhY2tncm91bmQ6I2ZmZjtcclxuXHR9XHJcblx0I3RMaW5re3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzMpIHtcclxuXHRcdFx0cmlnaHQ6MTJweDtcclxuXHRcdCAgfVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdFx0ZGlzcGxheTpub25lO1xyXG5cdFx0ICB9XHJcblx0fVxyXG5cdCN0TGluayBhe3BhZGRpbmc6NXB4IDdweCA1cHggMzBweDtmb250LXNpemU6MC44NWVtO2ZvbnQtd2VpZ2h0OmJvbGQ7Ym9yZGVyLXJhZGl1czogMCAwIDNweCAzcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29sb3I6I2ZmZn1cclxuXHQjdExpbmsgLmV2e2JhY2tncm91bmQ6IzZmYTRkNiB1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL2ljby9pY29fd193b3JsZC5wbmcpIG5vLXJlcGVhdCA4cHggY2VudGVyO31cclxuXHQjdExpbmsgLmZ2e2JhY2tncm91bmQ6IzZkYmI2NyB1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL2ljby9pY29fd19wZXJzb24ucG5nKSBuby1yZXBlYXQgOHB4IGNlbnRlcjt9XHJcblx0I2dsb2JhbCB7ZmxvYXQ6cmlnaHQ7cG9zaXRpb246IGFic29sdXRlO3RvcDo0OHB4O3JpZ2h0OjA7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzMpIHtcclxuXHRcdFx0cmlnaHQ6MTJweDtcclxuXHRcdCAgfVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdFx0ZGlzcGxheTpub25lO1xyXG5cdFx0ICB9XHJcblx0fVxyXG5cdCNnbG9iYWwgYXtmb250LXNpemU6MC45NWVtO2NvbG9yOiM2NjZ9XHJcblx0I2dsb2JhbCBsaSB7Zm9udC13ZWlnaHQ6NjAwO2Zsb2F0OmxlZnQ7bWFyZ2luLWxlZnQ6MTBweDtwYWRkaW5nLWxlZnQ6MTBweDtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29tbW9uL2xpbmUuZ2lmKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XHJcblx0XHQmOmZpcnN0LWNoaWxke2JhY2tncm91bmQ6bm9uZX1cclxuXHRcdCYuY29yIGF7Y29sb3I6IzFhMjg1MX1cclxuXHR9XHJcblx0I2dsb2JhbCBsaS5lbmcge2JhY2tncm91bmQ6bm9uZTttYXJnaW4tbGVmdDozcHg7XHJcblx0XHRhe2Rpc3BsYXk6IGlubGluZS1ibG9jaztmb250LXdlaWdodDpub3JtYWw7Ym9yZGVyOjFweCBzb2xpZCAjOWE5Y2E1O2JvcmRlci1yYWRpdXM6IDE1cHg7cGFkZGluZzowIDIwcHggMCAxMHB4O2JhY2tncm91bmQ6I2YyZjRmNyB1cmwoJy9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb21tb24vYnVfZW5nLmdpZicpIG5vLXJlcGVhdCA5MCUgY2VudGVyfVxyXG5cdH1cclxufVxyXG4jZ25iV3JhcHtwYWRkaW5nLXJpZ2h0OjQ4cHg7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKSB7XHJcblx0ICAgXHRwYWRkaW5nLXJpZ2h0Ojk1cHg7XHJcblx0ICB9XHJcblx0ICBAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdCAgXHRmbG9hdDpyaWdodDt0b3A6MTBweDtcclxuXHQgIH1cclxufVxyXG4jZ25ie3BhZGRpbmc6MDtoZWlnaHQ6IDQ2cHg7bWFyZ2luLWJvdHRvbTogN3B4O31cclxuI2duYiBhe3RleHQtZGVjb3JhdGlvbjogbm9uZTtkaXNwbGF5OmJsb2NrO31cclxuI2duYj51bHtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0ZGlzcGxheTpub25lO1xyXG5cdH1cclxufVxyXG4jZ25iPnVsPmxpe2Zsb2F0OiBsZWZ0O3dpZHRoOjE1Ljk1JTtiYWNrZ3JvdW5kOiB1cmwoJy9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9iZ19nbmJMaW5lLmdpZicpIHJlcGVhdC15IGxlZnQgdG9wO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSkge1xyXG5cdFx0d2lkdGg6MjAlO1xyXG5cdH1cclxufVxyXG4jZ25iPnVsPmxpPmF7Y29sb3I6ICNmZmY7Zm9udC1zaXplOiAxNXB4O2ZvbnQtd2VpZ2h0OjYwMDtkaXNwbGF5OiBibG9jazt3aGl0ZS1zcGFjZTogbm93cmFwO2Rpc3BsYXk6IGJsb2NrO2xpbmUtaGVpZ2h0OiAxO3RleHQtYWxpZ246IGNlbnRlcjtsZXR0ZXItc3BhY2luZzogLTFweDt9XHJcbiNnbmI+dWw+bGkub24+YTphZnRlciwgI2duYj51bD5saS5ob3Zlcj5hOmFmdGVye2NvbnRlbnQ6ICcnO2Rpc3BsYXk6IGJsb2NrO3Bvc2l0aW9uOiBhYnNvbHV0ZTsgYmFja2dyb3VuZDogdXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb21tb24vYnVfZ25iT24ucG5nKSAwIDAgbm8tcmVwZWF0OyB3aWR0aDogN3B4O2hlaWdodDogNHB4OyBsZWZ0OiA0OCU7IHRvcDogNDNweDsgei1pbmRleDoyMH1cclxuI2duYj51bD5saT5hPnNwYW57cGFkZGluZzogMTZweCAxJTtkaXNwbGF5OmJsb2NrO31cclxuI2duYj51bD5saS5ob3Zlcj5he2NvbG9yOiMxYTI4NTF9XHJcbiNnbmI+dWw+bGkuaG92ZXI+YT5zcGFue2JhY2tncm91bmQ6IHVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29tbW9uL2J1X2duYk9uLnBuZykgY2VudGVyIGJvdHRvbSBuby1yZXBlYXQ7Y29sb3I6IzFhMjg1MX1cclxuLy8gI2duYj51bD5saS5vbj5hLCAjZ25iPnVsPmxpLmhvdmVyPmF7Ym9yZGVyLXRvcDo1cHggc29saWQgIzFhMjg1MTtwYWRkaW5nLXRvcDoxMXB4O31cclxuI2duYj51bD5saT5kaXZ7cG9zaXRpb246IGFic29sdXRlO2xlZnQ6IDA7dG9wOjE0MHB4O3BhZGRpbmctdG9wOiAwO2Rpc3BsYXk6IG5vbmU7Ym9yZGVyOjFweCBzb2xpZCAjM2Y0NzZlO2JvcmRlci10b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6MTAyMH1cclxuI2duYj51bD5saS5ob3Zlcj5kaXYuZ25iQXJlYXtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQ6I2ZmZjtkaXNwbGF5OnRhYmxlO31cclxuI2duYj51bD5saS5ob3Zlcj5kaXYuZ25iQXJlYTphZnRlcntjb250ZW50OiBcIlwiO2Rpc3BsYXk6IGJsb2NrO3Bvc2l0aW9uOnN0YXRpY31cclxuI2duYj51bD5saS5ob3Zlcj5kaXYuZ25iQXJlYT5kaXYuZ25idGl0e3dpZHRoOjE1JTtkaXNwbGF5OnRhYmxlLWNlbGw7YmFja2dyb3VuZDojMWEyODUxIHVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29tbW9uL2JnX2duYjEuZ2lmKSByaWdodCBib3R0b20gbm8tcmVwZWF0O3Bvc2l0aW9uOiByZWxhdGl2ZTt9XHJcbiNnbmI+dWw+bGkuaG92ZXI+ZGl2LmduYkFyZWE+ZGl2LmduYnRpdD5zcGFue2Rpc3BsYXk6YmxvY2s7Y29sb3I6I2ZmZjtmb250LXNpemU6Mi41ZW07dmVydGljYWwtYWxpZ246IHRvcDtwYWRkaW5nLXRvcDoyLjJlbTt0ZXh0LWFsaWduOiBjZW50ZXI7bGV0dGVyLXNwYWNpbmc6LTFweDtsaW5lLWhlaWdodDoxMjklO3Bvc2l0aW9uOiByZWxhdGl2ZTt6LWluZGV4OjEwfVxyXG4jZ25iPnVsPmxpLmhvdmVyPmRpdi5nbmJBcmVhPmRpdi5nbmJ0aXQ+c3Bhbi5wdHlwZXtwYWRkaW5nLXRvcDoxMHB4fVxyXG5AbWVkaWEgKG1heC13aWR0aDogMTUwMHB4KSB7XHJcblx0I2duYj51bD5saS5ob3Zlcj5kaXYuZ25iQXJlYT5kaXYuZ25idGl0PnNwYW57ZGlzcGxheTpub25lO31cclxuXHR9XHJcbi8vICNnbmI+dWw+bGkjZ25iMi5ob3Zlcj5kaXYuZ25iQXJlYT5kaXYuZ25idGl0PnNwYW57cGFkZGluZy10b3A6MGVtO31cclxuI2duYj51bD5saS5ob3Zlcj5kaXYuZ25iQXJlYT5kaXYuZ25idGl0Pi5idG5NYWlue3RleHQtYWxpZ246bGVmdDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MjBweDtsZWZ0OjEwcHg7cmlnaHQ6NXB4O3otaW5kZXg6NTt9XHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxNTAwcHgpIHtcclxuXHQjZ25iPnVsPmxpLmhvdmVyPmRpdi5nbmJBcmVhPmRpdi5nbmJ0aXQ+LmJ0bk1haW57ZGlzcGxheTpub25lO31cclxuXHR9XHJcbiNnbmI+dWw+bGkuaG92ZXI+ZGl2LmduYkFyZWE+ZGl2LmduYnRpdDphZnRlcntjb250ZW50OiBcIlwiO2Rpc3BsYXk6IGJsb2NrO2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb21tb24vYmdfZ25iMi5wbmcpIHJpZ2h0IDAgbm8tcmVwZWF0O2hlaWdodDoxMDVweDt3aWR0aDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO31cclxuI2duYj51bD5saT5kaXYuZ25iQXJlYT51bHtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDo4NSU7ZGlzcGxheTp0YWJsZS1jZWxsO2JhY2tncm91bmQ6I2ZmZjt2ZXJ0aWNhbC1hbGlnbjp0b3A7fVxyXG4jZ25iPnVsPmxpPmRpdi5nbmJBcmVhPnVsPmxpe2Rpc3BsYXk6dGFibGU7dmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjEwMCU7Ym9yZGVyLXRvcDoxcHggc29saWQgI2NjYzt9XHJcbiNnbmI+dWw+bGk+ZGl2LmduYkFyZWE+dWw+bGk+YXtkaXNwbGF5OnRhYmxlLWNlbGw7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiM3ODdkOWE7d2lkdGg6MTkycHg7cGFkZGluZzoxMnB4IDA7dGV4dC1hbGlnbjogY2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkfVxyXG4jZ25iPnVsPmxpPmRpdi5nbmJBcmVhPnVsPmxpPmEubm9TdWJ7ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudH1cclxuLy8gI2duYj51bD5saT5kaXY+dWw+bGk6YmVmb3Jle2NvbnRlbnQ6XCItIFwiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO31cclxuI2duYj51bD5saT5kaXYuZ25iQXJlYT51bD5saT51bHtkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246dG9wO3BhZGRpbmc6OHB4IDAgNnB4IDA7fVxyXG4jZ25iPnVsPmxpPmRpdi5nbmJBcmVhPnVsPmxpPnVsPmxpe2Zsb2F0OmxlZnQ7dmVydGljYWwtYWxpZ246dG9wO3BhZGRpbmctdG9wOjRweDt9XHJcbiNnbmI+dWw+bGk+ZGl2LmduYkFyZWE+dWw+bGk+dWw+bGk+YXtjb2xvcjogIzc1NzU3NTtwYWRkaW5nOjAgMjBweDtiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL2J1MS5naWYpIDEwcHggY2VudGVyIG5vLXJlcGVhdDsgZGlzcGxheTogYmxvY2t9XHJcbiNnbmI+dWw+bGk+ZGl2LmduYkFyZWE+dWw+bGk+dWw+bGk+YTpob3ZlciwjZ25iPnVsPmxpPmRpdj51bD5saT51bD5saT5hOmZvY3VzLCNnbmI+dWw+bGk+ZGl2PnVsPmxpPnVsPmxpPmE6YWN0aXZle2NvbG9yOiMzMzM7Zm9udC13ZWlnaHQ6IGJvbGR9XHJcbiNnbmI+dWw+bGk+ZGl2LmduYkFyZWE+dWwudmlld3tkaXNwbGF5OmJsb2NrO292ZXJmbG93OnZpc2libGU7fVxyXG4jZ25iLnZpZXdBbGw+dWw+bGk+ZGl2e2Rpc3BsYXk6IGJsb2NrO31cclxuI2duYiAudG90YWxTY2h7cG9zaXRpb246IGFic29sdXRlO3JpZ2h0OiAzNXB4O3RvcDogMjZweDtmb250LXdlaWdodDogNjAwO3BhZGRpbmctcmlnaHQ6IDA7aGVpZ2h0OjI2cHg7fVxyXG4jZ25iIC50b3RhbFNjaD5he2Rpc3BsYXk6YmxvY2s7fVxyXG4jZ25iIC50b3RhbFNjaD5hLnRvdGFsU2NoX29wZW57YmFja2dyb3VuZDogdXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb21tb24vYnRuX3RvdGFsc2NoLnBuZykgY2VudGVyIDVweCBuby1yZXBlYXQ7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDt9XHJcbiNnbmIgLnRvdGFsU2NoLm9ue2Rpc3BsYXk6bm9uZTt9XHJcbiNnbmIgLnRvdGFsU2NoX2Nsb3Nle2JhY2tncm91bmQ6IzMzMyB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbW1vbi9idG5fc2NoY2xvc2UuZ2lmKSBjZW50ZXIgMCBuby1yZXBlYXQ7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtkaXNwbGF5Om5vbmU7fVxyXG4jZ25iIC50b3RhbFNjaF9jbG9zZTpob3ZlciwjZ25iIC50b3RhbFNjaF9jbG9zZTpmb2N1c3tiYWNrZ3JvdW5kOiMzMzMgdXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb21tb24vYnRuX3NjaGNsb3NlLmdpZikgY2VudGVyIDAgbm8tcmVwZWF0Ozt9XHJcbiNnbmIgLnRvdGFsU2NoX2FyZWF7cG9zaXRpb246IGFic29sdXRlO2JhY2tncm91bmQ6IzMzMztwYWRkaW5nOjE1cHg7d2lkdGg6MzAwcHg7cmlnaHQ6MzVweDt0b3A6NjNweDtkaXNwbGF5Om5vbmU7fVxyXG4jZ25iIC50b3RhbFNjaF9hcmVhIC5pbnB7Ym9yZGVyOjA7cGFkZGluZzowIDEwcHg7aGVpZ2h0OjMxcHg7d2lkdGg6MjMwcHg7fVxyXG4jZ25iIC50b3RhbFNjaF9hcmVhIC50b3RhbFNjaF9ib3h7YmFja2dyb3VuZDojZmZmO2Rpc3BsYXk6YmxvY2s7Ym9yZGVyLXJhZGl1czogM3B4O3BhZGRpbmc6NHB4O31cclxuI2duYiAubmF2Q2xvc2V7ZGlzcGxheTpub25lO3Bvc2l0aW9uOiBhYnNvbHV0ZTtyaWdodDogMDt0b3A6IDM1cHg7Zm9udC13ZWlnaHQ6IDYwMDtiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbW1vbi9uYXZPcGVuLnBuZykgcmlnaHQgMCBuby1yZXBlYXQ7cGFkZGluZy1yaWdodDogMzZweDtjb2xvcjogIzkzZGJmZjtoZWlnaHQ6IDI2cHg7Zm9udC1zaXplOiAxNnB4O31cclxuXHJcbi50c2h7ZmxvYXQ6cmlnaHQ7d2lkdGg6MjAuMSU7bWluLXdpZHRoOjQ4cHg7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjQ3cHg7YmFja2dyb3VuZDojMWEyOTUyO2ZvbnQtc2l6ZTowLjk1ZW07ei1pbmRleDo5OTk7XHJcblx0XHJcblx0IEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSkge1xyXG5cdCBcdGRpc3BsYXk6bm9uZTtcclxuIFx0fVxyXG4vLyBAaW5jbHVkZSBicmVha3BvaW50KCRsZzIpIHtcclxuLy8gXHQgXHR3aWR0aDoyMiU7XHJcbi8vICBcdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpIHtcclxuXHQgXHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHQgXHRyaWdodDowO1xyXG5cdCBcdHdpZHRoOjIxMHB4O1xyXG5cdCBcdHotaW5kZXg6MTAwO1xyXG4gXHR9XHJcblx0XHJcblx0XHJcblx0PmZvcm0+c3BhbntkaXNwbGF5OmJsb2NrO21hcmdpbi1yaWdodDowO2JvcmRlci1yYWRpdXM6IDVweDtiYWNrZ3JvdW5kOiNmZmY7cGFkZGluZzozcHggNTBweCAzcHggOHB4O21hcmdpbjo2cHggN3B4IDAgN3B4O1xyXG5cdFx0LmFjQXJyb3d7ZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjExcHg7cmlnaHQ6MzVweDt9XHJcblx0fVxyXG5cdC5pbnB7Ym9yZGVyOiNlZmVmZWY7aGVpZ2h0OjI4cHg7bGluZS1oZWlnaHQ6MjhweDtiYWNrZ3JvdW5kOiNmZmY7d2lkdGg6MTAwJX1cclxuXHQuYnRuX2duYlNjaHtwb3NpdGlvbjogYWJzb2x1dGU7cmlnaHQ6MTJweDt0b3A6MTBweH1cclxufVxyXG4vLyAuQWxsbWVudUJ0bntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjNWY2OTg2O31cclxuLnNjaEJ0bntkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9XHJcbi5zY2hCdG4ub257cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6LTQ3cHg7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XHJcblx0IEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSkge1xyXG5cdFx0IFx0ZGlzcGxheTpibG9jayAhaW1wb3J0YW50O1xyXG5cdCBcdH1cclxufVxyXG4uc2NoQ2xvc2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6NDhweDtkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcclxuXHQgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKSB7XHJcblx0XHQgXHRkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcclxuXHQgXHR9XHJcbn1cclxuLnNjaENsb3NlLm9ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0Oi00N3B4O2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xyXG5cdCBAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpIHtcclxuXHRcdCBcdGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtcclxuXHQgXHR9XHJcbn1cclxuI2NvbnRhaW5lcntoZWlnaHQ6YXV0bzt3aWR0aDoxMDAlO21heC13aWR0aDoxMjYwcHg7cGFkZGluZy10b3A6MDttYXJnaW46MCBhdXRvO3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6NTBweDtcclxuXHRpbWd7dmVydGljYWwtYWxpZ246bWlkZGxlfVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHQgXHRtYXJnaW4tdG9wOjA7XHJcblx0IFx0fVxyXG59XHJcblxyXG4uaGdyb3Vwe2NsZWFyOmJvdGg7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTogbm9uZTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHRoMntwYWRkaW5nOjMuMyUgMCAzLjI1JSAwO2ZvbnQtc2l6ZToyLjVlbTtmb250LXdlaWdodDo0MDA7bGV0dGVyLXNwYWNpbmc6LTFweDtjb2xvcjojNDc0YTViO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdFx0Zm9udC1zaXplOjJlbTtjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHR9XHJcblx0XHQ+c3BhbntcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9jb21tb24vYnVfc2VsZWN0TS5wbmcpIHJpZ2h0IGJvdHRvbSBuby1yZXBlYXQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy1yaWdodDozNXB4O31cclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0LmxuYjFkZXB0IHtkaXNwbGF5OiBub25lO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdFx0Ji5vbntkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQ6I2ZmZjtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo5OCU7ei1pbmRleDoxMDE7Ym9yZGVyLXRvcDowO2xlZnQ6MSU7XHJcblx0XHRcdH1cclxuXHRcdFx0bGl7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YwODdiMTtjb2xvcjojZmZmO2Rpc3BsYXk6IGJsb2NrO3BhZGRpbmc6M3B4O2JhY2tncm91bmQ6I2YwNTI5MSB1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL2J1MS5naWYpIDEwcHggY2VudGVyIG5vLXJlcGVhdDtcclxuXHRcdFx0XHRhe2NvbG9yOiNmZmY7dGV4dC1hbGlnbjpsZWZ0O2Rpc3BsYXk6YmxvY2s7cGFkZGluZzozcHggM3B4IDNweCAxNXB4O31cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuI2xuYldyYXB7bWluLXdpZHRoOjE4MHB4O21heC13aWR0aDoyODBweDt3aWR0aDoyMiU7bWFyZ2luLXJpZ2h0OjElO2Zsb2F0OmxlZnQ7XHJcblx0IEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMikge1xyXG5cdCBcdHdpZHRoOjE5JTtcclxuXHQgfVxyXG5cdCAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKSB7XHJcblx0IFx0ZGlzcGxheTpub25lO1xyXG5cdCB9XHJcbn1cclxuI2xuYiwgLmxuYntiYWNrZ3JvdW5kOiNmZmZ9XHJcbiNsbmIgaDMsIC5sbmIgaDN7YmFja2dyb3VuZDojNDc0YTViIHVybCgvc3RhdGljL2ltYWdlcy9jb21tb24vYmdfbG5iVGl0LnBuZykgMzVweCBib3R0b20gbm8tcmVwZWF0O3BhZGRpbmc6MjVweCAzMHB4O2ZvbnQtc2l6ZToyLjFlbTtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzotMXB4O2xpbmUtaGVpZ2h0OjEuMjtcclxuXHQvLyAmOmFmdGVye2NvbnRlbnQ6XCJcIjtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMHB4O2hlaWdodDoxMHB4O31cclxufVxyXG4ubG5iLnR5cGV7bWFyZ2luLXRvcDoxMHB4O1xyXG5cdCY6Zmlyc3QtY2hpbGR7bWFyZ2luOjA7fVxyXG59XHJcbi5sbmIudHlwZSBoM3tmb250LXNpemU6MS4wZW07cGFkZGluZzoxNnB4O2ZvbnQtd2VpZ2h0OmJvbGQ7fVxyXG4ubG5iLnR5cGUgaDMgc3BhbntiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvaWNvL2ljb193X3NjaDIucG5nKSBsZWZ0IGNlbnRlciBuby1yZXBlYXQ7cGFkZGluZy1sZWZ0OjIwcHh9XHJcbiNsbmI+dWwsIC5sbmI+dWx7cGFkZGluZzo4JSA4JSAxMiUgOCU7XHJcblx0XHQ+bGl7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U2ZTdlYjtcclxuXHRcdFx0PmF7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxMzklO2ZvbnQtc2l6ZToxLjA1ZW07YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL2J1X2xuYjFfb2ZmLmdpZikgNXB4IDEycHggbm8tcmVwZWF0O3BhZGRpbmc6NXB4IDAgNXB4IDE4cHg7fVxyXG5cdFx0XHQ+dWx7cGFkZGluZzowIDAgNXB4IDA7bWFyZ2luLWxlZnQ6MTVweDtcclxuXHRcdFx0XHQ+bGl7cGFkZGluZzoycHggMDtcclxuXHRcdFx0XHRcdD5he2NvbG9yOiM3Nzc7Zm9udC1zaXplOjAuOTVlbTtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9jb21tb24vYnVfbG5iMi5naWYpIGxlZnQgOXB4IG5vLXJlcGVhdDtwYWRkaW5nLWxlZnQ6MTJweDt9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHQ+bGkub24+YXtmb250LXdlaWdodDpib2xkO2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9idV9sbmIxX29uLnBuZykgbGVmdCAxMnB4IG5vLXJlcGVhdDt9XHJcblx0XHQ+bGkub24+dWw+bGkub24+YXtjb2xvcjojZjA1MjkxO2ZvbnQtd2VpZ2h0OmJvbGQ7fVxyXG5cdFx0fVxyXG5cdFx0XHJcbiNsbmJJbmZve3BhZGRpbmc6MTJweDtiYWNrZ3JvdW5kOiNmZmY7bWFyZ2luLXRvcDoxMHB4O2hlaWdodDoyMjBweH1cclxuI2xuYkluZm8gaDN7Zm9udC1zaXplOjFlbTttYXJnaW4tYm90dG9tOjEycHg7bWFyZ2luLXRvcDoxMHB4O31cclxuI2xuYkluZm8+dWx7cG9zaXRpb246cmVsYXRpdmU7fVxyXG4jbG5iSW5mbz51bCA+IGxpe2Zsb2F0OmxlZnQ7bWFyZ2luLWxlZnQ6MXB4O21hcmdpbjoycHggMCAxLjUlIDA7d2lkdGg6MzMuMzMlfVxyXG4jbG5iSW5mbz51bCA+IGxpID4gYXtAaW5jbHVkZSBlbGw7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojNjY2O2xldHRlci1zcGFjaW5nOi0xcHg7cGFkZGluZzo1cHggMDtiYWNrZ3JvdW5kOiNmNWY2ZmE7Ym9yZGVyOjFweCBzb2xpZCAjYjJiNGJmO21hcmdpbi1sZWZ0Oi0xcHg7Zm9udC1zaXplOjAuOWVtO2NvbG9yOiM3ODdkOWF9XHJcbi8vICNsbmJJbmZvIHVsID4gbGk6Zmlyc3QtY2hpbGQgPiBhe2JhY2tncm91bmQ6bm9uZTt9XHJcbiNsbmJJbmZvPiB1bCA+IGxpID4gYS5vbntjb2xvcjojZjA1MjkxO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNmZmY7cGFkZGluZzozcHggMCA3cHggMDtmb250LXdlaWdodDo2MDA7fVxyXG4ubG5iSW5mb19hcmVhe3Bvc2l0aW9uOmFic29sdXRlO3RvcDozMnB4O2xlZnQ6MDt3aWR0aDoxMDAlO3BhZGRpbmc6MTNweCAwIDA7ZGlzcGxheTpub25lO31cclxuLmxuYkluZm9fYXJlYT51bD5saXttYXJnaW46Mi44JSAwO2Zsb2F0Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO31cclxuLmxuYkluZm9fYXJlYT51bD5saT5he2ZvbnQtc2l6ZTowLjllbTt0ZXh0LWFsaWduOmxlZnQ7bGluZS1oZWlnaHQ6MTI5JTtjb2xvcjojNjY2O2JhY2tncm91bmQ6bm9uZTsgQGluY2x1ZGUgZWxsO31cclxuLmxuYkluZm9fYXJlYSAubnVtdHtwYWRkaW5nOjFweDt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxM3B4O2hlaWdodDoxM3B4O2ZvbnQtZmFtaWx5OnZlcmRhbmE7Zm9udC1zaXplOjAuOGVtO2NvbG9yOiNmZmY7ZGlzcGxheTppbmxpbmUtYmxvY2s7bGluZS1oZWlnaHQ6MS4xO21hcmdpbi1yaWdodDo4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2JvcmRlci1yYWRpdXM6IDFweDt9XHJcbi5sbmJJbmZvX2FyZWEge1xyXG5cdC5udW1UeXBlMSwgLm51bVR5cGUyLCAubnVtVHlwZTN7YmFja2dyb3VuZDojZjA1MjkxO31cclxuXHQubnVtVHlwZTQsIC5udW1UeXBlNSwgLm51bVR5cGU2e2JhY2tncm91bmQ6IzQ3NGE1Yjt9XHJcblx0fVxyXG4ubG5iU2VydmljZXt3aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOiNmZmY7bWFyZ2luOjEwcHggMDtcclxuXHRcdGxpe2Zsb2F0OmxlZnQ7d2lkdGg6NTAlO21hcmdpbjoyMnB4IDA7XHJcblx0XHRcdCY6Zmlyc3QtY2hpbGR7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZGRkO31cclxuXHRcdFx0YXtkaXNwbGF5OmJsb2NrO2NvbG9yOiNmMDUyOTE7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MC45NWVtO1xyXG5cdFx0XHRcdHNwYW57ZGlzcGxheTpibG9jaztwYWRkaW5nLXRvcDo1cHh9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdFxyXG5cdH1cclxuXHJcbiNjb250ZW50c3tmbG9hdDpsZWZ0O3dpZHRoOjc3JTsgcG9zaXRpb246cmVsYXRpdmU7XHJcblx0IEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMikge1xyXG5cdCBcdHdpZHRoOjc5JTtcclxuXHQgfVxyXG5cdCAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSkge1xyXG5cdCBcdHdpZHRoOjEwMCU7XHJcblx0IH1cclxuXHQgPi53Ym94OmZpcnN0LWNoaWxke21hcmdpbi10b3A6MDttaW4taGVpZ2h0OjcwMHB4O1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdCBcdG1pbi1oZWlnaHQ6aW5oZXJpdDtcclxuXHRcdCB9XHJcblx0IH1cclxuXHQmLmNvbnRlbnRzX2FsbHt3aWR0aDoxMDAlICFpbXBvcnRhbnQ7fVxyXG59XHJcbi53Ym94e3BhZGRpbmc6MWVtIDMwcHg7YmFja2dyb3VuZDojZmZmO21hcmdpbi10b3A6MTBweDtAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpIHtcclxuXHQgXHRtYXJnaW46MSU7cGFkZGluZzoxZW0gMC41ZW07XHJcblx0IH1cclxufVxyXG4uY29uUHtcclxuXHQudGl0MXtcclxuXHRcdCY6Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowO31cclxuXHR9XHJcbn1cclxuXHJcbi8vbG9jYXRpb25cclxuLmxvY2F0aW9ue2NsZWFyOiBib3RoO2Rpc3BsYXk6YmxvY2s7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzQ3NGE1YjttYXJnaW4tYm90dG9tOjMlO3BhZGRpbmctYm90dG9tOjElO1xyXG5cdCY6YmVmb3JlLCY6YWZ0ZXJ7IGNvbnRlbnQ6IFwiLlwiOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAwOyBjbGVhcjogYm90aDsgdmlzaWJpbGl0eTogaGlkZGVuIH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdCBcdG1hcmdpbjowIDAgMWVtIDA7XHJcblx0IH1cclxuXHQ+ZGl2LmxvY0x7ZmxvYXQ6bGVmdDtjb2xvcjojNjY2O2ZvbnQtc2l6ZTowLjkwZW07XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdCBcdFx0ZGlzcGxheTpub25lO21hcmdpbjowIDElO1xyXG5cdCBcdH1cclxuXHQgXHQ+c3BhbntkaXNwbGF5OmlubGluZS1ibG9jaztsZXR0ZXItc3BhY2luZzotMXB4O1xyXG5cdCBcdFx0JjpmaXJzdC1jaGlsZHtiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL2J1X2hvbWUuZ2lmKSBsZWZ0IDQ4JSBuby1yZXBlYXQ7cGFkZGluZy1sZWZ0OjE4cHg7bGV0dGVyLXNwYWNpbmc6MDt9XHJcblx0IFx0XHQmLmluZ3tjb2xvcjojMzMzfVxyXG5cdCBcdH1cclxuXHQgfVxyXG5cdCYudHlwZXtmb250LXNpemU6MS4xNWVtO2ZvbnQtd2VpZ2h0OmJvbGQ7fVxyXG59XHJcbi5zbnNTZXJ2aWNle2Zsb2F0OnJpZ2h0O1xyXG5cdGE6Zmlyc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OjB9XHJcblx0aW1ne3ZlcnRpY2FsLWFsaWduOnRvcCAhaW1wb3J0YW50O31cclxuXHRhLCBzcGFue2Zsb2F0OmxlZnQ7bWFyZ2luLXJpZ2h0OjJweDt9XHJcblx0LnNuc19nb29kTnttYXJnaW4tcmlnaHQ6OHB4O2JhY2tncm91bmQ6IHVybCgvc3RhdGljL2ltYWdlcy9jb21tb24vc25zX2dvb2ROLmdpZikgcmlnaHQgdG9wIG5vLXJlcGVhdDtwYWRkaW5nOjAgNHB4O2NvbG9yOiNmZmY7Zm9udC1zaXplOjAuODVlbTtoZWlnaHQ6MjBweH1cclxuXHQucHJpbnQge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKSB7XHJcblx0IFx0XHRkaXNwbGF5Om5vbmU7XHJcblx0IFx0fVxyXG5cdFx0YXttYXJnaW4tbGVmdDo3cHh9XHJcblx0fVxyXG59XHJcblxyXG4ucU1lbnV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6LTY3cHg7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGczKXtcclxuXHRcdFx0XHRcdGRpc3BsYXk6bm9uZTtcclxuXHRcdFx0XHR9XHJcblx0YXtkaXNwbGF5OmJsb2NrO2NvbG9yOiNmZmY7Zm9udC1zaXplOjAuOTVlbTtmb250LXdlaWdodDpib2xkO3dpZHRoOjY2cHg7aGVpZ2h0OjgwcHg7dGV4dC1hbGlnbjpjZW50ZXI7bGluZS1oZWlnaHQ6MS4yO3BhZGRpbmc6MzdweCA0cHggMCA0cHg7YmFja2dyb3VuZDojNDc0YTViIHVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvbWFpbi9idV9xbWVudS5wbmcpIG5vLXJlcGVhdCAgY2VudGVyIDlweDt9XHJcbn1cclxuXHJcblxyXG5cclxuI2Zvb3RlcntiYWNrZ3JvdW5kOiNmZmY7bWFyZ2luLXRvcDozMHB4O2JvcmRlci10b3A6MXB4IHNvbGlkICNkZWUzZWJ9IFxyXG4jZm9vdGVyIGF7Zm9udC1zaXplOjAuOWVtO2xldHRlci1zcGFjaW5nOi0xcHg7fVxyXG4vLyAjZm9vdGVyIGEgc3Ryb25ne2NvbG9yOiMwMDg3ZTB9XHJcbiNmb290ZXIgLmZvb3R7cGFkZGluZzowIDAgMTBweCAwO3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnNCl7XHJcblx0XHRwYWRkaW5nOjAgMTBweCAxMHB4IDEwcHhcclxuXHR9XHJcbn1cclxuI2Zvb3RlciAuZm9vdGVyX2JnIHsgbWFyZ2luOjAgYXV0bzsgbWF4LXdpZHRoOjEyNjBweH1cclxuLmZfbG9nb3tmbG9hdDpsZWZ0O3BhZGRpbmc6MTBweCAyNnB4IDAgMDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzQpe1xyXG5cdFx0ZGlzcGxheTpub25lXHJcblx0XHR9XHJcblx0Ji50eXBlMXtwYWRkaW5nLXRvcDoyMHB4fVxyXG5cdGltZ3t3aWR0aDoyNDBweH1cclxufVxyXG5cclxuLmZfYWRke2Zsb2F0OmxlZnQ7cGFkZGluZy10b3A6MjNweDtjb2xvcjojNDc0YTViO2ZvbnQtc2l6ZTowLjk1ZW07bGluZS1oZWlnaHQ6MS40O1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSl7XHJcblx0XHRmbG9hdDpub25lO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6NTVweCAwIDEwcHggMDtcclxuXHRcdH1cclxuXHRhZGRyZXNze21hcmdpbi1ib3R0b206MXB4fVxyXG5cdHNwYW57XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuYWRkQntmb250LXdlaWdodDogYm9sZDtjb2xvcjokY29yX3Bpbms7ZGlzcGxheTppbmxpbmUtYmxvY2sgIWltcG9ydGFudDt9XHJcblx0LnRlbGJveFd7XHJcblx0XHQudGVsYm94e21hcmdpbi10b3A6NXB4O2Zsb2F0OmxlZnQ7XHJcblx0XHRcdHNwYW57YmFja2dyb3VuZDojNzg3ZDlhO2xpbmUtaGVpZ2h0OjEuNDsgcGFkZGluZzozcHggMTBweDtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6IDJweCAwIDAgMnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOnRvcDt9XHJcblx0XHRcdC5hcnJ7IGJhY2tncm91bmQ6IzQ3NGE1YiB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbW1vbi90ZWxfYXJyLnBuZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czogMCAycHggMnB4IDA7d2lkdGg6MTBweDtoZWlnaHQ6MjJweDt9XHJcblx0XHR9XHJcblx0XHRwe2Zsb2F0OmxlZnQ7bWFyZ2luOjVweCAwIDAgNXB4O2ZvbnQtd2VpZ2h0OmJvbGQ7fVxyXG5cdH1cclxufVxyXG4uZmFtaWx5IHtmbG9hdDpyaWdodDtwYWRkaW5nOiAyNXB4IDI4NXB4IDAgMDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0ZGlzcGxheTpibG9jaztcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKXtcclxuXHRcdGZsb2F0Om5vbmU7cGFkZGluZzowO3RleHQtYWxpZ246Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo4cHg7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTEzMHB4O1xyXG5cdFx0fVxyXG5cdC5mYW1pbHlTZWwgIHtjdXJzb3I6cG9pbnRlcjtib3JkZXI6MDsgYmFja2dyb3VuZDojZjhmOGY4IHVybCgvc3RhdGljL2ltYWdlcy9jb21tb24vYnVfc2VsZWN0LmdpZikgOTUlIG5vLXJlcGVhdDsgd2lkdGg6MjA1cHg7IG92ZXJmbG93OmhpZGRlbjsgZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyOjFweCBzb2xpZCAjNDc0YTViO2Zsb2F0OmxlZnQ7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0XHRmbG9hdDpub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuZmFtaWx5U2VsIHNlbGVjdCB7aGVpZ2h0OjMycHg7IGJvcmRlcjpub25lOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgd2lkdGg6MTE1JTsgbWluLXdpZHRoOjkwcHg7Zm9udC1zaXplOjEzcHg7cGFkZGluZy1sZWZ0OjhweDtsZXR0ZXItc3BhY2luZzotMXB4fVxyXG5cdC5pbnB1dF9pbWd7dmVydGljYWwtYWxpZ246dG9wO2Rpc3BsYXk6aW5saW5lfVxyXG59XHJcblxyXG4uZl9tZW51e3dpZHRoOiAxMDAlO21hcmdpbjowIGF1dG87b3ZlcmZsb3c6aGlkZGVuO2xpbmUtaGVpZ2h0OiAzNXB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlNWU1ZTU7IG1hcmdpbi10b3A6OHB4O1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSl7XHJcblx0XHRcdG1hcmdpbi10b3A6MDtcclxuXHRcdH1cclxuXHQgdWx7b3ZlcmZsb3c6aGlkZGVuO2Zsb2F0OmxlZnQ7bWFyZ2luLXRvcDoycHg7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0XHRmbG9hdDpub25lO21hcmdpbi10b3A6MDtcclxuXHRcdH1cclxuXHQgfVxyXG59XHJcbi5mX21lbnUgdWwgbGl7ZmxvYXQ6bGVmdDtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9jb21tb24vbGluZS5naWYpIG5vLXJlcGVhdCBsZWZ0IDUwJTtwYWRkaW5nOiAwIDlweDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0YmFja2dyb3VuZDpub25lO1xyXG5cdFx0Ym9yZGVyOjFweCBzb2xpZCAjZTVlNWU1O1xyXG5cdFx0Ym9yZGVyLXdpZHRoOjAgMXB4IDFweCAwO1xyXG5cdFx0d2lkdGg6MTYuNjYlO1x0XHJcblx0XHRwYWRkaW5nOjA7dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0XHRAaW5jbHVkZSBlbGw7XHJcblxyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcblx0XHR3aWR0aDozMy4zMyU7XHJcblx0fVxyXG5cdGF7Y29sb3I6IzQ3NGE1Yjtmb250LXNpemU6MS4wZW07ZGlzcGxheTpibG9jazt9XHJcbn1cclxuLmZfbWVudSAuZl9zbnN7ZmxvYXQ6cmlnaHQ7bWFyZ2luLWJvdHRvbTozcHg7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGc0KXtcclxuXHRcdG1hcmdpbi1yaWdodDoxMHB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0ZmxvYXQ6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjVweCAwO1xyXG5cdH1cclxuXHRpbWd7dmVydGljYWwtYWxpZ246bWlkZGxlO31cclxufVxyXG4uYWxyaW17cG9zaXRpb246cmVsYXRpdmU7dG9wOi0ycHh9XHJcbi5tYXJre3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNXB4O3JpZ2h0OjVweDtib3JkZXI6MDtwYWRkaW5nOjA7YmFja2dyb3VuZDpub25lO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSl7XHJcblx0XHRkaXNwbGF5Om5vbmVcclxuXHR9XHJcblx0Lm1hcmsxIGltZ3t3aWR0aDo3OHB4O3BhZGRpbmctbGVmdDo1cHg7fVxyXG5cdC5tYXJrMiBpbWd7d2lkdGg6NzhweDtwYWRkaW5nLWxlZnQ6NXB4O31cclxufVxyXG5cclxuLy8gLm1haW5WPmRpdntmbG9hdDpsZWZ0O21heC13aWR0aDoxMjYwcHh9XHJcblxyXG4gI3F1aWNre3Bvc2l0aW9uOmZpeGVkO3JpZ2h0Oi0zMjBweDt0b3A6MDtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOiM0NzRhNWI7Ym9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7ei1pbmRleDoxNjA7cGFkZGluZzowIDVweDt3aWR0aDozMjlweDtcclxuIFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKXtcclxuXHRcdGRpc3BsYXk6bm9uZVxyXG5cdH1cclxuIFx0Pi52aWV3LCA+LnZpZXdDbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MjAwcHg7bGVmdDotMTVweDtjb2xvcjojZmZmO3dpZHRoOjE1cHg7aGVpZ2h0OjE3MHB4O2JvcmRlci1yYWRpdXM6IDVweCAwIDAgNXB4O2Rpc3BsYXk6dGFibGUtY2VsbDtcclxuXHRcdC8vIGF7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtsaW5lLWhlaWdodDoxLjE7Y29sb3I6I2RiZGNlMDtmb250LXdlaWdodDo2MDA7ZGlzcGxheTp0YWJsZS1jZWxsO3dyaXRpbmctbW9kZTogdmVydGljYWwtbHI7IHRleHQtZGVjb3JhdGlvbjpub25lO31cclxuXHRcdGF7cG9zaXRpb246YWJzb2x1dGU7cGFkZGluZzozMHB4IDNweCA1cHggM3B4O3dpZHRoOjEwMCU7bGluZS1oZWlnaHQ6MS4xO2NvbG9yOiNkYmRjZTA7Zm9udC13ZWlnaHQ6NjAwO2Rpc3BsYXk6dGFibGUtY2VsbDt3cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyOyB0ZXh0LWRlY29yYXRpb246bm9uZTt9XHJcbiBcdH1cclxuIFx0Pi52aWV3eztiYWNrZ3JvdW5kOiM0NzRhNWIgdXJsKC9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9hcnJfcGlua19sZWZ0LnBuZykgbm8tcmVwZWF0IDhweCAxNXB4IDt9XHJcbiBcdD4udmlld0Nsb3Nle2Rpc3BsYXk6bm9uZTtiYWNrZ3JvdW5kOiM0NzRhNWIgdXJsKC9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9hcnJfcGlua19yaWdodC5wbmcpIG5vLXJlcGVhdCA4cHggMTVweCA7fVxyXG4gXHRoMntib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNmU3MDg0O3BhZGRpbmc6MC41ZW0gMDt0ZXh0LWFsaWduOmNlbnRlcjt9XHJcbiBcdGgze3RleHQtYWxpZ246Y2VudGVyO2NvbG9yOiNhZWNmZTE7cGFkZGluZzoxZW0gMDtmb250LXNpemU6MS4xZW19XHJcbiBcdC5xdWlja19hcmVhe3BhZGRpbmc6MCAxNXB4O292ZXJmbG93OmF1dG87aGVpZ2h0OjEwMCU7XHJcblx0XHQ+dWx7XHJcblx0XHRcdD5saXttYXJnaW4tYm90dG9tOjFweDtjb2xvcjojZmZmO2xpbmUtaGVpZ2h0OjEuNDtcclxuXHRcdFx0XHQmLm9ue2JhY2tncm91bmQ6I2ZmZjtcclxuXHRcdFx0XHRcdD5he2NvbG9yOiM0NzRhNWI7Zm9udC13ZWlnaHQ6Ym9sZDtiYWNrZ3JvdW5kOiNmZmYgdXJsKC9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9idV9xdWlja19vZmYxLnBuZykgbm8tcmVwZWF0IDE1cHggMTNweCA7Zm9udC1zaXplOjEuMDVlbTtsZXR0ZXItc3BhY2luZzogLTFweDtcclxuXHRcdFx0XHRcdFx0LmJ0bnt2ZXJ0aWNhbC1hbGlnbjp0b3A7Zm9udC13ZWlnaHQ6NjAwO21hcmdpbi1sZWZ0OjVweDtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjJweCA3cHg7bGluZS1oZWlnaHQ6MS4yO31cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdD51bHtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjAgMCAxMHB4IDIycHg7XHJcblx0XHRcdFx0XHRcdD5saXtiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL3F1aWNrX2xpbmUyLmdpZikgbm8tcmVwZWF0IGxlZnQgY2VudGVyIDtwYWRkaW5nOjFweCAxMHB4O1xyXG5cdFx0XHRcdFx0XHRcdCYubGFzdHtiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL3F1aWNrX2xpbmUzLmdpZikgbm8tcmVwZWF0IGxlZnQgdG9wfVxyXG5cdFx0XHRcdFx0XHRcdD5he2NvbG9yOiM0NzRhNWI7Zm9udC1zaXplOjAuOTVlbTtcclxuXHRcdFx0XHRcdFx0XHRcdCY6aG92ZXJ7Y29sb3I6I2YwNTI5MTtmb250LXdlaWdodDo2MDA7fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQ+YXtjb2xvcjojZmZmO2JhY2tncm91bmQ6IzVhNWM2YyB1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL2J1X3F1aWNrX29uLnBuZykgbm8tcmVwZWF0ICAxNXB4IDEzcHg7cGFkZGluZzoxMHB4IDEwcHggMTBweCAzNXB4O2Rpc3BsYXk6YmxvY2s7XHJcblx0XHRcdFx0XHQuYnRue2Rpc3BsYXk6bm9uZX1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0PnVse2Rpc3BsYXk6bm9uZTtcclxuXHRcdFx0XHRcdD5saXt9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdGF7Y29sb3I6I2ZmZjtmb250LXNpemU6MC45NWVtO31cclxuIH1cclxuXHJcblxyXG4gLy/rqZTribQg7KCE7LK067O06riwXHJcbi5xTWVudUJ0bld7b3ZlcmZsb3c6aGlkZGVuO1xyXG5cdC5xTWVudU1vYmlsZXtmbG9hdDogcmlnaHQ7bWFyZ2luOjAgNXB4IDVweCAwO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdFx0bWFyZ2luOjAgMjVweCAwIDA7XHJcblx0XHR9XHJcblx0XHRhe2ZvbnQtd2VpZ2h0OiBib2xkO2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9idV9hcnIxLnBuZykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtwYWRkaW5nLXJpZ2h0OjE2cHg7Y29sb3I6JGNvcl9waW5rICFpbXBvcnRhbnR9XHJcblx0fVxyXG5cdC5xTWVudUJ0bntmbG9hdDpsZWZ0O2Rpc3BsYXk6IG5vbmU7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHRcdGF7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kOiM0MzhkZTA7cGFkZGluZzoxcHggOHB4O2Rpc3BsYXk6IGlubGluZS1ibG9jaztmb250LXdlaWdodDogNjAwfVxyXG5cdH1cclxufVxyXG4jQWxsbWVudXtwb3NpdGlvbjogYWJzb2x1dGU7dG9wOjgwcHg7ei1pbmRleDoxMDIwO3dpZHRoOjEwMCU7ZGlzcGxheTpibG9jaztkaXNwbGF5Om5vbmU7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdFx0dG9wOjUwcHg7XHJcblx0XHR9XHJcblx0Pi5BbGxtZW51X2JveHsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiBmaXhlZDt3aWR0aDoxMDAlO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdFx0cG9zaXRpb246Zml4ZWQ7IHdpZHRoOjk1JTtyaWdodDowO1xyXG5cdFx0fVxyXG5cdFx0PmRpdi5BbGxtd3twYWRkaW5nOjElIDIlO21heC13aWR0aDoxMzYwcHg7d2lkdGg6OTglO21hcmdpbjowIGF1dG87YmFja2dyb3VuZDojZmZmO3Bvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0XHRcdHdpZHRoOjEwMCU7cGFkZGluZzowO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6YmVmb3JlLCAmOmFmdGVyIHsgY29udGVudDogXCIuXCI7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDA7IGNsZWFyOiBib3RoOyB2aXNpYmlsaXR5OiBoaWRkZW4gfVxyXG5cdFx0XHQuYnRuX3BvcENsb3Nle2NsZWFyOmJvdGg7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZy10b3A6MTBweDt9XHJcblx0XHRcdC5wb3BTY2hXe3RleHQtYWxpZ246Y2VudGVyO1xyXG5cdFx0XHRcdC5wb3BTY2h7bWFyZ2luLXRvcDoyJTtib3JkZXI6MnB4IHNvbGlkICM0NzRhNWI7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6IDI1cHg7d2lkdGg6MTAwJTttYXgtd2lkdGg6NDAwcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzo1cHggNXB4IDdweCAxMHB4O3Bvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0LmlucHtib3JkZXI6MDt3aWR0aDoxMDAlO3BhZGRpbmc6MCAzNXB4IDAgNXB4fVxyXG5cdFx0XHRcdFx0LmJ0bnNjaHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NXB4O3JpZ2h0OjEwcHg7fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQ+ZGl2e1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOjA7bWF4LXdpZHRoOmF1dG87bWFyZ2luOjAgYXV0bztiYWNrZ3JvdW5kOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjEwMCU7cGFkZGluZzowIDIlIDIlIDIlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQ+dWx7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0XHRcdFx0XHRvdmVyZmxvdzpoaWRkZW47Ym9yZGVyOjFweCBzb2xpZCAjYjJiNGJmO2JhY2tncm91bmQ6I2Y1ZjZmYSB1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL0FsbG1lbnVfbGluZS5naWYpIHJlcGVhdC15IGNlbnRlciB0b3A7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRzbSkge1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiNmNWY2ZmE7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQ+bGl7d2lkdGg6MjAlO3BhZGRpbmc6MSUgMS41JTtmbG9hdDpsZWZ0O2NvbG9yOiMzMzM7Ym9yZGVyOjFweCBzb2xpZCAjYjJiNGJmO2JhY2tncm91bmQ6I2Y1ZjZmYTttaW4taGVpZ2h0OjIyMHB4O21hcmdpbjotMXB4IDAgMCAtMXB4O1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpIHtcclxuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6MC45ZW07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDo1MCU7cGFkZGluZy10b3A6MTBweDttaW4taGVpZ2h0OmluaGVyaXQ7Ym9yZGVyLXdpZHRoOjFweCAwIDAgMDttYXJnaW46LTFweCAwIDAgMDtiYWNrZ3JvdW5kOm5vbmU7XHJcblx0XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdFx0JjpudGgtY2hpbGQob2RkKXtjbGVhcjpib3RoO31cclxuXHRcdFx0XHRcdFx0XHQmOm50aC1jaGlsZCgxKSwgJjpudGgtY2hpbGQoMil7Ym9yZGVyLXRvcDowO2NsZWFyOm5vbmU7fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtKSB7XHJcblx0XHRcdFx0XHRcdFx0d2lkdGg6MTAwJTttaW4taGVpZ2h0OmluaGVyaXQ7cGFkZGluZzozJTtcclxuXHRcdFx0XHRcdFx0XHQmOm50aC1jaGlsZCgyKXtib3JkZXItdG9wOjFweCBzb2xpZCAjYjJiNGJmO31cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQmLm9uPmF7aGVpZ2h0OjUwcHg7fVxyXG5cdFx0XHRcdFx0XHQvLyAmOm50aC1jaGlsZCg1KXtcclxuXHRcdFx0XHRcdFx0Ly8gXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0XHRcdFx0XHQvLyBcdFx0bWluLWhlaWdodDoyOTBweDtcclxuXHRcdFx0XHRcdFx0Ly8gXHR9XHJcblx0XHRcdFx0XHRcdC8vIH1cclxuXHRcdFx0XHRcdFx0JjpudGgtY2hpbGQoNil7Y2xlYXI6Ym90aDtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y2xlYXI6bm9uZSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQmLnR5cGV7bWluLWhlaWdodDoyOTBweDtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0XHRcdFx0XHRcdFx0bWluLWhlaWdodDoxNjBweDtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0Ly8gPmRpdntoZWlnaHQ6MTQ0cHg7fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdCYuc2l0ZXtiYWNrZ3JvdW5kOiM0NzRhNWIgdXJsKC9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9pY29fYWxsMS5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgNTBweDt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjEzMHB4IDAgMCAwO2NvbG9yOiNmZmY7bGluZS1oZWlnaHQ6MS4zO1xyXG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgMjBweDtwYWRkaW5nLXRvcDo5MHB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0LmZie2NvbG9yOiNmZjgwYjN9XHJcblx0XHRcdFx0XHRcdFx0XHRsaXtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MDtsaW5lLWhlaWdodDowO3BhZGRpbmctbGVmdDowO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRhe2JhY2tncm91bmQ6IHVybCgvc3RhdGljL2ltYWdlcy9jb21tb24vbGluZS5naWYpIG5vLXJlcGVhdCBsZWZ0IDNweDtwYWRkaW5nOjAgMXB4IDAgNHB4O2ZvbnQtc2l6ZToxMnB4O2NvbG9yOiNmZmY7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Jjpob3Zlcntjb2xvcjokY29yX3Bpbmt9XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCBhe2JhY2tncm91bmQ6bm9uZTt9XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQmLnNue2JhY2tncm91bmQ6JGNvcl9waW5rIHVybCgvc3RhdGljL2ltYWdlcy9jb21tb24vaWNvX2FsbDIucG5nKSBuby1yZXBlYXQgY2VudGVyIDYwcHg7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzoxMzVweCAwIDAgMDtjb2xvcjojZmZmO1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIDMwcHg7cGFkZGluZy10b3A6OTVweDtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRzcGFue2Rpc3BsYXk6YmxvY2s7Zm9udC13ZWlnaHQ6Ym9sZDtcclxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRzbSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRhe3BhZGRpbmctcmlnaHQ6MThweDtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9jb21tb24vYnVfYXJyLnBuZykgbm8tcmVwZWF0IHJpZ2h0IDNweDtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6IGJvbGQ7Y29sb3I6I2ZmZn1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQvLyAmLmVuZHtwYWRkaW5nOjA7XHJcblx0XHRcdFx0XHRcdC8vIFx0YXtjb2xvcjojZmZmfVxyXG5cdFx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdD5he2xldHRlci1zcGFjaW5nOiAtMXB4O2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MS4xMGVtO2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1nL2d3L2NvbW1vbi9iZ190aXQuZ2lmKSBuby1yZXBlYXQgMXB4IHRvcDtwYWRkaW5nOjdweCAwIDAgMDt9XHJcblx0XHRcdFx0XHRcdD51bHttYXJnaW4tdG9wOjIuNSU7XHJcblx0XHRcdFx0XHRcdFx0Pmxpe3RleHQtaW5kZW50Oi0xMHB4O3BhZGRpbmctbGVmdDoxMHB4O2xpbmUtaGVpZ2h0OjEuMzttYXJnaW46NXB4IDA7XHJcblx0XHRcdFx0XHRcdFx0XHQmOmJlZm9yZXtjb250ZW50OlwiLSBcIjtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLWxlZnQ6MTBweDt9XHJcblx0XHRcdFx0XHRcdFx0XHQ+YTpob3Zlcntjb2xvcjojZjA1MjkxO2ZvbnQtd2VpZ2h0OmJvbGQ7fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLy8uQWxsbWVudUJ0bntwb3NpdGlvbjogYWJzb2x1dGU7cmlnaHQ6IDA7dG9wOiAwO2ZvbnQtd2VpZ2h0OiA2MDA7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICM1ZjY5ODY7fVxyXG4uQWxsbWVudUJ0bntwb3NpdGlvbjogYWJzb2x1dGU7cmlnaHQ6LTQ4cHg7dG9wOiAwO2ZvbnQtd2VpZ2h0OiA2MDA7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICM1ZjY5ODY7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKSB7XHJcblx0IFx0cmlnaHQ6LTk1cHg7XHJcbiBcdH1cclxufVxyXG4vLy5BbGxtZW51QnRue2ZvbnQtd2VpZ2h0OiA2MDA7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICM1ZjY5ODY7ZmxvYXQ6cmlnaHQ7fVxyXG4uQWxsbWVudUJ0bkNsb3NlIHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTUwcHg7cmlnaHQ6MDtkaXNwbGF5OmJsb2NrO31cclxuLkFsbG1lbnVCdG5DbG9zZSBhe2Rpc3BsYXk6YmxvY2s7cGFkZGluZzoxMHB4O31cclxuLkFsbG1lbnVCdG5DbG9zZSBhOmZvY3Vze2JvcmRlcjoxcHggZG90dGVkICNkZGQ7fVxyXG4jQWxsbWVudSAuZXhCb3h7ZGlzcGxheTpub25lO31cclxuXHJcbiAuYnRuLWdyYXl7YmFja2dyb3VuZDojNDc0YTViO2JvcmRlci1yYWRpdXM6IDE1cHg7bGluZS1oZWlnaHQ6MS4yO2NvbG9yOiNmZmZ9XHJcblxyXG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIERlZmF1bHQgVmFyaWFibGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRCcmVha3BvaW50LVNldHRpbmdzOiAoXG4gICdkZWZhdWx0IG1lZGlhJzogYWxsLFxuICAnZGVmYXVsdCBmZWF0dXJlJzogbWluLXdpZHRoLFxuICAnZGVmYXVsdCBwYWlyJzogd2lkdGgsXG5cbiAgJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJzogZmFsc2UsXG4gICd0byBlbXMnOiBmYWxzZSxcbiAgJ3RyYW5zZm9ybSByZXNvbHV0aW9ucyc6IHRydWUsXG5cbiAgJ25vIHF1ZXJpZXMnOiBmYWxzZSxcbiAgJ25vIHF1ZXJ5IGZhbGxiYWNrcyc6IGZhbHNlLFxuXG4gICdiYXNlIGZvbnQgc2l6ZSc6IDE2cHgsXG5cbiAgJ2xlZ2FjeSBzeW50YXgnOiBmYWxzZVxuKTtcblxuJGJyZWFrcG9pbnQ6ICgpICFkZWZhdWx0O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcImJyZWFrcG9pbnQvc2V0dGluZ3NcIjtcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvY29udGV4dCc7XG5AaW1wb3J0ICdicmVha3BvaW50L2hlbHBlcnMnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9wYXJzZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvbm8tcXVlcnknO1xuXG5AaW1wb3J0ICdicmVha3BvaW50L3Jlc3BvbmQtdG8nO1xuXG5AaW1wb3J0IFwiYnJlYWtwb2ludC9sZWdhY3ktc2V0dGluZ3NcIjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IE1peGluXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnk6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGxlZ2FjeS1zZXR0aW5ncy13YXJuaW5nO1xuXG4gIC8vIFJlc2V0IGNvbnRleHRzXG4gIEBpbmNsdWRlIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cygpO1xuXG4gICRicmVha3BvaW50OiBicmVha3BvaW50KCRxdWVyeSwgZmFsc2UpO1xuXG4gICRxdWVyeS1zdHJpbmc6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdxdWVyeScpO1xuICAkcXVlcnktZmFsbGJhY2s6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdmYWxsYmFjaycpO1xuXG4gICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdjb250ZXh0IGhvbGRlcicpICFnbG9iYWw7XG4gICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdxdWVyeSBjb3VudCcpICFnbG9iYWw7XG5cbiAgLy8gQWxsb3cgZm9yIGFuIGFzLW5lZWRlZCBvdmVycmlkZSBvciB1c2FnZSBvZiBubyBxdWVyeSBmYWxsYmFjay5cbiAgQGlmICRuby1xdWVyeSAhPSBmYWxzZSB7XG4gICAgJHF1ZXJ5LWZhbGxiYWNrOiAkbm8tcXVlcnk7XG4gIH1cblxuICBAaWYgJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlIHtcbiAgICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgnbm8tcXVlcnknLCAkcXVlcnktZmFsbGJhY2spO1xuICB9XG5cbiAgLy8gUHJpbnQgT3V0IFF1ZXJ5IFN0cmluZ1xuICBAaWYgbm90IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykge1xuICAgIEBtZWRpYSAjeyRxdWVyeS1zdHJpbmd9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykgIT0gZmFsc2Ugb3IgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSA9PSB0cnVlIHtcblxuICAgICR0eXBlOiB0eXBlLW9mKGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSk7XG4gICAgJHByaW50OiBmYWxzZTtcblxuICAgIEBpZiAoJHR5cGUgPT0gJ2Jvb2wnKSB7XG4gICAgICAkcHJpbnQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkdHlwZSA9PSAnc3RyaW5nJykge1xuICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayA9PSBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICgkdHlwZSA9PSAnbGlzdCcpIHtcbiAgICAgIEBlYWNoICR3cmFwcGVyIGluIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gJHdyYXBwZXIge1xuICAgICAgICAgICRwcmludDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFdyaXRlIEZhbGxiYWNrXG4gICAgQGlmICgkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2UpIGFuZCAoJHByaW50ID09IHRydWUpIHtcbiAgICAgICR0eXBlLWZhbGxiYWNrOiB0eXBlLW9mKCRxdWVyeS1mYWxsYmFjayk7XG5cbiAgICAgIEBpZiAoJHR5cGUtZmFsbGJhY2sgIT0gJ2Jvb2wnKSB7XG4gICAgICAgICN7JHF1ZXJ5LWZhbGxiYWNrfSAmIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcbn1cblxuXG5AbWl4aW4gbXEoJHF1ZXJ5LCAkbm8tcXVlcnk6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnkpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBIYXMgU2V0dGluZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1oYXMoJHNldHRpbmcpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50LCAkc2V0dGluZykge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEdldCBTZXR0aW5nc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1nZXQoJHNldHRpbmcpIHtcbiAgQGlmIGJyZWFrcG9pbnQtaGFzKCRzZXR0aW5nKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50LCAkc2V0dGluZyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkQnJlYWtwb2ludC1TZXR0aW5ncywgJHNldHRpbmcpO1xuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gU2V0IFNldHRpbmdzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LXNldCgkc2V0dGluZywgJHZhbHVlKSB7XG4gIEBpZiAoc3RyLWluZGV4KCRzZXR0aW5nLCAnLScpIG9yIHN0ci1pbmRleCgkc2V0dGluZywgJ18nKSkgYW5kIHN0ci1pbmRleCgkc2V0dGluZywgJyAnKSA9PSBudWxsIHtcbiAgICBAd2FybiBcIldvcmRzIGluIEJyZWFrcG9pbnQgc2V0dGluZ3Mgc2hvdWxkIGJlIHNlcGFyYXRlZCBieSBzcGFjZXMsIG5vdCBkYXNoZXMgb3IgdW5kZXJzY29yZXMuIFBsZWFzZSByZXBsYWNlIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMgYmV0d2VlbiB3b3JkcyB3aXRoIHNwYWNlcy4gU2V0dGluZ3Mgd2lsbCBub3Qgd29yayBhcyBleHBlY3RlZCB1bnRpbCBjaGFuZ2VkLlwiO1xuICB9XG4gICRicmVha3BvaW50OiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnQsICgkc2V0dGluZzogJHZhbHVlKSkgIWdsb2JhbDtcbiAgQHJldHVybiB0cnVlO1xufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1jaGFuZ2UoJHNldHRpbmcsICR2YWx1ZSkge1xuICAkYnJlYWtwb2ludC1jaGFuZ2U6IGJyZWFrcG9pbnQtc2V0KCRzZXR0aW5nLCAkdmFsdWUpO1xufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1zZXQoJHNldHRpbmcsICR2YWx1ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50LWNoYW5nZSgkc2V0dGluZywgJHZhbHVlKTtcbn1cblxuQG1peGluIGJrcHQtY2hhbmdlKCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jaGFuZ2UoJHNldHRpbmcsICR2YWx1ZSk7XG59XG5AbWl4aW4gYmtwdC1zZXQoJHNldHRpbmcsICR2YWx1ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50LWNoYW5nZSgkc2V0dGluZywgJHZhbHVlKTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZW1vdmUgU2V0dGluZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1yZXNldCgkc2V0dGluZ3MuLi4pIHtcbiAgQGlmIGxlbmd0aCgkc2V0dGluZ3MpID09IDEge1xuICAgICRzZXR0aW5nczogbnRoKCRzZXR0aW5ncywgMSk7XG4gIH1cblxuICBAZWFjaCAkc2V0dGluZyBpbiAkc2V0dGluZ3Mge1xuICAgICRicmVha3BvaW50OiBtYXAtcmVtb3ZlKCRicmVha3BvaW50LCAkc2V0dGluZykgIWdsb2JhbDtcbiAgfVxuICBAcmV0dXJuIHRydWU7XG59XG5cbkBtaXhpbiBicmVha3BvaW50LXJlc2V0KCRzZXR0aW5ncy4uLikge1xuICAkYnJlYWtwb2ludC1yZXNldDogYnJlYWtwb2ludC1yZXNldCgkc2V0dGluZ3MpO1xufVxuXG5AbWl4aW4gYmtwdC1yZXNldCgkc2V0dGluZ3MuLi4pIHtcbiAgJGJyZWFrcG9pbnQtcmVzZXQ6IGJyZWFrcG9pbnQtcmVzZXQoJHNldHRpbmdzKTtcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFByaXZhdGUgQnJlYWtwb2ludCBWYXJpYWJsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogKCk7XG4kcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiAwICFkZWZhdWx0O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJyZWFrcG9pbnQgSGFzIENvbnRleHRcbi8vIFJldHVybnMgd2hldGhlciBvciBub3QgeW91IGFyZSBpbnNpZGUgYSBCcmVha3BvaW50IHF1ZXJ5XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LWhhcy1jb250ZXh0KCkge1xuICBAaWYgbGVuZ3RoKCRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IEdldCBDb250ZXh0XG4vLyAkZmVhdHVyZTogSW5wdXQgZmVhdHVyZSB0byBnZXQgaXQncyBjdXJyZW50IE1RIGNvbnRleHQuIFJldHVybnMgZmFsc2UgaWYgbm8gY29udGV4dFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1nZXQtY29udGV4dCgkZmVhdHVyZSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgJGZlYXR1cmUpIHtcbiAgICAkZ2V0OiBtYXAtZ2V0KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKTtcbiAgICAvLyBTcGVjaWFsIGhhbmRsaW5nIG9mIG5vLXF1ZXJ5IGZyb20gZ2V0IHNpZGUgc28gL2ZhbHNlLyBwcmVwZW5kcyBhcmVuJ3QgcmV0dXJuZWRcbiAgICBAaWYgJGZlYXR1cmUgPT0gJ25vLXF1ZXJ5JyB7XG4gICAgICBAaWYgdHlwZS1vZigkZ2V0KSA9PSAnbGlzdCcgYW5kIGxlbmd0aCgkZ2V0KSA+IDEgYW5kIG50aCgkZ2V0LCAxKSA9PSBmYWxzZSB7XG4gICAgICAgICRnZXQ6IG50aCgkZ2V0LCBsZW5ndGgoJGdldCkpO1xuICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuICRnZXQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiBicmVha3BvaW50LWhhcy1jb250ZXh0KCkgYW5kICRmZWF0dXJlID09ICdtZWRpYScge1xuICAgICAgQHJldHVybiBicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFByaXZhdGUgZnVuY3Rpb24gdG8gc2V0IGNvbnRleHRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgkZmVhdHVyZSwgJHZhbHVlKSB7XG4gIEBpZiAkdmFsdWUgPT0gJ21vbm9jaHJvbWUnIHtcbiAgICAkZmVhdHVyZTogJ21vbm9jaHJvbWUnO1xuICB9XG5cbiAgJGN1cnJlbnQ6IG1hcC1nZXQoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgJGZlYXR1cmUpO1xuICBAaWYgJGN1cnJlbnQgYW5kIGxlbmd0aCgkY3VycmVudCkgPT0gJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCB7XG4gICAgQHdhcm4gXCJZb3UgaGF2ZSBhbHJlYWR5IHF1ZXJpZWQgYWdhaW5zdCBgI3skZmVhdHVyZX1gLiBVbmV4cGVjdGVkIHRoaW5ncyBtYXkgaGFwcGVuIGlmIHlvdSBxdWVyeSBhZ2FpbnN0IHRoZSBzYW1lIGZlYXR1cmUgbW9yZSB0aGFuIG9uY2UgaW4gdGhlIHNhbWUgYGFuZGAgcXVlcnkuIEJyZWFrcG9pbnQgaXMgb3ZlcndyaXRpbmcgdGhlIGN1cnJlbnQgY29udGV4dCB3aXRoIGAjeyR2YWx1ZX1gXCI7XG4gIH1cblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKSB7XG4gICAgJHYtaG9sZGVyOiAoKTtcbiAgICBAZm9yICRpIGZyb20gMSB0byAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50IHtcbiAgICAgIEBpZiAkZmVhdHVyZSA9PSAnbWVkaWEnIHtcbiAgICAgICAgJHYtaG9sZGVyOiBhcHBlbmQoJHYtaG9sZGVyLCBicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHYtaG9sZGVyOiBhcHBlbmQoJHYtaG9sZGVyLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgJHZhbHVlKTtcbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtbWVyZ2UoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgKCRmZWF0dXJlOiAkdi1ob2xkZXIpKSAhZ2xvYmFsO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdi1ob2xkZXI6IG1hcC1nZXQoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgJGZlYXR1cmUpO1xuICAgICRsZW5ndGg6IGxlbmd0aCgkdi1ob2xkZXIpO1xuICAgIEBmb3IgJGkgZnJvbSAkbGVuZ3RoIHRvICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQgLSAxIHtcbiAgICAgIEBpZiAkZmVhdHVyZSA9PSAnbWVkaWEnIHtcbiAgICAgICAgJHYtaG9sZGVyOiBhcHBlbmQoJHYtaG9sZGVyLCBicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHYtaG9sZGVyOiBhcHBlbmQoJHYtaG9sZGVyLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgJHZhbHVlKTtcbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtbWVyZ2UoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgKCRmZWF0dXJlOiAkdi1ob2xkZXIpKSAhZ2xvYmFsO1xuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFByaXZhdGUgZnVuY3Rpb24gdG8gcmVzZXQgY29udGV4dFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AbWl4aW4gcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzIHtcbiAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogKCkgIWdsb2JhbDtcbiAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogMCAhZ2xvYmFsO1xufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQ29udmVydHMgdGhlIGlucHV0IHZhbHVlIHRvIEJhc2UgRU1zXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LXRvLWJhc2UtZW0oJHZhbHVlKSB7XG4gICR2YWx1ZS11bml0OiB1bml0KCR2YWx1ZSk7XG5cbiAgLy8gV2lsbCBjb252ZXJ0IHJlbGF0aXZlIEVNcyBpbnRvIHJvb3QgRU1zLlxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ2Jhc2UgZm9udCBzaXplJykgYW5kIHR5cGUtb2YoYnJlYWtwb2ludC1nZXQoJ2Jhc2UgZm9udCBzaXplJykpID09ICdudW1iZXInIGFuZCAkdmFsdWUtdW5pdCA9PSAnZW0nIHtcbiAgICAkYmFzZS11bml0OiB1bml0KGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpKTtcblxuICAgIEBpZiAkYmFzZS11bml0ID09ICdweCcgb3IgJGJhc2UtdW5pdCA9PSAnJScgb3IgJGJhc2UtdW5pdCA9PSAnZW0nIG9yICRiYXNlLXVuaXQgPT0gJ3B0JyB7XG4gICAgICBAcmV0dXJuIGJhc2UtY29udmVyc2lvbigkdmFsdWUpIC8gYmFzZS1jb252ZXJzaW9uKGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpKSAqIDFlbTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJyN7YnJlYWtwb2ludC1nZXQoXFwnYmFzZSBmb250IHNpemVcXCcpfSBpcyBub3Qgc2V0IGluIHZhbGlkIHVuaXRzIGZvciBmb250IHNpemUhJztcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGJhc2UtY29udmVyc2lvbigkdmFsdWUpO1xuICB9XG59XG5cbkBmdW5jdGlvbiBiYXNlLWNvbnZlcnNpb24oJHZhbHVlKSB7XG4gICR1bml0OiB1bml0KCR2YWx1ZSk7XG5cbiAgQGlmICR1bml0ID09ICdweCcge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gMTZweCAqIDFlbTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSAnJScge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gMTAwJSAqIDFlbTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSAnZW0nIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSAncHQnIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIDEycHQgKiAxZW07XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuLy8gICAgQHdhcm4gJ0V2ZXJ5dGhpbmcgaXMgdGVycmlibGUhIFdoYXQgaGF2ZSB5b3UgZG9uZT8hJztcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJldHVybnMgd2hldGhlciB0aGUgZmVhdHVyZSBjYW4gaGF2ZSBhIG1pbi9tYXggcGFpclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kYnJlYWtwb2ludC1taW4tbWF4LWZlYXR1cmVzOiAnY29sb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbG9yLWluZGV4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhc3BlY3QtcmF0aW8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RldmljZS1hc3BlY3QtcmF0aW8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RldmljZS1oZWlnaHQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RldmljZS13aWR0aCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb25vY2hyb21lJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXNvbHV0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbi1tYXgoJGZlYXR1cmUpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGJyZWFrcG9pbnQtbWluLW1heC1mZWF0dXJlcyB7XG4gICAgQGlmICRmZWF0dXJlID09ICRpdGVtIHtcbiAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGZlYXR1cmUgY2FuIGhhdmUgYSBzdHJpbmcgdmFsdWVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnQtc3RyaW5nLWZlYXR1cmVzOiAgJ29yaWVudGF0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2FuJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb2xvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXNwZWN0LXJhdGlvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2UtYXNwZWN0LXJhdGlvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb2ludGVyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsdW1pbm9zaXR5JztcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtc3RyaW5nLXZhbHVlKCRmZWF0dXJlKSB7XG4gIEBlYWNoICRpdGVtIGluICRicmVha3BvaW50LXN0cmluZy1mZWF0dXJlcyB7XG4gICAgQGlmIGJyZWFrcG9pbnQtbWluLW1heCgkaXRlbSkge1xuICAgICAgQGlmICRmZWF0dXJlID09ICdtaW4tI3skaXRlbX0nIG9yICRmZWF0dXJlID09ICdtYXgtI3skaXRlbX0nIHtcbiAgICAgICAgQHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkZmVhdHVyZSA9PSAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBmZWF0dXJlIGlzIGEgbWVkaWEgdHlwZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kYnJlYWtwb2ludC1tZWRpYS10eXBlczogICdhbGwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYnJhaWxsZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdlbWJvc3NlZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdoYW5kaGVsZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdwcmludCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9qZWN0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjcmVlbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdzcGVlY2gnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAndHR5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R2JztcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaXMtbWVkaWEoJGZlYXR1cmUpIHtcbiAgQGVhY2ggJG1lZGlhIGluICRicmVha3BvaW50LW1lZGlhLXR5cGVzIHtcbiAgICBAaWYgKCRmZWF0dXJlID09ICRtZWRpYSkgb3IgKCRmZWF0dXJlID09ICdub3QgI3skbWVkaWF9Jykgb3IgKCRmZWF0dXJlID09ICdvbmx5ICN7JG1lZGlhfScpIHtcbiAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJldHVybnMgd2hldGhlciB0aGUgZmVhdHVyZSBjYW4gc3RhbmQgYWxvbmVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZy1mZWF0dXJlczogJ2NvbG9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb2xvci1pbmRleCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ3JpZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9ub2Nocm9tZSc7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcoJGZlYXR1cmUpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZy1mZWF0dXJlcyB7XG4gICAgQGlmICRmZWF0dXJlID09ICRpdGVtIHtcbiAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGZlYXR1cmVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaXMtcmVzb2x1dGlvbigkZmVhdHVyZSkge1xuICAkcmVzb2x1dGlvbnM6ICdkZXZpY2UtcGl4ZWwtcmF0aW8nLCAnZHByJztcblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ3RyYW5zZm9ybSByZXNvbHV0aW9ucycpIHtcbiAgICAkcmVzb2x1dGlvbnM6IGFwcGVuZCgkcmVzb2x1dGlvbnMsICdyZXNvbHV0aW9uJyk7XG4gIH1cblxuICBAZWFjaCAkcmVzbyBpbiAkcmVzb2x1dGlvbnMge1xuICAgIEBpZiBpbmRleCgkZmVhdHVyZSwgJHJlc28pIG9yIGluZGV4KCRmZWF0dXJlLCAnbWluLSN7JHJlc299Jykgb3IgaW5kZXgoJGZlYXR1cmUsICdtYXgtI3skcmVzb30nKSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBmYWxzZTtcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IFBhcnNlciBQaWVjZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcInBhcnNlcnMvcXVlcnlcIjtcbkBpbXBvcnQgXCJwYXJzZXJzL3NpbmdsZVwiO1xuQGltcG9ydCBcInBhcnNlcnMvZG91YmxlXCI7XG5AaW1wb3J0IFwicGFyc2Vycy90cmlwbGVcIjtcbkBpbXBvcnQgXCJwYXJzZXJzL3Jlc29sdXRpb25cIjtcblxuJE1lbW8tRXhpc3RzOiBmdW5jdGlvbi1leGlzdHMobWVtby1nZXQpIGFuZCBmdW5jdGlvbi1leGlzdHMobWVtby1zZXQpO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJyZWFrcG9pbnQgRnVuY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkY29udGV4dHMuLi4pIHtcbiAgJHJ1bjogdHJ1ZTtcbiAgJHJldHVybjogKCk7XG5cbiAgLy8gR3JhYiB0aGUgTWVtbyBPdXRwdXQgaWYgTWVtb2l6YXRpb24gY2FuIGJlIGEgdGhpbmdcbiAgQGlmICRNZW1vLUV4aXN0cyB7XG4gICAgJHJldHVybjogbWVtby1nZXQoYnJlYWtwb2ludCwgYnJlYWtwb2ludCAkcXVlcnkgJGNvbnRleHRzKTtcblxuICAgIEBpZiAkcmV0dXJuICE9IG51bGwge1xuICAgICAgJHJ1bjogZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkTWVtby1FeGlzdHMgb3IgJHJ1biB7XG4gICAgLy8gSW50ZXJuYWwgVmFyaWFibGVzXG4gICAgJHF1ZXJ5LXN0cmluZzogJyc7XG4gICAgJHF1ZXJ5LWZhbGxiYWNrOiBmYWxzZTtcbiAgICAkcmV0dXJuOiAoKTtcblxuICAgIC8vIFJlc2VydmUgR2xvYmFsIFByaXZhdGUgQnJlYWtwb2ludCBDb250ZXh0XG4gICAgJGhvbGRlci1jb250ZXh0OiAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyO1xuICAgICRob2xkZXItcXVlcnktY291bnQ6ICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ7XG5cbiAgICAvLyBSZXNldCBHbG9iYWwgUHJpdmF0ZSBCcmVha3BvaW50IENvbnRleHRcbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiAoKSAhZ2xvYmFsO1xuICAgICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IDAgIWdsb2JhbDtcblxuXG4gICAgLy8gVGVzdCB0byBzZWUgaWYgaXQncyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0XG4gICAgJG9yLWxpc3Q6IGlmKGxpc3Qtc2VwYXJhdG9yKCRxdWVyeSkgPT0gJ2NvbW1hJywgdHJ1ZSwgZmFsc2UpO1xuXG5cbiAgICBAaWYgKCRvci1saXN0ID09IGZhbHNlIGFuZCBicmVha3BvaW50LWdldCgnbGVnYWN5IHN5bnRheCcpID09IGZhbHNlKSB7XG4gICAgICAkcXVlcnktc3RyaW5nOiBicmVha3BvaW50LXBhcnNlKCRxdWVyeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRsZW5ndGg6IGxlbmd0aCgkcXVlcnkpO1xuXG4gICAgICAkbGFzdDogbnRoKCRxdWVyeSwgJGxlbmd0aCk7XG4gICAgICAkcXVlcnktZmFsbGJhY2s6IGJyZWFrcG9pbnQtbm8tcXVlcnkoJGxhc3QpO1xuXG4gICAgICBAaWYgKCRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSkge1xuICAgICAgICAkbGVuZ3RoOiAkbGVuZ3RoIC0gMTtcbiAgICAgIH1cblxuICAgICAgQGlmIChicmVha3BvaW50LWdldCgnbGVnYWN5IHN5bnRheCcpID09IHRydWUpIHtcbiAgICAgICAgJG1xOiAoKTtcblxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRsZW5ndGgge1xuICAgICAgICAgICRtcTogYXBwZW5kKCRtcSwgbnRoKCRxdWVyeSwgJGkpLCBjb21tYSk7XG4gICAgICAgIH1cblxuICAgICAgICAkcXVlcnktc3RyaW5nOiBicmVha3BvaW50LXBhcnNlKCRtcSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRxdWVyeS1zdHJpbmc6ICcnO1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRsZW5ndGgge1xuICAgICAgICAgICRxdWVyeS1zdHJpbmc6ICRxdWVyeS1zdHJpbmcgKyBpZigkaSA9PSAxLCAnJywgJywgJykgKyBicmVha3BvaW50LXBhcnNlKG50aCgkcXVlcnksICRpKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkcmV0dXJuOiAoJ3F1ZXJ5JzogJHF1ZXJ5LXN0cmluZyxcbiAgICAgICAgJ2ZhbGxiYWNrJzogJHF1ZXJ5LWZhbGxiYWNrLFxuICAgICAgICAnY29udGV4dCBob2xkZXInOiAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLFxuICAgICAgICAncXVlcnkgY291bnQnOiAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50XG4gICAgKTtcbiAgICBAaWYgbGVuZ3RoKCRjb250ZXh0cykgPiAwIGFuZCBudGgoJGNvbnRleHRzLCAxKSAhPSBmYWxzZSB7XG4gICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlIHtcbiAgICAgICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgICAgIH1cbiAgICAgICRjb250ZXh0LW1hcDogKCk7XG4gICAgICBAZWFjaCAkY29udGV4dCBpbiAkY29udGV4dHMge1xuICAgICAgICAkY29udGV4dC1tYXA6IG1hcC1tZXJnZSgkY29udGV4dC1tYXAsICgkY29udGV4dDogYnJlYWtwb2ludC1nZXQtY29udGV4dCgkY29udGV4dCkpKTtcbiAgICAgIH1cbiAgICAgICRyZXR1cm46IG1hcC1tZXJnZSgkcmV0dXJuLCAoY29udGV4dDogJGNvbnRleHQtbWFwKSk7XG4gICAgfVxuXG4gICAgLy8gUmVzZXQgR2xvYmFsIFByaXZhdGUgQnJlYWtwb2ludCBDb250ZXh0XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogKCkgIWdsb2JhbDtcbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiAwICFnbG9iYWw7XG5cbiAgICBAaWYgJE1lbW8tRXhpc3RzIHtcbiAgICAgICRob2xkZXI6IG1lbW8tc2V0KGJyZWFrcG9pbnQsIGJyZWFrcG9pbnQgJHF1ZXJ5ICRjb250ZXh0cywgJHJldHVybik7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEdlbmVyYWwgQnJlYWtwb2ludCBQYXJzZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UoJHF1ZXJ5KSB7XG4gIC8vIEluY3JlYXNlIG51bWJlciBvZiAnYW5kJyBxdWVyaWVzXG4gICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6ICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQgKyAxICFnbG9iYWw7XG5cbiAgLy8gU2V0IHVwIE1lZGlhIFR5cGVcbiAgJHF1ZXJ5LXByaW50OiAnJztcblxuICAkZm9yY2UtYWxsOiAoKGJyZWFrcG9pbnQtZ2V0KCdmb3JjZSBhbGwgbWVkaWEgdHlwZScpID09IHRydWUpIGFuZCAoYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSA9PSAnYWxsJykpO1xuICAkZW1wdHktbWVkaWE6IHRydWU7XG4gIEBpZiAoJGZvcmNlLWFsbCA9PSB0cnVlKSBvciAoYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSAhPSAnYWxsJykge1xuICAgIC8vIEZvcmNlIHRoZSBwcmludCBvZiB0aGUgZGVmYXVsdCBtZWRpYSB0eXBlIGlmIChmb3JjZSBhbGwgaXMgdHJ1ZSBhbmQgZGVmYXVsdCBtZWRpYSB0eXBlIGlzIGFsbCkgb3IgKGRlZmF1bHQgbWVkaWEgdHlwZSBpcyBub3QgYWxsKVxuICAgICRxdWVyeS1wcmludDogYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKTtcbiAgICAkZW1wdHktbWVkaWE6IGZhbHNlO1xuICB9XG5cblxuICAkcXVlcnktcmVzb2x1dGlvbjogZmFsc2U7XG5cbiAgJHF1ZXJ5LWhvbGRlcjogYnJlYWtwb2ludC1wYXJzZS1xdWVyeSgkcXVlcnkpO1xuXG5cblxuICAvLyBMb29wIG92ZXIgZWFjaCBwYXJzZWQgb3V0IHF1ZXJ5IGFuZCB3cml0ZSBpdCB0byAkcXVlcnktcHJpbnRcbiAgJGZpcnN0OiB0cnVlO1xuXG4gIEBlYWNoICRmZWF0dXJlIGluICRxdWVyeS1ob2xkZXIge1xuICAgICRsZW5ndGg6IGxlbmd0aCgkZmVhdHVyZSk7XG5cbiAgICAvLyBQYXJzZSBhIHNpbmdsZSBmZWF0dXJlXG4gICAgQGlmICgkbGVuZ3RoID09IDEpIHtcbiAgICAgIC8vIEZlYXR1cmUgaXMgY3VycmVudGx5IGEgbGlzdCwgZ3JhYiB0aGUgYWN0dWFsIHZhbHVlXG4gICAgICAkZmVhdHVyZTogbnRoKCRmZWF0dXJlLCAxKTtcblxuICAgICAgLy8gTWVkaWEgVHlwZSBtdXN0IGJ5IGNvbnZlbnRpb24gYmUgdGhlIGZpcnN0IGl0ZW0sIHNvIGl0J3Mgc2FmZSB0byBmbGF0IG92ZXJyaWRlICRxdWVyeS1wcmludCwgd2hpY2ggcmlnaHQgbm93IHNob3VsZCBvbmx5IGJlIHRoZSBkZWZhdWx0IG1lZGlhIHR5cGVcbiAgICAgIEBpZiAoYnJlYWtwb2ludC1pcy1tZWRpYSgkZmVhdHVyZSkpIHtcbiAgICAgICAgQGlmICgkZm9yY2UtYWxsID09IHRydWUpIG9yICgkZmVhdHVyZSAhPSAnYWxsJykge1xuICAgICAgICAgIC8vIEZvcmNlIHRoZSBwcmludCBvZiB0aGUgZGVmYXVsdCBtZWRpYSB0eXBlIGlmIChmb3JjZSBhbGwgaXMgdHJ1ZSBhbmQgZGVmYXVsdCBtZWRpYSB0eXBlIGlzIGFsbCkgb3IgKGRlZmF1bHQgbWVkaWEgdHlwZSBpcyBub3QgYWxsKVxuICAgICAgICAgICRxdWVyeS1wcmludDogJGZlYXR1cmU7XG4gICAgICAgICAgJGVtcHR5LW1lZGlhOiBmYWxzZTtcblxuICAgICAgICAgIC8vIFNldCBDb250ZXh0XG4gICAgICAgICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQobWVkaWEsICRxdWVyeS1wcmludCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1zaW5nbGUoJGZlYXR1cmUsICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgICAgICAgJHF1ZXJ5LXByaW50OiAnI3skcXVlcnktcHJpbnR9ICN7JHBhcnNlZH0nO1xuICAgICAgICAkZmlyc3Q6IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBQYXJzZSBhIGRvdWJsZSBmZWF0dXJlXG4gICAgQGVsc2UgaWYgKCRsZW5ndGggPT0gMikge1xuICAgICAgQGlmIChicmVha3BvaW50LWlzLXJlc29sdXRpb24oJGZlYXR1cmUpICE9IGZhbHNlKSB7XG4gICAgICAgICRxdWVyeS1yZXNvbHV0aW9uOiAkZmVhdHVyZTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHBhcnNlZDogbnVsbDtcbiAgICAgICAgLy8gSWYgaXQncyBhIHN0cmluZy9udW1iZXIgcGFpcixcbiAgICAgICAgLy8gd2UgY2hlY2sgdG8gc2VlIGlmIG9uZSBpcyBhIHNpbmdsZS1zdHJpbmcgdmFsdWUsXG4gICAgICAgIC8vIHRoZW4gd2UgcGFyc2UgaXQgYXMgYSBub3JtYWwgZG91YmxlXG4gICAgICAgICRhbHBoYTogbnRoKCRmZWF0dXJlLCAxKTtcbiAgICAgICAgJGJldGE6IG50aCgkZmVhdHVyZSwgMik7XG4gICAgICAgIEBpZiBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcoJGFscGhhKSBvciBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcoJGJldGEpIHtcbiAgICAgICAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLXNpbmdsZSgkYWxwaGEsICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgICAgICAgICAkcXVlcnktcHJpbnQ6ICcjeyRxdWVyeS1wcmludH0gI3skcGFyc2VkfSc7XG4gICAgICAgICAgJGZpcnN0OiBmYWxzZTtcbiAgICAgICAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLXNpbmdsZSgkYmV0YSwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpO1xuICAgICAgICAgICRxdWVyeS1wcmludDogJyN7JHF1ZXJ5LXByaW50fSAjeyRwYXJzZWR9JztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1kb3VibGUoJGZlYXR1cmUsICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgICAgICAgICAkcXVlcnktcHJpbnQ6ICcjeyRxdWVyeS1wcmludH0gI3skcGFyc2VkfSc7XG4gICAgICAgICAgJGZpcnN0OiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBQYXJzZSBhIHRyaXBsZSBmZWF0dXJlXG4gICAgQGVsc2UgaWYgKCRsZW5ndGggPT0gMykge1xuICAgICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS10cmlwbGUoJGZlYXR1cmUsICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgICAgICRxdWVyeS1wcmludDogJyN7JHF1ZXJ5LXByaW50fSAjeyRwYXJzZWR9JztcbiAgICAgICRmaXJzdDogZmFsc2U7XG4gICAgfVxuXG4gIH1cblxuICBAaWYgKCRxdWVyeS1yZXNvbHV0aW9uICE9IGZhbHNlKSB7XG4gICAgJHF1ZXJ5LXByaW50OiBicmVha3BvaW50LWJ1aWxkLXJlc29sdXRpb24oJHF1ZXJ5LXByaW50LCAkcXVlcnktcmVzb2x1dGlvbiwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpO1xuICB9XG5cbiAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZmVhdHVyZSB0aGF0J3MgYmVlbiBkZXRlY3RlZCBzbyBmYXIgYW5kIGFwcGVuZCAnZmFsc2UnIHRvIHRoZSB0aGUgdmFsdWUgbGlzdCB0byBpbmNyZW1lbnQgdGhlaXIgY291bnRlcnNcbiAgQGVhY2ggJGYsICR2IGluICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIge1xuICAgICR2LWhvbGRlcjogJHY7XG4gICAgJGxlbmd0aDogbGVuZ3RoKCR2LWhvbGRlcik7XG4gICAgQGlmIGxlbmd0aCgkdi1ob2xkZXIpIDwgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCB7XG4gICAgICBAZm9yICRpIGZyb20gJGxlbmd0aCB0byAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50IHtcbiAgICAgICAgQGlmICRmID09ICdtZWRpYScge1xuICAgICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSk7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6IG1hcC1tZXJnZSgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAoJGY6ICR2LWhvbGRlcikpICFnbG9iYWw7XG4gIH1cblxuICBAcmV0dXJuICRxdWVyeS1wcmludDtcbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLXF1ZXJ5KCRxdWVyeSkge1xuICAvLyBQYXJzZSBmZWF0dXJlcyBvdXQgb2YgYW4gaW5kaXZpZHVhbCBxdWVyeVxuICAkZmVhdHVyZS1ob2xkZXI6ICgpO1xuICAkcXVlcnktaG9sZGVyOiAoKTtcbiAgJGxlbmd0aDogbGVuZ3RoKCRxdWVyeSk7XG5cbiAgQGlmICRsZW5ndGggPT0gMiB7XG4gICAgLy8gSWYgd2UndmUgZ290IGEgc3RyaW5nL251bWJlciwgbnVtYmVyL3N0cmluZywgY2hlY2sgdG8gc2VlIGlmIGl0J3MgYSB2YWxpZCBzdHJpbmcvbnVtYmVyIHBhaXIgb3IgdHdvIHNpbmdsZXNcbiAgICBAaWYgKHR5cGUtb2YobnRoKCRxdWVyeSwgMSkpID09ICdzdHJpbmcnIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDIpKSA9PSAnbnVtYmVyJykgb3IgKHR5cGUtb2YobnRoKCRxdWVyeSwgMSkpID09ICdudW1iZXInIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDIpKSA9PSAnc3RyaW5nJykge1xuXG4gICAgICAkbnVtYmVyOiAnJztcbiAgICAgICR2YWx1ZTogJyc7XG5cbiAgICAgIEBpZiB0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnc3RyaW5nJyB7XG4gICAgICAgICRudW1iZXI6IG50aCgkcXVlcnksIDIpO1xuICAgICAgICAkdmFsdWU6IG50aCgkcXVlcnksIDEpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkbnVtYmVyOiBudGgoJHF1ZXJ5LCAxKTtcbiAgICAgICAgJHZhbHVlOiBudGgoJHF1ZXJ5LCAyKTtcbiAgICAgIH1cblxuICAgICAgLy8gSWYgdGhlIHN0cmluZyB2YWx1ZSBjYW4gYmUgYSBzaW5nbGUgdmFsdWUsIGNoZWNrIHRvIHNlZSBpZiB0aGUgbnVtYmVyIHBhc3NlZCBpbiBpcyBhIHZhbGlkIGlucHV0IGZvciBzYWlkIHNpbmdsZSB2YWx1ZS4gRm9ydHVuYXRlbHksIGFsbCBjdXJyZW50IHNpbmdsZS12YWx1ZSBvcHRpb25zIG9ubHkgYWNjZXB0IHVuaXRsZXNzIG51bWJlcnMsIHNvIHRoaXMgY2hlY2sgaXMgZWFzeS5cbiAgICAgIEBpZiBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcoJHZhbHVlKSB7XG4gICAgICAgIEBpZiB1bml0bGVzcygkbnVtYmVyKSB7XG4gICAgICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQoJHZhbHVlLCAkbnVtYmVyLCBzcGFjZSk7XG4gICAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gSWYgdGhlIHN0cmluZyBpcyBhIG1lZGlhIHR5cGUsIHNwbGl0IHRoZSBxdWVyeVxuICAgICAgQGlmIGJyZWFrcG9pbnQtaXMtbWVkaWEoJHZhbHVlKSB7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCBudGgoJHF1ZXJ5LCAxKSk7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCBudGgoJHF1ZXJ5LCAyKSk7XG4gICAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICAgIH1cbiAgICAgIC8vIElmIGl0J3Mgbm90IGEgc2luZ2xlIGZlYXR1cmUsIHdlJ3JlIGp1c3QgZ29pbmcgdG8gYXNzdW1lIGl0J3MgYSBwcm9wZXIgc3RyaW5nL3ZhbHVlIHBhaXIsIGFuZCByb2xsIHdpdGggaXQuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKCR2YWx1ZSwgJG51bWJlciwgc3BhY2UpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyLCBjb21tYSk7XG4gICAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICAgIH1cblxuICAgIH1cbiAgICAvLyBJZiB0aGV5J3JlIGJvdGggbnVtYmVycywgd2UgYXNzdW1lIGl0J3MgYSBkb3VibGUgYW5kIHJvbGwgd2l0aCB0aGF0XG4gICAgQGVsc2UgaWYgKHR5cGUtb2YobnRoKCRxdWVyeSwgMSkpID09ICdudW1iZXInIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDIpKSA9PSAnbnVtYmVyJykge1xuICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQobnRoKCRxdWVyeSwgMSksIG50aCgkcXVlcnksIDIpLCBzcGFjZSk7XG4gICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyLCBjb21tYSk7XG4gICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgfVxuICAgIC8vIElmIHRoZXkncmUgYm90aCBzdHJpbmdzIGFuZCBuZWl0aGVyIGFyZSBzaW5nbGVzLCB3ZSByb2xsIHdpdGggdGhhdC5cbiAgICBAZWxzZSBpZiAodHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgPT0gJ3N0cmluZycgYW5kIHR5cGUtb2YobnRoKCRxdWVyeSwgMikpID09ICdzdHJpbmcnKSB7XG4gICAgICBAaWYgbm90IGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZyhudGgoJHF1ZXJ5LCAxKSkgYW5kIG5vdCBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcobnRoKCRxdWVyeSwgMikpIHtcbiAgICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQobnRoKCRxdWVyeSwgMSksIG50aCgkcXVlcnksIDIpLCBzcGFjZSk7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCAkZmVhdHVyZS1ob2xkZXIsIGNvbW1hKTtcbiAgICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbGVuZ3RoID09IDMge1xuICAgIC8vIElmIHdlJ3ZlIGdvdCB0aHJlZSBpdGVtcyBhbmQgbm9uZSBpcyBhIGxpc3QsIHdlIGNoZWNrIHRvIHNlZVxuICAgIEBpZiB0eXBlLW9mKG50aCgkcXVlcnksIDEpKSAhPSAnbGlzdCcgYW5kIHR5cGUtb2YobnRoKCRxdWVyeSwgMikpICE9ICdsaXN0JyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAzKSkgIT0gJ2xpc3QnIHtcbiAgICAgIC8vIElmIG5vbmUgb2YgdGhlIGl0ZW1zIGFyZSBzaW5nbGUgc3RyaW5nIHZhbHVlcyBhbmQgbm9uZSBvZiB0aGUgdmFsdWVzIGFyZSBtZWRpYSB2YWx1ZXMsIHdlJ3JlIGdvb2QuXG4gICAgICBAaWYgKG5vdCBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcobnRoKCRxdWVyeSwgMSkpIGFuZCBub3QgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKG50aCgkcXVlcnksIDIpKSBhbmQgbm90IGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZyhudGgoJHF1ZXJ5LCAzKSkpIGFuZCAgKChub3QgYnJlYWtwb2ludC1pcy1tZWRpYShudGgoJHF1ZXJ5LCAxKSkgYW5kIG5vdCBicmVha3BvaW50LWlzLW1lZGlhKG50aCgkcXVlcnksIDIpKSBhbmQgbm90IGJyZWFrcG9pbnQtaXMtbWVkaWEobnRoKCRxdWVyeSwgMykpKSkge1xuICAgICAgICAkZmVhdHVyZS1ob2xkZXI6IGFwcGVuZChudGgoJHF1ZXJ5LCAxKSwgbnRoKCRxdWVyeSwgMiksIHNwYWNlKTtcbiAgICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQoJGZlYXR1cmUtaG9sZGVyLCBudGgoJHF1ZXJ5LCAzKSwgc3BhY2UpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyLCBjb21tYSk7XG4gICAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICAgIH1cbiAgICAgIC8vIGxldCdzIGNoZWNrIHRvIHNlZSBpZiB0aGUgZmlyc3QgaXRlbSBpcyBhIG1lZGlhIHR5cGVcbiAgICAgIEBlbHNlIGlmIGJyZWFrcG9pbnQtaXMtbWVkaWEobnRoKCRxdWVyeSwgMSkpIHtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsIG50aCgkcXVlcnksIDEpKTtcbiAgICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQobnRoKCRxdWVyeSwgMiksIG50aCgkcXVlcnksIDMpLCBzcGFjZSk7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCAkZmVhdHVyZS1ob2xkZXIpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgaXQncyBhIHNpbmdsZSBpdGVtLCBvciBpZiBpdCdzIG5vdCBhIHNwZWNpYWwgY2FzZSBkb3VibGUgb3IgdHJpcGxlLCB3ZSBjYW4gc2ltcGx5IHJldHVybiB0aGUgcXVlcnkuXG4gIEByZXR1cm4gJHF1ZXJ5O1xufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnQgUGllY2VzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJzaW5nbGUvZGVmYXVsdFwiO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1zaW5nbGUoJGZlYXR1cmUsICRlbXB0eS1tZWRpYSwgJGZpcnN0KSB7XG4gICRwYXJzZWQ6ICcnO1xuICAkbGVhZGVyOiAnJztcbiAgLy8gSWYgd2UncmUgZm9yY2luZ1xuICBAaWYgbm90ICgkZW1wdHktbWVkaWEpIG9yIG5vdCAoJGZpcnN0KSB7XG4gICAgJGxlYWRlcjogJ2FuZCAnO1xuICB9XG5cbiAgLy8gSWYgaXQncyBhIHNpbmdsZSBmZWF0dXJlIHRoYXQgY2FuIHN0YW5kIGFsb25lLCB3ZSBsZXQgaXRcbiAgQGlmIChicmVha3BvaW50LXNpbmdsZS1zdHJpbmcoJGZlYXR1cmUpKSB7XG4gICAgJHBhcnNlZDogJGZlYXR1cmU7XG4gICAgLy8gU2V0IENvbnRleHRcbiAgICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgkZmVhdHVyZSwgJGZlYXR1cmUpO1xuICB9XG4gIC8vIElmIGl0J3Mgbm90IGEgc3RhbmQgYWxvbmUgZmVhdHVyZSwgd2UgcGFzcyBpdCBvZmYgdG8gdGhlIGRlZmF1bHQgaGFuZGxlci5cbiAgQGVsc2Uge1xuICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZGVmYXVsdCgkZmVhdHVyZSk7XG4gIH1cblxuICBAcmV0dXJuICRsZWFkZXIgKyAnKCcgKyAkcGFyc2VkICsgJyknO1xufVxuIiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtZGVmYXVsdCgkZmVhdHVyZSkge1xuICAkZGVmYXVsdDogYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgZmVhdHVyZScpO1xuXG4gIC8vIFNldCBDb250ZXh0XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCRkZWZhdWx0LCAkZmVhdHVyZSk7XG5cbiAgQGlmIChicmVha3BvaW50LWdldCgndG8gZW1zJykgPT0gdHJ1ZSkgYW5kICh0eXBlLW9mKCRmZWF0dXJlKSA9PSAnbnVtYmVyJykge1xuICAgIEByZXR1cm4gJyN7JGRlZmF1bHR9OiAje2JyZWFrcG9pbnQtdG8tYmFzZS1lbSgkZmVhdHVyZSl9JztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAnI3skZGVmYXVsdH06ICN7JGZlYXR1cmV9JztcbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnQgUGllY2VzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJkb3VibGUvZGVmYXVsdC1wYWlyXCI7XG5AaW1wb3J0IFwiZG91YmxlL2RvdWJsZS1zdHJpbmdcIjtcbkBpbXBvcnQgXCJkb3VibGUvZGVmYXVsdFwiO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1kb3VibGUoJGZlYXR1cmUsICRlbXB0eS1tZWRpYSwgJGZpcnN0KSB7XG4gICRwYXJzZWQ6ICcnO1xuICAkbGVhZGVyOiAnJztcbiAgLy8gSWYgd2UncmUgZm9yY2luZ1xuICBAaWYgbm90ICgkZW1wdHktbWVkaWEpIG9yIG5vdCAoJGZpcnN0KSB7XG4gICAgJGxlYWRlcjogJ2FuZCAnO1xuICB9XG5cbiAgJGZpcnN0OiBudGgoJGZlYXR1cmUsIDEpO1xuICAkc2Vjb25kOiBudGgoJGZlYXR1cmUsIDIpO1xuXG4gIC8vIElmIHdlJ3ZlIGdvdCB0d28gbnVtYmVycywgd2Uga25vdyB3ZSBuZWVkIHRvIHVzZSB0aGUgZGVmYXVsdCBwYWlyIGJlY2F1c2UgdGhlcmUgYXJlIG5vIG1lZGlhIHF1ZXJpZXMgdGhhdCBoYXMgYSBtZWRpYSBmZWF0dXJlIHRoYXQgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJGZpcnN0KSA9PSAnbnVtYmVyJyBhbmQgdHlwZS1vZigkc2Vjb25kKSA9PSAnbnVtYmVyJyB7XG4gICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1kZWZhdWx0LXBhaXIoJGZpcnN0LCAkc2Vjb25kKTtcbiAgfVxuICAvLyBJZiB0aGV5IGFyZSBib3RoIHN0cmluZ3MsIHdlIHNlbmQgaXQgdGhyb3VnaCB0aGUgc3RyaW5nIHBhcnNlclxuICBAZWxzZSBpZiB0eXBlLW9mKCRmaXJzdCkgPT0gJ3N0cmluZycgYW5kIHR5cGUtb2YoJHNlY29uZCkgPT0gJ3N0cmluZycge1xuICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlLXN0cmluZygkZmlyc3QsICRzZWNvbmQpO1xuICB9XG4gIC8vIElmIGl0J3MgYSBzdHJpbmcvbnVtYmVyIHBhaXIsIHdlIHBhcnNlIGl0IGFzIGEgbm9ybWFsIGRvdWJsZVxuICBAZWxzZSB7XG4gICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1kb3VibGUtZGVmYXVsdCgkZmlyc3QsICRzZWNvbmQpO1xuICB9XG5cbiAgQHJldHVybiAkbGVhZGVyICsgJHBhcnNlZDtcbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRlZmF1bHQtcGFpcigkZmlyc3QsICRzZWNvbmQpIHtcbiAgJGRlZmF1bHQ6IGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IHBhaXInKTtcbiAgJG1pbjogJyc7XG4gICRtYXg6ICcnO1xuXG4gIC8vIFNvcnQgaW50byBtaW4gYW5kIG1heFxuICAkbWluOiBtaW4oJGZpcnN0LCAkc2Vjb25kKTtcbiAgJG1heDogbWF4KCRmaXJzdCwgJHNlY29uZCk7XG5cbiAgLy8gU2V0IENvbnRleHRcbiAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQobWluLSN7JGRlZmF1bHR9LCAkbWluKTtcbiAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQobWF4LSN7JGRlZmF1bHR9LCAkbWF4KTtcblxuICAvLyBNYWtlIHRoZW0gRU1zIGlmIG5lZWQgYmVcbiAgQGlmIChicmVha3BvaW50LWdldCgndG8gZW1zJykgPT0gdHJ1ZSkge1xuICAgICRtaW46IGJyZWFrcG9pbnQtdG8tYmFzZS1lbSgkbWluKTtcbiAgICAkbWF4OiBicmVha3BvaW50LXRvLWJhc2UtZW0oJG1heCk7XG4gIH1cblxuICBAcmV0dXJuICcobWluLSN7JGRlZmF1bHR9OiAjeyRtaW59KSBhbmQgKG1heC0jeyRkZWZhdWx0fTogI3skbWF4fSknO1xufVxuIiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlLXN0cmluZygkZmlyc3QsICRzZWNvbmQpIHtcbiAgJGZlYXR1cmU6ICcnO1xuICAkdmFsdWU6ICcnO1xuXG4gIC8vIFRlc3QgdG8gc2VlIHdoaWNoIGlzIHRoZSBmZWF0dXJlIGFuZCB3aGljaCBpcyB0aGUgdmFsdWVcbiAgQGlmIChicmVha3BvaW50LXN0cmluZy12YWx1ZSgkZmlyc3QpID09IHRydWUpIHtcbiAgICAkZmVhdHVyZTogJGZpcnN0O1xuICAgICR2YWx1ZTogJHNlY29uZDtcbiAgfVxuICBAZWxzZSBpZiAoYnJlYWtwb2ludC1zdHJpbmctdmFsdWUoJHNlY29uZCkgPT0gdHJ1ZSkge1xuICAgICRmZWF0dXJlOiAkc2Vjb25kO1xuICAgICR2YWx1ZTogJGZpcnN0O1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiBcIk5laXRoZXIgI3skZmlyc3R9IG5vciAjeyRzZWNvbmR9IGlzIGEgdmFsaWQgbWVkaWEgcXVlcnkgbmFtZS5cIjtcbiAgfVxuXG4gIC8vIFNldCBDb250ZXh0XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCRmZWF0dXJlLCAkdmFsdWUpO1xuXG4gIEByZXR1cm4gJygjeyRmZWF0dXJlfTogI3skdmFsdWV9KSc7XG59IiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlLWRlZmF1bHQoJGZpcnN0LCAkc2Vjb25kKSB7XG4gICRmZWF0dXJlOiAnJztcbiAgJHZhbHVlOiAnJztcblxuICBAaWYgdHlwZS1vZigkZmlyc3QpID09ICdzdHJpbmcnIHtcbiAgICAkZmVhdHVyZTogJGZpcnN0O1xuICAgICR2YWx1ZTogJHNlY29uZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgJGZlYXR1cmU6ICRzZWNvbmQ7XG4gICAgJHZhbHVlOiAkZmlyc3Q7XG4gIH1cblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgkZmVhdHVyZSwgJHZhbHVlKTtcblxuICBAaWYgKGJyZWFrcG9pbnQtZ2V0KCd0byBlbXMnKSA9PSB0cnVlKSB7XG4gICAgJHZhbHVlOiBicmVha3BvaW50LXRvLWJhc2UtZW0oJHZhbHVlKTtcbiAgfVxuXG4gIEByZXR1cm4gJygjeyRmZWF0dXJlfTogI3skdmFsdWV9KSdcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IFBpZWNlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwidHJpcGxlL2RlZmF1bHRcIjtcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtdHJpcGxlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCkge1xuICAkcGFyc2VkOiAnJztcbiAgJGxlYWRlcjogJyc7XG5cbiAgLy8gSWYgd2UncmUgZm9yY2luZ1xuICBAaWYgbm90ICgkZW1wdHktbWVkaWEpIG9yIG5vdCAoJGZpcnN0KSB7XG4gICAgJGxlYWRlcjogJ2FuZCAnO1xuICB9XG5cbiAgLy8gc2VwYXJhdGUgdGhlIHN0cmluZyBmZWF0dXJlcyBmcm9tIHRoZSB2YWx1ZSBudW1iZXJzXG4gICRzdHJpbmc6IG51bGw7XG4gICRudW1iZXJzOiBudWxsO1xuICBAZWFjaCAkdmFsIGluICRmZWF0dXJlIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsKSA9PSBzdHJpbmcge1xuICAgICAgJHN0cmluZzogJHZhbDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmIHR5cGUtb2YoJG51bWJlcnMpID09ICdudWxsJyB7XG4gICAgICAgICRudW1iZXJzOiAkdmFsO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkbnVtYmVyczogYXBwZW5kKCRudW1iZXJzLCAkdmFsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLXRyaXBsZS1kZWZhdWx0KCRzdHJpbmcsIG50aCgkbnVtYmVycywgMSksIG50aCgkbnVtYmVycywgMikpO1xuXG4gIEByZXR1cm4gJGxlYWRlciArICRwYXJzZWQ7XG5cbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLXRyaXBsZS1kZWZhdWx0KCRmZWF0dXJlLCAkZmlyc3QsICRzZWNvbmQpIHtcblxuICAvLyBTb3J0IGludG8gbWluIGFuZCBtYXhcbiAgJG1pbjogbWluKCRmaXJzdCwgJHNlY29uZCk7XG4gICRtYXg6IG1heCgkZmlyc3QsICRzZWNvbmQpO1xuXG4gIC8vIFNldCBDb250ZXh0XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1pbi0jeyRmZWF0dXJlfSwgJG1pbik7XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1heC0jeyRmZWF0dXJlfSwgJG1heCk7XG5cbiAgLy8gTWFrZSB0aGVtIEVNcyBpZiBuZWVkIGJlXG4gIEBpZiAoYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpID09IHRydWUpIHtcbiAgICAkbWluOiBicmVha3BvaW50LXRvLWJhc2UtZW0oJG1pbik7XG4gICAgJG1heDogYnJlYWtwb2ludC10by1iYXNlLWVtKCRtYXgpO1xuICB9XG5cbiAgQHJldHVybiAnKG1pbi0jeyRmZWF0dXJlfTogI3skbWlufSkgYW5kIChtYXgtI3skZmVhdHVyZX06ICN7JG1heH0pJztcbn1cbiIsIkBpbXBvcnQgXCJyZXNvbHV0aW9uL3Jlc29sdXRpb25cIjtcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtYnVpbGQtcmVzb2x1dGlvbigkcXVlcnktcHJpbnQsICRxdWVyeS1yZXNvbHV0aW9uLCAkZW1wdHktbWVkaWEsICRmaXJzdCkge1xuICAkbGVhZGVyOiAnJztcbiAgLy8gSWYgd2UncmUgZm9yY2luZ1xuICBAaWYgbm90ICgkZW1wdHktbWVkaWEpIG9yIG5vdCAoJGZpcnN0KSB7XG4gICAgJGxlYWRlcjogJ2FuZCAnO1xuICB9XG5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnKSBhbmQgJHF1ZXJ5LXJlc29sdXRpb24ge1xuICAgICRyZXNvbHV0aW9uczogYnJlYWtwb2ludC1tYWtlLXJlc29sdXRpb25zKCRxdWVyeS1yZXNvbHV0aW9uKTtcbiAgICAkbGVuZ3RoOiBsZW5ndGgoJHJlc29sdXRpb25zKTtcbiAgICAkcXVlcnktaG9sZGVyOiAnJztcblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGxlbmd0aCB7XG4gICAgICAkcXVlcnk6ICcjeyRxdWVyeS1wcmludH0gI3skbGVhZGVyfSN7bnRoKCRyZXNvbHV0aW9ucywgJGkpfSc7XG4gICAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6ICRxdWVyeTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogJyN7JHF1ZXJ5LWhvbGRlcn0sICN7JHF1ZXJ5fSc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBSZXR1cm4gd2l0aCBhdHRhY2hlZCByZXNvbHV0aW9uXG4gICAgQHJldHVybiAkcXVlcnktcHJpbnQ7XG4gIH1cbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LW1ha2UtcmVzb2x1dGlvbnMoJHJlc29sdXRpb24pIHtcbiAgJGxlbmd0aDogbGVuZ3RoKCRyZXNvbHV0aW9uKTtcblxuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgJGxlbmd0aCA9PSAyIHtcbiAgICAkZmVhdHVyZTogJyc7XG4gICAgJHZhbHVlOiAnJztcblxuICAgIC8vIEZpbmQgd2hpY2ggaXMgbnVtYmVyXG4gICAgQGlmIHR5cGUtb2YobnRoKCRyZXNvbHV0aW9uLCAxKSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiBudGgoJHJlc29sdXRpb24sIDEpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkdmFsdWU6IG50aCgkcmVzb2x1dGlvbiwgMik7XG4gICAgfVxuXG4gICAgLy8gRGV0ZXJtaW5lIG1pbi9tYXgvc3RhbmRhcmRcbiAgICBAaWYgaW5kZXgoJHJlc29sdXRpb24sICdtaW4tcmVzb2x1dGlvbicpIHtcbiAgICAgICRmZWF0dXJlOiAnbWluLSc7XG4gICAgfVxuICAgIEBlbHNlIGlmIGluZGV4KCRyZXNvbHV0aW9uLCAnbWF4LXJlc29sdXRpb24nKSB7XG4gICAgICAkZmVhdHVyZTogJ21heC0nO1xuICAgIH1cblxuICAgICRzdGFuZGFyZDogJygjeyRmZWF0dXJlfXJlc29sdXRpb246ICN7JHZhbHVlfSknO1xuXG4gICAgLy8gSWYgd2UncmUgbm90IGRlYWxpbmcgd2l0aCBkcHB4LFxuICAgIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ2RwcHgnIHtcbiAgICAgICRiYXNlOiA5NmRwaTtcbiAgICAgIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2RwY20nIHtcbiAgICAgICAgJGJhc2U6IDI0My44NGRwY207XG4gICAgICB9XG4gICAgICAvLyBXcml0ZSBvdXQgZmVhdHVyZSB0ZXN0c1xuICAgICAgJHdlYmtpdDogJyc7XG4gICAgICAkbW96OiAnJztcbiAgICAgICR3ZWJraXQ6ICcoLXdlYmtpdC0jeyRmZWF0dXJlfWRldmljZS1waXhlbC1yYXRpbzogI3skdmFsdWUgLyAkYmFzZX0pJztcbiAgICAgICRtb3o6ICcoI3skZmVhdHVyZX0tbW96LWRldmljZS1waXhlbC1yYXRpbzogI3skdmFsdWUgLyAkYmFzZX0pJztcbiAgICAgIC8vIEFwcGVuZCB0byBvdXRwdXRcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkc3RhbmRhcmQsIHNwYWNlKTtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkd2Via2l0LCBzcGFjZSk7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJG1veiwgc3BhY2UpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2Via2l0OiAnJztcbiAgICAgICRtb3o6ICcnO1xuICAgICAgJHdlYmtpdDogJygtd2Via2l0LSN7JGZlYXR1cmV9ZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyR2YWx1ZSAvIDFkcHB4fSknO1xuICAgICAgJG1vejogJygjeyRmZWF0dXJlfS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyR2YWx1ZSAvIDFkcHB4fSknO1xuICAgICAgJGZhbGxiYWNrOiAnKCN7JGZlYXR1cmV9cmVzb2x1dGlvbjogI3skdmFsdWUgLyAxZHBweCAqIDk2ZHBpfSknO1xuICAgICAgLy8gQXBwZW5kIHRvIG91dHB1dFxuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICRzdGFuZGFyZCwgc3BhY2UpO1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICR3ZWJraXQsIHNwYWNlKTtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkbW96LCBzcGFjZSk7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJGZhbGxiYWNrLCBzcGFjZSk7XG4gICAgfVxuXG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1uby1xdWVyeSgkcXVlcnkpIHtcbiAgQGlmIHR5cGUtb2YoJHF1ZXJ5KSA9PSAnbGlzdCcge1xuICAgICRrZXl3b3JkOiBudGgoJHF1ZXJ5LCAxKTtcblxuICAgIEBpZiB0eXBlLW9mKCRrZXl3b3JkKSA9PSAnc3RyaW5nJyBhbmQgKCRrZXl3b3JkID09ICduby1xdWVyeScgb3IgJGtleXdvcmQgPT0gJ25vIHF1ZXJ5JyBvciAka2V5d29yZCA9PSAnZmFsbGJhY2snKSB7XG4gICAgICBAcmV0dXJuIG50aCgkcXVlcnksIDIpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IHRoZSBCcmVha3BvaW50cyB2YXJpYWJsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xuJEJSRUFLUE9JTlRTOiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXNwb25kLXRvIEFQSSBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AbWl4aW4gcmVzcG9uZC10bygkY29udGV4dCwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaWYgbGVuZ3RoKCRicmVha3BvaW50cykgPiAwIGFuZCBsZW5ndGgoJEJSRUFLUE9JTlRTKSA9PSAwIHtcbiAgICBAd2FybiBcIkluIG9yZGVyIHRvIGF2b2lkIHZhcmlhYmxlIG5hbWVzcGFjZSBjb2xsaXNpb25zLCB3ZSBoYXZlIHVwZGF0ZWQgdGhlIHdheSB0byBhZGQgYnJlYWtwb2ludHMgZm9yIHJlc3BvbmQtdG8uIFBsZWFzZSBjaGFuZ2UgYWxsIGluc3RhbmNlcyBvZiBgJGJyZWFrcG9pbnRzOiBhZGQtYnJlYWtwb2ludCgpYCB0byBgQGluY2x1ZGUgYWRkLWJyZWFrcG9pbnQoKWAuIFRoZSBgYWRkLWJyZWFrcG9pbnQoKWAgZnVuY3Rpb24gd2lsbCBiZSBkZXByZWNhdGVkIGluIGEgZnV0dXJlIHJlbGVhc2UuXCI7XG4gICAgJEJSRUFLUE9JTlRTOiAkYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgICAkYnJlYWtwb2ludHM6ICgpICFnbG9iYWw7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkQlJFQUtQT0lOVFMpICE9ICdtYXAnIHtcbiAgICAvLyBKdXN0IGluIGNhc2Ugc29tZW9uZSB3cml0ZXMgZ2liYmVyaXNoIHRvIHRoZSAkYnJlYWtwb2ludHMgdmFyaWFibGUuXG4gICAgQHdhcm4gXCJZb3VyIGJyZWFrcG9pbnRzIGFyZW4ndCBhIG1hcCEgYHJlc3BvbmQtdG9gIGV4cGVjdHMgYSBtYXAuIFBsZWFzZSBjaGVjayB0aGUgdmFsdWUgb2YgJEJSRUFLUE9JTlRTIHZhcmlhYmxlLlwiO1xuICAgIEBjb250ZW50O1xuICB9XG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRCUkVBS1BPSU5UUywgJGNvbnRleHQpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1hcC1nZXQoJEJSRUFLUE9JTlRTLCAkY29udGV4dCksICRuby1xdWVyeSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmIG5vdCBtYXAtaGFzLWtleSgkQlJFQUtQT0lOVFMsICRjb250ZXh0KSB7XG4gICAgQHdhcm4gXCJgI3skY29udGV4dH1gIGlzbid0IGEgZGVmaW5lZCBicmVha3BvaW50ISBQbGVhc2UgYWRkIGl0IHVzaW5nIGAkYnJlYWtwb2ludHM6IGFkZC1icmVha3BvaW50KGAjeyRjb250ZXh0fWAsICR2YWx1ZSk7YFwiO1xuICAgIEBjb250ZW50O1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiBcIllvdSBoYXZlbid0IGNyZWF0ZWQgYW55IGJyZWFrcG9pbnRzIHlldCEgTWFrZSBzb21lIGFscmVhZHkhIGBAaW5jbHVkZSBhZGQtYnJlYWtwb2ludCgkbmFtZSwgJGJrcHQpYFwiO1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQWRkIEJyZWFrcG9pbnQgdG8gQnJlYWtwb2ludHNcbi8vIFRPRE86IFJlbW92ZSBmdW5jdGlvbiBpbiBuZXh0IHJlbGVhc2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGFkZC1icmVha3BvaW50KCRuYW1lLCAkYmtwdCwgJG92ZXJ3cml0ZTogZmFsc2UpIHtcbiAgJG91dHB1dDogKCRuYW1lOiAkYmtwdCk7XG5cbiAgQGlmIGxlbmd0aCgkYnJlYWtwb2ludHMpID09IDAge1xuICAgIEByZXR1cm4gJG91dHB1dDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIGFuZCAkb3ZlcndyaXRlICE9IHRydWUge1xuICAgICAgQHdhcm4gXCJZb3UgYWxyZWFkeSBoYXZlIGEgYnJlYWtwb2ludCBuYW1lZCBgI3skbmFtZX1gLCBwbGVhc2UgY2hvb3NlIGFub3RoZXIgYnJlYWtwb2ludCBuYW1lLCBvciBwYXNzIGluIGAkb3ZlcndyaXRlOiB0cnVlYCB0byBvdmVyd3JpdGUgdGhlIHByZXZpb3VzIGJyZWFrcG9pbnQuXCI7XG4gICAgICBAcmV0dXJuICRicmVha3BvaW50cztcbiAgICB9XG4gICAgQGVsc2UgaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIG9yICRvdmVyd3JpdGUgPT0gdHJ1ZSB7XG4gICAgICBAcmV0dXJuIG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICRvdXRwdXQpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYWRkLWJyZWFrcG9pbnQoJG5hbWUsICRia3B0LCAkb3ZlcndyaXRlOiBmYWxzZSkge1xuICAkb3V0cHV0OiAoJG5hbWU6ICRia3B0KTtcblxuICBAaWYgbGVuZ3RoKCRCUkVBS1BPSU5UUykgPT0gMCB7XG4gICAgJEJSRUFLUE9JTlRTOiAkb3V0cHV0ICFnbG9iYWw7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkQlJFQUtQT0lOVFMsICRuYW1lKSBhbmQgJG92ZXJ3cml0ZSAhPSB0cnVlIHtcbiAgICAgIEB3YXJuIFwiWW91IGFscmVhZHkgaGF2ZSBhIGJyZWFrcG9pbnQgbmFtZWQgYCN7JG5hbWV9YCwgcGxlYXNlIGNob29zZSBhbm90aGVyIGJyZWFrcG9pbnQgbmFtZSwgb3IgcGFzcyBpbiBgJG92ZXJ3cml0ZTogdHJ1ZWAgdG8gb3ZlcndyaXRlIHRoZSBwcmV2aW91cyBicmVha3BvaW50LlwiO1xuICAgICAgJEJSRUFLUE9JTlRTOiAkQlJFQUtQT0lOVFMgIWdsb2JhbDtcbiAgICB9XG4gICAgQGVsc2UgaWYgbm90IG1hcC1oYXMta2V5KCRCUkVBS1BPSU5UUywgJG5hbWUpIG9yICRvdmVyd3JpdGUgPT0gdHJ1ZSB7XG4gICAgICAkQlJFQUtQT0lOVFM6IG1hcC1tZXJnZSgkQlJFQUtQT0lOVFMsICRvdXRwdXQpICFnbG9iYWw7XG4gICAgfVxuICB9XG59XG5cbkBmdW5jdGlvbiBnZXQtYnJlYWtwb2ludCgkbmFtZTogZmFsc2UpIHtcbiAgQGlmICRuYW1lID09IGZhbHNlIHtcbiAgICBAcmV0dXJuICRCUkVBS1BPSU5UUztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRCUkVBS1BPSU5UUywgJG5hbWUpO1xuICB9XG59XG4iLCJAbWl4aW4gbGVnYWN5LXNldHRpbmdzLXdhcm5pbmcge1xuICAkbGVnYWN5VmFyczogKFxuICAgICdkZWZhdWx0LW1lZGlhJzogJ2RlZmF1bHQgbWVkaWEnLFxuICAgICdkZWZhdWx0LWZlYXR1cmUnOiAnZGVmYXVsdCBmZWF0dXJlJyxcbiAgICAnZm9yY2UtbWVkaWEtYWxsJzogJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJyxcbiAgICAndG8tZW1zJzogJ3RvIGVtcycsXG4gICAgJ3Jlc29sdXRpb25zJzogJ3RyYW5zZm9ybSByZXNvbHV0aW9ucycsXG4gICAgJ25vLXF1ZXJpZXMnOiAnbm8gcXVlcmllcycsXG4gICAgJ25vLXF1ZXJ5LWZhbGxiYWNrcyc6ICdubyBxdWVyeSBmYWxsYmFja3MnLFxuICAgICdiYXNlLWZvbnQtc2l6ZSc6ICdiYXNlIGZvbnQgc2l6ZScsXG4gICAgJ2xlZ2FjeS1zeW50YXgnOiAnbGVnYWN5IHN5bnRheCdcbiAgKTtcblxuICBAZWFjaCAkbGVnYWN5LCAkbmV3IGluICRsZWdhY3lWYXJzIHtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC0nICsgJGxlZ2FjeSkge1xuICAgICAgQHdhcm4gXCJJbiBvcmRlciB0byBhdm9pZCB2YXJpYWJsZSBuYW1zcGFjZSBjb2xsaXNpb25zLCB3ZSBoYXZlIHVwZGF0ZWQgdGhlIHdheSB0byBjaGFuZ2Ugc2V0dGluZ3MgZm9yIEJyZWFrcG9pbnQuIFBsZWFzZSBjaGFuZ2UgYWxsIGluc3RhbmNlcyBvZiBgJGJyZWFrcG9pbnQtI3skbGVnYWN5fToge3tzZXR0aW5nfX1gIHRvIGBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnI3skbmV3fScsIHt7c2V0dGluZ319KWAuIFZhcmlhYmxlIHNldHRpbmdzLCBhcyB3ZWxsIGFzIHRoaXMgd2FybmluZyB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS5cIlxuICAgIH1cbiAgfTtcblxuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gSGFuZCBjb3JyZWN0IGVhY2ggc2V0dGluZ1xuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtZGVmYXVsdC1tZWRpYScpIGFuZCAkYnJlYWtwb2ludC1kZWZhdWx0LW1lZGlhICE9IGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdkZWZhdWx0IG1lZGlhJywgJGJyZWFrcG9pbnQtZGVmYXVsdC1tZWRpYSk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtZGVmYXVsdC1mZWF0dXJlJykgYW5kICRicmVha3BvaW50LWRlZmF1bHQtZmVhdHVyZSAhPSBicmVha3BvaW50LWdldCgnZGVmYXVsdCBmZWF0dXJlJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdkZWZhdWx0IGZlYXR1cmUnLCAkYnJlYWtwb2ludC1kZWZhdWx0LWZlYXR1cmUpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LWZvcmNlLW1lZGlhLWFsbCcpIGFuZCAkYnJlYWtwb2ludC1mb3JjZS1tZWRpYS1hbGwgIT0gYnJlYWtwb2ludC1nZXQoJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdmb3JjZSBhbGwgbWVkaWEgdHlwZScsICRicmVha3BvaW50LWZvcmNlLW1lZGlhLWFsbCk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtdG8tZW1zJykgYW5kICRicmVha3BvaW50LXRvLWVtcyAhPSBicmVha3BvaW50LWdldCgndG8gZW1zJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCd0byBlbXMnLCAkYnJlYWtwb2ludC10by1lbXMpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LXJlc29sdXRpb25zJykgYW5kICRicmVha3BvaW50LXJlc29sdXRpb25zICE9IGJyZWFrcG9pbnQtZ2V0KCd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ3RyYW5zZm9ybSByZXNvbHV0aW9ucycsICRicmVha3BvaW50LXJlc29sdXRpb25zKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1uby1xdWVyaWVzJykgYW5kICRicmVha3BvaW50LW5vLXF1ZXJpZXMgIT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ25vIHF1ZXJpZXMnLCAkYnJlYWtwb2ludC1uby1xdWVyaWVzKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1uby1xdWVyeS1mYWxsYmFja3MnKSBhbmQgJGJyZWFrcG9pbnQtbm8tcXVlcnktZmFsbGJhY2tzICE9IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycsICRicmVha3BvaW50LW5vLXF1ZXJ5LWZhbGxiYWNrcyk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtYmFzZS1mb250LXNpemUnKSBhbmQgJGJyZWFrcG9pbnQtYmFzZS1mb250LXNpemUgIT0gYnJlYWtwb2ludC1nZXQoJ2Jhc2UgZm9udCBzaXplJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdiYXNlIGZvbnQgc2l6ZScsICRicmVha3BvaW50LWJhc2UtZm9udC1zaXplKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1sZWdhY3ktc3ludGF4JykgYW5kICRicmVha3BvaW50LWxlZ2FjeS1zeW50YXggIT0gYnJlYWtwb2ludC1nZXQoJ2xlZ2FjeSBzeW50YXgnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ2xlZ2FjeSBzeW50YXgnLCAkYnJlYWtwb2ludC1sZWdhY3ktc3ludGF4KTtcbiAgfVxufSIsIkBpbXBvcnQgJy4uL2JyZWFrcG9pbnQnO1xyXG4kbGc0IDogbWF4LXdpZHRoICAxMjYwcHg7XHJcbiRsZzMgOiBtYXgtd2lkdGggIDE0MDBweDtcclxuJGxnMiA6IG1heC13aWR0aCAgMTAyM3B4O1xyXG4kbGcxIDogbWF4LXdpZHRoICA5NDBweDtcclxuJGxnIDogbWF4LXdpZHRoICA3NjdweDtcclxuJGxneCA6IG1heC13aWR0aCA3MDBweDtcclxuJG1nIDogbWF4LXdpZHRoIDY0MHB4O1xyXG4kbWQgOiBtYXgtd2lkdGggNDgwcHg7XHJcbiRzbSA6IG1heC13aWR0aCAzNjBweDtcclxuJHhzIDogbWF4LXdpZHRoIDMyMHB4O1xyXG5cclxuJGNvcl9ibHVlOiMzMTQzNmI7XHJcbiRjb3JfYmx1ZTI6IzYzN2ZkMjtcclxuJGNvcl9waW5rOiNmMDUyOTE7XHJcbiRjb3JfZ3JheTojNWQ1ZDVkO1xyXG4kY29yX2RhcmtncmF5OiMzMzM7XHJcbiRjb3JfZGFya2JsdWU6Izc4N2Q5YTtcclxuXHJcbmF7cGFkZGluZzowO31cclxuIC5qb2hubnktdXRhaCB7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGd4KSB7XHJcbiAgICBjb250ZW50OiAnV2hvYS4nO1xyXG4gIH1cclxuICBcclxufVxyXG5AbWl4aW4gZWxse1xyXG4gb3ZlcmZsb3c6aGlkZGVuO1xyXG4gd2hpdGUtc3BhY2U6bm93cmFwO1xyXG4gdGV4dC1vdmVyZmxvdzplbGxpcHNpcztcclxuIGRpc3BsYXk6YmxvY2s7XHJcbn1cclxuQG1peGluIGNsZWFyZml4IHsgZGlzcGxheTogYmxvY2s7IFxyXG5cdCY6YmVmb3JlLCY6YWZ0ZXJ7IGNvbnRlbnQ6IFwiLlwiOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAwOyBjbGVhcjogYm90aDsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XHJcbn1cclxuXHJcbkBtaXhpbiBib3Ixe1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxufVxyXG5cclxuLmNsZWFyLWxnMntjbGVhcjpib3RoO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSkge2NsZWFyOm5vbmV9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpIHtjbGVhcjpib3RoO31cclxufVxyXG4uY2xlYXItbGcxe1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMikge2NsZWFyOm5vbmV9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKSB7Y2xlYXI6Ym90aH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZ3gpIHtjbGVhcjpub25lfVxyXG59XHJcbi5sZzJ7ZGlzcGxheTpibG9jaztcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpIHtcclxuXHRcdFx0ZGlzcGxheTpub25lO1xyXG5cdFx0fVxyXG59XHJcbi5sZzF7ZGlzcGxheTpub25lO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSkge1xyXG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0fVxyXG59XHJcblxyXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBb0JtQkEsQUFBQSxDQUFDLENBQUEsRUFBQyxPQUFPLEVBQUMsQ0FBQyxHQUFJOztBbkI2Q1gsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLEltQjVDNUIsQUFBQSxZQUFZLENBQUMsRUFFVixPQUFPLEVBQUUsT0FBTyxHQUduQjs7QUFlRCxBQUFBLFVBQVUsQ0FBQSxFQUFDLEtBQUssRUFBQyxJQUFJLEdBR3BCOztBbkJxQkcsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLEltQnhCN0IsQUFBQSxVQUFVLENBQUEsRUFDa0IsS0FBSyxFQUFDLElBQUksR0FFckM7O0FuQnFCRyxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSW1CeEI3QixBQUFBLFVBQVUsQ0FBQSxFQUVpQixLQUFLLEVBQUMsSUFBSSxHQUNwQzs7QW5CcUJHLE1BQU0sRUFBRyxTQUFTLEVBQUUsTUFBTSxJbUJwQjlCLEFBQUEsVUFBVSxDQUFBLEVBQ2tCLEtBQUssRUFBQyxJQUFJLEdBR3JDOztBbkJnQkcsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLEltQnBCN0IsQUFBQSxVQUFVLENBQUEsRUFFa0IsS0FBSyxFQUFDLElBQUksR0FFckM7O0FuQmdCRyxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSW1CcEI3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 */

#header #tLink .sns{padding:0;width:32px;height:28px;text-indent:-9999em;}
#header #tLink .sns.icon1{background:url(/static/images/common/ico/icon_tLink_sns1.png) no-repeat center center;}
#header #tLink .sns.icon2{background:url(/static/images/common/ico/icon_tLink_sns2.png) no-repeat center center;}
#header #tLink a{vertical-align:middle;}
/* @media (max-width:767px){ */
/* 	#header #tLink{display:block;top:10px;right:100px;} */
/* 	#header #tLink .ev, */
/* 	#header #tLink .fv{display:none;} */
/* 	#header #tLink .sns{width:47px;height:47px;border-radius:3px;} */
/* 	#header #tLink .sns.icon1{background:url(/static/images/common/ico/icon_tLink_sns1_m.png) no-repeat center center;} */
/* 	#header #tLink .sns.icon2{background:url(/static/images/common/ico/icon_tLink_sns2_m.png) no-repeat center center;} */
/* } */
/* @media (max-width:420px){ */
/* 	#header #logo img{width:150px;} */
/* 	#header #tLink .sns{width:37px;} */
/* } */

.bbsView .bbsCon iframe{width:100%;height:auto;min-height:500px;}

@media (max-width:630px){
	.bbsView .bbsCon iframe{min-height:300px;}
}


