Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
tl_estate
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hujun
tl_estate
Commits
851b04ef
Commit
851b04ef
authored
Mar 25, 2018
by
xishifeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
暂存0325
parent
036600c7
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
699 additions
and
427 deletions
+699
-427
customerinfo_genjin.html
application/app_broker/view/index/customerinfo_genjin.html
+35
-32
common.css
public/app/css/common.css
+4
-1
customerinfo_sub_page.css
public/app/css/customerinfo_sub_page.css
+9
-0
search_gb.png
public/app/images/search_gb.png
+0
-0
common.js
public/app/js/common.js
+6
-47
customer_gj.js
public/app/js/customer_gj.js
+193
-338
css.min.js
public/app/js/libs/css.min.js
+1
-0
doT.js
public/app/js/libs/doT.js
+8
-0
jquery-0325-min.js
public/app/js/libs/jquery-0325-min.js
+10
-0
rem750_1.js
public/app/js/libs/rem750_1.js
+3
-0
require.min.js
public/app/js/libs/require.min.js
+1
-0
text.js
public/app/js/libs/text.js
+408
-0
main.js
public/app/js/main.js
+21
-9
No files found.
application/app_broker/view/index/customerinfo_genjin.html
View file @
851b04ef
...
...
@@ -8,12 +8,10 @@
<meta
name=
"viewport"
content=
"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0"
/>
<meta
name=
"Keywords"
content=
""
/>
<meta
name=
"Description"
content=
""
/>
<link
rel=
"stylesheet"
href=
"/app/css/common.css?rev=14ba5c1d4b1452ee5b804c1b98270acc"
>
<link
href=
"/app/css/customerinfo_sub_page.css?rev=efff47bf9afb8ad3c5cec0ac906e7b03"
rel=
"stylesheet"
>
<link
href=
"/app/css/customer_gj.css"
rel=
"stylesheet"
>
</head>
<body>
<body
style=
"display: none;"
>
<div
id=
"app"
>
<header
id=
"header"
>
<a
class=
"ps-back"
href=
"javascript:(history.length>1?history.go(-1):window.location='/');"
id=
"back_btn"
></a>
<h2
id=
"title"
>
跟进
</h2>
...
...
@@ -24,13 +22,13 @@
1、属于哪类客户?
<span>
*必填
</span>
</p>
<div
id=
"list_a"
>
<input
name=
"radio_a"
type=
"radio"
id=
"btn1"
value=
"A类(成交意愿较强)
"
>
<input
name=
"radio_a"
type=
"radio"
id=
"btn1"
value=
"1"
v-model=
"user_type
"
>
<label
for=
"btn1"
></label>
<i
class=
"list_i"
>
A类(成交意愿较强)
</i>
<input
name=
"radio_a"
type=
"radio"
id=
"btn2"
value=
"B类(成交意愿中等)
"
>
<input
name=
"radio_a"
type=
"radio"
id=
"btn2"
value=
"2"
v-model=
"user_type
"
>
<label
for=
"btn2"
></label>
<i
class=
"list_i"
>
B类(成交意愿中等)
</i>
<input
name=
"radio_a"
type=
"radio"
id=
"btn3"
value=
"C类(成交意愿较弱)
"
>
<input
name=
"radio_a"
type=
"radio"
id=
"btn3"
value=
"3"
v-model=
"user_type
"
>
<label
for=
"btn3"
></label>
<i
class=
"list_i"
>
C类(成交意愿较弱)
</i>
</div>
...
...
@@ -40,7 +38,7 @@
2、第一决策人是谁?
</p>
<div
id=
"list_b"
>
<input
type=
"text"
placeholder=
"请输入"
name=
"text"
id=
"content1
"
>
<input
type=
"text"
placeholder=
"请输入"
name=
"text"
id=
"content1"
v-model
.
trim=
"decision_maker
"
>
</div>
</div>
<div
class=
"list_a"
>
...
...
@@ -48,32 +46,32 @@
3、租商铺做什么?
<span>
*必填
</span>
</p>
<div
id=
"list_c"
>
<input
name=
"radio_c"
type=
"radio"
id=
"btn4"
value=
"轻餐饮
"
>
<input
name=
"radio_c"
type=
"radio"
id=
"btn4"
value=
"1"
v-model=
"industry_type
"
>
<label
for=
"btn4"
></label>
<i
class=
"list_i"
>
轻餐饮
</i>
<input
name=
"radio_c"
type=
"radio"
id=
"btn5"
value=
"重餐饮
"
>
<input
name=
"radio_c"
type=
"radio"
id=
"btn5"
value=
"2"
v-model=
"industry_type
"
>
<label
for=
"btn5"
></label>
<i
class=
"list_i"
>
重餐饮
</i>
<input
name=
"radio_c"
type=
"radio"
id=
"btn6"
value=
"百货零售
"
>
<input
name=
"radio_c"
type=
"radio"
id=
"btn6"
value=
"3"
v-model=
"industry_type
"
>
<label
for=
"btn6"
></label>
<i
class=
"list_i"
>
百货零售
</i>
<input
name=
"radio_c"
type=
"radio"
id=
"btn7"
value=
"服装
"
>
<input
name=
"radio_c"
type=
"radio"
id=
"btn7"
value=
"4"
v-model=
"industry_type
"
>
<label
for=
"btn7"
></label>
<i
class=
"list_i"
>
服装
</i>
<input
name=
"radio_c"
type=
"radio"
id=
"btn8"
value=
"亲子教育
"
>
<input
name=
"radio_c"
type=
"radio"
id=
"btn8"
value=
"5"
v-model=
"industry_type
"
>
<label
for=
"btn8"
></label>
<i
class=
"list_i"
>
亲子教育
</i>
<input
name=
"radio_c"
type=
"radio"
id=
"btn9"
value=
"休闲娱乐
"
>
<input
name=
"radio_c"
type=
"radio"
id=
"btn9"
value=
"6"
v-model=
"industry_type
"
>
<label
for=
"btn9"
></label>
<i
class=
"list_i"
>
休闲娱乐
...
...
@@ -85,22 +83,22 @@
4、对面积的要求?
<span>
*必填
</span>
</p>
<div
id=
"list_d"
>
<input
name=
"radio_d"
type=
"radio"
id=
"area1"
value=
"30㎡以内
"
>
<input
name=
"radio_d"
type=
"radio"
id=
"area1"
value=
"1"
v-model=
"area_requirement
"
>
<label
for=
"area1"
></label>
<i
class=
"list_i"
>
30㎡以内
</i>
<input
name=
"radio_d"
type=
"radio"
id=
"area2"
value=
"30-60㎡
"
>
<input
name=
"radio_d"
type=
"radio"
id=
"area2"
value=
"2"
v-model=
"area_requirement
"
>
<label
for=
"area2"
></label>
<i
class=
"list_i"
>
30-60㎡
</i>
<input
name=
"radio_d"
type=
"radio"
id=
"area3"
value=
"60-100㎡
"
>
<input
name=
"radio_d"
type=
"radio"
id=
"area3"
value=
"3"
v-model=
"area_requirement
"
>
<label
for=
"area3"
></label>
<i
class=
"list_i"
>
60-100㎡
</i>
<input
name=
"radio_d"
type=
"radio"
id=
"area4"
value=
"100㎡以上
"
>
<input
name=
"radio_d"
type=
"radio"
id=
"area4"
value=
"4"
v-model=
"area_requirement
"
>
<label
for=
"area4"
></label>
<i
class=
"list_i"
>
100㎡以上
...
...
@@ -113,17 +111,17 @@
5、对价格的要求?
<span>
*必填
</span>
</p>
<div
id=
"list_e"
>
<input
name=
"radio_e"
type=
"radio"
id=
"money1"
value=
"月租金10000以内
"
>
<input
name=
"radio_e"
type=
"radio"
id=
"money1"
value=
"1"
v-model=
"price_requirement
"
>
<label
for=
"money1"
></label>
<i
class=
"list_i"
>
月租金10000以内
</i>
<input
name=
"radio_e"
type=
"radio"
id=
"money2"
value=
"月租金10000-30000元
"
>
<input
name=
"radio_e"
type=
"radio"
id=
"money2"
value=
"2"
v-model=
"price_requirement
"
>
<label
for=
"money2"
></label>
<i
class=
"list_i"
>
月租金10000-30000元
</i>
<input
name=
"radio_e"
type=
"radio"
id=
"money3"
value=
"月租金30000元以上
"
>
<input
name=
"radio_e"
type=
"radio"
id=
"money3"
value=
"3"
v-model=
"price_requirement
"
>
<label
for=
"money3"
></label>
<i
class=
"list_i"
>
月租金30000元以上
...
...
@@ -146,7 +144,7 @@
</select>
<img
src=
"/app/images/but_down.png"
class=
"but_down"
>
<textarea
placeholder=
"请输入其他信息"
name=
"content"
id=
"content
_area"
></textarea>
<textarea
placeholder=
"请输入其他信息"
name=
"content"
id=
"content_area"
v-model
.
trim=
"other
_area"
></textarea>
</div>
</div>
...
...
@@ -154,15 +152,16 @@
<p>
7、补充说明
</p>
<textarea
placeholder=
"请输入其他信息"
name=
"content"
id=
"content_area1
"
></textarea>
<textarea
placeholder=
"请输入其他信息"
name=
"content"
id=
"content_area1"
v-model
.
trim=
"explain
"
></textarea>
<div
class=
"pic"
>
图片上传
</div>
<div
class=
"upload-area"
>
<div
class=
"add-pic"
id=
"add_pic"
>
<input
type=
"file"
name=
"img"
id=
"input_img"
>
<imgshow-component
v-for=
"item in imgShowList"
v-bind:data=
"item"
:key=
"item.name"
v-on:deleteimg=
"deleteimgMain"
></imgshow-component>
<div
class=
"add-pic"
id=
"add_pic"
v-show=
"!uploadImgFlag"
>
<input
type=
"file"
name=
"img"
id=
"input_img"
@
change=
"uploadImg($event)"
>
</div>
<div
class=
"loading"
id=
"loading_animate
"
>
<div
class=
"loading_new"
id=
"loading_animate"
v-show=
"uploadImgFlag
"
>
<div
class=
"loader4"
></div>
<span
id=
"loading_msg"
>
上传中...
</span>
</div>
...
...
@@ -171,14 +170,18 @@
</div>
<div
class=
"customerinfo-submit-btn hide-btn"
>
<a
href=
"javascript:;"
id=
"btn_save"
>
提交
</a>
<a
href=
"javascript:;"
id=
"btn_save_temp"
>
正在保存...
</a>
<a
href=
"javascript:;"
id=
"btn_save_new"
v-show=
"!submitFlag"
@
click
.
prevent
.
stop=
"save"
>
提交
</a>
<a
href=
"javascript:;"
id=
"btn_save_temp_new"
v-show=
"submitFlag"
>
正在保存...
</a>
</div>
</div>
<script
type=
"text/javascript"
src=
"/app/js/jquery-1122-min.js"
></script>
<script
type=
"text/javascript"
src=
"/app/js/libs/lrz.all.bundle.js"
></script>
<script
src=
"/app/js/common.js?rev=c948288d49a4b3b3e10adb1511c50721"
charset=
"utf-8"
></script>
<script
src=
"/app/js/customer_gj.js?rev=8d6f4ffa4e3df8f529b663f75c05780a"
></script>
<script
src=
"/app/js/libs/require.min.js"
data-js=
"/app/js/customer_gj.js"
data-main=
"/app/js/main"
defer
async=
"true"
></script>
<script
type=
"text/x-template"
id=
"imgShow1"
>
<
div
class
=
"sc_img"
>
<
img
:
src
=
"data.name"
class
=
"preview"
>
<
img
class
=
"del_img"
:
src
=
"deleteImgPrefix"
v
-
model
=
"deleteimg"
@
click
=
"deleteimg"
>
<
/div
>
</script>
</body>
...
...
public/app/css/common.css
View file @
851b04ef
@charset
"utf-8"
;
body
,
div
,
dl
,
dt
,
dd
,
ul
,
ol
,
li
,
h1
,
h2
,
h3
,
h4
,
h5
,
h6
,
pre
,
code
,
form
,
fieldset
,
legend
,
input
,
textarea
,
p
,
blockquote
,
th
,
td
,
hr
,
button
,
article
,
aside
,
details
,
figcaption
,
figure
,
footer
,
header
,
hgroup
,
menu
,
nav
,
section
{
margin
:
0
;
padding
:
0
}
input
,
select
,
textarea
{
font-size
:
100%
}
table
{
border-collapse
:
collapse
;
border-spacing
:
0
}
fieldset
,
img
{
border
:
0
}
abbr
,
acronym
{
border
:
0
;
font-variant
:
normal
}
del
{
text-decoration
:
line-through
}
address
,
caption
,
cite
,
code
,
dfn
,
em
,
th
,
var
{
font-style
:
normal
;
font-weight
:
500
}
ol
,
ul
{
list-style
:
none
}
caption
,
th
{
text-align
:
left
}
h1
,
h2
,
h3
,
h4
,
h5
,
h6
{
font-size
:
100%
;
font-weight
:
500
}
q
:before
,
q
:after
{
content
:
''
}
sub
,
sup
{
font-size
:
75%
;
line-height
:
0
;
position
:
relative
;
vertical-align
:
baseline
}
sup
{
top
:
-.5em
}
sub
{
bottom
:
-.25em
}
ins
,
a
{
text-decoration
:
none
}
:focus
{
outline
:
0
}
a
{
overflow
:
hidden
;
text-decoration
:
none
;
text-align
:
inherit
;
color
:
inherit
;
border
:
0
;
cursor
:
pointer
}
a
:visited
{
text-decoration
:
none
}
a
:hover
{
text-decoration
:
none
}
a
:active
{
text-decoration
:
none
}
input
,
select
,
button
{
input
,
select
,
button
,
textarea
{
vertical-align
:
middle
;
outline
:
0
;
-webkit-appearance
:
none
;
...
...
@@ -11,6 +11,9 @@ input, select, button {
background-color
:
transparent
;
border
:
none
;
}
textarea
{
resize
:
none
;
}
.oh
{
overflow
:
hidden
;
}
...
...
public/app/css/customerinfo_sub_page.css
View file @
851b04ef
...
...
@@ -103,6 +103,12 @@ li.li-yuji-qianyue{
background-color
:
#ccc
;
display
:
none
;
}
.customerinfo-submit-btn
>
a
#btn_save_new
{
background-color
:
#ff9419
;
}
.customerinfo-submit-btn
>
a
#btn_save_temp_new
{
background-color
:
#ccc
;
}
/**********************************************上传图片区域***********************************************/
div
.upload-area
{
overflow
:
hidden
;
...
...
@@ -151,6 +157,9 @@ div.upload-area>div.sc_img>img.del_img {
.loading
{
display
:
none
;
}
.loading_new
{
display
:
block
;
}
.loader4
{
width
:
.9rem
;
height
:
.9rem
;
...
...
public/app/images/search_gb.png
0 → 100644
View file @
851b04ef
857 Bytes
public/app/js/common.js
View file @
851b04ef
var
ServerHost
=
location
.
origin
;
//var ServerHostTempC = 'https://pre2.tonglianjituan.com';
var
ServerHostTempC
=
'http://192.168.2.13'
;
if
(
~
ServerHost
.
indexOf
(
'admin.'
)){
ServerHostTempC
=
'https://estate.tonglianjituan.com'
;
};
//从location.href里获取参数
function
getUrlParam
(
name
)
{
var
reg
=
new
RegExp
(
"(^|&)"
+
name
+
"=([^&]*)(&|$)"
);
...
...
@@ -106,57 +111,11 @@ function h5Page(token, fn) {
// });
}
function
h5PageB
(
token
,
fn
)
{
localStorage
.
setItem
(
'token'
,
token
);
fn
();
$
.
ajax
({
type
:
"post"
,
url
:
ServerHost
+
"/AppTab5/about_Token"
,
data
:
{
'token'
:
token
},
dataType
:
"json"
,
success
:
function
(
data
)
{
if
(
typeof
data
===
'object'
){
if
(
data
[
'status'
]
==
'0'
){
console
.
log
(
data
.
msg
);
setLoginStorage
(
data
,
token
,
'agents'
);
fn
(
data
);
}
else
{
try
{
layer
.
open
({
content
:
data
.
msg
,
skin
:
'msg'
,
time
:
2
});
}
catch
(
e
){
alert
(
data
.
msg
);
}
}
}
else
{
try
{
layer
.
open
({
content
:
'token验证接口数据错误'
,
skin
:
'msg'
,
time
:
2
});
}
catch
(
e
){
alert
(
'token验证接口数据错误'
);
}
};
},
error
:
function
()
{
console
.
warn
(
"获取token失败"
);
}
});
}
//验证C端token
function
h5PageC
(
token
,
fn
)
{
$
.
ajax
({
type
:
"GET"
,
url
:
"/broker/getAgentsByPhone"
,
url
:
ServerHostTempC
+
"/broker/getAgentsByPhone"
,
data
:
{
'AuthToken'
:
token
},
...
...
public/app/js/customer_gj.js
View file @
851b04ef
/**
* Created by 刘丹 on 2017/11/22.
*/
$
(
function
(){
$
(
'body'
).
show
();
require
([
'vue'
,
'css!style/customerinfo_sub_page.css'
,
'css!style/customer_gj.css'
,
'jquery0325'
,
'common'
,
'lrz'
],
function
(
Vue
)
{
var
_applyId
=
getUrlParam
(
"applyid"
);
//获取GET参数
//var _token = localStorage.getItem('token');
var
_btnSave
=
$
(
'#btn_save'
);
var
_btnSaveTemp
=
$
(
'#btn_save_temp'
);
var
_bzObj
=
$
(
'#beizhu'
);
var
each_city
;
//商圈信息
var
_tokenB
=
getUrlParam
(
"token"
);
if
(
_token
!==
null
)
{
h5PageC
(
_token
,
function
(
data
)
{
loadMain
();
});
}
else
{
loadMain
();
var
_token
=
getUrlParam
(
"token"
);
Vue
.
component
(
'imgshow-component'
,
{
props
:
[
'data'
],
template
:
'#imgShow1'
,
data
:
function
()
{
return
{
deleteImgPrefix
:
'/app/images/search_gb.png'
}
function
loadMain
(){
$
.
ajax
({
url
:
ServerHost
+
"/applies/genjing_get"
,
data
:
{
"apply_id"
:
_applyId
,
"token"
:
_token
},
type
:
"POST"
,
dataType
:
"json"
,
beforeSend
:
function
()
{},
success
:
function
(
response
){
$
(
"#content1"
).
val
(
response
.
data
.
username
);
//第一决策人
//$("#area_city").val(response.data.ctiy);//请输入居住信息
//$("#area_area").val(response.data.district);//请输入居住信息
//$("#area_q").val(response.data.business);//请输入居住信息
$
(
"#content_area"
).
val
(
response
.
data
.
content_area
);
//请输入居住信息
$
(
"#content_area1"
).
val
(
response
.
data
.
other
);
//补充说明
each_city
=
response
.
data
.
business
;
//商圈信息
if
(
response
.
data
.
client
==
'A类(成交意愿较强)'
){
$
(
'#btn1'
).
attr
(
"checked"
,
true
);
}
if
(
response
.
data
.
client
==
'B类(成交意愿中等)'
){
$
(
'#btn2'
).
attr
(
"checked"
,
true
);
}
if
(
response
.
data
.
client
==
'C类(成交意愿较弱)'
){
$
(
'#btn3'
).
attr
(
"checked"
,
true
);
}
if
(
response
.
data
.
use
==
'轻餐饮'
){
$
(
'#btn4'
).
attr
(
"checked"
,
true
);
}
if
(
response
.
data
.
use
==
'重餐饮'
){
$
(
'#btn5'
).
attr
(
"checked"
,
true
);
}
if
(
response
.
data
.
use
==
'百货零售'
){
$
(
'#btn6'
).
attr
(
"checked"
,
true
);
}
if
(
response
.
data
.
use
==
'服装'
){
$
(
'#btn7'
).
attr
(
"checked"
,
true
);
methods
:
{
deleteimg
:
function
(){
this
.
$emit
(
'deleteimg'
,
{
message
:
this
.
data
.
name
});
}
if
(
response
.
data
.
use
==
'亲子教育'
){
$
(
'#btn8'
).
attr
(
"checked"
,
true
);
}
if
(
response
.
data
.
use
==
'休闲娱乐'
){
$
(
'#btn9'
).
attr
(
"checked"
,
true
);
}
if
(
response
.
data
.
area
==
'30㎡以内'
){
$
(
'#area1'
).
attr
(
"checked"
,
true
);
}
if
(
response
.
data
.
area
==
'30-60㎡'
){
$
(
'#area2'
).
attr
(
"checked"
,
true
);
}
if
(
response
.
data
.
area
==
'60-100㎡'
){
$
(
'#area3'
).
attr
(
"checked"
,
true
);
}
if
(
response
.
data
.
area
==
'100㎡以上'
){
$
(
'#area4'
).
attr
(
"checked"
,
true
);
}
if
(
response
.
data
.
supplement
==
'月租金10000以内'
){
$
(
'#money1'
).
attr
(
"checked"
,
true
);
}
if
(
response
.
data
.
supplement
==
'月租金10000-30000元'
){
$
(
'#money2'
).
attr
(
"checked"
,
true
);
}
if
(
response
.
data
.
supplement
==
'月租金30000元以上'
){
$
(
'#money3'
).
attr
(
"checked"
,
true
);
}
if
(
response
.
data
.
ctiy
){
getArea
(
response
.
data
.
ctiy
,
response
.
data
.
district
);
//获取市和区列表
}
else
{
getArea
(
"上海市"
,
"黄浦区"
);
//获取市和区列表
$
(
"#area_q"
).
val
(
each_city
);
}
},
error
:
function
(
XMLHttpRequest
,
textStatus
,
errorThrown
)
{
console
.
info
(
"XMLHttpRequest.status:"
+
XMLHttpRequest
.
status
);
console
.
info
(
"XMLHttpRequest.readyState:"
+
XMLHttpRequest
.
readyState
);
console
.
info
(
"textStatus:"
+
textStatus
);
}
});
function
getArea
(
_str1
,
_str2
){
//获取市和区列表
$
.
ajax
({
type
:
"post"
,
url
:
ServerHost
+
"/AppTab5/get_address"
,
var
vm
=
new
Vue
({
el
:
'#app'
,
data
:
{
'version'
:
fujuVersion
submitFlag
:
false
,
uploadImgFlag
:
false
,
userid
:
''
,
user_type
:
''
,
decision_maker
:
''
,
industry_type
:
''
,
area_requirement
:
''
,
price_requirement
:
''
,
other_area
:
''
,
explain
:
''
,
imgShowList
:
[]
},
timeout
:
10000
,
dataType
:
"json"
,
beforeSend
:
function
()
{},
success
:
function
(
data
)
{
if
(
typeof
data
===
'object'
)
{
var
_select1
=
$
(
"#area_city"
);
var
_select2
=
$
(
"#area_area"
);
var
_html
=
""
;
var
_html2
=
""
;
var
_first_list
=
''
;
//第二个下拉框默认的选项
$
.
each
(
data
.
data
,
function
(
i
,
v
)
{
var
_htmlTemp
=
'<option value="{0}" data-district="{1}">{0}</option>'
;
_html
+=
_htmlTemp
.
stringFormat
(
v
[
"name"
],
getList
(
v
[
'city'
]));
if
(
v
[
'name'
]
==
_str1
){
$
.
each
(
v
[
'city'
],
function
(
ii
,
vv
)
{
var
_htmlTemp4
=
'<option value="{0}">{0}</option>'
;
_first_list
+=
_htmlTemp4
.
stringFormat
(
vv
);
created
:
function
()
{
var
_this
=
this
;
document
.
body
.
style
.
display
=
'block'
;
if
(
_token
!==
null
)
{
h5PageC
(
_token
,
function
(
data
)
{
_this
.
loadMain
();
});
}
else
{
_this
.
loadMain
();
}
});
//先后顺序不能变
_select1
.
html
(
_html
);
_select2
.
html
(
_first_list
);
_select1
.
val
(
_str1
);
_select2
.
val
(
_str2
);
Area_q
(
_str2
);
//Area_q(_select2.val());
var
_temp_obj
=
_select1
.
find
(
'option[value="'
+
_select1
.
val
()
+
'"]'
);
_select1
.
change
(
function
(
e
){
_select2
.
html
(
''
);
var
_this
=
$
(
this
);
var
_temp_obj
=
_this
.
find
(
'option[value="'
+
_this
.
val
()
+
'"]'
);
console
.
log
(
_temp_obj
);
var
_temp_arr
=
_temp_obj
.
data
(
'district'
).
split
(
','
);
var
_html3
=
''
;
$
.
each
(
_temp_arr
,
function
(
i
,
v
)
{
var
_htmlTemp3
=
'<option value="{0}">{0}</option>'
;
_html3
+=
_htmlTemp3
.
stringFormat
(
v
);
});
_select2
.
html
(
_html3
);
_select2
.
change
();
});
_select2
.
change
(
function
(
e
){
Area_q
(
_select2
.
val
());
});
},
methods
:
{
loadMain
:
function
()
{
var
_this
=
this
;
_this
.
userid
=
localStorage
.
getItem
(
'id'
);
// $.ajax({
// url: ServerHostTempC + "/applies/genjing_get",
// data: {
// "apply_id": _applyId,
// "token":_token
// },
// type: "POST",
// dataType: "json",
// beforeSend: function () {},
// success: function (response){
// $("#content1").val(response.data.username);//第一决策人
// //$("#area_city").val(response.data.ctiy);//请输入居住信息
// //$("#area_area").val(response.data.district);//请输入居住信息
// //$("#area_q").val(response.data.business);//请输入居住信息
// $("#content_area").val(response.data.content_area);//请输入居住信息
// $("#content_area1").val(response.data.other);//补充说明
// each_city=response.data.business;//商圈信息
//
// if(response.data.client=='A类(成交意愿较强)'){
// $('#btn1').attr("checked",true);
// }
// if(response.data.client=='B类(成交意愿中等)'){
// $('#btn2').attr("checked",true);
// }
// if(response.data.client=='C类(成交意愿较弱)'){
// $('#btn3').attr("checked",true);
// }
// if(response.data.use=='轻餐饮'){
// $('#btn4').attr("checked",true);
// }
// if(response.data.use=='重餐饮'){
// $('#btn5').attr("checked",true);
// }
// if(response.data.use=='百货零售'){
// $('#btn6').attr("checked",true);
// }
// if(response.data.use=='服装'){
// $('#btn7').attr("checked",true);
// }
// if(response.data.use=='亲子教育'){
// $('#btn8').attr("checked",true);
// }
// if(response.data.use=='休闲娱乐'){
// $('#btn9').attr("checked",true);
// }
// if(response.data.area=='30㎡以内'){
// $('#area1').attr("checked",true);
// }
// if(response.data.area=='30-60㎡'){
// $('#area2').attr("checked",true);
// }
// if(response.data.area=='60-100㎡'){
// $('#area3').attr("checked",true);
// }
// if(response.data.area=='100㎡以上'){
// $('#area4').attr("checked",true);
// }
// if(response.data.supplement=='月租金10000以内'){
// $('#money1').attr("checked",true);
// }
// if(response.data.supplement=='月租金10000-30000元'){
// $('#money2').attr("checked",true);
// }
// if(response.data.supplement=='月租金30000元以上'){
// $('#money3').attr("checked",true);
// }
// if(response.data.ctiy){
// getArea(response.data.ctiy, response.data.district);//获取市和区列表
// }else{
// getArea("上海市","黄浦区");//获取市和区列表
// $("#area_q").val(each_city);
// }
// },
// error: function (XMLHttpRequest, textStatus, errorThrown) {
// console.info("XMLHttpRequest.status:"+XMLHttpRequest.status);
// console.info("XMLHttpRequest.readyState:"+XMLHttpRequest.readyState);
// console.info("textStatus:"+textStatus);
// }
// });
}
},
error
:
function
()
{
console
.
warn
(
"ajax error"
);
deleteimgMain
:
function
(
payload
)
{
console
.
log
(
payload
);
},
complete
:
function
(
xhr
,
textStatus
)
{
if
(
textStatus
===
"timeout"
)
{
//处理超时的逻辑
layer
.
open
({
content
:
'请求超时'
,
skin
:
'msg'
,
time
:
2
});
}
}
});
}
//获取商圈信息
function
Area_q
(
_str2
){
var
_area_q
=
""
;
var
isExit
=
false
;
uploadImg
:
function
(
e
)
{
var
_this
=
this
,
_fd
=
new
FormData
();
if
(
_this
.
uploadImgFlag
){
return
false
;
}
else
if
(
e
.
target
.
value
.
length
<=
0
){
layerTipsX
(
'您取消了上传'
);
return
false
;
}
else
{
_fd
.
append
(
'image'
,
e
.
target
.
files
[
0
]);
};
$
.
ajax
({
type
:
"GET"
,
url
:
ServerHost
+
"/AppTab5/get_address_business"
,
data
:
{
'district'
:
_str2
url
:
ServerHostTempC
+
"/chat/uploadImg"
,
type
:
'POST'
,
data
:
_fd
,
timeout
:
15000
,
beforeSend
:
function
()
{
_this
.
uploadImgFlag
=
true
;
},
timeout
:
10000
,
async
:
false
,
dataType
:
"json"
,
beforeSend
:
function
()
{},
success
:
function
(
response
)
{
$
.
each
(
response
[
'data'
],
function
(
i
,
item
)
{
if
(
item
==
each_city
)
{
isExit
=
true
;
}
_area_q
+=
'<option value="'
+
item
+
'">'
+
item
+
'</option>'
;
cache
:
false
,
processData
:
false
,
contentType
:
false
,
success
:
function
(
data
)
{
if
(
typeof
data
===
'object'
)
{
if
(
data
[
'code'
]
==
'200'
)
{
_this
.
imgShowList
.
push
({
'name'
:
ServerHostTempC
+
'/static/chat_image/'
+
data
.
data
.
name
.
replace
(
'
\
\'
,'
\
/
')
});
if
(
isExit
)
{
$
(
"#area_q"
).
html
(
_area_q
).
val
(
each_city
);
console.log(_this.imgShowList);
} else {
$
(
"#area_q"
).
html
(
_area_q
).
val
(
);
layerTipsX(data['
msg
']
);
}
} else {
layerTipsX('
数据错误
');
};
},
error: function() {
console
.
warn
(
"ajax error"
);
layerTipsX('
上传失败,请重试
'
);
},
complete: function(xhr, textStatus) {
if(textStatus === "timeout") {
//处理超时的逻辑
layer
.
open
({
content
:
'请求超时'
,
skin
:
'msg'
,
time
:
2
});
}
layerTipsX('
请求超时
,
请重试
');
};
_this.uploadImgFlag = false;
}
});
},
save: function() {
var _this = this;
if(_this.user_type === '' || _this.industry_type === '' || _this.area_requirement === '' || _this.price_requirement === '') {
layerTipsX('
必选项没有完成
');
return false;
};
function
getList
(
arr
){
return
arr
.
join
(
','
);
var _data = {
"report_id": _applyId,
'
agent_id
': _this.userid,
"user_type": _this.user_type,
"industry_type": _this.industry_type,
"area_requirement": _this.area_requirement,
"price_requirement": _this.price_requirement
};
if(_this.decision_maker !== '') {
_data.decision_maker = _this.decision_maker;
};
if(_this.other_area !== '') {
_data.other_area = _this.other_area;
};
if(_this.explain !== '') {
_data.explain = _this.explain;
};
_btnSave
.
click
(
function
(
e
)
{
e
.
preventDefault
();
e
.
stopPropagation
();
var
_client
=
$
(
"input[name='radio_a']:checked"
).
val
();
//客户类型
var
_username
=
$
(
"#content1"
).
val
();
//第一决策人是谁
var
_use
=
$
(
"input[name='radio_c']:checked"
).
val
();
//商铺做什么
var
_area
=
$
(
"input[name='radio_d']:checked"
).
val
();
//面积
var
_supplement
=
$
(
"input[name='radio_e']:checked"
).
val
();
// 价格
var
_other
=
$
(
"#content_area1"
).
val
();
//其它说明
var
area_city
=
$
(
"#area_city"
).
val
();
//请输入居住信息1
var
area_area
=
$
(
"#area_area"
).
val
();
//请输入居住信息2
var
area_q
=
$
(
"#area_q"
).
val
();
//请输入居住信息3
content_area
=
$
(
"#content_area"
).
val
();
//请输入居住信息4
var
_region
=
area_city
+
","
+
area_area
+
","
+
area_q
+
","
+
content_area
;
//总区域信息
if
(
_use
==
' '
){
alert
(
"必选项没有完成"
);
return
false
;
}
if
(
_area
==
' '
){
alert
(
"必选项没有完成"
);
return
false
;
}
if
(
_supplement
==
' '
){
alert
(
"必选项没有完成"
);
return
false
;
}
$.ajax({
url
:
ServerHost
+
"/applies/genjing_add_new"
,
data
:
{
"applyid"
:
_applyId
,
"region"
:
_region
,
"client"
:
_client
,
"username"
:
_username
,
"use"
:
_use
,
"area"
:
_area
,
"supplement"
:
_supplement
,
"other"
:
_other
,
"token"
:
_token
,
"transaction_status"
:
2
},
url: ServerHostTempC + "/broker/addFollowUp",
data: _data,
timeout: 30000,
type: "POST",
dataType: "json",
beforeSend: function() {
_btnSave
.
css
(
'display'
,
'none'
);
_btnSaveTemp
.
css
(
'display'
,
'block'
);
_this.submitFlag = true;
},
success: function(data) {
if(typeof data === '
object
') {
if
(
data
[
'status'
]
==
'1
'
)
{
//更新成功
if(data['
code
'] == '
200
') { //更新成功
layer.open({
content: '
添加成功
!
',
btn: ['
确定
'],
...
...
@@ -292,113 +230,31 @@ $(function(){
}
});
} else {
layer
.
open
({
content
:
data
.
msg
,
skin
:
'msg'
,
time
:
2
//2秒后自动关闭
});
layerTipsX(data['
msg
']);
}
} else {
layer
.
open
({
content
:
'数据错误'
,
skin
:
'msg'
,
time
:
2
});
};
},
error
:
function
()
{
layer
.
open
({
content
:
'error'
,
skin
:
'msg'
,
time
:
2
});
},
complete
:
function
(
xhr
,
textStatus
){
if
(
textStatus
===
"timeout"
){
//处理超时的逻辑
layer
.
open
({
content
:
'请求超时'
,
skin
:
'msg'
,
time
:
2
});
}
_btnSaveTemp
.
css
(
'display'
,
'none'
);
_btnSave
.
css
(
'display'
,
'block'
);
}
});
});
//图片
var
_addPicObj
=
$
(
"#add_pic"
);
var
_loadingObj
=
$
(
"#loading_animate"
);
$
(
'#input_img'
).
on
(
'change'
,
function
()
{
var
_this
=
$
(
this
);
// if($('.img-preview').length > 1) {
// layer.open({
// content: '只能上传一张图片,请先删除',
// skin: 'msg',
// time: 2
// });
// return false;
// };
if
(
_this
.
val
().
length
<=
0
)
{
layer
.
open
({
content
:
'您取消了上传'
,
skin
:
'msg'
,
time
:
2
});
return
;
layerTipsX('
数据错误
');
};
_addPicObj
.
css
(
"display"
,
"none"
);
_loadingObj
.
css
(
"display"
,
"block"
);
lrz
(
this
.
files
[
0
],
{
width
:
2000
})
.
then
(
function
(
rst
)
{
$
.
ajax
({
url
:
ServerHost
+
"/houseinfos/uploadagentverifyimgs2/Remarksimg"
,
type
:
'POST'
,
data
:
{
"img"
:
rst
.
base64
},
timeout
:
15000
,
beforeSend
:
function
()
{},
async
:
false
,
dataType
:
"html"
,
success
:
function
(
result
)
{
$
(
".upload-area"
).
prepend
(
result
);
},
error: function() {
layer
.
open
({
content
:
'上传失败,请重试'
,
skin
:
'msg'
,
time
:
2
});
layerTipsX('
error
');
},
complete: function(xhr, textStatus) {
if(textStatus === "timeout") {
//处理超时的逻辑
layer
.
open
({
content
:
'请求超时,请重试'
,
skin
:
'msg'
,
time
:
2
});
layerTipsX('
请求超时
');
};
_loadingObj
.
css
(
"display"
,
"none"
);
_addPicObj
.
css
(
"display"
,
"block"
);
_this.submitFlag = false;
}
});
})
.
catch
(
function
(
err
)
{
})
.
always
(
function
()
{
}
},
computed: {
//计算属性
reversedMessage: function() {
return this.message.split('').reverse().join('')
}
}
});
});
}
});
\ No newline at end of file
public/app/js/libs/css.min.js
0 → 100644
View file @
851b04ef
define
(
function
(){
if
(
"undefined"
==
typeof
window
)
return
{
load
:
function
(
e
,
t
,
n
){
n
()}};
var
e
=
document
.
getElementsByTagName
(
"head"
)[
0
],
t
=
window
.
navigator
.
userAgent
.
match
(
/Trident
\/([^
;
]
*
)
|AppleWebKit
\/([^
;
]
*
)
|Opera
\/([^
;
]
*
)
|rv
\:([^
;
]
*
)(
.*
?)
Gecko
\/([^
;
]
*
)
|MSIE
\s([^
;
]
*
)
|AndroidWebKit
\/([^
;
]
*
)
/
)
||
0
,
n
=!
1
,
r
=!
0
;
t
[
1
]
||
t
[
7
]?
n
=
parseInt
(
t
[
1
])
<
6
||
parseInt
(
t
[
7
])
<=
9
:
t
[
2
]
||
t
[
8
]?
r
=!
1
:
t
[
4
]
&&
(
n
=
parseInt
(
t
[
4
])
<
18
);
var
o
=
{};
o
.
pluginBuilder
=
"./css-builder"
;
var
a
,
i
,
s
,
l
=
function
(){
a
=
document
.
createElement
(
"style"
),
e
.
appendChild
(
a
),
i
=
a
.
styleSheet
||
a
.
sheet
},
u
=
0
,
d
=
[],
c
=
function
(
e
){
u
++
,
32
==
u
&&
(
l
(),
u
=
0
),
i
.
addImport
(
e
),
a
.
onload
=
function
(){
f
()}},
f
=
function
(){
s
();
var
e
=
d
.
shift
();
return
e
?(
s
=
e
[
1
],
void
c
(
e
[
0
])):
void
(
s
=
null
)},
h
=
function
(
e
,
t
){
if
(
i
&&
i
.
addImport
||
l
(),
i
&&
i
.
addImport
)
s
?
d
.
push
([
e
,
t
]):(
c
(
e
),
s
=
t
);
else
{
a
.
textContent
=
'@import "'
+
e
+
'";'
;
var
n
=
setInterval
(
function
(){
try
{
a
.
sheet
.
cssRules
,
clearInterval
(
n
),
t
()}
catch
(
e
){}},
10
)}},
p
=
function
(
t
,
n
){
var
o
=
document
.
createElement
(
"link"
);
if
(
o
.
type
=
"text/css"
,
o
.
rel
=
"stylesheet"
,
r
)
o
.
onload
=
function
(){
o
.
onload
=
function
(){},
setTimeout
(
n
,
7
)};
else
var
a
=
setInterval
(
function
(){
for
(
var
e
=
0
;
e
<
document
.
styleSheets
.
length
;
e
++
){
var
t
=
document
.
styleSheets
[
e
];
if
(
t
.
href
==
o
.
href
)
return
clearInterval
(
a
),
n
()}},
10
);
o
.
href
=
t
,
e
.
appendChild
(
o
)};
return
o
.
normalize
=
function
(
e
,
t
){
return
".css"
==
e
.
substr
(
e
.
length
-
4
,
4
)
&&
(
e
=
e
.
substr
(
0
,
e
.
length
-
4
)),
t
(
e
)},
o
.
load
=
function
(
e
,
t
,
r
){(
n
?
h
:
p
)(
t
.
toUrl
(
e
+
".css"
),
r
)},
o
});
public/app/js/libs/doT.js
0 → 100644
View file @
851b04ef
/* Laura Doktorova https://github.com/olado/doT */
(
function
(){
function
p
(
b
,
a
,
d
){
return
(
"string"
===
typeof
a
?
a
:
a
.
toString
()).
replace
(
b
.
define
||
h
,
function
(
a
,
c
,
e
,
g
){
0
===
c
.
indexOf
(
"def."
)
&&
(
c
=
c
.
substring
(
4
));
c
in
d
||
(
":"
===
e
?(
b
.
defineParams
&&
g
.
replace
(
b
.
defineParams
,
function
(
a
,
b
,
l
){
d
[
c
]
=
{
arg
:
b
,
text
:
l
}}),
c
in
d
||
(
d
[
c
]
=
g
)):(
new
Function
(
"def"
,
"def['"
+
c
+
"']="
+
g
))(
d
));
return
""
}).
replace
(
b
.
use
||
h
,
function
(
a
,
c
){
b
.
useParams
&&
(
c
=
c
.
replace
(
b
.
useParams
,
function
(
a
,
b
,
c
,
l
){
if
(
d
[
c
]
&&
d
[
c
].
arg
&&
l
)
return
a
=
(
c
+
":"
+
l
).
replace
(
/'|
\\
/g
,
"_"
),
d
.
__exp
=
d
.
__exp
||
{},
d
.
__exp
[
a
]
=
d
[
c
].
text
.
replace
(
new
RegExp
(
"(^|[^
\\
w$])"
+
d
[
c
].
arg
+
"([^
\\
w$])"
,
"g"
),
"$1"
+
l
+
"$2"
),
b
+
"def.__exp['"
+
a
+
"']"
}));
var
e
=
(
new
Function
(
"def"
,
"return "
+
c
))(
d
);
return
e
?
p
(
b
,
e
,
d
):
e
})}
function
k
(
b
){
return
b
.
replace
(
/
\\(
'|
\\)
/g
,
"$1"
).
replace
(
/
[\r\t\n]
/g
,
" "
)}
var
f
=
{
version
:
"1.0.3"
,
templateSettings
:{
evaluate
:
/
\{\{([\s\S]
+
?(\}?)
+
)\}\}
/g
,
interpolate
:
/
\{\{
=
([\s\S]
+
?)\}\}
/g
,
encode
:
/
\{\{
!
([\s\S]
+
?)\}\}
/g
,
use
:
/
\{\{
#
([\s\S]
+
?)\}\}
/g
,
useParams
:
/
(
^|
[^\w
$
])
def
(?:\.
|
\[[\'\"])([\w
$
\.]
+
)(?:[\'\"]\])?\s
*
\:\s
*
([\w
$
\.]
+|
\"[^\"]
+
\"
|
\'[^\']
+
\'
|
\{[^\}]
+
\})
/g
,
define
:
/
\{\{
##
\s
*
([\w\.
$
]
+
)\s
*
(\:
|=
)([\s\S]
+
?)
#
\}\}
/g
,
defineParams
:
/^
\s
*
([\w
$
]
+
)
:
([\s\S]
+
)
/
,
conditional
:
/
\{\{\?(\?)?\s
*
([\s\S]
*
?)\s
*
\}\}
/g
,
iterate
:
/
\{\{
~
\s
*
(?:\}\}
|
([\s\S]
+
?)\s
*
\:\s
*
([\w
$
]
+
)\s
*
(?:\:\s
*
([\w
$
]
+
))?\s
*
\}\})
/g
,
varname
:
"it"
,
strip
:
!
0
,
append
:
!
0
,
selfcontained
:
!
1
,
doNotSkipEncoded
:
!
1
},
template
:
void
0
,
compile
:
void
0
},
m
;
f
.
encodeHTMLSource
=
function
(
b
){
var
a
=
{
"&"
:
"&"
,
"<"
:
"<"
,
">"
:
">"
,
'"'
:
"""
,
"'"
:
"'"
,
"/"
:
"/"
},
d
=
b
?
/
[
&<>"'
\/]
/g
:
/&
(?!
#
?\w
+;
)
|<|>|"|'|
\/
/g
;
return
function
(
b
){
return
b
?
b
.
toString
().
replace
(
d
,
function
(
b
){
return
a
[
b
]
||
b
}):
""
}};
m
=
function
(){
return
this
||
(
0
,
eval
)(
"this"
)}();
"undefined"
!==
typeof
module
&&
module
.
exports
?
module
.
exports
=
f
:
"function"
===
typeof
define
&&
define
.
amd
?
define
(
function
(){
return
f
}):
m
.
doT
=
f
;
var
r
=
{
start
:
"'+("
,
end
:
")+'"
,
startencode
:
"'+encodeHTML("
},
s
=
{
start
:
"';out+=("
,
end
:
");out+='"
,
startencode
:
"';out+=encodeHTML("
},
h
=
/$^/
;
f
.
template
=
function
(
b
,
a
,
d
){
a
=
a
||
f
.
templateSettings
;
var
n
=
a
.
append
?
r
:
s
,
c
,
e
=
0
,
g
;
b
=
a
.
use
||
a
.
define
?
p
(
a
,
b
,
d
||
{}):
b
;
b
=
(
"var out='"
+
(
a
.
strip
?
b
.
replace
(
/
(
^|
\r
|
\n)\t
* +| +
\t
*
(\r
|
\n
|$
)
/g
,
" "
).
replace
(
/
\r
|
\n
|
\t
|
\/\*[\s\S]
*
?\*\/
/g
,
""
):
b
).
replace
(
/'|
\\
/g
,
"
\\
$&"
).
replace
(
a
.
interpolate
||
h
,
function
(
b
,
a
){
return
n
.
start
+
k
(
a
)
+
n
.
end
}).
replace
(
a
.
encode
||
h
,
function
(
b
,
a
){
c
=!
0
;
return
n
.
startencode
+
k
(
a
)
+
n
.
end
}).
replace
(
a
.
conditional
||
h
,
function
(
b
,
a
,
c
){
return
a
?
c
?
"';}else if("
+
k
(
c
)
+
"){out+='"
:
"';}else{out+='"
:
c
?
"';if("
+
k
(
c
)
+
"){out+='"
:
"';}out+='"
}).
replace
(
a
.
iterate
||
h
,
function
(
b
,
a
,
c
,
d
){
if
(
!
a
)
return
"';} } out+='"
;
e
+=
1
;
g
=
d
||
"i"
+
e
;
a
=
k
(
a
);
return
"';var arr"
+
e
+
"="
+
a
+
";if(arr"
+
e
+
"){var "
+
c
+
","
+
g
+
"=-1,l"
+
e
+
"=arr"
+
e
+
".length-1;while("
+
g
+
"<l"
+
e
+
"){"
+
c
+
"=arr"
+
e
+
"["
+
g
+
"+=1];out+='"
}).
replace
(
a
.
evaluate
||
h
,
function
(
a
,
b
){
return
"';"
+
k
(
b
)
+
"out+='"
})
+
"';return out;"
).
replace
(
/
\n
/g
,
"
\\
n"
).
replace
(
/
\t
/g
,
"
\\
t"
).
replace
(
/
\r
/g
,
"
\\
r"
).
replace
(
/
(\s
|;|
\}
|^|
\{)
out
\+
='';/g
,
"$1"
).
replace
(
/
\+
''/g
,
""
);
c
&&
(
a
.
selfcontained
||!
m
||
m
.
_encodeHTML
||
(
m
.
_encodeHTML
=
f
.
encodeHTMLSource
(
a
.
doNotSkipEncoded
)),
b
=
"var encodeHTML = typeof _encodeHTML !== 'undefined' ? _encodeHTML : ("
+
f
.
encodeHTMLSource
.
toString
()
+
"("
+
(
a
.
doNotSkipEncoded
||
""
)
+
"));"
+
b
);
try
{
return
new
Function
(
a
.
varname
,
b
)}
catch
(
q
){
throw
"undefined"
!==
typeof
console
&&
console
.
log
(
"Could not create a template function: "
+
b
),
q
;}};
f
.
compile
=
function
(
b
,
a
){
return
f
.
template
(
b
,
null
,
a
)}})();
public/app/js/libs/jquery-0325-min.js
0 → 100644
View file @
851b04ef
/*! 动态计算屏幕的宽度,从而得到网页的fontSize大小 */
;
!
function
(
n
,
e
){
n
.
documentElement
.
style
.
fontSize
=
100
*
(
n
.
documentElement
.
clientWidth
/
750
)
+
'px'
;}(
document
,
window
);
/*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
!
function
(
a
,
b
){
"object"
==
typeof
module
&&
"object"
==
typeof
module
.
exports
?
module
.
exports
=
a
.
document
?
b
(
a
,
!
0
):
function
(
a
){
if
(
!
a
.
document
)
throw
new
Error
(
"jQuery requires a window with a document"
);
return
b
(
a
)}:
b
(
a
)}(
"undefined"
!=
typeof
window
?
window
:
this
,
function
(
a
,
b
){
var
c
=
[],
d
=
c
.
slice
,
e
=
c
.
concat
,
f
=
c
.
push
,
g
=
c
.
indexOf
,
h
=
{},
i
=
h
.
toString
,
j
=
h
.
hasOwnProperty
,
k
=
{},
l
=
a
.
document
,
m
=
"2.1.1"
,
n
=
function
(
a
,
b
){
return
new
n
.
fn
.
init
(
a
,
b
)},
o
=
/^
[\s\u
FEFF
\x
A0
]
+|
[\s\u
FEFF
\x
A0
]
+$/g
,
p
=
/^-ms-/
,
q
=
/-
([\d
a-z
])
/gi
,
r
=
function
(
a
,
b
){
return
b
.
toUpperCase
()};
n
.
fn
=
n
.
prototype
=
{
jquery
:
m
,
constructor
:
n
,
selector
:
""
,
length
:
0
,
toArray
:
function
(){
return
d
.
call
(
this
)},
get
:
function
(
a
){
return
null
!=
a
?
0
>
a
?
this
[
a
+
this
.
length
]:
this
[
a
]:
d
.
call
(
this
)},
pushStack
:
function
(
a
){
var
b
=
n
.
merge
(
this
.
constructor
(),
a
);
return
b
.
prevObject
=
this
,
b
.
context
=
this
.
context
,
b
},
each
:
function
(
a
,
b
){
return
n
.
each
(
this
,
a
,
b
)},
map
:
function
(
a
){
return
this
.
pushStack
(
n
.
map
(
this
,
function
(
b
,
c
){
return
a
.
call
(
b
,
c
,
b
)}))},
slice
:
function
(){
return
this
.
pushStack
(
d
.
apply
(
this
,
arguments
))},
first
:
function
(){
return
this
.
eq
(
0
)},
last
:
function
(){
return
this
.
eq
(
-
1
)},
eq
:
function
(
a
){
var
b
=
this
.
length
,
c
=+
a
+
(
0
>
a
?
b
:
0
);
return
this
.
pushStack
(
c
>=
0
&&
b
>
c
?[
this
[
c
]]:[])},
end
:
function
(){
return
this
.
prevObject
||
this
.
constructor
(
null
)},
push
:
f
,
sort
:
c
.
sort
,
splice
:
c
.
splice
},
n
.
extend
=
n
.
fn
.
extend
=
function
(){
var
a
,
b
,
c
,
d
,
e
,
f
,
g
=
arguments
[
0
]
||
{},
h
=
1
,
i
=
arguments
.
length
,
j
=!
1
;
for
(
"boolean"
==
typeof
g
&&
(
j
=
g
,
g
=
arguments
[
h
]
||
{},
h
++
),
"object"
==
typeof
g
||
n
.
isFunction
(
g
)
||
(
g
=
{}),
h
===
i
&&
(
g
=
this
,
h
--
);
i
>
h
;
h
++
)
if
(
null
!=
(
a
=
arguments
[
h
]))
for
(
b
in
a
)
c
=
g
[
b
],
d
=
a
[
b
],
g
!==
d
&&
(
j
&&
d
&&
(
n
.
isPlainObject
(
d
)
||
(
e
=
n
.
isArray
(
d
)))?(
e
?(
e
=!
1
,
f
=
c
&&
n
.
isArray
(
c
)?
c
:[]):
f
=
c
&&
n
.
isPlainObject
(
c
)?
c
:{},
g
[
b
]
=
n
.
extend
(
j
,
f
,
d
)):
void
0
!==
d
&&
(
g
[
b
]
=
d
));
return
g
},
n
.
extend
({
expando
:
"jQuery"
+
(
m
+
Math
.
random
()).
replace
(
/
\D
/g
,
""
),
isReady
:
!
0
,
error
:
function
(
a
){
throw
new
Error
(
a
)},
noop
:
function
(){},
isFunction
:
function
(
a
){
return
"function"
===
n
.
type
(
a
)},
isArray
:
Array
.
isArray
,
isWindow
:
function
(
a
){
return
null
!=
a
&&
a
===
a
.
window
},
isNumeric
:
function
(
a
){
return
!
n
.
isArray
(
a
)
&&
a
-
parseFloat
(
a
)
>=
0
},
isPlainObject
:
function
(
a
){
return
"object"
!==
n
.
type
(
a
)
||
a
.
nodeType
||
n
.
isWindow
(
a
)?
!
1
:
a
.
constructor
&&!
j
.
call
(
a
.
constructor
.
prototype
,
"isPrototypeOf"
)?
!
1
:
!
0
},
isEmptyObject
:
function
(
a
){
var
b
;
for
(
b
in
a
)
return
!
1
;
return
!
0
},
type
:
function
(
a
){
return
null
==
a
?
a
+
""
:
"object"
==
typeof
a
||
"function"
==
typeof
a
?
h
[
i
.
call
(
a
)]
||
"object"
:
typeof
a
},
globalEval
:
function
(
a
){
var
b
,
c
=
eval
;
a
=
n
.
trim
(
a
),
a
&&
(
1
===
a
.
indexOf
(
"use strict"
)?(
b
=
l
.
createElement
(
"script"
),
b
.
text
=
a
,
l
.
head
.
appendChild
(
b
).
parentNode
.
removeChild
(
b
)):
c
(
a
))},
camelCase
:
function
(
a
){
return
a
.
replace
(
p
,
"ms-"
).
replace
(
q
,
r
)},
nodeName
:
function
(
a
,
b
){
return
a
.
nodeName
&&
a
.
nodeName
.
toLowerCase
()
===
b
.
toLowerCase
()},
each
:
function
(
a
,
b
,
c
){
var
d
,
e
=
0
,
f
=
a
.
length
,
g
=
s
(
a
);
if
(
c
){
if
(
g
){
for
(;
f
>
e
;
e
++
)
if
(
d
=
b
.
apply
(
a
[
e
],
c
),
d
===!
1
)
break
}
else
for
(
e
in
a
)
if
(
d
=
b
.
apply
(
a
[
e
],
c
),
d
===!
1
)
break
}
else
if
(
g
){
for
(;
f
>
e
;
e
++
)
if
(
d
=
b
.
call
(
a
[
e
],
e
,
a
[
e
]),
d
===!
1
)
break
}
else
for
(
e
in
a
)
if
(
d
=
b
.
call
(
a
[
e
],
e
,
a
[
e
]),
d
===!
1
)
break
;
return
a
},
trim
:
function
(
a
){
return
null
==
a
?
""
:(
a
+
""
).
replace
(
o
,
""
)},
makeArray
:
function
(
a
,
b
){
var
c
=
b
||
[];
return
null
!=
a
&&
(
s
(
Object
(
a
))?
n
.
merge
(
c
,
"string"
==
typeof
a
?[
a
]:
a
):
f
.
call
(
c
,
a
)),
c
},
inArray
:
function
(
a
,
b
,
c
){
return
null
==
b
?
-
1
:
g
.
call
(
b
,
a
,
c
)},
merge
:
function
(
a
,
b
){
for
(
var
c
=+
b
.
length
,
d
=
0
,
e
=
a
.
length
;
c
>
d
;
d
++
)
a
[
e
++
]
=
b
[
d
];
return
a
.
length
=
e
,
a
},
grep
:
function
(
a
,
b
,
c
){
for
(
var
d
,
e
=
[],
f
=
0
,
g
=
a
.
length
,
h
=!
c
;
g
>
f
;
f
++
)
d
=!
b
(
a
[
f
],
f
),
d
!==
h
&&
e
.
push
(
a
[
f
]);
return
e
},
map
:
function
(
a
,
b
,
c
){
var
d
,
f
=
0
,
g
=
a
.
length
,
h
=
s
(
a
),
i
=
[];
if
(
h
)
for
(;
g
>
f
;
f
++
)
d
=
b
(
a
[
f
],
f
,
c
),
null
!=
d
&&
i
.
push
(
d
);
else
for
(
f
in
a
)
d
=
b
(
a
[
f
],
f
,
c
),
null
!=
d
&&
i
.
push
(
d
);
return
e
.
apply
([],
i
)},
guid
:
1
,
proxy
:
function
(
a
,
b
){
var
c
,
e
,
f
;
return
"string"
==
typeof
b
&&
(
c
=
a
[
b
],
b
=
a
,
a
=
c
),
n
.
isFunction
(
a
)?(
e
=
d
.
call
(
arguments
,
2
),
f
=
function
(){
return
a
.
apply
(
b
||
this
,
e
.
concat
(
d
.
call
(
arguments
)))},
f
.
guid
=
a
.
guid
=
a
.
guid
||
n
.
guid
++
,
f
):
void
0
},
now
:
Date
.
now
,
support
:
k
}),
n
.
each
(
"Boolean Number String Function Array Date RegExp Object Error"
.
split
(
" "
),
function
(
a
,
b
){
h
[
"[object "
+
b
+
"]"
]
=
b
.
toLowerCase
()});
function
s
(
a
){
var
b
=
a
.
length
,
c
=
n
.
type
(
a
);
return
"function"
===
c
||
n
.
isWindow
(
a
)?
!
1
:
1
===
a
.
nodeType
&&
b
?
!
0
:
"array"
===
c
||
0
===
b
||
"number"
==
typeof
b
&&
b
>
0
&&
b
-
1
in
a
}
var
t
=
function
(
a
){
var
b
,
c
,
d
,
e
,
f
,
g
,
h
,
i
,
j
,
k
,
l
,
m
,
n
,
o
,
p
,
q
,
r
,
s
,
t
,
u
=
"sizzle"
+-
new
Date
,
v
=
a
.
document
,
w
=
0
,
x
=
0
,
y
=
gb
(),
z
=
gb
(),
A
=
gb
(),
B
=
function
(
a
,
b
){
return
a
===
b
&&
(
l
=!
0
),
0
},
C
=
"undefined"
,
D
=
1
<<
31
,
E
=
{}.
hasOwnProperty
,
F
=
[],
G
=
F
.
pop
,
H
=
F
.
push
,
I
=
F
.
push
,
J
=
F
.
slice
,
K
=
F
.
indexOf
||
function
(
a
){
for
(
var
b
=
0
,
c
=
this
.
length
;
c
>
b
;
b
++
)
if
(
this
[
b
]
===
a
)
return
b
;
return
-
1
},
L
=
"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped"
,
M
=
"[
\\
x20
\\
t
\\
r
\\
n
\\
f]"
,
N
=
"(?:
\\\\
.|[
\\
w-]|[^
\\
x00-
\\
xa0])+"
,
O
=
N
.
replace
(
"w"
,
"w#"
),
P
=
"
\\
["
+
M
+
"*("
+
N
+
")(?:"
+
M
+
"*([*^$|!~]?=)"
+
M
+
"*(?:'((?:
\\\\
.|[^
\\\\
'])*)'|
\"
((?:
\\\\
.|[^
\\\\
\"
])*)
\"
|("
+
O
+
"))|)"
+
M
+
"*
\\
]"
,
Q
=
":("
+
N
+
")(?:
\\
((('((?:
\\\\
.|[^
\\\\
'])*)'|
\"
((?:
\\\\
.|[^
\\\\
\"
])*)
\"
)|((?:
\\\\
.|[^
\\\\
()[
\\
]]|"
+
P
+
")*)|.*)
\\
)|)"
,
R
=
new
RegExp
(
"^"
+
M
+
"+|((?:^|[^
\\\\
])(?:
\\\\
.)*)"
+
M
+
"+$"
,
"g"
),
S
=
new
RegExp
(
"^"
+
M
+
"*,"
+
M
+
"*"
),
T
=
new
RegExp
(
"^"
+
M
+
"*([>+~]|"
+
M
+
")"
+
M
+
"*"
),
U
=
new
RegExp
(
"="
+
M
+
"*([^
\\
]'
\"
]*?)"
+
M
+
"*
\\
]"
,
"g"
),
V
=
new
RegExp
(
Q
),
W
=
new
RegExp
(
"^"
+
O
+
"$"
),
X
=
{
ID
:
new
RegExp
(
"^#("
+
N
+
")"
),
CLASS
:
new
RegExp
(
"^
\\
.("
+
N
+
")"
),
TAG
:
new
RegExp
(
"^("
+
N
.
replace
(
"w"
,
"w*"
)
+
")"
),
ATTR
:
new
RegExp
(
"^"
+
P
),
PSEUDO
:
new
RegExp
(
"^"
+
Q
),
CHILD
:
new
RegExp
(
"^:(only|first|last|nth|nth-last)-(child|of-type)(?:
\\
("
+
M
+
"*(even|odd|(([+-]|)(
\\
d*)n|)"
+
M
+
"*(?:([+-]|)"
+
M
+
"*(
\\
d+)|))"
+
M
+
"*
\\
)|)"
,
"i"
),
bool
:
new
RegExp
(
"^(?:"
+
L
+
")$"
,
"i"
),
needsContext
:
new
RegExp
(
"^"
+
M
+
"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:
\\
("
+
M
+
"*((?:-
\\
d)?
\\
d*)"
+
M
+
"*
\\
)|)(?=[^-]|$)"
,
"i"
)},
Y
=
/^
(?:
input|select|textarea|button
)
$/i
,
Z
=
/^h
\d
$/i
,
$
=
/^
[^
{
]
+
\{\s
*
\[
native
\w
/
,
_
=
/^
(?:
#
([\w
-
]
+
)
|
(\w
+
)
|
\.([\w
-
]
+
))
$/
,
ab
=
/
[
+~
]
/
,
bb
=
/'|
\\
/g
,
cb
=
new
RegExp
(
"
\\\\
([
\\
da-f]{1,6}"
+
M
+
"?|("
+
M
+
")|.)"
,
"ig"
),
db
=
function
(
a
,
b
,
c
){
var
d
=
"0x"
+
b
-
65536
;
return
d
!==
d
||
c
?
b
:
0
>
d
?
String
.
fromCharCode
(
d
+
65536
):
String
.
fromCharCode
(
d
>>
10
|
55296
,
1023
&
d
|
56320
)};
try
{
I
.
apply
(
F
=
J
.
call
(
v
.
childNodes
),
v
.
childNodes
),
F
[
v
.
childNodes
.
length
].
nodeType
}
catch
(
eb
){
I
=
{
apply
:
F
.
length
?
function
(
a
,
b
){
H
.
apply
(
a
,
J
.
call
(
b
))}:
function
(
a
,
b
){
var
c
=
a
.
length
,
d
=
0
;
while
(
a
[
c
++
]
=
b
[
d
++
]);
a
.
length
=
c
-
1
}}}
function
fb
(
a
,
b
,
d
,
e
){
var
f
,
h
,
j
,
k
,
l
,
o
,
r
,
s
,
w
,
x
;
if
((
b
?
b
.
ownerDocument
||
b
:
v
)
!==
n
&&
m
(
b
),
b
=
b
||
n
,
d
=
d
||
[],
!
a
||
"string"
!=
typeof
a
)
return
d
;
if
(
1
!==
(
k
=
b
.
nodeType
)
&&
9
!==
k
)
return
[];
if
(
p
&&!
e
){
if
(
f
=
_
.
exec
(
a
))
if
(
j
=
f
[
1
]){
if
(
9
===
k
){
if
(
h
=
b
.
getElementById
(
j
),
!
h
||!
h
.
parentNode
)
return
d
;
if
(
h
.
id
===
j
)
return
d
.
push
(
h
),
d
}
else
if
(
b
.
ownerDocument
&&
(
h
=
b
.
ownerDocument
.
getElementById
(
j
))
&&
t
(
b
,
h
)
&&
h
.
id
===
j
)
return
d
.
push
(
h
),
d
}
else
{
if
(
f
[
2
])
return
I
.
apply
(
d
,
b
.
getElementsByTagName
(
a
)),
d
;
if
((
j
=
f
[
3
])
&&
c
.
getElementsByClassName
&&
b
.
getElementsByClassName
)
return
I
.
apply
(
d
,
b
.
getElementsByClassName
(
j
)),
d
}
if
(
c
.
qsa
&&
(
!
q
||!
q
.
test
(
a
))){
if
(
s
=
r
=
u
,
w
=
b
,
x
=
9
===
k
&&
a
,
1
===
k
&&
"object"
!==
b
.
nodeName
.
toLowerCase
()){
o
=
g
(
a
),(
r
=
b
.
getAttribute
(
"id"
))?
s
=
r
.
replace
(
bb
,
"
\\
$&"
):
b
.
setAttribute
(
"id"
,
s
),
s
=
"[id='"
+
s
+
"'] "
,
l
=
o
.
length
;
while
(
l
--
)
o
[
l
]
=
s
+
qb
(
o
[
l
]);
w
=
ab
.
test
(
a
)
&&
ob
(
b
.
parentNode
)
||
b
,
x
=
o
.
join
(
","
)}
if
(
x
)
try
{
return
I
.
apply
(
d
,
w
.
querySelectorAll
(
x
)),
d
}
catch
(
y
){}
finally
{
r
||
b
.
removeAttribute
(
"id"
)}}}
return
i
(
a
.
replace
(
R
,
"$1"
),
b
,
d
,
e
)}
function
gb
(){
var
a
=
[];
function
b
(
c
,
e
){
return
a
.
push
(
c
+
" "
)
>
d
.
cacheLength
&&
delete
b
[
a
.
shift
()],
b
[
c
+
" "
]
=
e
}
return
b
}
function
hb
(
a
){
return
a
[
u
]
=!
0
,
a
}
function
ib
(
a
){
var
b
=
n
.
createElement
(
"div"
);
try
{
return
!!
a
(
b
)}
catch
(
c
){
return
!
1
}
finally
{
b
.
parentNode
&&
b
.
parentNode
.
removeChild
(
b
),
b
=
null
}}
function
jb
(
a
,
b
){
var
c
=
a
.
split
(
"|"
),
e
=
a
.
length
;
while
(
e
--
)
d
.
attrHandle
[
c
[
e
]]
=
b
}
function
kb
(
a
,
b
){
var
c
=
b
&&
a
,
d
=
c
&&
1
===
a
.
nodeType
&&
1
===
b
.
nodeType
&&
(
~
b
.
sourceIndex
||
D
)
-
(
~
a
.
sourceIndex
||
D
);
if
(
d
)
return
d
;
if
(
c
)
while
(
c
=
c
.
nextSibling
)
if
(
c
===
b
)
return
-
1
;
return
a
?
1
:
-
1
}
function
lb
(
a
){
return
function
(
b
){
var
c
=
b
.
nodeName
.
toLowerCase
();
return
"input"
===
c
&&
b
.
type
===
a
}}
function
mb
(
a
){
return
function
(
b
){
var
c
=
b
.
nodeName
.
toLowerCase
();
return
(
"input"
===
c
||
"button"
===
c
)
&&
b
.
type
===
a
}}
function
nb
(
a
){
return
hb
(
function
(
b
){
return
b
=+
b
,
hb
(
function
(
c
,
d
){
var
e
,
f
=
a
([],
c
.
length
,
b
),
g
=
f
.
length
;
while
(
g
--
)
c
[
e
=
f
[
g
]]
&&
(
c
[
e
]
=!
(
d
[
e
]
=
c
[
e
]))})})}
function
ob
(
a
){
return
a
&&
typeof
a
.
getElementsByTagName
!==
C
&&
a
}
c
=
fb
.
support
=
{},
f
=
fb
.
isXML
=
function
(
a
){
var
b
=
a
&&
(
a
.
ownerDocument
||
a
).
documentElement
;
return
b
?
"HTML"
!==
b
.
nodeName
:
!
1
},
m
=
fb
.
setDocument
=
function
(
a
){
var
b
,
e
=
a
?
a
.
ownerDocument
||
a
:
v
,
g
=
e
.
defaultView
;
return
e
!==
n
&&
9
===
e
.
nodeType
&&
e
.
documentElement
?(
n
=
e
,
o
=
e
.
documentElement
,
p
=!
f
(
e
),
g
&&
g
!==
g
.
top
&&
(
g
.
addEventListener
?
g
.
addEventListener
(
"unload"
,
function
(){
m
()},
!
1
):
g
.
attachEvent
&&
g
.
attachEvent
(
"onunload"
,
function
(){
m
()})),
c
.
attributes
=
ib
(
function
(
a
){
return
a
.
className
=
"i"
,
!
a
.
getAttribute
(
"className"
)}),
c
.
getElementsByTagName
=
ib
(
function
(
a
){
return
a
.
appendChild
(
e
.
createComment
(
""
)),
!
a
.
getElementsByTagName
(
"*"
).
length
}),
c
.
getElementsByClassName
=
$
.
test
(
e
.
getElementsByClassName
)
&&
ib
(
function
(
a
){
return
a
.
innerHTML
=
"<div class='a'></div><div class='a i'></div>"
,
a
.
firstChild
.
className
=
"i"
,
2
===
a
.
getElementsByClassName
(
"i"
).
length
}),
c
.
getById
=
ib
(
function
(
a
){
return
o
.
appendChild
(
a
).
id
=
u
,
!
e
.
getElementsByName
||!
e
.
getElementsByName
(
u
).
length
}),
c
.
getById
?(
d
.
find
.
ID
=
function
(
a
,
b
){
if
(
typeof
b
.
getElementById
!==
C
&&
p
){
var
c
=
b
.
getElementById
(
a
);
return
c
&&
c
.
parentNode
?[
c
]:[]}},
d
.
filter
.
ID
=
function
(
a
){
var
b
=
a
.
replace
(
cb
,
db
);
return
function
(
a
){
return
a
.
getAttribute
(
"id"
)
===
b
}}):(
delete
d
.
find
.
ID
,
d
.
filter
.
ID
=
function
(
a
){
var
b
=
a
.
replace
(
cb
,
db
);
return
function
(
a
){
var
c
=
typeof
a
.
getAttributeNode
!==
C
&&
a
.
getAttributeNode
(
"id"
);
return
c
&&
c
.
value
===
b
}}),
d
.
find
.
TAG
=
c
.
getElementsByTagName
?
function
(
a
,
b
){
return
typeof
b
.
getElementsByTagName
!==
C
?
b
.
getElementsByTagName
(
a
):
void
0
}:
function
(
a
,
b
){
var
c
,
d
=
[],
e
=
0
,
f
=
b
.
getElementsByTagName
(
a
);
if
(
"*"
===
a
){
while
(
c
=
f
[
e
++
])
1
===
c
.
nodeType
&&
d
.
push
(
c
);
return
d
}
return
f
},
d
.
find
.
CLASS
=
c
.
getElementsByClassName
&&
function
(
a
,
b
){
return
typeof
b
.
getElementsByClassName
!==
C
&&
p
?
b
.
getElementsByClassName
(
a
):
void
0
},
r
=
[],
q
=
[],(
c
.
qsa
=
$
.
test
(
e
.
querySelectorAll
))
&&
(
ib
(
function
(
a
){
a
.
innerHTML
=
"<select msallowclip=''><option selected=''></option></select>"
,
a
.
querySelectorAll
(
"[msallowclip^='']"
).
length
&&
q
.
push
(
"[*^$]="
+
M
+
"*(?:''|
\"\"
)"
),
a
.
querySelectorAll
(
"[selected]"
).
length
||
q
.
push
(
"
\\
["
+
M
+
"*(?:value|"
+
L
+
")"
),
a
.
querySelectorAll
(
":checked"
).
length
||
q
.
push
(
":checked"
)}),
ib
(
function
(
a
){
var
b
=
e
.
createElement
(
"input"
);
b
.
setAttribute
(
"type"
,
"hidden"
),
a
.
appendChild
(
b
).
setAttribute
(
"name"
,
"D"
),
a
.
querySelectorAll
(
"[name=d]"
).
length
&&
q
.
push
(
"name"
+
M
+
"*[*^$|!~]?="
),
a
.
querySelectorAll
(
":enabled"
).
length
||
q
.
push
(
":enabled"
,
":disabled"
),
a
.
querySelectorAll
(
"*,:x"
),
q
.
push
(
",.*:"
)})),(
c
.
matchesSelector
=
$
.
test
(
s
=
o
.
matches
||
o
.
webkitMatchesSelector
||
o
.
mozMatchesSelector
||
o
.
oMatchesSelector
||
o
.
msMatchesSelector
))
&&
ib
(
function
(
a
){
c
.
disconnectedMatch
=
s
.
call
(
a
,
"div"
),
s
.
call
(
a
,
"[s!='']:x"
),
r
.
push
(
"!="
,
Q
)}),
q
=
q
.
length
&&
new
RegExp
(
q
.
join
(
"|"
)),
r
=
r
.
length
&&
new
RegExp
(
r
.
join
(
"|"
)),
b
=
$
.
test
(
o
.
compareDocumentPosition
),
t
=
b
||
$
.
test
(
o
.
contains
)?
function
(
a
,
b
){
var
c
=
9
===
a
.
nodeType
?
a
.
documentElement
:
a
,
d
=
b
&&
b
.
parentNode
;
return
a
===
d
||!
(
!
d
||
1
!==
d
.
nodeType
||!
(
c
.
contains
?
c
.
contains
(
d
):
a
.
compareDocumentPosition
&&
16
&
a
.
compareDocumentPosition
(
d
)))}:
function
(
a
,
b
){
if
(
b
)
while
(
b
=
b
.
parentNode
)
if
(
b
===
a
)
return
!
0
;
return
!
1
},
B
=
b
?
function
(
a
,
b
){
if
(
a
===
b
)
return
l
=!
0
,
0
;
var
d
=!
a
.
compareDocumentPosition
-!
b
.
compareDocumentPosition
;
return
d
?
d
:(
d
=
(
a
.
ownerDocument
||
a
)
===
(
b
.
ownerDocument
||
b
)?
a
.
compareDocumentPosition
(
b
):
1
,
1
&
d
||!
c
.
sortDetached
&&
b
.
compareDocumentPosition
(
a
)
===
d
?
a
===
e
||
a
.
ownerDocument
===
v
&&
t
(
v
,
a
)?
-
1
:
b
===
e
||
b
.
ownerDocument
===
v
&&
t
(
v
,
b
)?
1
:
k
?
K
.
call
(
k
,
a
)
-
K
.
call
(
k
,
b
):
0
:
4
&
d
?
-
1
:
1
)}:
function
(
a
,
b
){
if
(
a
===
b
)
return
l
=!
0
,
0
;
var
c
,
d
=
0
,
f
=
a
.
parentNode
,
g
=
b
.
parentNode
,
h
=
[
a
],
i
=
[
b
];
if
(
!
f
||!
g
)
return
a
===
e
?
-
1
:
b
===
e
?
1
:
f
?
-
1
:
g
?
1
:
k
?
K
.
call
(
k
,
a
)
-
K
.
call
(
k
,
b
):
0
;
if
(
f
===
g
)
return
kb
(
a
,
b
);
c
=
a
;
while
(
c
=
c
.
parentNode
)
h
.
unshift
(
c
);
c
=
b
;
while
(
c
=
c
.
parentNode
)
i
.
unshift
(
c
);
while
(
h
[
d
]
===
i
[
d
])
d
++
;
return
d
?
kb
(
h
[
d
],
i
[
d
]):
h
[
d
]
===
v
?
-
1
:
i
[
d
]
===
v
?
1
:
0
},
e
):
n
},
fb
.
matches
=
function
(
a
,
b
){
return
fb
(
a
,
null
,
null
,
b
)},
fb
.
matchesSelector
=
function
(
a
,
b
){
if
((
a
.
ownerDocument
||
a
)
!==
n
&&
m
(
a
),
b
=
b
.
replace
(
U
,
"='$1']"
),
!
(
!
c
.
matchesSelector
||!
p
||
r
&&
r
.
test
(
b
)
||
q
&&
q
.
test
(
b
)))
try
{
var
d
=
s
.
call
(
a
,
b
);
if
(
d
||
c
.
disconnectedMatch
||
a
.
document
&&
11
!==
a
.
document
.
nodeType
)
return
d
}
catch
(
e
){}
return
fb
(
b
,
n
,
null
,[
a
]).
length
>
0
},
fb
.
contains
=
function
(
a
,
b
){
return
(
a
.
ownerDocument
||
a
)
!==
n
&&
m
(
a
),
t
(
a
,
b
)},
fb
.
attr
=
function
(
a
,
b
){(
a
.
ownerDocument
||
a
)
!==
n
&&
m
(
a
);
var
e
=
d
.
attrHandle
[
b
.
toLowerCase
()],
f
=
e
&&
E
.
call
(
d
.
attrHandle
,
b
.
toLowerCase
())?
e
(
a
,
b
,
!
p
):
void
0
;
return
void
0
!==
f
?
f
:
c
.
attributes
||!
p
?
a
.
getAttribute
(
b
):(
f
=
a
.
getAttributeNode
(
b
))
&&
f
.
specified
?
f
.
value
:
null
},
fb
.
error
=
function
(
a
){
throw
new
Error
(
"Syntax error, unrecognized expression: "
+
a
)},
fb
.
uniqueSort
=
function
(
a
){
var
b
,
d
=
[],
e
=
0
,
f
=
0
;
if
(
l
=!
c
.
detectDuplicates
,
k
=!
c
.
sortStable
&&
a
.
slice
(
0
),
a
.
sort
(
B
),
l
){
while
(
b
=
a
[
f
++
])
b
===
a
[
f
]
&&
(
e
=
d
.
push
(
f
));
while
(
e
--
)
a
.
splice
(
d
[
e
],
1
)}
return
k
=
null
,
a
},
e
=
fb
.
getText
=
function
(
a
){
var
b
,
c
=
""
,
d
=
0
,
f
=
a
.
nodeType
;
if
(
f
){
if
(
1
===
f
||
9
===
f
||
11
===
f
){
if
(
"string"
==
typeof
a
.
textContent
)
return
a
.
textContent
;
for
(
a
=
a
.
firstChild
;
a
;
a
=
a
.
nextSibling
)
c
+=
e
(
a
)}
else
if
(
3
===
f
||
4
===
f
)
return
a
.
nodeValue
}
else
while
(
b
=
a
[
d
++
])
c
+=
e
(
b
);
return
c
},
d
=
fb
.
selectors
=
{
cacheLength
:
50
,
createPseudo
:
hb
,
match
:
X
,
attrHandle
:{},
find
:{},
relative
:{
">"
:{
dir
:
"parentNode"
,
first
:
!
0
},
" "
:{
dir
:
"parentNode"
},
"+"
:{
dir
:
"previousSibling"
,
first
:
!
0
},
"~"
:{
dir
:
"previousSibling"
}},
preFilter
:{
ATTR
:
function
(
a
){
return
a
[
1
]
=
a
[
1
].
replace
(
cb
,
db
),
a
[
3
]
=
(
a
[
3
]
||
a
[
4
]
||
a
[
5
]
||
""
).
replace
(
cb
,
db
),
"~="
===
a
[
2
]
&&
(
a
[
3
]
=
" "
+
a
[
3
]
+
" "
),
a
.
slice
(
0
,
4
)},
CHILD
:
function
(
a
){
return
a
[
1
]
=
a
[
1
].
toLowerCase
(),
"nth"
===
a
[
1
].
slice
(
0
,
3
)?(
a
[
3
]
||
fb
.
error
(
a
[
0
]),
a
[
4
]
=+
(
a
[
4
]?
a
[
5
]
+
(
a
[
6
]
||
1
):
2
*
(
"even"
===
a
[
3
]
||
"odd"
===
a
[
3
])),
a
[
5
]
=+
(
a
[
7
]
+
a
[
8
]
||
"odd"
===
a
[
3
])):
a
[
3
]
&&
fb
.
error
(
a
[
0
]),
a
},
PSEUDO
:
function
(
a
){
var
b
,
c
=!
a
[
6
]
&&
a
[
2
];
return
X
.
CHILD
.
test
(
a
[
0
])?
null
:(
a
[
3
]?
a
[
2
]
=
a
[
4
]
||
a
[
5
]
||
""
:
c
&&
V
.
test
(
c
)
&&
(
b
=
g
(
c
,
!
0
))
&&
(
b
=
c
.
indexOf
(
")"
,
c
.
length
-
b
)
-
c
.
length
)
&&
(
a
[
0
]
=
a
[
0
].
slice
(
0
,
b
),
a
[
2
]
=
c
.
slice
(
0
,
b
)),
a
.
slice
(
0
,
3
))}},
filter
:{
TAG
:
function
(
a
){
var
b
=
a
.
replace
(
cb
,
db
).
toLowerCase
();
return
"*"
===
a
?
function
(){
return
!
0
}:
function
(
a
){
return
a
.
nodeName
&&
a
.
nodeName
.
toLowerCase
()
===
b
}},
CLASS
:
function
(
a
){
var
b
=
y
[
a
+
" "
];
return
b
||
(
b
=
new
RegExp
(
"(^|"
+
M
+
")"
+
a
+
"("
+
M
+
"|$)"
))
&&
y
(
a
,
function
(
a
){
return
b
.
test
(
"string"
==
typeof
a
.
className
&&
a
.
className
||
typeof
a
.
getAttribute
!==
C
&&
a
.
getAttribute
(
"class"
)
||
""
)})},
ATTR
:
function
(
a
,
b
,
c
){
return
function
(
d
){
var
e
=
fb
.
attr
(
d
,
a
);
return
null
==
e
?
"!="
===
b
:
b
?(
e
+=
""
,
"="
===
b
?
e
===
c
:
"!="
===
b
?
e
!==
c
:
"^="
===
b
?
c
&&
0
===
e
.
indexOf
(
c
):
"*="
===
b
?
c
&&
e
.
indexOf
(
c
)
>-
1
:
"$="
===
b
?
c
&&
e
.
slice
(
-
c
.
length
)
===
c
:
"~="
===
b
?(
" "
+
e
+
" "
).
indexOf
(
c
)
>-
1
:
"|="
===
b
?
e
===
c
||
e
.
slice
(
0
,
c
.
length
+
1
)
===
c
+
"-"
:
!
1
):
!
0
}},
CHILD
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
=
"nth"
!==
a
.
slice
(
0
,
3
),
g
=
"last"
!==
a
.
slice
(
-
4
),
h
=
"of-type"
===
b
;
return
1
===
d
&&
0
===
e
?
function
(
a
){
return
!!
a
.
parentNode
}:
function
(
b
,
c
,
i
){
var
j
,
k
,
l
,
m
,
n
,
o
,
p
=
f
!==
g
?
"nextSibling"
:
"previousSibling"
,
q
=
b
.
parentNode
,
r
=
h
&&
b
.
nodeName
.
toLowerCase
(),
s
=!
i
&&!
h
;
if
(
q
){
if
(
f
){
while
(
p
){
l
=
b
;
while
(
l
=
l
[
p
])
if
(
h
?
l
.
nodeName
.
toLowerCase
()
===
r
:
1
===
l
.
nodeType
)
return
!
1
;
o
=
p
=
"only"
===
a
&&!
o
&&
"nextSibling"
}
return
!
0
}
if
(
o
=
[
g
?
q
.
firstChild
:
q
.
lastChild
],
g
&&
s
){
k
=
q
[
u
]
||
(
q
[
u
]
=
{}),
j
=
k
[
a
]
||
[],
n
=
j
[
0
]
===
w
&&
j
[
1
],
m
=
j
[
0
]
===
w
&&
j
[
2
],
l
=
n
&&
q
.
childNodes
[
n
];
while
(
l
=++
n
&&
l
&&
l
[
p
]
||
(
m
=
n
=
0
)
||
o
.
pop
())
if
(
1
===
l
.
nodeType
&&++
m
&&
l
===
b
){
k
[
a
]
=
[
w
,
n
,
m
];
break
}}
else
if
(
s
&&
(
j
=
(
b
[
u
]
||
(
b
[
u
]
=
{}))[
a
])
&&
j
[
0
]
===
w
)
m
=
j
[
1
];
else
while
(
l
=++
n
&&
l
&&
l
[
p
]
||
(
m
=
n
=
0
)
||
o
.
pop
())
if
((
h
?
l
.
nodeName
.
toLowerCase
()
===
r
:
1
===
l
.
nodeType
)
&&++
m
&&
(
s
&&
((
l
[
u
]
||
(
l
[
u
]
=
{}))[
a
]
=
[
w
,
m
]),
l
===
b
))
break
;
return
m
-=
e
,
m
===
d
||
m
%
d
===
0
&&
m
/
d
>=
0
}}},
PSEUDO
:
function
(
a
,
b
){
var
c
,
e
=
d
.
pseudos
[
a
]
||
d
.
setFilters
[
a
.
toLowerCase
()]
||
fb
.
error
(
"unsupported pseudo: "
+
a
);
return
e
[
u
]?
e
(
b
):
e
.
length
>
1
?(
c
=
[
a
,
a
,
""
,
b
],
d
.
setFilters
.
hasOwnProperty
(
a
.
toLowerCase
())?
hb
(
function
(
a
,
c
){
var
d
,
f
=
e
(
a
,
b
),
g
=
f
.
length
;
while
(
g
--
)
d
=
K
.
call
(
a
,
f
[
g
]),
a
[
d
]
=!
(
c
[
d
]
=
f
[
g
])}):
function
(
a
){
return
e
(
a
,
0
,
c
)}):
e
}},
pseudos
:{
not
:
hb
(
function
(
a
){
var
b
=
[],
c
=
[],
d
=
h
(
a
.
replace
(
R
,
"$1"
));
return
d
[
u
]?
hb
(
function
(
a
,
b
,
c
,
e
){
var
f
,
g
=
d
(
a
,
null
,
e
,[]),
h
=
a
.
length
;
while
(
h
--
)(
f
=
g
[
h
])
&&
(
a
[
h
]
=!
(
b
[
h
]
=
f
))}):
function
(
a
,
e
,
f
){
return
b
[
0
]
=
a
,
d
(
b
,
null
,
f
,
c
),
!
c
.
pop
()}}),
has
:
hb
(
function
(
a
){
return
function
(
b
){
return
fb
(
a
,
b
).
length
>
0
}}),
contains
:
hb
(
function
(
a
){
return
function
(
b
){
return
(
b
.
textContent
||
b
.
innerText
||
e
(
b
)).
indexOf
(
a
)
>-
1
}}),
lang
:
hb
(
function
(
a
){
return
W
.
test
(
a
||
""
)
||
fb
.
error
(
"unsupported lang: "
+
a
),
a
=
a
.
replace
(
cb
,
db
).
toLowerCase
(),
function
(
b
){
var
c
;
do
if
(
c
=
p
?
b
.
lang
:
b
.
getAttribute
(
"xml:lang"
)
||
b
.
getAttribute
(
"lang"
))
return
c
=
c
.
toLowerCase
(),
c
===
a
||
0
===
c
.
indexOf
(
a
+
"-"
);
while
((
b
=
b
.
parentNode
)
&&
1
===
b
.
nodeType
);
return
!
1
}}),
target
:
function
(
b
){
var
c
=
a
.
location
&&
a
.
location
.
hash
;
return
c
&&
c
.
slice
(
1
)
===
b
.
id
},
root
:
function
(
a
){
return
a
===
o
},
focus
:
function
(
a
){
return
a
===
n
.
activeElement
&&
(
!
n
.
hasFocus
||
n
.
hasFocus
())
&&!!
(
a
.
type
||
a
.
href
||~
a
.
tabIndex
)},
enabled
:
function
(
a
){
return
a
.
disabled
===!
1
},
disabled
:
function
(
a
){
return
a
.
disabled
===!
0
},
checked
:
function
(
a
){
var
b
=
a
.
nodeName
.
toLowerCase
();
return
"input"
===
b
&&!!
a
.
checked
||
"option"
===
b
&&!!
a
.
selected
},
selected
:
function
(
a
){
return
a
.
parentNode
&&
a
.
parentNode
.
selectedIndex
,
a
.
selected
===!
0
},
empty
:
function
(
a
){
for
(
a
=
a
.
firstChild
;
a
;
a
=
a
.
nextSibling
)
if
(
a
.
nodeType
<
6
)
return
!
1
;
return
!
0
},
parent
:
function
(
a
){
return
!
d
.
pseudos
.
empty
(
a
)},
header
:
function
(
a
){
return
Z
.
test
(
a
.
nodeName
)},
input
:
function
(
a
){
return
Y
.
test
(
a
.
nodeName
)},
button
:
function
(
a
){
var
b
=
a
.
nodeName
.
toLowerCase
();
return
"input"
===
b
&&
"button"
===
a
.
type
||
"button"
===
b
},
text
:
function
(
a
){
var
b
;
return
"input"
===
a
.
nodeName
.
toLowerCase
()
&&
"text"
===
a
.
type
&&
(
null
==
(
b
=
a
.
getAttribute
(
"type"
))
||
"text"
===
b
.
toLowerCase
())},
first
:
nb
(
function
(){
return
[
0
]}),
last
:
nb
(
function
(
a
,
b
){
return
[
b
-
1
]}),
eq
:
nb
(
function
(
a
,
b
,
c
){
return
[
0
>
c
?
c
+
b
:
c
]}),
even
:
nb
(
function
(
a
,
b
){
for
(
var
c
=
0
;
b
>
c
;
c
+=
2
)
a
.
push
(
c
);
return
a
}),
odd
:
nb
(
function
(
a
,
b
){
for
(
var
c
=
1
;
b
>
c
;
c
+=
2
)
a
.
push
(
c
);
return
a
}),
lt
:
nb
(
function
(
a
,
b
,
c
){
for
(
var
d
=
0
>
c
?
c
+
b
:
c
;
--
d
>=
0
;)
a
.
push
(
d
);
return
a
}),
gt
:
nb
(
function
(
a
,
b
,
c
){
for
(
var
d
=
0
>
c
?
c
+
b
:
c
;
++
d
<
b
;)
a
.
push
(
d
);
return
a
})}},
d
.
pseudos
.
nth
=
d
.
pseudos
.
eq
;
for
(
b
in
{
radio
:
!
0
,
checkbox
:
!
0
,
file
:
!
0
,
password
:
!
0
,
image
:
!
0
})
d
.
pseudos
[
b
]
=
lb
(
b
);
for
(
b
in
{
submit
:
!
0
,
reset
:
!
0
})
d
.
pseudos
[
b
]
=
mb
(
b
);
function
pb
(){}
pb
.
prototype
=
d
.
filters
=
d
.
pseudos
,
d
.
setFilters
=
new
pb
,
g
=
fb
.
tokenize
=
function
(
a
,
b
){
var
c
,
e
,
f
,
g
,
h
,
i
,
j
,
k
=
z
[
a
+
" "
];
if
(
k
)
return
b
?
0
:
k
.
slice
(
0
);
h
=
a
,
i
=
[],
j
=
d
.
preFilter
;
while
(
h
){(
!
c
||
(
e
=
S
.
exec
(
h
)))
&&
(
e
&&
(
h
=
h
.
slice
(
e
[
0
].
length
)
||
h
),
i
.
push
(
f
=
[])),
c
=!
1
,(
e
=
T
.
exec
(
h
))
&&
(
c
=
e
.
shift
(),
f
.
push
({
value
:
c
,
type
:
e
[
0
].
replace
(
R
,
" "
)}),
h
=
h
.
slice
(
c
.
length
));
for
(
g
in
d
.
filter
)
!
(
e
=
X
[
g
].
exec
(
h
))
||
j
[
g
]
&&!
(
e
=
j
[
g
](
e
))
||
(
c
=
e
.
shift
(),
f
.
push
({
value
:
c
,
type
:
g
,
matches
:
e
}),
h
=
h
.
slice
(
c
.
length
));
if
(
!
c
)
break
}
return
b
?
h
.
length
:
h
?
fb
.
error
(
a
):
z
(
a
,
i
).
slice
(
0
)};
function
qb
(
a
){
for
(
var
b
=
0
,
c
=
a
.
length
,
d
=
""
;
c
>
b
;
b
++
)
d
+=
a
[
b
].
value
;
return
d
}
function
rb
(
a
,
b
,
c
){
var
d
=
b
.
dir
,
e
=
c
&&
"parentNode"
===
d
,
f
=
x
++
;
return
b
.
first
?
function
(
b
,
c
,
f
){
while
(
b
=
b
[
d
])
if
(
1
===
b
.
nodeType
||
e
)
return
a
(
b
,
c
,
f
)}:
function
(
b
,
c
,
g
){
var
h
,
i
,
j
=
[
w
,
f
];
if
(
g
){
while
(
b
=
b
[
d
])
if
((
1
===
b
.
nodeType
||
e
)
&&
a
(
b
,
c
,
g
))
return
!
0
}
else
while
(
b
=
b
[
d
])
if
(
1
===
b
.
nodeType
||
e
){
if
(
i
=
b
[
u
]
||
(
b
[
u
]
=
{}),(
h
=
i
[
d
])
&&
h
[
0
]
===
w
&&
h
[
1
]
===
f
)
return
j
[
2
]
=
h
[
2
];
if
(
i
[
d
]
=
j
,
j
[
2
]
=
a
(
b
,
c
,
g
))
return
!
0
}}}
function
sb
(
a
){
return
a
.
length
>
1
?
function
(
b
,
c
,
d
){
var
e
=
a
.
length
;
while
(
e
--
)
if
(
!
a
[
e
](
b
,
c
,
d
))
return
!
1
;
return
!
0
}:
a
[
0
]}
function
tb
(
a
,
b
,
c
){
for
(
var
d
=
0
,
e
=
b
.
length
;
e
>
d
;
d
++
)
fb
(
a
,
b
[
d
],
c
);
return
c
}
function
ub
(
a
,
b
,
c
,
d
,
e
){
for
(
var
f
,
g
=
[],
h
=
0
,
i
=
a
.
length
,
j
=
null
!=
b
;
i
>
h
;
h
++
)(
f
=
a
[
h
])
&&
(
!
c
||
c
(
f
,
d
,
e
))
&&
(
g
.
push
(
f
),
j
&&
b
.
push
(
h
));
return
g
}
function
vb
(
a
,
b
,
c
,
d
,
e
,
f
){
return
d
&&!
d
[
u
]
&&
(
d
=
vb
(
d
)),
e
&&!
e
[
u
]
&&
(
e
=
vb
(
e
,
f
)),
hb
(
function
(
f
,
g
,
h
,
i
){
var
j
,
k
,
l
,
m
=
[],
n
=
[],
o
=
g
.
length
,
p
=
f
||
tb
(
b
||
"*"
,
h
.
nodeType
?[
h
]:
h
,[]),
q
=!
a
||!
f
&&
b
?
p
:
ub
(
p
,
m
,
a
,
h
,
i
),
r
=
c
?
e
||
(
f
?
a
:
o
||
d
)?[]:
g
:
q
;
if
(
c
&&
c
(
q
,
r
,
h
,
i
),
d
){
j
=
ub
(
r
,
n
),
d
(
j
,[],
h
,
i
),
k
=
j
.
length
;
while
(
k
--
)(
l
=
j
[
k
])
&&
(
r
[
n
[
k
]]
=!
(
q
[
n
[
k
]]
=
l
))}
if
(
f
){
if
(
e
||
a
){
if
(
e
){
j
=
[],
k
=
r
.
length
;
while
(
k
--
)(
l
=
r
[
k
])
&&
j
.
push
(
q
[
k
]
=
l
);
e
(
null
,
r
=
[],
j
,
i
)}
k
=
r
.
length
;
while
(
k
--
)(
l
=
r
[
k
])
&&
(
j
=
e
?
K
.
call
(
f
,
l
):
m
[
k
])
>-
1
&&
(
f
[
j
]
=!
(
g
[
j
]
=
l
))}}
else
r
=
ub
(
r
===
g
?
r
.
splice
(
o
,
r
.
length
):
r
),
e
?
e
(
null
,
g
,
r
,
i
):
I
.
apply
(
g
,
r
)})}
function
wb
(
a
){
for
(
var
b
,
c
,
e
,
f
=
a
.
length
,
g
=
d
.
relative
[
a
[
0
].
type
],
h
=
g
||
d
.
relative
[
" "
],
i
=
g
?
1
:
0
,
k
=
rb
(
function
(
a
){
return
a
===
b
},
h
,
!
0
),
l
=
rb
(
function
(
a
){
return
K
.
call
(
b
,
a
)
>-
1
},
h
,
!
0
),
m
=
[
function
(
a
,
c
,
d
){
return
!
g
&&
(
d
||
c
!==
j
)
||
((
b
=
c
).
nodeType
?
k
(
a
,
c
,
d
):
l
(
a
,
c
,
d
))}];
f
>
i
;
i
++
)
if
(
c
=
d
.
relative
[
a
[
i
].
type
])
m
=
[
rb
(
sb
(
m
),
c
)];
else
{
if
(
c
=
d
.
filter
[
a
[
i
].
type
].
apply
(
null
,
a
[
i
].
matches
),
c
[
u
]){
for
(
e
=++
i
;
f
>
e
;
e
++
)
if
(
d
.
relative
[
a
[
e
].
type
])
break
;
return
vb
(
i
>
1
&&
sb
(
m
),
i
>
1
&&
qb
(
a
.
slice
(
0
,
i
-
1
).
concat
({
value
:
" "
===
a
[
i
-
2
].
type
?
"*"
:
""
})).
replace
(
R
,
"$1"
),
c
,
e
>
i
&&
wb
(
a
.
slice
(
i
,
e
)),
f
>
e
&&
wb
(
a
=
a
.
slice
(
e
)),
f
>
e
&&
qb
(
a
))}
m
.
push
(
c
)}
return
sb
(
m
)}
function
xb
(
a
,
b
){
var
c
=
b
.
length
>
0
,
e
=
a
.
length
>
0
,
f
=
function
(
f
,
g
,
h
,
i
,
k
){
var
l
,
m
,
o
,
p
=
0
,
q
=
"0"
,
r
=
f
&&
[],
s
=
[],
t
=
j
,
u
=
f
||
e
&&
d
.
find
.
TAG
(
"*"
,
k
),
v
=
w
+=
null
==
t
?
1
:
Math
.
random
()
||
.
1
,
x
=
u
.
length
;
for
(
k
&&
(
j
=
g
!==
n
&&
g
);
q
!==
x
&&
null
!=
(
l
=
u
[
q
]);
q
++
){
if
(
e
&&
l
){
m
=
0
;
while
(
o
=
a
[
m
++
])
if
(
o
(
l
,
g
,
h
)){
i
.
push
(
l
);
break
}
k
&&
(
w
=
v
)}
c
&&
((
l
=!
o
&&
l
)
&&
p
--
,
f
&&
r
.
push
(
l
))}
if
(
p
+=
q
,
c
&&
q
!==
p
){
m
=
0
;
while
(
o
=
b
[
m
++
])
o
(
r
,
s
,
g
,
h
);
if
(
f
){
if
(
p
>
0
)
while
(
q
--
)
r
[
q
]
||
s
[
q
]
||
(
s
[
q
]
=
G
.
call
(
i
));
s
=
ub
(
s
)}
I
.
apply
(
i
,
s
),
k
&&!
f
&&
s
.
length
>
0
&&
p
+
b
.
length
>
1
&&
fb
.
uniqueSort
(
i
)}
return
k
&&
(
w
=
v
,
j
=
t
),
r
};
return
c
?
hb
(
f
):
f
}
return
h
=
fb
.
compile
=
function
(
a
,
b
){
var
c
,
d
=
[],
e
=
[],
f
=
A
[
a
+
" "
];
if
(
!
f
){
b
||
(
b
=
g
(
a
)),
c
=
b
.
length
;
while
(
c
--
)
f
=
wb
(
b
[
c
]),
f
[
u
]?
d
.
push
(
f
):
e
.
push
(
f
);
f
=
A
(
a
,
xb
(
e
,
d
)),
f
.
selector
=
a
}
return
f
},
i
=
fb
.
select
=
function
(
a
,
b
,
e
,
f
){
var
i
,
j
,
k
,
l
,
m
,
n
=
"function"
==
typeof
a
&&
a
,
o
=!
f
&&
g
(
a
=
n
.
selector
||
a
);
if
(
e
=
e
||
[],
1
===
o
.
length
){
if
(
j
=
o
[
0
]
=
o
[
0
].
slice
(
0
),
j
.
length
>
2
&&
"ID"
===
(
k
=
j
[
0
]).
type
&&
c
.
getById
&&
9
===
b
.
nodeType
&&
p
&&
d
.
relative
[
j
[
1
].
type
]){
if
(
b
=
(
d
.
find
.
ID
(
k
.
matches
[
0
].
replace
(
cb
,
db
),
b
)
||
[])[
0
],
!
b
)
return
e
;
n
&&
(
b
=
b
.
parentNode
),
a
=
a
.
slice
(
j
.
shift
().
value
.
length
)}
i
=
X
.
needsContext
.
test
(
a
)?
0
:
j
.
length
;
while
(
i
--
){
if
(
k
=
j
[
i
],
d
.
relative
[
l
=
k
.
type
])
break
;
if
((
m
=
d
.
find
[
l
])
&&
(
f
=
m
(
k
.
matches
[
0
].
replace
(
cb
,
db
),
ab
.
test
(
j
[
0
].
type
)
&&
ob
(
b
.
parentNode
)
||
b
))){
if
(
j
.
splice
(
i
,
1
),
a
=
f
.
length
&&
qb
(
j
),
!
a
)
return
I
.
apply
(
e
,
f
),
e
;
break
}}}
return
(
n
||
h
(
a
,
o
))(
f
,
b
,
!
p
,
e
,
ab
.
test
(
a
)
&&
ob
(
b
.
parentNode
)
||
b
),
e
},
c
.
sortStable
=
u
.
split
(
""
).
sort
(
B
).
join
(
""
)
===
u
,
c
.
detectDuplicates
=!!
l
,
m
(),
c
.
sortDetached
=
ib
(
function
(
a
){
return
1
&
a
.
compareDocumentPosition
(
n
.
createElement
(
"div"
))}),
ib
(
function
(
a
){
return
a
.
innerHTML
=
"<a href='#'></a>"
,
"#"
===
a
.
firstChild
.
getAttribute
(
"href"
)})
||
jb
(
"type|href|height|width"
,
function
(
a
,
b
,
c
){
return
c
?
void
0
:
a
.
getAttribute
(
b
,
"type"
===
b
.
toLowerCase
()?
1
:
2
)}),
c
.
attributes
&&
ib
(
function
(
a
){
return
a
.
innerHTML
=
"<input/>"
,
a
.
firstChild
.
setAttribute
(
"value"
,
""
),
""
===
a
.
firstChild
.
getAttribute
(
"value"
)})
||
jb
(
"value"
,
function
(
a
,
b
,
c
){
return
c
||
"input"
!==
a
.
nodeName
.
toLowerCase
()?
void
0
:
a
.
defaultValue
}),
ib
(
function
(
a
){
return
null
==
a
.
getAttribute
(
"disabled"
)})
||
jb
(
L
,
function
(
a
,
b
,
c
){
var
d
;
return
c
?
void
0
:
a
[
b
]
===!
0
?
b
.
toLowerCase
():(
d
=
a
.
getAttributeNode
(
b
))
&&
d
.
specified
?
d
.
value
:
null
}),
fb
}(
a
);
n
.
find
=
t
,
n
.
expr
=
t
.
selectors
,
n
.
expr
[
":"
]
=
n
.
expr
.
pseudos
,
n
.
unique
=
t
.
uniqueSort
,
n
.
text
=
t
.
getText
,
n
.
isXMLDoc
=
t
.
isXML
,
n
.
contains
=
t
.
contains
;
var
u
=
n
.
expr
.
match
.
needsContext
,
v
=
/^<
(\w
+
)\s
*
\/?
>
(?:
<
\/\1
>|
)
$/
,
w
=
/^.
[^
:#
\[\.
,
]
*$/
;
function
x
(
a
,
b
,
c
){
if
(
n
.
isFunction
(
b
))
return
n
.
grep
(
a
,
function
(
a
,
d
){
return
!!
b
.
call
(
a
,
d
,
a
)
!==
c
});
if
(
b
.
nodeType
)
return
n
.
grep
(
a
,
function
(
a
){
return
a
===
b
!==
c
});
if
(
"string"
==
typeof
b
){
if
(
w
.
test
(
b
))
return
n
.
filter
(
b
,
a
,
c
);
b
=
n
.
filter
(
b
,
a
)}
return
n
.
grep
(
a
,
function
(
a
){
return
g
.
call
(
b
,
a
)
>=
0
!==
c
})}
n
.
filter
=
function
(
a
,
b
,
c
){
var
d
=
b
[
0
];
return
c
&&
(
a
=
":not("
+
a
+
")"
),
1
===
b
.
length
&&
1
===
d
.
nodeType
?
n
.
find
.
matchesSelector
(
d
,
a
)?[
d
]:[]:
n
.
find
.
matches
(
a
,
n
.
grep
(
b
,
function
(
a
){
return
1
===
a
.
nodeType
}))},
n
.
fn
.
extend
({
find
:
function
(
a
){
var
b
,
c
=
this
.
length
,
d
=
[],
e
=
this
;
if
(
"string"
!=
typeof
a
)
return
this
.
pushStack
(
n
(
a
).
filter
(
function
(){
for
(
b
=
0
;
c
>
b
;
b
++
)
if
(
n
.
contains
(
e
[
b
],
this
))
return
!
0
}));
for
(
b
=
0
;
c
>
b
;
b
++
)
n
.
find
(
a
,
e
[
b
],
d
);
return
d
=
this
.
pushStack
(
c
>
1
?
n
.
unique
(
d
):
d
),
d
.
selector
=
this
.
selector
?
this
.
selector
+
" "
+
a
:
a
,
d
},
filter
:
function
(
a
){
return
this
.
pushStack
(
x
(
this
,
a
||
[],
!
1
))},
not
:
function
(
a
){
return
this
.
pushStack
(
x
(
this
,
a
||
[],
!
0
))},
is
:
function
(
a
){
return
!!
x
(
this
,
"string"
==
typeof
a
&&
u
.
test
(
a
)?
n
(
a
):
a
||
[],
!
1
).
length
}});
var
y
,
z
=
/^
(?:\s
*
(
<
[\w\W]
+>
)[^
>
]
*|#
([\w
-
]
*
))
$/
,
A
=
n
.
fn
.
init
=
function
(
a
,
b
){
var
c
,
d
;
if
(
!
a
)
return
this
;
if
(
"string"
==
typeof
a
){
if
(
c
=
"<"
===
a
[
0
]
&&
">"
===
a
[
a
.
length
-
1
]
&&
a
.
length
>=
3
?[
null
,
a
,
null
]:
z
.
exec
(
a
),
!
c
||!
c
[
1
]
&&
b
)
return
!
b
||
b
.
jquery
?(
b
||
y
).
find
(
a
):
this
.
constructor
(
b
).
find
(
a
);
if
(
c
[
1
]){
if
(
b
=
b
instanceof
n
?
b
[
0
]:
b
,
n
.
merge
(
this
,
n
.
parseHTML
(
c
[
1
],
b
&&
b
.
nodeType
?
b
.
ownerDocument
||
b
:
l
,
!
0
)),
v
.
test
(
c
[
1
])
&&
n
.
isPlainObject
(
b
))
for
(
c
in
b
)
n
.
isFunction
(
this
[
c
])?
this
[
c
](
b
[
c
]):
this
.
attr
(
c
,
b
[
c
]);
return
this
}
return
d
=
l
.
getElementById
(
c
[
2
]),
d
&&
d
.
parentNode
&&
(
this
.
length
=
1
,
this
[
0
]
=
d
),
this
.
context
=
l
,
this
.
selector
=
a
,
this
}
return
a
.
nodeType
?(
this
.
context
=
this
[
0
]
=
a
,
this
.
length
=
1
,
this
):
n
.
isFunction
(
a
)?
"undefined"
!=
typeof
y
.
ready
?
y
.
ready
(
a
):
a
(
n
):(
void
0
!==
a
.
selector
&&
(
this
.
selector
=
a
.
selector
,
this
.
context
=
a
.
context
),
n
.
makeArray
(
a
,
this
))};
A
.
prototype
=
n
.
fn
,
y
=
n
(
l
);
var
B
=
/^
(?:
parents|prev
(?:
Until|All
))
/
,
C
=
{
children
:
!
0
,
contents
:
!
0
,
next
:
!
0
,
prev
:
!
0
};
n
.
extend
({
dir
:
function
(
a
,
b
,
c
){
var
d
=
[],
e
=
void
0
!==
c
;
while
((
a
=
a
[
b
])
&&
9
!==
a
.
nodeType
)
if
(
1
===
a
.
nodeType
){
if
(
e
&&
n
(
a
).
is
(
c
))
break
;
d
.
push
(
a
)}
return
d
},
sibling
:
function
(
a
,
b
){
for
(
var
c
=
[];
a
;
a
=
a
.
nextSibling
)
1
===
a
.
nodeType
&&
a
!==
b
&&
c
.
push
(
a
);
return
c
}}),
n
.
fn
.
extend
({
has
:
function
(
a
){
var
b
=
n
(
a
,
this
),
c
=
b
.
length
;
return
this
.
filter
(
function
(){
for
(
var
a
=
0
;
c
>
a
;
a
++
)
if
(
n
.
contains
(
this
,
b
[
a
]))
return
!
0
})},
closest
:
function
(
a
,
b
){
for
(
var
c
,
d
=
0
,
e
=
this
.
length
,
f
=
[],
g
=
u
.
test
(
a
)
||
"string"
!=
typeof
a
?
n
(
a
,
b
||
this
.
context
):
0
;
e
>
d
;
d
++
)
for
(
c
=
this
[
d
];
c
&&
c
!==
b
;
c
=
c
.
parentNode
)
if
(
c
.
nodeType
<
11
&&
(
g
?
g
.
index
(
c
)
>-
1
:
1
===
c
.
nodeType
&&
n
.
find
.
matchesSelector
(
c
,
a
))){
f
.
push
(
c
);
break
}
return
this
.
pushStack
(
f
.
length
>
1
?
n
.
unique
(
f
):
f
)},
index
:
function
(
a
){
return
a
?
"string"
==
typeof
a
?
g
.
call
(
n
(
a
),
this
[
0
]):
g
.
call
(
this
,
a
.
jquery
?
a
[
0
]:
a
):
this
[
0
]
&&
this
[
0
].
parentNode
?
this
.
first
().
prevAll
().
length
:
-
1
},
add
:
function
(
a
,
b
){
return
this
.
pushStack
(
n
.
unique
(
n
.
merge
(
this
.
get
(),
n
(
a
,
b
))))},
addBack
:
function
(
a
){
return
this
.
add
(
null
==
a
?
this
.
prevObject
:
this
.
prevObject
.
filter
(
a
))}});
function
D
(
a
,
b
){
while
((
a
=
a
[
b
])
&&
1
!==
a
.
nodeType
);
return
a
}
n
.
each
({
parent
:
function
(
a
){
var
b
=
a
.
parentNode
;
return
b
&&
11
!==
b
.
nodeType
?
b
:
null
},
parents
:
function
(
a
){
return
n
.
dir
(
a
,
"parentNode"
)},
parentsUntil
:
function
(
a
,
b
,
c
){
return
n
.
dir
(
a
,
"parentNode"
,
c
)},
next
:
function
(
a
){
return
D
(
a
,
"nextSibling"
)},
prev
:
function
(
a
){
return
D
(
a
,
"previousSibling"
)},
nextAll
:
function
(
a
){
return
n
.
dir
(
a
,
"nextSibling"
)},
prevAll
:
function
(
a
){
return
n
.
dir
(
a
,
"previousSibling"
)},
nextUntil
:
function
(
a
,
b
,
c
){
return
n
.
dir
(
a
,
"nextSibling"
,
c
)},
prevUntil
:
function
(
a
,
b
,
c
){
return
n
.
dir
(
a
,
"previousSibling"
,
c
)},
siblings
:
function
(
a
){
return
n
.
sibling
((
a
.
parentNode
||
{}).
firstChild
,
a
)},
children
:
function
(
a
){
return
n
.
sibling
(
a
.
firstChild
)},
contents
:
function
(
a
){
return
a
.
contentDocument
||
n
.
merge
([],
a
.
childNodes
)}},
function
(
a
,
b
){
n
.
fn
[
a
]
=
function
(
c
,
d
){
var
e
=
n
.
map
(
this
,
b
,
c
);
return
"Until"
!==
a
.
slice
(
-
5
)
&&
(
d
=
c
),
d
&&
"string"
==
typeof
d
&&
(
e
=
n
.
filter
(
d
,
e
)),
this
.
length
>
1
&&
(
C
[
a
]
||
n
.
unique
(
e
),
B
.
test
(
a
)
&&
e
.
reverse
()),
this
.
pushStack
(
e
)}});
var
E
=
/
\S
+/g
,
F
=
{};
function
G
(
a
){
var
b
=
F
[
a
]
=
{};
return
n
.
each
(
a
.
match
(
E
)
||
[],
function
(
a
,
c
){
b
[
c
]
=!
0
}),
b
}
n
.
Callbacks
=
function
(
a
){
a
=
"string"
==
typeof
a
?
F
[
a
]
||
G
(
a
):
n
.
extend
({},
a
);
var
b
,
c
,
d
,
e
,
f
,
g
,
h
=
[],
i
=!
a
.
once
&&
[],
j
=
function
(
l
){
for
(
b
=
a
.
memory
&&
l
,
c
=!
0
,
g
=
e
||
0
,
e
=
0
,
f
=
h
.
length
,
d
=!
0
;
h
&&
f
>
g
;
g
++
)
if
(
h
[
g
].
apply
(
l
[
0
],
l
[
1
])
===!
1
&&
a
.
stopOnFalse
){
b
=!
1
;
break
}
d
=!
1
,
h
&&
(
i
?
i
.
length
&&
j
(
i
.
shift
()):
b
?
h
=
[]:
k
.
disable
())},
k
=
{
add
:
function
(){
if
(
h
){
var
c
=
h
.
length
;
!
function
g
(
b
){
n
.
each
(
b
,
function
(
b
,
c
){
var
d
=
n
.
type
(
c
);
"function"
===
d
?
a
.
unique
&&
k
.
has
(
c
)
||
h
.
push
(
c
):
c
&&
c
.
length
&&
"string"
!==
d
&&
g
(
c
)})}(
arguments
),
d
?
f
=
h
.
length
:
b
&&
(
e
=
c
,
j
(
b
))}
return
this
},
remove
:
function
(){
return
h
&&
n
.
each
(
arguments
,
function
(
a
,
b
){
var
c
;
while
((
c
=
n
.
inArray
(
b
,
h
,
c
))
>-
1
)
h
.
splice
(
c
,
1
),
d
&&
(
f
>=
c
&&
f
--
,
g
>=
c
&&
g
--
)}),
this
},
has
:
function
(
a
){
return
a
?
n
.
inArray
(
a
,
h
)
>-
1
:
!
(
!
h
||!
h
.
length
)},
empty
:
function
(){
return
h
=
[],
f
=
0
,
this
},
disable
:
function
(){
return
h
=
i
=
b
=
void
0
,
this
},
disabled
:
function
(){
return
!
h
},
lock
:
function
(){
return
i
=
void
0
,
b
||
k
.
disable
(),
this
},
locked
:
function
(){
return
!
i
},
fireWith
:
function
(
a
,
b
){
return
!
h
||
c
&&!
i
||
(
b
=
b
||
[],
b
=
[
a
,
b
.
slice
?
b
.
slice
():
b
],
d
?
i
.
push
(
b
):
j
(
b
)),
this
},
fire
:
function
(){
return
k
.
fireWith
(
this
,
arguments
),
this
},
fired
:
function
(){
return
!!
c
}};
return
k
},
n
.
extend
({
Deferred
:
function
(
a
){
var
b
=
[[
"resolve"
,
"done"
,
n
.
Callbacks
(
"once memory"
),
"resolved"
],[
"reject"
,
"fail"
,
n
.
Callbacks
(
"once memory"
),
"rejected"
],[
"notify"
,
"progress"
,
n
.
Callbacks
(
"memory"
)]],
c
=
"pending"
,
d
=
{
state
:
function
(){
return
c
},
always
:
function
(){
return
e
.
done
(
arguments
).
fail
(
arguments
),
this
},
then
:
function
(){
var
a
=
arguments
;
return
n
.
Deferred
(
function
(
c
){
n
.
each
(
b
,
function
(
b
,
f
){
var
g
=
n
.
isFunction
(
a
[
b
])
&&
a
[
b
];
e
[
f
[
1
]](
function
(){
var
a
=
g
&&
g
.
apply
(
this
,
arguments
);
a
&&
n
.
isFunction
(
a
.
promise
)?
a
.
promise
().
done
(
c
.
resolve
).
fail
(
c
.
reject
).
progress
(
c
.
notify
):
c
[
f
[
0
]
+
"With"
](
this
===
d
?
c
.
promise
():
this
,
g
?[
a
]:
arguments
)})}),
a
=
null
}).
promise
()},
promise
:
function
(
a
){
return
null
!=
a
?
n
.
extend
(
a
,
d
):
d
}},
e
=
{};
return
d
.
pipe
=
d
.
then
,
n
.
each
(
b
,
function
(
a
,
f
){
var
g
=
f
[
2
],
h
=
f
[
3
];
d
[
f
[
1
]]
=
g
.
add
,
h
&&
g
.
add
(
function
(){
c
=
h
},
b
[
1
^
a
][
2
].
disable
,
b
[
2
][
2
].
lock
),
e
[
f
[
0
]]
=
function
(){
return
e
[
f
[
0
]
+
"With"
](
this
===
e
?
d
:
this
,
arguments
),
this
},
e
[
f
[
0
]
+
"With"
]
=
g
.
fireWith
}),
d
.
promise
(
e
),
a
&&
a
.
call
(
e
,
e
),
e
},
when
:
function
(
a
){
var
b
=
0
,
c
=
d
.
call
(
arguments
),
e
=
c
.
length
,
f
=
1
!==
e
||
a
&&
n
.
isFunction
(
a
.
promise
)?
e
:
0
,
g
=
1
===
f
?
a
:
n
.
Deferred
(),
h
=
function
(
a
,
b
,
c
){
return
function
(
e
){
b
[
a
]
=
this
,
c
[
a
]
=
arguments
.
length
>
1
?
d
.
call
(
arguments
):
e
,
c
===
i
?
g
.
notifyWith
(
b
,
c
):
--
f
||
g
.
resolveWith
(
b
,
c
)}},
i
,
j
,
k
;
if
(
e
>
1
)
for
(
i
=
new
Array
(
e
),
j
=
new
Array
(
e
),
k
=
new
Array
(
e
);
e
>
b
;
b
++
)
c
[
b
]
&&
n
.
isFunction
(
c
[
b
].
promise
)?
c
[
b
].
promise
().
done
(
h
(
b
,
k
,
c
)).
fail
(
g
.
reject
).
progress
(
h
(
b
,
j
,
i
)):
--
f
;
return
f
||
g
.
resolveWith
(
k
,
c
),
g
.
promise
()}});
var
H
;
n
.
fn
.
ready
=
function
(
a
){
return
n
.
ready
.
promise
().
done
(
a
),
this
},
n
.
extend
({
isReady
:
!
1
,
readyWait
:
1
,
holdReady
:
function
(
a
){
a
?
n
.
readyWait
++
:
n
.
ready
(
!
0
)},
ready
:
function
(
a
){(
a
===!
0
?
--
n
.
readyWait
:
n
.
isReady
)
||
(
n
.
isReady
=!
0
,
a
!==!
0
&&--
n
.
readyWait
>
0
||
(
H
.
resolveWith
(
l
,[
n
]),
n
.
fn
.
triggerHandler
&&
(
n
(
l
).
triggerHandler
(
"ready"
),
n
(
l
).
off
(
"ready"
))))}});
function
I
(){
l
.
removeEventListener
(
"DOMContentLoaded"
,
I
,
!
1
),
a
.
removeEventListener
(
"load"
,
I
,
!
1
),
n
.
ready
()}
n
.
ready
.
promise
=
function
(
b
){
return
H
||
(
H
=
n
.
Deferred
(),
"complete"
===
l
.
readyState
?
setTimeout
(
n
.
ready
):(
l
.
addEventListener
(
"DOMContentLoaded"
,
I
,
!
1
),
a
.
addEventListener
(
"load"
,
I
,
!
1
))),
H
.
promise
(
b
)},
n
.
ready
.
promise
();
var
J
=
n
.
access
=
function
(
a
,
b
,
c
,
d
,
e
,
f
,
g
){
var
h
=
0
,
i
=
a
.
length
,
j
=
null
==
c
;
if
(
"object"
===
n
.
type
(
c
)){
e
=!
0
;
for
(
h
in
c
)
n
.
access
(
a
,
b
,
h
,
c
[
h
],
!
0
,
f
,
g
)}
else
if
(
void
0
!==
d
&&
(
e
=!
0
,
n
.
isFunction
(
d
)
||
(
g
=!
0
),
j
&&
(
g
?(
b
.
call
(
a
,
d
),
b
=
null
):(
j
=
b
,
b
=
function
(
a
,
b
,
c
){
return
j
.
call
(
n
(
a
),
c
)})),
b
))
for
(;
i
>
h
;
h
++
)
b
(
a
[
h
],
c
,
g
?
d
:
d
.
call
(
a
[
h
],
h
,
b
(
a
[
h
],
c
)));
return
e
?
a
:
j
?
b
.
call
(
a
):
i
?
b
(
a
[
0
],
c
):
f
};
n
.
acceptData
=
function
(
a
){
return
1
===
a
.
nodeType
||
9
===
a
.
nodeType
||!+
a
.
nodeType
};
function
K
(){
Object
.
defineProperty
(
this
.
cache
=
{},
0
,{
get
:
function
(){
return
{}}}),
this
.
expando
=
n
.
expando
+
Math
.
random
()}
K
.
uid
=
1
,
K
.
accepts
=
n
.
acceptData
,
K
.
prototype
=
{
key
:
function
(
a
){
if
(
!
K
.
accepts
(
a
))
return
0
;
var
b
=
{},
c
=
a
[
this
.
expando
];
if
(
!
c
){
c
=
K
.
uid
++
;
try
{
b
[
this
.
expando
]
=
{
value
:
c
},
Object
.
defineProperties
(
a
,
b
)}
catch
(
d
){
b
[
this
.
expando
]
=
c
,
n
.
extend
(
a
,
b
)}}
return
this
.
cache
[
c
]
||
(
this
.
cache
[
c
]
=
{}),
c
},
set
:
function
(
a
,
b
,
c
){
var
d
,
e
=
this
.
key
(
a
),
f
=
this
.
cache
[
e
];
if
(
"string"
==
typeof
b
)
f
[
b
]
=
c
;
else
if
(
n
.
isEmptyObject
(
f
))
n
.
extend
(
this
.
cache
[
e
],
b
);
else
for
(
d
in
b
)
f
[
d
]
=
b
[
d
];
return
f
},
get
:
function
(
a
,
b
){
var
c
=
this
.
cache
[
this
.
key
(
a
)];
return
void
0
===
b
?
c
:
c
[
b
]},
access
:
function
(
a
,
b
,
c
){
var
d
;
return
void
0
===
b
||
b
&&
"string"
==
typeof
b
&&
void
0
===
c
?(
d
=
this
.
get
(
a
,
b
),
void
0
!==
d
?
d
:
this
.
get
(
a
,
n
.
camelCase
(
b
))):(
this
.
set
(
a
,
b
,
c
),
void
0
!==
c
?
c
:
b
)},
remove
:
function
(
a
,
b
){
var
c
,
d
,
e
,
f
=
this
.
key
(
a
),
g
=
this
.
cache
[
f
];
if
(
void
0
===
b
)
this
.
cache
[
f
]
=
{};
else
{
n
.
isArray
(
b
)?
d
=
b
.
concat
(
b
.
map
(
n
.
camelCase
)):(
e
=
n
.
camelCase
(
b
),
b
in
g
?
d
=
[
b
,
e
]:(
d
=
e
,
d
=
d
in
g
?[
d
]:
d
.
match
(
E
)
||
[])),
c
=
d
.
length
;
while
(
c
--
)
delete
g
[
d
[
c
]]}},
hasData
:
function
(
a
){
return
!
n
.
isEmptyObject
(
this
.
cache
[
a
[
this
.
expando
]]
||
{})},
discard
:
function
(
a
){
a
[
this
.
expando
]
&&
delete
this
.
cache
[
a
[
this
.
expando
]]}};
var
L
=
new
K
,
M
=
new
K
,
N
=
/^
(?:\{[\w\W]
*
\}
|
\[[\w\W]
*
\])
$/
,
O
=
/
([
A-Z
])
/g
;
function
P
(
a
,
b
,
c
){
var
d
;
if
(
void
0
===
c
&&
1
===
a
.
nodeType
)
if
(
d
=
"data-"
+
b
.
replace
(
O
,
"-$1"
).
toLowerCase
(),
c
=
a
.
getAttribute
(
d
),
"string"
==
typeof
c
){
try
{
c
=
"true"
===
c
?
!
0
:
"false"
===
c
?
!
1
:
"null"
===
c
?
null
:
+
c
+
""
===
c
?
+
c
:
N
.
test
(
c
)?
n
.
parseJSON
(
c
):
c
}
catch
(
e
){}
M
.
set
(
a
,
b
,
c
)}
else
c
=
void
0
;
return
c
}
n
.
extend
({
hasData
:
function
(
a
){
return
M
.
hasData
(
a
)
||
L
.
hasData
(
a
)},
data
:
function
(
a
,
b
,
c
){
return
M
.
access
(
a
,
b
,
c
)},
removeData
:
function
(
a
,
b
){
M
.
remove
(
a
,
b
)
},
_data
:
function
(
a
,
b
,
c
){
return
L
.
access
(
a
,
b
,
c
)},
_removeData
:
function
(
a
,
b
){
L
.
remove
(
a
,
b
)}}),
n
.
fn
.
extend
({
data
:
function
(
a
,
b
){
var
c
,
d
,
e
,
f
=
this
[
0
],
g
=
f
&&
f
.
attributes
;
if
(
void
0
===
a
){
if
(
this
.
length
&&
(
e
=
M
.
get
(
f
),
1
===
f
.
nodeType
&&!
L
.
get
(
f
,
"hasDataAttrs"
))){
c
=
g
.
length
;
while
(
c
--
)
g
[
c
]
&&
(
d
=
g
[
c
].
name
,
0
===
d
.
indexOf
(
"data-"
)
&&
(
d
=
n
.
camelCase
(
d
.
slice
(
5
)),
P
(
f
,
d
,
e
[
d
])));
L
.
set
(
f
,
"hasDataAttrs"
,
!
0
)}
return
e
}
return
"object"
==
typeof
a
?
this
.
each
(
function
(){
M
.
set
(
this
,
a
)}):
J
(
this
,
function
(
b
){
var
c
,
d
=
n
.
camelCase
(
a
);
if
(
f
&&
void
0
===
b
){
if
(
c
=
M
.
get
(
f
,
a
),
void
0
!==
c
)
return
c
;
if
(
c
=
M
.
get
(
f
,
d
),
void
0
!==
c
)
return
c
;
if
(
c
=
P
(
f
,
d
,
void
0
),
void
0
!==
c
)
return
c
}
else
this
.
each
(
function
(){
var
c
=
M
.
get
(
this
,
d
);
M
.
set
(
this
,
d
,
b
),
-
1
!==
a
.
indexOf
(
"-"
)
&&
void
0
!==
c
&&
M
.
set
(
this
,
a
,
b
)})},
null
,
b
,
arguments
.
length
>
1
,
null
,
!
0
)},
removeData
:
function
(
a
){
return
this
.
each
(
function
(){
M
.
remove
(
this
,
a
)})}}),
n
.
extend
({
queue
:
function
(
a
,
b
,
c
){
var
d
;
return
a
?(
b
=
(
b
||
"fx"
)
+
"queue"
,
d
=
L
.
get
(
a
,
b
),
c
&&
(
!
d
||
n
.
isArray
(
c
)?
d
=
L
.
access
(
a
,
b
,
n
.
makeArray
(
c
)):
d
.
push
(
c
)),
d
||
[]):
void
0
},
dequeue
:
function
(
a
,
b
){
b
=
b
||
"fx"
;
var
c
=
n
.
queue
(
a
,
b
),
d
=
c
.
length
,
e
=
c
.
shift
(),
f
=
n
.
_queueHooks
(
a
,
b
),
g
=
function
(){
n
.
dequeue
(
a
,
b
)};
"inprogress"
===
e
&&
(
e
=
c
.
shift
(),
d
--
),
e
&&
(
"fx"
===
b
&&
c
.
unshift
(
"inprogress"
),
delete
f
.
stop
,
e
.
call
(
a
,
g
,
f
)),
!
d
&&
f
&&
f
.
empty
.
fire
()},
_queueHooks
:
function
(
a
,
b
){
var
c
=
b
+
"queueHooks"
;
return
L
.
get
(
a
,
c
)
||
L
.
access
(
a
,
c
,{
empty
:
n
.
Callbacks
(
"once memory"
).
add
(
function
(){
L
.
remove
(
a
,[
b
+
"queue"
,
c
])})})}}),
n
.
fn
.
extend
({
queue
:
function
(
a
,
b
){
var
c
=
2
;
return
"string"
!=
typeof
a
&&
(
b
=
a
,
a
=
"fx"
,
c
--
),
arguments
.
length
<
c
?
n
.
queue
(
this
[
0
],
a
):
void
0
===
b
?
this
:
this
.
each
(
function
(){
var
c
=
n
.
queue
(
this
,
a
,
b
);
n
.
_queueHooks
(
this
,
a
),
"fx"
===
a
&&
"inprogress"
!==
c
[
0
]
&&
n
.
dequeue
(
this
,
a
)})},
dequeue
:
function
(
a
){
return
this
.
each
(
function
(){
n
.
dequeue
(
this
,
a
)})},
clearQueue
:
function
(
a
){
return
this
.
queue
(
a
||
"fx"
,[])},
promise
:
function
(
a
,
b
){
var
c
,
d
=
1
,
e
=
n
.
Deferred
(),
f
=
this
,
g
=
this
.
length
,
h
=
function
(){
--
d
||
e
.
resolveWith
(
f
,[
f
])};
"string"
!=
typeof
a
&&
(
b
=
a
,
a
=
void
0
),
a
=
a
||
"fx"
;
while
(
g
--
)
c
=
L
.
get
(
f
[
g
],
a
+
"queueHooks"
),
c
&&
c
.
empty
&&
(
d
++
,
c
.
empty
.
add
(
h
));
return
h
(),
e
.
promise
(
b
)}});
var
Q
=
/
[
+-
]?(?:\d
*
\.
|
)\d
+
(?:[
eE
][
+-
]?\d
+|
)
/
.
source
,
R
=
[
"Top"
,
"Right"
,
"Bottom"
,
"Left"
],
S
=
function
(
a
,
b
){
return
a
=
b
||
a
,
"none"
===
n
.
css
(
a
,
"display"
)
||!
n
.
contains
(
a
.
ownerDocument
,
a
)},
T
=
/^
(?:
checkbox|radio
)
$/i
;
!
function
(){
var
a
=
l
.
createDocumentFragment
(),
b
=
a
.
appendChild
(
l
.
createElement
(
"div"
)),
c
=
l
.
createElement
(
"input"
);
c
.
setAttribute
(
"type"
,
"radio"
),
c
.
setAttribute
(
"checked"
,
"checked"
),
c
.
setAttribute
(
"name"
,
"t"
),
b
.
appendChild
(
c
),
k
.
checkClone
=
b
.
cloneNode
(
!
0
).
cloneNode
(
!
0
).
lastChild
.
checked
,
b
.
innerHTML
=
"<textarea>x</textarea>"
,
k
.
noCloneChecked
=!!
b
.
cloneNode
(
!
0
).
lastChild
.
defaultValue
}();
var
U
=
"undefined"
;
k
.
focusinBubbles
=
"onfocusin"
in
a
;
var
V
=
/^key/
,
W
=
/^
(?:
mouse|pointer|contextmenu
)
|click/
,
X
=
/^
(?:
focusinfocus|focusoutblur
)
$/
,
Y
=
/^
([^
.
]
*
)(?:\.(
.+
)
|
)
$/
;
function
Z
(){
return
!
0
}
function
$
(){
return
!
1
}
function
_
(){
try
{
return
l
.
activeElement
}
catch
(
a
){}}
n
.
event
=
{
global
:{},
add
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
,
g
,
h
,
i
,
j
,
k
,
l
,
m
,
o
,
p
,
q
,
r
=
L
.
get
(
a
);
if
(
r
){
c
.
handler
&&
(
f
=
c
,
c
=
f
.
handler
,
e
=
f
.
selector
),
c
.
guid
||
(
c
.
guid
=
n
.
guid
++
),(
i
=
r
.
events
)
||
(
i
=
r
.
events
=
{}),(
g
=
r
.
handle
)
||
(
g
=
r
.
handle
=
function
(
b
){
return
typeof
n
!==
U
&&
n
.
event
.
triggered
!==
b
.
type
?
n
.
event
.
dispatch
.
apply
(
a
,
arguments
):
void
0
}),
b
=
(
b
||
""
).
match
(
E
)
||
[
""
],
j
=
b
.
length
;
while
(
j
--
)
h
=
Y
.
exec
(
b
[
j
])
||
[],
o
=
q
=
h
[
1
],
p
=
(
h
[
2
]
||
""
).
split
(
"."
).
sort
(),
o
&&
(
l
=
n
.
event
.
special
[
o
]
||
{},
o
=
(
e
?
l
.
delegateType
:
l
.
bindType
)
||
o
,
l
=
n
.
event
.
special
[
o
]
||
{},
k
=
n
.
extend
({
type
:
o
,
origType
:
q
,
data
:
d
,
handler
:
c
,
guid
:
c
.
guid
,
selector
:
e
,
needsContext
:
e
&&
n
.
expr
.
match
.
needsContext
.
test
(
e
),
namespace
:
p
.
join
(
"."
)},
f
),(
m
=
i
[
o
])
||
(
m
=
i
[
o
]
=
[],
m
.
delegateCount
=
0
,
l
.
setup
&&
l
.
setup
.
call
(
a
,
d
,
p
,
g
)
!==!
1
||
a
.
addEventListener
&&
a
.
addEventListener
(
o
,
g
,
!
1
)),
l
.
add
&&
(
l
.
add
.
call
(
a
,
k
),
k
.
handler
.
guid
||
(
k
.
handler
.
guid
=
c
.
guid
)),
e
?
m
.
splice
(
m
.
delegateCount
++
,
0
,
k
):
m
.
push
(
k
),
n
.
event
.
global
[
o
]
=!
0
)}},
remove
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
,
g
,
h
,
i
,
j
,
k
,
l
,
m
,
o
,
p
,
q
,
r
=
L
.
hasData
(
a
)
&&
L
.
get
(
a
);
if
(
r
&&
(
i
=
r
.
events
)){
b
=
(
b
||
""
).
match
(
E
)
||
[
""
],
j
=
b
.
length
;
while
(
j
--
)
if
(
h
=
Y
.
exec
(
b
[
j
])
||
[],
o
=
q
=
h
[
1
],
p
=
(
h
[
2
]
||
""
).
split
(
"."
).
sort
(),
o
){
l
=
n
.
event
.
special
[
o
]
||
{},
o
=
(
d
?
l
.
delegateType
:
l
.
bindType
)
||
o
,
m
=
i
[
o
]
||
[],
h
=
h
[
2
]
&&
new
RegExp
(
"(^|
\\
.)"
+
p
.
join
(
"
\\
.(?:.*
\\
.|)"
)
+
"(
\\
.|$)"
),
g
=
f
=
m
.
length
;
while
(
f
--
)
k
=
m
[
f
],
!
e
&&
q
!==
k
.
origType
||
c
&&
c
.
guid
!==
k
.
guid
||
h
&&!
h
.
test
(
k
.
namespace
)
||
d
&&
d
!==
k
.
selector
&&
(
"**"
!==
d
||!
k
.
selector
)
||
(
m
.
splice
(
f
,
1
),
k
.
selector
&&
m
.
delegateCount
--
,
l
.
remove
&&
l
.
remove
.
call
(
a
,
k
));
g
&&!
m
.
length
&&
(
l
.
teardown
&&
l
.
teardown
.
call
(
a
,
p
,
r
.
handle
)
!==!
1
||
n
.
removeEvent
(
a
,
o
,
r
.
handle
),
delete
i
[
o
])}
else
for
(
o
in
i
)
n
.
event
.
remove
(
a
,
o
+
b
[
j
],
c
,
d
,
!
0
);
n
.
isEmptyObject
(
i
)
&&
(
delete
r
.
handle
,
L
.
remove
(
a
,
"events"
))}},
trigger
:
function
(
b
,
c
,
d
,
e
){
var
f
,
g
,
h
,
i
,
k
,
m
,
o
,
p
=
[
d
||
l
],
q
=
j
.
call
(
b
,
"type"
)?
b
.
type
:
b
,
r
=
j
.
call
(
b
,
"namespace"
)?
b
.
namespace
.
split
(
"."
):[];
if
(
g
=
h
=
d
=
d
||
l
,
3
!==
d
.
nodeType
&&
8
!==
d
.
nodeType
&&!
X
.
test
(
q
+
n
.
event
.
triggered
)
&&
(
q
.
indexOf
(
"."
)
>=
0
&&
(
r
=
q
.
split
(
"."
),
q
=
r
.
shift
(),
r
.
sort
()),
k
=
q
.
indexOf
(
":"
)
<
0
&&
"on"
+
q
,
b
=
b
[
n
.
expando
]?
b
:
new
n
.
Event
(
q
,
"object"
==
typeof
b
&&
b
),
b
.
isTrigger
=
e
?
2
:
3
,
b
.
namespace
=
r
.
join
(
"."
),
b
.
namespace_re
=
b
.
namespace
?
new
RegExp
(
"(^|
\\
.)"
+
r
.
join
(
"
\\
.(?:.*
\\
.|)"
)
+
"(
\\
.|$)"
):
null
,
b
.
result
=
void
0
,
b
.
target
||
(
b
.
target
=
d
),
c
=
null
==
c
?[
b
]:
n
.
makeArray
(
c
,[
b
]),
o
=
n
.
event
.
special
[
q
]
||
{},
e
||!
o
.
trigger
||
o
.
trigger
.
apply
(
d
,
c
)
!==!
1
)){
if
(
!
e
&&!
o
.
noBubble
&&!
n
.
isWindow
(
d
)){
for
(
i
=
o
.
delegateType
||
q
,
X
.
test
(
i
+
q
)
||
(
g
=
g
.
parentNode
);
g
;
g
=
g
.
parentNode
)
p
.
push
(
g
),
h
=
g
;
h
===
(
d
.
ownerDocument
||
l
)
&&
p
.
push
(
h
.
defaultView
||
h
.
parentWindow
||
a
)}
f
=
0
;
while
((
g
=
p
[
f
++
])
&&!
b
.
isPropagationStopped
())
b
.
type
=
f
>
1
?
i
:
o
.
bindType
||
q
,
m
=
(
L
.
get
(
g
,
"events"
)
||
{})[
b
.
type
]
&&
L
.
get
(
g
,
"handle"
),
m
&&
m
.
apply
(
g
,
c
),
m
=
k
&&
g
[
k
],
m
&&
m
.
apply
&&
n
.
acceptData
(
g
)
&&
(
b
.
result
=
m
.
apply
(
g
,
c
),
b
.
result
===!
1
&&
b
.
preventDefault
());
return
b
.
type
=
q
,
e
||
b
.
isDefaultPrevented
()
||
o
.
_default
&&
o
.
_default
.
apply
(
p
.
pop
(),
c
)
!==!
1
||!
n
.
acceptData
(
d
)
||
k
&&
n
.
isFunction
(
d
[
q
])
&&!
n
.
isWindow
(
d
)
&&
(
h
=
d
[
k
],
h
&&
(
d
[
k
]
=
null
),
n
.
event
.
triggered
=
q
,
d
[
q
](),
n
.
event
.
triggered
=
void
0
,
h
&&
(
d
[
k
]
=
h
)),
b
.
result
}},
dispatch
:
function
(
a
){
a
=
n
.
event
.
fix
(
a
);
var
b
,
c
,
e
,
f
,
g
,
h
=
[],
i
=
d
.
call
(
arguments
),
j
=
(
L
.
get
(
this
,
"events"
)
||
{})[
a
.
type
]
||
[],
k
=
n
.
event
.
special
[
a
.
type
]
||
{};
if
(
i
[
0
]
=
a
,
a
.
delegateTarget
=
this
,
!
k
.
preDispatch
||
k
.
preDispatch
.
call
(
this
,
a
)
!==!
1
){
h
=
n
.
event
.
handlers
.
call
(
this
,
a
,
j
),
b
=
0
;
while
((
f
=
h
[
b
++
])
&&!
a
.
isPropagationStopped
()){
a
.
currentTarget
=
f
.
elem
,
c
=
0
;
while
((
g
=
f
.
handlers
[
c
++
])
&&!
a
.
isImmediatePropagationStopped
())(
!
a
.
namespace_re
||
a
.
namespace_re
.
test
(
g
.
namespace
))
&&
(
a
.
handleObj
=
g
,
a
.
data
=
g
.
data
,
e
=
((
n
.
event
.
special
[
g
.
origType
]
||
{}).
handle
||
g
.
handler
).
apply
(
f
.
elem
,
i
),
void
0
!==
e
&&
(
a
.
result
=
e
)
===!
1
&&
(
a
.
preventDefault
(),
a
.
stopPropagation
()))}
return
k
.
postDispatch
&&
k
.
postDispatch
.
call
(
this
,
a
),
a
.
result
}},
handlers
:
function
(
a
,
b
){
var
c
,
d
,
e
,
f
,
g
=
[],
h
=
b
.
delegateCount
,
i
=
a
.
target
;
if
(
h
&&
i
.
nodeType
&&
(
!
a
.
button
||
"click"
!==
a
.
type
))
for
(;
i
!==
this
;
i
=
i
.
parentNode
||
this
)
if
(
i
.
disabled
!==!
0
||
"click"
!==
a
.
type
){
for
(
d
=
[],
c
=
0
;
h
>
c
;
c
++
)
f
=
b
[
c
],
e
=
f
.
selector
+
" "
,
void
0
===
d
[
e
]
&&
(
d
[
e
]
=
f
.
needsContext
?
n
(
e
,
this
).
index
(
i
)
>=
0
:
n
.
find
(
e
,
this
,
null
,[
i
]).
length
),
d
[
e
]
&&
d
.
push
(
f
);
d
.
length
&&
g
.
push
({
elem
:
i
,
handlers
:
d
})}
return
h
<
b
.
length
&&
g
.
push
({
elem
:
this
,
handlers
:
b
.
slice
(
h
)}),
g
},
props
:
"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which"
.
split
(
" "
),
fixHooks
:{},
keyHooks
:{
props
:
"char charCode key keyCode"
.
split
(
" "
),
filter
:
function
(
a
,
b
){
return
null
==
a
.
which
&&
(
a
.
which
=
null
!=
b
.
charCode
?
b
.
charCode
:
b
.
keyCode
),
a
}},
mouseHooks
:{
props
:
"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement"
.
split
(
" "
),
filter
:
function
(
a
,
b
){
var
c
,
d
,
e
,
f
=
b
.
button
;
return
null
==
a
.
pageX
&&
null
!=
b
.
clientX
&&
(
c
=
a
.
target
.
ownerDocument
||
l
,
d
=
c
.
documentElement
,
e
=
c
.
body
,
a
.
pageX
=
b
.
clientX
+
(
d
&&
d
.
scrollLeft
||
e
&&
e
.
scrollLeft
||
0
)
-
(
d
&&
d
.
clientLeft
||
e
&&
e
.
clientLeft
||
0
),
a
.
pageY
=
b
.
clientY
+
(
d
&&
d
.
scrollTop
||
e
&&
e
.
scrollTop
||
0
)
-
(
d
&&
d
.
clientTop
||
e
&&
e
.
clientTop
||
0
)),
a
.
which
||
void
0
===
f
||
(
a
.
which
=
1
&
f
?
1
:
2
&
f
?
3
:
4
&
f
?
2
:
0
),
a
}},
fix
:
function
(
a
){
if
(
a
[
n
.
expando
])
return
a
;
var
b
,
c
,
d
,
e
=
a
.
type
,
f
=
a
,
g
=
this
.
fixHooks
[
e
];
g
||
(
this
.
fixHooks
[
e
]
=
g
=
W
.
test
(
e
)?
this
.
mouseHooks
:
V
.
test
(
e
)?
this
.
keyHooks
:{}),
d
=
g
.
props
?
this
.
props
.
concat
(
g
.
props
):
this
.
props
,
a
=
new
n
.
Event
(
f
),
b
=
d
.
length
;
while
(
b
--
)
c
=
d
[
b
],
a
[
c
]
=
f
[
c
];
return
a
.
target
||
(
a
.
target
=
l
),
3
===
a
.
target
.
nodeType
&&
(
a
.
target
=
a
.
target
.
parentNode
),
g
.
filter
?
g
.
filter
(
a
,
f
):
a
},
special
:{
load
:{
noBubble
:
!
0
},
focus
:{
trigger
:
function
(){
return
this
!==
_
()
&&
this
.
focus
?(
this
.
focus
(),
!
1
):
void
0
},
delegateType
:
"focusin"
},
blur
:{
trigger
:
function
(){
return
this
===
_
()
&&
this
.
blur
?(
this
.
blur
(),
!
1
):
void
0
},
delegateType
:
"focusout"
},
click
:{
trigger
:
function
(){
return
"checkbox"
===
this
.
type
&&
this
.
click
&&
n
.
nodeName
(
this
,
"input"
)?(
this
.
click
(),
!
1
):
void
0
},
_default
:
function
(
a
){
return
n
.
nodeName
(
a
.
target
,
"a"
)}},
beforeunload
:{
postDispatch
:
function
(
a
){
void
0
!==
a
.
result
&&
a
.
originalEvent
&&
(
a
.
originalEvent
.
returnValue
=
a
.
result
)}}},
simulate
:
function
(
a
,
b
,
c
,
d
){
var
e
=
n
.
extend
(
new
n
.
Event
,
c
,{
type
:
a
,
isSimulated
:
!
0
,
originalEvent
:{}});
d
?
n
.
event
.
trigger
(
e
,
null
,
b
):
n
.
event
.
dispatch
.
call
(
b
,
e
),
e
.
isDefaultPrevented
()
&&
c
.
preventDefault
()}},
n
.
removeEvent
=
function
(
a
,
b
,
c
){
a
.
removeEventListener
&&
a
.
removeEventListener
(
b
,
c
,
!
1
)},
n
.
Event
=
function
(
a
,
b
){
return
this
instanceof
n
.
Event
?(
a
&&
a
.
type
?(
this
.
originalEvent
=
a
,
this
.
type
=
a
.
type
,
this
.
isDefaultPrevented
=
a
.
defaultPrevented
||
void
0
===
a
.
defaultPrevented
&&
a
.
returnValue
===!
1
?
Z
:
$
):
this
.
type
=
a
,
b
&&
n
.
extend
(
this
,
b
),
this
.
timeStamp
=
a
&&
a
.
timeStamp
||
n
.
now
(),
void
(
this
[
n
.
expando
]
=!
0
)):
new
n
.
Event
(
a
,
b
)},
n
.
Event
.
prototype
=
{
isDefaultPrevented
:
$
,
isPropagationStopped
:
$
,
isImmediatePropagationStopped
:
$
,
preventDefault
:
function
(){
var
a
=
this
.
originalEvent
;
this
.
isDefaultPrevented
=
Z
,
a
&&
a
.
preventDefault
&&
a
.
preventDefault
()},
stopPropagation
:
function
(){
var
a
=
this
.
originalEvent
;
this
.
isPropagationStopped
=
Z
,
a
&&
a
.
stopPropagation
&&
a
.
stopPropagation
()},
stopImmediatePropagation
:
function
(){
var
a
=
this
.
originalEvent
;
this
.
isImmediatePropagationStopped
=
Z
,
a
&&
a
.
stopImmediatePropagation
&&
a
.
stopImmediatePropagation
(),
this
.
stopPropagation
()}},
n
.
each
({
mouseenter
:
"mouseover"
,
mouseleave
:
"mouseout"
,
pointerenter
:
"pointerover"
,
pointerleave
:
"pointerout"
},
function
(
a
,
b
){
n
.
event
.
special
[
a
]
=
{
delegateType
:
b
,
bindType
:
b
,
handle
:
function
(
a
){
var
c
,
d
=
this
,
e
=
a
.
relatedTarget
,
f
=
a
.
handleObj
;
return
(
!
e
||
e
!==
d
&&!
n
.
contains
(
d
,
e
))
&&
(
a
.
type
=
f
.
origType
,
c
=
f
.
handler
.
apply
(
this
,
arguments
),
a
.
type
=
b
),
c
}}}),
k
.
focusinBubbles
||
n
.
each
({
focus
:
"focusin"
,
blur
:
"focusout"
},
function
(
a
,
b
){
var
c
=
function
(
a
){
n
.
event
.
simulate
(
b
,
a
.
target
,
n
.
event
.
fix
(
a
),
!
0
)};
n
.
event
.
special
[
b
]
=
{
setup
:
function
(){
var
d
=
this
.
ownerDocument
||
this
,
e
=
L
.
access
(
d
,
b
);
e
||
d
.
addEventListener
(
a
,
c
,
!
0
),
L
.
access
(
d
,
b
,(
e
||
0
)
+
1
)},
teardown
:
function
(){
var
d
=
this
.
ownerDocument
||
this
,
e
=
L
.
access
(
d
,
b
)
-
1
;
e
?
L
.
access
(
d
,
b
,
e
):(
d
.
removeEventListener
(
a
,
c
,
!
0
),
L
.
remove
(
d
,
b
))}}}),
n
.
fn
.
extend
({
on
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
,
g
;
if
(
"object"
==
typeof
a
){
"string"
!=
typeof
b
&&
(
c
=
c
||
b
,
b
=
void
0
);
for
(
g
in
a
)
this
.
on
(
g
,
b
,
c
,
a
[
g
],
e
);
return
this
}
if
(
null
==
c
&&
null
==
d
?(
d
=
b
,
c
=
b
=
void
0
):
null
==
d
&&
(
"string"
==
typeof
b
?(
d
=
c
,
c
=
void
0
):(
d
=
c
,
c
=
b
,
b
=
void
0
)),
d
===!
1
)
d
=
$
;
else
if
(
!
d
)
return
this
;
return
1
===
e
&&
(
f
=
d
,
d
=
function
(
a
){
return
n
().
off
(
a
),
f
.
apply
(
this
,
arguments
)},
d
.
guid
=
f
.
guid
||
(
f
.
guid
=
n
.
guid
++
)),
this
.
each
(
function
(){
n
.
event
.
add
(
this
,
a
,
d
,
c
,
b
)})},
one
:
function
(
a
,
b
,
c
,
d
){
return
this
.
on
(
a
,
b
,
c
,
d
,
1
)},
off
:
function
(
a
,
b
,
c
){
var
d
,
e
;
if
(
a
&&
a
.
preventDefault
&&
a
.
handleObj
)
return
d
=
a
.
handleObj
,
n
(
a
.
delegateTarget
).
off
(
d
.
namespace
?
d
.
origType
+
"."
+
d
.
namespace
:
d
.
origType
,
d
.
selector
,
d
.
handler
),
this
;
if
(
"object"
==
typeof
a
){
for
(
e
in
a
)
this
.
off
(
e
,
b
,
a
[
e
]);
return
this
}
return
(
b
===!
1
||
"function"
==
typeof
b
)
&&
(
c
=
b
,
b
=
void
0
),
c
===!
1
&&
(
c
=
$
),
this
.
each
(
function
(){
n
.
event
.
remove
(
this
,
a
,
c
,
b
)})},
trigger
:
function
(
a
,
b
){
return
this
.
each
(
function
(){
n
.
event
.
trigger
(
a
,
b
,
this
)})},
triggerHandler
:
function
(
a
,
b
){
var
c
=
this
[
0
];
return
c
?
n
.
event
.
trigger
(
a
,
b
,
c
,
!
0
):
void
0
}});
var
ab
=
/<
(?!
area|br|col|embed|hr|img|input|link|meta|param
)(([\w
:
]
+
)[^
>
]
*
)\/
>/gi
,
bb
=
/<
([\w
:
]
+
)
/
,
cb
=
/<|&#
?\w
+;/
,
db
=
/<
(?:
script|style|link
)
/i
,
eb
=
/checked
\s
*
(?:[^
=
]
|=
\s
*.checked.
)
/i
,
fb
=
/^$|
\/(?:
java|ecma
)
script/i
,
gb
=
/^true
\/(
.*
)
/
,
hb
=
/^
\s
*<!
(?:\[
CDATA
\[
|--
)
|
(?:\]\]
|--
)
>
\s
*$/g
,
ib
=
{
option
:[
1
,
"<select multiple='multiple'>"
,
"</select>"
],
thead
:[
1
,
"<table>"
,
"</table>"
],
col
:[
2
,
"<table><colgroup>"
,
"</colgroup></table>"
],
tr
:[
2
,
"<table><tbody>"
,
"</tbody></table>"
],
td
:[
3
,
"<table><tbody><tr>"
,
"</tr></tbody></table>"
],
_default
:[
0
,
""
,
""
]};
ib
.
optgroup
=
ib
.
option
,
ib
.
tbody
=
ib
.
tfoot
=
ib
.
colgroup
=
ib
.
caption
=
ib
.
thead
,
ib
.
th
=
ib
.
td
;
function
jb
(
a
,
b
){
return
n
.
nodeName
(
a
,
"table"
)
&&
n
.
nodeName
(
11
!==
b
.
nodeType
?
b
:
b
.
firstChild
,
"tr"
)?
a
.
getElementsByTagName
(
"tbody"
)[
0
]
||
a
.
appendChild
(
a
.
ownerDocument
.
createElement
(
"tbody"
)):
a
}
function
kb
(
a
){
return
a
.
type
=
(
null
!==
a
.
getAttribute
(
"type"
))
+
"/"
+
a
.
type
,
a
}
function
lb
(
a
){
var
b
=
gb
.
exec
(
a
.
type
);
return
b
?
a
.
type
=
b
[
1
]:
a
.
removeAttribute
(
"type"
),
a
}
function
mb
(
a
,
b
){
for
(
var
c
=
0
,
d
=
a
.
length
;
d
>
c
;
c
++
)
L
.
set
(
a
[
c
],
"globalEval"
,
!
b
||
L
.
get
(
b
[
c
],
"globalEval"
))}
function
nb
(
a
,
b
){
var
c
,
d
,
e
,
f
,
g
,
h
,
i
,
j
;
if
(
1
===
b
.
nodeType
){
if
(
L
.
hasData
(
a
)
&&
(
f
=
L
.
access
(
a
),
g
=
L
.
set
(
b
,
f
),
j
=
f
.
events
)){
delete
g
.
handle
,
g
.
events
=
{};
for
(
e
in
j
)
for
(
c
=
0
,
d
=
j
[
e
].
length
;
d
>
c
;
c
++
)
n
.
event
.
add
(
b
,
e
,
j
[
e
][
c
])}
M
.
hasData
(
a
)
&&
(
h
=
M
.
access
(
a
),
i
=
n
.
extend
({},
h
),
M
.
set
(
b
,
i
))}}
function
ob
(
a
,
b
){
var
c
=
a
.
getElementsByTagName
?
a
.
getElementsByTagName
(
b
||
"*"
):
a
.
querySelectorAll
?
a
.
querySelectorAll
(
b
||
"*"
):[];
return
void
0
===
b
||
b
&&
n
.
nodeName
(
a
,
b
)?
n
.
merge
([
a
],
c
):
c
}
function
pb
(
a
,
b
){
var
c
=
b
.
nodeName
.
toLowerCase
();
"input"
===
c
&&
T
.
test
(
a
.
type
)?
b
.
checked
=
a
.
checked
:(
"input"
===
c
||
"textarea"
===
c
)
&&
(
b
.
defaultValue
=
a
.
defaultValue
)}
n
.
extend
({
clone
:
function
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
,
h
=
a
.
cloneNode
(
!
0
),
i
=
n
.
contains
(
a
.
ownerDocument
,
a
);
if
(
!
(
k
.
noCloneChecked
||
1
!==
a
.
nodeType
&&
11
!==
a
.
nodeType
||
n
.
isXMLDoc
(
a
)))
for
(
g
=
ob
(
h
),
f
=
ob
(
a
),
d
=
0
,
e
=
f
.
length
;
e
>
d
;
d
++
)
pb
(
f
[
d
],
g
[
d
]);
if
(
b
)
if
(
c
)
for
(
f
=
f
||
ob
(
a
),
g
=
g
||
ob
(
h
),
d
=
0
,
e
=
f
.
length
;
e
>
d
;
d
++
)
nb
(
f
[
d
],
g
[
d
]);
else
nb
(
a
,
h
);
return
g
=
ob
(
h
,
"script"
),
g
.
length
>
0
&&
mb
(
g
,
!
i
&&
ob
(
a
,
"script"
)),
h
},
buildFragment
:
function
(
a
,
b
,
c
,
d
){
for
(
var
e
,
f
,
g
,
h
,
i
,
j
,
k
=
b
.
createDocumentFragment
(),
l
=
[],
m
=
0
,
o
=
a
.
length
;
o
>
m
;
m
++
)
if
(
e
=
a
[
m
],
e
||
0
===
e
)
if
(
"object"
===
n
.
type
(
e
))
n
.
merge
(
l
,
e
.
nodeType
?[
e
]:
e
);
else
if
(
cb
.
test
(
e
)){
f
=
f
||
k
.
appendChild
(
b
.
createElement
(
"div"
)),
g
=
(
bb
.
exec
(
e
)
||
[
""
,
""
])[
1
].
toLowerCase
(),
h
=
ib
[
g
]
||
ib
.
_default
,
f
.
innerHTML
=
h
[
1
]
+
e
.
replace
(
ab
,
"<$1></$2>"
)
+
h
[
2
],
j
=
h
[
0
];
while
(
j
--
)
f
=
f
.
lastChild
;
n
.
merge
(
l
,
f
.
childNodes
),
f
=
k
.
firstChild
,
f
.
textContent
=
""
}
else
l
.
push
(
b
.
createTextNode
(
e
));
k
.
textContent
=
""
,
m
=
0
;
while
(
e
=
l
[
m
++
])
if
((
!
d
||-
1
===
n
.
inArray
(
e
,
d
))
&&
(
i
=
n
.
contains
(
e
.
ownerDocument
,
e
),
f
=
ob
(
k
.
appendChild
(
e
),
"script"
),
i
&&
mb
(
f
),
c
)){
j
=
0
;
while
(
e
=
f
[
j
++
])
fb
.
test
(
e
.
type
||
""
)
&&
c
.
push
(
e
)}
return
k
},
cleanData
:
function
(
a
){
for
(
var
b
,
c
,
d
,
e
,
f
=
n
.
event
.
special
,
g
=
0
;
void
0
!==
(
c
=
a
[
g
]);
g
++
){
if
(
n
.
acceptData
(
c
)
&&
(
e
=
c
[
L
.
expando
],
e
&&
(
b
=
L
.
cache
[
e
]))){
if
(
b
.
events
)
for
(
d
in
b
.
events
)
f
[
d
]?
n
.
event
.
remove
(
c
,
d
):
n
.
removeEvent
(
c
,
d
,
b
.
handle
);
L
.
cache
[
e
]
&&
delete
L
.
cache
[
e
]}
delete
M
.
cache
[
c
[
M
.
expando
]]}}}),
n
.
fn
.
extend
({
text
:
function
(
a
){
return
J
(
this
,
function
(
a
){
return
void
0
===
a
?
n
.
text
(
this
):
this
.
empty
().
each
(
function
(){(
1
===
this
.
nodeType
||
11
===
this
.
nodeType
||
9
===
this
.
nodeType
)
&&
(
this
.
textContent
=
a
)})},
null
,
a
,
arguments
.
length
)},
append
:
function
(){
return
this
.
domManip
(
arguments
,
function
(
a
){
if
(
1
===
this
.
nodeType
||
11
===
this
.
nodeType
||
9
===
this
.
nodeType
){
var
b
=
jb
(
this
,
a
);
b
.
appendChild
(
a
)}})},
prepend
:
function
(){
return
this
.
domManip
(
arguments
,
function
(
a
){
if
(
1
===
this
.
nodeType
||
11
===
this
.
nodeType
||
9
===
this
.
nodeType
){
var
b
=
jb
(
this
,
a
);
b
.
insertBefore
(
a
,
b
.
firstChild
)}})},
before
:
function
(){
return
this
.
domManip
(
arguments
,
function
(
a
){
this
.
parentNode
&&
this
.
parentNode
.
insertBefore
(
a
,
this
)})},
after
:
function
(){
return
this
.
domManip
(
arguments
,
function
(
a
){
this
.
parentNode
&&
this
.
parentNode
.
insertBefore
(
a
,
this
.
nextSibling
)})},
remove
:
function
(
a
,
b
){
for
(
var
c
,
d
=
a
?
n
.
filter
(
a
,
this
):
this
,
e
=
0
;
null
!=
(
c
=
d
[
e
]);
e
++
)
b
||
1
!==
c
.
nodeType
||
n
.
cleanData
(
ob
(
c
)),
c
.
parentNode
&&
(
b
&&
n
.
contains
(
c
.
ownerDocument
,
c
)
&&
mb
(
ob
(
c
,
"script"
)),
c
.
parentNode
.
removeChild
(
c
));
return
this
},
empty
:
function
(){
for
(
var
a
,
b
=
0
;
null
!=
(
a
=
this
[
b
]);
b
++
)
1
===
a
.
nodeType
&&
(
n
.
cleanData
(
ob
(
a
,
!
1
)),
a
.
textContent
=
""
);
return
this
},
clone
:
function
(
a
,
b
){
return
a
=
null
==
a
?
!
1
:
a
,
b
=
null
==
b
?
a
:
b
,
this
.
map
(
function
(){
return
n
.
clone
(
this
,
a
,
b
)})},
html
:
function
(
a
){
return
J
(
this
,
function
(
a
){
var
b
=
this
[
0
]
||
{},
c
=
0
,
d
=
this
.
length
;
if
(
void
0
===
a
&&
1
===
b
.
nodeType
)
return
b
.
innerHTML
;
if
(
"string"
==
typeof
a
&&!
db
.
test
(
a
)
&&!
ib
[(
bb
.
exec
(
a
)
||
[
""
,
""
])[
1
].
toLowerCase
()]){
a
=
a
.
replace
(
ab
,
"<$1></$2>"
);
try
{
for
(;
d
>
c
;
c
++
)
b
=
this
[
c
]
||
{},
1
===
b
.
nodeType
&&
(
n
.
cleanData
(
ob
(
b
,
!
1
)),
b
.
innerHTML
=
a
);
b
=
0
}
catch
(
e
){}}
b
&&
this
.
empty
().
append
(
a
)},
null
,
a
,
arguments
.
length
)},
replaceWith
:
function
(){
var
a
=
arguments
[
0
];
return
this
.
domManip
(
arguments
,
function
(
b
){
a
=
this
.
parentNode
,
n
.
cleanData
(
ob
(
this
)),
a
&&
a
.
replaceChild
(
b
,
this
)}),
a
&&
(
a
.
length
||
a
.
nodeType
)?
this
:
this
.
remove
()},
detach
:
function
(
a
){
return
this
.
remove
(
a
,
!
0
)},
domManip
:
function
(
a
,
b
){
a
=
e
.
apply
([],
a
);
var
c
,
d
,
f
,
g
,
h
,
i
,
j
=
0
,
l
=
this
.
length
,
m
=
this
,
o
=
l
-
1
,
p
=
a
[
0
],
q
=
n
.
isFunction
(
p
);
if
(
q
||
l
>
1
&&
"string"
==
typeof
p
&&!
k
.
checkClone
&&
eb
.
test
(
p
))
return
this
.
each
(
function
(
c
){
var
d
=
m
.
eq
(
c
);
q
&&
(
a
[
0
]
=
p
.
call
(
this
,
c
,
d
.
html
())),
d
.
domManip
(
a
,
b
)});
if
(
l
&&
(
c
=
n
.
buildFragment
(
a
,
this
[
0
].
ownerDocument
,
!
1
,
this
),
d
=
c
.
firstChild
,
1
===
c
.
childNodes
.
length
&&
(
c
=
d
),
d
)){
for
(
f
=
n
.
map
(
ob
(
c
,
"script"
),
kb
),
g
=
f
.
length
;
l
>
j
;
j
++
)
h
=
c
,
j
!==
o
&&
(
h
=
n
.
clone
(
h
,
!
0
,
!
0
),
g
&&
n
.
merge
(
f
,
ob
(
h
,
"script"
))),
b
.
call
(
this
[
j
],
h
,
j
);
if
(
g
)
for
(
i
=
f
[
f
.
length
-
1
].
ownerDocument
,
n
.
map
(
f
,
lb
),
j
=
0
;
g
>
j
;
j
++
)
h
=
f
[
j
],
fb
.
test
(
h
.
type
||
""
)
&&!
L
.
access
(
h
,
"globalEval"
)
&&
n
.
contains
(
i
,
h
)
&&
(
h
.
src
?
n
.
_evalUrl
&&
n
.
_evalUrl
(
h
.
src
):
n
.
globalEval
(
h
.
textContent
.
replace
(
hb
,
""
)))}
return
this
}}),
n
.
each
({
appendTo
:
"append"
,
prependTo
:
"prepend"
,
insertBefore
:
"before"
,
insertAfter
:
"after"
,
replaceAll
:
"replaceWith"
},
function
(
a
,
b
){
n
.
fn
[
a
]
=
function
(
a
){
for
(
var
c
,
d
=
[],
e
=
n
(
a
),
g
=
e
.
length
-
1
,
h
=
0
;
g
>=
h
;
h
++
)
c
=
h
===
g
?
this
:
this
.
clone
(
!
0
),
n
(
e
[
h
])[
b
](
c
),
f
.
apply
(
d
,
c
.
get
());
return
this
.
pushStack
(
d
)}});
var
qb
,
rb
=
{};
function
sb
(
b
,
c
){
var
d
,
e
=
n
(
c
.
createElement
(
b
)).
appendTo
(
c
.
body
),
f
=
a
.
getDefaultComputedStyle
&&
(
d
=
a
.
getDefaultComputedStyle
(
e
[
0
]))?
d
.
display
:
n
.
css
(
e
[
0
],
"display"
);
return
e
.
detach
(),
f
}
function
tb
(
a
){
var
b
=
l
,
c
=
rb
[
a
];
return
c
||
(
c
=
sb
(
a
,
b
),
"none"
!==
c
&&
c
||
(
qb
=
(
qb
||
n
(
"<iframe frameborder='0' width='0' height='0'/>"
)).
appendTo
(
b
.
documentElement
),
b
=
qb
[
0
].
contentDocument
,
b
.
write
(),
b
.
close
(),
c
=
sb
(
a
,
b
),
qb
.
detach
()),
rb
[
a
]
=
c
),
c
}
var
ub
=
/^margin/
,
vb
=
new
RegExp
(
"^("
+
Q
+
")(?!px)[a-z%]+$"
,
"i"
),
wb
=
function
(
a
){
return
a
.
ownerDocument
.
defaultView
.
getComputedStyle
(
a
,
null
)};
function
xb
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
,
h
=
a
.
style
;
return
c
=
c
||
wb
(
a
),
c
&&
(
g
=
c
.
getPropertyValue
(
b
)
||
c
[
b
]),
c
&&
(
""
!==
g
||
n
.
contains
(
a
.
ownerDocument
,
a
)
||
(
g
=
n
.
style
(
a
,
b
)),
vb
.
test
(
g
)
&&
ub
.
test
(
b
)
&&
(
d
=
h
.
width
,
e
=
h
.
minWidth
,
f
=
h
.
maxWidth
,
h
.
minWidth
=
h
.
maxWidth
=
h
.
width
=
g
,
g
=
c
.
width
,
h
.
width
=
d
,
h
.
minWidth
=
e
,
h
.
maxWidth
=
f
)),
void
0
!==
g
?
g
+
""
:
g
}
function
yb
(
a
,
b
){
return
{
get
:
function
(){
return
a
()?
void
delete
this
.
get
:(
this
.
get
=
b
).
apply
(
this
,
arguments
)}}}
!
function
(){
var
b
,
c
,
d
=
l
.
documentElement
,
e
=
l
.
createElement
(
"div"
),
f
=
l
.
createElement
(
"div"
);
if
(
f
.
style
){
f
.
style
.
backgroundClip
=
"content-box"
,
f
.
cloneNode
(
!
0
).
style
.
backgroundClip
=
""
,
k
.
clearCloneStyle
=
"content-box"
===
f
.
style
.
backgroundClip
,
e
.
style
.
cssText
=
"border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute"
,
e
.
appendChild
(
f
);
function
g
(){
f
.
style
.
cssText
=
"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute"
,
f
.
innerHTML
=
""
,
d
.
appendChild
(
e
);
var
g
=
a
.
getComputedStyle
(
f
,
null
);
b
=
"1%"
!==
g
.
top
,
c
=
"4px"
===
g
.
width
,
d
.
removeChild
(
e
)}
a
.
getComputedStyle
&&
n
.
extend
(
k
,{
pixelPosition
:
function
(){
return
g
(),
b
},
boxSizingReliable
:
function
(){
return
null
==
c
&&
g
(),
c
},
reliableMarginRight
:
function
(){
var
b
,
c
=
f
.
appendChild
(
l
.
createElement
(
"div"
));
return
c
.
style
.
cssText
=
f
.
style
.
cssText
=
"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0"
,
c
.
style
.
marginRight
=
c
.
style
.
width
=
"0"
,
f
.
style
.
width
=
"1px"
,
d
.
appendChild
(
e
),
b
=!
parseFloat
(
a
.
getComputedStyle
(
c
,
null
).
marginRight
),
d
.
removeChild
(
e
),
b
}})}}(),
n
.
swap
=
function
(
a
,
b
,
c
,
d
){
var
e
,
f
,
g
=
{};
for
(
f
in
b
)
g
[
f
]
=
a
.
style
[
f
],
a
.
style
[
f
]
=
b
[
f
];
e
=
c
.
apply
(
a
,
d
||
[]);
for
(
f
in
b
)
a
.
style
[
f
]
=
g
[
f
];
return
e
};
var
zb
=
/^
(
none|table
(?!
-c
[
ea
])
.+
)
/
,
Ab
=
new
RegExp
(
"^("
+
Q
+
")(.*)$"
,
"i"
),
Bb
=
new
RegExp
(
"^([+-])=("
+
Q
+
")"
,
"i"
),
Cb
=
{
position
:
"absolute"
,
visibility
:
"hidden"
,
display
:
"block"
},
Db
=
{
letterSpacing
:
"0"
,
fontWeight
:
"400"
},
Eb
=
[
"Webkit"
,
"O"
,
"Moz"
,
"ms"
];
function
Fb
(
a
,
b
){
if
(
b
in
a
)
return
b
;
var
c
=
b
[
0
].
toUpperCase
()
+
b
.
slice
(
1
),
d
=
b
,
e
=
Eb
.
length
;
while
(
e
--
)
if
(
b
=
Eb
[
e
]
+
c
,
b
in
a
)
return
b
;
return
d
}
function
Gb
(
a
,
b
,
c
){
var
d
=
Ab
.
exec
(
b
);
return
d
?
Math
.
max
(
0
,
d
[
1
]
-
(
c
||
0
))
+
(
d
[
2
]
||
"px"
):
b
}
function
Hb
(
a
,
b
,
c
,
d
,
e
){
for
(
var
f
=
c
===
(
d
?
"border"
:
"content"
)?
4
:
"width"
===
b
?
1
:
0
,
g
=
0
;
4
>
f
;
f
+=
2
)
"margin"
===
c
&&
(
g
+=
n
.
css
(
a
,
c
+
R
[
f
],
!
0
,
e
)),
d
?(
"content"
===
c
&&
(
g
-=
n
.
css
(
a
,
"padding"
+
R
[
f
],
!
0
,
e
)),
"margin"
!==
c
&&
(
g
-=
n
.
css
(
a
,
"border"
+
R
[
f
]
+
"Width"
,
!
0
,
e
))):(
g
+=
n
.
css
(
a
,
"padding"
+
R
[
f
],
!
0
,
e
),
"padding"
!==
c
&&
(
g
+=
n
.
css
(
a
,
"border"
+
R
[
f
]
+
"Width"
,
!
0
,
e
)));
return
g
}
function
Ib
(
a
,
b
,
c
){
var
d
=!
0
,
e
=
"width"
===
b
?
a
.
offsetWidth
:
a
.
offsetHeight
,
f
=
wb
(
a
),
g
=
"border-box"
===
n
.
css
(
a
,
"boxSizing"
,
!
1
,
f
);
if
(
0
>=
e
||
null
==
e
){
if
(
e
=
xb
(
a
,
b
,
f
),(
0
>
e
||
null
==
e
)
&&
(
e
=
a
.
style
[
b
]),
vb
.
test
(
e
))
return
e
;
d
=
g
&&
(
k
.
boxSizingReliable
()
||
e
===
a
.
style
[
b
]),
e
=
parseFloat
(
e
)
||
0
}
return
e
+
Hb
(
a
,
b
,
c
||
(
g
?
"border"
:
"content"
),
d
,
f
)
+
"px"
}
function
Jb
(
a
,
b
){
for
(
var
c
,
d
,
e
,
f
=
[],
g
=
0
,
h
=
a
.
length
;
h
>
g
;
g
++
)
d
=
a
[
g
],
d
.
style
&&
(
f
[
g
]
=
L
.
get
(
d
,
"olddisplay"
),
c
=
d
.
style
.
display
,
b
?(
f
[
g
]
||
"none"
!==
c
||
(
d
.
style
.
display
=
""
),
""
===
d
.
style
.
display
&&
S
(
d
)
&&
(
f
[
g
]
=
L
.
access
(
d
,
"olddisplay"
,
tb
(
d
.
nodeName
)))):(
e
=
S
(
d
),
"none"
===
c
&&
e
||
L
.
set
(
d
,
"olddisplay"
,
e
?
c
:
n
.
css
(
d
,
"display"
))));
for
(
g
=
0
;
h
>
g
;
g
++
)
d
=
a
[
g
],
d
.
style
&&
(
b
&&
"none"
!==
d
.
style
.
display
&&
""
!==
d
.
style
.
display
||
(
d
.
style
.
display
=
b
?
f
[
g
]
||
""
:
"none"
));
return
a
}
n
.
extend
({
cssHooks
:{
opacity
:{
get
:
function
(
a
,
b
){
if
(
b
){
var
c
=
xb
(
a
,
"opacity"
);
return
""
===
c
?
"1"
:
c
}}}},
cssNumber
:{
columnCount
:
!
0
,
fillOpacity
:
!
0
,
flexGrow
:
!
0
,
flexShrink
:
!
0
,
fontWeight
:
!
0
,
lineHeight
:
!
0
,
opacity
:
!
0
,
order
:
!
0
,
orphans
:
!
0
,
widows
:
!
0
,
zIndex
:
!
0
,
zoom
:
!
0
},
cssProps
:{
"float"
:
"cssFloat"
},
style
:
function
(
a
,
b
,
c
,
d
){
if
(
a
&&
3
!==
a
.
nodeType
&&
8
!==
a
.
nodeType
&&
a
.
style
){
var
e
,
f
,
g
,
h
=
n
.
camelCase
(
b
),
i
=
a
.
style
;
return
b
=
n
.
cssProps
[
h
]
||
(
n
.
cssProps
[
h
]
=
Fb
(
i
,
h
)),
g
=
n
.
cssHooks
[
b
]
||
n
.
cssHooks
[
h
],
void
0
===
c
?
g
&&
"get"
in
g
&&
void
0
!==
(
e
=
g
.
get
(
a
,
!
1
,
d
))?
e
:
i
[
b
]:(
f
=
typeof
c
,
"string"
===
f
&&
(
e
=
Bb
.
exec
(
c
))
&&
(
c
=
(
e
[
1
]
+
1
)
*
e
[
2
]
+
parseFloat
(
n
.
css
(
a
,
b
)),
f
=
"number"
),
null
!=
c
&&
c
===
c
&&
(
"number"
!==
f
||
n
.
cssNumber
[
h
]
||
(
c
+=
"px"
),
k
.
clearCloneStyle
||
""
!==
c
||
0
!==
b
.
indexOf
(
"background"
)
||
(
i
[
b
]
=
"inherit"
),
g
&&
"set"
in
g
&&
void
0
===
(
c
=
g
.
set
(
a
,
c
,
d
))
||
(
i
[
b
]
=
c
)),
void
0
)}},
css
:
function
(
a
,
b
,
c
,
d
){
var
e
,
f
,
g
,
h
=
n
.
camelCase
(
b
);
return
b
=
n
.
cssProps
[
h
]
||
(
n
.
cssProps
[
h
]
=
Fb
(
a
.
style
,
h
)),
g
=
n
.
cssHooks
[
b
]
||
n
.
cssHooks
[
h
],
g
&&
"get"
in
g
&&
(
e
=
g
.
get
(
a
,
!
0
,
c
)),
void
0
===
e
&&
(
e
=
xb
(
a
,
b
,
d
)),
"normal"
===
e
&&
b
in
Db
&&
(
e
=
Db
[
b
]),
""
===
c
||
c
?(
f
=
parseFloat
(
e
),
c
===!
0
||
n
.
isNumeric
(
f
)?
f
||
0
:
e
):
e
}}),
n
.
each
([
"height"
,
"width"
],
function
(
a
,
b
){
n
.
cssHooks
[
b
]
=
{
get
:
function
(
a
,
c
,
d
){
return
c
?
zb
.
test
(
n
.
css
(
a
,
"display"
))
&&
0
===
a
.
offsetWidth
?
n
.
swap
(
a
,
Cb
,
function
(){
return
Ib
(
a
,
b
,
d
)}):
Ib
(
a
,
b
,
d
):
void
0
},
set
:
function
(
a
,
c
,
d
){
var
e
=
d
&&
wb
(
a
);
return
Gb
(
a
,
c
,
d
?
Hb
(
a
,
b
,
d
,
"border-box"
===
n
.
css
(
a
,
"boxSizing"
,
!
1
,
e
),
e
):
0
)}}}),
n
.
cssHooks
.
marginRight
=
yb
(
k
.
reliableMarginRight
,
function
(
a
,
b
){
return
b
?
n
.
swap
(
a
,{
display
:
"inline-block"
},
xb
,[
a
,
"marginRight"
]):
void
0
}),
n
.
each
({
margin
:
""
,
padding
:
""
,
border
:
"Width"
},
function
(
a
,
b
){
n
.
cssHooks
[
a
+
b
]
=
{
expand
:
function
(
c
){
for
(
var
d
=
0
,
e
=
{},
f
=
"string"
==
typeof
c
?
c
.
split
(
" "
):[
c
];
4
>
d
;
d
++
)
e
[
a
+
R
[
d
]
+
b
]
=
f
[
d
]
||
f
[
d
-
2
]
||
f
[
0
];
return
e
}},
ub
.
test
(
a
)
||
(
n
.
cssHooks
[
a
+
b
].
set
=
Gb
)}),
n
.
fn
.
extend
({
css
:
function
(
a
,
b
){
return
J
(
this
,
function
(
a
,
b
,
c
){
var
d
,
e
,
f
=
{},
g
=
0
;
if
(
n
.
isArray
(
b
)){
for
(
d
=
wb
(
a
),
e
=
b
.
length
;
e
>
g
;
g
++
)
f
[
b
[
g
]]
=
n
.
css
(
a
,
b
[
g
],
!
1
,
d
);
return
f
}
return
void
0
!==
c
?
n
.
style
(
a
,
b
,
c
):
n
.
css
(
a
,
b
)},
a
,
b
,
arguments
.
length
>
1
)},
show
:
function
(){
return
Jb
(
this
,
!
0
)},
hide
:
function
(){
return
Jb
(
this
)},
toggle
:
function
(
a
){
return
"boolean"
==
typeof
a
?
a
?
this
.
show
():
this
.
hide
():
this
.
each
(
function
(){
S
(
this
)?
n
(
this
).
show
():
n
(
this
).
hide
()})}});
function
Kb
(
a
,
b
,
c
,
d
,
e
){
return
new
Kb
.
prototype
.
init
(
a
,
b
,
c
,
d
,
e
)}
n
.
Tween
=
Kb
,
Kb
.
prototype
=
{
constructor
:
Kb
,
init
:
function
(
a
,
b
,
c
,
d
,
e
,
f
){
this
.
elem
=
a
,
this
.
prop
=
c
,
this
.
easing
=
e
||
"swing"
,
this
.
options
=
b
,
this
.
start
=
this
.
now
=
this
.
cur
(),
this
.
end
=
d
,
this
.
unit
=
f
||
(
n
.
cssNumber
[
c
]?
""
:
"px"
)},
cur
:
function
(){
var
a
=
Kb
.
propHooks
[
this
.
prop
];
return
a
&&
a
.
get
?
a
.
get
(
this
):
Kb
.
propHooks
.
_default
.
get
(
this
)},
run
:
function
(
a
){
var
b
,
c
=
Kb
.
propHooks
[
this
.
prop
];
return
this
.
pos
=
b
=
this
.
options
.
duration
?
n
.
easing
[
this
.
easing
](
a
,
this
.
options
.
duration
*
a
,
0
,
1
,
this
.
options
.
duration
):
a
,
this
.
now
=
(
this
.
end
-
this
.
start
)
*
b
+
this
.
start
,
this
.
options
.
step
&&
this
.
options
.
step
.
call
(
this
.
elem
,
this
.
now
,
this
),
c
&&
c
.
set
?
c
.
set
(
this
):
Kb
.
propHooks
.
_default
.
set
(
this
),
this
}},
Kb
.
prototype
.
init
.
prototype
=
Kb
.
prototype
,
Kb
.
propHooks
=
{
_default
:{
get
:
function
(
a
){
var
b
;
return
null
==
a
.
elem
[
a
.
prop
]
||
a
.
elem
.
style
&&
null
!=
a
.
elem
.
style
[
a
.
prop
]?(
b
=
n
.
css
(
a
.
elem
,
a
.
prop
,
""
),
b
&&
"auto"
!==
b
?
b
:
0
):
a
.
elem
[
a
.
prop
]},
set
:
function
(
a
){
n
.
fx
.
step
[
a
.
prop
]?
n
.
fx
.
step
[
a
.
prop
](
a
):
a
.
elem
.
style
&&
(
null
!=
a
.
elem
.
style
[
n
.
cssProps
[
a
.
prop
]]
||
n
.
cssHooks
[
a
.
prop
])?
n
.
style
(
a
.
elem
,
a
.
prop
,
a
.
now
+
a
.
unit
):
a
.
elem
[
a
.
prop
]
=
a
.
now
}}},
Kb
.
propHooks
.
scrollTop
=
Kb
.
propHooks
.
scrollLeft
=
{
set
:
function
(
a
){
a
.
elem
.
nodeType
&&
a
.
elem
.
parentNode
&&
(
a
.
elem
[
a
.
prop
]
=
a
.
now
)}},
n
.
easing
=
{
linear
:
function
(
a
){
return
a
},
swing
:
function
(
a
){
return
.
5
-
Math
.
cos
(
a
*
Math
.
PI
)
/
2
}},
n
.
fx
=
Kb
.
prototype
.
init
,
n
.
fx
.
step
=
{};
var
Lb
,
Mb
,
Nb
=
/^
(?:
toggle|show|hide
)
$/
,
Ob
=
new
RegExp
(
"^(?:([+-])=|)("
+
Q
+
")([a-z%]*)$"
,
"i"
),
Pb
=
/queueHooks$/
,
Qb
=
[
Vb
],
Rb
=
{
"*"
:[
function
(
a
,
b
){
var
c
=
this
.
createTween
(
a
,
b
),
d
=
c
.
cur
(),
e
=
Ob
.
exec
(
b
),
f
=
e
&&
e
[
3
]
||
(
n
.
cssNumber
[
a
]?
""
:
"px"
),
g
=
(
n
.
cssNumber
[
a
]
||
"px"
!==
f
&&+
d
)
&&
Ob
.
exec
(
n
.
css
(
c
.
elem
,
a
)),
h
=
1
,
i
=
20
;
if
(
g
&&
g
[
3
]
!==
f
){
f
=
f
||
g
[
3
],
e
=
e
||
[],
g
=+
d
||
1
;
do
h
=
h
||
".5"
,
g
/=
h
,
n
.
style
(
c
.
elem
,
a
,
g
+
f
);
while
(
h
!==
(
h
=
c
.
cur
()
/
d
)
&&
1
!==
h
&&--
i
)}
return
e
&&
(
g
=
c
.
start
=+
g
||+
d
||
0
,
c
.
unit
=
f
,
c
.
end
=
e
[
1
]?
g
+
(
e
[
1
]
+
1
)
*
e
[
2
]:
+
e
[
2
]),
c
}]};
function
Sb
(){
return
setTimeout
(
function
(){
Lb
=
void
0
}),
Lb
=
n
.
now
()}
function
Tb
(
a
,
b
){
var
c
,
d
=
0
,
e
=
{
height
:
a
};
for
(
b
=
b
?
1
:
0
;
4
>
d
;
d
+=
2
-
b
)
c
=
R
[
d
],
e
[
"margin"
+
c
]
=
e
[
"padding"
+
c
]
=
a
;
return
b
&&
(
e
.
opacity
=
e
.
width
=
a
),
e
}
function
Ub
(
a
,
b
,
c
){
for
(
var
d
,
e
=
(
Rb
[
b
]
||
[]).
concat
(
Rb
[
"*"
]),
f
=
0
,
g
=
e
.
length
;
g
>
f
;
f
++
)
if
(
d
=
e
[
f
].
call
(
c
,
b
,
a
))
return
d
}
function
Vb
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
,
h
,
i
,
j
,
k
,
l
=
this
,
m
=
{},
o
=
a
.
style
,
p
=
a
.
nodeType
&&
S
(
a
),
q
=
L
.
get
(
a
,
"fxshow"
);
c
.
queue
||
(
h
=
n
.
_queueHooks
(
a
,
"fx"
),
null
==
h
.
unqueued
&&
(
h
.
unqueued
=
0
,
i
=
h
.
empty
.
fire
,
h
.
empty
.
fire
=
function
(){
h
.
unqueued
||
i
()}),
h
.
unqueued
++
,
l
.
always
(
function
(){
l
.
always
(
function
(){
h
.
unqueued
--
,
n
.
queue
(
a
,
"fx"
).
length
||
h
.
empty
.
fire
()})})),
1
===
a
.
nodeType
&&
(
"height"
in
b
||
"width"
in
b
)
&&
(
c
.
overflow
=
[
o
.
overflow
,
o
.
overflowX
,
o
.
overflowY
],
j
=
n
.
css
(
a
,
"display"
),
k
=
"none"
===
j
?
L
.
get
(
a
,
"olddisplay"
)
||
tb
(
a
.
nodeName
):
j
,
"inline"
===
k
&&
"none"
===
n
.
css
(
a
,
"float"
)
&&
(
o
.
display
=
"inline-block"
)),
c
.
overflow
&&
(
o
.
overflow
=
"hidden"
,
l
.
always
(
function
(){
o
.
overflow
=
c
.
overflow
[
0
],
o
.
overflowX
=
c
.
overflow
[
1
],
o
.
overflowY
=
c
.
overflow
[
2
]}));
for
(
d
in
b
)
if
(
e
=
b
[
d
],
Nb
.
exec
(
e
)){
if
(
delete
b
[
d
],
f
=
f
||
"toggle"
===
e
,
e
===
(
p
?
"hide"
:
"show"
)){
if
(
"show"
!==
e
||!
q
||
void
0
===
q
[
d
])
continue
;
p
=!
0
}
m
[
d
]
=
q
&&
q
[
d
]
||
n
.
style
(
a
,
d
)}
else
j
=
void
0
;
if
(
n
.
isEmptyObject
(
m
))
"inline"
===
(
"none"
===
j
?
tb
(
a
.
nodeName
):
j
)
&&
(
o
.
display
=
j
);
else
{
q
?
"hidden"
in
q
&&
(
p
=
q
.
hidden
):
q
=
L
.
access
(
a
,
"fxshow"
,{}),
f
&&
(
q
.
hidden
=!
p
),
p
?
n
(
a
).
show
():
l
.
done
(
function
(){
n
(
a
).
hide
()}),
l
.
done
(
function
(){
var
b
;
L
.
remove
(
a
,
"fxshow"
);
for
(
b
in
m
)
n
.
style
(
a
,
b
,
m
[
b
])});
for
(
d
in
m
)
g
=
Ub
(
p
?
q
[
d
]:
0
,
d
,
l
),
d
in
q
||
(
q
[
d
]
=
g
.
start
,
p
&&
(
g
.
end
=
g
.
start
,
g
.
start
=
"width"
===
d
||
"height"
===
d
?
1
:
0
))}}
function
Wb
(
a
,
b
){
var
c
,
d
,
e
,
f
,
g
;
for
(
c
in
a
)
if
(
d
=
n
.
camelCase
(
c
),
e
=
b
[
d
],
f
=
a
[
c
],
n
.
isArray
(
f
)
&&
(
e
=
f
[
1
],
f
=
a
[
c
]
=
f
[
0
]),
c
!==
d
&&
(
a
[
d
]
=
f
,
delete
a
[
c
]),
g
=
n
.
cssHooks
[
d
],
g
&&
"expand"
in
g
){
f
=
g
.
expand
(
f
),
delete
a
[
d
];
for
(
c
in
f
)
c
in
a
||
(
a
[
c
]
=
f
[
c
],
b
[
c
]
=
e
)}
else
b
[
d
]
=
e
}
function
Xb
(
a
,
b
,
c
){
var
d
,
e
,
f
=
0
,
g
=
Qb
.
length
,
h
=
n
.
Deferred
().
always
(
function
(){
delete
i
.
elem
}),
i
=
function
(){
if
(
e
)
return
!
1
;
for
(
var
b
=
Lb
||
Sb
(),
c
=
Math
.
max
(
0
,
j
.
startTime
+
j
.
duration
-
b
),
d
=
c
/
j
.
duration
||
0
,
f
=
1
-
d
,
g
=
0
,
i
=
j
.
tweens
.
length
;
i
>
g
;
g
++
)
j
.
tweens
[
g
].
run
(
f
);
return
h
.
notifyWith
(
a
,[
j
,
f
,
c
]),
1
>
f
&&
i
?
c
:(
h
.
resolveWith
(
a
,[
j
]),
!
1
)},
j
=
h
.
promise
({
elem
:
a
,
props
:
n
.
extend
({},
b
),
opts
:
n
.
extend
(
!
0
,{
specialEasing
:{}},
c
),
originalProperties
:
b
,
originalOptions
:
c
,
startTime
:
Lb
||
Sb
(),
duration
:
c
.
duration
,
tweens
:[],
createTween
:
function
(
b
,
c
){
var
d
=
n
.
Tween
(
a
,
j
.
opts
,
b
,
c
,
j
.
opts
.
specialEasing
[
b
]
||
j
.
opts
.
easing
);
return
j
.
tweens
.
push
(
d
),
d
},
stop
:
function
(
b
){
var
c
=
0
,
d
=
b
?
j
.
tweens
.
length
:
0
;
if
(
e
)
return
this
;
for
(
e
=!
0
;
d
>
c
;
c
++
)
j
.
tweens
[
c
].
run
(
1
);
return
b
?
h
.
resolveWith
(
a
,[
j
,
b
]):
h
.
rejectWith
(
a
,[
j
,
b
]),
this
}}),
k
=
j
.
props
;
for
(
Wb
(
k
,
j
.
opts
.
specialEasing
);
g
>
f
;
f
++
)
if
(
d
=
Qb
[
f
].
call
(
j
,
a
,
k
,
j
.
opts
))
return
d
;
return
n
.
map
(
k
,
Ub
,
j
),
n
.
isFunction
(
j
.
opts
.
start
)
&&
j
.
opts
.
start
.
call
(
a
,
j
),
n
.
fx
.
timer
(
n
.
extend
(
i
,{
elem
:
a
,
anim
:
j
,
queue
:
j
.
opts
.
queue
})),
j
.
progress
(
j
.
opts
.
progress
).
done
(
j
.
opts
.
done
,
j
.
opts
.
complete
).
fail
(
j
.
opts
.
fail
).
always
(
j
.
opts
.
always
)}
n
.
Animation
=
n
.
extend
(
Xb
,{
tweener
:
function
(
a
,
b
){
n
.
isFunction
(
a
)?(
b
=
a
,
a
=
[
"*"
]):
a
=
a
.
split
(
" "
);
for
(
var
c
,
d
=
0
,
e
=
a
.
length
;
e
>
d
;
d
++
)
c
=
a
[
d
],
Rb
[
c
]
=
Rb
[
c
]
||
[],
Rb
[
c
].
unshift
(
b
)},
prefilter
:
function
(
a
,
b
){
b
?
Qb
.
unshift
(
a
):
Qb
.
push
(
a
)}}),
n
.
speed
=
function
(
a
,
b
,
c
){
var
d
=
a
&&
"object"
==
typeof
a
?
n
.
extend
({},
a
):{
complete
:
c
||!
c
&&
b
||
n
.
isFunction
(
a
)
&&
a
,
duration
:
a
,
easing
:
c
&&
b
||
b
&&!
n
.
isFunction
(
b
)
&&
b
};
return
d
.
duration
=
n
.
fx
.
off
?
0
:
"number"
==
typeof
d
.
duration
?
d
.
duration
:
d
.
duration
in
n
.
fx
.
speeds
?
n
.
fx
.
speeds
[
d
.
duration
]:
n
.
fx
.
speeds
.
_default
,(
null
==
d
.
queue
||
d
.
queue
===!
0
)
&&
(
d
.
queue
=
"fx"
),
d
.
old
=
d
.
complete
,
d
.
complete
=
function
(){
n
.
isFunction
(
d
.
old
)
&&
d
.
old
.
call
(
this
),
d
.
queue
&&
n
.
dequeue
(
this
,
d
.
queue
)},
d
},
n
.
fn
.
extend
({
fadeTo
:
function
(
a
,
b
,
c
,
d
){
return
this
.
filter
(
S
).
css
(
"opacity"
,
0
).
show
().
end
().
animate
({
opacity
:
b
},
a
,
c
,
d
)},
animate
:
function
(
a
,
b
,
c
,
d
){
var
e
=
n
.
isEmptyObject
(
a
),
f
=
n
.
speed
(
b
,
c
,
d
),
g
=
function
(){
var
b
=
Xb
(
this
,
n
.
extend
({},
a
),
f
);(
e
||
L
.
get
(
this
,
"finish"
))
&&
b
.
stop
(
!
0
)};
return
g
.
finish
=
g
,
e
||
f
.
queue
===!
1
?
this
.
each
(
g
):
this
.
queue
(
f
.
queue
,
g
)},
stop
:
function
(
a
,
b
,
c
){
var
d
=
function
(
a
){
var
b
=
a
.
stop
;
delete
a
.
stop
,
b
(
c
)};
return
"string"
!=
typeof
a
&&
(
c
=
b
,
b
=
a
,
a
=
void
0
),
b
&&
a
!==!
1
&&
this
.
queue
(
a
||
"fx"
,[]),
this
.
each
(
function
(){
var
b
=!
0
,
e
=
null
!=
a
&&
a
+
"queueHooks"
,
f
=
n
.
timers
,
g
=
L
.
get
(
this
);
if
(
e
)
g
[
e
]
&&
g
[
e
].
stop
&&
d
(
g
[
e
]);
else
for
(
e
in
g
)
g
[
e
]
&&
g
[
e
].
stop
&&
Pb
.
test
(
e
)
&&
d
(
g
[
e
]);
for
(
e
=
f
.
length
;
e
--
;)
f
[
e
].
elem
!==
this
||
null
!=
a
&&
f
[
e
].
queue
!==
a
||
(
f
[
e
].
anim
.
stop
(
c
),
b
=!
1
,
f
.
splice
(
e
,
1
));(
b
||!
c
)
&&
n
.
dequeue
(
this
,
a
)})},
finish
:
function
(
a
){
return
a
!==!
1
&&
(
a
=
a
||
"fx"
),
this
.
each
(
function
(){
var
b
,
c
=
L
.
get
(
this
),
d
=
c
[
a
+
"queue"
],
e
=
c
[
a
+
"queueHooks"
],
f
=
n
.
timers
,
g
=
d
?
d
.
length
:
0
;
for
(
c
.
finish
=!
0
,
n
.
queue
(
this
,
a
,[]),
e
&&
e
.
stop
&&
e
.
stop
.
call
(
this
,
!
0
),
b
=
f
.
length
;
b
--
;)
f
[
b
].
elem
===
this
&&
f
[
b
].
queue
===
a
&&
(
f
[
b
].
anim
.
stop
(
!
0
),
f
.
splice
(
b
,
1
));
for
(
b
=
0
;
g
>
b
;
b
++
)
d
[
b
]
&&
d
[
b
].
finish
&&
d
[
b
].
finish
.
call
(
this
);
delete
c
.
finish
})}}),
n
.
each
([
"toggle"
,
"show"
,
"hide"
],
function
(
a
,
b
){
var
c
=
n
.
fn
[
b
];
n
.
fn
[
b
]
=
function
(
a
,
d
,
e
){
return
null
==
a
||
"boolean"
==
typeof
a
?
c
.
apply
(
this
,
arguments
):
this
.
animate
(
Tb
(
b
,
!
0
),
a
,
d
,
e
)}}),
n
.
each
({
slideDown
:
Tb
(
"show"
),
slideUp
:
Tb
(
"hide"
),
slideToggle
:
Tb
(
"toggle"
),
fadeIn
:{
opacity
:
"show"
},
fadeOut
:{
opacity
:
"hide"
},
fadeToggle
:{
opacity
:
"toggle"
}},
function
(
a
,
b
){
n
.
fn
[
a
]
=
function
(
a
,
c
,
d
){
return
this
.
animate
(
b
,
a
,
c
,
d
)}}),
n
.
timers
=
[],
n
.
fx
.
tick
=
function
(){
var
a
,
b
=
0
,
c
=
n
.
timers
;
for
(
Lb
=
n
.
now
();
b
<
c
.
length
;
b
++
)
a
=
c
[
b
],
a
()
||
c
[
b
]
!==
a
||
c
.
splice
(
b
--
,
1
);
c
.
length
||
n
.
fx
.
stop
(),
Lb
=
void
0
},
n
.
fx
.
timer
=
function
(
a
){
n
.
timers
.
push
(
a
),
a
()?
n
.
fx
.
start
():
n
.
timers
.
pop
()},
n
.
fx
.
interval
=
13
,
n
.
fx
.
start
=
function
(){
Mb
||
(
Mb
=
setInterval
(
n
.
fx
.
tick
,
n
.
fx
.
interval
))},
n
.
fx
.
stop
=
function
(){
clearInterval
(
Mb
),
Mb
=
null
},
n
.
fx
.
speeds
=
{
slow
:
600
,
fast
:
200
,
_default
:
400
},
n
.
fn
.
delay
=
function
(
a
,
b
){
return
a
=
n
.
fx
?
n
.
fx
.
speeds
[
a
]
||
a
:
a
,
b
=
b
||
"fx"
,
this
.
queue
(
b
,
function
(
b
,
c
){
var
d
=
setTimeout
(
b
,
a
);
c
.
stop
=
function
(){
clearTimeout
(
d
)}})},
function
(){
var
a
=
l
.
createElement
(
"input"
),
b
=
l
.
createElement
(
"select"
),
c
=
b
.
appendChild
(
l
.
createElement
(
"option"
));
a
.
type
=
"checkbox"
,
k
.
checkOn
=
""
!==
a
.
value
,
k
.
optSelected
=
c
.
selected
,
b
.
disabled
=!
0
,
k
.
optDisabled
=!
c
.
disabled
,
a
=
l
.
createElement
(
"input"
),
a
.
value
=
"t"
,
a
.
type
=
"radio"
,
k
.
radioValue
=
"t"
===
a
.
value
}();
var
Yb
,
Zb
,
$b
=
n
.
expr
.
attrHandle
;
n
.
fn
.
extend
({
attr
:
function
(
a
,
b
){
return
J
(
this
,
n
.
attr
,
a
,
b
,
arguments
.
length
>
1
)},
removeAttr
:
function
(
a
){
return
this
.
each
(
function
(){
n
.
removeAttr
(
this
,
a
)})}}),
n
.
extend
({
attr
:
function
(
a
,
b
,
c
){
var
d
,
e
,
f
=
a
.
nodeType
;
if
(
a
&&
3
!==
f
&&
8
!==
f
&&
2
!==
f
)
return
typeof
a
.
getAttribute
===
U
?
n
.
prop
(
a
,
b
,
c
):(
1
===
f
&&
n
.
isXMLDoc
(
a
)
||
(
b
=
b
.
toLowerCase
(),
d
=
n
.
attrHooks
[
b
]
||
(
n
.
expr
.
match
.
bool
.
test
(
b
)?
Zb
:
Yb
)),
void
0
===
c
?
d
&&
"get"
in
d
&&
null
!==
(
e
=
d
.
get
(
a
,
b
))?
e
:(
e
=
n
.
find
.
attr
(
a
,
b
),
null
==
e
?
void
0
:
e
):
null
!==
c
?
d
&&
"set"
in
d
&&
void
0
!==
(
e
=
d
.
set
(
a
,
c
,
b
))?
e
:(
a
.
setAttribute
(
b
,
c
+
""
),
c
):
void
n
.
removeAttr
(
a
,
b
))
},
removeAttr
:
function
(
a
,
b
){
var
c
,
d
,
e
=
0
,
f
=
b
&&
b
.
match
(
E
);
if
(
f
&&
1
===
a
.
nodeType
)
while
(
c
=
f
[
e
++
])
d
=
n
.
propFix
[
c
]
||
c
,
n
.
expr
.
match
.
bool
.
test
(
c
)
&&
(
a
[
d
]
=!
1
),
a
.
removeAttribute
(
c
)},
attrHooks
:{
type
:{
set
:
function
(
a
,
b
){
if
(
!
k
.
radioValue
&&
"radio"
===
b
&&
n
.
nodeName
(
a
,
"input"
)){
var
c
=
a
.
value
;
return
a
.
setAttribute
(
"type"
,
b
),
c
&&
(
a
.
value
=
c
),
b
}}}}}),
Zb
=
{
set
:
function
(
a
,
b
,
c
){
return
b
===!
1
?
n
.
removeAttr
(
a
,
c
):
a
.
setAttribute
(
c
,
c
),
c
}},
n
.
each
(
n
.
expr
.
match
.
bool
.
source
.
match
(
/
\w
+/g
),
function
(
a
,
b
){
var
c
=
$b
[
b
]
||
n
.
find
.
attr
;
$b
[
b
]
=
function
(
a
,
b
,
d
){
var
e
,
f
;
return
d
||
(
f
=
$b
[
b
],
$b
[
b
]
=
e
,
e
=
null
!=
c
(
a
,
b
,
d
)?
b
.
toLowerCase
():
null
,
$b
[
b
]
=
f
),
e
}});
var
_b
=
/^
(?:
input|select|textarea|button
)
$/i
;
n
.
fn
.
extend
({
prop
:
function
(
a
,
b
){
return
J
(
this
,
n
.
prop
,
a
,
b
,
arguments
.
length
>
1
)},
removeProp
:
function
(
a
){
return
this
.
each
(
function
(){
delete
this
[
n
.
propFix
[
a
]
||
a
]})}}),
n
.
extend
({
propFix
:{
"for"
:
"htmlFor"
,
"class"
:
"className"
},
prop
:
function
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
=
a
.
nodeType
;
if
(
a
&&
3
!==
g
&&
8
!==
g
&&
2
!==
g
)
return
f
=
1
!==
g
||!
n
.
isXMLDoc
(
a
),
f
&&
(
b
=
n
.
propFix
[
b
]
||
b
,
e
=
n
.
propHooks
[
b
]),
void
0
!==
c
?
e
&&
"set"
in
e
&&
void
0
!==
(
d
=
e
.
set
(
a
,
c
,
b
))?
d
:
a
[
b
]
=
c
:
e
&&
"get"
in
e
&&
null
!==
(
d
=
e
.
get
(
a
,
b
))?
d
:
a
[
b
]},
propHooks
:{
tabIndex
:{
get
:
function
(
a
){
return
a
.
hasAttribute
(
"tabindex"
)
||
_b
.
test
(
a
.
nodeName
)
||
a
.
href
?
a
.
tabIndex
:
-
1
}}}}),
k
.
optSelected
||
(
n
.
propHooks
.
selected
=
{
get
:
function
(
a
){
var
b
=
a
.
parentNode
;
return
b
&&
b
.
parentNode
&&
b
.
parentNode
.
selectedIndex
,
null
}}),
n
.
each
([
"tabIndex"
,
"readOnly"
,
"maxLength"
,
"cellSpacing"
,
"cellPadding"
,
"rowSpan"
,
"colSpan"
,
"useMap"
,
"frameBorder"
,
"contentEditable"
],
function
(){
n
.
propFix
[
this
.
toLowerCase
()]
=
this
});
var
ac
=
/
[\t\r\n\f]
/g
;
n
.
fn
.
extend
({
addClass
:
function
(
a
){
var
b
,
c
,
d
,
e
,
f
,
g
,
h
=
"string"
==
typeof
a
&&
a
,
i
=
0
,
j
=
this
.
length
;
if
(
n
.
isFunction
(
a
))
return
this
.
each
(
function
(
b
){
n
(
this
).
addClass
(
a
.
call
(
this
,
b
,
this
.
className
))});
if
(
h
)
for
(
b
=
(
a
||
""
).
match
(
E
)
||
[];
j
>
i
;
i
++
)
if
(
c
=
this
[
i
],
d
=
1
===
c
.
nodeType
&&
(
c
.
className
?(
" "
+
c
.
className
+
" "
).
replace
(
ac
,
" "
):
" "
)){
f
=
0
;
while
(
e
=
b
[
f
++
])
d
.
indexOf
(
" "
+
e
+
" "
)
<
0
&&
(
d
+=
e
+
" "
);
g
=
n
.
trim
(
d
),
c
.
className
!==
g
&&
(
c
.
className
=
g
)}
return
this
},
removeClass
:
function
(
a
){
var
b
,
c
,
d
,
e
,
f
,
g
,
h
=
0
===
arguments
.
length
||
"string"
==
typeof
a
&&
a
,
i
=
0
,
j
=
this
.
length
;
if
(
n
.
isFunction
(
a
))
return
this
.
each
(
function
(
b
){
n
(
this
).
removeClass
(
a
.
call
(
this
,
b
,
this
.
className
))});
if
(
h
)
for
(
b
=
(
a
||
""
).
match
(
E
)
||
[];
j
>
i
;
i
++
)
if
(
c
=
this
[
i
],
d
=
1
===
c
.
nodeType
&&
(
c
.
className
?(
" "
+
c
.
className
+
" "
).
replace
(
ac
,
" "
):
""
)){
f
=
0
;
while
(
e
=
b
[
f
++
])
while
(
d
.
indexOf
(
" "
+
e
+
" "
)
>=
0
)
d
=
d
.
replace
(
" "
+
e
+
" "
,
" "
);
g
=
a
?
n
.
trim
(
d
):
""
,
c
.
className
!==
g
&&
(
c
.
className
=
g
)}
return
this
},
toggleClass
:
function
(
a
,
b
){
var
c
=
typeof
a
;
return
"boolean"
==
typeof
b
&&
"string"
===
c
?
b
?
this
.
addClass
(
a
):
this
.
removeClass
(
a
):
this
.
each
(
n
.
isFunction
(
a
)?
function
(
c
){
n
(
this
).
toggleClass
(
a
.
call
(
this
,
c
,
this
.
className
,
b
),
b
)}:
function
(){
if
(
"string"
===
c
){
var
b
,
d
=
0
,
e
=
n
(
this
),
f
=
a
.
match
(
E
)
||
[];
while
(
b
=
f
[
d
++
])
e
.
hasClass
(
b
)?
e
.
removeClass
(
b
):
e
.
addClass
(
b
)}
else
(
c
===
U
||
"boolean"
===
c
)
&&
(
this
.
className
&&
L
.
set
(
this
,
"__className__"
,
this
.
className
),
this
.
className
=
this
.
className
||
a
===!
1
?
""
:
L
.
get
(
this
,
"__className__"
)
||
""
)})},
hasClass
:
function
(
a
){
for
(
var
b
=
" "
+
a
+
" "
,
c
=
0
,
d
=
this
.
length
;
d
>
c
;
c
++
)
if
(
1
===
this
[
c
].
nodeType
&&
(
" "
+
this
[
c
].
className
+
" "
).
replace
(
ac
,
" "
).
indexOf
(
b
)
>=
0
)
return
!
0
;
return
!
1
}});
var
bc
=
/
\r
/g
;
n
.
fn
.
extend
({
val
:
function
(
a
){
var
b
,
c
,
d
,
e
=
this
[
0
];{
if
(
arguments
.
length
)
return
d
=
n
.
isFunction
(
a
),
this
.
each
(
function
(
c
){
var
e
;
1
===
this
.
nodeType
&&
(
e
=
d
?
a
.
call
(
this
,
c
,
n
(
this
).
val
()):
a
,
null
==
e
?
e
=
""
:
"number"
==
typeof
e
?
e
+=
""
:
n
.
isArray
(
e
)
&&
(
e
=
n
.
map
(
e
,
function
(
a
){
return
null
==
a
?
""
:
a
+
""
})),
b
=
n
.
valHooks
[
this
.
type
]
||
n
.
valHooks
[
this
.
nodeName
.
toLowerCase
()],
b
&&
"set"
in
b
&&
void
0
!==
b
.
set
(
this
,
e
,
"value"
)
||
(
this
.
value
=
e
))});
if
(
e
)
return
b
=
n
.
valHooks
[
e
.
type
]
||
n
.
valHooks
[
e
.
nodeName
.
toLowerCase
()],
b
&&
"get"
in
b
&&
void
0
!==
(
c
=
b
.
get
(
e
,
"value"
))?
c
:(
c
=
e
.
value
,
"string"
==
typeof
c
?
c
.
replace
(
bc
,
""
):
null
==
c
?
""
:
c
)}}}),
n
.
extend
({
valHooks
:{
option
:{
get
:
function
(
a
){
var
b
=
n
.
find
.
attr
(
a
,
"value"
);
return
null
!=
b
?
b
:
n
.
trim
(
n
.
text
(
a
))}},
select
:{
get
:
function
(
a
){
for
(
var
b
,
c
,
d
=
a
.
options
,
e
=
a
.
selectedIndex
,
f
=
"select-one"
===
a
.
type
||
0
>
e
,
g
=
f
?
null
:[],
h
=
f
?
e
+
1
:
d
.
length
,
i
=
0
>
e
?
h
:
f
?
e
:
0
;
h
>
i
;
i
++
)
if
(
c
=
d
[
i
],
!
(
!
c
.
selected
&&
i
!==
e
||
(
k
.
optDisabled
?
c
.
disabled
:
null
!==
c
.
getAttribute
(
"disabled"
))
||
c
.
parentNode
.
disabled
&&
n
.
nodeName
(
c
.
parentNode
,
"optgroup"
))){
if
(
b
=
n
(
c
).
val
(),
f
)
return
b
;
g
.
push
(
b
)}
return
g
},
set
:
function
(
a
,
b
){
var
c
,
d
,
e
=
a
.
options
,
f
=
n
.
makeArray
(
b
),
g
=
e
.
length
;
while
(
g
--
)
d
=
e
[
g
],(
d
.
selected
=
n
.
inArray
(
d
.
value
,
f
)
>=
0
)
&&
(
c
=!
0
);
return
c
||
(
a
.
selectedIndex
=-
1
),
f
}}}}),
n
.
each
([
"radio"
,
"checkbox"
],
function
(){
n
.
valHooks
[
this
]
=
{
set
:
function
(
a
,
b
){
return
n
.
isArray
(
b
)?
a
.
checked
=
n
.
inArray
(
n
(
a
).
val
(),
b
)
>=
0
:
void
0
}},
k
.
checkOn
||
(
n
.
valHooks
[
this
].
get
=
function
(
a
){
return
null
===
a
.
getAttribute
(
"value"
)?
"on"
:
a
.
value
})}),
n
.
each
(
"blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu"
.
split
(
" "
),
function
(
a
,
b
){
n
.
fn
[
b
]
=
function
(
a
,
c
){
return
arguments
.
length
>
0
?
this
.
on
(
b
,
null
,
a
,
c
):
this
.
trigger
(
b
)}}),
n
.
fn
.
extend
({
hover
:
function
(
a
,
b
){
return
this
.
mouseenter
(
a
).
mouseleave
(
b
||
a
)},
bind
:
function
(
a
,
b
,
c
){
return
this
.
on
(
a
,
null
,
b
,
c
)},
unbind
:
function
(
a
,
b
){
return
this
.
off
(
a
,
null
,
b
)},
delegate
:
function
(
a
,
b
,
c
,
d
){
return
this
.
on
(
b
,
a
,
c
,
d
)},
undelegate
:
function
(
a
,
b
,
c
){
return
1
===
arguments
.
length
?
this
.
off
(
a
,
"**"
):
this
.
off
(
b
,
a
||
"**"
,
c
)}});
var
cc
=
n
.
now
(),
dc
=
/
\?
/
;
n
.
parseJSON
=
function
(
a
){
return
JSON
.
parse
(
a
+
""
)},
n
.
parseXML
=
function
(
a
){
var
b
,
c
;
if
(
!
a
||
"string"
!=
typeof
a
)
return
null
;
try
{
c
=
new
DOMParser
,
b
=
c
.
parseFromString
(
a
,
"text/xml"
)}
catch
(
d
){
b
=
void
0
}
return
(
!
b
||
b
.
getElementsByTagName
(
"parsererror"
).
length
)
&&
n
.
error
(
"Invalid XML: "
+
a
),
b
};
var
ec
,
fc
,
gc
=
/#.*$/
,
hc
=
/
([
?&
])
_=
[^
&
]
*/
,
ic
=
/^
(
.*
?)
:
[
\t]
*
([^\r\n]
*
)
$/gm
,
jc
=
/^
(?:
about|app|app-storage|.+-extension|file|res|widget
)
:$/
,
kc
=
/^
(?:
GET|HEAD
)
$/
,
lc
=
/^
\/\/
/
,
mc
=
/^
([\w
.+-
]
+:
)(?:\/\/(?:[^\/
?#
]
*@|
)([^\/
?#:
]
*
)(?:
:
(\d
+
)
|
)
|
)
/
,
nc
=
{},
oc
=
{},
pc
=
"*/"
.
concat
(
"*"
);
try
{
fc
=
location
.
href
}
catch
(
qc
){
fc
=
l
.
createElement
(
"a"
),
fc
.
href
=
""
,
fc
=
fc
.
href
}
ec
=
mc
.
exec
(
fc
.
toLowerCase
())
||
[];
function
rc
(
a
){
return
function
(
b
,
c
){
"string"
!=
typeof
b
&&
(
c
=
b
,
b
=
"*"
);
var
d
,
e
=
0
,
f
=
b
.
toLowerCase
().
match
(
E
)
||
[];
if
(
n
.
isFunction
(
c
))
while
(
d
=
f
[
e
++
])
"+"
===
d
[
0
]?(
d
=
d
.
slice
(
1
)
||
"*"
,(
a
[
d
]
=
a
[
d
]
||
[]).
unshift
(
c
)):(
a
[
d
]
=
a
[
d
]
||
[]).
push
(
c
)}}
function
sc
(
a
,
b
,
c
,
d
){
var
e
=
{},
f
=
a
===
oc
;
function
g
(
h
){
var
i
;
return
e
[
h
]
=!
0
,
n
.
each
(
a
[
h
]
||
[],
function
(
a
,
h
){
var
j
=
h
(
b
,
c
,
d
);
return
"string"
!=
typeof
j
||
f
||
e
[
j
]?
f
?
!
(
i
=
j
):
void
0
:(
b
.
dataTypes
.
unshift
(
j
),
g
(
j
),
!
1
)}),
i
}
return
g
(
b
.
dataTypes
[
0
])
||!
e
[
"*"
]
&&
g
(
"*"
)}
function
tc
(
a
,
b
){
var
c
,
d
,
e
=
n
.
ajaxSettings
.
flatOptions
||
{};
for
(
c
in
b
)
void
0
!==
b
[
c
]
&&
((
e
[
c
]?
a
:
d
||
(
d
=
{}))[
c
]
=
b
[
c
]);
return
d
&&
n
.
extend
(
!
0
,
a
,
d
),
a
}
function
uc
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
,
h
=
a
.
contents
,
i
=
a
.
dataTypes
;
while
(
"*"
===
i
[
0
])
i
.
shift
(),
void
0
===
d
&&
(
d
=
a
.
mimeType
||
b
.
getResponseHeader
(
"Content-Type"
));
if
(
d
)
for
(
e
in
h
)
if
(
h
[
e
]
&&
h
[
e
].
test
(
d
)){
i
.
unshift
(
e
);
break
}
if
(
i
[
0
]
in
c
)
f
=
i
[
0
];
else
{
for
(
e
in
c
){
if
(
!
i
[
0
]
||
a
.
converters
[
e
+
" "
+
i
[
0
]]){
f
=
e
;
break
}
g
||
(
g
=
e
)}
f
=
f
||
g
}
return
f
?(
f
!==
i
[
0
]
&&
i
.
unshift
(
f
),
c
[
f
]):
void
0
}
function
vc
(
a
,
b
,
c
,
d
){
var
e
,
f
,
g
,
h
,
i
,
j
=
{},
k
=
a
.
dataTypes
.
slice
();
if
(
k
[
1
])
for
(
g
in
a
.
converters
)
j
[
g
.
toLowerCase
()]
=
a
.
converters
[
g
];
f
=
k
.
shift
();
while
(
f
)
if
(
a
.
responseFields
[
f
]
&&
(
c
[
a
.
responseFields
[
f
]]
=
b
),
!
i
&&
d
&&
a
.
dataFilter
&&
(
b
=
a
.
dataFilter
(
b
,
a
.
dataType
)),
i
=
f
,
f
=
k
.
shift
())
if
(
"*"
===
f
)
f
=
i
;
else
if
(
"*"
!==
i
&&
i
!==
f
){
if
(
g
=
j
[
i
+
" "
+
f
]
||
j
[
"* "
+
f
],
!
g
)
for
(
e
in
j
)
if
(
h
=
e
.
split
(
" "
),
h
[
1
]
===
f
&&
(
g
=
j
[
i
+
" "
+
h
[
0
]]
||
j
[
"* "
+
h
[
0
]])){
g
===!
0
?
g
=
j
[
e
]:
j
[
e
]
!==!
0
&&
(
f
=
h
[
0
],
k
.
unshift
(
h
[
1
]));
break
}
if
(
g
!==!
0
)
if
(
g
&&
a
[
"throws"
])
b
=
g
(
b
);
else
try
{
b
=
g
(
b
)}
catch
(
l
){
return
{
state
:
"parsererror"
,
error
:
g
?
l
:
"No conversion from "
+
i
+
" to "
+
f
}}}
return
{
state
:
"success"
,
data
:
b
}}
n
.
extend
({
active
:
0
,
lastModified
:{},
etag
:{},
ajaxSettings
:{
url
:
fc
,
type
:
"GET"
,
isLocal
:
jc
.
test
(
ec
[
1
]),
global
:
!
0
,
processData
:
!
0
,
async
:
!
0
,
contentType
:
"application/x-www-form-urlencoded; charset=UTF-8"
,
accepts
:{
"*"
:
pc
,
text
:
"text/plain"
,
html
:
"text/html"
,
xml
:
"application/xml, text/xml"
,
json
:
"application/json, text/javascript"
},
contents
:{
xml
:
/xml/
,
html
:
/html/
,
json
:
/json/
},
responseFields
:{
xml
:
"responseXML"
,
text
:
"responseText"
,
json
:
"responseJSON"
},
converters
:{
"* text"
:
String
,
"text html"
:
!
0
,
"text json"
:
n
.
parseJSON
,
"text xml"
:
n
.
parseXML
},
flatOptions
:{
url
:
!
0
,
context
:
!
0
}},
ajaxSetup
:
function
(
a
,
b
){
return
b
?
tc
(
tc
(
a
,
n
.
ajaxSettings
),
b
):
tc
(
n
.
ajaxSettings
,
a
)},
ajaxPrefilter
:
rc
(
nc
),
ajaxTransport
:
rc
(
oc
),
ajax
:
function
(
a
,
b
){
"object"
==
typeof
a
&&
(
b
=
a
,
a
=
void
0
),
b
=
b
||
{};
var
c
,
d
,
e
,
f
,
g
,
h
,
i
,
j
,
k
=
n
.
ajaxSetup
({},
b
),
l
=
k
.
context
||
k
,
m
=
k
.
context
&&
(
l
.
nodeType
||
l
.
jquery
)?
n
(
l
):
n
.
event
,
o
=
n
.
Deferred
(),
p
=
n
.
Callbacks
(
"once memory"
),
q
=
k
.
statusCode
||
{},
r
=
{},
s
=
{},
t
=
0
,
u
=
"canceled"
,
v
=
{
readyState
:
0
,
getResponseHeader
:
function
(
a
){
var
b
;
if
(
2
===
t
){
if
(
!
f
){
f
=
{};
while
(
b
=
ic
.
exec
(
e
))
f
[
b
[
1
].
toLowerCase
()]
=
b
[
2
]}
b
=
f
[
a
.
toLowerCase
()]}
return
null
==
b
?
null
:
b
},
getAllResponseHeaders
:
function
(){
return
2
===
t
?
e
:
null
},
setRequestHeader
:
function
(
a
,
b
){
var
c
=
a
.
toLowerCase
();
return
t
||
(
a
=
s
[
c
]
=
s
[
c
]
||
a
,
r
[
a
]
=
b
),
this
},
overrideMimeType
:
function
(
a
){
return
t
||
(
k
.
mimeType
=
a
),
this
},
statusCode
:
function
(
a
){
var
b
;
if
(
a
)
if
(
2
>
t
)
for
(
b
in
a
)
q
[
b
]
=
[
q
[
b
],
a
[
b
]];
else
v
.
always
(
a
[
v
.
status
]);
return
this
},
abort
:
function
(
a
){
var
b
=
a
||
u
;
return
c
&&
c
.
abort
(
b
),
x
(
0
,
b
),
this
}};
if
(
o
.
promise
(
v
).
complete
=
p
.
add
,
v
.
success
=
v
.
done
,
v
.
error
=
v
.
fail
,
k
.
url
=
((
a
||
k
.
url
||
fc
)
+
""
).
replace
(
gc
,
""
).
replace
(
lc
,
ec
[
1
]
+
"//"
),
k
.
type
=
b
.
method
||
b
.
type
||
k
.
method
||
k
.
type
,
k
.
dataTypes
=
n
.
trim
(
k
.
dataType
||
"*"
).
toLowerCase
().
match
(
E
)
||
[
""
],
null
==
k
.
crossDomain
&&
(
h
=
mc
.
exec
(
k
.
url
.
toLowerCase
()),
k
.
crossDomain
=!
(
!
h
||
h
[
1
]
===
ec
[
1
]
&&
h
[
2
]
===
ec
[
2
]
&&
(
h
[
3
]
||
(
"http:"
===
h
[
1
]?
"80"
:
"443"
))
===
(
ec
[
3
]
||
(
"http:"
===
ec
[
1
]?
"80"
:
"443"
)))),
k
.
data
&&
k
.
processData
&&
"string"
!=
typeof
k
.
data
&&
(
k
.
data
=
n
.
param
(
k
.
data
,
k
.
traditional
)),
sc
(
nc
,
k
,
b
,
v
),
2
===
t
)
return
v
;
i
=
k
.
global
,
i
&&
0
===
n
.
active
++&&
n
.
event
.
trigger
(
"ajaxStart"
),
k
.
type
=
k
.
type
.
toUpperCase
(),
k
.
hasContent
=!
kc
.
test
(
k
.
type
),
d
=
k
.
url
,
k
.
hasContent
||
(
k
.
data
&&
(
d
=
k
.
url
+=
(
dc
.
test
(
d
)?
"&"
:
"?"
)
+
k
.
data
,
delete
k
.
data
),
k
.
cache
===!
1
&&
(
k
.
url
=
hc
.
test
(
d
)?
d
.
replace
(
hc
,
"$1_="
+
cc
++
):
d
+
(
dc
.
test
(
d
)?
"&"
:
"?"
)
+
"_="
+
cc
++
)),
k
.
ifModified
&&
(
n
.
lastModified
[
d
]
&&
v
.
setRequestHeader
(
"If-Modified-Since"
,
n
.
lastModified
[
d
]),
n
.
etag
[
d
]
&&
v
.
setRequestHeader
(
"If-None-Match"
,
n
.
etag
[
d
])),(
k
.
data
&&
k
.
hasContent
&&
k
.
contentType
!==!
1
||
b
.
contentType
)
&&
v
.
setRequestHeader
(
"Content-Type"
,
k
.
contentType
),
v
.
setRequestHeader
(
"Accept"
,
k
.
dataTypes
[
0
]
&&
k
.
accepts
[
k
.
dataTypes
[
0
]]?
k
.
accepts
[
k
.
dataTypes
[
0
]]
+
(
"*"
!==
k
.
dataTypes
[
0
]?
", "
+
pc
+
"; q=0.01"
:
""
):
k
.
accepts
[
"*"
]);
for
(
j
in
k
.
headers
)
v
.
setRequestHeader
(
j
,
k
.
headers
[
j
]);
if
(
k
.
beforeSend
&&
(
k
.
beforeSend
.
call
(
l
,
v
,
k
)
===!
1
||
2
===
t
))
return
v
.
abort
();
u
=
"abort"
;
for
(
j
in
{
success
:
1
,
error
:
1
,
complete
:
1
})
v
[
j
](
k
[
j
]);
if
(
c
=
sc
(
oc
,
k
,
b
,
v
)){
v
.
readyState
=
1
,
i
&&
m
.
trigger
(
"ajaxSend"
,[
v
,
k
]),
k
.
async
&&
k
.
timeout
>
0
&&
(
g
=
setTimeout
(
function
(){
v
.
abort
(
"timeout"
)},
k
.
timeout
));
try
{
t
=
1
,
c
.
send
(
r
,
x
)}
catch
(
w
){
if
(
!
(
2
>
t
))
throw
w
;
x
(
-
1
,
w
)}}
else
x
(
-
1
,
"No Transport"
);
function
x
(
a
,
b
,
f
,
h
){
var
j
,
r
,
s
,
u
,
w
,
x
=
b
;
2
!==
t
&&
(
t
=
2
,
g
&&
clearTimeout
(
g
),
c
=
void
0
,
e
=
h
||
""
,
v
.
readyState
=
a
>
0
?
4
:
0
,
j
=
a
>=
200
&&
300
>
a
||
304
===
a
,
f
&&
(
u
=
uc
(
k
,
v
,
f
)),
u
=
vc
(
k
,
u
,
v
,
j
),
j
?(
k
.
ifModified
&&
(
w
=
v
.
getResponseHeader
(
"Last-Modified"
),
w
&&
(
n
.
lastModified
[
d
]
=
w
),
w
=
v
.
getResponseHeader
(
"etag"
),
w
&&
(
n
.
etag
[
d
]
=
w
)),
204
===
a
||
"HEAD"
===
k
.
type
?
x
=
"nocontent"
:
304
===
a
?
x
=
"notmodified"
:(
x
=
u
.
state
,
r
=
u
.
data
,
s
=
u
.
error
,
j
=!
s
)):(
s
=
x
,(
a
||!
x
)
&&
(
x
=
"error"
,
0
>
a
&&
(
a
=
0
))),
v
.
status
=
a
,
v
.
statusText
=
(
b
||
x
)
+
""
,
j
?
o
.
resolveWith
(
l
,[
r
,
x
,
v
]):
o
.
rejectWith
(
l
,[
v
,
x
,
s
]),
v
.
statusCode
(
q
),
q
=
void
0
,
i
&&
m
.
trigger
(
j
?
"ajaxSuccess"
:
"ajaxError"
,[
v
,
k
,
j
?
r
:
s
]),
p
.
fireWith
(
l
,[
v
,
x
]),
i
&&
(
m
.
trigger
(
"ajaxComplete"
,[
v
,
k
]),
--
n
.
active
||
n
.
event
.
trigger
(
"ajaxStop"
)))}
return
v
},
getJSON
:
function
(
a
,
b
,
c
){
return
n
.
get
(
a
,
b
,
c
,
"json"
)},
getScript
:
function
(
a
,
b
){
return
n
.
get
(
a
,
void
0
,
b
,
"script"
)}}),
n
.
each
([
"get"
,
"post"
],
function
(
a
,
b
){
n
[
b
]
=
function
(
a
,
c
,
d
,
e
){
return
n
.
isFunction
(
c
)
&&
(
e
=
e
||
d
,
d
=
c
,
c
=
void
0
),
n
.
ajax
({
url
:
a
,
type
:
b
,
dataType
:
e
,
data
:
c
,
success
:
d
})}}),
n
.
each
([
"ajaxStart"
,
"ajaxStop"
,
"ajaxComplete"
,
"ajaxError"
,
"ajaxSuccess"
,
"ajaxSend"
],
function
(
a
,
b
){
n
.
fn
[
b
]
=
function
(
a
){
return
this
.
on
(
b
,
a
)}}),
n
.
_evalUrl
=
function
(
a
){
return
n
.
ajax
({
url
:
a
,
type
:
"GET"
,
dataType
:
"script"
,
async
:
!
1
,
global
:
!
1
,
"throws"
:
!
0
})},
n
.
fn
.
extend
({
wrapAll
:
function
(
a
){
var
b
;
return
n
.
isFunction
(
a
)?
this
.
each
(
function
(
b
){
n
(
this
).
wrapAll
(
a
.
call
(
this
,
b
))}):(
this
[
0
]
&&
(
b
=
n
(
a
,
this
[
0
].
ownerDocument
).
eq
(
0
).
clone
(
!
0
),
this
[
0
].
parentNode
&&
b
.
insertBefore
(
this
[
0
]),
b
.
map
(
function
(){
var
a
=
this
;
while
(
a
.
firstElementChild
)
a
=
a
.
firstElementChild
;
return
a
}).
append
(
this
)),
this
)},
wrapInner
:
function
(
a
){
return
this
.
each
(
n
.
isFunction
(
a
)?
function
(
b
){
n
(
this
).
wrapInner
(
a
.
call
(
this
,
b
))}:
function
(){
var
b
=
n
(
this
),
c
=
b
.
contents
();
c
.
length
?
c
.
wrapAll
(
a
):
b
.
append
(
a
)})},
wrap
:
function
(
a
){
var
b
=
n
.
isFunction
(
a
);
return
this
.
each
(
function
(
c
){
n
(
this
).
wrapAll
(
b
?
a
.
call
(
this
,
c
):
a
)})},
unwrap
:
function
(){
return
this
.
parent
().
each
(
function
(){
n
.
nodeName
(
this
,
"body"
)
||
n
(
this
).
replaceWith
(
this
.
childNodes
)}).
end
()}}),
n
.
expr
.
filters
.
hidden
=
function
(
a
){
return
a
.
offsetWidth
<=
0
&&
a
.
offsetHeight
<=
0
},
n
.
expr
.
filters
.
visible
=
function
(
a
){
return
!
n
.
expr
.
filters
.
hidden
(
a
)};
var
wc
=
/%20/g
,
xc
=
/
\[\]
$/
,
yc
=
/
\r?\n
/g
,
zc
=
/^
(?:
submit|button|image|reset|file
)
$/i
,
Ac
=
/^
(?:
input|select|textarea|keygen
)
/i
;
function
Bc
(
a
,
b
,
c
,
d
){
var
e
;
if
(
n
.
isArray
(
b
))
n
.
each
(
b
,
function
(
b
,
e
){
c
||
xc
.
test
(
a
)?
d
(
a
,
e
):
Bc
(
a
+
"["
+
(
"object"
==
typeof
e
?
b
:
""
)
+
"]"
,
e
,
c
,
d
)});
else
if
(
c
||
"object"
!==
n
.
type
(
b
))
d
(
a
,
b
);
else
for
(
e
in
b
)
Bc
(
a
+
"["
+
e
+
"]"
,
b
[
e
],
c
,
d
)}
n
.
param
=
function
(
a
,
b
){
var
c
,
d
=
[],
e
=
function
(
a
,
b
){
b
=
n
.
isFunction
(
b
)?
b
():
null
==
b
?
""
:
b
,
d
[
d
.
length
]
=
encodeURIComponent
(
a
)
+
"="
+
encodeURIComponent
(
b
)};
if
(
void
0
===
b
&&
(
b
=
n
.
ajaxSettings
&&
n
.
ajaxSettings
.
traditional
),
n
.
isArray
(
a
)
||
a
.
jquery
&&!
n
.
isPlainObject
(
a
))
n
.
each
(
a
,
function
(){
e
(
this
.
name
,
this
.
value
)});
else
for
(
c
in
a
)
Bc
(
c
,
a
[
c
],
b
,
e
);
return
d
.
join
(
"&"
).
replace
(
wc
,
"+"
)},
n
.
fn
.
extend
({
serialize
:
function
(){
return
n
.
param
(
this
.
serializeArray
())},
serializeArray
:
function
(){
return
this
.
map
(
function
(){
var
a
=
n
.
prop
(
this
,
"elements"
);
return
a
?
n
.
makeArray
(
a
):
this
}).
filter
(
function
(){
var
a
=
this
.
type
;
return
this
.
name
&&!
n
(
this
).
is
(
":disabled"
)
&&
Ac
.
test
(
this
.
nodeName
)
&&!
zc
.
test
(
a
)
&&
(
this
.
checked
||!
T
.
test
(
a
))}).
map
(
function
(
a
,
b
){
var
c
=
n
(
this
).
val
();
return
null
==
c
?
null
:
n
.
isArray
(
c
)?
n
.
map
(
c
,
function
(
a
){
return
{
name
:
b
.
name
,
value
:
a
.
replace
(
yc
,
"
\
r
\
n"
)}}):{
name
:
b
.
name
,
value
:
c
.
replace
(
yc
,
"
\
r
\
n"
)}}).
get
()}}),
n
.
ajaxSettings
.
xhr
=
function
(){
try
{
return
new
XMLHttpRequest
}
catch
(
a
){}};
var
Cc
=
0
,
Dc
=
{},
Ec
=
{
0
:
200
,
1223
:
204
},
Fc
=
n
.
ajaxSettings
.
xhr
();
a
.
ActiveXObject
&&
n
(
a
).
on
(
"unload"
,
function
(){
for
(
var
a
in
Dc
)
Dc
[
a
]()}),
k
.
cors
=!!
Fc
&&
"withCredentials"
in
Fc
,
k
.
ajax
=
Fc
=!!
Fc
,
n
.
ajaxTransport
(
function
(
a
){
var
b
;
return
k
.
cors
||
Fc
&&!
a
.
crossDomain
?{
send
:
function
(
c
,
d
){
var
e
,
f
=
a
.
xhr
(),
g
=++
Cc
;
if
(
f
.
open
(
a
.
type
,
a
.
url
,
a
.
async
,
a
.
username
,
a
.
password
),
a
.
xhrFields
)
for
(
e
in
a
.
xhrFields
)
f
[
e
]
=
a
.
xhrFields
[
e
];
a
.
mimeType
&&
f
.
overrideMimeType
&&
f
.
overrideMimeType
(
a
.
mimeType
),
a
.
crossDomain
||
c
[
"X-Requested-With"
]
||
(
c
[
"X-Requested-With"
]
=
"XMLHttpRequest"
);
for
(
e
in
c
)
f
.
setRequestHeader
(
e
,
c
[
e
]);
b
=
function
(
a
){
return
function
(){
b
&&
(
delete
Dc
[
g
],
b
=
f
.
onload
=
f
.
onerror
=
null
,
"abort"
===
a
?
f
.
abort
():
"error"
===
a
?
d
(
f
.
status
,
f
.
statusText
):
d
(
Ec
[
f
.
status
]
||
f
.
status
,
f
.
statusText
,
"string"
==
typeof
f
.
responseText
?{
text
:
f
.
responseText
}:
void
0
,
f
.
getAllResponseHeaders
()))}},
f
.
onload
=
b
(),
f
.
onerror
=
b
(
"error"
),
b
=
Dc
[
g
]
=
b
(
"abort"
);
try
{
f
.
send
(
a
.
hasContent
&&
a
.
data
||
null
)}
catch
(
h
){
if
(
b
)
throw
h
}},
abort
:
function
(){
b
&&
b
()}}:
void
0
}),
n
.
ajaxSetup
({
accepts
:{
script
:
"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
},
contents
:{
script
:
/
(?:
java|ecma
)
script/
},
converters
:{
"text script"
:
function
(
a
){
return
n
.
globalEval
(
a
),
a
}}}),
n
.
ajaxPrefilter
(
"script"
,
function
(
a
){
void
0
===
a
.
cache
&&
(
a
.
cache
=!
1
),
a
.
crossDomain
&&
(
a
.
type
=
"GET"
)}),
n
.
ajaxTransport
(
"script"
,
function
(
a
){
if
(
a
.
crossDomain
){
var
b
,
c
;
return
{
send
:
function
(
d
,
e
){
b
=
n
(
"<script>"
).
prop
({
async
:
!
0
,
charset
:
a
.
scriptCharset
,
src
:
a
.
url
}).
on
(
"load error"
,
c
=
function
(
a
){
b
.
remove
(),
c
=
null
,
a
&&
e
(
"error"
===
a
.
type
?
404
:
200
,
a
.
type
)}),
l
.
head
.
appendChild
(
b
[
0
])},
abort
:
function
(){
c
&&
c
()}}}});
var
Gc
=
[],
Hc
=
/
(
=
)\?(?=
&|$
)
|
\?\?
/
;
n
.
ajaxSetup
({
jsonp
:
"callback"
,
jsonpCallback
:
function
(){
var
a
=
Gc
.
pop
()
||
n
.
expando
+
"_"
+
cc
++
;
return
this
[
a
]
=!
0
,
a
}}),
n
.
ajaxPrefilter
(
"json jsonp"
,
function
(
b
,
c
,
d
){
var
e
,
f
,
g
,
h
=
b
.
jsonp
!==!
1
&&
(
Hc
.
test
(
b
.
url
)?
"url"
:
"string"
==
typeof
b
.
data
&&!
(
b
.
contentType
||
""
).
indexOf
(
"application/x-www-form-urlencoded"
)
&&
Hc
.
test
(
b
.
data
)
&&
"data"
);
return
h
||
"jsonp"
===
b
.
dataTypes
[
0
]?(
e
=
b
.
jsonpCallback
=
n
.
isFunction
(
b
.
jsonpCallback
)?
b
.
jsonpCallback
():
b
.
jsonpCallback
,
h
?
b
[
h
]
=
b
[
h
].
replace
(
Hc
,
"$1"
+
e
):
b
.
jsonp
!==!
1
&&
(
b
.
url
+=
(
dc
.
test
(
b
.
url
)?
"&"
:
"?"
)
+
b
.
jsonp
+
"="
+
e
),
b
.
converters
[
"script json"
]
=
function
(){
return
g
||
n
.
error
(
e
+
" was not called"
),
g
[
0
]},
b
.
dataTypes
[
0
]
=
"json"
,
f
=
a
[
e
],
a
[
e
]
=
function
(){
g
=
arguments
},
d
.
always
(
function
(){
a
[
e
]
=
f
,
b
[
e
]
&&
(
b
.
jsonpCallback
=
c
.
jsonpCallback
,
Gc
.
push
(
e
)),
g
&&
n
.
isFunction
(
f
)
&&
f
(
g
[
0
]),
g
=
f
=
void
0
}),
"script"
):
void
0
}),
n
.
parseHTML
=
function
(
a
,
b
,
c
){
if
(
!
a
||
"string"
!=
typeof
a
)
return
null
;
"boolean"
==
typeof
b
&&
(
c
=
b
,
b
=!
1
),
b
=
b
||
l
;
var
d
=
v
.
exec
(
a
),
e
=!
c
&&
[];
return
d
?[
b
.
createElement
(
d
[
1
])]:(
d
=
n
.
buildFragment
([
a
],
b
,
e
),
e
&&
e
.
length
&&
n
(
e
).
remove
(),
n
.
merge
([],
d
.
childNodes
))};
var
Ic
=
n
.
fn
.
load
;
n
.
fn
.
load
=
function
(
a
,
b
,
c
){
if
(
"string"
!=
typeof
a
&&
Ic
)
return
Ic
.
apply
(
this
,
arguments
);
var
d
,
e
,
f
,
g
=
this
,
h
=
a
.
indexOf
(
" "
);
return
h
>=
0
&&
(
d
=
n
.
trim
(
a
.
slice
(
h
)),
a
=
a
.
slice
(
0
,
h
)),
n
.
isFunction
(
b
)?(
c
=
b
,
b
=
void
0
):
b
&&
"object"
==
typeof
b
&&
(
e
=
"POST"
),
g
.
length
>
0
&&
n
.
ajax
({
url
:
a
,
type
:
e
,
dataType
:
"html"
,
data
:
b
}).
done
(
function
(
a
){
f
=
arguments
,
g
.
html
(
d
?
n
(
"<div>"
).
append
(
n
.
parseHTML
(
a
)).
find
(
d
):
a
)}).
complete
(
c
&&
function
(
a
,
b
){
g
.
each
(
c
,
f
||
[
a
.
responseText
,
b
,
a
])}),
this
},
n
.
expr
.
filters
.
animated
=
function
(
a
){
return
n
.
grep
(
n
.
timers
,
function
(
b
){
return
a
===
b
.
elem
}).
length
};
var
Jc
=
a
.
document
.
documentElement
;
function
Kc
(
a
){
return
n
.
isWindow
(
a
)?
a
:
9
===
a
.
nodeType
&&
a
.
defaultView
}
n
.
offset
=
{
setOffset
:
function
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
,
h
,
i
,
j
,
k
=
n
.
css
(
a
,
"position"
),
l
=
n
(
a
),
m
=
{};
"static"
===
k
&&
(
a
.
style
.
position
=
"relative"
),
h
=
l
.
offset
(),
f
=
n
.
css
(
a
,
"top"
),
i
=
n
.
css
(
a
,
"left"
),
j
=
(
"absolute"
===
k
||
"fixed"
===
k
)
&&
(
f
+
i
).
indexOf
(
"auto"
)
>-
1
,
j
?(
d
=
l
.
position
(),
g
=
d
.
top
,
e
=
d
.
left
):(
g
=
parseFloat
(
f
)
||
0
,
e
=
parseFloat
(
i
)
||
0
),
n
.
isFunction
(
b
)
&&
(
b
=
b
.
call
(
a
,
c
,
h
)),
null
!=
b
.
top
&&
(
m
.
top
=
b
.
top
-
h
.
top
+
g
),
null
!=
b
.
left
&&
(
m
.
left
=
b
.
left
-
h
.
left
+
e
),
"using"
in
b
?
b
.
using
.
call
(
a
,
m
):
l
.
css
(
m
)}},
n
.
fn
.
extend
({
offset
:
function
(
a
){
if
(
arguments
.
length
)
return
void
0
===
a
?
this
:
this
.
each
(
function
(
b
){
n
.
offset
.
setOffset
(
this
,
a
,
b
)});
var
b
,
c
,
d
=
this
[
0
],
e
=
{
top
:
0
,
left
:
0
},
f
=
d
&&
d
.
ownerDocument
;
if
(
f
)
return
b
=
f
.
documentElement
,
n
.
contains
(
b
,
d
)?(
typeof
d
.
getBoundingClientRect
!==
U
&&
(
e
=
d
.
getBoundingClientRect
()),
c
=
Kc
(
f
),{
top
:
e
.
top
+
c
.
pageYOffset
-
b
.
clientTop
,
left
:
e
.
left
+
c
.
pageXOffset
-
b
.
clientLeft
}):
e
},
position
:
function
(){
if
(
this
[
0
]){
var
a
,
b
,
c
=
this
[
0
],
d
=
{
top
:
0
,
left
:
0
};
return
"fixed"
===
n
.
css
(
c
,
"position"
)?
b
=
c
.
getBoundingClientRect
():(
a
=
this
.
offsetParent
(),
b
=
this
.
offset
(),
n
.
nodeName
(
a
[
0
],
"html"
)
||
(
d
=
a
.
offset
()),
d
.
top
+=
n
.
css
(
a
[
0
],
"borderTopWidth"
,
!
0
),
d
.
left
+=
n
.
css
(
a
[
0
],
"borderLeftWidth"
,
!
0
)),{
top
:
b
.
top
-
d
.
top
-
n
.
css
(
c
,
"marginTop"
,
!
0
),
left
:
b
.
left
-
d
.
left
-
n
.
css
(
c
,
"marginLeft"
,
!
0
)}}},
offsetParent
:
function
(){
return
this
.
map
(
function
(){
var
a
=
this
.
offsetParent
||
Jc
;
while
(
a
&&!
n
.
nodeName
(
a
,
"html"
)
&&
"static"
===
n
.
css
(
a
,
"position"
))
a
=
a
.
offsetParent
;
return
a
||
Jc
})}}),
n
.
each
({
scrollLeft
:
"pageXOffset"
,
scrollTop
:
"pageYOffset"
},
function
(
b
,
c
){
var
d
=
"pageYOffset"
===
c
;
n
.
fn
[
b
]
=
function
(
e
){
return
J
(
this
,
function
(
b
,
e
,
f
){
var
g
=
Kc
(
b
);
return
void
0
===
f
?
g
?
g
[
c
]:
b
[
e
]:
void
(
g
?
g
.
scrollTo
(
d
?
a
.
pageXOffset
:
f
,
d
?
f
:
a
.
pageYOffset
):
b
[
e
]
=
f
)},
b
,
e
,
arguments
.
length
,
null
)}}),
n
.
each
([
"top"
,
"left"
],
function
(
a
,
b
){
n
.
cssHooks
[
b
]
=
yb
(
k
.
pixelPosition
,
function
(
a
,
c
){
return
c
?(
c
=
xb
(
a
,
b
),
vb
.
test
(
c
)?
n
(
a
).
position
()[
b
]
+
"px"
:
c
):
void
0
})}),
n
.
each
({
Height
:
"height"
,
Width
:
"width"
},
function
(
a
,
b
){
n
.
each
({
padding
:
"inner"
+
a
,
content
:
b
,
""
:
"outer"
+
a
},
function
(
c
,
d
){
n
.
fn
[
d
]
=
function
(
d
,
e
){
var
f
=
arguments
.
length
&&
(
c
||
"boolean"
!=
typeof
d
),
g
=
c
||
(
d
===!
0
||
e
===!
0
?
"margin"
:
"border"
);
return
J
(
this
,
function
(
b
,
c
,
d
){
var
e
;
return
n
.
isWindow
(
b
)?
b
.
document
.
documentElement
[
"client"
+
a
]:
9
===
b
.
nodeType
?(
e
=
b
.
documentElement
,
Math
.
max
(
b
.
body
[
"scroll"
+
a
],
e
[
"scroll"
+
a
],
b
.
body
[
"offset"
+
a
],
e
[
"offset"
+
a
],
e
[
"client"
+
a
])):
void
0
===
d
?
n
.
css
(
b
,
c
,
g
):
n
.
style
(
b
,
c
,
d
,
g
)},
b
,
f
?
d
:
void
0
,
f
,
null
)}})}),
n
.
fn
.
size
=
function
(){
return
this
.
length
},
n
.
fn
.
andSelf
=
n
.
fn
.
addBack
,
"function"
==
typeof
define
&&
define
.
amd
&&
define
(
"jquery"
,[],
function
(){
return
n
});
var
Lc
=
a
.
jQuery
,
Mc
=
a
.
$
;
return
n
.
noConflict
=
function
(
b
){
return
a
.
$
===
n
&&
(
a
.
$
=
Mc
),
b
&&
a
.
jQuery
===
n
&&
(
a
.
jQuery
=
Lc
),
n
},
typeof
b
===
U
&&
(
a
.
jQuery
=
a
.
$
=
n
),
n
});
/*! layer mobile-v2.0 弹层组件移动版 License LGPL http://layer.layui.com/mobile By 贤心 */
;
!
function
(
a
){
"use strict"
;
var
b
=
document
,
c
=
"querySelectorAll"
,
d
=
"getElementsByClassName"
,
e
=
function
(
a
){
return
b
[
c
](
a
)},
f
=
{
type
:
0
,
shade
:
!
0
,
shadeClose
:
!
0
,
fixed
:
!
0
,
anim
:
"scale"
},
g
=
{
extend
:
function
(
a
){
var
b
=
JSON
.
parse
(
JSON
.
stringify
(
f
));
for
(
var
c
in
a
)
b
[
c
]
=
a
[
c
];
return
b
},
timer
:{},
end
:{}};
g
.
touch
=
function
(
a
,
b
){
a
.
addEventListener
(
"click"
,
function
(
a
){
b
.
call
(
this
,
a
)},
!
1
)};
var
h
=
0
,
i
=
[
"layui-m-layer"
],
j
=
function
(
a
){
var
b
=
this
;
b
.
config
=
g
.
extend
(
a
),
b
.
view
()};
j
.
prototype
.
view
=
function
(){
var
a
=
this
,
c
=
a
.
config
,
f
=
b
.
createElement
(
"div"
);
a
.
id
=
f
.
id
=
i
[
0
]
+
h
,
f
.
setAttribute
(
"class"
,
i
[
0
]
+
" "
+
i
[
0
]
+
(
c
.
type
||
0
)),
f
.
setAttribute
(
"index"
,
h
);
var
g
=
function
(){
var
a
=
"object"
==
typeof
c
.
title
;
return
c
.
title
?
'<h3 style="'
+
(
a
?
c
.
title
[
1
]:
""
)
+
'">'
+
(
a
?
c
.
title
[
0
]:
c
.
title
)
+
"</h3>"
:
""
}(),
j
=
function
(){
"string"
==
typeof
c
.
btn
&&
(
c
.
btn
=
[
c
.
btn
]);
var
a
,
b
=
(
c
.
btn
||
[]).
length
;
return
0
!==
b
&&
c
.
btn
?(
a
=
'<span yes type="1">'
+
c
.
btn
[
0
]
+
"</span>"
,
2
===
b
&&
(
a
=
'<span no type="0">'
+
c
.
btn
[
1
]
+
"</span>"
+
a
),
'<div class="layui-m-layerbtn">'
+
a
+
"</div>"
):
""
}();
if
(
c
.
fixed
||
(
c
.
top
=
c
.
hasOwnProperty
(
"top"
)?
c
.
top
:
100
,
c
.
style
=
c
.
style
||
""
,
c
.
style
+=
" top:"
+
(
b
.
body
.
scrollTop
+
c
.
top
)
+
"px"
),
2
===
c
.
type
&&
(
c
.
content
=
'<i></i><i class="layui-m-layerload"></i><i></i><p>'
+
(
c
.
content
||
""
)
+
"</p>"
),
c
.
skin
&&
(
c
.
anim
=
"up"
),
"msg"
===
c
.
skin
&&
(
c
.
shade
=!
1
),
f
.
innerHTML
=
(
c
.
shade
?
"<div "
+
(
"string"
==
typeof
c
.
shade
?
'style="'
+
c
.
shade
+
'"'
:
""
)
+
' class="layui-m-layershade"></div>'
:
""
)
+
'<div class="layui-m-layermain" '
+
(
c
.
fixed
?
""
:
'style="position:static;"'
)
+
'><div class="layui-m-layersection"><div class="layui-m-layerchild '
+
(
c
.
skin
?
"layui-m-layer-"
+
c
.
skin
+
" "
:
""
)
+
(
c
.
className
?
c
.
className
:
""
)
+
" "
+
(
c
.
anim
?
"layui-m-anim-"
+
c
.
anim
:
""
)
+
'" '
+
(
c
.
style
?
'style="'
+
c
.
style
+
'"'
:
""
)
+
">"
+
g
+
'<div class="layui-m-layercont">'
+
c
.
content
+
"</div>"
+
j
+
"</div></div></div>"
,
!
c
.
type
||
2
===
c
.
type
){
var
k
=
b
[
d
](
i
[
0
]
+
c
.
type
),
l
=
k
.
length
;
l
>=
1
&&
layer
.
close
(
k
[
0
].
getAttribute
(
"index"
))}
document
.
body
.
appendChild
(
f
);
var
m
=
a
.
elem
=
e
(
"#"
+
a
.
id
)[
0
];
c
.
success
&&
c
.
success
(
m
),
a
.
index
=
h
++
,
a
.
action
(
c
,
m
)},
j
.
prototype
.
action
=
function
(
a
,
b
){
var
c
=
this
;
a
.
time
&&
(
g
.
timer
[
c
.
index
]
=
setTimeout
(
function
(){
layer
.
close
(
c
.
index
)},
1
e3
*
a
.
time
));
var
e
=
function
(){
var
b
=
this
.
getAttribute
(
"type"
);
0
==
b
?(
a
.
no
&&
a
.
no
(),
layer
.
close
(
c
.
index
)):
a
.
yes
?
a
.
yes
(
c
.
index
):
layer
.
close
(
c
.
index
)};
if
(
a
.
btn
)
for
(
var
f
=
b
[
d
](
"layui-m-layerbtn"
)[
0
].
children
,
h
=
f
.
length
,
i
=
0
;
h
>
i
;
i
++
)
g
.
touch
(
f
[
i
],
e
);
if
(
a
.
shade
&&
a
.
shadeClose
){
var
j
=
b
[
d
](
"layui-m-layershade"
)[
0
];
g
.
touch
(
j
,
function
(){
layer
.
close
(
c
.
index
,
a
.
end
)})}
a
.
end
&&
(
g
.
end
[
c
.
index
]
=
a
.
end
)},
a
.
layer
=
{
v
:
"2.0"
,
index
:
h
,
open
:
function
(
a
){
var
b
=
new
j
(
a
||
{});
return
b
.
index
},
close
:
function
(
a
){
var
c
=
e
(
"#"
+
i
[
0
]
+
a
)[
0
];
c
&&
(
c
.
innerHTML
=
""
,
b
.
body
.
removeChild
(
c
),
clearTimeout
(
g
.
timer
[
a
]),
delete
g
.
timer
[
a
],
"function"
==
typeof
g
.
end
[
a
]
&&
g
.
end
[
a
](),
delete
g
.
end
[
a
])},
closeAll
:
function
(){
for
(
var
a
=
b
[
d
](
i
[
0
]),
c
=
0
,
e
=
a
.
length
;
e
>
c
;
c
++
)
layer
.
close
(
0
|
a
[
0
].
getAttribute
(
"index"
))}},
"function"
==
typeof
define
?
define
(
function
(){
return
layer
}):
function
(){
var
a
=
document
.
scripts
,
c
=
a
[
a
.
length
-
1
],
d
=
c
.
src
,
e
=
d
.
substring
(
0
,
d
.
lastIndexOf
(
"/"
)
+
1
);
c
.
getAttribute
(
"merge"
)
||
document
.
head
.
appendChild
(
function
(){
var
a
=
b
.
createElement
(
"link"
);
return
a
.
href
=
e
+
"need/layer.css?2.0"
,
a
.
type
=
"text/css"
,
a
.
rel
=
"styleSheet"
,
a
.
id
=
"layermcss"
,
a
}())}()}(
window
);
;
layerTipsX
=
function
(
n
){
layer
.
open
({
content
:
n
,
skin
:
"msg"
,
time
:
2
})};
\ No newline at end of file
public/app/js/libs/rem750_1.js
0 → 100644
View file @
851b04ef
/*! 动态计算屏幕的宽度,从而得到网页的fontSize大小 */
;
!
function
(
n
,
e
){
n
.
documentElement
.
style
.
fontSize
=
100
*
(
n
.
documentElement
.
clientWidth
/
750
)
+
'px'
;}(
document
,
window
);
\ No newline at end of file
public/app/js/libs/require.min.js
0 → 100644
View file @
851b04ef
eval
(
function
(
p
,
a
,
c
,
k
,
e
,
d
){
e
=
function
(
c
){
return
(
c
<
a
?
''
:
e
(
parseInt
(
c
/
a
)))
+
((
c
=
c
%
a
)
>
35
?
String
.
fromCharCode
(
c
+
29
):
c
.
toString
(
36
))};
if
(
!
''
.
replace
(
/^/
,
String
)){
while
(
c
--
){
d
[
e
(
c
)]
=
k
[
c
]
||
e
(
c
)}
k
=
[
function
(
e
){
return
d
[
e
]}];
e
=
function
(){
return
'
\\
w+'
};
c
=
1
};
while
(
c
--
){
if
(
k
[
c
]){
p
=
p
.
replace
(
new
RegExp
(
'
\\
b'
+
e
(
c
)
+
'
\\
b'
,
'g'
),
k
[
c
])}}
return
p
}(
'm 1M,H,1R;(9(3z){m y,s,1h,2b,2y,28,1X,30,13,48,3p=
\'
2.1.11
\'
,3i=
\'\'
,5t=/(
\\
/
\\
*([
\\
s
\\
S]*?)
\\
*
\\
/|([^:]|^)
\\
/
\\
/(.*)$)/5v,5j=/[^.]
\\
s*H
\\
s*
\\
(
\\
s*["
\'
]([^
\'
"
\\
s]+)["
\'
]
\\
s*
\\
)/g,2i=/
\\
.3r$/,4X=/^
\\
.
\\
//,3P=5z.3N,45=3P.2k,5c=3P.5w,5g=53.3N,4B=5g.2f,1a=!!(W 4O!==
\'
1f
\'
&&W 4M!==
\'
1f
\'
&&4O.2e),4d=!1a&&W 43!==
\'
1f
\'
,5s=1a&&4M.5J===
\'
5I 3
\'
?/^4y$/:/^(4y|5o)$/,3F=
\'
4N
\'
,4a=W 4x!==
\'
1f
\'
&&4x.2k()===
\'
[3k 5K]
\'
,1P={},E={},2D=[],26=R;9 1D(3f){d 45.2p(3f)===
\'
[3k 5L]
\'
}9 1w(3f){d 45.2p(3f)===
\'
[3k 53]
\'
}9 1b(M,1r){5(M){m i;10(i=0;i<M.F;i+=1){5(M[i]&&1r(M[i],i,M)){1H}}}}9 2K(M,1r){5(M){m i;10(i=M.F-1;i>-1;i-=1){5(M[i]&&1r(M[i],i,M)){1H}}}}9 V(1d,D){d 5c.2p(1d,D)}9 B(1d,D){d V(1d,D)&&1d[D]}9 1s(1d,1r){m D;10(D 5E 1d){5(V(1d,D)){5(1r(1d[D],D)){1H}}}}9 2I(1J,3C,4h,4l){5(3C){1s(3C,9(o,D){5(4h||!V(1J,D)){5(4l&&W o===
\'
3k
\'
&&o&&!1w(o)&&!1D(o)&&!(o 5N 5C)){5(!1J[D]){1J[D]={}}2I(1J[D],o,4h,4l)}p{1J[D]=o}}})}d 1J}9 12(1d,17){d 9(){d 17.2B(1d,40)}}9 3m(){d 2e.41(
\'
1u
\'
)}9 44(x){5y x}9 4m(o){5(!o){d o}m g=3z;1b(o.1A(
\'
.
\'
),9(2c){g=g[2c]});d g}9 1m(a,59,x,20){m e=2R 5M(59+
\'
\\
5F://1M.4K/5D/5B.4V#
\'
+a);e.4I=a;e.20=20;5(x){e.5G=x}d e}5(W 1R!==
\'
1f
\'
){d}5(W 1M!==
\'
1f
\'
){5(1D(1M)){d}E=1M;1M=1f}5(W H!==
\'
1f
\'
&&!1D(H)){E=H;H=1f}9 3e(15){m 2P,1T,h,27,2N,l={4P:7,1B:
\'
./
\'
,1z:{},32:{},3l:{},P:{},l:{}},L={},39={},2G={},19=[],C={},2a={},3j={},4Q=1,5f=1;9 5b(M){m i,2c,F=M.F;10(i=0;i<F;i++){2c=M[i];5(2c===
\'
.
\'
){M.2f(i,1);i-=1}p 5(2c===
\'
..
\'
){5(i===1&&(M[2]===
\'
..
\'
||M[0]===
\'
..
\'
)){1H}p 5(i>0){M.2f(i-1,2);i-=2}}}}9 1e(b,34,1V){m 1U,1G,16,i,j,2g,2o,22,2Z,2r,3Y,1E=34&&34.1A(
\'
/
\'
),3X=1E,f=l.f,2h=f&&f[
\'
*
\'
];5(b&&b.4s(0)===
\'
.
\'
){5(34){3X=1E.2C(0,1E.F-1);b=b.1A(
\'
/
\'
);2o=b.F-1;5(l.5x&&2i.2u(b[2o])){b[2o]=b[2o].29(2i,
\'\'
)}b=3X.33(b);5b(b);b=b.1K(
\'
/
\'
)}p 5(b.1O(
\'
./
\'
)===0){b=b.2m(2)}}5(1V&&f&&(1E||2h)){16=b.1A(
\'
/
\'
);5r:10(i=16.F;i>0;i-=1){2g=16.2C(0,i).1K(
\'
/
\'
);5(1E){10(j=1E.F;j>0;j-=1){1G=B(f,1E.2C(0,j).1K(
\'
/
\'
));5(1G){1G=B(1G,2g);5(1G){22=1G;2Z=i;1H 5r}}}}5(!2r&&2h&&B(2h,2g)){2r=B(2h,2g);3Y=i}}5(!22&&2r){22=2r;2Z=3Y}5(22){16.2f(0,2Z,22);b=16.1K(
\'
/
\'
)}}1U=B(l.3l,b);d 1U?1U:b}9 4c(b){5(1a){1b(3m(),9(2A){5(2A.25(
\'
U-35
\'
)===b&&2A.25(
\'
U-3q
\'
)===h.15){2A.4p.5A(2A);d k}})}}9 3d(a){m 2F=B(l.1z,a);5(2F&&1w(2F)&&2F.F>1){2F.4i();h.H.3u(a);h.H([a]);d k}}9 3S(b){m I,1n=b?b.1O(
\'
!
\'
):-1;5(1n>-1){I=b.2m(0,1n);b=b.2m(1n+1,b.F)}d[I,b]}9 X(b,2U,3Q,1V){m t,1Y,2V,16,I=Q,1S=2U?2U.b:Q,3R=b,Y=k,1j=
\'\'
;5(!b){Y=R;b=
\'
4N@r
\'
+(4Q+=1)}16=3S(b);I=16[0];b=16[1];5(I){I=1e(I,1S,1V);1Y=B(C,I)}5(b){5(I){5(1Y&&1Y.1e){1j=1Y.1e(b,9(b){d 1e(b,1S,1V)})}p{1j=1e(b,1S,1V)}}p{1j=1e(b,1S,1V);16=3S(1j);I=16[0];1j=16[1];3Q=k;t=h.2j(1j)}}2V=I&&!1Y&&!3Q?
\'
5i
\'
+(5f+=1):
\'\'
;d{I:I,b:1j,1Z:2U,3y:!!2V,t:t,3R:3R,Y:Y,a:(I?I+
\'
!
\'
+1j:1j)+2V}}9 21(K){m a=K.a,c=B(L,a);5(!c){c=L[a]=2R h.1T(K)}d c}9 1q(K,b,17){m a=K.a,c=B(L,a);5(V(C,a)&&(!c||c.4Z)){5(b===
\'
C
\'
){17(C[a])}}p{c=21(K);5(c.A&&b===
\'
A
\'
){17(c.A)}p{c.1q(b,17)}}}9 T(x,O){m 5m=x.20,3T=R;5(O){O(x)}p{1b(5m,9(a){m c=B(L,a);5(c){c.A=x;5(c.1g.A){3T=k;c.1Q(
\'
A
\'
,x)}}});5(!3T){y.T(x)}}}9 2L(){5(2D.F){4B.2B(19,[19.F,0].33(2D));2D=[]}}27={
\'
H
\'
:9(c){5(c.H){d c.H}p{d(c.H=h.2n(c.f))}},
\'
u
\'
:9(c){c.4C=k;5(c.f.Y){5(c.u){d(C[c.f.a]=c.u)}p{d(c.u=C[c.f.a]={})}}},
\'
1W
\'
:9(c){5(c.1W){d c.1W}p{d(c.1W={a:c.f.a,6m:c.f.t,l:9(){d B(l.l,c.f.a)||{}},u:c.u||(c.u={})})}}};9 2J(a){24 L[a];24 39[a]}9 3L(c,2W,2X){m a=c.f.a;5(c.A){c.1Q(
\'
A
\'
,c.A)}p{2W[a]=k;1b(c.18,9(K,i){m 2q=K.a,2t=B(L,2q);5(2t&&!c.2Q[i]&&!2X[2q]){5(B(2W,2q)){c.3v(i,C[2q]);c.2l()}p{3L(2t,2W,2X)}}});2X[a]=k}}9 3o(){m x,3M,3O=l.4P*6n,2S=3O&&(h.4A+3O)<2R 4w().4u(),2E=[],3J=[],2O=R,3K=k;5(2P){d}2P=k;1s(39,9(c){m f=c.f,2T=f.a;5(!c.1l){d}5(!f.Y){3J.1F(c)}5(!c.A){5(!c.1y&&2S){5(3d(2T)){3M=k;2O=k}p{2E.1F(2T);4c(2T)}}p 5(!c.1y&&c.3U&&f.Y){2O=k;5(!f.I){d(3K=R)}}}});5(2S&&2E.F){x=1m(
\'
4L
\'
,
\'
6o 4L 10 6p:
\'
+2E,Q,2E);x.15=h.15;d T(x)}5(3K){1b(3J,9(c){3L(c,{},{})})}5((!2S||3M)&&2O){5((1a||4d)&&!2N){2N=47(9(){2N=0;3o()},50)}}2P=R}1T=9(f){6.1g=B(2G,f.a)||{};6.f=f;6.P=B(l.P,f.a);6.1c=[];6.18=[];6.2Q=[];6.3t={};6.36=0};1T.3N={1C:9(18,1o,O,1i){1i=1i||{};5(6.1y){d}6.1o=1o;5(O){6.1q(
\'
A
\'
,O)}p 5(6.1g.A){O=12(6,9(x){6.1Q(
\'
A
\'
,x)})}6.18=18&&18.2C(0);6.O=O;6.1y=k;6.37=1i.37;5(1i.1l||6.1l){6.1v()}p{6.2l()}},3v:9(i,1c){5(!6.2Q[i]){6.2Q[i]=k;6.36-=1;6.1c[i]=1c}},4v:9(){5(6.3U){d}6.3U=k;h.4A=(2R 4w()).4u();m f=6.f;5(6.P){h.2n(6.f,{3B:k})(6.P.q||[],12(6,9(){d f.I?6.42():6.N()}))}p{d f.I?6.42():6.N()}},N:9(){m t=6.f.t;5(!2a[t]){2a[t]=k;h.N(6.f.a,t)}},2l:9(){5(!6.1l||6.3w){d}m x,2Y,a=6.f.a,1c=6.1c,u=6.u,1o=6.1o;5(!6.1y){6.4v()}p 5(6.A){6.1Q(
\'
A
\'
,6.A)}p 5(!6.3V){6.3V=k;5(6.36<1&&!6.C){5(1D(1o)){5((6.1g.A&&6.f.Y)||y.T!==44){4e{u=h.49(a,1o,1c,u)}3s(e){x=e}}p{u=h.49(a,1o,1c,u)}5(6.f.Y&&u===1f){2Y=6.1W;5(2Y){u=2Y.u}p 5(6.4C){u=6.u}}5(x){x.6l=6.f;x.20=6.f.Y?[6.f.a]:Q;x.4I=6.f.Y?
\'
1R
\'
:
\'
H
\'
;d T((6.A=x))}}p{u=1o}6.u=u;5(6.f.Y&&!6.37){C[a]=u;5(y.4F){y.4F(h,6.f,6.18)}}2J(a);6.C=k}6.3V=R;5(6.C&&!6.4E){6.4E=k;6.1Q(
\'
C
\'
,6.u);6.4Z=k}}},42:9(){m f=6.f,a=f.a,1p=X(f.I);6.18.1F(1p);1q(1p,
\'
C
\'
,12(6,9(38){m N,2v,2w,1N=B(3j,6.f.a),b=6.f.b,1S=6.f.1Z?6.f.1Z.b:Q,1t=h.2n(f.1Z,{3B:k});5(6.f.3y){5(38.1e){b=38.1e(b,9(b){d 1e(b,1S,k)})||
\'\'
}2v=X(f.I+
\'
!
\'
+b,6.f.1Z);1q(2v,
\'
C
\'
,12(6,9(o){6.1C([],9(){d o},Q,{1l:k,37:k})}));2w=B(L,2v.a);5(2w){6.18.1F(2v);5(6.1g.A){2w.1q(
\'
A
\'
,12(6,9(x){6.1Q(
\'
A
\'
,x)}))}2w.1v()}d}5(1N){6.f.t=h.2j(1N);6.N();d}N=12(6,9(o){6.1C([],9(){d o},Q,{1l:k})});N.A=12(6,9(x){6.1y=k;6.A=x;x.20=[a];1s(L,9(c){5(c.f.a.1O(a+
\'
5i
\'
)===0){2J(c.f.a)}});T(x)});N.5u=12(6,9(2d,3I){m z=f.b,46=X(z),3Z=26;5(3I){2d=3I}5(3Z){26=R}21(46);5(V(l.l,a)){l.l[z]=l.l[a]}4e{y.5a(2d)}3s(e){d T(1m(
\'
6h
\'
,
\'
5u 4S 10
\'
+a+
\'
4U:
\'
+e,e,[a]))}5(3Z){26=k}6.18.1F(46);h.3b(z);1t([z],N)});38.N(f.b,1t,N,l)}));h.1v(1p,6);6.3t[1p.a]=1p},1v:9(){39[6.f.a]=6;6.1l=k;6.3w=k;1b(6.18,12(6,9(K,i){m a,c,3a;5(W K===
\'
2z
\'
){K=X(K,(6.f.Y?6.f:6.f.1Z),R,!6.4r);6.18[i]=K;3a=B(27,K.a);5(3a){6.1c[i]=3a(6);d}6.36+=1;1q(K,
\'
C
\'
,12(6,9(1c){6.3v(i,1c);6.2l()}));5(6.O){1q(K,
\'
A
\'
,12(6,6.O))}}a=K.a;c=L[a];5(!V(27,a)&&c&&!c.1l){h.1v(K,6)}}));1s(6.3t,12(6,9(1p){m c=B(L,1p.a);5(c&&!c.1l){h.1v(1p,6)}}));6.3w=R;6.2l()},1q:9(b,2M){m 31=6.1g[b];5(!31){31=6.1g[b]=[]}31.1F(2M)},1Q:9(b,14){1b(6.1g[b],9(2M){2M(14)});5(b===
\'
A
\'
){24 6.1g[b]}}};9 2H(J){5(!V(C,J[0])){21(X(J[0],Q,k)).1C(J[1],J[2])}}9 3x(n,1r,b,3E){5(n.4H&&!4a){5(3E){n.4H(3E,1r)}}p{n.6j(b,1r,R)}}9 4f(14){m n=14.55||14.5e;3x(n,h.3h,
\'
N
\'
,
\'
51
\'
);3x(n,h.4q,
\'
A
\'
);d{n:n,a:n&&n.25(
\'
U-35
\'
)}}9 4t(){m J;2L();4J(19.F){J=19.4i();5(J[0]===Q){d T(1m(
\'
6r
\'
,
\'
5O 6q 1R() 1W:
\'
+J[J.F-1]))}p{2H(J)}}}h={l:l,15:15,L:L,C:C,2a:2a,19:19,1T:1T,X:X,3g:y.3g,T:T,4W:9(E){5(E.1B){5(E.1B.4s(E.1B.F-1)!==
\'
/
\'
){E.1B+=
\'
/
\'
}}m P=l.P,5k={1z:k,32:k,l:k,f:k};1s(E,9(o,D){5(5k[D]){5(!l[D]){l[D]={}}2I(l[D],o,k,k)}p{l[D]=o}});5(E.32){1s(E.32,9(o,D){1b(o,9(v){5(v!==D){3j[v]=D}})})}5(E.P){1s(E.P,9(o,a){5(1w(o)){o={q:o}}5((o.u||o.1C)&&!o.3H){o.3H=h.4G(o)}P[a]=o});l.P=P}5(E.4z){1b(E.4z,9(1k){m 2s,b;1k=W 1k===
\'
2z
\'
?{b:1k}:1k;b=1k.b;2s=1k.2s;5(2s){l.1z[b]=1k.2s}l.3l[b]=1k.b+
\'
/
\'
+(1k.3G||
\'
3G
\'
).29(4X,
\'\'
).29(2i,
\'\'
)})}1s(L,9(c,a){5(!c.1y&&!c.f.3y){c.f=X(a)}});5(E.q||E.G){h.H(E.q||[],E.G)}},4G:9(o){9 17(){m 3A;5(o.1C){3A=o.1C.2B(3z,40)}d 3A||(o.u&&4m(o.u))}d 17},2n:9(Z,1i){1i=1i||{};9 1t(q,G,O){m a,f,3c;5(1i.3B&&G&&1D(G)){G.6w=k}5(W q===
\'
2z
\'
){5(1D(G)){d T(1m(
\'
6x
\'
,
\'
6s H 2p
\'
),O)}5(Z&&V(27,q)){d 27[q](L[Z.a])}5(y.5n){d y.5n(h,q,Z,1t)}f=X(q,Z,R,k);a=f.a;5(!V(C,a)){d T(1m(
\'
6t
\'
,
\'
1T b "
\'
+a+
\'
" 6u 6v 6e 5o 5X 10 h:
\'
+15+(Z?
\'\'
:
\'
. 5W H([])
\'
)))}d C[a]}4t();h.3g(9(){4t();3c=21(X(Q,Z));3c.4r=1i.4r;3c.1C(q,G,O,{1l:k});3o()});d 1t}2I(1t,{1a:1a,54:9(1x){m 1I,1n=1x.5Y(
\'
.
\'
),4g=1x.1A(
\'
/
\'
)[0],52=4g===
\'
.
\'
||4g===
\'
..
\'
;5(1n!==-1&&(!52||1n>1)){1I=1x.2m(1n,1x.F);1x=1x.2m(0,1n)}d h.2j(1e(1x,Z&&Z.a,k),1I,k)},C:9(a){d V(C,X(a,Z,R,k).a)},5h:9(a){a=X(a,Z,R,k).a;d V(C,a)||V(L,a)}});5(!Z){1t.3u=9(a){2L();m f=X(a,Z,k),c=B(L,a);4c(a);24 C[a];24 2a[f.t];24 2G[a];2K(19,9(J,i){5(J[0]===a){19.2f(i,1)}});5(c){5(c.1g.C){2G[a]=c.1g}2J(a)}}}d 1t},1v:9(K){m c=B(L,K.a);5(c){21(K).1v()}},3b:9(z){m 2x,J,c,P=B(l.P,z)||{},4j=P.u;2L();4J(19.F){J=19.4i();5(J[0]===Q){J[0]=z;5(2x){1H}2x=k}p 5(J[0]===z){2x=k}2H(J)}c=B(L,z);5(!2x&&!V(C,z)&&c&&!c.1y){5(l.5V&&(!4j||!4m(4j))){5(3d(z)){d}p{d T(1m(
\'
5U
\'
,
\'
5Q 1R 2p 10
\'
+z,Q,[z]))}}p{2H([z,(P.q||[]),P.3H])}}3o()},2j:9(z,1I,4b){m 1z,23,i,4o,t,1L,1N,1U=B(l.3l,z);5(1U){z=1U}1N=B(3j,z);5(1N){d h.2j(1N,1I,4b)}5(y.4n.2u(z)){t=z+(1I||
\'\'
)}p{1z=l.1z;23=z.1A(
\'
/
\'
);10(i=23.F;i>0;i-=1){4o=23.2C(0,i).1K(
\'
/
\'
);1L=B(1z,4o);5(1L){5(1w(1L)){1L=1L[0]}23.2f(0,i,1L);1H}}t=23.1K(
\'
/
\'
);t+=(1I||(/^U
\\
:|
\\
?/.2u(t)||4b?
\'\'
:
\'
.3r
\'
));t=(t.4s(0)===
\'
/
\'
||t.57(/^[
\\
w
\\
+
\\
.
\\
-]+:/)?
\'\'
:l.1B)+t;5(3i!=
\'\'
&&!(t.1O(
\'
@
\'
)>0)){t+=
\'
?
\'
+3i}}d l.5l?t+((t.1O(
\'
?
\'
)===-1?
\'
?
\'
:
\'
&
\'
)+l.5l):t},N:9(a,t){y.N(h,a,t)},49:9(b,G,J,u){d G.2B(u,J)},3h:9(14){5(14.4R===
\'
N
\'
||(5s.2u((14.55||14.5e).4k))){1X=Q;m U=4f(14);h.3b(U.a)}},4q:9(14){m U=4f(14);5(!3d(U.a)){d T(1m(
\'
5P
\'
,
\'
5R A 10:
\'
+U.a,14,[U.a]))}}};h.H=h.2n();d h}y=1M=9(q,G,O,4Y){m h,l,15=3F;5(!1w(q)&&W q!==
\'
2z
\'
){l=q;5(1w(G)){q=G;G=O;O=4Y}p{q=[]}}5(l&&l.h){15=l.h}h=B(1P,15);5(!h){h=1P[15]=y.s.3e(15)}5(l){h.4W(l)}d h.H(q,G,O)};y.l=9(l){d y(l)};y.3g=W 47!==
\'
1f
\'
?9(17){47(17,4)}:9(17){17()};5(!H){H=y}y.3p=3p;y.4n=/^
\\
/|:|
\\
?|
\\
.3r$/;y.1a=1a;s=y.s={1P:1P,3e:3e};y({});1b([
\'
54
\'
,
\'
3u
\'
,
\'
C
\'
,
\'
5h
\'
],9(D){y[D]=9(){m 3W=1P[3F];d 3W.H[D].2B(3W,40)}});5(1a){1h=s.1h=2e.41(
\'
1h
\'
)[0];2b=2e.41(
\'
61
\'
)[0];5(2b){1h=s.1h=2b.4p}}y.T=44;y.58=9(l,z,t){m n=l.4T?2e.62(
\'
6a://6b.6c.4K/6d/4T
\'
,
\'
4V:1u
\'
):2e.69(
\'
1u
\'
);n.4R=l.68||
\'
2d/64
\'
;n.63=
\'
65-8
\'
;n.66=k;d n};y.N=9(h,z,t){m l=(h&&h.l)||{},n;5(1a){n=y.58(l,z,t);n.5q(
\'
U-3q
\'
,h.15);n.5q(
\'
U-35
\'
,z);5(n.3n&&!(n.3n.2k&&n.3n.2k().1O(
\'
[5T 5S
\'
)<0)&&!4a){26=k;n.3n(
\'
51
\'
,h.3h)}p{n.4D(
\'
N
\'
,h.3h,R);n.4D(
\'
A
\'
,h.4q,R)}n.28=t;30=n;5(2b){1h.60(n,2b)}p{1h.6f(n)}30=Q;d n}p 5(4d){4e{43(t);h.3b(z)}3s(e){h.T(1m(
\'
6g
\'
,
\'
43 4U 10
\'
+z+
\'
5H
\'
+t,e,[z]))}}};9 5d(){5(1X&&1X.4k===
\'
5p
\'
){d 1X}2K(3m(),9(1u){5(1u.4k===
\'
5p
\'
){d(1X=1u)}});d 1X}5(1a&&!E.6i){2K(3m(),9(1u){5(!1h){1h=1u.4p}2y=1u.25(
\'
U-3G
\'
);5(2y){13=2y;5(!E.1B){28=13.1A(
\'
/
\'
);13=28.67();m 56=13.1O(
\'
?
\'
);5(56>0){m 3D=13.1A(
\'
?
\'
);13=3D[0];3i=3D[1]}48=28.F?28.1K(
\'
/
\'
)+
\'
/
\'
:
\'
./
\'
;E.1B=48}13=13.29(2i,
\'\'
);5(y.4n.2u(13)){13=2y}E.q=E.q?E.q.33(13):[13];d k}})}1R=9(b,q,G){m n,h;5(W b!==
\'
2z
\'
){G=q;q=b;b=Q}5(!1w(q)){G=q;q=Q}5(!q&&1D(G)){q=[];5(G.F){G.2k().29(5t,
\'\'
).29(5j,9(57,2t){q.1F(2t)});q=(G.F===1?[
\'
H
\'
]:[
\'
H
\'
,
\'
u
\'
,
\'
1W
\'
]).33(q)}}5(26){n=30||5d();5(n){5(!b){b=n.25(
\'
U-35
\'
)}h=1P[n.25(
\'
U-3q
\'
)]}}(h?h.19:2D).1F([b,q,G])};1R.6k={5Z:k};y.5a=9(2d){d 4S(2d)};y(E)}(6));'
,
62
,
406
,
'|||||if|this|||function|id|name|mod|return||map||context|||true|config|var|node|value|else|deps|||url|exports|||err|req|moduleName|error|getOwn|defined|prop|cfg|length|callback|require|prefix|args|depMap|registry|ary|load|errback|shim|null|false||onError|data|hasProp|typeof|makeModuleMap|isDefine|relMap|for||bind|mainScript|evt|contextName|nameParts|fn|depMaps|defQueue|isBrowser|each|depExports|obj|normalize|undefined|events|head|options|normalizedName|pkgObj|enabled|makeError|index|factory|pluginMap|on|func|eachProp|localRequire|script|enable|isArray|moduleNamePlusExt|inited|paths|split|baseUrl|init|isFunction|baseParts|push|mapValue|break|ext|target|join|parentPath|requirejs|bundleId|indexOf|contexts|emit|define|parentName|Module|pkgMain|applyMap|module|interactiveScript|pluginModule|parentMap|requireModules|getModule|foundMap|syms|delete|getAttribute|useInteractive|handlers|src|replace|urlFetched|baseElement|part|text|document|splice|nameSegment|starMap|jsSuffixRegExp|nameToUrl|toString|check|substring|makeRequire|lastIndex|call|depId|foundStarMap|location|dep|test|normalizedMap|normalizedMod|found|dataMain|string|scriptNode|apply|slice|globalDefQueue|noLoads|pathConfig|undefEvents|callGetModule|mixin|cleanRegistry|eachReverse|takeGlobalQueue|cb|checkLoadedTimeoutId|stillLoading|inCheckLoaded|depMatched|new|expired|modId|parentModuleMap|suffix|traced|processed|cjsModule|foundI|currentlyAddingScript|cbs|bundles|concat|baseName|requiremodule|depCount|ignore|plugin|enabledRegistry|handler|completeLoad|requireMod|hasPathFallback|newContext|it|nextTick|onScriptLoad|mainVersion|bundlesMap|object|pkgs|scripts|attachEvent|checkLoaded|version|requirecontext|js|catch|pluginMaps|undef|defineDep|enabling|removeListener|unnormalized|global|ret|enableBuildCallback|source|mainarr|ieName|defContextName|main|exportsFn|textAlt|reqCalls|needCycleCheck|breakCycle|usingPathFallback|prototype|waitInterval|op|isNormalized|originalName|splitPrefix|notified|fetched|defining|ctx|normalizedBaseParts|starI|hasInteractive|arguments|getElementsByTagName|callPlugin|importScripts|defaultOnError|ostring|moduleMap|setTimeout|subPath|execCb|isOpera|skipExt|removeScript|isWebWorker|try|getScriptData|segment|force|shift|shExports|readyState|deepStringMixin|getGlobal|jsExtRegExp|parentModule|parentNode|onScriptError|skipMap|charAt|intakeDefines|getTime|fetch|Date|opera|complete|packages|startTime|apsp|usingExports|addEventListener|defineEmitted|onResourceLoad|makeShimExports|detachEvent|requireType|while|org|timeout|navigator|_|window|waitSeconds|requireCounter|type|eval|xhtml|failed|html|configure|currDirRegExp|optional|defineEmitComplete||onreadystatechange|isRelative|Array|toUrl|currentTarget|ver_index|match|createNode|msg|exec|trimDots|hasOwn|getInteractiveScript|srcElement|unnormalizedCounter|ap|specified|_unnormalized|cjsRequireRegExp|objs|urlArgs|ids|get|loaded|interactive|setAttribute|outerLoop|readyRegExp|commentRegExp|fromText|mg|hasOwnProperty|nodeIdCompat|throw|Object|removeChild|errors|RegExp|docs|in|nhttp|originalError|at|PLAYSTATION|platform|Opera|Function|Error|instanceof|Mismatched|scripterror|No|Script|code|native|nodefine|enforceDefine|Use|yet|lastIndexOf|jQuery|insertBefore|base|createElementNS|charset|javascript|utf|async|pop|scriptType|createElement|http|www|w3|1999|been|appendChild|importscripts|fromtexteval|skipDataMain|removeEventListener|amd|requireMap|uri|1000|Load|modules|anonymous|mismatch|Invalid|notloaded|has|not|__requireJsBuild|requireargs'
.
split
(
'|'
),
0
,{}))
public/app/js/libs/text.js
0 → 100644
View file @
851b04ef
/**
* @license text 2.0.15 Copyright jQuery Foundation and other contributors.
* Released under MIT license, http://github.com/requirejs/text/LICENSE
*/
/*jslint regexp: true */
/*global require, XMLHttpRequest, ActiveXObject,
define, window, process, Packages,
java, location, Components, FileUtils */
define
([
'module'
],
function
(
module
)
{
'use strict'
;
var
text
,
fs
,
Cc
,
Ci
,
xpcIsWindows
,
progIds
=
[
'Msxml2.XMLHTTP'
,
'Microsoft.XMLHTTP'
,
'Msxml2.XMLHTTP.4.0'
],
xmlRegExp
=
/^
\s
*<
\?
xml
(\s)
+version=
[\'\"](\d)
*.
(\d)
*
[\'\"](\s)
*
\?
>/im
,
bodyRegExp
=
/<body
[^
>
]
*>
\s
*
([\s\S]
+
)\s
*<
\/
body>/im
,
hasLocation
=
typeof
location
!==
'undefined'
&&
location
.
href
,
defaultProtocol
=
hasLocation
&&
location
.
protocol
&&
location
.
protocol
.
replace
(
/
\:
/
,
''
),
defaultHostName
=
hasLocation
&&
location
.
hostname
,
defaultPort
=
hasLocation
&&
(
location
.
port
||
undefined
),
buildMap
=
{},
masterConfig
=
(
module
.
config
&&
module
.
config
())
||
{};
function
useDefault
(
value
,
defaultValue
)
{
return
value
===
undefined
||
value
===
''
?
defaultValue
:
value
;
}
//Allow for default ports for http and https.
function
isSamePort
(
protocol1
,
port1
,
protocol2
,
port2
)
{
if
(
port1
===
port2
)
{
return
true
;
}
else
if
(
protocol1
===
protocol2
)
{
if
(
protocol1
===
'http'
)
{
return
useDefault
(
port1
,
'80'
)
===
useDefault
(
port2
,
'80'
);
}
else
if
(
protocol1
===
'https'
)
{
return
useDefault
(
port1
,
'443'
)
===
useDefault
(
port2
,
'443'
);
}
}
return
false
;
}
text
=
{
version
:
'2.0.15'
,
strip
:
function
(
content
)
{
//Strips <?xml ...?> declarations so that external SVG and XML
//documents can be added to a document without worry. Also, if the string
//is an HTML document, only the part inside the body tag is returned.
if
(
content
)
{
content
=
content
.
replace
(
xmlRegExp
,
""
);
var
matches
=
content
.
match
(
bodyRegExp
);
if
(
matches
)
{
content
=
matches
[
1
];
}
}
else
{
content
=
""
;
}
return
content
;
},
jsEscape
:
function
(
content
)
{
return
content
.
replace
(
/
([
'
\\])
/g
,
'
\\
$1'
)
.
replace
(
/
[\f]
/g
,
"
\\
f"
)
.
replace
(
/
[\b]
/g
,
"
\\
b"
)
.
replace
(
/
[\n]
/g
,
"
\\
n"
)
.
replace
(
/
[\t]
/g
,
"
\\
t"
)
.
replace
(
/
[\r]
/g
,
"
\\
r"
)
.
replace
(
/
[\u
2028
]
/g
,
"
\\
u2028"
)
.
replace
(
/
[\u
2029
]
/g
,
"
\\
u2029"
);
},
createXhr
:
masterConfig
.
createXhr
||
function
()
{
//Would love to dump the ActiveX crap in here. Need IE 6 to die first.
var
xhr
,
i
,
progId
;
if
(
typeof
XMLHttpRequest
!==
"undefined"
)
{
return
new
XMLHttpRequest
();
}
else
if
(
typeof
ActiveXObject
!==
"undefined"
)
{
for
(
i
=
0
;
i
<
3
;
i
+=
1
)
{
progId
=
progIds
[
i
];
try
{
xhr
=
new
ActiveXObject
(
progId
);
}
catch
(
e
)
{}
if
(
xhr
)
{
progIds
=
[
progId
];
// so faster next time
break
;
}
}
}
return
xhr
;
},
/**
* Parses a resource name into its component parts. Resource names
* look like: module/name.ext!strip, where the !strip part is
* optional.
* @param {String} name the resource name
* @returns {Object} with properties "moduleName", "ext" and "strip"
* where strip is a boolean.
*/
parseName
:
function
(
name
)
{
var
modName
,
ext
,
temp
,
strip
=
false
,
index
=
name
.
lastIndexOf
(
"."
),
isRelative
=
name
.
indexOf
(
'./'
)
===
0
||
name
.
indexOf
(
'../'
)
===
0
;
if
(
index
!==
-
1
&&
(
!
isRelative
||
index
>
1
))
{
modName
=
name
.
substring
(
0
,
index
);
ext
=
name
.
substring
(
index
+
1
);
}
else
{
modName
=
name
;
}
temp
=
ext
||
modName
;
index
=
temp
.
indexOf
(
"!"
);
if
(
index
!==
-
1
)
{
//Pull off the strip arg.
strip
=
temp
.
substring
(
index
+
1
)
===
"strip"
;
temp
=
temp
.
substring
(
0
,
index
);
if
(
ext
)
{
ext
=
temp
;
}
else
{
modName
=
temp
;
}
}
return
{
moduleName
:
modName
,
ext
:
ext
,
strip
:
strip
};
},
xdRegExp
:
/^
((\w
+
)\:)?\/\/([^\/\\]
+
)
/
,
/**
* Is an URL on another domain. Only works for browser use, returns
* false in non-browser environments. Only used to know if an
* optimized .js version of a text resource should be loaded
* instead.
* @param {String} url
* @returns Boolean
*/
useXhr
:
function
(
url
,
protocol
,
hostname
,
port
)
{
var
uProtocol
,
uHostName
,
uPort
,
match
=
text
.
xdRegExp
.
exec
(
url
);
if
(
!
match
)
{
return
true
;
}
uProtocol
=
match
[
2
];
uHostName
=
match
[
3
];
uHostName
=
uHostName
.
split
(
':'
);
uPort
=
uHostName
[
1
];
uHostName
=
uHostName
[
0
];
return
(
!
uProtocol
||
uProtocol
===
protocol
)
&&
(
!
uHostName
||
uHostName
.
toLowerCase
()
===
hostname
.
toLowerCase
())
&&
((
!
uPort
&&
!
uHostName
)
||
isSamePort
(
uProtocol
,
uPort
,
protocol
,
port
));
},
finishLoad
:
function
(
name
,
strip
,
content
,
onLoad
)
{
content
=
strip
?
text
.
strip
(
content
)
:
content
;
if
(
masterConfig
.
isBuild
)
{
buildMap
[
name
]
=
content
;
}
onLoad
(
content
);
},
load
:
function
(
name
,
req
,
onLoad
,
config
)
{
//Name has format: some.module.filext!strip
//The strip part is optional.
//if strip is present, then that means only get the string contents
//inside a body tag in an HTML string. For XML/SVG content it means
//removing the <?xml ...?> declarations so the content can be inserted
//into the current doc without problems.
// Do not bother with the work if a build and text will
// not be inlined.
if
(
config
&&
config
.
isBuild
&&
!
config
.
inlineText
)
{
onLoad
();
return
;
}
masterConfig
.
isBuild
=
config
&&
config
.
isBuild
;
var
parsed
=
text
.
parseName
(
name
),
nonStripName
=
parsed
.
moduleName
+
(
parsed
.
ext
?
'.'
+
parsed
.
ext
:
''
),
url
=
req
.
toUrl
(
nonStripName
),
useXhr
=
(
masterConfig
.
useXhr
)
||
text
.
useXhr
;
// Do not load if it is an empty: url
if
(
url
.
indexOf
(
'empty:'
)
===
0
)
{
onLoad
();
return
;
}
//Load the text. Use XHR if possible and in a browser.
if
(
!
hasLocation
||
useXhr
(
url
,
defaultProtocol
,
defaultHostName
,
defaultPort
))
{
text
.
get
(
url
,
function
(
content
)
{
text
.
finishLoad
(
name
,
parsed
.
strip
,
content
,
onLoad
);
},
function
(
err
)
{
if
(
onLoad
.
error
)
{
onLoad
.
error
(
err
);
}
});
}
else
{
//Need to fetch the resource across domains. Assume
//the resource has been optimized into a JS module. Fetch
//by the module name + extension, but do not include the
//!strip part to avoid file system issues.
req
([
nonStripName
],
function
(
content
)
{
text
.
finishLoad
(
parsed
.
moduleName
+
'.'
+
parsed
.
ext
,
parsed
.
strip
,
content
,
onLoad
);
});
}
},
write
:
function
(
pluginName
,
moduleName
,
write
,
config
)
{
if
(
buildMap
.
hasOwnProperty
(
moduleName
))
{
var
content
=
text
.
jsEscape
(
buildMap
[
moduleName
]);
write
.
asModule
(
pluginName
+
"!"
+
moduleName
,
"define(function () { return '"
+
content
+
"';});
\
n"
);
}
},
writeFile
:
function
(
pluginName
,
moduleName
,
req
,
write
,
config
)
{
var
parsed
=
text
.
parseName
(
moduleName
),
extPart
=
parsed
.
ext
?
'.'
+
parsed
.
ext
:
''
,
nonStripName
=
parsed
.
moduleName
+
extPart
,
//Use a '.js' file name so that it indicates it is a
//script that can be loaded across domains.
fileName
=
req
.
toUrl
(
parsed
.
moduleName
+
extPart
)
+
'.js'
;
//Leverage own load() method to load plugin value, but only
//write out values that do not have the strip argument,
//to avoid any potential issues with ! in file names.
text
.
load
(
nonStripName
,
req
,
function
(
value
)
{
//Use own write() method to construct full module value.
//But need to create shell that translates writeFile's
//write() to the right interface.
var
textWrite
=
function
(
contents
)
{
return
write
(
fileName
,
contents
);
};
textWrite
.
asModule
=
function
(
moduleName
,
contents
)
{
return
write
.
asModule
(
moduleName
,
fileName
,
contents
);
};
text
.
write
(
pluginName
,
nonStripName
,
textWrite
,
config
);
},
config
);
}
};
if
(
masterConfig
.
env
===
'node'
||
(
!
masterConfig
.
env
&&
typeof
process
!==
"undefined"
&&
process
.
versions
&&
!!
process
.
versions
.
node
&&
!
process
.
versions
[
'node-webkit'
]
&&
!
process
.
versions
[
'atom-shell'
]))
{
//Using special require.nodeRequire, something added by r.js.
fs
=
require
.
nodeRequire
(
'fs'
);
text
.
get
=
function
(
url
,
callback
,
errback
)
{
try
{
var
file
=
fs
.
readFileSync
(
url
,
'utf8'
);
//Remove BOM (Byte Mark Order) from utf8 files if it is there.
if
(
file
[
0
]
===
'
\
uFEFF'
)
{
file
=
file
.
substring
(
1
);
}
callback
(
file
);
}
catch
(
e
)
{
if
(
errback
)
{
errback
(
e
);
}
}
};
}
else
if
(
masterConfig
.
env
===
'xhr'
||
(
!
masterConfig
.
env
&&
text
.
createXhr
()))
{
text
.
get
=
function
(
url
,
callback
,
errback
,
headers
)
{
var
xhr
=
text
.
createXhr
(),
header
;
xhr
.
open
(
'GET'
,
url
,
true
);
//Allow plugins direct access to xhr headers
if
(
headers
)
{
for
(
header
in
headers
)
{
if
(
headers
.
hasOwnProperty
(
header
))
{
xhr
.
setRequestHeader
(
header
.
toLowerCase
(),
headers
[
header
]);
}
}
}
//Allow overrides specified in config
if
(
masterConfig
.
onXhr
)
{
masterConfig
.
onXhr
(
xhr
,
url
);
}
xhr
.
onreadystatechange
=
function
(
evt
)
{
var
status
,
err
;
//Do not explicitly handle errors, those should be
//visible via console output in the browser.
if
(
xhr
.
readyState
===
4
)
{
status
=
xhr
.
status
||
0
;
if
(
status
>
399
&&
status
<
600
)
{
//An http 4xx or 5xx error. Signal an error.
err
=
new
Error
(
url
+
' HTTP status: '
+
status
);
err
.
xhr
=
xhr
;
if
(
errback
)
{
errback
(
err
);
}
}
else
{
callback
(
xhr
.
responseText
);
}
if
(
masterConfig
.
onXhrComplete
)
{
masterConfig
.
onXhrComplete
(
xhr
,
url
);
}
}
};
xhr
.
send
(
null
);
};
}
else
if
(
masterConfig
.
env
===
'rhino'
||
(
!
masterConfig
.
env
&&
typeof
Packages
!==
'undefined'
&&
typeof
java
!==
'undefined'
))
{
//Why Java, why is this so awkward?
text
.
get
=
function
(
url
,
callback
)
{
var
stringBuffer
,
line
,
encoding
=
"utf-8"
,
file
=
new
java
.
io
.
File
(
url
),
lineSeparator
=
java
.
lang
.
System
.
getProperty
(
"line.separator"
),
input
=
new
java
.
io
.
BufferedReader
(
new
java
.
io
.
InputStreamReader
(
new
java
.
io
.
FileInputStream
(
file
),
encoding
)),
content
=
''
;
try
{
stringBuffer
=
new
java
.
lang
.
StringBuffer
();
line
=
input
.
readLine
();
// Byte Order Mark (BOM) - The Unicode Standard, version 3.0, page 324
// http://www.unicode.org/faq/utf_bom.html
// Note that when we use utf-8, the BOM should appear as "EF BB BF", but it doesn't due to this bug in the JDK:
// http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4508058
if
(
line
&&
line
.
length
()
&&
line
.
charAt
(
0
)
===
0xfeff
)
{
// Eat the BOM, since we've already found the encoding on this file,
// and we plan to concatenating this buffer with others; the BOM should
// only appear at the top of a file.
line
=
line
.
substring
(
1
);
}
if
(
line
!==
null
)
{
stringBuffer
.
append
(
line
);
}
while
((
line
=
input
.
readLine
())
!==
null
)
{
stringBuffer
.
append
(
lineSeparator
);
stringBuffer
.
append
(
line
);
}
//Make sure we return a JavaScript string and not a Java string.
content
=
String
(
stringBuffer
.
toString
());
//String
}
finally
{
input
.
close
();
}
callback
(
content
);
};
}
else
if
(
masterConfig
.
env
===
'xpconnect'
||
(
!
masterConfig
.
env
&&
typeof
Components
!==
'undefined'
&&
Components
.
classes
&&
Components
.
interfaces
))
{
//Avert your gaze!
Cc
=
Components
.
classes
;
Ci
=
Components
.
interfaces
;
Components
.
utils
[
'import'
](
'resource://gre/modules/FileUtils.jsm'
);
xpcIsWindows
=
(
'@mozilla.org/windows-registry-key;1'
in
Cc
);
text
.
get
=
function
(
url
,
callback
)
{
var
inStream
,
convertStream
,
fileObj
,
readData
=
{};
if
(
xpcIsWindows
)
{
url
=
url
.
replace
(
/
\/
/g
,
'
\
\'
);
}
fileObj = new FileUtils.File(url);
//XPCOM, you so crazy
try {
inStream = Cc['
@
mozilla
.
org
/
network
/
file
-
input
-
stream
;
1
']
.createInstance(Ci.nsIFileInputStream);
inStream.init(fileObj, 1, 0, false);
convertStream = Cc['
@
mozilla
.
org
/
intl
/
converter
-
input
-
stream
;
1
']
.createInstance(Ci.nsIConverterInputStream);
convertStream.init(inStream, "utf-8", inStream.available(),
Ci.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER);
convertStream.readString(inStream.available(), readData);
convertStream.close();
inStream.close();
callback(readData.value);
} catch (e) {
throw new Error((fileObj && fileObj.path || '') + '
:
' + e);
}
};
}
return text;
});
public/app/js/main.js
View file @
851b04ef
...
...
@@ -2,24 +2,36 @@ require.config({
'baseUrl'
:
(
location
.
origin
||
location
.
protocol
+
'//'
+
location
.
hostname
+
(
location
.
port
==
80
?
''
:
':'
+
location
.
port
))
+
'/app'
,
'paths'
:
{
'jquery'
:
'js/jquery.min'
,
'jquery1122'
:
'js/jquery-1122-min'
,
'vue'
:
'js/libs/vue.min'
'vconsole'
:
'js/vconsole.min'
,
'jquery0325'
:
'js/libs/jquery-0325-min'
,
'layer'
:
'js/layer'
,
'vue'
:
'js/libs/vue.min'
,
'vconsole'
:
'js/vconsole.min'
,
'html2canvas'
:
'js/html2canvas.min'
,
'lrz'
:
'js/libs/lrz.all.bundle'
,
'common'
:
'js/common'
,
'style'
:
'css'
},
'shim'
:
{
'jquery'
:
{
'exports'
:
'jquery'
'jquery0325'
:
{
'deps'
:
[
'css!js/need/layer.css'
],
'exports'
:
'jquery0325'
},
'layer'
:
{
'deps'
:
[
'css!js/need/layer.css'
],
'exports'
:
'layer'
},
'vconsol
e'
:
{
'exports'
:
'
vconsol
e'
'vu
e'
:
{
'exports'
:
'
Vu
e'
},
'common'
:
{
'deps'
:
[
'jquery0325'
,
'layer'
],
'exports'
:
'common'
}
},
'map'
:
{
'*'
:
{
'css'
:
'js/libs/css.min'
}
}
});
require
([
'css!style/commoon.css'
]);
\ No newline at end of file
require
([
'css!style/common.css'
,
document
.
querySelector
(
'[data-main="/app/js/main"]'
).
getAttribute
(
'data-js'
)]);
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment