@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: 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; background: #f2f4f7 url(/static/images/common/bg_top.gif) repeat-x left top; }

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

body.eng { font-family: Arial,sans-serif; }

#bgW { display: none; background: rgba(0, 0, 0, 0.7); position: fixed; width: 100%; z-index: 200; 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; }

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

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

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

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

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

#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 .ps { background: #1a2851 url(/static/images/common/ico/ico_w_portal.png) no-repeat 10px center; padding: 5px 15px 5px 38px; }

#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: 38px; right: 0; }

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

#header #global a { font-size: 0.95em; background: url(/static/images/global/common/line.gif) right center no-repeat; padding-right: 16px; color: #1a2851; font-weight: bold; }

#gnbWrap { position: relative; z-index: 150; top: 20px; padding-right: 48px; }

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

#gnbWrap1 { position: relative; z-index: 150; top: 20px; padding-right: 95px; }

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

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

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

#gnb > ul { position: relative; z-index: 100; }

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

#gnb.gnbtype > ul > li { width: 16.66%; }

#gnb > ul > li { float: left; position: relative; width: 14.28%; }

#gnb > ul > li > a { color: #fff; font-size: 13px; padding: 17px 0; font-weight: 600; display: block; white-space: nowrap; display: block; line-height: 1; text-align: center; letter-spacing: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; }

#gnb > ul > li > a:after { content: ''; display: block; position: absolute; top: 0; border-left: 1px solid #f586b2; width: 1px; height: 47px; }

#gnb > ul > li > ul { position: absolute; left: 0; top: 47px; padding-top: 18px; display: none; border: 1px solid #f05291; border-top: 1px solid #fff; width: 145px; }

#gnb > ul > li.hover > ul { display: block; background: #fff; padding: 10px 12px; text-align: left; }

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

#gnb > ul > li > ul > li > a { font-size: 12.5px; padding: 2px 0 0 8px; color: #000; }

#gnb > ul > li > ul > li:before { content: "- "; display: inline-block; float: left; }

#gnb > ul > li > ul > li > ul { padding-bottom: 8px; text-align: left; }

#gnb > ul > li > ul > li > ul li a { font-size: 13px; color: #757575; padding: 2px 10px; }

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

#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/global/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/global/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/global/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/global/common/navOpen.png) right 0 no-repeat; padding-right: 36px; color: #93dbff; height: 26px; font-size: 16px; }

.tsh { float: left; width: 20.1%; min-width: 48px; position: relative; height: 47px; background: #1a2952; font-size: 0.95em; display: none; position: absolute; right: 90px; 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: 13px; right: 35px; }

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

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

.schBtn { display: none !important; }

.schBtn.on { position: absolute; top: 0; right: 48px; display: block !important; }

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

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

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

@media (max-width: 767px) { .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 { background: #fff; }

#lnb h2 { 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.1; word-break: break-all; }

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

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

#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; letter-spacing: -0.5px; }

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

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

#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 { font-weight: bold; background: url(/static/images/common/bu_lnb1_on.png) left 12px no-repeat; }

#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: 33.33%; }

#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; background: #fff url("/images/common/bu_arr_down.png") no-repeat center bottom; 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; } }

.wbox { padding: 1em 1.7em; 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; } }

.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; }

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

#footer { background: #fff; margin-top: 30px; border-top: 1px solid #dee3eb; }

#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.type { padding-top: 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) 90% 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: 10px; }

.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; }

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

.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; }

.mainV > div { float: left; max-width: 1260px; }

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

@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; padding: 30px 3px 5px 3px; }

#quick > .view a, #quick > .viewClose a { position: absolute; width: 100%; height: 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/global/common/arr_pink_left.png) no-repeat 8px 15px; }

#quick > .viewClose { display: none; background: #474a5b url(/static/images/global/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/global/common/quick_line2.gif) no-repeat left center; padding: 1px 10px; }

#quick .quick_area > ul > li.on > ul > li.last { background: url(/static/images/global/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/global/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; }

.qMenuMobile { text-align: right; margin: 0 5px 5px 0; }

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

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

#Allmenu { position: absolute; top: 140px; z-index: 202; 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.type > .Allmw > div > ul > li { min-height: 280px; }

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

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

#Allmenu > .Allmenu_box > div.Allmw { padding: 1% 2% 2% 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; margin-bottom: 2%; }

#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: 8px; 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: 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.type > li { width: 25%; min-height: 200px; }

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

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

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

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

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

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li { width: 25%; padding: 1% 1.5%; float: left; color: #333; border: 1px solid #b2b4bf; background: #f5f6fa; min-height: 150px; 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 > a { letter-spacing: -1px; font-weight: 600; font-size: 1.10em; 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; }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li.end { padding: 0; }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li > .type { padding: 0; min-height: 148px; width: 50%; float: left; }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li > .type a { color: #fff; }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li > .type.site { background: #474a5b url(/static/images/common/ico_all1.png) no-repeat center 10px; text-align: center; padding: 65px 0 0 0; color: #fff; background-size: 45px; }

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

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li > .type.site ul { margin-top: 0; }

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

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

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

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

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

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

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

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

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

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li > .type.eng { width: 100%; min-height: 139px; }

#Allmenu > .Allmenu_box > div.Allmw > div > ul > li > .type p { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; }

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

.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsL2xheW91dC5jc3MiLCJzb3VyY2VzIjpbImdsb2JhbC9sYXlvdXQuc2NzcyIsIl9icmVha3BvaW50LnNjc3MiLCJicmVha3BvaW50L19zZXR0aW5ncy5zY3NzIiwiYnJlYWtwb2ludC9fY29udGV4dC5zY3NzIiwiYnJlYWtwb2ludC9faGVscGVycy5zY3NzIiwiYnJlYWtwb2ludC9fcGFyc2Vycy5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL19xdWVyeS5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL19zaW5nbGUuc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy9zaW5nbGUvX2RlZmF1bHQuc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy9fZG91YmxlLnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvZG91YmxlL19kZWZhdWx0LXBhaXIuc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy9kb3VibGUvX2RvdWJsZS1zdHJpbmcuc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy9kb3VibGUvX2RlZmF1bHQuc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy9fdHJpcGxlLnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvdHJpcGxlL19kZWZhdWx0LnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvX3Jlc29sdXRpb24uc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy9yZXNvbHV0aW9uL19yZXNvbHV0aW9uLnNjc3MiLCJicmVha3BvaW50L19uby1xdWVyeS5zY3NzIiwiYnJlYWtwb2ludC9fcmVzcG9uZC10by5zY3NzIiwiYnJlYWtwb2ludC9fbGVnYWN5LXNldHRpbmdzLnNjc3MiLCJnbG9iYWwvYmFzZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJy4uL2JyZWFrcG9pbnQnO1xyXG5AaW1wb3J0ICdiYXNlLnNjc3MnO1xyXG5cclxuXHJcbnRhYmxlIHRkeyB3b3JkLWJyZWFrIDogYnJlYWstYWxsfVxyXG5ib2R5e2ZvbnQtZmFtaWx5OiBcIuunkeydgOqzoOuUlVwiLFwibWFsZ3VuIGdvdGhpY1wiLFwi64KY64iU6rOg65SVXCIsXCJOYW51bSBHb3RoaWNcIixcIkFwcGxlR290aGljXCIsXCLrj4vsm4BcIixcImRvdHVtXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjAuODVlbTtjb2xvcjojMmQzNzQwO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6I2YyZjRmNyB1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL2JnX3RvcC5naWYpIHJlcGVhdC14IGxlZnQgdG9wO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdFx0YmFja2dyb3VuZDpub25lO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiNmMmY0Zjc7XHJcblx0XHR9XHJcblx0XHQmLmVuZ3tmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO31cclxuXHR9IFxyXG4jYmdXe2Rpc3BsYXk6bm9uZTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC43KTtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO3otaW5kZXg6MjAwO3RvcDowO2hlaWdodDoxMDAlO31cclxuI3dyYXBwZXJ7bWF4LXdpZHRoOjEwMCU7bWFyZ2luOiAwIGF1dG87bWluLXdpZHRoOjMyMHB4O2JhY2tncm91bmQ6IHVybCgvc3RhdGljL2ltYWdlcy9jb21tb24vc3ViX3Zpc3VhbC5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgMTQwcHg7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdGJhY2tncm91bmQ6bm9uZTtcclxuXHR9XHJcbn1cclxuI2hlYWRlciAjbG9nb3t0ZXh0LWFsaWduOmNlbnRlcjtoZWlnaHQ6NTZweDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHRcdHRleHQtYWxpZ246bGVmdDtcclxuXHRcdFx0ZmxvYXQ6bGVmdDtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6MTBweDtcclxuXHRcdCAgfVxyXG5cdGltZ3tcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHQgICAgd2lkdGg6MTkwcHg7bWFyZ2luLXRvcDoxM3B4O1xyXG5cdFx0ICB9XHJcblx0fVxyXG5cclxufVxyXG4jaGVhZGVye2hlaWdodDoxNDBweDttYXgtd2lkdGg6MTI2MHB4O3dpZHRoOjEwMCU7bWFyZ2luOjAgYXV0bztwYWRkaW5nLXRvcDoxN3B4O3Bvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnNCkge1xyXG5cdFx0cGFkZGluZzoxN3B4IDdweCAwIDdweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdGhlaWdodDo3MHB4O1xyXG5cdFx0cGFkZGluZy10b3A6MDtcclxuXHRcdGJhY2tncm91bmQ6I2ZmZjttYXJnaW4tYm90dG9tOjA7XHJcblx0fVxyXG5cdCN0TGlua3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGczKSB7XHJcblx0XHRcdHJpZ2h0OjEycHg7XHJcblx0XHQgIH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHRcdGRpc3BsYXk6bm9uZTtcclxuXHRcdCAgfVxyXG5cdH1cclxuXHQjdExpbmsgYXtwYWRkaW5nOjVweCA3cHggNXB4IDMwcHg7Zm9udC1zaXplOjAuODVlbTtmb250LXdlaWdodDpib2xkO2JvcmRlci1yYWRpdXM6IDAgMCAzcHggM3B4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiNmZmZ9XHJcblx0I3RMaW5rIC5wc3tiYWNrZ3JvdW5kOiMxYTI4NTEgdXJsKC9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9pY28vaWNvX3dfcG9ydGFsLnBuZykgbm8tcmVwZWF0IDEwcHggY2VudGVyO3BhZGRpbmc6NXB4IDE1cHggNXB4IDM4cHg7fVxyXG5cdCN0TGluayAuZnZ7YmFja2dyb3VuZDojNmRiYjY3IHVybCgvc3RhdGljL2ltYWdlcy9jb21tb24vaWNvL2ljb193X3BlcnNvbi5wbmcpIG5vLXJlcGVhdCA4cHggY2VudGVyO31cclxuXHQjZ2xvYmFsIHtmbG9hdDpyaWdodDtwb3NpdGlvbjogYWJzb2x1dGU7dG9wOjM4cHg7cmlnaHQ6MDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHRcdGRpc3BsYXk6bm9uZTtcclxuXHRcdCAgfVxyXG5cdH1cclxuXHQjZ2xvYmFsIGF7Zm9udC1zaXplOjAuOTVlbTtiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvZ2xvYmFsL2NvbW1vbi9saW5lLmdpZikgcmlnaHQgY2VudGVyIG5vLXJlcGVhdDtwYWRkaW5nLXJpZ2h0OjE2cHg7Y29sb3I6IzFhMjg1MTtmb250LXdlaWdodDpib2xkO31cclxufVxyXG4jZ25iV3JhcHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE1MDt0b3A6MjBweDtwYWRkaW5nLXJpZ2h0OjQ4cHg7XHJcblx0XHJcblx0ICBAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdCAgXHRmbG9hdDpyaWdodDt0b3A6MTBweDtcclxuXHQgIH1cclxufVxyXG4jZ25iV3JhcDF7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxNTA7dG9wOjIwcHg7cGFkZGluZy1yaWdodDo5NXB4O1xyXG5cdFxyXG5cdCAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHQgIFx0ZmxvYXQ6cmlnaHQ7dG9wOjEwcHg7XHJcblx0ICB9XHJcbn1cclxuI2duYntwYWRkaW5nOjA7aGVpZ2h0OiA0NnB4O21hcmdpbi1ib3R0b206IDdweDt9XHJcbiNnbmIgYXt0ZXh0LWRlY29yYXRpb246IG5vbmU7ZGlzcGxheTpibG9jazt9XHJcbiNnbmI+dWx7cG9zaXRpb246IHJlbGF0aXZlO3otaW5kZXg6IDEwMDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0ZGlzcGxheTpub25lO1xyXG5cdH1cclxufVxyXG4jZ25iLmduYnR5cGU+dWw+bGl7d2lkdGg6MTYuNjYlO31cclxuI2duYj51bD5saXtmbG9hdDogbGVmdDtwb3NpdGlvbjogcmVsYXRpdmU7d2lkdGg6MTQuMjglO1xyXG5cdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSkge2JvcmRlci1yaWdodDoxcHggc29saWQgI2Y1ODZiMjtcclxuXHQvLyBcdHdpZHRoOjE2LjYlO1xyXG5cdC8vIH1cclxufVxyXG4jZ25iPnVsPmxpOmZpcnN0LWNoaWxke1xyXG5cdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSkge1xyXG5cdC8vIFx0d2lkdGg6MTclO1xyXG5cdC8vIH1cclxufVxyXG5cclxuI2duYj51bD5saT5he2NvbG9yOiAjZmZmO2ZvbnQtc2l6ZTogMTNweDtwYWRkaW5nOiAxN3B4IDA7Zm9udC13ZWlnaHQ6NjAwO2Rpc3BsYXk6IGJsb2NrO3doaXRlLXNwYWNlOiBub3dyYXA7ZGlzcGxheTogYmxvY2s7bGluZS1oZWlnaHQ6IDE7dGV4dC1hbGlnbjogY2VudGVyO2xldHRlci1zcGFjaW5nOiAwO0BpbmNsdWRlIGVsbDt9XHJcbiNnbmI+dWw+bGk+YTphZnRlcntjb250ZW50OiAnJztkaXNwbGF5OiBibG9jaztwb3NpdGlvbjogYWJzb2x1dGU7dG9wOjA7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNmNTg2YjI7d2lkdGg6MXB4O2hlaWdodDo0N3B4O31cclxuLy8gI2duYiB1bD5saS5vbj5hOmFmdGVyLCAjZ25iIHVsPmxpLmhvdmVyPmE6YWZ0ZXJ7Y29udGVudDogJyc7ZGlzcGxheTogYmxvY2s7cG9zaXRpb246IGFic29sdXRlOyBiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvZ2xvYmFsL2NvbW1vbi9idV9nbmJPbi5naWYpIDAgMCBuby1yZXBlYXQ7IHdpZHRoOiAxNnB4O2hlaWdodDogMTFweDsgbGVmdDogMDsgdG9wOiAyMXB4OyB6LWluZGV4OjIwfVxyXG4jZ25iPnVsPmxpPnVse3Bvc2l0aW9uOiBhYnNvbHV0ZTtsZWZ0OiAwO3RvcDo0N3B4O3BhZGRpbmctdG9wOiAxOHB4O2Rpc3BsYXk6IG5vbmU7Ym9yZGVyOjFweCBzb2xpZCAjZjA1MjkxO2JvcmRlci10b3A6MXB4IHNvbGlkICNmZmY7d2lkdGg6MTQ1cHg7fVxyXG4jZ25iPnVsPmxpLmhvdmVyPnVse2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6MTBweCAxMnB4O3RleHQtYWxpZ246bGVmdDt9XHJcbiNnbmIudmlld0FsbD51bD5saT51bHtkaXNwbGF5OiBibG9jazt9XHJcbi8vICNnbmI+dWw+bGk+dWw+bGl7d2hpdGUtc3BhY2U6IG5vd3JhcDt9XHJcbiNnbmI+dWw+bGk+dWw+bGk+YXtmb250LXNpemU6IDEyLjVweDtwYWRkaW5nOiAycHggMCAwIDhweDtjb2xvcjogIzAwMDt9XHJcbiNnbmI+dWw+bGk+dWw+bGk6YmVmb3Jle2NvbnRlbnQ6XCItIFwiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0OmxlZnR9XHJcbiNnbmI+dWw+bGk+dWw+bGk+dWx7cGFkZGluZy1ib3R0b206IDhweDt0ZXh0LWFsaWduOmxlZnR9XHJcbiNnbmI+dWw+bGk+dWw+bGk+dWwgbGkgYXtmb250LXNpemU6IDEzcHg7Y29sb3I6ICM3NTc1NzU7cGFkZGluZzogMnB4IDEwcHg7fVxyXG4jZ25iPnVsPmxpPnVsLnZpZXd7ZGlzcGxheTpibG9jaztvdmVyZmxvdzp2aXNpYmxlO31cclxuI2duYiAudG90YWxTY2h7cG9zaXRpb246IGFic29sdXRlO3JpZ2h0OiAzNXB4O3RvcDogMjZweDtmb250LXdlaWdodDogNjAwO3BhZGRpbmctcmlnaHQ6IDA7aGVpZ2h0OjI2cHg7fVxyXG4jZ25iIC50b3RhbFNjaD5he2Rpc3BsYXk6YmxvY2s7fVxyXG4jZ25iIC50b3RhbFNjaD5hLnRvdGFsU2NoX29wZW57YmFja2dyb3VuZDogdXJsKC9zdGF0aWMvaW1hZ2VzL2dsb2JhbC9jb21tb24vYnRuX3RvdGFsc2NoLnBuZykgY2VudGVyIDVweCBuby1yZXBlYXQ7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDt9XHJcbiNnbmIgLnRvdGFsU2NoLm9ue2Rpc3BsYXk6bm9uZTt9XHJcbiNnbmIgLnRvdGFsU2NoX2Nsb3Nle2JhY2tncm91bmQ6IzMzMyB1cmwoL3N0YXRpYy9pbWFnZXMvZ2xvYmFsL2NvbW1vbi9idG5fc2NoY2xvc2UuZ2lmKSBjZW50ZXIgMCBuby1yZXBlYXQ7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtkaXNwbGF5Om5vbmU7fVxyXG4jZ25iIC50b3RhbFNjaF9jbG9zZTpob3ZlciwjZ25iIC50b3RhbFNjaF9jbG9zZTpmb2N1c3tiYWNrZ3JvdW5kOiMzMzMgdXJsKC9zdGF0aWMvaW1hZ2VzL2dsb2JhbC9jb21tb24vYnRuX3NjaGNsb3NlLmdpZikgY2VudGVyIDAgbm8tcmVwZWF0Ozt9XHJcbiNnbmIgLnRvdGFsU2NoX2FyZWF7cG9zaXRpb246IGFic29sdXRlO2JhY2tncm91bmQ6IzMzMztwYWRkaW5nOjE1cHg7d2lkdGg6MzAwcHg7cmlnaHQ6MzVweDt0b3A6NjNweDtkaXNwbGF5Om5vbmU7fVxyXG4jZ25iIC50b3RhbFNjaF9hcmVhIC5pbnB7Ym9yZGVyOjA7cGFkZGluZzowIDEwcHg7aGVpZ2h0OjMxcHg7d2lkdGg6MjMwcHg7fVxyXG4jZ25iIC50b3RhbFNjaF9hcmVhIC50b3RhbFNjaF9ib3h7YmFja2dyb3VuZDojZmZmO2Rpc3BsYXk6YmxvY2s7Ym9yZGVyLXJhZGl1czogM3B4O3BhZGRpbmc6NHB4O31cclxuI2duYiAubmF2Q2xvc2V7ZGlzcGxheTpub25lO3Bvc2l0aW9uOiBhYnNvbHV0ZTtyaWdodDogMDt0b3A6IDM1cHg7Zm9udC13ZWlnaHQ6IDYwMDtiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvZ2xvYmFsL2NvbW1vbi9uYXZPcGVuLnBuZykgcmlnaHQgMCBuby1yZXBlYXQ7cGFkZGluZy1yaWdodDogMzZweDtjb2xvcjogIzkzZGJmZjtoZWlnaHQ6IDI2cHg7Zm9udC1zaXplOiAxNnB4O31cclxuXHJcbi50c2h7ZmxvYXQ6bGVmdDt3aWR0aDoyMC4xJTttaW4td2lkdGg6NDhweDtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6NDdweDtiYWNrZ3JvdW5kOiMxYTI5NTI7Zm9udC1zaXplOjAuOTVlbTtkaXNwbGF5Om5vbmU7XHJcblx0XHJcblx0XHQgXHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdCBcdHJpZ2h0OjkwcHg7XHJcblx0XHQgXHR3aWR0aDoyMTBweDtcclxuXHRcdCBcdHotaW5kZXg6MTAwO1xyXG5cdFxyXG5cdC8vID5zcGFue2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLXJhZGl1czogNXB4O2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjNweCAzM3B4IDNweCA4cHg7bWFyZ2luOjdweCA3cHggMCA3cHg7XHJcblx0Ly8gfVxyXG5cdD5mb3JtPnNwYW57ZGlzcGxheTpibG9jazttYXJnaW4tcmlnaHQ6MDtib3JkZXItcmFkaXVzOiA1cHg7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6M3B4IDUwcHggM3B4IDhweDttYXJnaW46NnB4IDdweCAwIDdweDtcclxuXHRcdC5hY0Fycm93e2Rpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxM3B4O3JpZ2h0OjM1cHg7fVxyXG5cdH1cclxuXHQuaW5we2JvcmRlcjojZWZlZmVmO2hlaWdodDoyOHB4O2xpbmUtaGVpZ2h0OjI4cHg7YmFja2dyb3VuZDojZmZmO3dpZHRoOjEwMCV9XHJcblx0LmJ0bl9nbmJTY2h7cG9zaXRpb246IGFic29sdXRlO3JpZ2h0OjEycHg7dG9wOjEzcHh9XHJcbn1cclxuLnNjaEJ0bntkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9XHJcbi5zY2hCdG4ub257cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6NDhweDtkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7XHJcbn1cclxuLnNjaENsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjQ4cHg7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XHJcblx0IEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHQgXHRkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcclxuXHQgXHR9XHJcbn1cclxuLnNjaENsb3NlLm9ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjQ4cHg7ZGlzcGxheTpibG9jayAhaW1wb3J0YW50O1xyXG5cdCBAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0IFx0ZGlzcGxheTpibG9jayAhaW1wb3J0YW50O1xyXG5cdCBcdH1cclxufVxyXG4jY29udGFpbmVye2hlaWdodDphdXRvO3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEyNjBweDtwYWRkaW5nLXRvcDowO21hcmdpbjowIGF1dG87cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDo1MHB4O1xyXG5cdGltZ3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdCBcdG1hcmdpbi10b3A6MDtcclxuXHQgXHR9XHJcbn1cclxuXHJcbi5oZ3JvdXB7Y2xlYXI6Ym90aDt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OiBub25lO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0fVxyXG5cdGgye3BhZGRpbmc6My4zJSAwIDMuMjUlIDA7Zm9udC1zaXplOjIuNWVtO2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzotMXB4O2NvbG9yOiM0NzRhNWI7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0XHRmb250LXNpemU6MmVtO2N1cnNvcjogcG9pbnRlcjtcclxuXHRcdH1cclxuXHRcdD5zcGFue1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9idV9zZWxlY3RNLnBuZykgcmlnaHQgYm90dG9tIG5vLXJlcGVhdDtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXJpZ2h0OjM1cHg7fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHQubG5iMWRlcHQge2Rpc3BsYXk6IG5vbmU7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0XHQmLm9ue2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZDojZmZmO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjk4JTt6LWluZGV4OjEwMTtib3JkZXItdG9wOjA7bGVmdDoxJTtcclxuXHRcdFx0fVxyXG5cdFx0XHRsaXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZjA4N2IxO2NvbG9yOiNmZmY7ZGlzcGxheTogYmxvY2s7cGFkZGluZzozcHg7YmFja2dyb3VuZDojZjA1MjkxIHVybCgvc3RhdGljL2ltYWdlcy9jb21tb24vYnUxLmdpZikgMTBweCBjZW50ZXIgbm8tcmVwZWF0O1xyXG5cdFx0XHRcdGF7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmxlZnQ7ZGlzcGxheTpibG9jaztwYWRkaW5nOjNweCAzcHggM3B4IDE1cHg7fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiNsbmJXcmFwe21pbi13aWR0aDoxODBweDttYXgtd2lkdGg6MjgwcHg7d2lkdGg6MjIlO21hcmdpbi1yaWdodDoxJTtmbG9hdDpsZWZ0O1xyXG5cdCBAaW5jbHVkZSBicmVha3BvaW50KCRsZzIpIHtcclxuXHQgXHR3aWR0aDoxOSU7XHJcblx0IH1cclxuXHQgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSkge1xyXG5cdCBcdGRpc3BsYXk6bm9uZTtcclxuXHQgfVxyXG59XHJcbiNsbmJ7YmFja2dyb3VuZDojZmZmfVxyXG4jbG5iIGgze2JhY2tncm91bmQ6IzQ3NGE1YiB1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL2JnX2xuYlRpdC5wbmcpIDM1cHggYm90dG9tIG5vLXJlcGVhdDtwYWRkaW5nOjI1cHggMzBweDtmb250LXNpemU6Mi4xZW07Y29sb3I6I2ZmZjtmb250LXdlaWdodDo0MDA7bGV0dGVyLXNwYWNpbmc6LTFweDtsaW5lLWhlaWdodDoxLjE7d29yZC1icmVhazpicmVhay1hbGw7XHJcblx0Ly8gJjphZnRlcntjb250ZW50OlwiXCI7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTBweDtoZWlnaHQ6MTBweDt9XHJcbn1cclxuI2xuYj51bHtwYWRkaW5nOjglIDglIDEyJSA4JTtcclxuXHRcdD5saXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTZlN2ViO1xyXG5cdFx0XHQ+YXtkaXNwbGF5OmJsb2NrO2xpbmUtaGVpZ2h0OjEzOSU7Zm9udC1zaXplOjEuMDVlbTtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9jb21tb24vYnVfbG5iMV9vZmYuZ2lmKSA1cHggMTJweCBuby1yZXBlYXQ7cGFkZGluZzo1cHggMCA1cHggMThweDtsZXR0ZXItc3BhY2luZzotMC41cHg7fVxyXG5cdFx0XHQ+dWx7cGFkZGluZzowIDAgNXB4IDA7bWFyZ2luLWxlZnQ6MTVweDtcclxuXHRcdFx0XHQ+bGl7cGFkZGluZzoycHggMDtcclxuXHRcdFx0XHRcdD5he2NvbG9yOiM3Nzc7Zm9udC1zaXplOjAuOTVlbTtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9jb21tb24vYnVfbG5iMi5naWYpIGxlZnQgOXB4IG5vLXJlcGVhdDtwYWRkaW5nLWxlZnQ6MTJweDt9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHQgPmxpLm9uPmF7Zm9udC13ZWlnaHQ6Ym9sZDtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9jb21tb24vYnVfbG5iMV9vbi5wbmcpIGxlZnQgMTJweCBuby1yZXBlYXQ7fVxyXG5cdFx0fVxyXG5cdFx0XHJcbiNsbmJJbmZve3BhZGRpbmc6MTJweDtiYWNrZ3JvdW5kOiNmZmY7bWFyZ2luLXRvcDoxMHB4O2hlaWdodDoyMjBweH1cclxuI2xuYkluZm8gaDN7Zm9udC1zaXplOjFlbTttYXJnaW4tYm90dG9tOjEycHg7bWFyZ2luLXRvcDoxMHB4O31cclxuI2xuYkluZm8+dWx7cG9zaXRpb246cmVsYXRpdmU7fVxyXG4jbG5iSW5mbz51bCA+IGxpe2Zsb2F0OmxlZnQ7bWFyZ2luLWxlZnQ6MXB4O21hcmdpbjoycHggMCAxLjUlIDA7d2lkdGg6MzMuMzMlfVxyXG4jbG5iSW5mbz51bCA+IGxpID4gYXtAaW5jbHVkZSBlbGw7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojNjY2O2xldHRlci1zcGFjaW5nOi0xcHg7cGFkZGluZzo1cHggMDtiYWNrZ3JvdW5kOiNmNWY2ZmE7Ym9yZGVyOjFweCBzb2xpZCAjYjJiNGJmO21hcmdpbi1sZWZ0Oi0xcHg7Zm9udC1zaXplOjAuOWVtO2NvbG9yOiM3ODdkOWF9XHJcbi8vICNsbmJJbmZvIHVsID4gbGk6Zmlyc3QtY2hpbGQgPiBhe2JhY2tncm91bmQ6bm9uZTt9XHJcbiNsbmJJbmZvPiB1bCA+IGxpID4gYS5vbntjb2xvcjojZjA1MjkxO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNmZmY7YmFja2dyb3VuZDojZmZmICB1cmwoJy9pbWFnZXMvY29tbW9uL2J1X2Fycl9kb3duLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tO3BhZGRpbmc6M3B4IDAgN3B4IDA7Zm9udC13ZWlnaHQ6NjAwO31cclxuLmxuYkluZm9fYXJlYXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MzJweDtsZWZ0OjA7d2lkdGg6MTAwJTtwYWRkaW5nOjEzcHggMCAwO2Rpc3BsYXk6bm9uZTt9XHJcbi5sbmJJbmZvX2FyZWE+dWw+bGl7bWFyZ2luOjIuOCUgMDtmbG9hdDpub25lO292ZXJmbG93OmhpZGRlbjt9XHJcbi5sbmJJbmZvX2FyZWE+dWw+bGk+YXtmb250LXNpemU6MC45ZW07dGV4dC1hbGlnbjpsZWZ0O2xpbmUtaGVpZ2h0OjEyOSU7Y29sb3I6IzY2NjtiYWNrZ3JvdW5kOm5vbmU7IEBpbmNsdWRlIGVsbDt9XHJcbi5sbmJJbmZvX2FyZWEgLm51bXR7cGFkZGluZzoxcHg7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MTNweDtoZWlnaHQ6MTNweDtmb250LWZhbWlseTp2ZXJkYW5hO2ZvbnQtc2l6ZTowLjhlbTtjb2xvcjojZmZmO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjEuMTttYXJnaW4tcmlnaHQ6OHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtib3JkZXItcmFkaXVzOiAxcHg7fVxyXG4ubG5iSW5mb19hcmVhIHtcclxuXHQubnVtVHlwZTEsIC5udW1UeXBlMiwgLm51bVR5cGUze2JhY2tncm91bmQ6I2YwNTI5MTt9XHJcblx0Lm51bVR5cGU0LCAubnVtVHlwZTUsIC5udW1UeXBlNntiYWNrZ3JvdW5kOiM0NzRhNWI7fVxyXG5cdH1cclxuLmxuYlNlcnZpY2V7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDojZmZmO21hcmdpbjoxMHB4IDA7XHJcblx0XHRsaXtmbG9hdDpsZWZ0O3dpZHRoOjUwJTttYXJnaW46MjJweCAwO1xyXG5cdFx0XHQmOmZpcnN0LWNoaWxke2JvcmRlci1yaWdodDoxcHggc29saWQgI2RkZDt9XHJcblx0XHRcdGF7ZGlzcGxheTpibG9jaztjb2xvcjojZjA1MjkxO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zaXplOjAuOTVlbTtcclxuXHRcdFx0XHRzcGFue2Rpc3BsYXk6YmxvY2s7cGFkZGluZy10b3A6NXB4fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHR9XHJcblxyXG4jY29udGVudHN7ZmxvYXQ6bGVmdDt3aWR0aDo3NyU7IHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdCBAaW5jbHVkZSBicmVha3BvaW50KCRsZzIpIHtcclxuXHQgXHR3aWR0aDo3OSU7XHJcblx0IH1cclxuXHQgICBAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpIHtcclxuXHQgXHR3aWR0aDoxMDAlO1xyXG5cdCB9XHJcblx0ID4ud2JveDpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjA7bWluLWhlaWdodDo3MDBweDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHQgXHRtaW4taGVpZ2h0OmluaGVyaXQ7XHJcblx0XHQgfVxyXG5cdCB9XHJcbn1cclxuLndib3h7cGFkZGluZzoxZW0gMS43ZW07YmFja2dyb3VuZDojZmZmO21hcmdpbi10b3A6MTBweDtAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpIHtcclxuXHQgXHRtYXJnaW46MSU7cGFkZGluZzoxZW0gMC41ZW07XHJcblx0IH1cclxufVxyXG5cclxuLy9sb2NhdGlvblxyXG4ubG9jYXRpb257Y2xlYXI6IGJvdGg7ZGlzcGxheTpibG9jaztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNDc0YTViO21hcmdpbi1ib3R0b206MyU7cGFkZGluZy1ib3R0b206MSU7XHJcblx0JjpiZWZvcmUsJjphZnRlcnsgY29udGVudDogXCIuXCI7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDA7IGNsZWFyOiBib3RoOyB2aXNpYmlsaXR5OiBoaWRkZW4gfVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0IFx0bWFyZ2luOjAgMCAxZW0gMDtcclxuXHQgfVxyXG5cdD5kaXYubG9jTHtmbG9hdDpsZWZ0O2NvbG9yOiM2NjY7Zm9udC1zaXplOjAuOTBlbTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0IFx0XHRkaXNwbGF5Om5vbmU7bWFyZ2luOjAgMSU7XHJcblx0IFx0fVxyXG5cdCBcdD5zcGFue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xldHRlci1zcGFjaW5nOi0xcHg7XHJcblx0IFx0XHQmOmZpcnN0LWNoaWxke2JhY2tncm91bmQ6IHVybCgvc3RhdGljL2ltYWdlcy9jb21tb24vYnVfaG9tZS5naWYpIGxlZnQgNDglIG5vLXJlcGVhdDtwYWRkaW5nLWxlZnQ6MThweDtsZXR0ZXItc3BhY2luZzowO31cclxuXHQgXHRcdCYuaW5ne2NvbG9yOiMzMzN9XHJcblx0IFx0fVxyXG5cdCB9XHJcblx0Ji50eXBle2ZvbnQtc2l6ZToxLjE1ZW07Zm9udC13ZWlnaHQ6Ym9sZDt9XHJcbn1cclxuLnNuc1NlcnZpY2V7ZmxvYXQ6cmlnaHQ7XHJcblx0YTpmaXJzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MH1cclxuXHRpbWd7dmVydGljYWwtYWxpZ246dG9wICFpbXBvcnRhbnQ7fVxyXG5cdGEsIHNwYW57ZmxvYXQ6bGVmdDttYXJnaW4tcmlnaHQ6MnB4O31cclxuXHQuc25zX2dvb2ROe21hcmdpbi1yaWdodDo4cHg7YmFja2dyb3VuZDogdXJsKC9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9zbnNfZ29vZE4uZ2lmKSByaWdodCB0b3Agbm8tcmVwZWF0O3BhZGRpbmc6MCA0cHg7Y29sb3I6I2ZmZjtmb250LXNpemU6MC44NWVtO2hlaWdodDoyMHB4fVxyXG5cdC5wcmludCBhe21hcmdpbi1sZWZ0OjdweH1cclxufVxyXG5cclxuXHJcbiNmb290ZXJ7YmFja2dyb3VuZDojZmZmO21hcmdpbi10b3A6MzBweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZGVlM2VifSBcclxuI2Zvb3RlciBhe2ZvbnQtc2l6ZTowLjllbTtsZXR0ZXItc3BhY2luZzotMXB4O31cclxuLy8gI2Zvb3RlciBhIHN0cm9uZ3tjb2xvcjojMDA4N2UwfVxyXG4jZm9vdGVyIC5mb290e3BhZGRpbmc6MCAwIDEwcHggMDt3aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzQpe1xyXG5cdFx0cGFkZGluZzowIDEwcHggMTBweCAxMHB4XHJcblx0fVxyXG59XHJcbiNmb290ZXIgLmZvb3Rlcl9iZyB7IG1hcmdpbjowIGF1dG87IG1heC13aWR0aDoxMjYwcHh9XHJcbi5mX2xvZ297ZmxvYXQ6bGVmdDtwYWRkaW5nOjEwcHggMjZweCAwIDA7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGc0KXtcclxuXHRcdGRpc3BsYXk6bm9uZVxyXG5cdFx0fVxyXG5cdCYudHlwZTF7cGFkZGluZy10b3A6MjBweH1cclxuXHRpbWd7d2lkdGg6MjQwcHh9XHJcbn1cclxuXHJcbi5mX2FkZHtmbG9hdDpsZWZ0O3BhZGRpbmctdG9wOjIzcHg7Y29sb3I6IzQ3NGE1Yjtmb250LXNpemU6MC45NWVtO2xpbmUtaGVpZ2h0OjEuNDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0ZmxvYXQ6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjU1cHggMCAxMHB4IDA7XHJcblx0XHQmLnR5cGV7cGFkZGluZy10b3A6MDt9XHJcblx0fVxyXG5cdGFkZHJlc3N7bWFyZ2luLWJvdHRvbToxcHh9XHJcblx0c3BhbntcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSl7XHJcblx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5hZGRCe2ZvbnQtd2VpZ2h0OiBib2xkO2NvbG9yOiRjb3JfcGluaztkaXNwbGF5OmlubGluZS1ibG9jayAhaW1wb3J0YW50fVxyXG5cdC50ZWxib3hXe1xyXG5cdFx0LnRlbGJveHttYXJnaW4tdG9wOjVweDtmbG9hdDpsZWZ0O1xyXG5cdFx0XHRzcGFue2JhY2tncm91bmQ6Izc4N2Q5YTtsaW5lLWhlaWdodDoxLjQ7IHBhZGRpbmc6M3B4IDEwcHg7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOiAycHggMCAwIDJweDtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7fVxyXG5cdFx0XHQuYXJyeyBiYWNrZ3JvdW5kOiM0NzRhNWIgdXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb21tb24vdGVsX2Fyci5wbmcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlci1yYWRpdXM6IDAgMnB4IDJweCAwO3dpZHRoOjEwcHg7aGVpZ2h0OjIycHg7fVxyXG5cdFx0fVxyXG5cdFx0cHtmbG9hdDpsZWZ0O21hcmdpbjo1cHggMCAwIDVweDtmb250LXdlaWdodDpib2xkO31cclxuXHR9XHJcbn1cclxuLmZhbWlseSB7ZmxvYXQ6cmlnaHQ7cGFkZGluZzogMjVweCAyODVweCAwIDA7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKXtcclxuXHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSl7XHJcblx0XHRmbG9hdDpub25lO3BhZGRpbmc6MDt0ZXh0LWFsaWduOmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6OHB4O2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0xMzBweDtcclxuXHRcdH1cclxuXHQuZmFtaWx5U2VsICB7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyOjA7IGJhY2tncm91bmQ6I2Y4ZjhmOCB1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL2J1X3NlbGVjdC5naWYpIDkwJSBuby1yZXBlYXQ7IHdpZHRoOjIwNXB4OyBvdmVyZmxvdzpoaWRkZW47IGRpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlcjoxcHggc29saWQgIzQ3NGE1YjtmbG9hdDpsZWZ0O1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKXtcclxuXHRcdFx0ZmxvYXQ6bm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmZhbWlseVNlbCBzZWxlY3Qge2hlaWdodDozMnB4OyBib3JkZXI6bm9uZTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IHdpZHRoOjExNSU7IG1pbi13aWR0aDo5MHB4O2ZvbnQtc2l6ZToxM3B4O3BhZGRpbmctbGVmdDoxMHB4O31cclxuXHQuaW5wdXRfaW1ne3ZlcnRpY2FsLWFsaWduOnRvcDtkaXNwbGF5OmlubGluZX1cclxufVxyXG5cclxuLmZfbWVudXt3aWR0aDogMTAwJTttYXJnaW46MCBhdXRvO292ZXJmbG93OmhpZGRlbjtsaW5lLWhlaWdodDogMzVweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTVlNWU1OyBtYXJnaW4tdG9wOjhweDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSl7XHJcblx0XHRcdG1hcmdpbi10b3A6MDtcclxuXHRcdH1cclxuXHQgdWx7b3ZlcmZsb3c6aGlkZGVuO2Zsb2F0OmxlZnQ7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0XHRmbG9hdDpub25lO1xyXG5cdFx0fVxyXG5cdCB9XHJcbn1cclxuLmZfbWVudSB1bCBsaXtmbG9hdDpsZWZ0O2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9saW5lLmdpZikgbm8tcmVwZWF0IGxlZnQgNTAlO3BhZGRpbmc6IDAgOXB4O1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSl7XHJcblx0XHRiYWNrZ3JvdW5kOm5vbmU7XHJcblx0XHRib3JkZXI6MXB4IHNvbGlkICNlNWU1ZTU7XHJcblx0XHRib3JkZXItd2lkdGg6MCAxcHggMXB4IDA7XHJcblx0XHR3aWR0aDoxNi42NiU7XHRcclxuXHRcdHBhZGRpbmc6MDt0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHRcdEBpbmNsdWRlIGVsbDtcclxuXHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuXHRcdHdpZHRoOjMzLjMzJTtcclxuXHR9XHJcblx0YXtjb2xvcjojNDc0YTViO2ZvbnQtc2l6ZToxLjBlbTtkaXNwbGF5OmJsb2NrO31cclxufVxyXG4uZl9tZW51IC5mX3Nuc3tmbG9hdDpyaWdodDttYXJnaW4tYm90dG9tOjNweDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzQpe1xyXG5cdFx0bWFyZ2luLXJpZ2h0OjEwcHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSl7XHJcblx0XHRmbG9hdDpub25lO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6NXB4IDA7XHJcblx0fVxyXG5cdGltZ3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7fVxyXG59XHJcbi5hbHJpbXtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6LTJweH1cclxuLm1hcmt7cG9zaXRpb246YWJzb2x1dGU7dG9wOjE1cHg7cmlnaHQ6NXB4O2JvcmRlcjowO3BhZGRpbmc6MDtiYWNrZ3JvdW5kOm5vbmU7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKXtcclxuXHRcdGRpc3BsYXk6bm9uZVxyXG5cdH1cclxuXHQubWFyazEgaW1ne3dpZHRoOjc4cHg7cGFkZGluZy1sZWZ0OjVweDt9XHJcbn1cclxuXHJcbi5tYWluVj5kaXZ7ZmxvYXQ6bGVmdDttYXgtd2lkdGg6MTI2MHB4fVxyXG5cclxuICNxdWlja3twb3NpdGlvbjpmaXhlZDtyaWdodDotMzIwcHg7dG9wOjA7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojNDc0YTViO2JvcmRlci1yYWRpdXM6IDVweCAwIDAgNXB4O3otaW5kZXg6MTYwO3BhZGRpbmc6MCA1cHg7XHJcbiBcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSl7XHJcblx0XHRkaXNwbGF5Om5vbmVcclxuXHR9XHJcbiBcdD4udmlldywgPi52aWV3Q2xvc2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjIwMHB4O2xlZnQ6LTE1cHg7Y29sb3I6I2ZmZjt3aWR0aDoxNXB4O2hlaWdodDoxNzBweDtib3JkZXItcmFkaXVzOiA1cHggMCAwIDVweDtkaXNwbGF5OnRhYmxlLWNlbGw7cGFkZGluZzozMHB4IDNweCA1cHggM3B4O1xyXG5cdFx0YXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2xpbmUtaGVpZ2h0OjEuMTtjb2xvcjojZGJkY2UwO2ZvbnQtd2VpZ2h0OjYwMDtkaXNwbGF5OnRhYmxlLWNlbGw7d3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7fVxyXG4gXHR9XHJcbiBcdD4udmlld3s7YmFja2dyb3VuZDojNDc0YTViIHVybCgvc3RhdGljL2ltYWdlcy9nbG9iYWwvY29tbW9uL2Fycl9waW5rX2xlZnQucG5nKSBuby1yZXBlYXQgOHB4IDE1cHggO31cclxuIFx0Pi52aWV3Q2xvc2V7ZGlzcGxheTpub25lO2JhY2tncm91bmQ6IzQ3NGE1YiB1cmwoL3N0YXRpYy9pbWFnZXMvZ2xvYmFsL2NvbW1vbi9hcnJfcGlua19yaWdodC5wbmcpIG5vLXJlcGVhdCA4cHggMTVweCA7fVxyXG4gXHRoMntib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNmU3MDg0O3BhZGRpbmc6MC41ZW0gMDt0ZXh0LWFsaWduOmNlbnRlcjt9XHJcbiBcdGgze3RleHQtYWxpZ246Y2VudGVyO2NvbG9yOiNhZWNmZTE7cGFkZGluZzoxZW0gMDtmb250LXNpemU6MS4xZW19XHJcbiBcdC5xdWlja19hcmVhe3BhZGRpbmc6MCAxNXB4O292ZXJmbG93OmF1dG87aGVpZ2h0OjEwMCU7XHJcblx0XHQ+dWx7XHJcblx0XHRcdD5saXttYXJnaW4tYm90dG9tOjFweDtjb2xvcjojZmZmO2xpbmUtaGVpZ2h0OjEuNDtcclxuXHRcdFx0XHQmLm9ue2JhY2tncm91bmQ6I2ZmZjtcclxuXHRcdFx0XHRcdD5he2NvbG9yOiM0NzRhNWI7Zm9udC13ZWlnaHQ6Ym9sZDtiYWNrZ3JvdW5kOiNmZmYgdXJsKC9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9idV9xdWlja19vZmYxLnBuZykgbm8tcmVwZWF0IDE1cHggMTNweCA7Zm9udC1zaXplOjEuMDVlbTtsZXR0ZXItc3BhY2luZzogLTFweDtcclxuXHRcdFx0XHRcdFx0LmJ0bnt2ZXJ0aWNhbC1hbGlnbjp0b3A7Zm9udC13ZWlnaHQ6NjAwO21hcmdpbi1sZWZ0OjVweDtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjJweCA3cHg7bGluZS1oZWlnaHQ6MS4yO31cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdD51bHtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjAgMCAxMHB4IDIycHg7XHJcblx0XHRcdFx0XHRcdD5saXtiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvZ2xvYmFsL2NvbW1vbi9xdWlja19saW5lMi5naWYpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlciA7cGFkZGluZzoxcHggMTBweDtcclxuXHRcdFx0XHRcdFx0XHQmLmxhc3R7YmFja2dyb3VuZDogdXJsKC9zdGF0aWMvaW1hZ2VzL2dsb2JhbC9jb21tb24vcXVpY2tfbGluZTMuZ2lmKSBuby1yZXBlYXQgbGVmdCB0b3B9XHJcblx0XHRcdFx0XHRcdFx0PmF7Y29sb3I6IzQ3NGE1Yjtmb250LXNpemU6MC45NWVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0Jjpob3Zlcntjb2xvcjojZjA1MjkxO2ZvbnQtd2VpZ2h0OjYwMDt9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdD5he2NvbG9yOiNmZmY7YmFja2dyb3VuZDojNWE1YzZjIHVybCgvc3RhdGljL2ltYWdlcy9nbG9iYWwvY29tbW9uL2J1X3F1aWNrX29uLnBuZykgbm8tcmVwZWF0ICAxNXB4IDEzcHg7cGFkZGluZzoxMHB4IDEwcHggMTBweCAzNXB4O2Rpc3BsYXk6YmxvY2s7XHJcblx0XHRcdFx0XHQuYnRue2Rpc3BsYXk6bm9uZX1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0PnVse2Rpc3BsYXk6bm9uZTtcclxuXHRcdFx0XHRcdD5saXt9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdGF7Y29sb3I6I2ZmZjtmb250LXNpemU6MC45NWVtO31cclxuIH1cclxuXHJcblxyXG4gLy/rqZTribQg7KCE7LK067O06riwXHJcbi5xTWVudU1vYmlsZXt0ZXh0LWFsaWduOiByaWdodDttYXJnaW46MCA1cHggNXB4IDA7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdG1hcmdpbjowIDI1cHggMCAwO1xyXG5cdH1cclxuXHRhe2ZvbnQtd2VpZ2h0OiBib2xkO2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9idV9hcnIxLnBuZykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtwYWRkaW5nLXJpZ2h0OjE2cHg7Y29sb3I6JGNvcl9waW5rICFpbXBvcnRhbnR9XHJcbn1cclxuI0FsbG1lbnV7cG9zaXRpb246IGFic29sdXRlO3RvcDoxNDBweDt6LWluZGV4OjIwMjt3aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7ZGlzcGxheTpub25lO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHRcdHRvcDo1MHB4O1xyXG5cdFx0fVxyXG5cdD4uQWxsbWVudV9ib3h7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogZml4ZWQ7d2lkdGg6MTAwJTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHRcdHBvc2l0aW9uOmZpeGVkOyB3aWR0aDo5NSU7cmlnaHQ6MDtcclxuXHRcdH1cclxuXHRcdCYudHlwZXtcclxuXHRcdFx0Pi5BbGxtdz5kaXY+dWw+bGl7bWluLWhlaWdodDoyODBweDtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0XHRcdFx0bWluLWhlaWdodDppbmhlcml0O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmLnR5cGV7bWluLWhlaWdodDoxNDAuNXB4O31cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0PmRpdi5BbGxtd3twYWRkaW5nOjElIDIlIDIlIDIlO21heC13aWR0aDoxMzYwcHg7d2lkdGg6OTglO21hcmdpbjowIGF1dG87YmFja2dyb3VuZDojZmZmO3Bvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0XHRcdHdpZHRoOjEwMCU7cGFkZGluZzowO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6YmVmb3JlLCAmOmFmdGVyIHsgY29udGVudDogXCIuXCI7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDA7IGNsZWFyOiBib3RoOyB2aXNpYmlsaXR5OiBoaWRkZW4gfVxyXG5cdFx0XHQuYnRuX3BvcENsb3Nle2NsZWFyOmJvdGg7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZy10b3A6MTBweDt9XHJcblx0XHRcdC5wb3BTY2hXe3RleHQtYWxpZ246Y2VudGVyO21hcmdpbi1ib3R0b206MiU7XHJcblx0XHRcdFx0LnBvcFNjaHttYXJnaW4tdG9wOjIlO2JvcmRlcjoycHggc29saWQgIzQ3NGE1YjtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czogMjVweDt3aWR0aDoxMDAlO21heC13aWR0aDo0MDBweDtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjVweCA1cHggN3B4IDEwcHg7cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRcdFx0XHQuaW5we2JvcmRlcjowO3dpZHRoOjEwMCU7cGFkZGluZzowIDM1cHggMCA1cHh9XHJcblx0XHRcdFx0XHQuYnRuc2Noe3Bvc2l0aW9uOmFic29sdXRlO3RvcDo4cHg7cmlnaHQ6MTBweDt9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdD5kaXZ7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6MDttYXgtd2lkdGg6YXV0bzttYXJnaW46MCBhdXRvO2JhY2tncm91bmQ6I2ZmZjtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47d2lkdGg6MTAwJTtwYWRkaW5nOjIlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQ+dWx7QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdFx0XHRcdFx0b3ZlcmZsb3c6aGlkZGVuO2JvcmRlcjoxcHggc29saWQgI2IyYjRiZjtiYWNrZ3JvdW5kOiNmNWY2ZmEgdXJsKC9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9BbGxtZW51X2xpbmUuZ2lmKSByZXBlYXQteSBjZW50ZXIgdG9wO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkc20pIHtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDojZjVmNmZhO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Ji50eXBlPmxpe3dpZHRoOjI1JTttaW4taGVpZ2h0OjIwMHB4O1xyXG5cdFx0XHRcdFx0XHQmLnR5cGUxe21pbi1oZWlnaHQ6MTYwcHg7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdFx0XHRcdFx0XHRcdG1pbi1oZWlnaHQ6aW5oZXJpdDtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0Ji50eXBle21pbi1oZWlnaHQ6MTYwcHg7fVxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOjUwJTttaW4taGVpZ2h0OmluaGVyaXQ7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkc20pIHtcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDoxMDAlO21pbi1oZWlnaHQ6aW5oZXJpdDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Pmxpe3dpZHRoOjI1JTtwYWRkaW5nOjElIDEuNSU7ZmxvYXQ6bGVmdDtjb2xvcjojMzMzO2JvcmRlcjoxcHggc29saWQgI2IyYjRiZjtiYWNrZ3JvdW5kOiNmNWY2ZmE7bWluLWhlaWdodDoxNTBweDttYXJnaW46LTFweCAwIDAgLTFweDtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKSB7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOjAuOWVtO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHRcdFx0XHRcdFx0d2lkdGg6NTAlO3BhZGRpbmctdG9wOjEwcHg7bWluLWhlaWdodDppbmhlcml0O2JvcmRlci13aWR0aDoxcHggMCAwIDA7bWFyZ2luOi0xcHggMCAwIDA7YmFja2dyb3VuZDpub25lO1xyXG5cdFx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRcdCY6bnRoLWNoaWxkKG9kZCl7Y2xlYXI6Ym90aDt9XHJcblx0XHRcdFx0XHRcdFx0JjpudGgtY2hpbGQoMSksICY6bnRoLWNoaWxkKDIpe2JvcmRlci10b3A6MDtjbGVhcjpub25lO31cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRzbSkge1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOjEwMCU7bWluLWhlaWdodDppbmhlcml0OztwYWRkaW5nOjMlO1xyXG5cdFx0XHRcdFx0XHRcdCY6bnRoLWNoaWxkKDIpe2JvcmRlci10b3A6MXB4IHNvbGlkICNiMmI0YmY7fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdCYub24+YXtoZWlnaHQ6NTBweDt9XHJcblx0XHRcdFx0XHRcdD5he2xldHRlci1zcGFjaW5nOiAtMXB4O2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MS4xMGVtO3BhZGRpbmc6N3B4IDAgMCAwO31cclxuXHRcdFx0XHRcdFx0PnVse21hcmdpbi10b3A6Mi41JTtcclxuXHRcdFx0XHRcdFx0XHQ+bGl7dGV4dC1pbmRlbnQ6LTEwcHg7cGFkZGluZy1sZWZ0OjEwcHg7bGluZS1oZWlnaHQ6MS4zO21hcmdpbjo1cHggMDtcclxuXHRcdFx0XHRcdFx0XHRcdCY6YmVmb3Jle2NvbnRlbnQ6XCItIFwiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctbGVmdDoxMHB4O31cclxuXHRcdFx0XHRcdFx0XHRcdD5hOmhvdmVye2NvbG9yOiNmMDUyOTE7Zm9udC13ZWlnaHQ6Ym9sZDt9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdCYuZW5ke3BhZGRpbmc6MDt9XHJcblx0XHRcdFx0XHRcdD4udHlwZXtwYWRkaW5nOjA7bWluLWhlaWdodDoxNDhweDt3aWR0aDo1MCU7ZmxvYXQ6bGVmdDtcclxuXHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHRhe2NvbG9yOiNmZmZ9XHJcblx0XHRcdFx0XHRcdFx0Ji5zaXRle2JhY2tncm91bmQ6IzQ3NGE1YiB1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL2ljb19hbGwxLnBuZykgbm8tcmVwZWF0IGNlbnRlciAxMHB4O3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6NjVweCAwIDAgMDtjb2xvcjojZmZmO2JhY2tncm91bmQtc2l6ZTo0NXB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0LmZie2NvbG9yOiNmZjgwYjN9XHJcblx0XHRcdFx0XHRcdFx0XHR1bHttYXJnaW4tdG9wOjA7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxpe2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZTowO2xpbmUtaGVpZ2h0OjA7cGFkZGluZy1sZWZ0OjA7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0YXtiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL2xpbmUuZ2lmKSBuby1yZXBlYXQgbGVmdCAzcHg7cGFkZGluZzowIDJweCAwIDVweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjE7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQmOmhvdmVye2NvbG9yOiRjb3JfcGlua31cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCBhe2JhY2tncm91bmQ6bm9uZTt9XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0Ji5zbntiYWNrZ3JvdW5kOiRjb3JfcGluayB1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL2ljb19hbGwyLnBuZykgbm8tcmVwZWF0IGNlbnRlciAyMHB4O3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6NzBweCAwIDAgMDtjb2xvcjojZmZmO2JhY2tncm91bmQtc2l6ZTo0NXB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0c3BhbntkaXNwbGF5OmJsb2NrO2ZvbnQtd2VpZ2h0OmJvbGQ7XHJcblx0XHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6aW5saW5lO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0YXtwYWRkaW5nOjAgMThweCAwIDA7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL2J1X2Fyci5wbmcpIG5vLXJlcGVhdCByaWdodCA1cHg7ZGlzcGxheTogaW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OiBib2xkfVxyXG5cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0Ji5lbmd7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjEzOXB4O31cclxuXHRcdFx0XHRcdFx0XHRwe0BpbmNsdWRlIGVsbDt9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLkFsbG1lbnVCdG57cG9zaXRpb246IGFic29sdXRlO3JpZ2h0OiAwO3RvcDogMDtmb250LXdlaWdodDogNjAwO2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjNWY2OTg2O31cclxuLkFsbG1lbnVCdG5DbG9zZSB7cG9zaXRpb246YWJzb2x1dGU7dG9wOi01MHB4O3JpZ2h0OjA7ZGlzcGxheTpibG9jazt9XHJcbi5BbGxtZW51QnRuQ2xvc2UgYXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MTBweDt9XHJcbi5BbGxtZW51QnRuQ2xvc2UgYTpmb2N1c3tib3JkZXI6MXB4IGRvdHRlZCAjZGRkO31cclxuI0FsbG1lbnUgLmV4Qm94e2Rpc3BsYXk6bm9uZTt9XHJcblxyXG5cclxuIC5idG4tZ3JheXtiYWNrZ3JvdW5kOiM0NzRhNWI7Ym9yZGVyLXJhZGl1czogMTVweDtsaW5lLWhlaWdodDoxLjI7Y29sb3I6I2ZmZn1cclxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kQnJlYWtwb2ludC1TZXR0aW5nczogKFxuICAnZGVmYXVsdCBtZWRpYSc6IGFsbCxcbiAgJ2RlZmF1bHQgZmVhdHVyZSc6IG1pbi13aWR0aCxcbiAgJ2RlZmF1bHQgcGFpcic6IHdpZHRoLFxuXG4gICdmb3JjZSBhbGwgbWVkaWEgdHlwZSc6IGZhbHNlLFxuICAndG8gZW1zJzogZmFsc2UsXG4gICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnOiB0cnVlLFxuXG4gICdubyBxdWVyaWVzJzogZmFsc2UsXG4gICdubyBxdWVyeSBmYWxsYmFja3MnOiBmYWxzZSxcblxuICAnYmFzZSBmb250IHNpemUnOiAxNnB4LFxuXG4gICdsZWdhY3kgc3ludGF4JzogZmFsc2Vcbik7XG5cbiRicmVha3BvaW50OiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJicmVha3BvaW50L3NldHRpbmdzXCI7XG5AaW1wb3J0ICdicmVha3BvaW50L2NvbnRleHQnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9oZWxwZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcGFyc2Vycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L25vLXF1ZXJ5JztcblxuQGltcG9ydCAnYnJlYWtwb2ludC9yZXNwb25kLXRvJztcblxuQGltcG9ydCBcImJyZWFrcG9pbnQvbGVnYWN5LXNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZztcblxuICAvLyBSZXNldCBjb250ZXh0c1xuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcblxuICAkYnJlYWtwb2ludDogYnJlYWtwb2ludCgkcXVlcnksIGZhbHNlKTtcblxuICAkcXVlcnktc3RyaW5nOiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnknKTtcbiAgJHF1ZXJ5LWZhbGxiYWNrOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnZmFsbGJhY2snKTtcblxuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnY29udGV4dCBob2xkZXInKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnkgY291bnQnKSAhZ2xvYmFsO1xuXG4gIC8vIEFsbG93IGZvciBhbiBhcy1uZWVkZWQgb3ZlcnJpZGUgb3IgdXNhZ2Ugb2Ygbm8gcXVlcnkgZmFsbGJhY2suXG4gIEBpZiAkbm8tcXVlcnkgIT0gZmFsc2Uge1xuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xuICB9XG5cbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIFByaW50IE91dCBRdWVyeSBTdHJpbmdcbiAgQGlmIG5vdCBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpIHtcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpICE9IGZhbHNlIG9yIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykgPT0gdHJ1ZSB7XG5cbiAgICAkdHlwZTogdHlwZS1vZihicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykpO1xuICAgICRwcmludDogZmFsc2U7XG5cbiAgICBAaWYgKCR0eXBlID09ICdib29sJykge1xuICAgICAgJHByaW50OiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XG4gICAgICBAZWFjaCAkd3JhcHBlciBpbiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09ICR3cmFwcGVyIHtcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcml0ZSBGYWxsYmFja1xuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XG4gICAgICAkdHlwZS1mYWxsYmFjazogdHlwZS1vZigkcXVlcnktZmFsbGJhY2spO1xuXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xuICAgICAgICAjeyRxdWVyeS1mYWxsYmFja30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG59XG5cblxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSGFzIFNldHRpbmdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaGFzKCRzZXR0aW5nKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludCwgJHNldHRpbmcpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBHZXQgU2V0dGluZ3Ncbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtZ2V0KCRzZXR0aW5nKSB7XG4gIEBpZiBicmVha3BvaW50LWhhcygkc2V0dGluZykge1xuICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludCwgJHNldHRpbmcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJEJyZWFrcG9pbnQtU2V0dGluZ3MsICRzZXR0aW5nKTtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFNldCBTZXR0aW5nc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1zZXQoJHNldHRpbmcsICR2YWx1ZSkge1xuICBAaWYgKHN0ci1pbmRleCgkc2V0dGluZywgJy0nKSBvciBzdHItaW5kZXgoJHNldHRpbmcsICdfJykpIGFuZCBzdHItaW5kZXgoJHNldHRpbmcsICcgJykgPT0gbnVsbCB7XG4gICAgQHdhcm4gXCJXb3JkcyBpbiBCcmVha3BvaW50IHNldHRpbmdzIHNob3VsZCBiZSBzZXBhcmF0ZWQgYnkgc3BhY2VzLCBub3QgZGFzaGVzIG9yIHVuZGVyc2NvcmVzLiBQbGVhc2UgcmVwbGFjZSBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzIGJldHdlZW4gd29yZHMgd2l0aCBzcGFjZXMuIFNldHRpbmdzIHdpbGwgbm90IHdvcmsgYXMgZXhwZWN0ZWQgdW50aWwgY2hhbmdlZC5cIjtcbiAgfVxuICAkYnJlYWtwb2ludDogbWFwLW1lcmdlKCRicmVha3BvaW50LCAoJHNldHRpbmc6ICR2YWx1ZSkpICFnbG9iYWw7XG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuQG1peGluIGJyZWFrcG9pbnQtY2hhbmdlKCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgJGJyZWFrcG9pbnQtY2hhbmdlOiBicmVha3BvaW50LXNldCgkc2V0dGluZywgJHZhbHVlKTtcbn1cblxuQG1peGluIGJyZWFrcG9pbnQtc2V0KCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jaGFuZ2UoJHNldHRpbmcsICR2YWx1ZSk7XG59XG5cbkBtaXhpbiBia3B0LWNoYW5nZSgkc2V0dGluZywgJHZhbHVlKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY2hhbmdlKCRzZXR0aW5nLCAkdmFsdWUpO1xufVxuQG1peGluIGJrcHQtc2V0KCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jaGFuZ2UoJHNldHRpbmcsICR2YWx1ZSk7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmVtb3ZlIFNldHRpbmdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcmVzZXQoJHNldHRpbmdzLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHNldHRpbmdzKSA9PSAxIHtcbiAgICAkc2V0dGluZ3M6IG50aCgkc2V0dGluZ3MsIDEpO1xuICB9XG5cbiAgQGVhY2ggJHNldHRpbmcgaW4gJHNldHRpbmdzIHtcbiAgICAkYnJlYWtwb2ludDogbWFwLXJlbW92ZSgkYnJlYWtwb2ludCwgJHNldHRpbmcpICFnbG9iYWw7XG4gIH1cbiAgQHJldHVybiB0cnVlO1xufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1yZXNldCgkc2V0dGluZ3MuLi4pIHtcbiAgJGJyZWFrcG9pbnQtcmVzZXQ6IGJyZWFrcG9pbnQtcmVzZXQoJHNldHRpbmdzKTtcbn1cblxuQG1peGluIGJrcHQtcmVzZXQoJHNldHRpbmdzLi4uKSB7XG4gICRicmVha3BvaW50LXJlc2V0OiBicmVha3BvaW50LXJlc2V0KCRzZXR0aW5ncyk7XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQcml2YXRlIEJyZWFrcG9pbnQgVmFyaWFibGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6ICgpO1xuJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogMCAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IEhhcyBDb250ZXh0XG4vLyBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHlvdSBhcmUgaW5zaWRlIGEgQnJlYWtwb2ludCBxdWVyeVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1oYXMtY29udGV4dCgpIHtcbiAgQGlmIGxlbmd0aCgkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50KSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBHZXQgQ29udGV4dFxuLy8gJGZlYXR1cmU6IElucHV0IGZlYXR1cmUgdG8gZ2V0IGl0J3MgY3VycmVudCBNUSBjb250ZXh0LiBSZXR1cm5zIGZhbHNlIGlmIG5vIGNvbnRleHRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtZ2V0LWNvbnRleHQoJGZlYXR1cmUpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKSB7XG4gICAgJGdldDogbWFwLWdldCgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAkZmVhdHVyZSk7XG4gICAgLy8gU3BlY2lhbCBoYW5kbGluZyBvZiBuby1xdWVyeSBmcm9tIGdldCBzaWRlIHNvIC9mYWxzZS8gcHJlcGVuZHMgYXJlbid0IHJldHVybmVkXG4gICAgQGlmICRmZWF0dXJlID09ICduby1xdWVyeScge1xuICAgICAgQGlmIHR5cGUtb2YoJGdldCkgPT0gJ2xpc3QnIGFuZCBsZW5ndGgoJGdldCkgPiAxIGFuZCBudGgoJGdldCwgMSkgPT0gZmFsc2Uge1xuICAgICAgICAkZ2V0OiBudGgoJGdldCwgbGVuZ3RoKCRnZXQpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiAkZ2V0O1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgYnJlYWtwb2ludC1oYXMtY29udGV4dCgpIGFuZCAkZmVhdHVyZSA9PSAnbWVkaWEnIHtcbiAgICAgIEByZXR1cm4gYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQcml2YXRlIGZ1bmN0aW9uIHRvIHNldCBjb250ZXh0XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGZlYXR1cmUsICR2YWx1ZSkge1xuICBAaWYgJHZhbHVlID09ICdtb25vY2hyb21lJyB7XG4gICAgJGZlYXR1cmU6ICdtb25vY2hyb21lJztcbiAgfVxuXG4gICRjdXJyZW50OiBtYXAtZ2V0KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKTtcbiAgQGlmICRjdXJyZW50IGFuZCBsZW5ndGgoJGN1cnJlbnQpID09ICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQge1xuICAgIEB3YXJuIFwiWW91IGhhdmUgYWxyZWFkeSBxdWVyaWVkIGFnYWluc3QgYCN7JGZlYXR1cmV9YC4gVW5leHBlY3RlZCB0aGluZ3MgbWF5IGhhcHBlbiBpZiB5b3UgcXVlcnkgYWdhaW5zdCB0aGUgc2FtZSBmZWF0dXJlIG1vcmUgdGhhbiBvbmNlIGluIHRoZSBzYW1lIGBhbmRgIHF1ZXJ5LiBCcmVha3BvaW50IGlzIG92ZXJ3cml0aW5nIHRoZSBjdXJyZW50IGNvbnRleHQgd2l0aCBgI3skdmFsdWV9YFwiO1xuICB9XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAkZmVhdHVyZSkge1xuICAgICR2LWhvbGRlcjogKCk7XG4gICAgQGZvciAkaSBmcm9tIDEgdG8gJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCB7XG4gICAgICBAaWYgJGZlYXR1cmUgPT0gJ21lZGlhJyB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsICR2YWx1ZSk7XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLW1lcmdlKCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICgkZmVhdHVyZTogJHYtaG9sZGVyKSkgIWdsb2JhbDtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHYtaG9sZGVyOiBtYXAtZ2V0KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKTtcbiAgICAkbGVuZ3RoOiBsZW5ndGgoJHYtaG9sZGVyKTtcbiAgICBAZm9yICRpIGZyb20gJGxlbmd0aCB0byAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50IC0gMSB7XG4gICAgICBAaWYgJGZlYXR1cmUgPT0gJ21lZGlhJyB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsICR2YWx1ZSk7XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLW1lcmdlKCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICgkZmVhdHVyZTogJHYtaG9sZGVyKSkgIWdsb2JhbDtcbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQcml2YXRlIGZ1bmN0aW9uIHRvIHJlc2V0IGNvbnRleHRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQG1peGluIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cyB7XG4gICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6ICgpICFnbG9iYWw7XG4gICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IDAgIWdsb2JhbDtcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIENvbnZlcnRzIHRoZSBpbnB1dCB2YWx1ZSB0byBCYXNlIEVNc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC10by1iYXNlLWVtKCR2YWx1ZSkge1xuICAkdmFsdWUtdW5pdDogdW5pdCgkdmFsdWUpO1xuXG4gIC8vIFdpbGwgY29udmVydCByZWxhdGl2ZSBFTXMgaW50byByb290IEVNcy5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpIGFuZCB0eXBlLW9mKGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpKSA9PSAnbnVtYmVyJyBhbmQgJHZhbHVlLXVuaXQgPT0gJ2VtJyB7XG4gICAgJGJhc2UtdW5pdDogdW5pdChicmVha3BvaW50LWdldCgnYmFzZSBmb250IHNpemUnKSk7XG5cbiAgICBAaWYgJGJhc2UtdW5pdCA9PSAncHgnIG9yICRiYXNlLXVuaXQgPT0gJyUnIG9yICRiYXNlLXVuaXQgPT0gJ2VtJyBvciAkYmFzZS11bml0ID09ICdwdCcge1xuICAgICAgQHJldHVybiBiYXNlLWNvbnZlcnNpb24oJHZhbHVlKSAvIGJhc2UtY29udmVyc2lvbihicmVha3BvaW50LWdldCgnYmFzZSBmb250IHNpemUnKSkgKiAxZW07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICcje2JyZWFrcG9pbnQtZ2V0KFxcJ2Jhc2UgZm9udCBzaXplXFwnKX0gaXMgbm90IHNldCBpbiB2YWxpZCB1bml0cyBmb3IgZm9udCBzaXplISc7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBiYXNlLWNvbnZlcnNpb24oJHZhbHVlKTtcbiAgfVxufVxuXG5AZnVuY3Rpb24gYmFzZS1jb252ZXJzaW9uKCR2YWx1ZSkge1xuICAkdW5pdDogdW5pdCgkdmFsdWUpO1xuXG4gIEBpZiAkdW5pdCA9PSAncHgnIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIDE2cHggKiAxZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gJyUnIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIDEwMCUgKiAxZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gJ2VtJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gJ3B0JyB7XG4gICAgQHJldHVybiAkdmFsdWUgLyAxMnB0ICogMWVtO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbi8vICAgIEB3YXJuICdFdmVyeXRoaW5nIGlzIHRlcnJpYmxlISBXaGF0IGhhdmUgeW91IGRvbmU/ISc7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGZlYXR1cmUgY2FuIGhhdmUgYSBtaW4vbWF4IHBhaXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnQtbWluLW1heC1mZWF0dXJlczogJ2NvbG9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb2xvci1pbmRleCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXNwZWN0LXJhdGlvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2UtYXNwZWN0LXJhdGlvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2UtaGVpZ2h0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2Utd2lkdGgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9ub2Nocm9tZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVzb2x1dGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4tbWF4KCRmZWF0dXJlKSB7XG4gIEBlYWNoICRpdGVtIGluICRicmVha3BvaW50LW1pbi1tYXgtZmVhdHVyZXMge1xuICAgIEBpZiAkZmVhdHVyZSA9PSAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBmZWF0dXJlIGNhbiBoYXZlIGEgc3RyaW5nIHZhbHVlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRicmVha3BvaW50LXN0cmluZy1mZWF0dXJlczogICdvcmllbnRhdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2NhbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29sb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FzcGVjdC1yYXRpbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGV2aWNlLWFzcGVjdC1yYXRpbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9pbnRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbHVtaW5vc2l0eSc7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LXN0cmluZy12YWx1ZSgkZmVhdHVyZSkge1xuICBAZWFjaCAkaXRlbSBpbiAkYnJlYWtwb2ludC1zdHJpbmctZmVhdHVyZXMge1xuICAgIEBpZiBicmVha3BvaW50LW1pbi1tYXgoJGl0ZW0pIHtcbiAgICAgIEBpZiAkZmVhdHVyZSA9PSAnbWluLSN7JGl0ZW19JyBvciAkZmVhdHVyZSA9PSAnbWF4LSN7JGl0ZW19JyB7XG4gICAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJGZlYXR1cmUgPT0gJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJldHVybnMgd2hldGhlciB0aGUgZmVhdHVyZSBpcyBhIG1lZGlhIHR5cGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnQtbWVkaWEtdHlwZXM6ICAnYWxsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JyYWlsbGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnZW1ib3NzZWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnaGFuZGhlbGQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAncHJpbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvamVjdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdzY3JlZW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnc3BlZWNoJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R0eScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICd0dic7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LWlzLW1lZGlhKCRmZWF0dXJlKSB7XG4gIEBlYWNoICRtZWRpYSBpbiAkYnJlYWtwb2ludC1tZWRpYS10eXBlcyB7XG4gICAgQGlmICgkZmVhdHVyZSA9PSAkbWVkaWEpIG9yICgkZmVhdHVyZSA9PSAnbm90ICN7JG1lZGlhfScpIG9yICgkZmVhdHVyZSA9PSAnb25seSAjeyRtZWRpYX0nKSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGZlYXR1cmUgY2FuIHN0YW5kIGFsb25lXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRicmVha3BvaW50LXNpbmdsZS1zdHJpbmctZmVhdHVyZXM6ICdjb2xvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29sb3ItaW5kZXgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dyaWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vbm9jaHJvbWUnO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRmZWF0dXJlKSB7XG4gIEBlYWNoICRpdGVtIGluICRicmVha3BvaW50LXNpbmdsZS1zdHJpbmctZmVhdHVyZXMge1xuICAgIEBpZiAkZmVhdHVyZSA9PSAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBmZWF0dXJlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LWlzLXJlc29sdXRpb24oJGZlYXR1cmUpIHtcbiAgJHJlc29sdXRpb25zOiAnZGV2aWNlLXBpeGVsLXJhdGlvJywgJ2Rwcic7XG5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnKSB7XG4gICAgJHJlc29sdXRpb25zOiBhcHBlbmQoJHJlc29sdXRpb25zLCAncmVzb2x1dGlvbicpO1xuICB9XG5cbiAgQGVhY2ggJHJlc28gaW4gJHJlc29sdXRpb25zIHtcbiAgICBAaWYgaW5kZXgoJGZlYXR1cmUsICRyZXNvKSBvciBpbmRleCgkZmVhdHVyZSwgJ21pbi0jeyRyZXNvfScpIG9yIGluZGV4KCRmZWF0dXJlLCAnbWF4LSN7JHJlc299Jykge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydCBQYXJzZXIgUGllY2VzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJwYXJzZXJzL3F1ZXJ5XCI7XG5AaW1wb3J0IFwicGFyc2Vycy9zaW5nbGVcIjtcbkBpbXBvcnQgXCJwYXJzZXJzL2RvdWJsZVwiO1xuQGltcG9ydCBcInBhcnNlcnMvdHJpcGxlXCI7XG5AaW1wb3J0IFwicGFyc2Vycy9yZXNvbHV0aW9uXCI7XG5cbiRNZW1vLUV4aXN0czogZnVuY3Rpb24tZXhpc3RzKG1lbW8tZ2V0KSBhbmQgZnVuY3Rpb24tZXhpc3RzKG1lbW8tc2V0KTtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IEZ1bmN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50KCRxdWVyeSwgJGNvbnRleHRzLi4uKSB7XG4gICRydW46IHRydWU7XG4gICRyZXR1cm46ICgpO1xuXG4gIC8vIEdyYWIgdGhlIE1lbW8gT3V0cHV0IGlmIE1lbW9pemF0aW9uIGNhbiBiZSBhIHRoaW5nXG4gIEBpZiAkTWVtby1FeGlzdHMge1xuICAgICRyZXR1cm46IG1lbW8tZ2V0KGJyZWFrcG9pbnQsIGJyZWFrcG9pbnQgJHF1ZXJ5ICRjb250ZXh0cyk7XG5cbiAgICBAaWYgJHJldHVybiAhPSBudWxsIHtcbiAgICAgICRydW46IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJE1lbW8tRXhpc3RzIG9yICRydW4ge1xuICAgIC8vIEludGVybmFsIFZhcmlhYmxlc1xuICAgICRxdWVyeS1zdHJpbmc6ICcnO1xuICAgICRxdWVyeS1mYWxsYmFjazogZmFsc2U7XG4gICAgJHJldHVybjogKCk7XG5cbiAgICAvLyBSZXNlcnZlIEdsb2JhbCBQcml2YXRlIEJyZWFrcG9pbnQgQ29udGV4dFxuICAgICRob2xkZXItY29udGV4dDogJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjtcbiAgICAkaG9sZGVyLXF1ZXJ5LWNvdW50OiAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50O1xuXG4gICAgLy8gUmVzZXQgR2xvYmFsIFByaXZhdGUgQnJlYWtwb2ludCBDb250ZXh0XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogKCkgIWdsb2JhbDtcbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiAwICFnbG9iYWw7XG5cblxuICAgIC8vIFRlc3QgdG8gc2VlIGlmIGl0J3MgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuICAgICRvci1saXN0OiBpZihsaXN0LXNlcGFyYXRvcigkcXVlcnkpID09ICdjb21tYScsIHRydWUsIGZhbHNlKTtcblxuXG4gICAgQGlmICgkb3ItbGlzdCA9PSBmYWxzZSBhbmQgYnJlYWtwb2ludC1nZXQoJ2xlZ2FjeSBzeW50YXgnKSA9PSBmYWxzZSkge1xuICAgICAgJHF1ZXJ5LXN0cmluZzogYnJlYWtwb2ludC1wYXJzZSgkcXVlcnkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkbGVuZ3RoOiBsZW5ndGgoJHF1ZXJ5KTtcblxuICAgICAgJGxhc3Q6IG50aCgkcXVlcnksICRsZW5ndGgpO1xuICAgICAgJHF1ZXJ5LWZhbGxiYWNrOiBicmVha3BvaW50LW5vLXF1ZXJ5KCRsYXN0KTtcblxuICAgICAgQGlmICgkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2UpIHtcbiAgICAgICAgJGxlbmd0aDogJGxlbmd0aCAtIDE7XG4gICAgICB9XG5cbiAgICAgIEBpZiAoYnJlYWtwb2ludC1nZXQoJ2xlZ2FjeSBzeW50YXgnKSA9PSB0cnVlKSB7XG4gICAgICAgICRtcTogKCk7XG5cbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbGVuZ3RoIHtcbiAgICAgICAgICAkbXE6IGFwcGVuZCgkbXEsIG50aCgkcXVlcnksICRpKSwgY29tbWEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJHF1ZXJ5LXN0cmluZzogYnJlYWtwb2ludC1wYXJzZSgkbXEpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkcXVlcnktc3RyaW5nOiAnJztcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbGVuZ3RoIHtcbiAgICAgICAgICAkcXVlcnktc3RyaW5nOiAkcXVlcnktc3RyaW5nICsgaWYoJGkgPT0gMSwgJycsICcsICcpICsgYnJlYWtwb2ludC1wYXJzZShudGgoJHF1ZXJ5LCAkaSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJHJldHVybjogKCdxdWVyeSc6ICRxdWVyeS1zdHJpbmcsXG4gICAgICAgICdmYWxsYmFjayc6ICRxdWVyeS1mYWxsYmFjayxcbiAgICAgICAgJ2NvbnRleHQgaG9sZGVyJzogJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcixcbiAgICAgICAgJ3F1ZXJ5IGNvdW50JzogJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudFxuICAgICk7XG4gICAgQGlmIGxlbmd0aCgkY29udGV4dHMpID4gMCBhbmQgbnRoKCRjb250ZXh0cywgMSkgIT0gZmFsc2Uge1xuICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCduby1xdWVyeScsICRxdWVyeS1mYWxsYmFjayk7XG4gICAgICB9XG4gICAgICAkY29udGV4dC1tYXA6ICgpO1xuICAgICAgQGVhY2ggJGNvbnRleHQgaW4gJGNvbnRleHRzIHtcbiAgICAgICAgJGNvbnRleHQtbWFwOiBtYXAtbWVyZ2UoJGNvbnRleHQtbWFwLCAoJGNvbnRleHQ6IGJyZWFrcG9pbnQtZ2V0LWNvbnRleHQoJGNvbnRleHQpKSk7XG4gICAgICB9XG4gICAgICAkcmV0dXJuOiBtYXAtbWVyZ2UoJHJldHVybiwgKGNvbnRleHQ6ICRjb250ZXh0LW1hcCkpO1xuICAgIH1cblxuICAgIC8vIFJlc2V0IEdsb2JhbCBQcml2YXRlIEJyZWFrcG9pbnQgQ29udGV4dFxuICAgICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6ICgpICFnbG9iYWw7XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogMCAhZ2xvYmFsO1xuXG4gICAgQGlmICRNZW1vLUV4aXN0cyB7XG4gICAgICAkaG9sZGVyOiBtZW1vLXNldChicmVha3BvaW50LCBicmVha3BvaW50ICRxdWVyeSAkY29udGV4dHMsICRyZXR1cm4pO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBHZW5lcmFsIEJyZWFrcG9pbnQgUGFyc2VyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlKCRxdWVyeSkge1xuICAvLyBJbmNyZWFzZSBudW1iZXIgb2YgJ2FuZCcgcXVlcmllc1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50ICsgMSAhZ2xvYmFsO1xuXG4gIC8vIFNldCB1cCBNZWRpYSBUeXBlXG4gICRxdWVyeS1wcmludDogJyc7XG5cbiAgJGZvcmNlLWFsbDogKChicmVha3BvaW50LWdldCgnZm9yY2UgYWxsIG1lZGlhIHR5cGUnKSA9PSB0cnVlKSBhbmQgKGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykgPT0gJ2FsbCcpKTtcbiAgJGVtcHR5LW1lZGlhOiB0cnVlO1xuICBAaWYgKCRmb3JjZS1hbGwgPT0gdHJ1ZSkgb3IgKGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykgIT0gJ2FsbCcpIHtcbiAgICAvLyBGb3JjZSB0aGUgcHJpbnQgb2YgdGhlIGRlZmF1bHQgbWVkaWEgdHlwZSBpZiAoZm9yY2UgYWxsIGlzIHRydWUgYW5kIGRlZmF1bHQgbWVkaWEgdHlwZSBpcyBhbGwpIG9yIChkZWZhdWx0IG1lZGlhIHR5cGUgaXMgbm90IGFsbClcbiAgICAkcXVlcnktcHJpbnQ6IGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJyk7XG4gICAgJGVtcHR5LW1lZGlhOiBmYWxzZTtcbiAgfVxuXG5cbiAgJHF1ZXJ5LXJlc29sdXRpb246IGZhbHNlO1xuXG4gICRxdWVyeS1ob2xkZXI6IGJyZWFrcG9pbnQtcGFyc2UtcXVlcnkoJHF1ZXJ5KTtcblxuXG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggcGFyc2VkIG91dCBxdWVyeSBhbmQgd3JpdGUgaXQgdG8gJHF1ZXJ5LXByaW50XG4gICRmaXJzdDogdHJ1ZTtcblxuICBAZWFjaCAkZmVhdHVyZSBpbiAkcXVlcnktaG9sZGVyIHtcbiAgICAkbGVuZ3RoOiBsZW5ndGgoJGZlYXR1cmUpO1xuXG4gICAgLy8gUGFyc2UgYSBzaW5nbGUgZmVhdHVyZVxuICAgIEBpZiAoJGxlbmd0aCA9PSAxKSB7XG4gICAgICAvLyBGZWF0dXJlIGlzIGN1cnJlbnRseSBhIGxpc3QsIGdyYWIgdGhlIGFjdHVhbCB2YWx1ZVxuICAgICAgJGZlYXR1cmU6IG50aCgkZmVhdHVyZSwgMSk7XG5cbiAgICAgIC8vIE1lZGlhIFR5cGUgbXVzdCBieSBjb252ZW50aW9uIGJlIHRoZSBmaXJzdCBpdGVtLCBzbyBpdCdzIHNhZmUgdG8gZmxhdCBvdmVycmlkZSAkcXVlcnktcHJpbnQsIHdoaWNoIHJpZ2h0IG5vdyBzaG91bGQgb25seSBiZSB0aGUgZGVmYXVsdCBtZWRpYSB0eXBlXG4gICAgICBAaWYgKGJyZWFrcG9pbnQtaXMtbWVkaWEoJGZlYXR1cmUpKSB7XG4gICAgICAgIEBpZiAoJGZvcmNlLWFsbCA9PSB0cnVlKSBvciAoJGZlYXR1cmUgIT0gJ2FsbCcpIHtcbiAgICAgICAgICAvLyBGb3JjZSB0aGUgcHJpbnQgb2YgdGhlIGRlZmF1bHQgbWVkaWEgdHlwZSBpZiAoZm9yY2UgYWxsIGlzIHRydWUgYW5kIGRlZmF1bHQgbWVkaWEgdHlwZSBpcyBhbGwpIG9yIChkZWZhdWx0IG1lZGlhIHR5cGUgaXMgbm90IGFsbClcbiAgICAgICAgICAkcXVlcnktcHJpbnQ6ICRmZWF0dXJlO1xuICAgICAgICAgICRlbXB0eS1tZWRpYTogZmFsc2U7XG5cbiAgICAgICAgICAvLyBTZXQgQ29udGV4dFxuICAgICAgICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1lZGlhLCAkcXVlcnktcHJpbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2Utc2luZ2xlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAgICRxdWVyeS1wcmludDogJyN7JHF1ZXJ5LXByaW50fSAjeyRwYXJzZWR9JztcbiAgICAgICAgJGZpcnN0OiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUGFyc2UgYSBkb3VibGUgZmVhdHVyZVxuICAgIEBlbHNlIGlmICgkbGVuZ3RoID09IDIpIHtcbiAgICAgIEBpZiAoYnJlYWtwb2ludC1pcy1yZXNvbHV0aW9uKCRmZWF0dXJlKSAhPSBmYWxzZSkge1xuICAgICAgICAkcXVlcnktcmVzb2x1dGlvbjogJGZlYXR1cmU7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRwYXJzZWQ6IG51bGw7XG4gICAgICAgIC8vIElmIGl0J3MgYSBzdHJpbmcvbnVtYmVyIHBhaXIsXG4gICAgICAgIC8vIHdlIGNoZWNrIHRvIHNlZSBpZiBvbmUgaXMgYSBzaW5nbGUtc3RyaW5nIHZhbHVlLFxuICAgICAgICAvLyB0aGVuIHdlIHBhcnNlIGl0IGFzIGEgbm9ybWFsIGRvdWJsZVxuICAgICAgICAkYWxwaGE6IG50aCgkZmVhdHVyZSwgMSk7XG4gICAgICAgICRiZXRhOiBudGgoJGZlYXR1cmUsIDIpO1xuICAgICAgICBAaWYgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRhbHBoYSkgb3IgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRiZXRhKSB7XG4gICAgICAgICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1zaW5nbGUoJGFscGhhLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAgICAgJHF1ZXJ5LXByaW50OiAnI3skcXVlcnktcHJpbnR9ICN7JHBhcnNlZH0nO1xuICAgICAgICAgICRmaXJzdDogZmFsc2U7XG4gICAgICAgICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1zaW5nbGUoJGJldGEsICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgICAgICAgICAkcXVlcnktcHJpbnQ6ICcjeyRxdWVyeS1wcmludH0gI3skcGFyc2VkfSc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAgICAgJHF1ZXJ5LXByaW50OiAnI3skcXVlcnktcHJpbnR9ICN7JHBhcnNlZH0nO1xuICAgICAgICAgICRmaXJzdDogZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUGFyc2UgYSB0cmlwbGUgZmVhdHVyZVxuICAgIEBlbHNlIGlmICgkbGVuZ3RoID09IDMpIHtcbiAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtdHJpcGxlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAkcXVlcnktcHJpbnQ6ICcjeyRxdWVyeS1wcmludH0gI3skcGFyc2VkfSc7XG4gICAgICAkZmlyc3Q6IGZhbHNlO1xuICAgIH1cblxuICB9XG5cbiAgQGlmICgkcXVlcnktcmVzb2x1dGlvbiAhPSBmYWxzZSkge1xuICAgICRxdWVyeS1wcmludDogYnJlYWtwb2ludC1idWlsZC1yZXNvbHV0aW9uKCRxdWVyeS1wcmludCwgJHF1ZXJ5LXJlc29sdXRpb24sICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgfVxuXG4gIC8vIExvb3AgdGhyb3VnaCBlYWNoIGZlYXR1cmUgdGhhdCdzIGJlZW4gZGV0ZWN0ZWQgc28gZmFyIGFuZCBhcHBlbmQgJ2ZhbHNlJyB0byB0aGUgdGhlIHZhbHVlIGxpc3QgdG8gaW5jcmVtZW50IHRoZWlyIGNvdW50ZXJzXG4gIEBlYWNoICRmLCAkdiBpbiAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyIHtcbiAgICAkdi1ob2xkZXI6ICR2O1xuICAgICRsZW5ndGg6IGxlbmd0aCgkdi1ob2xkZXIpO1xuICAgIEBpZiBsZW5ndGgoJHYtaG9sZGVyKSA8ICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQge1xuICAgICAgQGZvciAkaSBmcm9tICRsZW5ndGggdG8gJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCB7XG4gICAgICAgIEBpZiAkZiA9PSAnbWVkaWEnIHtcbiAgICAgICAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsIGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtbWVyZ2UoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgKCRmOiAkdi1ob2xkZXIpKSAhZ2xvYmFsO1xuICB9XG5cbiAgQHJldHVybiAkcXVlcnktcHJpbnQ7XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1xdWVyeSgkcXVlcnkpIHtcbiAgLy8gUGFyc2UgZmVhdHVyZXMgb3V0IG9mIGFuIGluZGl2aWR1YWwgcXVlcnlcbiAgJGZlYXR1cmUtaG9sZGVyOiAoKTtcbiAgJHF1ZXJ5LWhvbGRlcjogKCk7XG4gICRsZW5ndGg6IGxlbmd0aCgkcXVlcnkpO1xuXG4gIEBpZiAkbGVuZ3RoID09IDIge1xuICAgIC8vIElmIHdlJ3ZlIGdvdCBhIHN0cmluZy9udW1iZXIsIG51bWJlci9zdHJpbmcsIGNoZWNrIHRvIHNlZSBpZiBpdCdzIGEgdmFsaWQgc3RyaW5nL251bWJlciBwYWlyIG9yIHR3byBzaW5nbGVzXG4gICAgQGlmICh0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnc3RyaW5nJyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgPT0gJ251bWJlcicpIG9yICh0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnbnVtYmVyJyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgPT0gJ3N0cmluZycpIHtcblxuICAgICAgJG51bWJlcjogJyc7XG4gICAgICAkdmFsdWU6ICcnO1xuXG4gICAgICBAaWYgdHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgPT0gJ3N0cmluZycge1xuICAgICAgICAkbnVtYmVyOiBudGgoJHF1ZXJ5LCAyKTtcbiAgICAgICAgJHZhbHVlOiBudGgoJHF1ZXJ5LCAxKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJG51bWJlcjogbnRoKCRxdWVyeSwgMSk7XG4gICAgICAgICR2YWx1ZTogbnRoKCRxdWVyeSwgMik7XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSBzdHJpbmcgdmFsdWUgY2FuIGJlIGEgc2luZ2xlIHZhbHVlLCBjaGVjayB0byBzZWUgaWYgdGhlIG51bWJlciBwYXNzZWQgaW4gaXMgYSB2YWxpZCBpbnB1dCBmb3Igc2FpZCBzaW5nbGUgdmFsdWUuIEZvcnR1bmF0ZWx5LCBhbGwgY3VycmVudCBzaW5nbGUtdmFsdWUgb3B0aW9ucyBvbmx5IGFjY2VwdCB1bml0bGVzcyBudW1iZXJzLCBzbyB0aGlzIGNoZWNrIGlzIGVhc3kuXG4gICAgICBAaWYgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCR2YWx1ZSkge1xuICAgICAgICBAaWYgdW5pdGxlc3MoJG51bWJlcikge1xuICAgICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKCR2YWx1ZSwgJG51bWJlciwgc3BhY2UpO1xuICAgICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCAkZmVhdHVyZS1ob2xkZXIsIGNvbW1hKTtcbiAgICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIElmIHRoZSBzdHJpbmcgaXMgYSBtZWRpYSB0eXBlLCBzcGxpdCB0aGUgcXVlcnlcbiAgICAgIEBpZiBicmVha3BvaW50LWlzLW1lZGlhKCR2YWx1ZSkge1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgbnRoKCRxdWVyeSwgMSkpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgbnRoKCRxdWVyeSwgMikpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG4gICAgICAvLyBJZiBpdCdzIG5vdCBhIHNpbmdsZSBmZWF0dXJlLCB3ZSdyZSBqdXN0IGdvaW5nIHRvIGFzc3VtZSBpdCdzIGEgcHJvcGVyIHN0cmluZy92YWx1ZSBwYWlyLCBhbmQgcm9sbCB3aXRoIGl0LlxuICAgICAgQGVsc2Uge1xuICAgICAgICAkZmVhdHVyZS1ob2xkZXI6IGFwcGVuZCgkdmFsdWUsICRudW1iZXIsIHNwYWNlKTtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG5cbiAgICB9XG4gICAgLy8gSWYgdGhleSdyZSBib3RoIG51bWJlcnMsIHdlIGFzc3VtZSBpdCdzIGEgZG91YmxlIGFuZCByb2xsIHdpdGggdGhhdFxuICAgIEBlbHNlIGlmICh0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnbnVtYmVyJyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgPT0gJ251bWJlcicpIHtcbiAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKG50aCgkcXVlcnksIDEpLCBudGgoJHF1ZXJ5LCAyKSwgc3BhY2UpO1xuICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgIH1cbiAgICAvLyBJZiB0aGV5J3JlIGJvdGggc3RyaW5ncyBhbmQgbmVpdGhlciBhcmUgc2luZ2xlcywgd2Ugcm9sbCB3aXRoIHRoYXQuXG4gICAgQGVsc2UgaWYgKHR5cGUtb2YobnRoKCRxdWVyeSwgMSkpID09ICdzdHJpbmcnIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDIpKSA9PSAnc3RyaW5nJykge1xuICAgICAgQGlmIG5vdCBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcobnRoKCRxdWVyeSwgMSkpIGFuZCBub3QgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKG50aCgkcXVlcnksIDIpKSB7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKG50aCgkcXVlcnksIDEpLCBudGgoJHF1ZXJ5LCAyKSwgc3BhY2UpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyLCBjb21tYSk7XG4gICAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAzIHtcbiAgICAvLyBJZiB3ZSd2ZSBnb3QgdGhyZWUgaXRlbXMgYW5kIG5vbmUgaXMgYSBsaXN0LCB3ZSBjaGVjayB0byBzZWVcbiAgICBAaWYgdHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgIT0gJ2xpc3QnIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDIpKSAhPSAnbGlzdCcgYW5kIHR5cGUtb2YobnRoKCRxdWVyeSwgMykpICE9ICdsaXN0JyB7XG4gICAgICAvLyBJZiBub25lIG9mIHRoZSBpdGVtcyBhcmUgc2luZ2xlIHN0cmluZyB2YWx1ZXMgYW5kIG5vbmUgb2YgdGhlIHZhbHVlcyBhcmUgbWVkaWEgdmFsdWVzLCB3ZSdyZSBnb29kLlxuICAgICAgQGlmIChub3QgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKG50aCgkcXVlcnksIDEpKSBhbmQgbm90IGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZyhudGgoJHF1ZXJ5LCAyKSkgYW5kIG5vdCBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcobnRoKCRxdWVyeSwgMykpKSBhbmQgICgobm90IGJyZWFrcG9pbnQtaXMtbWVkaWEobnRoKCRxdWVyeSwgMSkpIGFuZCBub3QgYnJlYWtwb2ludC1pcy1tZWRpYShudGgoJHF1ZXJ5LCAyKSkgYW5kIG5vdCBicmVha3BvaW50LWlzLW1lZGlhKG50aCgkcXVlcnksIDMpKSkpIHtcbiAgICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQobnRoKCRxdWVyeSwgMSksIG50aCgkcXVlcnksIDIpLCBzcGFjZSk7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKCRmZWF0dXJlLWhvbGRlciwgbnRoKCRxdWVyeSwgMyksIHNwYWNlKTtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG4gICAgICAvLyBsZXQncyBjaGVjayB0byBzZWUgaWYgdGhlIGZpcnN0IGl0ZW0gaXMgYSBtZWRpYSB0eXBlXG4gICAgICBAZWxzZSBpZiBicmVha3BvaW50LWlzLW1lZGlhKG50aCgkcXVlcnksIDEpKSB7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCBudGgoJHF1ZXJ5LCAxKSk7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKG50aCgkcXVlcnksIDIpLCBudGgoJHF1ZXJ5LCAzKSwgc3BhY2UpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyKTtcbiAgICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIGl0J3MgYSBzaW5nbGUgaXRlbSwgb3IgaWYgaXQncyBub3QgYSBzcGVjaWFsIGNhc2UgZG91YmxlIG9yIHRyaXBsZSwgd2UgY2FuIHNpbXBseSByZXR1cm4gdGhlIHF1ZXJ5LlxuICBAcmV0dXJuICRxdWVyeTtcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IFBpZWNlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwic2luZ2xlL2RlZmF1bHRcIjtcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2Utc2luZ2xlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCkge1xuICAkcGFyc2VkOiAnJztcbiAgJGxlYWRlcjogJyc7XG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gIC8vIElmIGl0J3MgYSBzaW5nbGUgZmVhdHVyZSB0aGF0IGNhbiBzdGFuZCBhbG9uZSwgd2UgbGV0IGl0XG4gIEBpZiAoYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRmZWF0dXJlKSkge1xuICAgICRwYXJzZWQ6ICRmZWF0dXJlO1xuICAgIC8vIFNldCBDb250ZXh0XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGZlYXR1cmUsICRmZWF0dXJlKTtcbiAgfVxuICAvLyBJZiBpdCdzIG5vdCBhIHN0YW5kIGFsb25lIGZlYXR1cmUsIHdlIHBhc3MgaXQgb2ZmIHRvIHRoZSBkZWZhdWx0IGhhbmRsZXIuXG4gIEBlbHNlIHtcbiAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLWRlZmF1bHQoJGZlYXR1cmUpO1xuICB9XG5cbiAgQHJldHVybiAkbGVhZGVyICsgJygnICsgJHBhcnNlZCArICcpJztcbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRlZmF1bHQoJGZlYXR1cmUpIHtcbiAgJGRlZmF1bHQ6IGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IGZlYXR1cmUnKTtcblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgkZGVmYXVsdCwgJGZlYXR1cmUpO1xuXG4gIEBpZiAoYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpID09IHRydWUpIGFuZCAodHlwZS1vZigkZmVhdHVyZSkgPT0gJ251bWJlcicpIHtcbiAgICBAcmV0dXJuICcjeyRkZWZhdWx0fTogI3ticmVha3BvaW50LXRvLWJhc2UtZW0oJGZlYXR1cmUpfSc7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJyN7JGRlZmF1bHR9OiAjeyRmZWF0dXJlfSc7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IFBpZWNlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwiZG91YmxlL2RlZmF1bHQtcGFpclwiO1xuQGltcG9ydCBcImRvdWJsZS9kb3VibGUtc3RyaW5nXCI7XG5AaW1wb3J0IFwiZG91YmxlL2RlZmF1bHRcIjtcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCkge1xuICAkcGFyc2VkOiAnJztcbiAgJGxlYWRlcjogJyc7XG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gICRmaXJzdDogbnRoKCRmZWF0dXJlLCAxKTtcbiAgJHNlY29uZDogbnRoKCRmZWF0dXJlLCAyKTtcblxuICAvLyBJZiB3ZSd2ZSBnb3QgdHdvIG51bWJlcnMsIHdlIGtub3cgd2UgbmVlZCB0byB1c2UgdGhlIGRlZmF1bHQgcGFpciBiZWNhdXNlIHRoZXJlIGFyZSBubyBtZWRpYSBxdWVyaWVzIHRoYXQgaGFzIGEgbWVkaWEgZmVhdHVyZSB0aGF0IGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCRmaXJzdCkgPT0gJ251bWJlcicgYW5kIHR5cGUtb2YoJHNlY29uZCkgPT0gJ251bWJlcicge1xuICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZGVmYXVsdC1wYWlyKCRmaXJzdCwgJHNlY29uZCk7XG4gIH1cbiAgLy8gSWYgdGhleSBhcmUgYm90aCBzdHJpbmdzLCB3ZSBzZW5kIGl0IHRocm91Z2ggdGhlIHN0cmluZyBwYXJzZXJcbiAgQGVsc2UgaWYgdHlwZS1vZigkZmlyc3QpID09ICdzdHJpbmcnIGFuZCB0eXBlLW9mKCRzZWNvbmQpID09ICdzdHJpbmcnIHtcbiAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLWRvdWJsZS1zdHJpbmcoJGZpcnN0LCAkc2Vjb25kKTtcbiAgfVxuICAvLyBJZiBpdCdzIGEgc3RyaW5nL251bWJlciBwYWlyLCB3ZSBwYXJzZSBpdCBhcyBhIG5vcm1hbCBkb3VibGVcbiAgQGVsc2Uge1xuICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlLWRlZmF1bHQoJGZpcnN0LCAkc2Vjb25kKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxlYWRlciArICRwYXJzZWQ7XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1kZWZhdWx0LXBhaXIoJGZpcnN0LCAkc2Vjb25kKSB7XG4gICRkZWZhdWx0OiBicmVha3BvaW50LWdldCgnZGVmYXVsdCBwYWlyJyk7XG4gICRtaW46ICcnO1xuICAkbWF4OiAnJztcblxuICAvLyBTb3J0IGludG8gbWluIGFuZCBtYXhcbiAgJG1pbjogbWluKCRmaXJzdCwgJHNlY29uZCk7XG4gICRtYXg6IG1heCgkZmlyc3QsICRzZWNvbmQpO1xuXG4gIC8vIFNldCBDb250ZXh0XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1pbi0jeyRkZWZhdWx0fSwgJG1pbik7XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1heC0jeyRkZWZhdWx0fSwgJG1heCk7XG5cbiAgLy8gTWFrZSB0aGVtIEVNcyBpZiBuZWVkIGJlXG4gIEBpZiAoYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpID09IHRydWUpIHtcbiAgICAkbWluOiBicmVha3BvaW50LXRvLWJhc2UtZW0oJG1pbik7XG4gICAgJG1heDogYnJlYWtwb2ludC10by1iYXNlLWVtKCRtYXgpO1xuICB9XG5cbiAgQHJldHVybiAnKG1pbi0jeyRkZWZhdWx0fTogI3skbWlufSkgYW5kIChtYXgtI3skZGVmYXVsdH06ICN7JG1heH0pJztcbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRvdWJsZS1zdHJpbmcoJGZpcnN0LCAkc2Vjb25kKSB7XG4gICRmZWF0dXJlOiAnJztcbiAgJHZhbHVlOiAnJztcblxuICAvLyBUZXN0IHRvIHNlZSB3aGljaCBpcyB0aGUgZmVhdHVyZSBhbmQgd2hpY2ggaXMgdGhlIHZhbHVlXG4gIEBpZiAoYnJlYWtwb2ludC1zdHJpbmctdmFsdWUoJGZpcnN0KSA9PSB0cnVlKSB7XG4gICAgJGZlYXR1cmU6ICRmaXJzdDtcbiAgICAkdmFsdWU6ICRzZWNvbmQ7XG4gIH1cbiAgQGVsc2UgaWYgKGJyZWFrcG9pbnQtc3RyaW5nLXZhbHVlKCRzZWNvbmQpID09IHRydWUpIHtcbiAgICAkZmVhdHVyZTogJHNlY29uZDtcbiAgICAkdmFsdWU6ICRmaXJzdDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJOZWl0aGVyICN7JGZpcnN0fSBub3IgI3skc2Vjb25kfSBpcyBhIHZhbGlkIG1lZGlhIHF1ZXJ5IG5hbWUuXCI7XG4gIH1cblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgkZmVhdHVyZSwgJHZhbHVlKTtcblxuICBAcmV0dXJuICcoI3skZmVhdHVyZX06ICN7JHZhbHVlfSknO1xufSIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRvdWJsZS1kZWZhdWx0KCRmaXJzdCwgJHNlY29uZCkge1xuICAkZmVhdHVyZTogJyc7XG4gICR2YWx1ZTogJyc7XG5cbiAgQGlmIHR5cGUtb2YoJGZpcnN0KSA9PSAnc3RyaW5nJyB7XG4gICAgJGZlYXR1cmU6ICRmaXJzdDtcbiAgICAkdmFsdWU6ICRzZWNvbmQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgICRmZWF0dXJlOiAkc2Vjb25kO1xuICAgICR2YWx1ZTogJGZpcnN0O1xuICB9XG5cbiAgLy8gU2V0IENvbnRleHRcbiAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGZlYXR1cmUsICR2YWx1ZSk7XG5cbiAgQGlmIChicmVha3BvaW50LWdldCgndG8gZW1zJykgPT0gdHJ1ZSkge1xuICAgICR2YWx1ZTogYnJlYWtwb2ludC10by1iYXNlLWVtKCR2YWx1ZSk7XG4gIH1cblxuICBAcmV0dXJuICcoI3skZmVhdHVyZX06ICN7JHZhbHVlfSknXG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydCBQaWVjZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcInRyaXBsZS9kZWZhdWx0XCI7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLXRyaXBsZSgkZmVhdHVyZSwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpIHtcbiAgJHBhcnNlZDogJyc7XG4gICRsZWFkZXI6ICcnO1xuXG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gIC8vIHNlcGFyYXRlIHRoZSBzdHJpbmcgZmVhdHVyZXMgZnJvbSB0aGUgdmFsdWUgbnVtYmVyc1xuICAkc3RyaW5nOiBudWxsO1xuICAkbnVtYmVyczogbnVsbDtcbiAgQGVhY2ggJHZhbCBpbiAkZmVhdHVyZSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbCkgPT0gc3RyaW5nIHtcbiAgICAgICRzdHJpbmc6ICR2YWw7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiB0eXBlLW9mKCRudW1iZXJzKSA9PSAnbnVsbCcge1xuICAgICAgICAkbnVtYmVyczogJHZhbDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJG51bWJlcnM6IGFwcGVuZCgkbnVtYmVycywgJHZhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS10cmlwbGUtZGVmYXVsdCgkc3RyaW5nLCBudGgoJG51bWJlcnMsIDEpLCBudGgoJG51bWJlcnMsIDIpKTtcblxuICBAcmV0dXJuICRsZWFkZXIgKyAkcGFyc2VkO1xuXG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS10cmlwbGUtZGVmYXVsdCgkZmVhdHVyZSwgJGZpcnN0LCAkc2Vjb25kKSB7XG5cbiAgLy8gU29ydCBpbnRvIG1pbiBhbmQgbWF4XG4gICRtaW46IG1pbigkZmlyc3QsICRzZWNvbmQpO1xuICAkbWF4OiBtYXgoJGZpcnN0LCAkc2Vjb25kKTtcblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dChtaW4tI3skZmVhdHVyZX0sICRtaW4pO1xuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dChtYXgtI3skZmVhdHVyZX0sICRtYXgpO1xuXG4gIC8vIE1ha2UgdGhlbSBFTXMgaWYgbmVlZCBiZVxuICBAaWYgKGJyZWFrcG9pbnQtZ2V0KCd0byBlbXMnKSA9PSB0cnVlKSB7XG4gICAgJG1pbjogYnJlYWtwb2ludC10by1iYXNlLWVtKCRtaW4pO1xuICAgICRtYXg6IGJyZWFrcG9pbnQtdG8tYmFzZS1lbSgkbWF4KTtcbiAgfVxuXG4gIEByZXR1cm4gJyhtaW4tI3skZmVhdHVyZX06ICN7JG1pbn0pIGFuZCAobWF4LSN7JGZlYXR1cmV9OiAjeyRtYXh9KSc7XG59XG4iLCJAaW1wb3J0IFwicmVzb2x1dGlvbi9yZXNvbHV0aW9uXCI7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LWJ1aWxkLXJlc29sdXRpb24oJHF1ZXJ5LXByaW50LCAkcXVlcnktcmVzb2x1dGlvbiwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpIHtcbiAgJGxlYWRlcjogJyc7XG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gIEBpZiBicmVha3BvaW50LWdldCgndHJhbnNmb3JtIHJlc29sdXRpb25zJykgYW5kICRxdWVyeS1yZXNvbHV0aW9uIHtcbiAgICAkcmVzb2x1dGlvbnM6IGJyZWFrcG9pbnQtbWFrZS1yZXNvbHV0aW9ucygkcXVlcnktcmVzb2x1dGlvbik7XG4gICAgJGxlbmd0aDogbGVuZ3RoKCRyZXNvbHV0aW9ucyk7XG4gICAgJHF1ZXJ5LWhvbGRlcjogJyc7XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRsZW5ndGgge1xuICAgICAgJHF1ZXJ5OiAnI3skcXVlcnktcHJpbnR9ICN7JGxlYWRlcn0je250aCgkcmVzb2x1dGlvbnMsICRpKX0nO1xuICAgICAgQGlmICRpID09IDEge1xuICAgICAgICAkcXVlcnktaG9sZGVyOiAkcXVlcnk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6ICcjeyRxdWVyeS1ob2xkZXJ9LCAjeyRxdWVyeX0nO1xuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gUmV0dXJuIHdpdGggYXR0YWNoZWQgcmVzb2x1dGlvblxuICAgIEByZXR1cm4gJHF1ZXJ5LXByaW50O1xuICB9XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1tYWtlLXJlc29sdXRpb25zKCRyZXNvbHV0aW9uKSB7XG4gICRsZW5ndGg6IGxlbmd0aCgkcmVzb2x1dGlvbik7XG5cbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmICRsZW5ndGggPT0gMiB7XG4gICAgJGZlYXR1cmU6ICcnO1xuICAgICR2YWx1ZTogJyc7XG5cbiAgICAvLyBGaW5kIHdoaWNoIGlzIG51bWJlclxuICAgIEBpZiB0eXBlLW9mKG50aCgkcmVzb2x1dGlvbiwgMSkpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogbnRoKCRyZXNvbHV0aW9uLCAxKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHZhbHVlOiBudGgoJHJlc29sdXRpb24sIDIpO1xuICAgIH1cblxuICAgIC8vIERldGVybWluZSBtaW4vbWF4L3N0YW5kYXJkXG4gICAgQGlmIGluZGV4KCRyZXNvbHV0aW9uLCAnbWluLXJlc29sdXRpb24nKSB7XG4gICAgICAkZmVhdHVyZTogJ21pbi0nO1xuICAgIH1cbiAgICBAZWxzZSBpZiBpbmRleCgkcmVzb2x1dGlvbiwgJ21heC1yZXNvbHV0aW9uJykge1xuICAgICAgJGZlYXR1cmU6ICdtYXgtJztcbiAgICB9XG5cbiAgICAkc3RhbmRhcmQ6ICcoI3skZmVhdHVyZX1yZXNvbHV0aW9uOiAjeyR2YWx1ZX0pJztcblxuICAgIC8vIElmIHdlJ3JlIG5vdCBkZWFsaW5nIHdpdGggZHBweCxcbiAgICBAaWYgdW5pdCgkdmFsdWUpICE9ICdkcHB4JyB7XG4gICAgICAkYmFzZTogOTZkcGk7XG4gICAgICBAaWYgdW5pdCgkdmFsdWUpID09ICdkcGNtJyB7XG4gICAgICAgICRiYXNlOiAyNDMuODRkcGNtO1xuICAgICAgfVxuICAgICAgLy8gV3JpdGUgb3V0IGZlYXR1cmUgdGVzdHNcbiAgICAgICR3ZWJraXQ6ICcnO1xuICAgICAgJG1vejogJyc7XG4gICAgICAkd2Via2l0OiAnKC13ZWJraXQtI3skZmVhdHVyZX1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHZhbHVlIC8gJGJhc2V9KSc7XG4gICAgICAkbW96OiAnKCN7JGZlYXR1cmV9LW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHZhbHVlIC8gJGJhc2V9KSc7XG4gICAgICAvLyBBcHBlbmQgdG8gb3V0cHV0XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJHN0YW5kYXJkLCBzcGFjZSk7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJHdlYmtpdCwgc3BhY2UpO1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICRtb3osIHNwYWNlKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdDogJyc7XG4gICAgICAkbW96OiAnJztcbiAgICAgICR3ZWJraXQ6ICcoLXdlYmtpdC0jeyRmZWF0dXJlfWRldmljZS1waXhlbC1yYXRpbzogI3skdmFsdWUgLyAxZHBweH0pJztcbiAgICAgICRtb3o6ICcoI3skZmVhdHVyZX0tbW96LWRldmljZS1waXhlbC1yYXRpbzogI3skdmFsdWUgLyAxZHBweH0pJztcbiAgICAgICRmYWxsYmFjazogJygjeyRmZWF0dXJlfXJlc29sdXRpb246ICN7JHZhbHVlIC8gMWRwcHggKiA5NmRwaX0pJztcbiAgICAgIC8vIEFwcGVuZCB0byBvdXRwdXRcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkc3RhbmRhcmQsIHNwYWNlKTtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkd2Via2l0LCBzcGFjZSk7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJG1veiwgc3BhY2UpO1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICRmYWxsYmFjaywgc3BhY2UpO1xuICAgIH1cblxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuIiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbm8tcXVlcnkoJHF1ZXJ5KSB7XG4gIEBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gJ2xpc3QnIHtcbiAgICAka2V5d29yZDogbnRoKCRxdWVyeSwgMSk7XG5cbiAgICBAaWYgdHlwZS1vZigka2V5d29yZCkgPT0gJ3N0cmluZycgYW5kICgka2V5d29yZCA9PSAnbm8tcXVlcnknIG9yICRrZXl3b3JkID09ICdubyBxdWVyeScgb3IgJGtleXdvcmQgPT0gJ2ZhbGxiYWNrJykge1xuICAgICAgQHJldHVybiBudGgoJHF1ZXJ5LCAyKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRGVmYXVsdCB0aGUgQnJlYWtwb2ludHMgdmFyaWFibGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcbiRCUkVBS1BPSU5UUzogKCkgIWRlZmF1bHQ7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmVzcG9uZC10byBBUEkgTWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQG1peGluIHJlc3BvbmQtdG8oJGNvbnRleHQsICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGlmIGxlbmd0aCgkYnJlYWtwb2ludHMpID4gMCBhbmQgbGVuZ3RoKCRCUkVBS1BPSU5UUykgPT0gMCB7XG4gICAgQHdhcm4gXCJJbiBvcmRlciB0byBhdm9pZCB2YXJpYWJsZSBuYW1lc3BhY2UgY29sbGlzaW9ucywgd2UgaGF2ZSB1cGRhdGVkIHRoZSB3YXkgdG8gYWRkIGJyZWFrcG9pbnRzIGZvciByZXNwb25kLXRvLiBQbGVhc2UgY2hhbmdlIGFsbCBpbnN0YW5jZXMgb2YgYCRicmVha3BvaW50czogYWRkLWJyZWFrcG9pbnQoKWAgdG8gYEBpbmNsdWRlIGFkZC1icmVha3BvaW50KClgLiBUaGUgYGFkZC1icmVha3BvaW50KClgIGZ1bmN0aW9uIHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLlwiO1xuICAgICRCUkVBS1BPSU5UUzogJGJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICAgJGJyZWFrcG9pbnRzOiAoKSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJEJSRUFLUE9JTlRTKSAhPSAnbWFwJyB7XG4gICAgLy8gSnVzdCBpbiBjYXNlIHNvbWVvbmUgd3JpdGVzIGdpYmJlcmlzaCB0byB0aGUgJGJyZWFrcG9pbnRzIHZhcmlhYmxlLlxuICAgIEB3YXJuIFwiWW91ciBicmVha3BvaW50cyBhcmVuJ3QgYSBtYXAhIGByZXNwb25kLXRvYCBleHBlY3RzIGEgbWFwLiBQbGVhc2UgY2hlY2sgdGhlIHZhbHVlIG9mICRCUkVBS1BPSU5UUyB2YXJpYWJsZS5cIjtcbiAgICBAY29udGVudDtcbiAgfVxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkQlJFQUtQT0lOVFMsICRjb250ZXh0KSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXAtZ2V0KCRCUkVBS1BPSU5UUywgJGNvbnRleHQpLCAkbm8tcXVlcnkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiBub3QgbWFwLWhhcy1rZXkoJEJSRUFLUE9JTlRTLCAkY29udGV4dCkge1xuICAgIEB3YXJuIFwiYCN7JGNvbnRleHR9YCBpc24ndCBhIGRlZmluZWQgYnJlYWtwb2ludCEgUGxlYXNlIGFkZCBpdCB1c2luZyBgJGJyZWFrcG9pbnRzOiBhZGQtYnJlYWtwb2ludChgI3skY29udGV4dH1gLCAkdmFsdWUpO2BcIjtcbiAgICBAY29udGVudDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJZb3UgaGF2ZW4ndCBjcmVhdGVkIGFueSBicmVha3BvaW50cyB5ZXQhIE1ha2Ugc29tZSBhbHJlYWR5ISBgQGluY2x1ZGUgYWRkLWJyZWFrcG9pbnQoJG5hbWUsICRia3B0KWBcIjtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEFkZCBCcmVha3BvaW50IHRvIEJyZWFrcG9pbnRzXG4vLyBUT0RPOiBSZW1vdmUgZnVuY3Rpb24gaW4gbmV4dCByZWxlYXNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBhZGQtYnJlYWtwb2ludCgkbmFtZSwgJGJrcHQsICRvdmVyd3JpdGU6IGZhbHNlKSB7XG4gICRvdXRwdXQ6ICgkbmFtZTogJGJrcHQpO1xuXG4gIEBpZiBsZW5ndGgoJGJyZWFrcG9pbnRzKSA9PSAwIHtcbiAgICBAcmV0dXJuICRvdXRwdXQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSBhbmQgJG92ZXJ3cml0ZSAhPSB0cnVlIHtcbiAgICAgIEB3YXJuIFwiWW91IGFscmVhZHkgaGF2ZSBhIGJyZWFrcG9pbnQgbmFtZWQgYCN7JG5hbWV9YCwgcGxlYXNlIGNob29zZSBhbm90aGVyIGJyZWFrcG9pbnQgbmFtZSwgb3IgcGFzcyBpbiBgJG92ZXJ3cml0ZTogdHJ1ZWAgdG8gb3ZlcndyaXRlIHRoZSBwcmV2aW91cyBicmVha3BvaW50LlwiO1xuICAgICAgQHJldHVybiAkYnJlYWtwb2ludHM7XG4gICAgfVxuICAgIEBlbHNlIGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSBvciAkb3ZlcndyaXRlID09IHRydWUge1xuICAgICAgQHJldHVybiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkb3V0cHV0KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFkZC1icmVha3BvaW50KCRuYW1lLCAkYmtwdCwgJG92ZXJ3cml0ZTogZmFsc2UpIHtcbiAgJG91dHB1dDogKCRuYW1lOiAkYmtwdCk7XG5cbiAgQGlmIGxlbmd0aCgkQlJFQUtQT0lOVFMpID09IDAge1xuICAgICRCUkVBS1BPSU5UUzogJG91dHB1dCAhZ2xvYmFsO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJEJSRUFLUE9JTlRTLCAkbmFtZSkgYW5kICRvdmVyd3JpdGUgIT0gdHJ1ZSB7XG4gICAgICBAd2FybiBcIllvdSBhbHJlYWR5IGhhdmUgYSBicmVha3BvaW50IG5hbWVkIGAjeyRuYW1lfWAsIHBsZWFzZSBjaG9vc2UgYW5vdGhlciBicmVha3BvaW50IG5hbWUsIG9yIHBhc3MgaW4gYCRvdmVyd3JpdGU6IHRydWVgIHRvIG92ZXJ3cml0ZSB0aGUgcHJldmlvdXMgYnJlYWtwb2ludC5cIjtcbiAgICAgICRCUkVBS1BPSU5UUzogJEJSRUFLUE9JTlRTICFnbG9iYWw7XG4gICAgfVxuICAgIEBlbHNlIGlmIG5vdCBtYXAtaGFzLWtleSgkQlJFQUtQT0lOVFMsICRuYW1lKSBvciAkb3ZlcndyaXRlID09IHRydWUge1xuICAgICAgJEJSRUFLUE9JTlRTOiBtYXAtbWVyZ2UoJEJSRUFLUE9JTlRTLCAkb3V0cHV0KSAhZ2xvYmFsO1xuICAgIH1cbiAgfVxufVxuXG5AZnVuY3Rpb24gZ2V0LWJyZWFrcG9pbnQoJG5hbWU6IGZhbHNlKSB7XG4gIEBpZiAkbmFtZSA9PSBmYWxzZSB7XG4gICAgQHJldHVybiAkQlJFQUtQT0lOVFM7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkQlJFQUtQT0lOVFMsICRuYW1lKTtcbiAgfVxufVxuIiwiQG1peGluIGxlZ2FjeS1zZXR0aW5ncy13YXJuaW5nIHtcbiAgJGxlZ2FjeVZhcnM6IChcbiAgICAnZGVmYXVsdC1tZWRpYSc6ICdkZWZhdWx0IG1lZGlhJyxcbiAgICAnZGVmYXVsdC1mZWF0dXJlJzogJ2RlZmF1bHQgZmVhdHVyZScsXG4gICAgJ2ZvcmNlLW1lZGlhLWFsbCc6ICdmb3JjZSBhbGwgbWVkaWEgdHlwZScsXG4gICAgJ3RvLWVtcyc6ICd0byBlbXMnLFxuICAgICdyZXNvbHV0aW9ucyc6ICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnLFxuICAgICduby1xdWVyaWVzJzogJ25vIHF1ZXJpZXMnLFxuICAgICduby1xdWVyeS1mYWxsYmFja3MnOiAnbm8gcXVlcnkgZmFsbGJhY2tzJyxcbiAgICAnYmFzZS1mb250LXNpemUnOiAnYmFzZSBmb250IHNpemUnLFxuICAgICdsZWdhY3ktc3ludGF4JzogJ2xlZ2FjeSBzeW50YXgnXG4gICk7XG5cbiAgQGVhY2ggJGxlZ2FjeSwgJG5ldyBpbiAkbGVnYWN5VmFycyB7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtJyArICRsZWdhY3kpIHtcbiAgICAgIEB3YXJuIFwiSW4gb3JkZXIgdG8gYXZvaWQgdmFyaWFibGUgbmFtc3BhY2UgY29sbGlzaW9ucywgd2UgaGF2ZSB1cGRhdGVkIHRoZSB3YXkgdG8gY2hhbmdlIHNldHRpbmdzIGZvciBCcmVha3BvaW50LiBQbGVhc2UgY2hhbmdlIGFsbCBpbnN0YW5jZXMgb2YgYCRicmVha3BvaW50LSN7JGxlZ2FjeX06IHt7c2V0dGluZ319YCB0byBgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJyN7JG5ld30nLCB7e3NldHRpbmd9fSlgLiBWYXJpYWJsZSBzZXR0aW5ncywgYXMgd2VsbCBhcyB0aGlzIHdhcm5pbmcgd2lsbCBiZSBkZXByZWNhdGVkIGluIGEgZnV0dXJlIHJlbGVhc2UuXCJcbiAgICB9XG4gIH07XG5cbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIC8vIEhhbmQgY29ycmVjdCBlYWNoIHNldHRpbmdcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LWRlZmF1bHQtbWVkaWEnKSBhbmQgJGJyZWFrcG9pbnQtZGVmYXVsdC1tZWRpYSAhPSBicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnZGVmYXVsdCBtZWRpYScsICRicmVha3BvaW50LWRlZmF1bHQtbWVkaWEpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LWRlZmF1bHQtZmVhdHVyZScpIGFuZCAkYnJlYWtwb2ludC1kZWZhdWx0LWZlYXR1cmUgIT0gYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgZmVhdHVyZScpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnZGVmYXVsdCBmZWF0dXJlJywgJGJyZWFrcG9pbnQtZGVmYXVsdC1mZWF0dXJlKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1mb3JjZS1tZWRpYS1hbGwnKSBhbmQgJGJyZWFrcG9pbnQtZm9yY2UtbWVkaWEtYWxsICE9IGJyZWFrcG9pbnQtZ2V0KCdmb3JjZSBhbGwgbWVkaWEgdHlwZScpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnZm9yY2UgYWxsIG1lZGlhIHR5cGUnLCAkYnJlYWtwb2ludC1mb3JjZS1tZWRpYS1hbGwpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LXRvLWVtcycpIGFuZCAkYnJlYWtwb2ludC10by1lbXMgIT0gYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgndG8gZW1zJywgJGJyZWFrcG9pbnQtdG8tZW1zKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1yZXNvbHV0aW9ucycpIGFuZCAkYnJlYWtwb2ludC1yZXNvbHV0aW9ucyAhPSBicmVha3BvaW50LWdldCgndHJhbnNmb3JtIHJlc29sdXRpb25zJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnLCAkYnJlYWtwb2ludC1yZXNvbHV0aW9ucyk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtbm8tcXVlcmllcycpIGFuZCAkYnJlYWtwb2ludC1uby1xdWVyaWVzICE9IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdubyBxdWVyaWVzJywgJGJyZWFrcG9pbnQtbm8tcXVlcmllcyk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtbm8tcXVlcnktZmFsbGJhY2tzJykgYW5kICRicmVha3BvaW50LW5vLXF1ZXJ5LWZhbGxiYWNrcyAhPSBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdubyBxdWVyeSBmYWxsYmFja3MnLCAkYnJlYWtwb2ludC1uby1xdWVyeS1mYWxsYmFja3MpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LWJhc2UtZm9udC1zaXplJykgYW5kICRicmVha3BvaW50LWJhc2UtZm9udC1zaXplICE9IGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnYmFzZSBmb250IHNpemUnLCAkYnJlYWtwb2ludC1iYXNlLWZvbnQtc2l6ZSk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtbGVnYWN5LXN5bnRheCcpIGFuZCAkYnJlYWtwb2ludC1sZWdhY3ktc3ludGF4ICE9IGJyZWFrcG9pbnQtZ2V0KCdsZWdhY3kgc3ludGF4Jykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdsZWdhY3kgc3ludGF4JywgJGJyZWFrcG9pbnQtbGVnYWN5LXN5bnRheCk7XG4gIH1cbn0iLCJAaW1wb3J0ICcuLi9icmVha3BvaW50JztcclxuJGxnNCA6IG1heC13aWR0aCAgMTI2MHB4O1xyXG4kbGczIDogbWF4LXdpZHRoICAxNDAwcHg7XHJcbiRsZzIgOiBtYXgtd2lkdGggIDEwMjNweDtcclxuJGxnMSA6IG1heC13aWR0aCAgOTQwcHg7XHJcbiRsZyA6IG1heC13aWR0aCAgNzY3cHg7XHJcbiRsZ3ggOiBtYXgtd2lkdGggNzAwcHg7XHJcbiRtZyA6IG1heC13aWR0aCA2NDBweDtcclxuJG1kIDogbWF4LXdpZHRoIDQ4MHB4O1xyXG4kc20gOiBtYXgtd2lkdGggMzYwcHg7XHJcbiR4cyA6IG1heC13aWR0aCAzMjBweDtcclxuXHJcbiRjb3JfYmx1ZTojMzE0MzZiO1xyXG4kY29yX2JsdWUyOiM2MzdmZDI7XHJcbiRjb3JfcGluazojZjA1MjkxO1xyXG4kY29yX2dyYXk6IzVkNWQ1ZDtcclxuJGNvcl9kYXJrZ3JheTojMzMzO1xyXG4kbWw6MjBweDtcclxuXHJcbmF7cGFkZGluZzowO31cclxuIC5qb2hubnktdXRhaCB7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGd4KSB7XHJcbiAgICBjb250ZW50OiAnV2hvYS4nO1xyXG4gIH1cclxuICBcclxufVxyXG5AbWl4aW4gZWxse1xyXG4gb3ZlcmZsb3c6aGlkZGVuO1xyXG4gd2hpdGUtc3BhY2U6bm93cmFwO1xyXG4gdGV4dC1vdmVyZmxvdzplbGxpcHNpcztcclxuIGRpc3BsYXk6YmxvY2s7XHJcbn1cclxuQG1peGluIGNsZWFyZml4IHsgZGlzcGxheTogYmxvY2s7IFxyXG5cdCY6YmVmb3JlLCY6YWZ0ZXJ7IGNvbnRlbnQ6IFwiLlwiOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAwOyBjbGVhcjogYm90aDsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XHJcbn1cclxuXHJcbi5jbGVhci1sZzJ7Y2xlYXI6Ym90aDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpIHtjbGVhcjpub25lfVxyXG59XHJcbi5jbGVhci1sZzF7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcyKSB7Y2xlYXI6bm9uZX1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpIHtjbGVhcjpib3RofVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxneCkge2NsZWFyOm5vbmV9XHJcbn1cclxuLmxnMntkaXNwbGF5OmJsb2NrO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSkge1xyXG5cdFx0XHRkaXNwbGF5Om5vbmU7XHJcblx0XHR9XHJcbn1cclxuLmxnMXtkaXNwbGF5Om5vbmU7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKSB7XHJcblx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHR9XHJcbn0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBb0JtQkEsQUFBQSxDQUFDLENBQUEsRUFBQyxPQUFPLEVBQUMsQ0FBQyxHQUFJOztBbkI2Q1gsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLEltQjVDNUIsQUFBQSxZQUFZLENBQUMsRUFFVixPQUFPLEVBQUUsT0FBTyxHQUduQjs7QUFXRCxBQUFBLFVBQVUsQ0FBQSxFQUFDLEtBQUssRUFBQyxJQUFJLEdBRXBCOztBbkIwQkcsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLEltQjVCN0IsQUFBQSxVQUFVLENBQUEsRUFDa0IsS0FBSyxFQUFDLElBQUksR0FDckM7O0FuQjBCRyxNQUFNLEVBQUcsU0FBUyxFQUFFLE1BQU0sSW1CekI5QixBQUFBLFVBQVUsQ0FBQSxFQUNrQixLQUFLLEVBQUMsSUFBSSxHQUdyQzs7QW5CcUJHLE1BQU0sRUFBRyxTQUFTLEVBQUUsS0FBSyxJbUJ6QjdCLEFBQUEsVUFBVSxDQUFBLEVBRWtCLEtBQUssRUFBQyxJQUFJLEdBRXJDOztBbkJxQkcsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLEltQnpCN0IsQUFBQSxVQUFVLENBQUEsRUFHa0IsS0FBSyxFQUFDLElBQUksR0FDckM7O0FBQ0QsQUFBQSxJQUFJLENBQUEsRUFBQyxPQUFPLEVBQUMsS0FBSyxHQUlqQjs7QW5CZ0JHLE1BQU0sRUFBRyxTQUFTLEVBQUUsS0FBSyxJbUJwQjdCLEFBQUEsSUFBSSxDQUFBLEVBRUQsT0FBTyxFQUFDLElBQUksR0FFZDs7QUFDRCxBQUFBLElBQUksQ0FBQSxFQUFDLE9BQU8sRUFBQyxJQUFJLEdBSWhCOztBbkJXRyxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSW1CZjdCLEFBQUEsSUFBSSxDQUFBLEVBRUQsT0FBTyxFQUFDLEtBQUssR0FFZjs7QXBCakRELEFBQU0sS0FBRCxDQUFDLEVBQUUsQ0FBQSxFQUFFLFVBQVUsRUFBRyxTQUFTLEdBQUc7O0FBQ25DLEFBQUEsSUFBSSxDQUFBLEVBQUMsV0FBVyxFQUFFLHNIQUFzSCxFQUFFLFNBQVMsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUMsUUFBUSxFQUFFLFVBQVUsRUFBQyxPQUFPLENBQUMscUNBQXFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBTXRROztBQ3FERSxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSUQzRDdCLEFBQUEsSUFBSSxDQUFBLEVBRUQsVUFBVSxFQUFDLElBQUksRUFDZixVQUFVLEVBQUMsT0FBTyxHQUduQjs7QUFORixBQUtFLElBTEUsQUFLRixJQUFLLENBQUEsRUFBQyxXQUFXLEVBQUMsZ0JBQWdCLEdBQUk7O0FBRXhDLEFBQUEsSUFBSSxDQUFBLEVBQUMsT0FBTyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUMsa0JBQWUsRUFBQyxRQUFRLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBQyxJQUFJLEdBQUk7O0FBQzdHLEFBQUEsUUFBUSxDQUFBLEVBQUMsU0FBUyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLHlDQUF5QyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUlySTs7QUMrQ0csTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLElEbkQ3QixBQUFBLFFBQVEsQ0FBQSxFQUVOLFVBQVUsRUFBQyxJQUFJLEdBRWhCOztBQUNELEFBQVEsT0FBRCxDQUFDLEtBQUssQ0FBQSxFQUFDLFVBQVUsRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFDLElBQUksR0FZM0M7O0FDa0NHLE1BQU0sRUFBRyxTQUFTLEVBQUUsS0FBSyxJRDlDN0IsQUFBUSxPQUFELENBQUMsS0FBSyxDQUFBLEVBRVYsVUFBVSxFQUFDLElBQUksRUFDZixLQUFLLEVBQUMsSUFBSSxFQUNWLFdBQVcsRUFBQyxJQUFJLEdBUWxCOztBQ2tDRyxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSUQ5QzdCLEFBTUMsT0FOTSxDQUFDLEtBQUssQ0FNWixHQUFHLENBQUEsRUFFRSxLQUFLLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBQyxJQUFJLEdBRWhDOztBQUdGLEFBQUEsT0FBTyxDQUFBLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBQyxRQUFRLEdBMEJyRzs7QUNPRyxNQUFNLEVBQUcsU0FBUyxFQUFFLE1BQU0sSURqQzlCLEFBQUEsT0FBTyxDQUFBLEVBRUwsT0FBTyxFQUFDLGNBQWMsR0F3QnZCOztBQ09HLE1BQU0sRUFBRyxTQUFTLEVBQUUsS0FBSyxJRGpDN0IsQUFBQSxPQUFPLENBQUEsRUFLTCxNQUFNLEVBQUMsSUFBSSxFQUNYLFdBQVcsRUFBQyxDQUFDLEVBQ2IsVUFBVSxFQUFDLElBQUksRUFBRSxhQUFhLEVBQUMsQ0FBQyxHQW1CakM7O0FBMUJELEFBU0MsT0FUTSxDQVNOLE1BQU0sQ0FBQSxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFDLENBQUMsRUFBRSxLQUFLLEVBQUMsQ0FBQyxHQU92Qzs7QUNpQkUsTUFBTSxFQUFHLFNBQVMsRUFBRSxNQUFNLElEakM5QixBQVNDLE9BVE0sQ0FTTixNQUFNLENBQUEsRUFFSixLQUFLLEVBQUMsSUFBSSxHQUtYOztBQ2lCRSxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSURqQzdCLEFBU0MsT0FUTSxDQVNOLE1BQU0sQ0FBQSxFQUtKLE9BQU8sRUFBQyxJQUFJLEdBRWI7O0FBaEJGLEFBaUJRLE9BakJELENBaUJOLE1BQU0sQ0FBQyxDQUFDLENBQUEsRUFBQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsU0FBUyxFQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFDLFlBQVksRUFBRSxLQUFLLEVBQUMsSUFBSSxHQUFHOztBQWpCdkksQUFrQlEsT0FsQkQsQ0FrQk4sTUFBTSxDQUFDLEdBQUcsQ0FBQSxFQUFDLFVBQVUsRUFBQyxPQUFPLENBQUMsK0NBQStDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLGlCQUFpQixHQUFJOztBQWxCbEksQUFtQlEsT0FuQkQsQ0FtQk4sTUFBTSxDQUFDLEdBQUcsQ0FBQSxFQUFDLFVBQVUsRUFBQyxPQUFPLENBQUMsK0NBQStDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUc7O0FBbkJ0RyxBQW9CQyxPQXBCTSxDQW9CTixPQUFPLENBQUMsRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUMsQ0FBQyxHQUkxRDs7QUNTRSxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSURqQzdCLEFBb0JDLE9BcEJNLENBb0JOLE9BQU8sQ0FBQyxFQUVOLE9BQU8sRUFBQyxJQUFJLEdBRWI7O0FBeEJGLEFBeUJTLE9BekJGLENBeUJOLE9BQU8sQ0FBQyxDQUFDLENBQUEsRUFBQyxTQUFTLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSwwQ0FBMEMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBQyxhQUFhLEVBQUMsSUFBSSxFQUFFLEtBQUssRUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFDLElBQUksR0FBSTs7QUFFbEssQUFBQSxRQUFRLENBQUEsRUFBQyxRQUFRLEVBQUMsUUFBUSxFQUFFLE9BQU8sRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFDLElBQUksRUFBRSxhQUFhLEVBQUMsSUFBSSxHQUtwRTs7QUNDRyxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSURON0IsQUFBQSxRQUFRLENBQUEsRUFHSixLQUFLLEVBQUMsS0FBSyxFQUFFLEdBQUcsRUFBQyxJQUFJLEdBRXhCOztBQUNELEFBQUEsU0FBUyxDQUFBLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFDLElBQUksR0FLckU7O0FDTEcsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLElEQTdCLEFBQUEsU0FBUyxDQUFBLEVBR0wsS0FBSyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUMsSUFBSSxHQUV4Qjs7QUFDRCxBQUFBLElBQUksQ0FBQSxFQUFDLE9BQU8sRUFBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsR0FBRyxHQUFJOztBQUNwRCxBQUFLLElBQUQsQ0FBQyxDQUFDLENBQUEsRUFBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQyxLQUFLLEdBQUk7O0FBQy9DLEFBQUssSUFBRCxHQUFDLEVBQUUsQ0FBQSxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEdBQUcsR0FJdkM7O0FDWkcsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLElEUTdCLEFBQUssSUFBRCxHQUFDLEVBQUUsQ0FBQSxFQUVMLE9BQU8sRUFBQyxJQUFJLEdBRWI7O0FBQ0QsQUFBZ0IsSUFBWixBQUFBLFFBQVEsR0FBQyxFQUFFLEdBQUMsRUFBRSxDQUFBLEVBQUMsS0FBSyxFQUFDLE1BQU0sR0FBSTs7QUFDbkMsQUFBUSxJQUFKLEdBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQSxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUMsTUFBTSxHQUl2RDs7QUFPRCxBQUFXLElBQVAsR0FBQyxFQUFFLEdBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQSxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxDQUFDLEVvQjlEdEwsUUFBUSxFQUFDLE1BQU0sRUFDZixXQUFXLEVBQUMsTUFBTSxFQUNsQixhQUFhLEVBQUMsUUFBUSxFQUN0QixPQUFPLEVBQUMsS0FBSyxHcEIyRDBMOztBQUN4TSxBQUFXLElBQVAsR0FBQyxFQUFFLEdBQUMsRUFBRSxHQUFDLENBQUMsQUFBQSxNQUFNLENBQUEsRUFBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBQyxpQkFBaUIsRUFBRSxLQUFLLEVBQUMsR0FBRyxFQUFFLE1BQU0sRUFBQyxJQUFJLEdBQUk7O0FBRXBJLEFBQVcsSUFBUCxHQUFDLEVBQUUsR0FBQyxFQUFFLEdBQUMsRUFBRSxDQUFBLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBQyxpQkFBaUIsRUFBRSxVQUFVLEVBQUMsY0FBYyxFQUFFLEtBQUssRUFBQyxLQUFLLEdBQUk7O0FBQzNKLEFBQWlCLElBQWIsR0FBQyxFQUFFLEdBQUMsRUFBRSxBQUFBLE1BQU0sR0FBQyxFQUFFLENBQUEsRUFBQyxPQUFPLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUMsSUFBSSxHQUFJOztBQUMxRixBQUFtQixJQUFmLEFBQUEsUUFBUSxHQUFDLEVBQUUsR0FBQyxFQUFFLEdBQUMsRUFBRSxDQUFBLEVBQUMsT0FBTyxFQUFFLEtBQUssR0FBSTs7QUFFeEMsQUFBaUIsSUFBYixHQUFDLEVBQUUsR0FBQyxFQUFFLEdBQUMsRUFBRSxHQUFDLEVBQUUsR0FBQyxDQUFDLENBQUEsRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLElBQUksR0FBSTs7QUFDM0UsQUFBYyxJQUFWLEdBQUMsRUFBRSxHQUFDLEVBQUUsR0FBQyxFQUFFLEdBQUMsRUFBRSxBQUFBLE9BQU8sQ0FBQSxFQUFDLE9BQU8sRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDLFlBQVksRUFBRSxLQUFLLEVBQUMsSUFBSSxHQUFHOztBQUN6RSxBQUFpQixJQUFiLEdBQUMsRUFBRSxHQUFDLEVBQUUsR0FBQyxFQUFFLEdBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQSxFQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFDLElBQUksR0FBRzs7QUFDM0QsQUFBdUIsSUFBbkIsR0FBQyxFQUFFLEdBQUMsRUFBRSxHQUFDLEVBQUUsR0FBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUEsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsR0FBSTs7QUFDL0UsQUFBVyxJQUFQLEdBQUMsRUFBRSxHQUFDLEVBQUUsR0FBQyxFQUFFLEFBQUEsS0FBSyxDQUFBLEVBQUMsT0FBTyxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUMsT0FBTyxHQUFJOztBQUN0RCxBQUFLLElBQUQsQ0FBQyxTQUFTLENBQUEsRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFDLElBQUksR0FBSTs7QUFDOUcsQUFBZSxJQUFYLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQSxFQUFDLE9BQU8sRUFBQyxLQUFLLEdBQUk7O0FBQ2xDLEFBQWUsSUFBWCxDQUFDLFNBQVMsR0FBQyxDQUFDLEFBQUEsY0FBYyxDQUFBLEVBQUMsVUFBVSxFQUFFLGtEQUFrRCxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFDLElBQUksR0FBSTs7QUFDOUksQUFBSyxJQUFELENBQUMsU0FBUyxBQUFBLEdBQUcsQ0FBQSxFQUFDLE9BQU8sRUFBQyxJQUFJLEdBQUk7O0FBQ2xDLEFBQUssSUFBRCxDQUFDLGVBQWUsQ0FBQSxFQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsa0RBQWtELENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBQyxJQUFJLEdBQUk7O0FBQ3BKLEFBQUssSUFBRCxDQUFDLGVBQWUsQUFBQSxNQUFNLEVBQUMsQUFBSyxJQUFELENBQUMsZUFBZSxBQUFBLE1BQU0sQ0FBQSxFQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsa0RBQWtELENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUk7O0FBQy9JLEFBQUssSUFBRCxDQUFDLGNBQWMsQ0FBQSxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUMsSUFBSSxFQUFFLEtBQUssRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFDLElBQUksRUFBRSxHQUFHLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBQyxJQUFJLEdBQUk7O0FBQzFILEFBQW9CLElBQWhCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQSxFQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsT0FBTyxFQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUMsSUFBSSxFQUFFLEtBQUssRUFBQyxLQUFLLEdBQUk7O0FBQy9FLEFBQW9CLElBQWhCLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQSxFQUFDLFVBQVUsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBQyxHQUFHLEdBQUk7O0FBQ3JHLEFBQUssSUFBRCxDQUFDLFNBQVMsQ0FBQSxFQUFDLE9BQU8sRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsNkNBQTZDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksR0FBSTs7QUFFMU8sQUFBQSxJQUFJLENBQUEsRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFFLEtBQUssRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUMsUUFBUSxFQUFFLE1BQU0sRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBQyxJQUFJLEVBRTVILFFBQVEsRUFBQyxRQUFRLEVBQ2pCLEtBQUssRUFBQyxJQUFJLEVBQ1YsS0FBSyxFQUFDLEtBQUssRUFDWCxPQUFPLEVBQUMsR0FBRyxHQVNkOztBQWRELEFBU08sSUFUSCxHQVNGLElBQUksR0FBQyxJQUFJLENBQUEsRUFBQyxPQUFPLEVBQUMsS0FBSyxFQUFFLFlBQVksRUFBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUMsYUFBYSxHQUU1SDs7QUFYRixBQVVFLElBVkUsR0FTRixJQUFJLEdBQUMsSUFBSSxDQUNULFFBQVEsQ0FBQSxFQUFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUMsUUFBUSxFQUFFLEdBQUcsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFDLElBQUksR0FBSTs7QUFWeEYsQUFZQyxJQVpHLENBWUgsSUFBSSxDQUFBLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUMsSUFBSSxHQUFHOztBQVpuRixBQWFDLElBYkcsQ0FhSCxXQUFXLENBQUEsRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFDLElBQUksR0FBRzs7QUFFeEQsQUFBQSxPQUFPLENBQUEsRUFBQyxPQUFPLEVBQUMsZUFBZSxHQUFJOztBQUNuQyxBQUFBLE9BQU8sQUFBQSxHQUFHLENBQUEsRUFBQyxRQUFRLEVBQUMsUUFBUSxFQUFFLEdBQUcsRUFBQyxDQUFDLEVBQUUsS0FBSyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUMsZ0JBQWdCLEdBQ3hFOztBQUNELEFBQUEsU0FBUyxDQUFBLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUMsQ0FBQyxFQUFFLEtBQUssRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDLGVBQWUsR0FJdEU7O0FDdEVHLE1BQU0sRUFBRyxTQUFTLEVBQUUsS0FBSyxJRGtFN0IsQUFBQSxTQUFTLENBQUEsRUFFTCxPQUFPLEVBQUMsZUFBZSxHQUUxQjs7QUFDRCxBQUFBLFNBQVMsQUFBQSxHQUFHLENBQUEsRUFBQyxRQUFRLEVBQUMsUUFBUSxFQUFFLEdBQUcsRUFBQyxDQUFDLEVBQUUsS0FBSyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUMsZ0JBQWdCLEdBSTFFOztBQzNFRyxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSUR1RTdCLEFBQUEsU0FBUyxBQUFBLEdBQUcsQ0FBQSxFQUVSLE9BQU8sRUFBQyxnQkFBZ0IsR0FFM0I7O0FBQ0QsQUFBQSxVQUFVLENBQUEsRUFBQyxNQUFNLEVBQUMsSUFBSSxFQUFFLEtBQUssRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUMsSUFBSSxHQUtySDs7QUFMRCxBQUNDLFVBRFMsQ0FDVCxHQUFHLENBQUEsRUFBQyxjQUFjLEVBQUMsTUFBTSxHQUFHOztBQzdFekIsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLElENEU3QixBQUFBLFVBQVUsQ0FBQSxFQUdOLFVBQVUsRUFBQyxDQUFDLEdBRWY7O0FBRUQsQUFBQSxPQUFPLENBQUEsRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksR0F1Qm5EOztBQzFHRyxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSURtRjdCLEFBQUEsT0FBTyxDQUFBLEVBRUosT0FBTyxFQUFFLEtBQUssR0FxQmhCOztBQXZCRCxBQUlDLE9BSk0sQ0FJTixFQUFFLENBQUEsRUFBQyxPQUFPLEVBQUMsY0FBYyxFQUFFLFNBQVMsRUFBQyxLQUFLLEVBQUUsV0FBVyxFQUFDLEdBQUcsRUFBRSxjQUFjLEVBQUMsSUFBSSxFQUFFLEtBQUssRUFBQyxPQUFPLEdBUTlGOztBQy9GRSxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSURtRjdCLEFBSUMsT0FKTSxDQUlOLEVBQUUsQ0FBQSxFQUVBLFNBQVMsRUFBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE9BQU8sR0FNL0I7O0FDL0ZFLE1BQU0sRUFBRyxTQUFTLEVBQUUsS0FBSyxJRG1GN0IsQUFRRyxPQVJJLENBSU4sRUFBRSxHQUlBLElBQUksQ0FBQSxFQUVILFVBQVUsRUFBQyx5Q0FBeUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsWUFBWSxFQUFFLGFBQWEsRUFBQyxJQUFJLEdBQ3JIOztBQVhILEFBY0MsT0FkTSxDQWNOLFNBQVMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxJQUFJLEdBUXZCOztBQ3pHRSxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSURtRjdCLEFBY0MsT0FkTSxDQWNOLFNBQVMsQUFFUCxHQUFJLENBQUEsRUFBQyxPQUFPLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUMsR0FBRyxFQUFFLE9BQU8sRUFBQyxHQUFHLEVBQUUsVUFBVSxFQUFDLENBQUMsRUFBRSxJQUFJLEVBQUMsRUFBRSxHQUNwRztFQWpCSixBQWtCRyxPQWxCSSxDQWNOLFNBQVMsQ0FJUCxFQUFFLENBQUEsRUFBQyxhQUFhLEVBQUMsaUJBQWlCLEVBQUUsS0FBSyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBQyxHQUFHLEVBQUUsVUFBVSxFQUFDLE9BQU8sQ0FBQyxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FFdko7RUFwQkosQUFtQkksT0FuQkcsQ0FjTixTQUFTLENBSVAsRUFBRSxDQUNELENBQUMsQ0FBQSxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBQyxnQkFBZ0IsR0FBSTs7QUFLOUUsQUFBQSxRQUFRLENBQUEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFDLEdBQUcsRUFBRSxZQUFZLEVBQUMsRUFBRSxFQUFFLEtBQUssRUFBQyxJQUFJLEdBT2hGOztBQ2xIRyxNQUFNLEVBQUcsU0FBUyxFQUFFLE1BQU0sSUQyRzlCLEFBQUEsUUFBUSxDQUFBLEVBRUwsS0FBSyxFQUFDLEdBQUcsR0FLWDs7QUNsSEcsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLElEMkc3QixBQUFBLFFBQVEsQ0FBQSxFQUtMLE9BQU8sRUFBQyxJQUFJLEdBRWQ7O0FBQ0QsQUFBQSxJQUFJLENBQUEsRUFBQyxVQUFVLEVBQUMsSUFBSSxHQUFHOztBQUN2QixBQUFLLElBQUQsQ0FBQyxFQUFFLENBQUEsRUFBQyxVQUFVLEVBQUMsT0FBTyxDQUFDLHdDQUF3QyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBQyxHQUFHLEVBQUUsY0FBYyxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUMsR0FBRyxFQUFFLFVBQVUsRUFBQyxTQUFTLEdBRXBOOztBQUNELEFBQUssSUFBRCxHQUFDLEVBQUUsQ0FBQSxFQUFDLE9BQU8sRUFBQyxZQUFZLEdBVXpCOztBQVZILEFBQ0csSUFEQyxHQUFDLEVBQUUsR0FDSixFQUFFLENBQUEsRUFBQyxhQUFhLEVBQUMsaUJBQWlCLEdBT2pDOztBQVJKLEFBRUksSUFGQSxHQUFDLEVBQUUsR0FDSixFQUFFLEdBQ0QsQ0FBQyxDQUFBLEVBQUMsT0FBTyxFQUFDLEtBQUssRUFBRSxXQUFXLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLDBDQUEwQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxjQUFjLEVBQUUsY0FBYyxFQUFDLE1BQU0sR0FBSTs7QUFGbkwsQUFHSSxJQUhBLEdBQUMsRUFBRSxHQUNKLEVBQUUsR0FFRCxFQUFFLENBQUEsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBQyxJQUFJLEdBSXJDOztBQVBMLEFBSUssSUFKRCxHQUFDLEVBQUUsR0FDSixFQUFFLEdBRUQsRUFBRSxHQUNELEVBQUUsQ0FBQSxFQUFDLE9BQU8sRUFBQyxLQUFLLEdBRWY7O0FBTk4sQUFLTSxJQUxGLEdBQUMsRUFBRSxHQUNKLEVBQUUsR0FFRCxFQUFFLEdBQ0QsRUFBRSxHQUNELENBQUMsQ0FBQSxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsc0NBQXNDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUMsWUFBWSxFQUFDLElBQUksR0FBSTs7QUFMaEksQUFTVSxJQVROLEdBQUMsRUFBRSxHQVNILEVBQUUsQUFBQSxHQUFHLEdBQUMsQ0FBQyxDQUFBLEVBQUMsV0FBVyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUMseUNBQXlDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUc7O0FBR3pHLEFBQUEsUUFBUSxDQUFBLEVBQUMsT0FBTyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFDLEtBQUssR0FBRzs7QUFDeEUsQUFBUyxRQUFELENBQUMsRUFBRSxDQUFBLEVBQUMsU0FBUyxFQUFDLEdBQUcsRUFBRSxhQUFhLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQyxJQUFJLEdBQUk7O0FBQ2xFLEFBQVMsUUFBRCxHQUFDLEVBQUUsQ0FBQSxFQUFDLFFBQVEsRUFBQyxRQUFRLEdBQUk7O0FBQ2pDLEFBQWMsUUFBTixHQUFDLEVBQUUsR0FBRyxFQUFFLENBQUEsRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBQyxHQUFHLEVBQUUsTUFBTSxFQUFDLFlBQVksRUFBRSxLQUFLLEVBQUMsTUFBTSxHQUFHOztBQUNsRixBQUFtQixRQUFYLEdBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUEsRW9CNUtuQixRQUFRLEVBQUMsTUFBTSxFQUNmLFdBQVcsRUFBQyxNQUFNLEVBQ2xCLGFBQWEsRUFBQyxRQUFRLEVBQ3RCLE9BQU8sRUFBQyxLQUFLLEVwQnlLb0IsT0FBTyxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyxJQUFJLEVBQUUsY0FBYyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLGlCQUFpQixFQUFFLFdBQVcsRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMsT0FBTyxHQUFHOztBQUVyTixBQUFvQixRQUFaLEdBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEFBQUEsR0FBRyxDQUFBLEVBQUMsS0FBSyxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUMsY0FBYyxFQUFFLFVBQVUsRUFBQyxJQUFJLENBQUUscUNBQXFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUMsR0FBRyxHQUFJOztBQUM3TCxBQUFBLGFBQWEsQ0FBQSxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsQ0FBQyxFQUFFLEtBQUssRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUMsSUFBSSxHQUFJOztBQUNqRyxBQUFpQixhQUFKLEdBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQSxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUMsTUFBTSxHQUFJOztBQUNsRSxBQUFvQixhQUFQLEdBQUMsRUFBRSxHQUFDLEVBQUUsR0FBQyxDQUFDLENBQUEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQyxJQUFJLEVvQmpMcEcsUUFBUSxFQUFDLE1BQU0sRUFDZixXQUFXLEVBQUMsTUFBTSxFQUNsQixhQUFhLEVBQUMsUUFBUSxFQUN0QixPQUFPLEVBQUMsS0FBSyxHcEI4S3lHOztBQUN2SCxBQUFjLGFBQUQsQ0FBQyxLQUFLLENBQUEsRUFBQyxPQUFPLEVBQUMsR0FBRyxFQUFFLFVBQVUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBQyxPQUFPLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBQyxZQUFZLEVBQUUsV0FBVyxFQUFDLEdBQUcsRUFBRSxZQUFZLEVBQUMsR0FBRyxFQUFFLGNBQWMsRUFBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsR0FBSTs7QUFDck8sQUFDQyxhQURZLENBQ1osU0FBUyxFQURWLEFBQ1ksYUFEQyxDQUNELFNBQVMsRUFEckIsQUFDdUIsYUFEVixDQUNVLFNBQVMsQ0FBQSxFQUFDLFVBQVUsRUFBQyxPQUFPLEdBQUk7O0FBRHZELEFBRUMsYUFGWSxDQUVaLFNBQVMsRUFGVixBQUVZLGFBRkMsQ0FFRCxTQUFTLEVBRnJCLEFBRXVCLGFBRlYsQ0FFVSxTQUFTLENBQUEsRUFBQyxVQUFVLEVBQUMsT0FBTyxHQUFJOztBQUV2RCxBQUFBLFdBQVcsQ0FBQSxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBQyxNQUFNLEdBUXJFOztBQVJGLEFBQ0UsV0FEUyxDQUNULEVBQUUsQ0FBQSxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUMsTUFBTSxHQUt0Qzs7QUFOSCxBQUNFLFdBRFMsQ0FDVCxFQUFFLEFBQ0QsWUFBYSxDQUFBLEVBQUMsWUFBWSxFQUFDLGNBQWMsR0FBSTs7QUFGaEQsQUFHRyxXQUhRLENBQ1QsRUFBRSxDQUVELENBQUMsQ0FBQSxFQUFDLE9BQU8sRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUMsTUFBTSxFQUFFLFdBQVcsRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFDLE1BQU0sR0FFcEY7O0FBTEosQUFJSSxXQUpPLENBQ1QsRUFBRSxDQUVELENBQUMsQ0FDQSxJQUFJLENBQUEsRUFBQyxPQUFPLEVBQUMsS0FBSyxFQUFFLFdBQVcsRUFBQyxHQUFHLEdBQUc7O0FBTTFDLEFBQUEsU0FBUyxDQUFBLEVBQUMsS0FBSyxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUMsR0FBRyxFQUFHLFFBQVEsRUFBQyxRQUFRLEdBWWxEOztBQ3hLRyxNQUFNLEVBQUcsU0FBUyxFQUFFLE1BQU0sSUQ0SjlCLEFBQUEsU0FBUyxDQUFBLEVBRU4sS0FBSyxFQUFDLEdBQUcsR0FVWDs7QUN4S0csTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLElENEo3QixBQUFBLFNBQVMsQ0FBQSxFQUtOLEtBQUssRUFBQyxJQUFJLEdBT1o7O0FBWkQsQUFPRyxTQVBNLEdBT04sS0FBSyxBQUFBLFlBQVksQ0FBQSxFQUFDLFVBQVUsRUFBQyxDQUFDLEVBQUUsVUFBVSxFQUFDLEtBQUssR0FJaEQ7O0FDdktDLE1BQU0sRUFBRyxTQUFTLEVBQUUsS0FBSyxJRDRKN0IsQUFPRyxTQVBNLEdBT04sS0FBSyxBQUFBLFlBQVksQ0FBQSxFQUVoQixVQUFVLEVBQUMsT0FBTyxHQUVuQjs7QUFFSCxBQUFBLEtBQUssQ0FBQSxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUMsSUFBSSxFb0J6TXZDLE9BQU8sRUFBRSxLQUFLLEdwQjZNL0I7O0FBSkQsQW9CeE1DLEtwQndNSSxBb0J4TUosT0FBUSxFcEJ3TVQsQW9CeE1VLEtwQndNTCxBb0J4TUssTUFBTyxDQUFBLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRyxPQUFPLEVBQUUsS0FBSyxFQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUcsS0FBSyxFQUFFLElBQUksRUFBRyxVQUFVLEVBQUUsTUFBTSxHQUFLOztBbkIrQmhHLE1BQU0sRUFBRyxTQUFTLEVBQUUsS0FBSyxJRHlLN0IsQUFBQSxLQUFLLENBQUEsRUFFRixNQUFNLEVBQUMsRUFBRSxFQUFFLE9BQU8sRUFBQyxTQUFTLEdBRTlCOztBQUdELEFBQUEsU0FBUyxDQUFBLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUMsS0FBSyxFQUFFLGFBQWEsRUFBQyxpQkFBaUIsRUFBRSxhQUFhLEVBQUMsRUFBRSxFQUFFLGNBQWMsRUFBQyxFQUFFLEdBZXpHOztBQWZELEFBQ0MsU0FEUSxBQUNSLE9BQVEsRUFEVCxBQUNVLFNBREQsQUFDQyxNQUFPLENBQUEsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFHLE9BQU8sRUFBRSxLQUFLLEVBQUcsTUFBTSxFQUFFLENBQUMsRUFBRyxLQUFLLEVBQUUsSUFBSSxFQUFHLFVBQVUsRUFBRSxNQUFPLEdBQUc7O0FDakwvRixNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSURnTDdCLEFBQUEsU0FBUyxDQUFBLEVBR04sTUFBTSxFQUFDLFNBQVMsR0FZbEI7O0FBZkQsQUFLRSxTQUxPLEdBS1AsR0FBRyxBQUFBLEtBQUssQ0FBQSxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFDLElBQUksRUFBRSxTQUFTLEVBQUMsTUFBTSxHQVFoRDs7QUM3TEMsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLElEZ0w3QixBQUtFLFNBTE8sR0FLUCxHQUFHLEFBQUEsS0FBSyxDQUFBLEVBRU4sT0FBTyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUMsSUFBSSxHQU0xQjs7QUFiSCxBQVNJLFNBVEssR0FLUCxHQUFHLEFBQUEsS0FBSyxHQUlOLElBQUksQ0FBQSxFQUFDLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLElBQUksR0FHOUM7O0FBWkosQUFTSSxTQVRLLEdBS1AsR0FBRyxBQUFBLEtBQUssR0FJTixJQUFJLEFBQ0osWUFBYSxDQUFBLEVBQUMsVUFBVSxFQUFFLHNDQUFzQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyxJQUFJLEVBQUUsY0FBYyxFQUFDLENBQUMsR0FBSTs7QUFWL0gsQUFTSSxTQVRLLEdBS1AsR0FBRyxBQUFBLEtBQUssR0FJTixJQUFJLEFBRUosSUFBSyxDQUFBLEVBQUMsS0FBSyxFQUFDLElBQUksR0FBRzs7QUFYdkIsQUFjQyxTQWRRLEFBY1IsS0FBTSxDQUFBLEVBQUMsU0FBUyxFQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUMsSUFBSSxHQUFJOztBQUU5QyxBQUFBLFdBQVcsQ0FBQSxFQUFDLEtBQUssRUFBQyxLQUFLLEdBTXRCOztBQU5ELEFBQ0MsV0FEVSxDQUNWLENBQUMsQUFBQSxZQUFZLENBQUEsRUFBQyxZQUFZLEVBQUMsQ0FBQyxHQUFHOztBQURoQyxBQUVDLFdBRlUsQ0FFVixHQUFHLENBQUEsRUFBQyxjQUFjLEVBQUMsY0FBYyxHQUFJOztBQUZ0QyxBQUdDLFdBSFUsQ0FHVixDQUFDLEVBSEYsQUFHSSxXQUhPLENBR1AsSUFBSSxDQUFBLEVBQUMsS0FBSyxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUMsR0FBRyxHQUFJOztBQUh6QyxBQUlDLFdBSlUsQ0FJVixVQUFVLENBQUEsRUFBQyxZQUFZLEVBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSx3Q0FBd0MsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUMsSUFBSSxHQUFHOztBQUpsSyxBQUtRLFdBTEcsQ0FLVixNQUFNLENBQUMsQ0FBQyxDQUFBLEVBQUMsV0FBVyxFQUFDLEdBQUcsR0FBRzs7QUFJNUIsQUFBQSxPQUFPLENBQUEsRUFBQyxVQUFVLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDLGlCQUFpQixHQUFHOztBQUN6RSxBQUFRLE9BQUQsQ0FBQyxDQUFDLENBQUEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFFLGNBQWMsRUFBQyxJQUFJLEdBQUk7O0FBRWxELEFBQVEsT0FBRCxDQUFDLEtBQUssQ0FBQSxFQUFDLE9BQU8sRUFBQyxVQUFVLEVBQUUsS0FBSyxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBQyxRQUFRLEdBSS9FOztBQ2hORyxNQUFNLEVBQUcsU0FBUyxFQUFFLE1BQU0sSUQ0TTlCLEFBQVEsT0FBRCxDQUFDLEtBQUssQ0FBQSxFQUVYLE9BQU8sRUFBQyxnQkFDVCxHQUNBOztBQUNELEFBQVEsT0FBRCxDQUFDLFVBQVUsQ0FBQyxFQUFFLE1BQU0sRUFBQyxNQUFNLEVBQUcsU0FBUyxFQUFDLE1BQU0sR0FBRzs7QUFDeEQsQUFBQSxPQUFPLENBQUEsRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBQyxhQUFhLEdBTXhDOztBQ3hORyxNQUFNLEVBQUcsU0FBUyxFQUFFLE1BQU0sSURrTjlCLEFBQUEsT0FBTyxDQUFBLEVBRUwsT0FBTyxFQUFDLElBQ1IsR0FHRDs7QUFORCxBQUlDLE9BSk0sQUFJTixNQUFPLENBQUEsRUFBQyxXQUFXLEVBQUMsSUFBSSxHQUFHOztBQUo1QixBQUtDLE9BTE0sQ0FLTixHQUFHLENBQUEsRUFBQyxLQUFLLEVBQUMsS0FBSyxHQUFHOztBQUduQixBQUFBLE1BQU0sQ0FBQSxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUMsT0FBTyxFQUFFLFNBQVMsRUFBQyxNQUFNLEVBQUUsV0FBVyxFQUFDLEdBQUcsR0FtQnBGOztBQzdPRyxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSUQwTjdCLEFBQUEsTUFBTSxDQUFBLEVBRUosS0FBSyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBQyxhQUFhLEdBaUJyRDtFQW5CRCxBQUdFLE1BSEksQUFHSixLQUFNLENBQUEsRUFBQyxXQUFXLEVBQUMsQ0FBQyxHQUFJOztBQUgxQixBQUtDLE1BTEssQ0FLTCxPQUFPLENBQUEsRUFBQyxhQUFhLEVBQUMsR0FBRyxHQUFHOztBQy9OekIsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLElEME43QixBQU1DLE1BTkssQ0FNTCxJQUFJLENBQUEsRUFFRixPQUFPLEVBQUMsS0FBSyxHQUVkOztBQVZGLEFBV0MsTUFYSyxDQVdMLEtBQUssQ0FBQSxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFb0J2UnJCLE9BQU8sRXBCdVJ5QixPQUFPLEVBQUMsdUJBQXVCLEdBQUc7O0FBWDVFLEFBYUUsTUFiSSxDQVlMLFFBQVEsQ0FDUCxPQUFPLENBQUEsRUFBQyxVQUFVLEVBQUMsR0FBRyxFQUFFLEtBQUssRUFBQyxJQUFJLEdBR2pDOztBQWhCSCxBQWNHLE1BZEcsQ0FZTCxRQUFRLENBQ1AsT0FBTyxDQUNOLElBQUksQ0FBQSxFQUFDLFVBQVUsRUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFDLEdBQUcsRUFBRyxPQUFPLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxHQUFHLEdBQUk7O0FBZHBKLEFBZUcsTUFmRyxDQVlMLFFBQVEsQ0FDUCxPQUFPLENBRU4sSUFBSSxDQUFBLEVBQUUsVUFBVSxFQUFDLE9BQU8sQ0FBQyw2Q0FBNkMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUMsSUFBSSxHQUFJOztBQWYvSyxBQWlCRSxNQWpCSSxDQVlMLFFBQVEsQ0FLUCxDQUFDLENBQUEsRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBQyxXQUFXLEVBQUUsV0FBVyxFQUFDLElBQUksR0FBSTs7QUFHeEQsQUFBQSxPQUFPLENBQUMsRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxjQUFjLEdBYzVDOztBQzVQRyxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSUQ4TzdCLEFBQUEsT0FBTyxDQUFDLEVBRU4sT0FBTyxFQUFDLEtBQUssR0FZZDs7QUM1UEcsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLElEOE83QixBQUFBLE9BQU8sQ0FBQyxFQUtOLEtBQUssRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDLENBQUMsRUFBRSxVQUFVLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUMsR0FBRyxFQUFFLFdBQVcsRUFBQyxNQUFNLEdBU25HOztBQWRELEFBT0MsT0FQTSxDQU9OLFVBQVUsQ0FBRSxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLENBQUMsRUFBRyxVQUFVLEVBQUMsT0FBTyxDQUFDLHdDQUF3QyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLEtBQUssRUFBRyxRQUFRLEVBQUMsTUFBTSxFQUFHLE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFDLGlCQUFpQixFQUFFLEtBQUssRUFBQyxJQUFJLEdBSTVNOztBQ3pQRSxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSUQ4TzdCLEFBT0MsT0FQTSxDQU9OLFVBQVUsQ0FBRSxFQUVWLEtBQUssRUFBQyxJQUFJLEdBRVg7O0FBWEYsQUFZWSxPQVpMLENBWU4sVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFDLE1BQU0sRUFBQyxJQUFJLEVBQUcsTUFBTSxFQUFDLElBQUksRUFBRyxVQUFVLEVBQUUsV0FBVyxFQUFHLEtBQUssRUFBQyxJQUFJLEVBQUcsU0FBUyxFQUFDLElBQUksRUFBRSxTQUFTLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBQyxJQUFJLEdBQUk7O0FBWjVJLEFBYUMsT0FiTSxDQWFOLFVBQVUsQ0FBQSxFQUFDLGNBQWMsRUFBQyxHQUFHLEVBQUUsT0FBTyxFQUFDLE1BQU0sR0FBRzs7QUFHakQsQUFBQSxPQUFPLENBQUEsRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBQyxpQkFBaUIsRUFBRyxVQUFVLEVBQUMsR0FBRyxHQVN2SDs7QUN2UUcsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLElEOFA3QixBQUFBLE9BQU8sQ0FBQSxFQUVKLFVBQVUsRUFBQyxDQUFDLEdBT2Q7O0FBVEQsQUFJRSxPQUpLLENBSUwsRUFBRSxDQUFBLEVBQUMsUUFBUSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsSUFBSSxHQUk3Qjs7QUN0UUMsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLElEOFA3QixBQUlFLE9BSkssQ0FJTCxFQUFFLENBQUEsRUFFRCxLQUFLLEVBQUMsSUFBSSxHQUVWOztBQUVILEFBQVcsT0FBSixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUEsRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQyxtQ0FBbUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBQyxPQUFPLEVBQUUsS0FBSyxHQWN6Rzs7QUN0UkcsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLElEd1E3QixBQUFXLE9BQUosQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFBLEVBRVgsVUFBVSxFQUFDLElBQUksRUFDZixNQUFNLEVBQUMsaUJBQWlCLEVBQ3hCLFlBQVksRUFBQyxXQUFXLEVBQ3hCLEtBQUssRUFBQyxNQUFNLEVBQ1osT0FBTyxFQUFDLENBQUMsRUFBRSxVQUFVLEVBQUMsTUFBTSxFb0JuVDdCLFFBQVEsRUFBQyxNQUFNLEVBQ2YsV0FBVyxFQUFDLE1BQU0sRUFDbEIsYUFBYSxFQUFDLFFBQVEsRUFDdEIsT0FBTyxFQUFDLEtBQUssR3BCd1RiOztBQ3RSRyxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSUR3UTdCLEFBQVcsT0FBSixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUEsRUFXWCxLQUFLLEVBQUMsTUFBTSxHQUdiOztBQWRELEFBYUMsT0FiTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBYVosQ0FBQyxDQUFBLEVBQUMsS0FBSyxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBQyxLQUFLLEdBQUk7O0FBRXBELEFBQVEsT0FBRCxDQUFDLE1BQU0sQ0FBQSxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUUsYUFBYSxFQUFDLEdBQUcsR0FRNUM7O0FDL1JHLE1BQU0sRUFBRyxTQUFTLEVBQUUsTUFBTSxJRHVSOUIsQUFBUSxPQUFELENBQUMsTUFBTSxDQUFBLEVBRVosWUFBWSxFQUFDLElBQUksR0FNbEI7O0FDL1JHLE1BQU0sRUFBRyxTQUFTLEVBQUUsS0FBSyxJRHVSN0IsQUFBUSxPQUFELENBQUMsTUFBTSxDQUFBLEVBS1osS0FBSyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBQyxLQUFLLEdBRzdDOztBQVJELEFBT0MsT0FQTSxDQUFDLE1BQU0sQ0FPYixHQUFHLENBQUEsRUFBQyxjQUFjLEVBQUMsTUFBTSxHQUFJOztBQUU5QixBQUFBLE1BQU0sQ0FBQSxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFDLElBQUksR0FBRzs7QUFDckMsQUFBQSxLQUFLLENBQUEsRUFBQyxRQUFRLEVBQUMsUUFBUSxFQUFFLEdBQUcsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBQyxDQUFDLEVBQUUsVUFBVSxFQUFDLElBQUksR0FLakY7O0FDdFNHLE1BQU0sRUFBRyxTQUFTLEVBQUUsS0FBSyxJRGlTN0IsQUFBQSxLQUFLLENBQUEsRUFFSCxPQUFPLEVBQUMsSUFDVCxHQUVBOztBQUxELEFBSVEsS0FKSCxDQUlKLE1BQU0sQ0FBQyxHQUFHLENBQUEsRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBQyxHQUFHLEdBQUk7O0FBRzVDLEFBQU8sTUFBRCxHQUFDLEdBQUcsQ0FBQSxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFDLE1BQU0sR0FBRzs7QUFFekMsQUFBQSxNQUFNLENBQUEsRUFBQyxRQUFRLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFDLENBQUMsRUFBRSxNQUFNLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUMsR0FBRyxFQUFFLE9BQU8sRUFBQyxLQUFLLEdBcUNsSTs7QUMvVUUsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLElEMFM1QixBQUFBLE1BQU0sQ0FBQSxFQUVMLE9BQU8sRUFBQyxJQUNULEdBa0NDOztBQXJDRCxBQUlFLE1BSkksR0FJSixLQUFLLEVBSlAsQUFJVSxNQUpKLEdBSUksVUFBVSxDQUFBLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUMsVUFBVSxFQUFFLE9BQU8sRUFBQyxnQkFBZ0IsR0FFM0s7O0FBTkYsQUFLQyxNQUxLLEdBSUosS0FBSyxDQUNOLENBQUMsRUFMRixBQUtDLE1BTEssR0FJSSxVQUFVLENBQ25CLENBQUMsQ0FBQSxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBQyxHQUFHLEVBQUUsS0FBSyxFQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUMsR0FBRyxFQUFFLE9BQU8sRUFBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRyxlQUFlLEVBQUMsSUFBSSxHQUFJOztBQUx4SyxBQU9FLE1BUEksR0FPSixLQUFLLENBQUEsRUFBRSxVQUFVLEVBQUMsT0FBTyxDQUFDLG1EQUFtRCxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFJOztBQVB0RyxBQVFFLE1BUkksR0FRSixVQUFVLENBQUEsRUFBQyxPQUFPLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQyxPQUFPLENBQUMsb0RBQW9ELENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUk7O0FBUnpILEFBU0MsTUFUSyxDQVNMLEVBQUUsQ0FBQSxFQUFDLGFBQWEsRUFBQyxpQkFBaUIsRUFBRSxPQUFPLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBQyxNQUFNLEdBQUk7O0FBVDNFLEFBVUMsTUFWSyxDQVVMLEVBQUUsQ0FBQSxFQUFDLFVBQVUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBQyxLQUFLLEdBQUc7O0FBVnZFLEFBV0MsTUFYSyxDQVdMLFdBQVcsQ0FBQSxFQUFDLE9BQU8sRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUMsSUFBSSxHQXdCdEQ7O0FBbkNELEFBYUcsTUFiRyxDQVdMLFdBQVcsR0FDVixFQUFFLEdBQ0QsRUFBRSxDQUFBLEVBQUMsYUFBYSxFQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBQyxHQUFHLEdBb0JqRDs7QUFqQ0gsQUFhRyxNQWJHLENBV0wsV0FBVyxHQUNWLEVBQUUsR0FDRCxFQUFFLEFBQ0YsR0FBSSxDQUFBLEVBQUMsVUFBVSxFQUFDLElBQUksR0FZbkI7O0FBMUJKLEFBZUssTUFmQyxDQVdMLFdBQVcsR0FDVixFQUFFLEdBQ0QsRUFBRSxBQUNGLEdBQUksR0FDRixDQUFDLENBQUEsRUFBQyxLQUFLLEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDLElBQUksQ0FBQyw0Q0FBNEMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUMsTUFBTSxFQUFFLGNBQWMsRUFBRSxJQUFJLEdBRTNKOztBQWpCTCxBQWdCSyxNQWhCQyxDQVdMLFdBQVcsR0FDVixFQUFFLEdBQ0QsRUFBRSxBQUNGLEdBQUksR0FDRixDQUFDLENBQ0QsSUFBSSxDQUFBLEVBQUMsY0FBYyxFQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUMsR0FBRyxFQUFFLFdBQVcsRUFBQyxHQUFHLEVBQUUsT0FBTyxFQUFDLFlBQVksRUFBRSxPQUFPLEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBQyxHQUFHLEdBQUk7O0FBaEIxSCxBQWtCSyxNQWxCQyxDQVdMLFdBQVcsR0FDVixFQUFFLEdBQ0QsRUFBRSxBQUNGLEdBQUksR0FJRixFQUFFLENBQUEsRUFBQyxPQUFPLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDLGFBQWEsR0FPeEQ7O0FBekJMLEFBbUJNLE1BbkJBLENBV0wsV0FBVyxHQUNWLEVBQUUsR0FDRCxFQUFFLEFBQ0YsR0FBSSxHQUlGLEVBQUUsR0FDRCxFQUFFLENBQUEsRUFBQyxVQUFVLEVBQUUsaURBQWlELENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFDLFFBQVEsR0FLeEc7O0FBeEJOLEFBbUJNLE1BbkJBLENBV0wsV0FBVyxHQUNWLEVBQUUsR0FDRCxFQUFFLEFBQ0YsR0FBSSxHQUlGLEVBQUUsR0FDRCxFQUFFLEFBQ0YsS0FBTSxDQUFBLEVBQUMsVUFBVSxFQUFFLGlEQUFpRCxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFFOztBQXBCL0YsQUFxQk8sTUFyQkQsQ0FXTCxXQUFXLEdBQ1YsRUFBRSxHQUNELEVBQUUsQUFDRixHQUFJLEdBSUYsRUFBRSxHQUNELEVBQUUsR0FFRCxDQUFDLENBQUEsRUFBQyxLQUFLLEVBQUMsT0FBTyxFQUFFLFNBQVMsRUFBQyxNQUFNLEdBRWpDOztBQXZCUCxBQXFCTyxNQXJCRCxDQVdMLFdBQVcsR0FDVixFQUFFLEdBQ0QsRUFBRSxBQUNGLEdBQUksR0FJRixFQUFFLEdBQ0QsRUFBRSxHQUVELENBQUMsQUFDRCxNQUFPLENBQUEsRUFBQyxLQUFLLEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBQyxHQUFHLEdBQUk7O0FBdEJqRCxBQTJCSSxNQTNCRSxDQVdMLFdBQVcsR0FDVixFQUFFLEdBQ0QsRUFBRSxHQWNELENBQUMsQ0FBQSxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDLE9BQU8sQ0FBQyxpREFBaUQsQ0FBQyxTQUFTLENBQUUsSUFBSSxDQUFDLElBQUksRUFBQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsT0FBTyxFQUFDLEtBQUssR0FFbEo7O0FBN0JKLEFBNEJJLE1BNUJFLENBV0wsV0FBVyxHQUNWLEVBQUUsR0FDRCxFQUFFLEdBY0QsQ0FBQyxDQUNELElBQUksQ0FBQSxFQUFDLE9BQU8sRUFBQyxJQUFJLEdBQUc7O0FBNUJ4QixBQThCSSxNQTlCRSxDQVdMLFdBQVcsR0FDVixFQUFFLEdBQ0QsRUFBRSxHQWlCRCxFQUFFLENBQUEsRUFBQyxPQUFPLEVBQUMsSUFBSSxHQUVmOztBQWhDSixBQW9DQSxNQXBDTSxDQW9DTixDQUFDLENBQUEsRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBQyxNQUFNLEdBQUk7O0FBS25DLEFBQUEsWUFBWSxDQUFBLEVBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsV0FBVyxHQUtqRDs7QUN4VkcsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLElEbVY3QixBQUFBLFlBQVksQ0FBQSxFQUVWLE1BQU0sRUFBQyxVQUFVLEdBR2xCOztBQUxELEFBSUMsWUFKVyxDQUlYLENBQUMsQ0FBQSxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFDLHNDQUFzQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFDLGFBQWEsRUFBQyxJQUFJLEVBQUUsS0FBSyxFb0J6WTlHLE9BQU8sQ3BCeVlrSCxVQUFVLEdBQUU7O0FBRS9JLEFBQUEsUUFBUSxDQUFBLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBQyxHQUFHLEVBQUUsS0FBSyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBQyxJQUFJLEdBK0czRjs7QUN4Y0csTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLElEeVY3QixBQUFBLFFBQVEsQ0FBQSxFQUVMLEdBQUcsRUFBQyxJQUFJLEdBNkdWOztBQS9HRCxBQUlFLFFBSk0sR0FJTixZQUFZLENBQUEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFHLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLElBQUksR0EwRzFEOztBQ3ZjRSxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSUR5VjdCLEFBSUUsUUFKTSxHQUlOLFlBQVksQ0FBQSxFQUVYLFFBQVEsRUFBQyxLQUFLLEVBQUcsS0FBSyxFQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUMsQ0FBQyxHQXdHcEM7O0FBOUdGLEFBU2tCLFFBVFYsR0FJTixZQUFZLEFBSVosS0FBTSxHQUNKLE1BQU0sR0FBQyxHQUFHLEdBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQSxFQUFDLFVBQVUsRUFBQyxLQUFLLEdBS2pDOztBQ3ZXQSxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSUR5VjdCLEFBU2tCLFFBVFYsR0FJTixZQUFZLEFBSVosS0FBTSxHQUNKLE1BQU0sR0FBQyxHQUFHLEdBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQSxFQUVmLFVBQVUsRUFBQyxPQUFPLEdBR25COztBQWRKLEFBU2tCLFFBVFYsR0FJTixZQUFZLEFBSVosS0FBTSxHQUNKLE1BQU0sR0FBQyxHQUFHLEdBQUMsRUFBRSxHQUFDLEVBQUUsQUFJaEIsS0FBTSxDQUFBLEVBQUMsVUFBVSxFQUFDLE9BQU8sR0FBSTs7QUFiakMsQUFnQkcsUUFoQkssR0FJTixZQUFZLEdBWVgsR0FBRyxBQUFBLE1BQU0sQ0FBQSxFQUFDLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsR0FBRyxFQUFFLE1BQU0sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUMsUUFBUSxHQTZGN0c7O0FDdGNDLE1BQU0sRUFBRyxTQUFTLEVBQUUsS0FBSyxJRHlWN0IsQUFnQkcsUUFoQkssR0FJTixZQUFZLEdBWVgsR0FBRyxBQUFBLE1BQU0sQ0FBQSxFQUVSLEtBQUssRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDLENBQUMsR0EyRnRCOztBQTdHSCxBQWdCRyxRQWhCSyxHQUlOLFlBQVksR0FZWCxHQUFHLEFBQUEsTUFBTSxBQUlULE9BQVEsRUFwQlgsQUFnQkcsUUFoQkssR0FJTixZQUFZLEdBWVgsR0FBRyxBQUFBLE1BQU0sQUFJQyxNQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFHLE9BQU8sRUFBRSxLQUFLLEVBQUcsTUFBTSxFQUFFLENBQUMsRUFBRyxLQUFLLEVBQUUsSUFBSSxFQUFHLFVBQVUsRUFBRSxNQUFPLEdBQUc7O0FBcEJ2RyxBQXFCRyxRQXJCSyxHQUlOLFlBQVksR0FZWCxHQUFHLEFBQUEsTUFBTSxDQUtULGFBQWEsQ0FBQSxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUMsSUFBSSxHQUFJOztBQXJCcEUsQUFzQkcsUUF0QkssR0FJTixZQUFZLEdBWVgsR0FBRyxBQUFBLE1BQU0sQ0FNVCxRQUFRLENBQUEsRUFBQyxVQUFVLEVBQUMsTUFBTSxFQUFFLGFBQWEsRUFBQyxFQUFFLEdBSzNDOztBQTNCSixBQXVCSSxRQXZCSSxHQUlOLFlBQVksR0FZWCxHQUFHLEFBQUEsTUFBTSxDQU1ULFFBQVEsQ0FDUCxPQUFPLENBQUEsRUFBQyxVQUFVLEVBQUMsRUFBRSxFQUFFLE1BQU0sRUFBQyxpQkFBaUIsRUFBRSxVQUFVLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFDLElBQUksRUFBRSxTQUFTLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBQyxZQUFZLEVBQUUsT0FBTyxFQUFDLGdCQUFnQixFQUFFLFFBQVEsRUFBQyxRQUFRLEdBR3BMOztBQTFCTCxBQXdCSyxRQXhCRyxHQUlOLFlBQVksR0FZWCxHQUFHLEFBQUEsTUFBTSxDQU1ULFFBQVEsQ0FDUCxPQUFPLENBQ04sSUFBSSxDQUFBLEVBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxLQUFLLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBQyxZQUFZLEdBQUc7O0FBeEJ2RCxBQXlCSyxRQXpCRyxHQUlOLFlBQVksR0FZWCxHQUFHLEFBQUEsTUFBTSxDQU1ULFFBQVEsQ0FDUCxPQUFPLENBRU4sT0FBTyxDQUFBLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUMsR0FBRyxFQUFFLEtBQUssRUFBQyxJQUFJLEdBQUk7O0FDbFhuRCxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSUR5VjdCLEFBNEJJLFFBNUJJLEdBSU4sWUFBWSxHQVlYLEdBQUcsQUFBQSxNQUFNLEdBWVIsR0FBRyxDQUFBLEVBRUYsT0FBTyxFQUFDLENBQUMsRUFBRSxTQUFTLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUMsRUFBRSxHQThFdEg7O0FDcmNBLE1BQU0sRUFBRyxTQUFTLEVBQUUsS0FBSyxJRHlWN0IsQUFnQ0ssUUFoQ0csR0FJTixZQUFZLEdBWVgsR0FBRyxBQUFBLE1BQU0sR0FZUixHQUFHLEdBSUYsRUFBRSxDQUFBLEVBQ0QsUUFBUSxFQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUMsaUJBQWlCLEVBQUUsVUFBVSxFQUFDLE9BQU8sQ0FBQywyQ0FBMkMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsR0F5RTlIOztBQ25jRCxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSUR5VjdCLEFBZ0NLLFFBaENHLEdBSU4sWUFBWSxHQVlYLEdBQUcsQUFBQSxNQUFNLEdBWVIsR0FBRyxHQUlGLEVBQUUsQ0FBQSxFQUlELFVBQVUsRUFBQyxPQUFPLEdBc0VuQjs7QUExR0wsQUFzQ1ksUUF0Q0osR0FJTixZQUFZLEdBWVgsR0FBRyxBQUFBLE1BQU0sR0FZUixHQUFHLEdBSUYsRUFBRSxBQU1GLEtBQU0sR0FBQyxFQUFFLENBQUEsRUFBQyxLQUFLLEVBQUMsR0FBRyxFQUFFLFVBQVUsRUFBQyxLQUFLLEdBYXBDOztBQW5ETixBQXNDWSxRQXRDSixHQUlOLFlBQVksR0FZWCxHQUFHLEFBQUEsTUFBTSxHQVlSLEdBQUcsR0FJRixFQUFFLEFBTUYsS0FBTSxHQUFDLEVBQUUsQUFDUixNQUFPLENBQUEsRUFBQyxVQUFVLEVBQUMsS0FBSyxHQUl2Qjs7QUNwWUgsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLElEeVY3QixBQXNDWSxRQXRDSixHQUlOLFlBQVksR0FZWCxHQUFHLEFBQUEsTUFBTSxHQVlSLEdBQUcsR0FJRixFQUFFLEFBTUYsS0FBTSxHQUFDLEVBQUUsQUFDUixNQUFPLENBQUEsRUFFTCxVQUFVLEVBQUMsT0FBTyxHQUVuQjs7QUEzQ1AsQUFzQ1ksUUF0Q0osR0FJTixZQUFZLEdBWVgsR0FBRyxBQUFBLE1BQU0sR0FZUixHQUFHLEdBSUYsRUFBRSxBQU1GLEtBQU0sR0FBQyxFQUFFLEFBTVIsS0FBTSxDQUFBLEVBQUMsVUFBVSxFQUFDLEtBQUssR0FBSTs7QUNyWTdCLE1BQU0sRUFBRyxTQUFTLEVBQUUsS0FBSyxJRHlWN0IsQUFzQ1ksUUF0Q0osR0FJTixZQUFZLEdBWVgsR0FBRyxBQUFBLE1BQU0sR0FZUixHQUFHLEdBSUYsRUFBRSxBQU1GLEtBQU0sR0FBQyxFQUFFLENBQUEsRUFRUCxLQUFLLEVBQUMsR0FBRyxFQUFFLFVBQVUsRUFBQyxPQUFPLEdBSzlCOztBQzVZRixNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSUR5VjdCLEFBc0NZLFFBdENKLEdBSU4sWUFBWSxHQVlYLEdBQUcsQUFBQSxNQUFNLEdBWVIsR0FBRyxHQUlGLEVBQUUsQUFNRixLQUFNLEdBQUMsRUFBRSxDQUFBLEVBV1AsS0FBSyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUMsT0FBTyxHQUUvQjs7QUFuRE4sQUFvRE0sUUFwREUsR0FJTixZQUFZLEdBWVgsR0FBRyxBQUFBLE1BQU0sR0FZUixHQUFHLEdBSUYsRUFBRSxHQW9CRCxFQUFFLENBQUEsRUFBQyxLQUFLLEVBQUMsR0FBRyxFQUFFLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBQyxpQkFBaUIsRUFBRSxVQUFVLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFDLGFBQWEsR0FvRDNJOztBQ2pjRixNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSUR5VjdCLEFBb0RNLFFBcERFLEdBSU4sWUFBWSxHQVlYLEdBQUcsQUFBQSxNQUFNLEdBWVIsR0FBRyxHQUlGLEVBQUUsR0FvQkQsRUFBRSxDQUFBLEVBRUQsU0FBUyxFQUFDLEtBQUssR0FrRGhCOztBQ2pjRixNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSUR5VjdCLEFBb0RNLFFBcERFLEdBSU4sWUFBWSxHQVlYLEdBQUcsQUFBQSxNQUFNLEdBWVIsR0FBRyxHQUlGLEVBQUUsR0FvQkQsRUFBRSxDQUFBLEVBS0QsS0FBSyxFQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQyxPQUFPLEVBQUUsWUFBWSxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsVUFBVSxFQUFFLFVBQVUsRUFBQyxJQUFJLEdBK0M1RztFQXhHTixBQW9ETSxRQXBERSxHQUlOLFlBQVksR0FZWCxHQUFHLEFBQUEsTUFBTSxHQVlSLEdBQUcsR0FJRixFQUFFLEdBb0JELEVBQUUsQUFPRCxVQUFZLENBQUEsQUFBQSxHQUFHLEVBQUMsRUFBQyxLQUFLLEVBQUMsSUFBSSxHQUFJO0VBM0R0QyxBQW9ETSxRQXBERSxHQUlOLFlBQVksR0FZWCxHQUFHLEFBQUEsTUFBTSxHQVlSLEdBQUcsR0FJRixFQUFFLEdBb0JELEVBQUUsQUFRRCxVQUFZLENBQUEsQUFBQSxDQUFDLEdBNURwQixBQW9ETSxRQXBERSxHQUlOLFlBQVksR0FZWCxHQUFHLEFBQUEsTUFBTSxHQVlSLEdBQUcsR0FJRixFQUFFLEdBb0JELEVBQUUsQUFRZSxVQUFZLENBQUEsQUFBQSxDQUFDLEVBQUMsRUFBQyxVQUFVLEVBQUMsQ0FBQyxFQUFFLEtBQUssRUFBQyxJQUFJLEdBQUk7O0FDclo5RCxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSUR5VjdCLEFBb0RNLFFBcERFLEdBSU4sWUFBWSxHQVlYLEdBQUcsQUFBQSxNQUFNLEdBWVIsR0FBRyxHQUlGLEVBQUUsR0FvQkQsRUFBRSxDQUFBLEVBV0QsS0FBSyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUMsT0FBTyxFQUFHLE9BQU8sRUFBQyxFQUFFLEdBeUM1QztFQXhHTixBQW9ETSxRQXBERSxHQUlOLFlBQVksR0FZWCxHQUFHLEFBQUEsTUFBTSxHQVlSLEdBQUcsR0FJRixFQUFFLEdBb0JELEVBQUUsQUFZRCxVQUFZLENBQUEsQUFBQSxDQUFDLEVBQUMsRUFBQyxVQUFVLEVBQUMsaUJBQWlCLEdBQUk7O0FBaEV0RCxBQWtFVyxRQWxFSCxHQUlOLFlBQVksR0FZWCxHQUFHLEFBQUEsTUFBTSxHQVlSLEdBQUcsR0FJRixFQUFFLEdBb0JELEVBQUUsQUFjRixHQUFJLEdBQUMsQ0FBQyxDQUFBLEVBQUMsTUFBTSxFQUFDLElBQUksR0FBSTs7QUFsRTVCLEFBbUVPLFFBbkVDLEdBSU4sWUFBWSxHQVlYLEdBQUcsQUFBQSxNQUFNLEdBWVIsR0FBRyxHQUlGLEVBQUUsR0FvQkQsRUFBRSxHQWVELENBQUMsQ0FBQSxFQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBQyxTQUFTLEdBQUk7O0FBbkV2RixBQW9FTyxRQXBFQyxHQUlOLFlBQVksR0FZWCxHQUFHLEFBQUEsTUFBTSxHQVlSLEdBQUcsR0FJRixFQUFFLEdBb0JELEVBQUUsR0FnQkQsRUFBRSxDQUFBLEVBQUMsVUFBVSxFQUFDLElBQUksR0FLbEI7O0FBekVQLEFBcUVRLFFBckVBLEdBSU4sWUFBWSxHQVlYLEdBQUcsQUFBQSxNQUFNLEdBWVIsR0FBRyxHQUlGLEVBQUUsR0FvQkQsRUFBRSxHQWdCRCxFQUFFLEdBQ0QsRUFBRSxDQUFBLEVBQUMsV0FBVyxFQUFDLEtBQUssRUFBRSxZQUFZLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBQyxHQUFHLEVBQUUsTUFBTSxFQUFDLEtBQUssR0FHdEU7O0FBeEVSLEFBcUVRLFFBckVBLEdBSU4sWUFBWSxHQVlYLEdBQUcsQUFBQSxNQUFNLEdBWVIsR0FBRyxHQUlGLEVBQUUsR0FvQkQsRUFBRSxHQWdCRCxFQUFFLEdBQ0QsRUFBRSxBQUNGLE9BQVEsQ0FBQSxFQUFDLE9BQU8sRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDLFlBQVksRUFBRSxZQUFZLEVBQUMsSUFBSSxHQUFJOztBQXRFMUUsQUF1RVMsUUF2RUQsR0FJTixZQUFZLEdBWVgsR0FBRyxBQUFBLE1BQU0sR0FZUixHQUFHLEdBSUYsRUFBRSxHQW9CRCxFQUFFLEdBZ0JELEVBQUUsR0FDRCxFQUFFLEdBRUQsQ0FBQyxBQUFBLE1BQU0sQ0FBQSxFQUFDLEtBQUssRUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFDLElBQUksR0FBSTs7QUF2RXBELEFBb0RNLFFBcERFLEdBSU4sWUFBWSxHQVlYLEdBQUcsQUFBQSxNQUFNLEdBWVIsR0FBRyxHQUlGLEVBQUUsR0FvQkQsRUFBRSxBQXNCRixJQUFLLENBQUEsRUFBQyxPQUFPLEVBQUMsQ0FBQyxHQUFJOztBQTFFekIsQUEyRU8sUUEzRUMsR0FJTixZQUFZLEdBWVgsR0FBRyxBQUFBLE1BQU0sR0FZUixHQUFHLEdBSUYsRUFBRSxHQW9CRCxFQUFFLEdBdUJELEtBQUssQ0FBQSxFQUFDLE9BQU8sRUFBQyxDQUFDLEVBQUUsVUFBVSxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMsR0FBRyxFQUFFLEtBQUssRUFBQyxJQUFJLEdBNEJ4RDs7QUF2R1AsQUE2RU8sUUE3RUMsR0FJTixZQUFZLEdBWVgsR0FBRyxBQUFBLE1BQU0sR0FZUixHQUFHLEdBSUYsRUFBRSxHQW9CRCxFQUFFLEdBdUJELEtBQUssQ0FFTCxDQUFDLENBQUEsRUFBQyxLQUFLLEVBQUMsSUFBSSxHQUFHOztBQTdFdEIsQUEyRU8sUUEzRUMsR0FJTixZQUFZLEdBWVgsR0FBRyxBQUFBLE1BQU0sR0FZUixHQUFHLEdBSUYsRUFBRSxHQW9CRCxFQUFFLEdBdUJELEtBQUssQUFHTCxLQUFNLENBQUEsRUFBQyxVQUFVLEVBQUMsT0FBTyxDQUFDLHVDQUF1QyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFDLFVBQVUsRUFBQyxNQUFNLEVBQUUsT0FBTyxFQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUMsSUFBSSxFQUFFLGVBQWUsRUFBQyxJQUFJLEdBVTlKOztBQXhGUixBQStFUSxRQS9FQSxHQUlOLFlBQVksR0FZWCxHQUFHLEFBQUEsTUFBTSxHQVlSLEdBQUcsR0FJRixFQUFFLEdBb0JELEVBQUUsR0F1QkQsS0FBSyxBQUdMLEtBQU0sQ0FDTCxHQUFHLENBQUEsRUFBQyxLQUFLLEVBQUMsT0FBTyxHQUFHOztBQS9FNUIsQUFnRlEsUUFoRkEsR0FJTixZQUFZLEdBWVgsR0FBRyxBQUFBLE1BQU0sR0FZUixHQUFHLEdBSUYsRUFBRSxHQW9CRCxFQUFFLEdBdUJELEtBQUssQUFHTCxLQUFNLENBRUwsRUFBRSxDQUFBLEVBQUMsVUFBVSxFQUFDLENBQUMsR0FPZDs7QUF2RlQsQUFpRlMsUUFqRkQsR0FJTixZQUFZLEdBWVgsR0FBRyxBQUFBLE1BQU0sR0FZUixHQUFHLEdBSUYsRUFBRSxHQW9CRCxFQUFFLEdBdUJELEtBQUssQUFHTCxLQUFNLENBRUwsRUFBRSxDQUNELEVBQUUsQ0FBQSxFQUFDLE9BQU8sRUFBQyxZQUFZLEVBQUUsU0FBUyxFQUFDLENBQUMsRUFBRSxXQUFXLEVBQUMsQ0FBQyxFQUFFLFlBQVksRUFBQyxDQUFDLEdBS2xFOztBQXRGVixBQWtGVSxRQWxGRixHQUlOLFlBQVksR0FZWCxHQUFHLEFBQUEsTUFBTSxHQVlSLEdBQUcsR0FJRixFQUFFLEdBb0JELEVBQUUsR0F1QkQsS0FBSyxBQUdMLEtBQU0sQ0FFTCxFQUFFLENBQ0QsRUFBRSxDQUNELENBQUMsQ0FBQSxFQUFDLFVBQVUsRUFBRSxtQ0FBbUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBQyxPQUFPLEVBQUMsV0FBVyxFQUFFLFNBQVMsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDLEdBQUcsR0FFeEg7O0FBcEZYLEFBa0ZVLFFBbEZGLEdBSU4sWUFBWSxHQVlYLEdBQUcsQUFBQSxNQUFNLEdBWVIsR0FBRyxHQUlGLEVBQUUsR0FvQkQsRUFBRSxHQXVCRCxLQUFLLEFBR0wsS0FBTSxDQUVMLEVBQUUsQ0FDRCxFQUFFLENBQ0QsQ0FBQyxBQUNBLE1BQU8sQ0FBQSxFQUFDLEtBQUssRW9COWRkLE9BQU8sR3BCOGRtQjs7QUFuRnBDLEFBcUZ3QixRQXJGaEIsR0FJTixZQUFZLEdBWVgsR0FBRyxBQUFBLE1BQU0sR0FZUixHQUFHLEdBSUYsRUFBRSxHQW9CRCxFQUFFLEdBdUJELEtBQUssQUFHTCxLQUFNLENBRUwsRUFBRSxDQUNELEVBQUUsQUFJRCxZQUFhLENBQUMsQ0FBQyxDQUFBLEVBQUMsVUFBVSxFQUFDLElBQUksR0FBSTs7QUFyRjdDLEFBMkVPLFFBM0VDLEdBSU4sWUFBWSxHQVlYLEdBQUcsQUFBQSxNQUFNLEdBWVIsR0FBRyxHQUlGLEVBQUUsR0FvQkQsRUFBRSxHQXVCRCxLQUFLLEFBY0wsR0FBSSxDQUFBLEVBQUMsVUFBVSxFb0JwZVosT0FBTyxDcEJvZWdCLHVDQUF1QyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFDLFVBQVUsRUFBQyxNQUFNLEVBQUUsT0FBTyxFQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUMsSUFBSSxFQUFFLGVBQWUsRUFBQyxJQUFJLEdBVzlKOztBQXBHUixBQTBGUSxRQTFGQSxHQUlOLFlBQVksR0FZWCxHQUFHLEFBQUEsTUFBTSxHQVlSLEdBQUcsR0FJRixFQUFFLEdBb0JELEVBQUUsR0F1QkQsS0FBSyxBQWNMLEdBQUksQ0FDSCxJQUFJLENBQUEsRUFBQyxPQUFPLEVBQUMsS0FBSyxFQUFFLFdBQVcsRUFBQyxJQUFJLEdBT25DOztBQzFiTCxNQUFNLEVBQUcsU0FBUyxFQUFFLEtBQUssSUR5VjdCLEFBMEZRLFFBMUZBLEdBSU4sWUFBWSxHQVlYLEdBQUcsQUFBQSxNQUFNLEdBWVIsR0FBRyxHQUlGLEVBQUUsR0FvQkQsRUFBRSxHQXVCRCxLQUFLLEFBY0wsR0FBSSxDQUNILElBQUksQ0FBQSxFQUVGLE9BQU8sRUFBQyxNQUFNLEdBS2Y7O0FDMWJMLE1BQU0sRUFBRyxTQUFTLEVBQUUsS0FBSyxJRHlWN0IsQUEwRlEsUUExRkEsR0FJTixZQUFZLEdBWVgsR0FBRyxBQUFBLE1BQU0sR0FZUixHQUFHLEdBSUYsRUFBRSxHQW9CRCxFQUFFLEdBdUJELEtBQUssQUFjTCxHQUFJLENBQ0gsSUFBSSxDQUFBLEVBS0YsT0FBTyxFQUFDLEtBQUssR0FFZDs7QUFqR1QsQUFrR1EsUUFsR0EsR0FJTixZQUFZLEdBWVgsR0FBRyxBQUFBLE1BQU0sR0FZUixHQUFHLEdBSUYsRUFBRSxHQW9CRCxFQUFFLEdBdUJELEtBQUssQUFjTCxHQUFJLENBU0gsQ0FBQyxDQUFBLEVBQUMsT0FBTyxFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUMscUNBQXFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsSUFBSSxHQUFHOztBQWxHOUksQUEyRU8sUUEzRUMsR0FJTixZQUFZLEdBWVgsR0FBRyxBQUFBLE1BQU0sR0FZUixHQUFHLEdBSUYsRUFBRSxHQW9CRCxFQUFFLEdBdUJELEtBQUssQUEwQkwsSUFBSyxDQUFBLEVBQUMsS0FBSyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUMsS0FBSyxHQUFJOztBQXJHN0MsQUFzR08sUUF0R0MsR0FJTixZQUFZLEdBWVgsR0FBRyxBQUFBLE1BQU0sR0FZUixHQUFHLEdBSUYsRUFBRSxHQW9CRCxFQUFFLEdBdUJELEtBQUssQ0EyQkwsQ0FBQyxDQUFBLEVvQnBlUCxRQUFRLEVBQUMsTUFBTSxFQUNmLFdBQVcsRUFBQyxNQUFNLEVBQ2xCLGFBQWEsRUFBQyxRQUFRLEVBQ3RCLE9BQU8sRUFBQyxLQUFLLEdwQmllVTs7QUFXeEIsQUFBQSxXQUFXLENBQUEsRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBQyxpQkFBaUIsR0FBSTs7QUFDckcsQUFBQSxnQkFBZ0IsQ0FBQyxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBQyxLQUFLLEdBQUk7O0FBQzFFLEFBQWlCLGdCQUFELENBQUMsQ0FBQyxDQUFBLEVBQUMsT0FBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsSUFBSSxHQUFJOztBQUNsRCxBQUFpQixnQkFBRCxDQUFDLENBQUMsQUFBQSxNQUFNLENBQUEsRUFBQyxNQUFNLEVBQUMsZUFBZSxHQUFJOztBQUNuRCxBQUFTLFFBQUQsQ0FBQyxNQUFNLENBQUEsRUFBQyxPQUFPLEVBQUMsSUFBSSxHQUFJOztBQUcvQixBQUFBLFNBQVMsQ0FBQSxFQUFDLFVBQVUsRUFBQyxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUMsR0FBRyxFQUFFLEtBQUssRUFBQyxJQUFJLEdBQUcifQ== */


.bannerTop { position:absolute; top:40px; right:0; display:inline-block; overflow:hidden; height:40px; padding:5px 30px; background-color:#0068b7; border-radius:20px; }
.bannerTop p { display:inline-block; overflow:hidden; }
.bannerTop p.dday { float:left; height:30px; color:#fff200; font-size:20px; font-weight:bold; line-height:30px; text-align:center; border-right:1px solid #3386c5; padding-right:10px; }
.bannerTop p.title { color:#fff; font-size:12px; line-height:15px; padding-left:10px; }
.bannerTop p.title strong { display:block; font-weight:normal; }

@media (max-width: 767px) {
	.bannerTop{padding:5px 10px;top:12px; right:105px;}
	.bannerTop p.dday{border-right:0;padding-right:0;letter-spacing:-1px}
	.bannerTop p.title{display:none;}
}



#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;} */
/* } */


#searchLayer { position: relative; border: 1px solid #1a2851; border-top: 0; background: #fff; top: 6px; font-size: 0.95em; }

#searchLayer ul { margin-top: 5px; }

#searchLayer ul li a { display: block; padding: 2px 7px; color: #5d5d5d; }

#searchLayer ul li a span { font-weight: bold; color: #f05291; }

#searchLayer ul li a:hover { background: #f2f4f7; text-decoration: underline; }

#searchLayer .ex { margin: 10px 7px; }

#searchLayer .bottom { overflow: hidden; background: #787d9a; }

#searchLayer .bottom .fl, #searchLayer .bottom .fr { padding: 5px; color: #fff; }

#searchLayer .bottom .fl a, #searchLayer .bottom .fr a { color: #fff; }

#searchLayer .bottom .layerOff { padding: 0; }

#searchLayer .layerOff { background: #787d9a; padding: 10px 7px; }

#searchLayer .layerOff a { color: #fff; display: inline-block; background: url(/static/images/common/arr_w_right.png) no-repeat right center; padding-right: 10px; }

#searchLayer .layerOff a:focus { text-decoration: underline; }

#searchLayer .predictive { padding-top: 1px; }

#mainPopup{position:relative;padding:5px 0;background:#f9ecd9;z-index:1;}
#mainPopup:after{display:block;content:"";clear:both;}
#mainPopup .con1{position:relative;max-width:1260px;margin:0 auto;}
#mainPopup .con1 > div{float:none;}
#mainPopup .con1 .title{display:block;margin-right:20px}
#mainPopup .con1 .title span{display:inline-block;font-size:17px;font-weight:bold;vertical-align:top;}
#mainPopup .con1 .title span em{color:#cf6100;}
#mainPopup .con1 .title ul{display:inline-block;}
#mainPopup .con1 .title ul li{position:relative;float:left;width:30px;height:30px;line-height:28px;text-align:center;background:#dd792e;font-size:22px;font-weight:bold;color:#fff;border-radius:5px;margin:0 2px;}
#mainPopup .con1 .title ul li:first-child{margin-right:20px;}
#mainPopup .con1 .title ul li:first-child:after{display:block;content:"";position:absolute;right:-15px;top:15px;width:8px;height:2px;background:#555;}
#mainPopup .con1 .list li{position:relative;float:left;line-height:30px;margin-right:30px;padding-left:8px;}
#mainPopup .con1 .list li:after{display:block;content:"";position:absolute;left:0px;top:14px;width:3px;height:2px;background:#555;}
#mainPopup .con1 .closeWrap{position:absolute;top:5px;right:10px;font-size:13px;}
#mainPopup .con1 .closeWrap input[type="checkbox"]{position:static;-webkit-appearance:checkbox;vertical-align:top;}
#mainPopup .con1 .closeWrap input[type="checkbox"] + label:before,
#mainPopup .con1 .closeWrap input[type="checkbox"] + label:after{display:none;}
#mainPopup .con1 .closeWrap a.closeBtn{display:inline-block;margin-left:20px;}
#mainPopup .con1 .closeWrap a.closeBtn:hover{text-decoration:none;}

@media all and (max-width:1024px){
	#mainPopup{display:none !important;}
}