Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
La Quadrature du Net
Respect My Net
Commits
b859907b
Commit
b859907b
authored
Oct 23, 2012
by
stef
Browse files
[mod] updated jquery
parent
7cbae52b
Changes
1
Show whitespace changes
Inline
Side-by-side
media/js/jquery.min.js
View file @
b859907b
/*! jQuery v1.6.3 http://jquery.com/ | http://jquery.org/license */
/*! jQuery v1.8.2 jquery.com | jquery.org/license */
(
function
(
a
,
b
){
function
cu
(
a
){
return
f
.
isWindow
(
a
)?
a
:
a
.
nodeType
===
9
?
a
.
defaultView
||
a
.
parentWindow
:
!
1
}
function
cr
(
a
){
if
(
!
cg
[
a
]){
var
b
=
c
.
body
,
d
=
f
(
"
<
"
+
a
+
"
>
"
).
appendTo
(
b
),
e
=
d
.
css
(
"
display
"
);
d
.
remove
();
if
(
e
===
"
none
"
||
e
===
""
){
ch
||
(
ch
=
c
.
createElement
(
"
iframe
"
),
ch
.
frameBorder
=
ch
.
width
=
ch
.
height
=
0
),
b
.
appendChild
(
ch
);
if
(
!
ci
||!
ch
.
createElement
)
ci
=
(
ch
.
contentWindow
||
ch
.
contentDocument
).
document
,
ci
.
write
((
c
.
compatMode
===
"
CSS1Compat
"
?
"
<!doctype html>
"
:
""
)
+
"
<html><body>
"
),
ci
.
close
();
d
=
ci
.
createElement
(
a
),
ci
.
body
.
appendChild
(
d
),
e
=
f
.
css
(
d
,
"
display
"
),
b
.
removeChild
(
ch
)}
cg
[
a
]
=
e
}
return
cg
[
a
]}
function
cq
(
a
,
b
){
var
c
=
{};
f
.
each
(
cm
.
concat
.
apply
([],
cm
.
slice
(
0
,
b
)),
function
(){
c
[
this
]
=
a
});
return
c
}
function
cp
(){
cn
=
b
}
function
co
(){
setTimeout
(
cp
,
0
);
return
cn
=
f
.
now
()}
function
cf
(){
try
{
return
new
a
.
ActiveXObject
(
"
Microsoft.XMLHTTP
"
)}
catch
(
b
){}}
function
ce
(){
try
{
return
new
a
.
XMLHttpRequest
}
catch
(
b
){}}
function
b$
(
a
,
c
){
a
.
dataFilter
&&
(
c
=
a
.
dataFilter
(
c
,
a
.
dataType
));
var
d
=
a
.
dataTypes
,
e
=
{},
g
,
h
,
i
=
d
.
length
,
j
,
k
=
d
[
0
],
l
,
m
,
n
,
o
,
p
;
for
(
g
=
1
;
g
<
i
;
g
++
){
if
(
g
===
1
)
for
(
h
in
a
.
converters
)
typeof
h
==
"
string
"
&&
(
e
[
h
.
toLowerCase
()]
=
a
.
converters
[
h
]);
l
=
k
,
k
=
d
[
g
];
if
(
k
===
"
*
"
)
k
=
l
;
else
if
(
l
!==
"
*
"
&&
l
!==
k
){
m
=
l
+
"
"
+
k
,
n
=
e
[
m
]
||
e
[
"
*
"
+
k
];
if
(
!
n
){
p
=
b
;
for
(
o
in
e
){
j
=
o
.
split
(
"
"
);
if
(
j
[
0
]
===
l
||
j
[
0
]
===
"
*
"
){
p
=
e
[
j
[
1
]
+
"
"
+
k
];
if
(
p
){
o
=
e
[
o
],
o
===!
0
?
n
=
p
:
p
===!
0
&&
(
n
=
o
);
break
}}}}
!
n
&&!
p
&&
f
.
error
(
"
No conversion from
"
+
m
.
replace
(
"
"
,
"
to
"
)),
n
!==!
0
&&
(
c
=
n
?
n
(
c
):
p
(
o
(
c
)))}}
return
c
}
function
bZ
(
a
,
c
,
d
){
var
e
=
a
.
contents
,
f
=
a
.
dataTypes
,
g
=
a
.
responseFields
,
h
,
i
,
j
,
k
;
for
(
i
in
g
)
i
in
d
&&
(
c
[
g
[
i
]]
=
d
[
i
]);
while
(
f
[
0
]
===
"
*
"
)
f
.
shift
(),
h
===
b
&&
(
h
=
a
.
mimeType
||
c
.
getResponseHeader
(
"
content-type
"
));
if
(
h
)
for
(
i
in
e
)
if
(
e
[
i
]
&&
e
[
i
].
test
(
h
)){
f
.
unshift
(
i
);
break
}
if
(
f
[
0
]
in
d
)
j
=
f
[
0
];
else
{
for
(
i
in
d
){
if
(
!
f
[
0
]
||
a
.
converters
[
i
+
"
"
+
f
[
0
]]){
j
=
i
;
break
}
k
||
(
k
=
i
)}
j
=
j
||
k
}
if
(
j
){
j
!==
f
[
0
]
&&
f
.
unshift
(
j
);
return
d
[
j
]}}
function
bY
(
a
,
b
,
c
,
d
){
if
(
f
.
isArray
(
b
))
f
.
each
(
b
,
function
(
b
,
e
){
c
||
bA
.
test
(
a
)?
d
(
a
,
e
):
bY
(
a
+
"
[
"
+
(
typeof
e
==
"
object
"
||
f
.
isArray
(
e
)?
b
:
""
)
+
"
]
"
,
e
,
c
,
d
)});
else
if
(
!
c
&&
b
!=
null
&&
typeof
b
==
"
object
"
)
for
(
var
e
in
b
)
bY
(
a
+
"
[
"
+
e
+
"
]
"
,
b
[
e
],
c
,
d
);
else
d
(
a
,
b
)}
function
bX
(
a
,
c
){
var
d
,
e
,
g
=
f
.
ajaxSettings
.
flatOptions
||
{};
for
(
d
in
c
)
c
[
d
]
!==
b
&&
((
g
[
d
]?
a
:
e
||
(
e
=
{}))[
d
]
=
c
[
d
]);
e
&&
f
.
extend
(
!
0
,
a
,
e
)}
function
bW
(
a
,
c
,
d
,
e
,
f
,
g
){
f
=
f
||
c
.
dataTypes
[
0
],
g
=
g
||
{},
g
[
f
]
=!
0
;
var
h
=
a
[
f
],
i
=
0
,
j
=
h
?
h
.
length
:
0
,
k
=
a
===
bP
,
l
;
for
(;
i
<
j
&&
(
k
||!
l
);
i
++
)
l
=
h
[
i
](
c
,
d
,
e
),
typeof
l
==
"
string
"
&&
(
!
k
||
g
[
l
]?
l
=
b
:(
c
.
dataTypes
.
unshift
(
l
),
l
=
bW
(
a
,
c
,
d
,
e
,
l
,
g
)));(
k
||!
l
)
&&!
g
[
"
*
"
]
&&
(
l
=
bW
(
a
,
c
,
d
,
e
,
"
*
"
,
g
));
return
l
}
function
bV
(
a
){
return
function
(
b
,
c
){
typeof
b
!=
"
string
"
&&
(
c
=
b
,
b
=
"
*
"
);
if
(
f
.
isFunction
(
c
)){
var
d
=
b
.
toLowerCase
().
split
(
bL
),
e
=
0
,
g
=
d
.
length
,
h
,
i
,
j
;
for
(;
e
<
g
;
e
++
)
h
=
d
[
e
],
j
=
/^
\+
/
.
test
(
h
),
j
&&
(
h
=
h
.
substr
(
1
)
||
"
*
"
),
i
=
a
[
h
]
=
a
[
h
]
||
[],
i
[
j
?
"
unshift
"
:
"
push
"
](
c
)}}}
function
by
(
a
,
b
,
c
){
var
d
=
b
===
"
width
"
?
a
.
offsetWidth
:
a
.
offsetHeight
,
e
=
b
===
"
width
"
?
bt
:
bu
;
if
(
d
>
0
){
c
!==
"
border
"
&&
f
.
each
(
e
,
function
(){
c
||
(
d
-=
parseFloat
(
f
.
css
(
a
,
"
padding
"
+
this
))
||
0
),
c
===
"
margin
"
?
d
+=
parseFloat
(
f
.
css
(
a
,
c
+
this
))
||
0
:
d
-=
parseFloat
(
f
.
css
(
a
,
"
border
"
+
this
+
"
Width
"
))
||
0
});
return
d
+
"
px
"
}
d
=
bv
(
a
,
b
,
b
);
if
(
d
<
0
||
d
==
null
)
d
=
a
.
style
[
b
]
||
0
;
d
=
parseFloat
(
d
)
||
0
,
c
&&
f
.
each
(
e
,
function
(){
d
+=
parseFloat
(
f
.
css
(
a
,
"
padding
"
+
this
))
||
0
,
c
!==
"
padding
"
&&
(
d
+=
parseFloat
(
f
.
css
(
a
,
"
border
"
+
this
+
"
Width
"
))
||
0
),
c
===
"
margin
"
&&
(
d
+=
parseFloat
(
f
.
css
(
a
,
c
+
this
))
||
0
)});
return
d
+
"
px
"
}
function
bl
(
a
,
b
){
b
.
src
?
f
.
ajax
({
url
:
b
.
src
,
async
:
!
1
,
dataType
:
"
script
"
}):
f
.
globalEval
((
b
.
text
||
b
.
textContent
||
b
.
innerHTML
||
""
).
replace
(
bd
,
"
/*$0*/
"
)),
b
.
parentNode
&&
b
.
parentNode
.
removeChild
(
b
)}
function
bk
(
a
){
f
.
nodeName
(
a
,
"
input
"
)?
bj
(
a
):
"
getElementsByTagName
"
in
a
&&
f
.
grep
(
a
.
getElementsByTagName
(
"
input
"
),
bj
)}
function
bj
(
a
){
if
(
a
.
type
===
"
checkbox
"
||
a
.
type
===
"
radio
"
)
a
.
defaultChecked
=
a
.
checked
}
function
bi
(
a
){
return
"
getElementsByTagName
"
in
a
?
a
.
getElementsByTagName
(
"
*
"
):
"
querySelectorAll
"
in
a
?
a
.
querySelectorAll
(
"
*
"
):[]}
function
bh
(
a
,
b
){
var
c
;
if
(
b
.
nodeType
===
1
){
b
.
clearAttributes
&&
b
.
clearAttributes
(),
b
.
mergeAttributes
&&
b
.
mergeAttributes
(
a
),
c
=
b
.
nodeName
.
toLowerCase
();
if
(
c
===
"
object
"
)
b
.
outerHTML
=
a
.
outerHTML
;
else
if
(
c
!==
"
input
"
||
a
.
type
!==
"
checkbox
"
&&
a
.
type
!==
"
radio
"
){
if
(
c
===
"
option
"
)
b
.
selected
=
a
.
defaultSelected
;
else
if
(
c
===
"
input
"
||
c
===
"
textarea
"
)
b
.
defaultValue
=
a
.
defaultValue
}
else
a
.
checked
&&
(
b
.
defaultChecked
=
b
.
checked
=
a
.
checked
),
b
.
value
!==
a
.
value
&&
(
b
.
value
=
a
.
value
);
b
.
removeAttribute
(
f
.
expando
)}}
function
bg
(
a
,
b
){
if
(
b
.
nodeType
===
1
&&!!
f
.
hasData
(
a
)){
var
c
=
f
.
expando
,
d
=
f
.
data
(
a
),
e
=
f
.
data
(
b
,
d
);
if
(
d
=
d
[
c
]){
var
g
=
d
.
events
;
e
=
e
[
c
]
=
f
.
extend
({},
d
);
if
(
g
){
delete
e
.
handle
,
e
.
events
=
{};
for
(
var
h
in
g
)
for
(
var
i
=
0
,
j
=
g
[
h
].
length
;
i
<
j
;
i
++
)
f
.
event
.
add
(
b
,
h
+
(
g
[
h
][
i
].
namespace
?
"
.
"
:
""
)
+
g
[
h
][
i
].
namespace
,
g
[
h
][
i
],
g
[
h
][
i
].
data
)}}}}
function
bf
(
a
,
b
){
return
f
.
nodeName
(
a
,
"
table
"
)?
a
.
getElementsByTagName
(
"
tbody
"
)[
0
]
||
a
.
appendChild
(
a
.
ownerDocument
.
createElement
(
"
tbody
"
)):
a
}
function
V
(
a
,
b
,
c
){
b
=
b
||
0
;
if
(
f
.
isFunction
(
b
))
return
f
.
grep
(
a
,
function
(
a
,
d
){
var
e
=!!
b
.
call
(
a
,
d
,
a
);
return
e
===
c
});
if
(
b
.
nodeType
)
return
f
.
grep
(
a
,
function
(
a
,
d
){
return
a
===
b
===
c
});
if
(
typeof
b
==
"
string
"
){
var
d
=
f
.
grep
(
a
,
function
(
a
){
return
a
.
nodeType
===
1
});
if
(
Q
.
test
(
b
))
return
f
.
filter
(
b
,
d
,
!
c
);
b
=
f
.
filter
(
b
,
d
)}
return
f
.
grep
(
a
,
function
(
a
,
d
){
return
f
.
inArray
(
a
,
b
)
>=
0
===
c
})}
function
U
(
a
){
return
!
a
||!
a
.
parentNode
||
a
.
parentNode
.
nodeType
===
11
}
function
M
(
a
,
b
){
return
(
a
&&
a
!==
"
*
"
?
a
+
"
.
"
:
""
)
+
b
.
replace
(
y
,
"
`
"
).
replace
(
z
,
"
&
"
)}
function
L
(
a
){
var
b
,
c
,
d
,
e
,
g
,
h
,
i
,
j
,
k
,
l
,
m
,
n
,
o
,
p
=
[],
q
=
[],
r
=
f
.
_data
(
this
,
"
events
"
);
if
(
!
(
a
.
liveFired
===
this
||!
r
||!
r
.
live
||
a
.
target
.
disabled
||
a
.
button
&&
a
.
type
===
"
click
"
)){
a
.
namespace
&&
(
n
=
new
RegExp
(
"
(^|
\\
.)
"
+
a
.
namespace
.
split
(
"
.
"
).
join
(
"
\\
.(?:.*
\\
.)?
"
)
+
"
(
\\
.|$)
"
)),
a
.
liveFired
=
this
;
var
s
=
r
.
live
.
slice
(
0
);
for
(
i
=
0
;
i
<
s
.
length
;
i
++
)
g
=
s
[
i
],
g
.
origType
.
replace
(
w
,
""
)
===
a
.
type
?
q
.
push
(
g
.
selector
):
s
.
splice
(
i
--
,
1
);
e
=
f
(
a
.
target
).
closest
(
q
,
a
.
currentTarget
);
for
(
j
=
0
,
k
=
e
.
length
;
j
<
k
;
j
++
){
m
=
e
[
j
];
for
(
i
=
0
;
i
<
s
.
length
;
i
++
){
g
=
s
[
i
];
if
(
m
.
selector
===
g
.
selector
&&
(
!
n
||
n
.
test
(
g
.
namespace
))
&&!
m
.
elem
.
disabled
){
h
=
m
.
elem
,
d
=
null
;
if
(
g
.
preType
===
"
mouseenter
"
||
g
.
preType
===
"
mouseleave
"
)
a
.
type
=
g
.
preType
,
d
=
f
(
a
.
relatedTarget
).
closest
(
g
.
selector
)[
0
],
d
&&
f
.
contains
(
h
,
d
)
&&
(
d
=
h
);(
!
d
||
d
!==
h
)
&&
p
.
push
({
elem
:
h
,
handleObj
:
g
,
level
:
m
.
level
})}}}
for
(
j
=
0
,
k
=
p
.
length
;
j
<
k
;
j
++
){
e
=
p
[
j
];
if
(
c
&&
e
.
level
>
c
)
break
;
a
.
currentTarget
=
e
.
elem
,
a
.
data
=
e
.
handleObj
.
data
,
a
.
handleObj
=
e
.
handleObj
,
o
=
e
.
handleObj
.
origHandler
.
apply
(
e
.
elem
,
arguments
);
if
(
o
===!
1
||
a
.
isPropagationStopped
()){
c
=
e
.
level
,
o
===!
1
&&
(
b
=!
1
);
if
(
a
.
isImmediatePropagationStopped
())
break
}}
return
b
}}
function
J
(
a
,
c
,
d
){
var
e
=
f
.
extend
({},
d
[
0
]);
e
.
type
=
a
,
e
.
originalEvent
=
{},
e
.
liveFired
=
b
,
f
.
event
.
handle
.
call
(
c
,
e
),
e
.
isDefaultPrevented
()
&&
d
[
0
].
preventDefault
()}
function
D
(){
return
!
0
}
function
C
(){
return
!
1
}
function
m
(
a
,
c
,
d
){
var
e
=
c
+
"
defer
"
,
g
=
c
+
"
queue
"
,
h
=
c
+
"
mark
"
,
i
=
f
.
data
(
a
,
e
,
b
,
!
0
);
i
&&
(
d
===
"
queue
"
||!
f
.
data
(
a
,
g
,
b
,
!
0
))
&&
(
d
===
"
mark
"
||!
f
.
data
(
a
,
h
,
b
,
!
0
))
&&
setTimeout
(
function
(){
!
f
.
data
(
a
,
g
,
b
,
!
0
)
&&!
f
.
data
(
a
,
h
,
b
,
!
0
)
&&
(
f
.
removeData
(
a
,
e
,
!
0
),
i
.
resolve
())},
0
)}
function
l
(
a
){
for
(
var
b
in
a
)
if
(
b
!==
"
toJSON
"
)
return
!
1
;
return
!
0
}
function
k
(
a
,
c
,
d
){
if
(
d
===
b
&&
a
.
nodeType
===
1
){
var
e
=
"
data-
"
+
c
.
replace
(
j
,
"
$1-$2
"
).
toLowerCase
();
d
=
a
.
getAttribute
(
e
);
if
(
typeof
d
==
"
string
"
){
try
{
d
=
d
===
"
true
"
?
!
0
:
d
===
"
false
"
?
!
1
:
d
===
"
null
"
?
null
:
f
.
isNaN
(
d
)?
i
.
test
(
d
)?
f
.
parseJSON
(
d
):
d
:
parseFloat
(
d
)}
catch
(
g
){}
f
.
data
(
a
,
c
,
d
)}
else
d
=
b
}
return
d
}
var
c
=
a
.
document
,
d
=
a
.
navigator
,
e
=
a
.
location
,
f
=
function
(){
function
K
(){
if
(
!
e
.
isReady
){
try
{
c
.
documentElement
.
doScroll
(
"
left
"
)}
catch
(
a
){
setTimeout
(
K
,
1
);
return
}
e
.
ready
()}}
var
e
=
function
(
a
,
b
){
return
new
e
.
fn
.
init
(
a
,
b
,
h
)},
f
=
a
.
jQuery
,
g
=
a
.
$
,
h
,
i
=
/^
(?:[^
#<
]
*
(
<
[\w\W]
+>
)[^
>
]
*$|#
([\w\-]
*
)
$
)
/
,
j
=
/
\S
/
,
k
=
/^
\s
+/
,
l
=
/
\s
+$/
,
m
=
/
\d
/
,
n
=
/^<
(\w
+
)\s
*
\/?
>
(?:
<
\/\1
>
)?
$/
,
o
=
/^
[\]
,:{}
\s]
*$/
,
p
=
/
\\(?:[
"
\\\/
bfnrt
]
|u
[
0-9a-fA-F
]{4})
/g
,
q
=
/"
[^
"
\\\n\r]
*"|true|false|null|-
?\d
+
(?:\.\d
*
)?(?:[
eE
][
+
\-]?\d
+
)?
/g
,
r
=
/
(?:
^|:|,
)(?:\s
*
\[)
+/g
,
s
=
/
(
webkit
)[
\/]([\w
.
]
+
)
/
,
t
=
/
(
opera
)(?:
.*version
)?[
\/]([\w
.
]
+
)
/
,
u
=
/
(
msie
)
([\w
.
]
+
)
/
,
v
=
/
(
mozilla
)(?:
.*
?
rv:
([\w
.
]
+
))?
/
,
w
=
/-
([
a-z
]
|
[
0-9
])
/ig
,
x
=
/^-ms-/
,
y
=
function
(
a
,
b
){
return
(
b
+
""
).
toUpperCase
()},
z
=
d
.
userAgent
,
A
,
B
,
C
,
D
=
Object
.
prototype
.
toString
,
E
=
Object
.
prototype
.
hasOwnProperty
,
F
=
Array
.
prototype
.
push
,
G
=
Array
.
prototype
.
slice
,
H
=
String
.
prototype
.
trim
,
I
=
Array
.
prototype
.
indexOf
,
J
=
{};
e
.
fn
=
e
.
prototype
=
{
constructor
:
e
,
init
:
function
(
a
,
d
,
f
){
var
g
,
h
,
j
,
k
;
if
(
!
a
)
return
this
;
if
(
a
.
nodeType
){
this
.
context
=
this
[
0
]
=
a
,
this
.
length
=
1
;
return
this
}
if
(
a
===
"
body
"
&&!
d
&&
c
.
body
){
this
.
context
=
c
,
this
[
0
]
=
c
.
body
,
this
.
selector
=
a
,
this
.
length
=
1
;
return
this
}
if
(
typeof
a
==
"
string
"
){
a
.
charAt
(
0
)
!==
"
<
"
||
a
.
charAt
(
a
.
length
-
1
)
!==
"
>
"
||
a
.
length
<
3
?
g
=
i
.
exec
(
a
):
g
=
[
null
,
a
,
null
];
if
(
g
&&
(
g
[
1
]
||!
d
)){
if
(
g
[
1
]){
d
=
d
instanceof
e
?
d
[
0
]:
d
,
k
=
d
?
d
.
ownerDocument
||
d
:
c
,
j
=
n
.
exec
(
a
),
j
?
e
.
isPlainObject
(
d
)?(
a
=
[
c
.
createElement
(
j
[
1
])],
e
.
fn
.
attr
.
call
(
a
,
d
,
!
0
)):
a
=
[
k
.
createElement
(
j
[
1
])]:(
j
=
e
.
buildFragment
([
g
[
1
]],[
k
]),
a
=
(
j
.
cacheable
?
e
.
clone
(
j
.
fragment
):
j
.
fragment
).
childNodes
);
return
e
.
merge
(
this
,
a
)}
h
=
c
.
getElementById
(
g
[
2
]);
if
(
h
&&
h
.
parentNode
){
if
(
h
.
id
!==
g
[
2
])
return
f
.
find
(
a
);
this
.
length
=
1
,
this
[
0
]
=
h
}
this
.
context
=
c
,
this
.
selector
=
a
;
return
this
}
return
!
d
||
d
.
jquery
?(
d
||
f
).
find
(
a
):
this
.
constructor
(
d
).
find
(
a
)}
if
(
e
.
isFunction
(
a
))
return
f
.
ready
(
a
);
a
.
selector
!==
b
&&
(
this
.
selector
=
a
.
selector
,
this
.
context
=
a
.
context
);
return
e
.
makeArray
(
a
,
this
)},
selector
:
""
,
jquery
:
"
1.6.3
"
,
length
:
0
,
size
:
function
(){
return
this
.
length
},
toArray
:
function
(){
return
G
.
call
(
this
,
0
)},
get
:
function
(
a
){
return
a
==
null
?
this
.
toArray
():
a
<
0
?
this
[
this
.
length
+
a
]:
this
[
a
]},
pushStack
:
function
(
a
,
b
,
c
){
var
d
=
this
.
constructor
();
e
.
isArray
(
a
)?
F
.
apply
(
d
,
a
):
e
.
merge
(
d
,
a
),
d
.
prevObject
=
this
,
d
.
context
=
this
.
context
,
b
===
"
find
"
?
d
.
selector
=
this
.
selector
+
(
this
.
selector
?
"
"
:
""
)
+
c
:
b
&&
(
d
.
selector
=
this
.
selector
+
"
.
"
+
b
+
"
(
"
+
c
+
"
)
"
);
return
d
},
each
:
function
(
a
,
b
){
return
e
.
each
(
this
,
a
,
b
)},
ready
:
function
(
a
){
e
.
bindReady
(),
B
.
done
(
a
);
return
this
},
eq
:
function
(
a
){
return
a
===-
1
?
this
.
slice
(
a
):
this
.
slice
(
a
,
+
a
+
1
)},
first
:
function
(){
return
this
.
eq
(
0
)},
last
:
function
(){
return
this
.
eq
(
-
1
)},
slice
:
function
(){
return
this
.
pushStack
(
G
.
apply
(
this
,
arguments
),
"
slice
"
,
G
.
call
(
arguments
).
join
(
"
,
"
))},
map
:
function
(
a
){
return
this
.
pushStack
(
e
.
map
(
this
,
function
(
b
,
c
){
return
a
.
call
(
b
,
c
,
b
)}))},
end
:
function
(){
return
this
.
prevObject
||
this
.
constructor
(
null
)},
push
:
F
,
sort
:[].
sort
,
splice
:[].
splice
},
e
.
fn
.
init
.
prototype
=
e
.
fn
,
e
.
extend
=
e
.
fn
.
extend
=
function
(){
var
a
,
c
,
d
,
f
,
g
,
h
,
i
=
arguments
[
0
]
||
{},
j
=
1
,
k
=
arguments
.
length
,
l
=!
1
;
typeof
i
==
"
boolean
"
&&
(
l
=
i
,
i
=
arguments
[
1
]
||
{},
j
=
2
),
typeof
i
!=
"
object
"
&&!
e
.
isFunction
(
i
)
&&
(
i
=
{}),
k
===
j
&&
(
i
=
this
,
--
j
);
for
(;
j
<
k
;
j
++
)
if
((
a
=
arguments
[
j
])
!=
null
)
for
(
c
in
a
){
d
=
i
[
c
],
f
=
a
[
c
];
if
(
i
===
f
)
continue
;
l
&&
f
&&
(
e
.
isPlainObject
(
f
)
||
(
g
=
e
.
isArray
(
f
)))?(
g
?(
g
=!
1
,
h
=
d
&&
e
.
isArray
(
d
)?
d
:[]):
h
=
d
&&
e
.
isPlainObject
(
d
)?
d
:{},
i
[
c
]
=
e
.
extend
(
l
,
h
,
f
)):
f
!==
b
&&
(
i
[
c
]
=
f
)}
return
i
},
e
.
extend
({
noConflict
:
function
(
b
){
a
.
$
===
e
&&
(
a
.
$
=
g
),
b
&&
a
.
jQuery
===
e
&&
(
a
.
jQuery
=
f
);
return
e
},
isReady
:
!
1
,
readyWait
:
1
,
holdReady
:
function
(
a
){
a
?
e
.
readyWait
++
:
e
.
ready
(
!
0
)},
ready
:
function
(
a
){
if
(
a
===!
0
&&!--
e
.
readyWait
||
a
!==!
0
&&!
e
.
isReady
){
if
(
!
c
.
body
)
return
setTimeout
(
e
.
ready
,
1
);
e
.
isReady
=!
0
;
if
(
a
!==!
0
&&--
e
.
readyWait
>
0
)
return
;
B
.
resolveWith
(
c
,[
e
]),
e
.
fn
.
trigger
&&
e
(
c
).
trigger
(
"
ready
"
).
unbind
(
"
ready
"
)}},
bindReady
:
function
(){
if
(
!
B
){
B
=
e
.
_Deferred
();
if
(
c
.
readyState
===
"
complete
"
)
return
setTimeout
(
e
.
ready
,
1
);
if
(
c
.
addEventListener
)
c
.
addEventListener
(
"
DOMContentLoaded
"
,
C
,
!
1
),
a
.
addEventListener
(
"
load
"
,
e
.
ready
,
!
1
);
else
if
(
c
.
attachEvent
){
c
.
attachEvent
(
"
onreadystatechange
"
,
C
),
a
.
attachEvent
(
"
onload
"
,
e
.
ready
);
var
b
=!
1
;
try
{
b
=
a
.
frameElement
==
null
}
catch
(
d
){}
c
.
documentElement
.
doScroll
&&
b
&&
K
()}}},
isFunction
:
function
(
a
){
return
e
.
type
(
a
)
===
"
function
"
},
isArray
:
Array
.
isArray
||
function
(
a
){
return
e
.
type
(
a
)
===
"
array
"
},
isWindow
:
function
(
a
){
return
a
&&
typeof
a
==
"
object
"
&&
"
setInterval
"
in
a
},
isNaN
:
function
(
a
){
return
a
==
null
||!
m
.
test
(
a
)
||
isNaN
(
a
)},
type
:
function
(
a
){
return
a
==
null
?
String
(
a
):
J
[
D
.
call
(
a
)]
||
"
object
"
},
isPlainObject
:
function
(
a
){
if
(
!
a
||
e
.
type
(
a
)
!==
"
object
"
||
a
.
nodeType
||
e
.
isWindow
(
a
))
return
!
1
;
try
{
if
(
a
.
constructor
&&!
E
.
call
(
a
,
"
constructor
"
)
&&!
E
.
call
(
a
.
constructor
.
prototype
,
"
isPrototypeOf
"
))
return
!
1
}
catch
(
c
){
return
!
1
}
var
d
;
for
(
d
in
a
);
return
d
===
b
||
E
.
call
(
a
,
d
)},
isEmptyObject
:
function
(
a
){
for
(
var
b
in
a
)
return
!
1
;
return
!
0
},
error
:
function
(
a
){
throw
a
},
parseJSON
:
function
(
b
){
if
(
typeof
b
!=
"
string
"
||!
b
)
return
null
;
b
=
e
.
trim
(
b
);
if
(
a
.
JSON
&&
a
.
JSON
.
parse
)
return
a
.
JSON
.
parse
(
b
);
if
(
o
.
test
(
b
.
replace
(
p
,
"
@
"
).
replace
(
q
,
"
]
"
).
replace
(
r
,
""
)))
return
(
new
Function
(
"
return
"
+
b
))();
e
.
error
(
"
Invalid JSON:
"
+
b
)},
parseXML
:
function
(
c
){
var
d
,
f
;
try
{
a
.
DOMParser
?(
f
=
new
DOMParser
,
d
=
f
.
parseFromString
(
c
,
"
text/xml
"
)):(
d
=
new
ActiveXObject
(
"
Microsoft.XMLDOM
"
),
d
.
async
=
"
false
"
,
d
.
loadXML
(
c
))}
catch
(
g
){
d
=
b
}(
!
d
||!
d
.
documentElement
||
d
.
getElementsByTagName
(
"
parsererror
"
).
length
)
&&
e
.
error
(
"
Invalid XML:
"
+
c
);
return
d
},
noop
:
function
(){},
globalEval
:
function
(
b
){
b
&&
j
.
test
(
b
)
&&
(
a
.
execScript
||
function
(
b
){
a
.
eval
.
call
(
a
,
b
)})(
b
)},
camelCase
:
function
(
a
){
return
a
.
replace
(
x
,
"
ms-
"
).
replace
(
w
,
y
)},
nodeName
:
function
(
a
,
b
){
return
a
.
nodeName
&&
a
.
nodeName
.
toUpperCase
()
===
b
.
toUpperCase
()},
each
:
function
(
a
,
c
,
d
){
var
f
,
g
=
0
,
h
=
a
.
length
,
i
=
h
===
b
||
e
.
isFunction
(
a
);
if
(
d
){
if
(
i
){
for
(
f
in
a
)
if
(
c
.
apply
(
a
[
f
],
d
)
===!
1
)
break
}
else
for
(;
g
<
h
;)
if
(
c
.
apply
(
a
[
g
++
],
d
)
===!
1
)
break
}
else
if
(
i
){
for
(
f
in
a
)
if
(
c
.
call
(
a
[
f
],
f
,
a
[
f
])
===!
1
)
break
}
else
for
(;
g
<
h
;)
if
(
c
.
call
(
a
[
g
],
g
,
a
[
g
++
])
===!
1
)
break
;
return
a
},
trim
:
H
?
function
(
a
){
return
a
==
null
?
""
:
H
.
call
(
a
)}:
function
(
a
){
return
a
==
null
?
""
:(
a
+
""
).
replace
(
k
,
""
).
replace
(
l
,
""
)},
makeArray
:
function
(
a
,
b
){
var
c
=
b
||
[];
if
(
a
!=
null
){
var
d
=
e
.
type
(
a
);
a
.
length
==
null
||
d
===
"
string
"
||
d
===
"
function
"
||
d
===
"
regexp
"
||
e
.
isWindow
(
a
)?
F
.
call
(
c
,
a
):
e
.
merge
(
c
,
a
)}
return
c
},
inArray
:
function
(
a
,
b
){
if
(
!
b
)
return
-
1
;
if
(
I
)
return
I
.
call
(
b
,
a
);
for
(
var
c
=
0
,
d
=
b
.
length
;
c
<
d
;
c
++
)
if
(
b
[
c
]
===
a
)
return
c
;
return
-
1
},
merge
:
function
(
a
,
c
){
var
d
=
a
.
length
,
e
=
0
;
if
(
typeof
c
.
length
==
"
number
"
)
for
(
var
f
=
c
.
length
;
e
<
f
;
e
++
)
a
[
d
++
]
=
c
[
e
];
else
while
(
c
[
e
]
!==
b
)
a
[
d
++
]
=
c
[
e
++
];
a
.
length
=
d
;
return
a
},
grep
:
function
(
a
,
b
,
c
){
var
d
=
[],
e
;
c
=!!
c
;
for
(
var
f
=
0
,
g
=
a
.
length
;
f
<
g
;
f
++
)
e
=!!
b
(
a
[
f
],
f
),
c
!==
e
&&
d
.
push
(
a
[
f
]);
return
d
},
map
:
function
(
a
,
c
,
d
){
var
f
,
g
,
h
=
[],
i
=
0
,
j
=
a
.
length
,
k
=
a
instanceof
e
||
j
!==
b
&&
typeof
j
==
"
number
"
&&
(
j
>
0
&&
a
[
0
]
&&
a
[
j
-
1
]
||
j
===
0
||
e
.
isArray
(
a
));
if
(
k
)
for
(;
i
<
j
;
i
++
)
f
=
c
(
a
[
i
],
i
,
d
),
f
!=
null
&&
(
h
[
h
.
length
]
=
f
);
else
for
(
g
in
a
)
f
=
c
(
a
[
g
],
g
,
d
),
f
!=
null
&&
(
h
[
h
.
length
]
=
f
);
return
h
.
concat
.
apply
([],
h
)},
guid
:
1
,
proxy
:
function
(
a
,
c
){
if
(
typeof
c
==
"
string
"
){
var
d
=
a
[
c
];
c
=
a
,
a
=
d
}
if
(
!
e
.
isFunction
(
a
))
return
b
;
var
f
=
G
.
call
(
arguments
,
2
),
g
=
function
(){
return
a
.
apply
(
c
,
f
.
concat
(
G
.
call
(
arguments
)))};
g
.
guid
=
a
.
guid
=
a
.
guid
||
g
.
guid
||
e
.
guid
++
;
return
g
},
access
:
function
(
a
,
c
,
d
,
f
,
g
,
h
){
var
i
=
a
.
length
;
if
(
typeof
c
==
"
object
"
){
for
(
var
j
in
c
)
e
.
access
(
a
,
j
,
c
[
j
],
f
,
g
,
d
);
return
a
}
if
(
d
!==
b
){
f
=!
h
&&
f
&&
e
.
isFunction
(
d
);
for
(
var
k
=
0
;
k
<
i
;
k
++
)
g
(
a
[
k
],
c
,
f
?
d
.
call
(
a
[
k
],
k
,
g
(
a
[
k
],
c
)):
d
,
h
);
return
a
}
return
i
?
g
(
a
[
0
],
c
):
b
},
now
:
function
(){
return
(
new
Date
).
getTime
()},
uaMatch
:
function
(
a
){
a
=
a
.
toLowerCase
();
var
b
=
s
.
exec
(
a
)
||
t
.
exec
(
a
)
||
u
.
exec
(
a
)
||
a
.
indexOf
(
"
compatible
"
)
<
0
&&
v
.
exec
(
a
)
||
[];
return
{
browser
:
b
[
1
]
||
""
,
version
:
b
[
2
]
||
"
0
"
}},
sub
:
function
(){
function
a
(
b
,
c
){
return
new
a
.
fn
.
init
(
b
,
c
)}
e
.
extend
(
!
0
,
a
,
this
),
a
.
superclass
=
this
,
a
.
fn
=
a
.
prototype
=
this
(),
a
.
fn
.
constructor
=
a
,
a
.
sub
=
this
.
sub
,
a
.
fn
.
init
=
function
(
d
,
f
){
f
&&
f
instanceof
e
&&!
(
f
instanceof
a
)
&&
(
f
=
a
(
f
));
return
e
.
fn
.
init
.
call
(
this
,
d
,
f
,
b
)},
a
.
fn
.
init
.
prototype
=
a
.
fn
;
var
b
=
a
(
c
);
return
a
},
browser
:{}}),
e
.
each
(
"
Boolean Number String Function Array Date RegExp Object
"
.
split
(
"
"
),
function
(
a
,
b
){
J
[
"
[object
"
+
b
+
"
]
"
]
=
b
.
toLowerCase
()}),
A
=
e
.
uaMatch
(
z
),
A
.
browser
&&
(
e
.
browser
[
A
.
browser
]
=!
0
,
e
.
browser
.
version
=
A
.
version
),
e
.
browser
.
webkit
&&
(
e
.
browser
.
safari
=!
0
),
j
.
test
(
"
"
)
&&
(
k
=
/^
[\s\x
A0
]
+/
,
l
=
/
[\s\x
A0
]
+$/
),
h
=
e
(
c
),
c
.
addEventListener
?
C
=
function
(){
c
.
removeEventListener
(
"
DOMContentLoaded
"
,
C
,
!
1
),
e
.
ready
()}:
c
.
attachEvent
&&
(
C
=
function
(){
c
.
readyState
===
"
complete
"
&&
(
c
.
detachEvent
(
"
onreadystatechange
"
,
C
),
e
.
ready
())});
return
e
}(),
g
=
"
done fail isResolved isRejected promise then always pipe
"
.
split
(
"
"
),
h
=
[].
slice
;
f
.
extend
({
_Deferred
:
function
(){
var
a
=
[],
b
,
c
,
d
,
e
=
{
done
:
function
(){
if
(
!
d
){
var
c
=
arguments
,
g
,
h
,
i
,
j
,
k
;
b
&&
(
k
=
b
,
b
=
0
);
for
(
g
=
0
,
h
=
c
.
length
;
g
<
h
;
g
++
)
i
=
c
[
g
],
j
=
f
.
type
(
i
),
j
===
"
array
"
?
e
.
done
.
apply
(
e
,
i
):
j
===
"
function
"
&&
a
.
push
(
i
);
k
&&
e
.
resolveWith
(
k
[
0
],
k
[
1
])}
return
this
},
resolveWith
:
function
(
e
,
f
){
if
(
!
d
&&!
b
&&!
c
){
f
=
f
||
[],
c
=
1
;
try
{
while
(
a
[
0
])
a
.
shift
().
apply
(
e
,
f
)}
finally
{
b
=
[
e
,
f
],
c
=
0
}}
return
this
},
resolve
:
function
(){
e
.
resolveWith
(
this
,
arguments
);
return
this
},
isResolved
:
function
(){
return
!!
c
||!!
b
},
cancel
:
function
(){
d
=
1
,
a
=
[];
return
this
}};
return
e
},
Deferred
:
function
(
a
){
var
b
=
f
.
_Deferred
(),
c
=
f
.
_Deferred
(),
d
;
f
.
extend
(
b
,{
then
:
function
(
a
,
c
){
b
.
done
(
a
).
fail
(
c
);
return
this
},
always
:
function
(){
return
b
.
done
.
apply
(
b
,
arguments
).
fail
.
apply
(
this
,
arguments
)},
fail
:
c
.
done
,
rejectWith
:
c
.
resolveWith
,
reject
:
c
.
resolve
,
isRejected
:
c
.
isResolved
,
pipe
:
function
(
a
,
c
){
return
f
.
Deferred
(
function
(
d
){
f
.
each
({
done
:[
a
,
"
resolve
"
],
fail
:[
c
,
"
reject
"
]},
function
(
a
,
c
){
var
e
=
c
[
0
],
g
=
c
[
1
],
h
;
f
.
isFunction
(
e
)?
b
[
a
](
function
(){
h
=
e
.
apply
(
this
,
arguments
),
h
&&
f
.
isFunction
(
h
.
promise
)?
h
.
promise
().
then
(
d
.
resolve
,
d
.
reject
):
d
[
g
+
"
With
"
](
this
===
b
?
d
:
this
,[
h
])}):
b
[
a
](
d
[
g
])})}).
promise
()},
promise
:
function
(
a
){
if
(
a
==
null
){
if
(
d
)
return
d
;
d
=
a
=
{}}
var
c
=
g
.
length
;
while
(
c
--
)
a
[
g
[
c
]]
=
b
[
g
[
c
]];
return
a
}}),
b
.
done
(
c
.
cancel
).
fail
(
b
.
cancel
),
delete
b
.
cancel
,
a
&&
a
.
call
(
b
,
b
);
return
b
},
when
:
function
(
a
){
function
i
(
a
){
return
function
(
c
){
b
[
a
]
=
arguments
.
length
>
1
?
h
.
call
(
arguments
,
0
):
c
,
--
e
||
g
.
resolveWith
(
g
,
h
.
call
(
b
,
0
))}}
var
b
=
arguments
,
c
=
0
,
d
=
b
.
length
,
e
=
d
,
g
=
d
<=
1
&&
a
&&
f
.
isFunction
(
a
.
promise
)?
a
:
f
.
Deferred
();
if
(
d
>
1
){
for
(;
c
<
d
;
c
++
)
b
[
c
]
&&
f
.
isFunction
(
b
[
c
].
promise
)?
b
[
c
].
promise
().
then
(
i
(
c
),
g
.
reject
):
--
e
;
e
||
g
.
resolveWith
(
g
,
b
)}
else
g
!==
a
&&
g
.
resolveWith
(
g
,
d
?[
a
]:[]);
return
g
.
promise
()}}),
f
.
support
=
function
(){
var
a
=
c
.
createElement
(
"
div
"
),
b
=
c
.
documentElement
,
d
,
e
,
g
,
h
,
i
,
j
,
k
,
l
,
m
,
n
,
o
,
p
,
q
,
r
,
s
,
t
,
u
;
a
.
setAttribute
(
"
className
"
,
"
t
"
),
a
.
innerHTML
=
"
<link><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type=checkbox>
"
,
d
=
a
.
getElementsByTagName
(
"
*
"
),
e
=
a
.
getElementsByTagName
(
"
a
"
)[
0
];
if
(
!
d
||!
d
.
length
||!
e
)
return
{};
g
=
c
.
createElement
(
"
select
"
),
h
=
g
.
appendChild
(
c
.
createElement
(
"
option
"
)),
i
=
a
.
getElementsByTagName
(
"
input
"
)[
0
],
k
=
{
leadingWhitespace
:
a
.
firstChild
.
nodeType
===
3
,
tbody
:
!
a
.
getElementsByTagName
(
"
tbody
"
).
length
,
htmlSerialize
:
!!
a
.
getElementsByTagName
(
"
link
"
).
length
,
style
:
/top/
.
test
(
e
.
getAttribute
(
"
style
"
)),
hrefNormalized
:
e
.
getAttribute
(
"
href
"
)
===
"
/a
"
,
opacity
:
/^0.55$/
.
test
(
e
.
style
.
opacity
),
cssFloat
:
!!
e
.
style
.
cssFloat
,
checkOn
:
i
.
value
===
"
on
"
,
optSelected
:
h
.
selected
,
getSetAttribute
:
a
.
className
!==
"
t
"
,
submitBubbles
:
!
0
,
changeBubbles
:
!
0
,
focusinBubbles
:
!
1
,
deleteExpando
:
!
0
,
noCloneEvent
:
!
0
,
inlineBlockNeedsLayout
:
!
1
,
shrinkWrapBlocks
:
!
1
,
reliableMarginRight
:
!
0
},
i
.
checked
=!
0
,
k
.
noCloneChecked
=
i
.
cloneNode
(
!
0
).
checked
,
g
.
disabled
=!
0
,
k
.
optDisabled
=!
h
.
disabled
;
try
{
delete
a
.
test
}
catch
(
v
){
k
.
deleteExpando
=!
1
}
!
a
.
addEventListener
&&
a
.
attachEvent
&&
a
.
fireEvent
&&
(
a
.
attachEvent
(
"
onclick
"
,
function
(){
k
.
noCloneEvent
=!
1
}),
a
.
cloneNode
(
!
0
).
fireEvent
(
"
onclick
"
)),
i
=
c
.
createElement
(
"
input
"
),
i
.
value
=
"
t
"
,
i
.
setAttribute
(
"
type
"
,
"
radio
"
),
k
.
radioValue
=
i
.
value
===
"
t
"
,
i
.
setAttribute
(
"
checked
"
,
"
checked
"
),
a
.
appendChild
(
i
),
l
=
c
.
createDocumentFragment
(),
l
.
appendChild
(
a
.
firstChild
),
k
.
checkClone
=
l
.
cloneNode
(
!
0
).
cloneNode
(
!
0
).
lastChild
.
checked
,
a
.
innerHTML
=
""
,
a
.
style
.
width
=
a
.
style
.
paddingLeft
=
"
1px
"
,
m
=
c
.
getElementsByTagName
(
"
body
"
)[
0
],
o
=
c
.
createElement
(
m
?
"
div
"
:
"
body
"
),
p
=
{
visibility
:
"
hidden
"
,
width
:
0
,
height
:
0
,
border
:
0
,
margin
:
0
,
background
:
"
none
"
},
m
&&
f
.
extend
(
p
,{
position
:
"
absolute
"
,
left
:
"
-1000px
"
,
top
:
"
-1000px
"
});
for
(
t
in
p
)
o
.
style
[
t
]
=
p
[
t
];
o
.
appendChild
(
a
),
n
=
m
||
b
,
n
.
insertBefore
(
o
,
n
.
firstChild
),
k
.
appendChecked
=
i
.
checked
,
k
.
boxModel
=
a
.
offsetWidth
===
2
,
"
zoom
"
in
a
.
style
&&
(
a
.
style
.
display
=
"
inline
"
,
a
.
style
.
zoom
=
1
,
k
.
inlineBlockNeedsLayout
=
a
.
offsetWidth
===
2
,
a
.
style
.
display
=
""
,
a
.
innerHTML
=
"
<div style='width:4px;'></div>
"
,
k
.
shrinkWrapBlocks
=
a
.
offsetWidth
!==
2
),
a
.
innerHTML
=
"
<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>
"
,
q
=
a
.
getElementsByTagName
(
"
td
"
),
u
=
q
[
0
].
offsetHeight
===
0
,
q
[
0
].
style
.
display
=
""
,
q
[
1
].
style
.
display
=
"
none
"
,
k
.
reliableHiddenOffsets
=
u
&&
q
[
0
].
offsetHeight
===
0
,
a
.
innerHTML
=
""
,
c
.
defaultView
&&
c
.
defaultView
.
getComputedStyle
&&
(
j
=
c
.
createElement
(
"
div
"
),
j
.
style
.
width
=
"
0
"
,
j
.
style
.
marginRight
=
"
0
"
,
a
.
appendChild
(
j
),
k
.
reliableMarginRight
=
(
parseInt
((
c
.
defaultView
.
getComputedStyle
(
j
,
null
)
||
{
marginRight
:
0
}).
marginRight
,
10
)
||
0
)
===
0
),
o
.
innerHTML
=
""
,
n
.
removeChild
(
o
);
if
(
a
.
attachEvent
)
for
(
t
in
{
submit
:
1
,
change
:
1
,
focusin
:
1
})
s
=
"
on
"
+
t
,
u
=
s
in
a
,
u
||
(
a
.
setAttribute
(
s
,
"
return;
"
),
u
=
typeof
a
[
s
]
==
"
function
"
),
k
[
t
+
"
Bubbles
"
]
=
u
;
o
=
l
=
g
=
h
=
m
=
j
=
a
=
i
=
null
;
return
k
}(),
f
.
boxModel
=
f
.
support
.
boxModel
;
var
i
=
/^
(?:\{
.*
\}
|
\[
.*
\])
$/
,
j
=
/
([
a-z
])([
A-Z
])
/g
;
f
.
extend
({
cache
:{},
uuid
:
0
,
expando
:
"
jQuery
"
+
(
f
.
fn
.
jquery
+
Math
.
random
()).
replace
(
/
\D
/g
,
""
),
noData
:{
embed
:
!
0
,
object
:
"
clsid:D27CDB6E-AE6D-11cf-96B8-444553540000
"
,
applet
:
!
0
},
hasData
:
function
(
a
){
a
=
a
.
nodeType
?
f
.
cache
[
a
[
f
.
expando
]]:
a
[
f
.
expando
];
return
!!
a
&&!
l
(
a
)},
data
:
function
(
a
,
c
,
d
,
e
){
if
(
!!
f
.
acceptData
(
a
)){
var
g
,
h
,
i
=
f
.
expando
,
j
=
typeof
c
==
"
string
"
,
k
=
a
.
nodeType
,
l
=
k
?
f
.
cache
:
a
,
m
=
k
?
a
[
f
.
expando
]:
a
[
f
.
expando
]
&&
f
.
expando
;
if
((
!
m
||
e
&&
m
&&
l
[
m
]
&&!
l
[
m
][
i
])
&&
j
&&
d
===
b
)
return
;
m
||
(
k
?
a
[
f
.
expando
]
=
m
=++
f
.
uuid
:
m
=
f
.
expando
),
l
[
m
]
||
(
l
[
m
]
=
{},
k
||
(
l
[
m
].
toJSON
=
f
.
noop
));
if
(
typeof
c
==
"
object
"
||
typeof
c
==
"
function
"
)
e
?
l
[
m
][
i
]
=
f
.
extend
(
l
[
m
][
i
],
c
):
l
[
m
]
=
f
.
extend
(
l
[
m
],
c
);
g
=
l
[
m
],
e
&&
(
g
[
i
]
||
(
g
[
i
]
=
{}),
g
=
g
[
i
]),
d
!==
b
&&
(
g
[
f
.
camelCase
(
c
)]
=
d
);
if
(
c
===
"
events
"
&&!
g
[
c
])
return
g
[
i
]
&&
g
[
i
].
events
;
j
?(
h
=
g
[
c
],
h
==
null
&&
(
h
=
g
[
f
.
camelCase
(
c
)])):
h
=
g
;
return
h
}},
removeData
:
function
(
a
,
b
,
c
){
if
(
!!
f
.
acceptData
(
a
)){
var
d
,
e
=
f
.
expando
,
g
=
a
.
nodeType
,
h
=
g
?
f
.
cache
:
a
,
i
=
g
?
a
[
f
.
expando
]:
f
.
expando
;
if
(
!
h
[
i
])
return
;
if
(
b
){
d
=
c
?
h
[
i
][
e
]:
h
[
i
];
if
(
d
){
d
[
b
]
||
(
b
=
f
.
camelCase
(
b
)),
delete
d
[
b
];
if
(
!
l
(
d
))
return
}}
if
(
c
){
delete
h
[
i
][
e
];
if
(
!
l
(
h
[
i
]))
return
}
var
j
=
h
[
i
][
e
];
f
.
support
.
deleteExpando
||!
h
.
setInterval
?
delete
h
[
i
]:
h
[
i
]
=
null
,
j
?(
h
[
i
]
=
{},
g
||
(
h
[
i
].
toJSON
=
f
.
noop
),
h
[
i
][
e
]
=
j
):
g
&&
(
f
.
support
.
deleteExpando
?
delete
a
[
f
.
expando
]:
a
.
removeAttribute
?
a
.
removeAttribute
(
f
.
expando
):
a
[
f
.
expando
]
=
null
)}},
_data
:
function
(
a
,
b
,
c
){
return
f
.
data
(
a
,
b
,
c
,
!
0
)},
acceptData
:
function
(
a
){
if
(
a
.
nodeName
){
var
b
=
f
.
noData
[
a
.
nodeName
.
toLowerCase
()];
if
(
b
)
return
b
!==!
0
&&
a
.
getAttribute
(
"
classid
"
)
===
b
}
return
!
0
}}),
f
.
fn
.
extend
({
data
:
function
(
a
,
c
){
var
d
=
null
;
if
(
typeof
a
==
"
undefined
"
){
if
(
this
.
length
){
d
=
f
.
data
(
this
[
0
]);
if
(
this
[
0
].
nodeType
===
1
){
var
e
=
this
[
0
].
attributes
,
g
;
for
(
var
h
=
0
,
i
=
e
.
length
;
h
<
i
;
h
++
)
g
=
e
[
h
].
name
,
g
.
indexOf
(
"
data-
"
)
===
0
&&
(
g
=
f
.
camelCase
(
g
.
substring
(
5
)),
k
(
this
[
0
],
g
,
d
[
g
]))}}
return
d
}
if
(
typeof
a
==
"
object
"
)
return
this
.
each
(
function
(){
f
.
data
(
this
,
a
)});
var
j
=
a
.
split
(
"
.
"
);
j
[
1
]
=
j
[
1
]?
"
.
"
+
j
[
1
]:
""
;
if
(
c
===
b
){
d
=
this
.
triggerHandler
(
"
getData
"
+
j
[
1
]
+
"
!
"
,[
j
[
0
]]),
d
===
b
&&
this
.
length
&&
(
d
=
f
.
data
(
this
[
0
],
a
),
d
=
k
(
this
[
0
],
a
,
d
));
return
d
===
b
&&
j
[
1
]?
this
.
data
(
j
[
0
]):
d
}
return
this
.
each
(
function
(){
var
b
=
f
(
this
),
d
=
[
j
[
0
],
c
];
b
.
triggerHandler
(
"
setData
"
+
j
[
1
]
+
"
!
"
,
d
),
f
.
data
(
this
,
a
,
c
),
b
.
triggerHandler
(
"
changeData
"
+
j
[
1
]
+
"
!
"
,
d
)})},
removeData
:
function
(
a
){
return
this
.
each
(
function
(){
f
.
removeData
(
this
,
a
)})}}),
f
.
extend
({
_mark
:
function
(
a
,
c
){
a
&&
(
c
=
(
c
||
"
fx
"
)
+
"
mark
"
,
f
.
data
(
a
,
c
,(
f
.
data
(
a
,
c
,
b
,
!
0
)
||
0
)
+
1
,
!
0
))},
_unmark
:
function
(
a
,
c
,
d
){
a
!==!
0
&&
(
d
=
c
,
c
=
a
,
a
=!
1
);
if
(
c
){
d
=
d
||
"
fx
"
;
var
e
=
d
+
"
mark
"
,
g
=
a
?
0
:(
f
.
data
(
c
,
e
,
b
,
!
0
)
||
1
)
-
1
;
g
?
f
.
data
(
c
,
e
,
g
,
!
0
):(
f
.
removeData
(
c
,
e
,
!
0
),
m
(
c
,
d
,
"
mark
"
))}},
queue
:
function
(
a
,
c
,
d
){
if
(
a
){
c
=
(
c
||
"
fx
"
)
+
"
queue
"
;
var
e
=
f
.
data
(
a
,
c
,
b
,
!
0
);
d
&&
(
!
e
||
f
.
isArray
(
d
)?
e
=
f
.
data
(
a
,
c
,
f
.
makeArray
(
d
),
!
0
):
e
.
push
(
d
));
return
e
||
[]}},
dequeue
:
function
(
a
,
b
){
b
=
b
||
"
fx
"
;
var
c
=
f
.
queue
(
a
,
b
),
d
=
c
.
shift
(),
e
;
d
===
"
inprogress
"
&&
(
d
=
c
.
shift
()),
d
&&
(
b
===
"
fx
"
&&
c
.
unshift
(
"
inprogress
"
),
d
.
call
(
a
,
function
(){
f
.
dequeue
(
a
,
b
)})),
c
.
length
||
(
f
.
removeData
(
a
,
b
+
"
queue
"
,
!
0
),
m
(
a
,
b
,
"
queue
"
))}}),
f
.
fn
.
extend
({
queue
:
function
(
a
,
c
){
typeof
a
!=
"
string
"
&&
(
c
=
a
,
a
=
"
fx
"
);
if
(
c
===
b
)
return
f
.
queue
(
this
[
0
],
a
);
return
this
.
each
(
function
(){
var
b
=
f
.
queue
(
this
,
a
,
c
);
a
===
"
fx
"
&&
b
[
0
]
!==
"
inprogress
"
&&
f
.
dequeue
(
this
,
a
)})},
dequeue
:
function
(
a
){
return
this
.
each
(
function
(){
f
.
dequeue
(
this
,
a
)})},
delay
:
function
(
a
,
b
){
a
=
f
.
fx
?
f
.
fx
.
speeds
[
a
]
||
a
:
a
,
b
=
b
||
"
fx
"
;
return
this
.
queue
(
b
,
function
(){
var
c
=
this
;
setTimeout
(
function
(){
f
.
dequeue
(
c
,
b
)},
a
)})},
clearQueue
:
function
(
a
){
return
this
.
queue
(
a
||
"
fx
"
,[])},
promise
:
function
(
a
,
c
){
function
m
(){
--
h
||
d
.
resolveWith
(
e
,[
e
])}
typeof
a
!=
"
string
"
&&
(
c
=
a
,
a
=
b
),
a
=
a
||
"
fx
"
;
var
d
=
f
.
Deferred
(),
e
=
this
,
g
=
e
.
length
,
h
=
1
,
i
=
a
+
"
defer
"
,
j
=
a
+
"
queue
"
,
k
=
a
+
"
mark
"
,
l
;
while
(
g
--
)
if
(
l
=
f
.
data
(
e
[
g
],
i
,
b
,
!
0
)
||
(
f
.
data
(
e
[
g
],
j
,
b
,
!
0
)
||
f
.
data
(
e
[
g
],
k
,
b
,
!
0
))
&&
f
.
data
(
e
[
g
],
i
,
f
.
_Deferred
(),
!
0
))
h
++
,
l
.
done
(
m
);
m
();
return
d
.
promise
()}});
var
n
=
/
[\n\t\r]
/g
,
o
=
/
\s
+/
,
p
=
/
\r
/g
,
q
=
/^
(?:
button|input
)
$/i
,
r
=
/^
(?:
button|input|object|select|textarea
)
$/i
,
s
=
/^a
(?:
rea
)?
$/i
,
t
=
/^
(?:
autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected
)
$/i
,
u
,
v
;
f
.
fn
.
extend
({
attr
:
function
(
a
,
b
){
return
f
.
access
(
this
,
a
,
b
,
!
0
,
f
.
attr
)},
removeAttr
:
function
(
a
){
return
this
.
each
(
function
(){
f
.
removeAttr
(
this
,
a
)})},
prop
:
function
(
a
,
b
){
return
f
.
access
(
this
,
a
,
b
,
!
0
,
f
.
prop
)},
removeProp
:
function
(
a
){
a
=
f
.
propFix
[
a
]
||
a
;
return
this
.
each
(
function
(){
try
{
this
[
a
]
=
b
,
delete
this
[
a
]}
catch
(
c
){}})},
addClass
:
function
(
a
){
var
b
,
c
,
d
,
e
,
g
,
h
,
i
;
if
(
f
.
isFunction
(
a
))
return
this
.
each
(
function
(
b
){
f
(
this
).
addClass
(
a
.
call
(
this
,
b
,
this
.
className
))});
if
(
a
&&
typeof
a
==
"
string
"
){
b
=
a
.
split
(
o
);
for
(
c
=
0
,
d
=
this
.
length
;
c
<
d
;
c
++
){
e
=
this
[
c
];
if
(
e
.
nodeType
===
1
)
if
(
!
e
.
className
&&
b
.
length
===
1
)
e
.
className
=
a
;
else
{
g
=
"
"
+
e
.
className
+
"
"
;
for
(
h
=
0
,
i
=
b
.
length
;
h
<
i
;
h
++
)
~
g
.
indexOf
(
"
"
+
b
[
h
]
+
"
"
)
||
(
g
+=
b
[
h
]
+
"
"
);
e
.
className
=
f
.
trim
(
g
)}}}
return
this
},
removeClass
:
function
(
a
){
var
c
,
d
,
e
,
g
,
h
,
i
,
j
;
if
(
f
.
isFunction
(
a
))
return
this
.
each
(
function
(
b
){
f
(
this
).
removeClass
(
a
.
call
(
this
,
b
,
this
.
className
))});
if
(
a
&&
typeof
a
==
"
string
"
||
a
===
b
){
c
=
(
a
||
""
).
split
(
o
);
for
(
d
=
0
,
e
=
this
.
length
;
d
<
e
;
d
++
){
g
=
this
[
d
];
if
(
g
.
nodeType
===
1
&&
g
.
className
)
if
(
a
){
h
=
(
"
"
+
g
.
className
+
"
"
).
replace
(
n
,
"
"
);
for
(
i
=
0
,
j
=
c
.
length
;
i
<
j
;
i
++
)
h
=
h
.
replace
(
"
"
+
c
[
i
]
+
"
"
,
"
"
);
g
.
className
=
f
.
trim
(
h
)}
else
g
.
className
=
""
}}
return
this
},
toggleClass
:
function
(
a
,
b
){
var
c
=
typeof
a
,
d
=
typeof
b
==
"
boolean
"
;
if
(
f
.
isFunction
(
a
))
return
this
.
each
(
function
(
c
){
f
(
this
).
toggleClass
(
a
.
call
(
this
,
c
,
this
.
className
,
b
),
b
)});
return
this
.
each
(
function
(){
if
(
c
===
"
string
"
){
var
e
,
g
=
0
,
h
=
f
(
this
),
i
=
b
,
j
=
a
.
split
(
o
);
while
(
e
=
j
[
g
++
])
i
=
d
?
i
:
!
h
.
hasClass
(
e
),
h
[
i
?
"
addClass
"
:
"
removeClass
"
](
e
)}
else
if
(
c
===
"
undefined
"
||
c
===
"
boolean
"
)
this
.
className
&&
f
.
_data
(
this
,
"
__className__
"
,
this
.
className
),
this
.
className
=
this
.
className
||
a
===!
1
?
""
:
f
.
_data
(
this
,
"
__className__
"
)
||
""
})},
hasClass
:
function
(
a
){
var
b
=
"
"
+
a
+
"
"
;
for
(
var
c
=
0
,
d
=
this
.
length
;
c
<
d
;
c
++
)
if
(
this
[
c
].
nodeType
===
1
&&
(
"
"
+
this
[
c
].
className
+
"
"
).
replace
(
n
,
"
"
).
indexOf
(
b
)
>-
1
)
return
!
0
;
return
!
1
},
val
:
function
(
a
){
var
c
,
d
,
e
=
this
[
0
];
if
(
!
arguments
.
length
){
if
(
e
){
c
=
f
.
valHooks
[
e
.
nodeName
.
toLowerCase
()]
||
f
.
valHooks
[
e
.
type
];
if
(
c
&&
"
get
"
in
c
&&
(
d
=
c
.
get
(
e
,
"
value
"
))
!==
b
)
return
d
;
d
=
e
.
value
;
return
typeof
d
==
"
string
"
?
d
.
replace
(
p
,
""
):
d
==
null
?
""
:
d
}
return
b
}
var
g
=
f
.
isFunction
(
a
);
return
this
.
each
(
function
(
d
){
var
e
=
f
(
this
),
h
;
if
(
this
.
nodeType
===
1
){
g
?
h
=
a
.
call
(
this
,
d
,
e
.
val
()):
h
=
a
,
h
==
null
?
h
=
""
:
typeof
h
==
"
number
"
?
h
+=
""
:
f
.
isArray
(
h
)
&&
(
h
=
f
.
map
(
h
,
function
(
a
){
return
a
==
null
?
""
:
a
+
""
})),
c
=
f
.
valHooks
[
this
.
nodeName
.
toLowerCase
()]
||
f
.
valHooks
[
this
.
type
];
if
(
!
c
||!
(
"
set
"
in
c
)
||
c
.
set
(
this
,
h
,
"
value
"
)
===
b
)
this
.
value
=
h
}})}}),
f
.
extend
({
valHooks
:{
option
:{
get
:
function
(
a
){
var
b
=
a
.
attributes
.
value
;
return
!
b
||
b
.
specified
?
a
.
value
:
a
.
text
}},
select
:{
get
:
function
(
a
){
var
b
,
c
=
a
.
selectedIndex
,
d
=
[],
e
=
a
.
options
,
g
=
a
.
type
===
"
select-one
"
;
if
(
c
<
0
)
return
null
;
for
(
var
h
=
g
?
c
:
0
,
i
=
g
?
c
+
1
:
e
.
length
;
h
<
i
;
h
++
){
var
j
=
e
[
h
];
if
(
j
.
selected
&&
(
f
.
support
.
optDisabled
?
!
j
.
disabled
:
j
.
getAttribute
(
"
disabled
"
)
===
null
)
&&
(
!
j
.
parentNode
.
disabled
||!
f
.
nodeName
(
j
.
parentNode
,
"
optgroup
"
))){
b
=
f
(
j
).
val
();
if
(
g
)
return
b
;
d
.
push
(
b
)}}
if
(
g
&&!
d
.
length
&&
e
.
length
)
return
f
(
e
[
c
]).
val
();
return
d
},
set
:
function
(
a
,
b
){
var
c
=
f
.
makeArray
(
b
);
f
(
a
).
find
(
"
option
"
).
each
(
function
(){
this
.
selected
=
f
.
inArray
(
f
(
this
).
val
(),
c
)
>=
0
}),
c
.
length
||
(
a
.
selectedIndex
=-
1
);
return
c
}}},
attrFn
:{
val
:
!
0
,
css
:
!
0
,
html
:
!
0
,
text
:
!
0
,
data
:
!
0
,
width
:
!
0
,
height
:
!
0
,
offset
:
!
0
},
attrFix
:{
tabindex
:
"
tabIndex
"
},
attr
:
function
(
a
,
c
,
d
,
e
){
var
g
=
a
.
nodeType
;
if
(
!
a
||
g
===
3
||
g
===
8
||
g
===
2
)
return
b
;
if
(
e
&&
c
in
f
.
attrFn
)
return
f
(
a
)[
c
](
d
);
if
(
!
(
"
getAttribute
"
in
a
))
return
f
.
prop
(
a
,
c
,
d
);
var
h
,
i
,
j
=
g
!==
1
||!
f
.
isXMLDoc
(
a
);
j
&&
(
c
=
f
.
attrFix
[
c
]
||
c
,
i
=
f
.
attrHooks
[
c
],
i
||
(
t
.
test
(
c
)?
i
=
v
:
u
&&
(
i
=
u
)));
if
(
d
!==
b
){
if
(
d
===
null
){
f
.
removeAttr
(
a
,
c
);
return
b
}
if
(
i
&&
"
set
"
in
i
&&
j
&&
(
h
=
i
.
set
(
a
,
d
,
c
))
!==
b
)
return
h
;
a
.
setAttribute
(
c
,
""
+
d
);
return
d
}
if
(
i
&&
"
get
"
in
i
&&
j
&&
(
h
=
i
.
get
(
a
,
c
))
!==
null
)
return
h
;
h
=
a
.
getAttribute
(
c
);
return
h
===
null
?
b
:
h
},
removeAttr
:
function
(
a
,
b
){
var
c
;
a
.
nodeType
===
1
&&
(
b
=
f
.
attrFix
[
b
]
||
b
,
f
.
attr
(
a
,
b
,
""
),
a
.
removeAttribute
(
b
),
t
.
test
(
b
)
&&
(
c
=
f
.
propFix
[
b
]
||
b
)
in
a
&&
(
a
[
c
]
=!
1
))},
attrHooks
:{
type
:{
set
:
function
(
a
,
b
){
if
(
q
.
test
(
a
.
nodeName
)
&&
a
.
parentNode
)
f
.
error
(
"
type property can't be changed
"
);
else
if
(
!
f
.
support
.
radioValue
&&
b
===
"
radio
"
&&
f
.
nodeName
(
a
,
"
input
"
)){
var
c
=
a
.
value
;
a
.
setAttribute
(
"
type
"
,
b
),
c
&&
(
a
.
value
=
c
);
return
b
}}},
value
:{
get
:
function
(
a
,
b
){
if
(
u
&&
f
.
nodeName
(
a
,
"
button
"
))
return
u
.
get
(
a
,
b
);
return
b
in
a
?
a
.
value
:
null
},
set
:
function
(
a
,
b
,
c
){
if
(
u
&&
f
.
nodeName
(
a
,
"
button
"
))
return
u
.
set
(
a
,
b
,
c
);
a
.
value
=
b
}}},
propFix
:{
tabindex
:
"
tabIndex
"
,
readonly
:
"
readOnly
"
,
"
for
"
:
"
htmlFor
"
,
"
class
"
:
"
className
"
,
maxlength
:
"
maxLength
"
,
cellspacing
:
"
cellSpacing
"
,
cellpadding
:
"
cellPadding
"
,
rowspan
:
"
rowSpan
"
,
colspan
:
"
colSpan
"
,
usemap
:
"
useMap
"
,
frameborder
:
"
frameBorder
"
,
contenteditable
:
"
contentEditable
"
},
prop
:
function
(
a
,
c
,
d
){
var
e
=
a
.
nodeType
;
if
(
!
a
||
e
===
3
||
e
===
8
||
e
===
2
)
return
b
;
var
g
,
h
,
i
=
e
!==
1
||!
f
.
isXMLDoc
(
a
);
i
&&
(
c
=
f
.
propFix
[
c
]
||
c
,
h
=
f
.
propHooks
[
c
]);
return
d
!==
b
?
h
&&
"
set
"
in
h
&&
(
g
=
h
.
set
(
a
,
d
,
c
))
!==
b
?
g
:
a
[
c
]
=
d
:
h
&&
"
get
"
in
h
&&
(
g
=
h
.
get
(
a
,
c
))
!==
null
?
g
:
a
[
c
]},
propHooks
:{
tabIndex
:{
get
:
function
(
a
){
var
c
=
a
.
getAttributeNode
(
"
tabindex
"
);
return
c
&&
c
.
specified
?
parseInt
(
c
.
value
,
10
):
r
.
test
(
a
.
nodeName
)
||
s
.
test
(
a
.
nodeName
)
&&
a
.
href
?
0
:
b
}}}}),
f
.
attrHooks
.
tabIndex
=
f
.
propHooks
.
tabIndex
,
v
=
{
get
:
function
(
a
,
c
){
var
d
;
return
f
.
prop
(
a
,
c
)
===!
0
||
(
d
=
a
.
getAttributeNode
(
c
))
&&
d
.
nodeValue
!==!
1
?
c
.
toLowerCase
():
b
},
set
:
function
(
a
,
b
,
c
){
var
d
;
b
===!
1
?
f
.
removeAttr
(
a
,
c
):(
d
=
f
.
propFix
[
c
]
||
c
,
d
in
a
&&
(
a
[
d
]
=!
0
),
a
.
setAttribute
(
c
,
c
.
toLowerCase
()));
return
c
}},
f
.
support
.
getSetAttribute
||
(
u
=
f
.
valHooks
.
button
=
{
get
:
function
(
a
,
c
){
var
d
;
d
=
a
.
getAttributeNode
(
c
);
return
d
&&
d
.
nodeValue
!==
""
?
d
.
nodeValue
:
b
},
set
:
function
(
a
,
b
,
d
){
var
e
=
a
.
getAttributeNode
(
d
);
e
||
(
e
=
c
.
createAttribute
(
d
),
a
.
setAttributeNode
(
e
));
return
e
.
nodeValue
=
b
+
""
}},
f
.
each
([
"
width
"
,
"
height
"
],
function
(
a
,
b
){
f
.
attrHooks
[
b
]
=
f
.
extend
(
f
.
attrHooks
[
b
],{
set
:
function
(
a
,
c
){
if
(
c
===
""
){
a
.
setAttribute
(
b
,
"
auto
"
);
return
c
}}})})),
f
.
support
.
hrefNormalized
||
f
.
each
([
"
href
"
,
"
src
"
,
"
width
"
,
"
height
"
],
function
(
a
,
c
){
f
.
attrHooks
[
c
]
=
f
.
extend
(
f
.
attrHooks
[
c
],{
get
:
function
(
a
){
var
d
=
a
.
getAttribute
(
c
,
2
);
return
d
===
null
?
b
:
d
}})}),
f
.
support
.
style
||
(
f
.
attrHooks
.
style
=
{
get
:
function
(
a
){
return
a
.
style
.
cssText
.
toLowerCase
()
||
b
},
set
:
function
(
a
,
b
){
return
a
.
style
.
cssText
=
""
+
b
}}),
f
.
support
.
optSelected
||
(
f
.
propHooks
.
selected
=
f
.
extend
(
f
.
propHooks
.
selected
,{
get
:
function
(
a
){
var
b
=
a
.
parentNode
;
b
&&
(
b
.
selectedIndex
,
b
.
parentNode
&&
b
.
parentNode
.
selectedIndex
);
return
null
}})),
f
.
support
.
checkOn
||
f
.
each
([
"
radio
"
,
"
checkbox
"
],
function
(){
f
.
valHooks
[
this
]
=
{
get
:
function
(
a
){
return
a
.
getAttribute
(
"
value
"
)
===
null
?
"
on
"
:
a
.
value
}}}),
f
.
each
([
"
radio
"
,
"
checkbox
"
],
function
(){
f
.
valHooks
[
this
]
=
f
.
extend
(
f
.
valHooks
[
this
],{
set
:
function
(
a
,
b
){
if
(
f
.
isArray
(
b
))
return
a
.
checked
=
f
.
inArray
(
f
(
a
).
val
(),
b
)
>=
0
}})});
var
w
=
/
\.(
.*
)
$/
,
x
=
/^
(?:
textarea|input|select
)
$/i
,
y
=
/
\.
/g
,
z
=
/ /g
,
A
=
/
[^\w\s
.|`
]
/g
,
B
=
function
(
a
){
return
a
.
replace
(
A
,
"
\\
$&
"
)};
f
.
event
=
{
add
:
function
(
a
,
c
,
d
,
e
){
if
(
a
.
nodeType
!==
3
&&
a
.
nodeType
!==
8
){
if
(
d
===!
1
)
d
=
C
;
else
if
(
!
d
)
return
;
var
g
,
h
;
d
.
handler
&&
(
g
=
d
,
d
=
g
.
handler
),
d
.
guid
||
(
d
.
guid
=
f
.
guid
++
);
var
i
=
f
.
_data
(
a
);
if
(
!
i
)
return
;
var
j
=
i
.
events
,
k
=
i
.
handle
;
j
||
(
i
.
events
=
j
=
{}),
k
||
(
i
.
handle
=
k
=
function
(
a
){
return
typeof
f
!=
"
undefined
"
&&
(
!
a
||
f
.
event
.
triggered
!==
a
.
type
)?
f
.
event
.
handle
.
apply
(
k
.
elem
,
arguments
):
b
}),
k
.
elem
=
a
,
c
=
c
.
split
(
"
"
);
var
l
,
m
=
0
,
n
;
while
(
l
=
c
[
m
++
]){
h
=
g
?
f
.
extend
({},
g
):{
handler
:
d
,
data
:
e
},
l
.
indexOf
(
"
.
"
)
>-
1
?(
n
=
l
.
split
(
"
.
"
),
l
=
n
.
shift
(),
h
.
namespace
=
n
.
slice
(
0
).
sort
().
join
(
"
.
"
)):(
n
=
[],
h
.
namespace
=
""
),
h
.
type
=
l
,
h
.
guid
||
(
h
.
guid
=
d
.
guid
);
var
o
=
j
[
l
],
p
=
f
.
event
.
special
[
l
]
||
{};
if
(
!
o
){
o
=
j
[
l
]
=
[];
if
(
!
p
.
setup
||
p
.
setup
.
call
(
a
,
e
,
n
,
k
)
===!
1
)
a
.
addEventListener
?
a
.
addEventListener
(
l
,
k
,
!
1
):
a
.
attachEvent
&&
a
.
attachEvent
(
"
on
"
+
l
,
k
)}
p
.
add
&&
(
p
.
add
.
call
(
a
,
h
),
h
.
handler
.
guid
||
(
h
.
handler
.
guid
=
d
.
guid
)),
o
.
push
(
h
),
f
.
event
.
global
[
l
]
=!
0
}
a
=
null
}},
global
:{},
remove
:
function
(
a
,
c
,
d
,
e
){
if
(
a
.
nodeType
!==
3
&&
a
.
nodeType
!==
8
){
d
===!
1
&&
(
d
=
C
);
var
g
,
h
,
i
,
j
,
k
=
0
,
l
,
m
,
n
,
o
,
p
,
q
,
r
,
s
=
f
.
hasData
(
a
)
&&
f
.
_data
(
a
),
t
=
s
&&
s
.
events
;
if
(
!
s
||!
t
)
return
;
c
&&
c
.
type
&&
(
d
=
c
.
handler
,
c
=
c
.
type
);
if
(
!
c
||
typeof
c
==
"
string
"
&&
c
.
charAt
(
0
)
===
"
.
"
){
c
=
c
||
""
;
for
(
h
in
t
)
f
.
event
.
remove
(
a
,
h
+
c
);
return
}
c
=
c
.
split
(
"
"
);
while
(
h
=
c
[
k
++
]){
r
=
h
,
q
=
null
,
l
=
h
.
indexOf
(
"
.
"
)
<
0
,
m
=
[],
l
||
(
m
=
h
.
split
(
"
.
"
),
h
=
m
.
shift
(),
n
=
new
RegExp
(
"
(^|
\\
.)
"
+
f
.
map
(
m
.
slice
(
0
).
sort
(),
B
).
join
(
"
\\
.(?:.*
\\
.)?
"
)
+
"
(
\\
.|$)
"
)),
p
=
t
[
h
];
if
(
!
p
)
continue
;
if
(
!
d
){
for
(
j
=
0
;
j
<
p
.
length
;
j
++
){
q
=
p
[
j
];
if
(
l
||
n
.
test
(
q
.
namespace
))
f
.
event
.
remove
(
a
,
r
,
q
.
handler
,
j
),
p
.
splice
(
j
--
,
1
)}
continue
}
o
=
f
.
event
.
special
[
h
]
||
{};
for
(
j
=
e
||
0
;
j
<
p
.
length
;
j
++
){
q
=
p
[
j
];
if
(
d
.
guid
===
q
.
guid
){
if
(
l
||
n
.
test
(
q
.
namespace
))
e
==
null
&&
p
.
splice
(
j
--
,
1
),
o
.
remove
&&
o
.
remove
.
call
(
a
,
q
);
if
(
e
!=
null
)
break
}}
if
(
p
.
length
===
0
||
e
!=
null
&&
p
.
length
===
1
)(
!
o
.
teardown
||
o
.
teardown
.
call
(
a
,
m
)
===!
1
)
&&
f
.
removeEvent
(
a
,
h
,
s
.
handle
),
g
=
null
(
function
(
a
,
b
){
function
G
(
a
){
var
b
=
F
[
a
]
=
{};
return
p
.
each
(
a
.
split
(
s
),
function
(
a
,
c
){
b
[
c
]
=!
0
}),
b
}
function
J
(
a
,
c
,
d
){
if
(
d
===
b
&&
a
.
nodeType
===
1
){
var
e
=
"
data-
"
+
c
.
replace
(
I
,
"
-$1
"
).
toLowerCase
();
d
=
a
.
getAttribute
(
e
);
if
(
typeof
d
==
"
string
"
){
try
{
d
=
d
===
"
true
"
?
!
0
:
d
===
"
false
"
?
!
1
:
d
===
"
null
"
?
null
:
+
d
+
""
===
d
?
+
d
:
H
.
test
(
d
)?
p
.
parseJSON
(
d
):
d
}
catch
(
f
){}
p
.
data
(
a
,
c
,
d
)}
else
d
=
b
}
return
d
}
function
K
(
a
){
var
b
;
for
(
b
in
a
){
if
(
b
===
"
data
"
&&
p
.
isEmptyObject
(
a
[
b
]))
continue
;
if
(
b
!==
"
toJSON
"
)
return
!
1
}
return
!
0
}
function
ba
(){
return
!
1
}
function
bb
(){
return
!
0
}
function
bh
(
a
){
return
!
a
||!
a
.
parentNode
||
a
.
parentNode
.
nodeType
===
11
}
function
bi
(
a
,
b
){
do
a
=
a
[
b
];
while
(
a
&&
a
.
nodeType
!==
1
);
return
a
}
function
bj
(
a
,
b
,
c
){
b
=
b
||
0
;
if
(
p
.
isFunction
(
b
))
return
p
.
grep
(
a
,
function
(
a
,
d
){
var
e
=!!
b
.
call
(
a
,
d
,
a
);
return
e
===
c
});
if
(
b
.
nodeType
)
return
p
.
grep
(
a
,
function
(
a
,
d
){
return
a
===
b
===
c
});
if
(
typeof
b
==
"
string
"
){
var
d
=
p
.
grep
(
a
,
function
(
a
){
return
a
.
nodeType
===
1
});
if
(
be
.
test
(
b
))
return
p
.
filter
(
b
,
d
,
!
c
);
b
=
p
.
filter
(
b
,
d
)}
return
p
.
grep
(
a
,
function
(
a
,
d
){
return
p
.
inArray
(
a
,
b
)
>=
0
===
c
})}
function
bk
(
a
){
var
b
=
bl
.
split
(
"
|
"
),
c
=
a
.
createDocumentFragment
();
if
(
c
.
createElement
)
while
(
b
.
length
)
c
.
createElement
(
b
.
pop
());
return
c
}
function
bC
(
a
,
b
){
return
a
.
getElementsByTagName
(
b
)[
0
]
||
a
.
appendChild
(
a
.
ownerDocument
.
createElement
(
b
))}
function
bD
(
a
,
b
){
if
(
b
.
nodeType
!==
1
||!
p
.
hasData
(
a
))
return
;
var
c
,
d
,
e
,
f
=
p
.
_data
(
a
),
g
=
p
.
_data
(
b
,
f
),
h
=
f
.
events
;
if
(
h
){
delete
g
.
handle
,
g
.
events
=
{};
for
(
c
in
h
)
for
(
d
=
0
,
e
=
h
[
c
].
length
;
d
<
e
;
d
++
)
p
.
event
.
add
(
b
,
c
,
h
[
c
][
d
])}
g
.
data
&&
(
g
.
data
=
p
.
extend
({},
g
.
data
))}
function
bE
(
a
,
b
){
var
c
;
if
(
b
.
nodeType
!==
1
)
return
;
b
.
clearAttributes
&&
b
.
clearAttributes
(),
b
.
mergeAttributes
&&
b
.
mergeAttributes
(
a
),
c
=
b
.
nodeName
.
toLowerCase
(),
c
===
"
object
"
?(
b
.
parentNode
&&
(
b
.
outerHTML
=
a
.
outerHTML
),
p
.
support
.
html5Clone
&&
a
.
innerHTML
&&!
p
.
trim
(
b
.
innerHTML
)
&&
(
b
.
innerHTML
=
a
.
innerHTML
)):
c
===
"
input
"
&&
bv
.
test
(
a
.
type
)?(
b
.
defaultChecked
=
b
.
checked
=
a
.
checked
,
b
.
value
!==
a
.
value
&&
(
b
.
value
=
a
.
value
)):
c
===
"
option
"
?
b
.
selected
=
a
.
defaultSelected
:
c
===
"
input
"
||
c
===
"
textarea
"
?
b
.
defaultValue
=
a
.
defaultValue
:
c
===
"
script
"
&&
b
.
text
!==
a
.
text
&&
(
b
.
text
=
a
.
text
),
b
.
removeAttribute
(
p
.
expando
)}
function
bF
(
a
){
return
typeof
a
.
getElementsByTagName
!=
"
undefined
"
?
a
.
getElementsByTagName
(
"
*
"
):
typeof
a
.
querySelectorAll
!=
"
undefined
"
?
a
.
querySelectorAll
(
"
*
"
):[]}
function
bG
(
a
){
bv
.
test
(
a
.
type
)
&&
(
a
.
defaultChecked
=
a
.
checked
)}
function
bY
(
a
,
b
){
if
(
b
in
a
)
return
b
;
var
c
=
b
.
charAt
(
0
).
toUpperCase
()
+
b
.
slice
(
1
),
d
=
b
,
e
=
bW
.
length
;
while
(
e
--
){
b
=
bW
[
e
]
+
c
;
if
(
b
in
a
)
return
b
}
return
d
}
function
bZ
(
a
,
b
){
return
a
=
b
||
a
,
p
.
css
(
a
,
"
display
"
)
===
"
none
"
||!
p
.
contains
(
a
.
ownerDocument
,
a
)}
function
b$
(
a
,
b
){
var
c
,
d
,
e
=
[],
f
=
0
,
g
=
a
.
length
;
for
(;
f
<
g
;
f
++
){
c
=
a
[
f
];
if
(
!
c
.
style
)
continue
;
e
[
f
]
=
p
.
_data
(
c
,
"
olddisplay
"
),
b
?(
!
e
[
f
]
&&
c
.
style
.
display
===
"
none
"
&&
(
c
.
style
.
display
=
""
),
c
.
style
.
display
===
""
&&
bZ
(
c
)
&&
(
e
[
f
]
=
p
.
_data
(
c
,
"
olddisplay
"
,
cc
(
c
.
nodeName
)))):(
d
=
bH
(
c
,
"
display
"
),
!
e
[
f
]
&&
d
!==
"
none
"
&&
p
.
_data
(
c
,
"
olddisplay
"
,
d
))}
for
(
f
=
0
;
f
<
g
;
f
++
){
c
=
a
[
f
];
if
(
!
c
.
style
)
continue
;
if
(
!
b
||
c
.
style
.
display
===
"
none
"
||
c
.
style
.
display
===
""
)
c
.
style
.
display
=
b
?
e
[
f
]
||
""
:
"
none
"
}
return
a
}
function
b_
(
a
,
b
,
c
){
var
d
=
bP
.
exec
(
b
);
return
d
?
Math
.
max
(
0
,
d
[
1
]
-
(
c
||
0
))
+
(
d
[
2
]
||
"
px
"
):
b
}
function
ca
(
a
,
b
,
c
,
d
){
var
e
=
c
===
(
d
?
"
border
"
:
"
content
"
)?
4
:
b
===
"
width
"
?
1
:
0
,
f
=
0
;
for
(;
e
<
4
;
e
+=
2
)
c
===
"
margin
"
&&
(
f
+=
p
.
css
(
a
,
c
+
bV
[
e
],
!
0
)),
d
?(
c
===
"
content
"
&&
(
f
-=
parseFloat
(
bH
(
a
,
"
padding
"
+
bV
[
e
]))
||
0
),
c
!==
"
margin
"
&&
(
f
-=
parseFloat
(
bH
(
a
,
"
border
"
+
bV
[
e
]
+
"
Width
"
))
||
0
)):(
f
+=
parseFloat
(
bH
(
a
,
"
padding
"
+
bV
[
e
]))
||
0
,
c
!==
"
padding
"
&&
(
f
+=
parseFloat
(
bH
(
a
,
"
border
"
+
bV
[
e
]
+
"
Width
"
))
||
0
));
return
f
}
function
cb
(
a
,
b
,
c
){
var
d
=
b
===
"
width
"
?
a
.
offsetWidth
:
a
.
offsetHeight
,
e
=!
0
,
f
=
p
.
support
.
boxSizing
&&
p
.
css
(
a
,
"
boxSizing
"
)
===
"
border-box
"
;
if
(
d
<=
0
||
d
==
null
){
d
=
bH
(
a
,
b
);
if
(
d
<
0
||
d
==
null
)
d
=
a
.
style
[
b
];
if
(
bQ
.
test
(
d
))
return
d
;
e
=
f
&&
(
p
.
support
.
boxSizingReliable
||
d
===
a
.
style
[
b
]),
d
=
parseFloat
(
d
)
||
0
}
return
d
+
ca
(
a
,
b
,
c
||
(
f
?
"
border
"
:
"
content
"
),
e
)
+
"
px
"
}
function
cc
(
a
){
if
(
bS
[
a
])
return
bS
[
a
];
var
b
=
p
(
"
<
"
+
a
+
"
>
"
).
appendTo
(
e
.
body
),
c
=
b
.
css
(
"
display
"
);
b
.
remove
();
if
(
c
===
"
none
"
||
c
===
""
){
bI
=
e
.
body
.
appendChild
(
bI
||
p
.
extend
(
e
.
createElement
(
"
iframe
"
),{
frameBorder
:
0
,
width
:
0
,
height
:
0
}));
if
(
!
bJ
||!
bI
.
createElement
)
bJ
=
(
bI
.
contentWindow
||
bI
.
contentDocument
).
document
,
bJ
.
write
(
"
<!doctype html><html><body>
"
),
bJ
.
close
();
b
=
bJ
.
body
.
appendChild
(
bJ
.
createElement
(
a
)),
c
=
bH
(
b
,
"
display
"
),
e
.
body
.
removeChild
(
bI
)}
return
bS
[
a
]
=
c
,
c
}
function
ci
(
a
,
b
,
c
,
d
){
var
e
;
if
(
p
.
isArray
(
b
))
p
.
each
(
b
,
function
(
b
,
e
){
c
||
ce
.
test
(
a
)?
d
(
a
,
e
):
ci
(
a
+
"
[
"
+
(
typeof
e
==
"
object
"
?
b
:
""
)
+
"
]
"
,
e
,
c
,
d
)});
else
if
(
!
c
&&
p
.
type
(
b
)
===
"
object
"
)
for
(
e
in
b
)
ci
(
a
+
"
[
"
+
e
+
"
]
"
,
b
[
e
],
c
,
d
);
else
d
(
a
,
b
)}
function
cz
(
a
){
return
function
(
b
,
c
){
typeof
b
!=
"
string
"
&&
(
c
=
b
,
b
=
"
*
"
);
var
d
,
e
,
f
,
g
=
b
.
toLowerCase
().
split
(
s
),
h
=
0
,
i
=
g
.
length
;
if
(
p
.
isFunction
(
c
))
for
(;
h
<
i
;
h
++
)
d
=
g
[
h
],
f
=
/^
\+
/
.
test
(
d
),
f
&&
(
d
=
d
.
substr
(
1
)
||
"
*
"
),
e
=
a
[
d
]
=
a
[
d
]
||
[],
e
[
f
?
"
unshift
"
:
"
push
"
](
c
)}}
function
cA
(
a
,
c
,
d
,
e
,
f
,
g
){
f
=
f
||
c
.
dataTypes
[
0
],
g
=
g
||
{},
g
[
f
]
=!
0
;
var
h
,
i
=
a
[
f
],
j
=
0
,
k
=
i
?
i
.
length
:
0
,
l
=
a
===
cv
;
for
(;
j
<
k
&&
(
l
||!
h
);
j
++
)
h
=
i
[
j
](
c
,
d
,
e
),
typeof
h
==
"
string
"
&&
(
!
l
||
g
[
h
]?
h
=
b
:(
c
.
dataTypes
.
unshift
(
h
),
h
=
cA
(
a
,
c
,
d
,
e
,
h
,
g
)));
return
(
l
||!
h
)
&&!
g
[
"
*
"
]
&&
(
h
=
cA
(
a
,
c
,
d
,
e
,
"
*
"
,
g
)),
h
}
function
cB
(
a
,
c
){
var
d
,
e
,
f
=
p
.
ajaxSettings
.
flatOptions
||
{};
for
(
d
in
c
)
c
[
d
]
!==
b
&&
((
f
[
d
]?
a
:
e
||
(
e
=
{}))[
d
]
=
c
[
d
]);
e
&&
p
.
extend
(
!
0
,
a
,
e
)}
function
cC
(
a
,
c
,
d
){
var
e
,
f
,
g
,
h
,
i
=
a
.
contents
,
j
=
a
.
dataTypes
,
k
=
a
.
responseFields
;
for
(
f
in
k
)
f
in
d
&&
(
c
[
k
[
f
]]
=
d
[
f
]);
while
(
j
[
0
]
===
"
*
"
)
j
.
shift
(),
e
===
b
&&
(
e
=
a
.
mimeType
||
c
.
getResponseHeader
(
"
content-type
"
));
if
(
e
)
for
(
f
in
i
)
if
(
i
[
f
]
&&
i
[
f
].
test
(
e
)){
j
.
unshift
(
f
);
break
}
if
(
j
[
0
]
in
d
)
g
=
j
[
0
];
else
{
for
(
f
in
d
){
if
(
!
j
[
0
]
||
a
.
converters
[
f
+
"
"
+
j
[
0
]]){
g
=
f
;
break
}
h
||
(
h
=
f
)}
g
=
g
||
h
}
if
(
g
)
return
g
!==
j
[
0
]
&&
j
.
unshift
(
g
),
d
[
g
]}
function
cD
(
a
,
b
){
var
c
,
d
,
e
,
f
,
g
=
a
.
dataTypes
.
slice
(),
h
=
g
[
0
],
i
=
{},
j
=
0
;
a
.
dataFilter
&&
(
b
=
a
.
dataFilter
(
b
,
a
.
dataType
));
if
(
g
[
1
])
for
(
c
in
a
.
converters
)
i
[
c
.
toLowerCase
()]
=
a
.
converters
[
c
];
for
(;
e
=
g
[
++
j
];)
if
(
e
!==
"
*
"
){
if
(
h
!==
"
*
"
&&
h
!==
e
){
c
=
i
[
h
+
"
"
+
e
]
||
i
[
"
*
"
+
e
];
if
(
!
c
)
for
(
d
in
i
){
f
=
d
.
split
(
"
"
);
if
(
f
[
1
]
===
e
){
c
=
i
[
h
+
"
"
+
f
[
0
]]
||
i
[
"
*
"
+
f
[
0
]];
if
(
c
){
c
===!
0
?
c
=
i
[
d
]:
i
[
d
]
!==!
0
&&
(
e
=
f
[
0
],
g
.
splice
(
j
--
,
0
,
e
));
break
}}}
if
(
c
!==!
0
)
if
(
c
&&
a
[
"
throws
"
])
b
=
c
(
b
);
else
try
{
b
=
c
(
b
)}
catch
(
k
){
return
{
state
:
"
parsererror
"
,
error
:
c
?
k
:
"
No conversion from
"
+
h
+
"
to
"
+
e
}}}
h
=
e
}
return
{
state
:
"
success
"
,
data
:
b
}}
function
cL
(){
try
{
return
new
a
.
XMLHttpRequest
}
catch
(
b
){}}
function
cM
(){
try
{
return
new
a
.
ActiveXObject
(
"
Microsoft.XMLHTTP
"
)}
catch
(
b
){}}
function
cU
(){
return
setTimeout
(
function
(){
cN
=
b
},
0
),
cN
=
p
.
now
()}
function
cV
(
a
,
b
){
p
.
each
(
b
,
function
(
b
,
c
){
var
d
=
(
cT
[
b
]
||
[]).
concat
(
cT
[
"
*
"
]),
e
=
0
,
f
=
d
.
length
;
for
(;
e
<
f
;
e
++
)
if
(
d
[
e
].
call
(
a
,
b
,
c
))
return
})}
function
cW
(
a
,
b
,
c
){
var
d
,
e
=
0
,
f
=
0
,
g
=
cS
.
length
,
h
=
p
.
Deferred
().
always
(
function
(){
delete
i
.
elem
}),
i
=
function
(){
var
b
=
cN
||
cU
(),
c
=
Math
.
max
(
0
,
j
.
startTime
+
j
.
duration
-
b
),
d
=
1
-
(
c
/
j
.
duration
||
0
),
e
=
0
,
f
=
j
.
tweens
.
length
;
for
(;
e
<
f
;
e
++
)
j
.
tweens
[
e
].
run
(
d
);
return
h
.
notifyWith
(
a
,[
j
,
d
,
c
]),
d
<
1
&&
f
?
c
:(
h
.
resolveWith
(
a
,[
j
]),
!
1
)},
j
=
h
.
promise
({
elem
:
a
,
props
:
p
.
extend
({},
b
),
opts
:
p
.
extend
(
!
0
,{
specialEasing
:{}},
c
),
originalProperties
:
b
,
originalOptions
:
c
,
startTime
:
cN
||
cU
(),
duration
:
c
.
duration
,
tweens
:[],
createTween
:
function
(
b
,
c
,
d
){
var
e
=
p
.
Tween
(
a
,
j
.
opts
,
b
,
c
,
j
.
opts
.
specialEasing
[
b
]
||
j
.
opts
.
easing
);
return
j
.
tweens
.
push
(
e
),
e
},
stop
:
function
(
b
){
var
c
=
0
,
d
=
b
?
j
.
tweens
.
length
:
0
;
for
(;
c
<
d
;
c
++
)
j
.
tweens
[
c
].
run
(
1
);
return
b
?
h
.
resolveWith
(
a
,[
j
,
b
]):
h
.
rejectWith
(
a
,[
j
,
b
]),
this
}}),
k
=
j
.
props
;
cX
(
k
,
j
.
opts
.
specialEasing
);
for
(;
e
<
g
;
e
++
){
d
=
cS
[
e
].
call
(
j
,
a
,
k
,
j
.
opts
);
if
(
d
)
return
d
}
return
cV
(
j
,
k
),
p
.
isFunction
(
j
.
opts
.
start
)
&&
j
.
opts
.
start
.
call
(
a
,
j
),
p
.
fx
.
timer
(
p
.
extend
(
i
,{
anim
:
j
,
queue
:
j
.
opts
.
queue
,
elem
:
a
})),
j
.
progress
(
j
.
opts
.
progress
).
done
(
j
.
opts
.
done
,
j
.
opts
.
complete
).
fail
(
j
.
opts
.
fail
).
always
(
j
.
opts
.
always
)}
function
cX
(
a
,
b
){
var
c
,
d
,
e
,
f
,
g
;
for
(
c
in
a
){
d
=
p
.
camelCase
(
c
),
e
=
b
[
d
],
f
=
a
[
c
],
p
.
isArray
(
f
)
&&
(
e
=
f
[
1
],
f
=
a
[
c
]
=
f
[
0
]),
c
!==
d
&&
(
a
[
d
]
=
f
,
delete
a
[
c
]),
g
=
p
.
cssHooks
[
d
];
if
(
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
cY
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
,
h
,
i
,
j
,
k
,
l
=
this
,
m
=
a
.
style
,
n
=
{},
o
=
[],
q
=
a
.
nodeType
&&
bZ
(
a
);
c
.
queue
||
(
j
=
p
.
_queueHooks
(
a
,
"
fx
"
),
j
.
unqueued
==
null
&&
(
j
.
unqueued
=
0
,
k
=
j
.
empty
.
fire
,
j
.
empty
.
fire
=
function
(){
j
.
unqueued
||
k
()}),
j
.
unqueued
++
,
l
.
always
(
function
(){
l
.
always
(
function
(){
j
.
unqueued
--
,
p
.
queue
(
a
,
"
fx
"
).
length
||
j
.
empty
.
fire
()})})),
a
.
nodeType
===
1
&&
(
"
height
"
in
b
||
"
width
"
in
b
)
&&
(
c
.
overflow
=
[
m
.
overflow
,
m
.
overflowX
,
m
.
overflowY
],
p
.
css
(
a
,
"
display
"
)
===
"
inline
"
&&
p
.
css
(
a
,
"
float
"
)
===
"
none
"
&&
(
!
p
.
support
.
inlineBlockNeedsLayout
||
cc
(
a
.
nodeName
)
===
"
inline
"
?
m
.
display
=
"
inline-block
"
:
m
.
zoom
=
1
)),
c
.
overflow
&&
(
m
.
overflow
=
"
hidden
"
,
p
.
support
.
shrinkWrapBlocks
||
l
.
done
(
function
(){
m
.
overflow
=
c
.
overflow
[
0
],
m
.
overflowX
=
c
.
overflow
[
1
],
m
.
overflowY
=
c
.
overflow
[
2
]}));
for
(
d
in
b
){
f
=
b
[
d
];
if
(
cP
.
exec
(
f
)){
delete
b
[
d
];
if
(
f
===
(
q
?
"
hide
"
:
"
show
"
))
continue
;
o
.
push
(
d
)}}
g
=
o
.
length
;
if
(
g
){
h
=
p
.
_data
(
a
,
"
fxshow
"
)
||
p
.
_data
(
a
,
"
fxshow
"
,{}),
q
?
p
(
a
).
show
():
l
.
done
(
function
(){
p
(
a
).
hide
()}),
l
.
done
(
function
(){
var
b
;
p
.
removeData
(
a
,
"
fxshow
"
,
!
0
);
for
(
b
in
n
)
p
.
style
(
a
,
b
,
n
[
b
])});
for
(
d
=
0
;
d
<
g
;
d
++
)
e
=
o
[
d
],
i
=
l
.
createTween
(
e
,
q
?
h
[
e
]:
0
),
n
[
e
]
=
h
[
e
]
||
p
.
style
(
a
,
e
),
e
in
h
||
(
h
[
e
]
=
i
.
start
,
q
&&
(
i
.
end
=
i
.
start
,
i
.
start
=
e
===
"
width
"
||
e
===
"
height
"
?
1
:
0
))}}
function
cZ
(
a
,
b
,
c
,
d
,
e
){
return
new
cZ
.
prototype
.
init
(
a
,
b
,
c
,
d
,
e
)}
function
c$
(
a
,
b
){
var
c
,
d
=
{
height
:
a
},
e
=
0
;
b
=
b
?
1
:
0
;
for
(;
e
<
4
;
e
+=
2
-
b
)
c
=
bV
[
e
],
d
[
"
margin
"
+
c
]
=
d
[
"
padding
"
+
c
]
=
a
;
return
b
&&
(
d
.
opacity
=
d
.
width
=
a
),
d
}
function
da
(
a
){
return
p
.
isWindow
(
a
)?
a
:
a
.
nodeType
===
9
?
a
.
defaultView
||
a
.
parentWindow
:
!
1
}
var
c
,
d
,
e
=
a
.
document
,
f
=
a
.
location
,
g
=
a
.
navigator
,
h
=
a
.
jQuery
,
i
=
a
.
$
,
j
=
Array
.
prototype
.
push
,
k
=
Array
.
prototype
.
slice
,
l
=
Array
.
prototype
.
indexOf
,
m
=
Object
.
prototype
.
toString
,
n
=
Object
.
prototype
.
hasOwnProperty
,
o
=
String
.
prototype
.
trim
,
p
=
function
(
a
,
b
){
return
new
p
.
fn
.
init
(
a
,
b
,
c
)},
q
=
/
[\-
+
]?(?:\d
*
\.
|
)\d
+
(?:[
eE
][\-
+
]?\d
+|
)
/
.
source
,
r
=
/
\S
/
,
s
=
/
\s
+/
,
t
=
/^
[\s\u
FEFF
\x
A0
]
+|
[\s\u
FEFF
\x
A0
]
+$/g
,
u
=
/^
(?:[^
#<
]
*
(
<
[\w\W]
+>
)[^
>
]
*$|#
([\w\-]
*
)
$
)
/
,
v
=
/^<
(\w
+
)\s
*
\/?
>
(?:
<
\/\1
>|
)
$/
,
w
=
/^
[\]
,:{}
\s]
*$/
,
x
=
/
(?:
^|:|,
)(?:\s
*
\[)
+/g
,
y
=
/
\\(?:[
"
\\\/
bfnrt
]
|u
[\d
a-fA-F
]{4})
/g
,
z
=
/"
[^
"
\\\r\n]
*"|true|false|null|-
?(?:\d\d
*
\.
|
)\d
+
(?:[
eE
][\-
+
]?\d
+|
)
/g
,
A
=
/^-ms-/
,
B
=
/-
([\d
a-z
])
/gi
,
C
=
function
(
a
,
b
){
return
(
b
+
""
).
toUpperCase
()},
D
=
function
(){
e
.
addEventListener
?(
e
.
removeEventListener
(
"
DOMContentLoaded
"
,
D
,
!
1
),
p
.
ready
()):
e
.
readyState
===
"
complete
"
&&
(
e
.
detachEvent
(
"
onreadystatechange
"
,
D
),
p
.
ready
())},
E
=
{};
p
.
fn
=
p
.
prototype
=
{
constructor
:
p
,
init
:
function
(
a
,
c
,
d
){
var
f
,
g
,
h
,
i
;
if
(
!
a
)
return
this
;
if
(
a
.
nodeType
)
return
this
.
context
=
this
[
0
]
=
a
,
this
.
length
=
1
,
this
;
if
(
typeof
a
==
"
string
"
){
a
.
charAt
(
0
)
===
"
<
"
&&
a
.
charAt
(
a
.
length
-
1
)
===
"
>
"
&&
a
.
length
>=
3
?
f
=
[
null
,
a
,
null
]:
f
=
u
.
exec
(
a
);
if
(
f
&&
(
f
[
1
]
||!
c
)){
if
(
f
[
1
])
return
c
=
c
instanceof
p
?
c
[
0
]:
c
,
i
=
c
&&
c
.
nodeType
?
c
.
ownerDocument
||
c
:
e
,
a
=
p
.
parseHTML
(
f
[
1
],
i
,
!
0
),
v
.
test
(
f
[
1
])
&&
p
.
isPlainObject
(
c
)
&&
this
.
attr
.
call
(
a
,
c
,
!
0
),
p
.
merge
(
this
,
a
);
g
=
e
.
getElementById
(
f
[
2
]);
if
(
g
&&
g
.
parentNode
){
if
(
g
.
id
!==
f
[
2
])
return
d
.
find
(
a
);
this
.
length
=
1
,
this
[
0
]
=
g
}
return
this
.
context
=
e
,
this
.
selector
=
a
,
this
}
return
!
c
||
c
.
jquery
?(
c
||
d
).
find
(
a
):
this
.
constructor
(
c
).
find
(
a
)}
return
p
.
isFunction
(
a
)?
d
.
ready
(
a
):(
a
.
selector
!==
b
&&
(
this
.
selector
=
a
.
selector
,
this
.
context
=
a
.
context
),
p
.
makeArray
(
a
,
this
))},
selector
:
""
,
jquery
:
"
1.8.2
"
,
length
:
0
,
size
:
function
(){
return
this
.
length
},
toArray
:
function
(){
return
k
.
call
(
this
)},
get
:
function
(
a
){
return
a
==
null
?
this
.
toArray
():
a
<
0
?
this
[
this
.
length
+
a
]:
this
[
a
]},
pushStack
:
function
(
a
,
b
,
c
){
var
d
=
p
.
merge
(
this
.
constructor
(),
a
);
return
d
.
prevObject
=
this
,
d
.
context
=
this
.
context
,
b
===
"
find
"
?
d
.
selector
=
this
.
selector
+
(
this
.
selector
?
"
"
:
""
)
+
c
:
b
&&
(
d
.
selector
=
this
.
selector
+
"
.
"
+
b
+
"
(
"
+
c
+
"
)
"
),
d
},
each
:
function
(
a
,
b
){
return
p
.
each
(
this
,
a
,
b
)},
ready
:
function
(
a
){
return
p
.
ready
.
promise
().
done
(
a
),
this
},
eq
:
function
(
a
){
return
a
=+
a
,
a
===-
1
?
this
.
slice
(
a
):
this
.
slice
(
a
,
a
+
1
)},
first
:
function
(){
return
this
.
eq
(
0
)},
last
:
function
(){
return
this
.
eq
(
-
1
)},
slice
:
function
(){
return
this
.
pushStack
(
k
.
apply
(
this
,
arguments
),
"
slice
"
,
k
.
call
(
arguments
).
join
(
"
,
"
))},
map
:
function
(
a
){
return
this
.
pushStack
(
p
.
map
(
this
,
function
(
b
,
c
){
return
a
.
call
(
b
,
c
,
b
)}))},
end
:
function
(){
return
this
.
prevObject
||
this
.
constructor
(
null
)},
push
:
j
,
sort
:[].
sort
,
splice
:[].
splice
},
p
.
fn
.
init
.
prototype
=
p
.
fn
,
p
.
extend
=
p
.
fn
.
extend
=
function
(){
var
a
,
c
,
d
,
e
,
f
,
g
,
h
=
arguments
[
0
]
||
{},
i
=
1
,
j
=
arguments
.
length
,
k
=!
1
;
typeof
h
==
"
boolean
"
&&
(
k
=
h
,
h
=
arguments
[
1
]
||
{},
i
=
2
),
typeof
h
!=
"
object
"
&&!
p
.
isFunction
(
h
)
&&
(
h
=
{}),
j
===
i
&&
(
h
=
this
,
--
i
);
for
(;
i
<
j
;
i
++
)
if
((
a
=
arguments
[
i
])
!=
null
)
for
(
c
in
a
){
d
=
h
[
c
],
e
=
a
[
c
];
if
(
h
===
e
)
continue
;
k
&&
e
&&
(
p
.
isPlainObject
(
e
)
||
(
f
=
p
.
isArray
(
e
)))?(
f
?(
f
=!
1
,
g
=
d
&&
p
.
isArray
(
d
)?
d
:[]):
g
=
d
&&
p
.
isPlainObject
(
d
)?
d
:{},
h
[
c
]
=
p
.
extend
(
k
,
g
,
e
)):
e
!==
b
&&
(
h
[
c
]
=
e
)}
return
h
},
p
.
extend
({
noConflict
:
function
(
b
){
return
a
.
$
===
p
&&
(
a
.
$
=
i
),
b
&&
a
.
jQuery
===
p
&&
(
a
.
jQuery
=
h
),
p
},
isReady
:
!
1
,
readyWait
:
1
,
holdReady
:
function
(
a
){
a
?
p
.
readyWait
++
:
p
.
ready
(
!
0
)},
ready
:
function
(
a
){
if
(
a
===!
0
?
--
p
.
readyWait
:
p
.
isReady
)
return
;
if
(
!
e
.
body
)
return
setTimeout
(
p
.
ready
,
1
);
p
.
isReady
=!
0
;
if
(
a
!==!
0
&&--
p
.
readyWait
>
0
)
return
;
d
.
resolveWith
(
e
,[
p
]),
p
.
fn
.
trigger
&&
p
(
e
).
trigger
(
"
ready
"
).
off
(
"
ready
"
)},
isFunction
:
function
(
a
){
return
p
.
type
(
a
)
===
"
function
"
},
isArray
:
Array
.
isArray
||
function
(
a
){
return
p
.
type
(
a
)
===
"
array
"
},
isWindow
:
function
(
a
){
return
a
!=
null
&&
a
==
a
.
window
},
isNumeric
:
function
(
a
){
return
!
isNaN
(
parseFloat
(
a
))
&&
isFinite
(
a
)},
type
:
function
(
a
){
return
a
==
null
?
String
(
a
):
E
[
m
.
call
(
a
)]
||
"
object
"
},
isPlainObject
:
function
(
a
){
if
(
!
a
||
p
.
type
(
a
)
!==
"
object
"
||
a
.
nodeType
||
p
.
isWindow
(
a
))
return
!
1
;
try
{
if
(
a
.
constructor
&&!
n
.
call
(
a
,
"
constructor
"
)
&&!
n
.
call
(
a
.
constructor
.
prototype
,
"
isPrototypeOf
"
))
return
!
1
}
catch
(
c
){
return
!
1
}
var
d
;
for
(
d
in
a
);
return
d
===
b
||
n
.
call
(
a
,
d
)},
isEmptyObject
:
function
(
a
){
var
b
;
for
(
b
in
a
)
return
!
1
;
return
!
0
},
error
:
function
(
a
){
throw
new
Error
(
a
)},
parseHTML
:
function
(
a
,
b
,
c
){
var
d
;
return
!
a
||
typeof
a
!=
"
string
"
?
null
:(
typeof
b
==
"
boolean
"
&&
(
c
=
b
,
b
=
0
),
b
=
b
||
e
,(
d
=
v
.
exec
(
a
))?[
b
.
createElement
(
d
[
1
])]:(
d
=
p
.
buildFragment
([
a
],
b
,
c
?
null
:[]),
p
.
merge
([],(
d
.
cacheable
?
p
.
clone
(
d
.
fragment
):
d
.
fragment
).
childNodes
)))},
parseJSON
:
function
(
b
){
if
(
!
b
||
typeof
b
!=
"
string
"
)
return
null
;
b
=
p
.
trim
(
b
);
if
(
a
.
JSON
&&
a
.
JSON
.
parse
)
return
a
.
JSON
.
parse
(
b
);
if
(
w
.
test
(
b
.
replace
(
y
,
"
@
"
).
replace
(
z
,
"
]
"
).
replace
(
x
,
""
)))
return
(
new
Function
(
"
return
"
+
b
))();
p
.
error
(
"
Invalid JSON:
"
+
b
)},
parseXML
:
function
(
c
){
var
d
,
e
;
if
(
!
c
||
typeof
c
!=
"
string
"
)
return
null
;
try
{
a
.
DOMParser
?(
e
=
new
DOMParser
,
d
=
e
.
parseFromString
(
c
,
"
text/xml
"
)):(
d
=
new
ActiveXObject
(
"
Microsoft.XMLDOM
"
),
d
.
async
=
"
false
"
,
d
.
loadXML
(
c
))}
catch
(
f
){
d
=
b
}
return
(
!
d
||!
d
.
documentElement
||
d
.
getElementsByTagName
(
"
parsererror
"
).
length
)
&&
p
.
error
(
"
Invalid XML:
"
+
c
),
d
},
noop
:
function
(){},
globalEval
:
function
(
b
){
b
&&
r
.
test
(
b
)
&&
(
a
.
execScript
||
function
(
b
){
a
.
eval
.
call
(
a
,
b
)})(
b
)},
camelCase
:
function
(
a
){
return
a
.
replace
(
A
,
"
ms-
"
).
replace
(
B
,
C
)},
nodeName
:
function
(
a
,
b
){
return
a
.
nodeName
&&
a
.
nodeName
.
toLowerCase
()
===
b
.
toLowerCase
()},
each
:
function
(
a
,
c
,
d
){
var
e
,
f
=
0
,
g
=
a
.
length
,
h
=
g
===
b
||
p
.
isFunction
(
a
);
if
(
d
){
if
(
h
){
for
(
e
in
a
)
if
(
c
.
apply
(
a
[
e
],
d
)
===!
1
)
break
}
else
for
(;
f
<
g
;)
if
(
c
.
apply
(
a
[
f
++
],
d
)
===!
1
)
break
}
else
if
(
h
){
for
(
e
in
a
)
if
(
c
.
call
(
a
[
e
],
e
,
a
[
e
])
===!
1
)
break
}
else
for
(;
f
<
g
;)
if
(
c
.
call
(
a
[
f
],
f
,
a
[
f
++
])
===!
1
)
break
;
return
a
},
trim
:
o
&&!
o
.
call
(
"
"
)?
function
(
a
){
return
a
==
null
?
""
:
o
.
call
(
a
)}:
function
(
a
){
return
a
==
null
?
""
:(
a
+
""
).
replace
(
t
,
""
)},
makeArray
:
function
(
a
,
b
){
var
c
,
d
=
b
||
[];
return
a
!=
null
&&
(
c
=
p
.
type
(
a
),
a
.
length
==
null
||
c
===
"
string
"
||
c
===
"
function
"
||
c
===
"
regexp
"
||
p
.
isWindow
(
a
)?
j
.
call
(
d
,
a
):
p
.
merge
(
d
,
a
)),
d
},
inArray
:
function
(
a
,
b
,
c
){
var
d
;
if
(
b
){
if
(
l
)
return
l
.
call
(
b
,
a
,
c
);
d
=
b
.
length
,
c
=
c
?
c
<
0
?
Math
.
max
(
0
,
d
+
c
):
c
:
0
;
for
(;
c
<
d
;
c
++
)
if
(
c
in
b
&&
b
[
c
]
===
a
)
return
c
}
return
-
1
},
merge
:
function
(
a
,
c
){
var
d
=
c
.
length
,
e
=
a
.
length
,
f
=
0
;
if
(
typeof
d
==
"
number
"
)
for
(;
f
<
d
;
f
++
)
a
[
e
++
]
=
c
[
f
];
else
while
(
c
[
f
]
!==
b
)
a
[
e
++
]
=
c
[
f
++
];
return
a
.
length
=
e
,
a
},
grep
:
function
(
a
,
b
,
c
){
var
d
,
e
=
[],
f
=
0
,
g
=
a
.
length
;
c
=!!
c
;
for
(;
f
<
g
;
f
++
)
d
=!!
b
(
a
[
f
],
f
),
c
!==
d
&&
e
.
push
(
a
[
f
]);
return
e
},
map
:
function
(
a
,
c
,
d
){
var
e
,
f
,
g
=
[],
h
=
0
,
i
=
a
.
length
,
j
=
a
instanceof
p
||
i
!==
b
&&
typeof
i
==
"
number
"
&&
(
i
>
0
&&
a
[
0
]
&&
a
[
i
-
1
]
||
i
===
0
||
p
.
isArray
(
a
));
if
(
j
)
for
(;
h
<
i
;
h
++
)
e
=
c
(
a
[
h
],
h
,
d
),
e
!=
null
&&
(
g
[
g
.
length
]
=
e
);
else
for
(
f
in
a
)
e
=
c
(
a
[
f
],
f
,
d
),
e
!=
null
&&
(
g
[
g
.
length
]
=
e
);
return
g
.
concat
.
apply
([],
g
)},
guid
:
1
,
proxy
:
function
(
a
,
c
){
var
d
,
e
,
f
;
return
typeof
c
==
"
string
"
&&
(
d
=
a
[
c
],
c
=
a
,
a
=
d
),
p
.
isFunction
(
a
)?(
e
=
k
.
call
(
arguments
,
2
),
f
=
function
(){
return
a
.
apply
(
c
,
e
.
concat
(
k
.
call
(
arguments
)))},
f
.
guid
=
a
.
guid
=
a
.
guid
||
p
.
guid
++
,
f
):
b
},
access
:
function
(
a
,
c
,
d
,
e
,
f
,
g
,
h
){
var
i
,
j
=
d
==
null
,
k
=
0
,
l
=
a
.
length
;
if
(
d
&&
typeof
d
==
"
object
"
){
for
(
k
in
d
)
p
.
access
(
a
,
c
,
k
,
d
[
k
],
1
,
g
,
e
);
f
=
1
}
else
if
(
e
!==
b
){
i
=
h
===
b
&&
p
.
isFunction
(
e
),
j
&&
(
i
?(
i
=
c
,
c
=
function
(
a
,
b
,
c
){
return
i
.
call
(
p
(
a
),
c
)}):(
c
.
call
(
a
,
e
),
c
=
null
));
if
(
c
)
for
(;
k
<
l
;
k
++
)
c
(
a
[
k
],
d
,
i
?
e
.
call
(
a
[
k
],
k
,
c
(
a
[
k
],
d
)):
e
,
h
);
f
=
1
}
return
f
?
a
:
j
?
c
.
call
(
a
):
l
?
c
(
a
[
0
],
d
):
g
},
now
:
function
(){
return
(
new
Date
).
getTime
()}}),
p
.
ready
.
promise
=
function
(
b
){
if
(
!
d
){
d
=
p
.
Deferred
();
if
(
e
.
readyState
===
"
complete
"
)
setTimeout
(
p
.
ready
,
1
);
else
if
(
e
.
addEventListener
)
e
.
addEventListener
(
"
DOMContentLoaded
"
,
D
,
!
1
),
a
.
addEventListener
(
"
load
"
,
p
.
ready
,
!
1
);
else
{
e
.
attachEvent
(
"
onreadystatechange
"
,
D
),
a
.
attachEvent
(
"
onload
"
,
p
.
ready
);
var
c
=!
1
;
try
{
c
=
a
.
frameElement
==
null
&&
e
.
documentElement
}
catch
(
f
){}
c
&&
c
.
doScroll
&&
function
g
(){
if
(
!
p
.
isReady
){
try
{
c
.
doScroll
(
"
left
"
)}
catch
(
a
){
return
setTimeout
(
g
,
50
)}
p
.
ready
()}}()}}
return
d
.
promise
(
b
)},
p
.
each
(
"
Boolean Number String Function Array Date RegExp Object
"
.
split
(
"
"
),
function
(
a
,
b
){
E
[
"
[object
"
+
b
+
"
]
"
]
=
b
.
toLowerCase
()}),
c
=
p
(
e
);
var
F
=
{};
p
.
Callbacks
=
function
(
a
){
a
=
typeof
a
==
"
string
"
?
F
[
a
]
||
G
(
a
):
p
.
extend
({},
a
);
var
c
,
d
,
e
,
f
,
g
,
h
,
i
=
[],
j
=!
a
.
once
&&
[],
k
=
function
(
b
){
c
=
a
.
memory
&&
b
,
d
=!
0
,
h
=
f
||
0
,
f
=
0
,
g
=
i
.
length
,
e
=!
0
;
for
(;
i
&&
h
<
g
;
h
++
)
if
(
i
[
h
].
apply
(
b
[
0
],
b
[
1
])
===!
1
&&
a
.
stopOnFalse
){
c
=!
1
;
break
}
e
=!
1
,
i
&&
(
j
?
j
.
length
&&
k
(
j
.
shift
()):
c
?
i
=
[]:
l
.
disable
())},
l
=
{
add
:
function
(){
if
(
i
){
var
b
=
i
.
length
;(
function
d
(
b
){
p
.
each
(
b
,
function
(
b
,
c
){
var
e
=
p
.
type
(
c
);
e
===
"
function
"
&&
(
!
a
.
unique
||!
l
.
has
(
c
))?
i
.
push
(
c
):
c
&&
c
.
length
&&
e
!==
"
string
"
&&
d
(
c
)})})(
arguments
),
e
?
g
=
i
.
length
:
c
&&
(
f
=
b
,
k
(
c
))}
return
this
},
remove
:
function
(){
return
i
&&
p
.
each
(
arguments
,
function
(
a
,
b
){
var
c
;
while
((
c
=
p
.
inArray
(
b
,
i
,
c
))
>-
1
)
i
.
splice
(
c
,
1
),
e
&&
(
c
<=
g
&&
g
--
,
c
<=
h
&&
h
--
)}),
this
},
has
:
function
(
a
){
return
p
.
inArray
(
a
,
i
)
>-
1
},
empty
:
function
(){
return
i
=
[],
this
},
disable
:
function
(){
return
i
=
j
=
c
=
b
,
this
},
disabled
:
function
(){
return
!
i
},
lock
:
function
(){
return
j
=
b
,
c
||
l
.
disable
(),
this
},
locked
:
function
(){
return
!
j
},
fireWith
:
function
(
a
,
b
){
return
b
=
b
||
[],
b
=
[
a
,
b
.
slice
?
b
.
slice
():
b
],
i
&&
(
!
d
||
j
)
&&
(
e
?
j
.
push
(
b
):
k
(
b
)),
this
},
fire
:
function
(){
return
l
.
fireWith
(
this
,
arguments
),
this
},
fired
:
function
(){
return
!!
d
}};
return
l
},
p
.
extend
({
Deferred
:
function
(
a
){
var
b
=
[[
"
resolve
"
,
"
done
"
,
p
.
Callbacks
(
"
once memory
"
),
"
resolved
"
],[
"
reject
"
,
"
fail
"
,
p
.
Callbacks
(
"
once memory
"
),
"
rejected
"
],[
"
notify
"
,
"
progress
"
,
p
.
Callbacks
(
"
memory
"
)]],
c
=
"
pending
"
,
d
=
{
state
:
function
(){
return
c
},
always
:
function
(){
return
e
.
done
(
arguments
).
fail
(
arguments
),
this
},
then
:
function
(){
var
a
=
arguments
;
return
p
.
Deferred
(
function
(
c
){
p
.
each
(
b
,
function
(
b
,
d
){
var
f
=
d
[
0
],
g
=
a
[
b
];
e
[
d
[
1
]](
p
.
isFunction
(
g
)?
function
(){
var
a
=
g
.
apply
(
this
,
arguments
);
a
&&
p
.
isFunction
(
a
.
promise
)?
a
.
promise
().
done
(
c
.
resolve
).
fail
(
c
.
reject
).
progress
(
c
.
notify
):
c
[
f
+
"
With
"
](
this
===
e
?
c
:
this
,[
a
])}:
c
[
f
])}),
a
=
null
}).
promise
()},
promise
:
function
(
a
){
return
a
!=
null
?
p
.
extend
(
a
,
d
):
d
}},
e
=
{};
return
d
.
pipe
=
d
.
then
,
p
.
each
(
b
,
function
(
a
,
f
){
var
g
=
f
[
2
],
h
=
f
[
3
];
d
[
f
[
1
]]
=
g
.
add
,
h
&&
g
.
add
(
function
(){
c
=
h
},
b
[
a
^
1
][
2
].
disable
,
b
[
2
][
2
].
lock
),
e
[
f
[
0
]]
=
g
.
fire
,
e
[
f
[
0
]
+
"
With
"
]
=
g
.
fireWith
}),
d
.
promise
(
e
),
a
&&
a
.
call
(
e
,
e
),
e
},
when
:
function
(
a
){
var
b
=
0
,
c
=
k
.
call
(
arguments
),
d
=
c
.
length
,
e
=
d
!==
1
||
a
&&
p
.
isFunction
(
a
.
promise
)?
d
:
0
,
f
=
e
===
1
?
a
:
p
.
Deferred
(),
g
=
function
(
a
,
b
,
c
){
return
function
(
d
){
b
[
a
]
=
this
,
c
[
a
]
=
arguments
.
length
>
1
?
k
.
call
(
arguments
):
d
,
c
===
h
?
f
.
notifyWith
(
b
,
c
):
--
e
||
f
.
resolveWith
(
b
,
c
)}},
h
,
i
,
j
;
if
(
d
>
1
){
h
=
new
Array
(
d
),
i
=
new
Array
(
d
),
j
=
new
Array
(
d
);
for
(;
b
<
d
;
b
++
)
c
[
b
]
&&
p
.
isFunction
(
c
[
b
].
promise
)?
c
[
b
].
promise
().
done
(
g
(
b
,
j
,
c
)).
fail
(
f
.
reject
).
progress
(
g
(
b
,
i
,
h
)):
--
e
}
return
e
||
f
.
resolveWith
(
j
,
c
),
f
.
promise
()}}),
p
.
support
=
function
(){
var
b
,
c
,
d
,
f
,
g
,
h
,
i
,
j
,
k
,
l
,
m
,
n
=
e
.
createElement
(
"
div
"
);
n
.
setAttribute
(
"
className
"
,
"
t
"
),
n
.
innerHTML
=
"
<link/><table></table><a href='/a'>a</a><input type='checkbox'/>
"
,
c
=
n
.
getElementsByTagName
(
"
*
"
),
d
=
n
.
getElementsByTagName
(
"
a
"
)[
0
],
d
.
style
.
cssText
=
"
top:1px;float:left;opacity:.5
"
;
if
(
!
c
||!
c
.
length
)
return
{};
f
=
e
.
createElement
(
"
select
"
),
g
=
f
.
appendChild
(
e
.
createElement
(
"
option
"
)),
h
=
n
.
getElementsByTagName
(
"
input
"
)[
0
],
b
=
{
leadingWhitespace
:
n
.
firstChild
.
nodeType
===
3
,
tbody
:
!
n
.
getElementsByTagName
(
"
tbody
"
).
length
,
htmlSerialize
:
!!
n
.
getElementsByTagName
(
"
link
"
).
length
,
style
:
/top/
.
test
(
d
.
getAttribute
(
"
style
"
)),
hrefNormalized
:
d
.
getAttribute
(
"
href
"
)
===
"
/a
"
,
opacity
:
/^0.5/
.
test
(
d
.
style
.
opacity
),
cssFloat
:
!!
d
.
style
.
cssFloat
,
checkOn
:
h
.
value
===
"
on
"
,
optSelected
:
g
.
selected
,
getSetAttribute
:
n
.
className
!==
"
t
"
,
enctype
:
!!
e
.
createElement
(
"
form
"
).
enctype
,
html5Clone
:
e
.
createElement
(
"
nav
"
).
cloneNode
(
!
0
).
outerHTML
!==
"
<:nav></:nav>
"
,
boxModel
:
e
.
compatMode
===
"
CSS1Compat
"
,
submitBubbles
:
!
0
,
changeBubbles
:
!
0
,
focusinBubbles
:
!
1
,
deleteExpando
:
!
0
,
noCloneEvent
:
!
0
,
inlineBlockNeedsLayout
:
!
1
,
shrinkWrapBlocks
:
!
1
,
reliableMarginRight
:
!
0
,
boxSizingReliable
:
!
0
,
pixelPosition
:
!
1
},
h
.
checked
=!
0
,
b
.
noCloneChecked
=
h
.
cloneNode
(
!
0
).
checked
,
f
.
disabled
=!
0
,
b
.
optDisabled
=!
g
.
disabled
;
try
{
delete
n
.
test
}
catch
(
o
){
b
.
deleteExpando
=!
1
}
!
n
.
addEventListener
&&
n
.
attachEvent
&&
n
.
fireEvent
&&
(
n
.
attachEvent
(
"
onclick
"
,
m
=
function
(){
b
.
noCloneEvent
=!
1
}),
n
.
cloneNode
(
!
0
).
fireEvent
(
"
onclick
"
),
n
.
detachEvent
(
"
onclick
"
,
m
)),
h
=
e
.
createElement
(
"
input
"
),
h
.
value
=
"
t
"
,
h
.
setAttribute
(
"
type
"
,
"
radio
"
),
b
.
radioValue
=
h
.
value
===
"
t
"
,
h
.
setAttribute
(
"
checked
"
,
"
checked
"
),
h
.
setAttribute
(
"
name
"
,
"
t
"
),
n
.
appendChild
(
h
),
i
=
e
.
createDocumentFragment
(),
i
.
appendChild
(
n
.
lastChild
),
b
.
checkClone
=
i
.
cloneNode
(
!
0
).
cloneNode
(
!
0
).
lastChild
.
checked
,
b
.
appendChecked
=
h
.
checked
,
i
.
removeChild
(
h
),
i
.
appendChild
(
n
);
if
(
n
.
attachEvent
)
for
(
k
in
{
submit
:
!
0
,
change
:
!
0
,
focusin
:
!
0
})
j
=
"
on
"
+
k
,
l
=
j
in
n
,
l
||
(
n
.
setAttribute
(
j
,
"
return;
"
),
l
=
typeof
n
[
j
]
==
"
function
"
),
b
[
k
+
"
Bubbles
"
]
=
l
;
return
p
(
function
(){
var
c
,
d
,
f
,
g
,
h
=
"
padding:0;margin:0;border:0;display:block;overflow:hidden;
"
,
i
=
e
.
getElementsByTagName
(
"
body
"
)[
0
];
if
(
!
i
)
return
;
c
=
e
.
createElement
(
"
div
"
),
c
.
style
.
cssText
=
"
visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px
"
,
i
.
insertBefore
(
c
,
i
.
firstChild
),
d
=
e
.
createElement
(
"
div
"
),
c
.
appendChild
(
d
),
d
.
innerHTML
=
"
<table><tr><td></td><td>t</td></tr></table>
"
,
f
=
d
.
getElementsByTagName
(
"
td
"
),
f
[
0
].
style
.
cssText
=
"
padding:0;margin:0;border:0;display:none
"
,
l
=
f
[
0
].
offsetHeight
===
0
,
f
[
0
].
style
.
display
=
""
,
f
[
1
].
style
.
display
=
"
none
"
,
b
.
reliableHiddenOffsets
=
l
&&
f
[
0
].
offsetHeight
===
0
,
d
.
innerHTML
=
""
,
d
.
style
.
cssText
=
"
box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;
"
,
b
.
boxSizing
=
d
.
offsetWidth
===
4
,
b
.
doesNotIncludeMarginInBodyOffset
=
i
.
offsetTop
!==
1
,
a
.
getComputedStyle
&&
(
b
.
pixelPosition
=
(
a
.
getComputedStyle
(
d
,
null
)
||
{}).
top
!==
"
1%
"
,
b
.
boxSizingReliable
=
(
a
.
getComputedStyle
(
d
,
null
)
||
{
width
:
"
4px
"
}).
width
===
"
4px
"
,
g
=
e
.
createElement
(
"
div
"
),
g
.
style
.
cssText
=
d
.
style
.
cssText
=
h
,
g
.
style
.
marginRight
=
g
.
style
.
width
=
"
0
"
,
d
.
style
.
width
=
"
1px
"
,
d
.
appendChild
(
g
),
b
.
reliableMarginRight
=!
parseFloat
((
a
.
getComputedStyle
(
g
,
null
)
||
{}).
marginRight
)),
typeof
d
.
style
.
zoom
!=
"
undefined
"
&&
(
d
.
innerHTML
=
""
,
d
.
style
.
cssText
=
h
+
"
width:1px;padding:1px;display:inline;zoom:1
"
,
b
.
inlineBlockNeedsLayout
=
d
.
offsetWidth
===
3
,
d
.
style
.
display
=
"
block
"
,
d
.
style
.
overflow
=
"
visible
"
,
d
.
innerHTML
=
"
<div></div>
"
,
d
.
firstChild
.
style
.
width
=
"
5px
"
,
b
.
shrinkWrapBlocks
=
d
.
offsetWidth
!==
3
,
c
.
style
.
zoom
=
1
),
i
.
removeChild
(
c
),
c
=
d
=
f
=
g
=
null
}),
i
.
removeChild
(
n
),
c
=
d
=
f
=
g
=
h
=
i
=
n
=
null
,
b
}();
var
H
=
/
(?:\{[\s\S]
*
\}
|
\[[\s\S]
*
\])
$/
,
I
=
/
([
A-Z
])
/g
;
p
.
extend
({
cache
:{},
deletedIds
:[],
uuid
:
0
,
expando
:
"
jQuery
"
+
(
p
.
fn
.
jquery
+
Math
.
random
()).
replace
(
/
\D
/g
,
""
),
noData
:{
embed
:
!
0
,
object
:
"
clsid:D27CDB6E-AE6D-11cf-96B8-444553540000
"
,
applet
:
!
0
},
hasData
:
function
(
a
){
return
a
=
a
.
nodeType
?
p
.
cache
[
a
[
p
.
expando
]]:
a
[
p
.
expando
],
!!
a
&&!
K
(
a
)},
data
:
function
(
a
,
c
,
d
,
e
){
if
(
!
p
.
acceptData
(
a
))
return
;
var
f
,
g
,
h
=
p
.
expando
,
i
=
typeof
c
==
"
string
"
,
j
=
a
.
nodeType
,
k
=
j
?
p
.
cache
:
a
,
l
=
j
?
a
[
h
]:
a
[
h
]
&&
h
;
if
((
!
l
||!
k
[
l
]
||!
e
&&!
k
[
l
].
data
)
&&
i
&&
d
===
b
)
return
;
l
||
(
j
?
a
[
h
]
=
l
=
p
.
deletedIds
.
pop
()
||
p
.
guid
++
:
l
=
h
),
k
[
l
]
||
(
k
[
l
]
=
{},
j
||
(
k
[
l
].
toJSON
=
p
.
noop
));
if
(
typeof
c
==
"
object
"
||
typeof
c
==
"
function
"
)
e
?
k
[
l
]
=
p
.
extend
(
k
[
l
],
c
):
k
[
l
].
data
=
p
.
extend
(
k
[
l
].
data
,
c
);
return
f
=
k
[
l
],
e
||
(
f
.
data
||
(
f
.
data
=
{}),
f
=
f
.
data
),
d
!==
b
&&
(
f
[
p
.
camelCase
(
c
)]
=
d
),
i
?(
g
=
f
[
c
],
g
==
null
&&
(
g
=
f
[
p
.
camelCase
(
c
)])):
g
=
f
,
g
},
removeData
:
function
(
a
,
b
,
c
){
if
(
!
p
.
acceptData
(
a
))
return
;
var
d
,
e
,
f
,
g
=
a
.
nodeType
,
h
=
g
?
p
.
cache
:
a
,
i
=
g
?
a
[
p
.
expando
]:
p
.
expando
;
if
(
!
h
[
i
])
return
;
if
(
b
){
d
=
c
?
h
[
i
]:
h
[
i
].
data
;
if
(
d
){
p
.
isArray
(
b
)
||
(
b
in
d
?
b
=
[
b
]:(
b
=
p
.
camelCase
(
b
),
b
in
d
?
b
=
[
b
]:
b
=
b
.
split
(
"
"
)));
for
(
e
=
0
,
f
=
b
.
length
;
e
<
f
;
e
++
)
delete
d
[
b
[
e
]];
if
(
!
(
c
?
K
:
p
.
isEmptyObject
)(
d
))
return
}}
if
(
!
c
){
delete
h
[
i
].
data
;
if
(
!
K
(
h
[
i
]))
return
}
g
?
p
.
cleanData
([
a
],
!
0
):
p
.
support
.
deleteExpando
||
h
!=
h
.
window
?
delete
h
[
i
]:
h
[
i
]
=
null
},
_data
:
function
(
a
,
b
,
c
){
return
p
.
data
(
a
,
b
,
c
,
!
0
)},
acceptData
:
function
(
a
){
var
b
=
a
.
nodeName
&&
p
.
noData
[
a
.
nodeName
.
toLowerCase
()];
return
!
b
||
b
!==!
0
&&
a
.
getAttribute
(
"
classid
"
)
===
b
}}),
p
.
fn
.
extend
({
data
:
function
(
a
,
c
){
var
d
,
e
,
f
,
g
,
h
,
i
=
this
[
0
],
j
=
0
,
k
=
null
;
if
(
a
===
b
){
if
(
this
.
length
){
k
=
p
.
data
(
i
);
if
(
i
.
nodeType
===
1
&&!
p
.
_data
(
i
,
"
parsedAttrs
"
)){
f
=
i
.
attributes
;
for
(
h
=
f
.
length
;
j
<
h
;
j
++
)
g
=
f
[
j
].
name
,
g
.
indexOf
(
"
data-
"
)
||
(
g
=
p
.
camelCase
(
g
.
substring
(
5
)),
J
(
i
,
g
,
k
[
g
]));
p
.
_data
(
i
,
"
parsedAttrs
"
,
!
0
)}}
return
k
}
return
typeof
a
==
"
object
"
?
this
.
each
(
function
(){
p
.
data
(
this
,
a
)}):(
d
=
a
.
split
(
"
.
"
,
2
),
d
[
1
]
=
d
[
1
]?
"
.
"
+
d
[
1
]:
""
,
e
=
d
[
1
]
+
"
!
"
,
p
.
access
(
this
,
function
(
c
){
if
(
c
===
b
)
return
k
=
this
.
triggerHandler
(
"
getData
"
+
e
,[
d
[
0
]]),
k
===
b
&&
i
&&
(
k
=
p
.
data
(
i
,
a
),
k
=
J
(
i
,
a
,
k
)),
k
===
b
&&
d
[
1
]?
this
.
data
(
d
[
0
]):
k
;
d
[
1
]
=
c
,
this
.
each
(
function
(){
var
b
=
p
(
this
);
b
.
triggerHandler
(
"
setData
"
+
e
,
d
),
p
.
data
(
this
,
a
,
c
),
b
.
triggerHandler
(
"
changeData
"
+
e
,
d
)})},
null
,
c
,
arguments
.
length
>
1
,
null
,
!
1
))},
removeData
:
function
(
a
){
return
this
.
each
(
function
(){
p
.
removeData
(
this
,
a
)})}}),
p
.
extend
({
queue
:
function
(
a
,
b
,
c
){
var
d
;
if
(
a
)
return
b
=
(
b
||
"
fx
"
)
+
"
queue
"
,
d
=
p
.
_data
(
a
,
b
),
c
&&
(
!
d
||
p
.
isArray
(
c
)?
d
=
p
.
_data
(
a
,
b
,
p
.
makeArray
(
c
)):
d
.
push
(
c
)),
d
||
[]},
dequeue
:
function
(
a
,
b
){
b
=
b
||
"
fx
"
;
var
c
=
p
.
queue
(
a
,
b
),
d
=
c
.
length
,
e
=
c
.
shift
(),
f
=
p
.
_queueHooks
(
a
,
b
),
g
=
function
(){
p
.
dequeue
(
a
,
b
)};
e
===
"
inprogress
"
&&
(
e
=
c
.
shift
(),
d
--
),
e
&&
(
b
===
"
fx
"
&&
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
p
.
_data
(
a
,
c
)
||
p
.
_data
(
a
,
c
,{
empty
:
p
.
Callbacks
(
"
once memory
"
).
add
(
function
(){
p
.
removeData
(
a
,
b
+
"
queue
"
,
!
0
),
p
.
removeData
(
a
,
c
,
!
0
)})})}}),
p
.
fn
.
extend
({
queue
:
function
(
a
,
c
){
var
d
=
2
;
return
typeof
a
!=
"
string
"
&&
(
c
=
a
,
a
=
"
fx
"
,
d
--
),
arguments
.
length
<
d
?
p
.
queue
(
this
[
0
],
a
):
c
===
b
?
this
:
this
.
each
(
function
(){
var
b
=
p
.
queue
(
this
,
a
,
c
);
p
.
_queueHooks
(
this
,
a
),
a
===
"
fx
"
&&
b
[
0
]
!==
"
inprogress
"
&&
p
.
dequeue
(
this
,
a
)})},
dequeue
:
function
(
a
){
return
this
.
each
(
function
(){
p
.
dequeue
(
this
,
a
)})},
delay
:
function
(
a
,
b
){
return
a
=
p
.
fx
?
p
.
fx
.
speeds
[
a
]
||
a
:
a
,
b
=
b
||
"
fx
"
,
this
.
queue
(
b
,
function
(
b
,
c
){
var
d
=
setTimeout
(
b
,
a
);
c
.
stop
=
function
(){
clearTimeout
(
d
)}})},
clearQueue
:
function
(
a
){
return
this
.
queue
(
a
||
"
fx
"
,[])},
promise
:
function
(
a
,
c
){
var
d
,
e
=
1
,
f
=
p
.
Deferred
(),
g
=
this
,
h
=
this
.
length
,
i
=
function
(){
--
e
||
f
.
resolveWith
(
g
,[
g
])};
typeof
a
!=
"
string
"
&&
(
c
=
a
,
a
=
b
),
a
=
a
||
"
fx
"
;
while
(
h
--
)
d
=
p
.
_data
(
g
[
h
],
a
+
"
queueHooks
"
),
d
&&
d
.
empty
&&
(
e
++
,
d
.
empty
.
add
(
i
));
return
i
(),
f
.
promise
(
c
)}});
var
L
,
M
,
N
,
O
=
/
[\t\r\n]
/g
,
P
=
/
\r
/g
,
Q
=
/^
(?:
button|input
)
$/i
,
R
=
/^
(?:
button|input|object|select|textarea
)
$/i
,
S
=
/^a
(?:
rea|
)
$/i
,
T
=
/^
(?:
autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected
)
$/i
,
U
=
p
.
support
.
getSetAttribute
;
p
.
fn
.
extend
({
attr
:
function
(
a
,
b
){
return
p
.
access
(
this
,
p
.
attr
,
a
,
b
,
arguments
.
length
>
1
)},
removeAttr
:
function
(
a
){
return
this
.
each
(
function
(){
p
.
removeAttr
(
this
,
a
)})},
prop
:
function
(
a
,
b
){
return
p
.
access
(
this
,
p
.
prop
,
a
,
b
,
arguments
.
length
>
1
)},
removeProp
:
function
(
a
){
return
a
=
p
.
propFix
[
a
]
||
a
,
this
.
each
(
function
(){
try
{
this
[
a
]
=
b
,
delete
this
[
a
]}
catch
(
c
){}})},
addClass
:
function
(
a
){
var
b
,
c
,
d
,
e
,
f
,
g
,
h
;
if
(
p
.
isFunction
(
a
))
return
this
.
each
(
function
(
b
){
p
(
this
).
addClass
(
a
.
call
(
this
,
b
,
this
.
className
))});
if
(
a
&&
typeof
a
==
"
string
"
){
b
=
a
.
split
(
s
);
for
(
c
=
0
,
d
=
this
.
length
;
c
<
d
;
c
++
){
e
=
this
[
c
];
if
(
e
.
nodeType
===
1
)
if
(
!
e
.
className
&&
b
.
length
===
1
)
e
.
className
=
a
;
else
{
f
=
"
"
+
e
.
className
+
"
"
;
for
(
g
=
0
,
h
=
b
.
length
;
g
<
h
;
g
++
)
f
.
indexOf
(
"
"
+
b
[
g
]
+
"
"
)
<
0
&&
(
f
+=
b
[
g
]
+
"
"
);
e
.
className
=
p
.
trim
(
f
)}}}
return
this
},
removeClass
:
function
(
a
){
var
c
,
d
,
e
,
f
,
g
,
h
,
i
;
if
(
p
.
isFunction
(
a
))
return
this
.
each
(
function
(
b
){
p
(
this
).
removeClass
(
a
.
call
(
this
,
b
,
this
.
className
))});
if
(
a
&&
typeof
a
==
"
string
"
||
a
===
b
){
c
=
(
a
||
""
).
split
(
s
);
for
(
h
=
0
,
i
=
this
.
length
;
h
<
i
;
h
++
){
e
=
this
[
h
];
if
(
e
.
nodeType
===
1
&&
e
.
className
){
d
=
(
"
"
+
e
.
className
+
"
"
).
replace
(
O
,
"
"
);
for
(
f
=
0
,
g
=
c
.
length
;
f
<
g
;
f
++
)
while
(
d
.
indexOf
(
"
"
+
c
[
f
]
+
"
"
)
>=
0
)
d
=
d
.
replace
(
"
"
+
c
[
f
]
+
"
"
,
"
"
);
e
.
className
=
a
?
p
.
trim
(
d
):
""
}}}
return
this
},
toggleClass
:
function
(
a
,
b
){
var
c
=
typeof
a
,
d
=
typeof
b
==
"
boolean
"
;
return
p
.
isFunction
(
a
)?
this
.
each
(
function
(
c
){
p
(
this
).
toggleClass
(
a
.
call
(
this
,
c
,
this
.
className
,
b
),
b
)}):
this
.
each
(
function
(){
if
(
c
===
"
string
"
){
var
e
,
f
=
0
,
g
=
p
(
this
),
h
=
b
,
i
=
a
.
split
(
s
);
while
(
e
=
i
[
f
++
])
h
=
d
?
h
:
!
g
.
hasClass
(
e
),
g
[
h
?
"
addClass
"
:
"
removeClass
"
](
e
)}
else
if
(
c
===
"
undefined
"
||
c
===
"
boolean
"
)
this
.
className
&&
p
.
_data
(
this
,
"
__className__
"
,
this
.
className
),
this
.
className
=
this
.
className
||
a
===!
1
?
""
:
p
.
_data
(
this
,
"
__className__
"
)
||
""
})},
hasClass
:
function
(
a
){
var
b
=
"
"
+
a
+
"
"
,
c
=
0
,
d
=
this
.
length
;
for
(;
c
<
d
;
c
++
)
if
(
this
[
c
].
nodeType
===
1
&&
(
"
"
+
this
[
c
].
className
+
"
"
).
replace
(
O
,
"
"
).
indexOf
(
b
)
>=
0
)
return
!
0
;
return
!
1
},
val
:
function
(
a
){
var
c
,
d
,
e
,
f
=
this
[
0
];
if
(
!
arguments
.
length
){
if
(
f
)
return
c
=
p
.
valHooks
[
f
.
type
]
||
p
.
valHooks
[
f
.
nodeName
.
toLowerCase
()],
c
&&
"
get
"
in
c
&&
(
d
=
c
.
get
(
f
,
"
value
"
))
!==
b
?
d
:(
d
=
f
.
value
,
typeof
d
==
"
string
"
?
d
.
replace
(
P
,
""
):
d
==
null
?
""
:
d
);
return
}
return
e
=
p
.
isFunction
(
a
),
this
.
each
(
function
(
d
){
var
f
,
g
=
p
(
this
);
if
(
this
.
nodeType
!==
1
)
return
;
e
?
f
=
a
.
call
(
this
,
d
,
g
.
val
()):
f
=
a
,
f
==
null
?
f
=
""
:
typeof
f
==
"
number
"
?
f
+=
""
:
p
.
isArray
(
f
)
&&
(
f
=
p
.
map
(
f
,
function
(
a
){
return
a
==
null
?
""
:
a
+
""
})),
c
=
p
.
valHooks
[
this
.
type
]
||
p
.
valHooks
[
this
.
nodeName
.
toLowerCase
()];
if
(
!
c
||!
(
"
set
"
in
c
)
||
c
.
set
(
this
,
f
,
"
value
"
)
===
b
)
this
.
value
=
f
})}}),
p
.
extend
({
valHooks
:{
option
:{
get
:
function
(
a
){
var
b
=
a
.
attributes
.
value
;
return
!
b
||
b
.
specified
?
a
.
value
:
a
.
text
}},
select
:{
get
:
function
(
a
){
var
b
,
c
,
d
,
e
,
f
=
a
.
selectedIndex
,
g
=
[],
h
=
a
.
options
,
i
=
a
.
type
===
"
select-one
"
;
if
(
f
<
0
)
return
null
;
c
=
i
?
f
:
0
,
d
=
i
?
f
+
1
:
h
.
length
;
for
(;
c
<
d
;
c
++
){
e
=
h
[
c
];
if
(
e
.
selected
&&
(
p
.
support
.
optDisabled
?
!
e
.
disabled
:
e
.
getAttribute
(
"
disabled
"
)
===
null
)
&&
(
!
e
.
parentNode
.
disabled
||!
p
.
nodeName
(
e
.
parentNode
,
"
optgroup
"
))){
b
=
p
(
e
).
val
();
if
(
i
)
return
b
;
g
.
push
(
b
)}}
return
i
&&!
g
.
length
&&
h
.
length
?
p
(
h
[
f
]).
val
():
g
},
set
:
function
(
a
,
b
){
var
c
=
p
.
makeArray
(
b
);
return
p
(
a
).
find
(
"
option
"
).
each
(
function
(){
this
.
selected
=
p
.
inArray
(
p
(
this
).
val
(),
c
)
>=
0
}),
c
.
length
||
(
a
.
selectedIndex
=-
1
),
c
}}},
attrFn
:{},
attr
:
function
(
a
,
c
,
d
,
e
){
var
f
,
g
,
h
,
i
=
a
.
nodeType
;
if
(
!
a
||
i
===
3
||
i
===
8
||
i
===
2
)
return
;
if
(
e
&&
p
.
isFunction
(
p
.
fn
[
c
]))
return
p
(
a
)[
c
](
d
);
if
(
typeof
a
.
getAttribute
==
"
undefined
"
)
return
p
.
prop
(
a
,
c
,
d
);
h
=
i
!==
1
||!
p
.
isXMLDoc
(
a
),
h
&&
(
c
=
c
.
toLowerCase
(),
g
=
p
.
attrHooks
[
c
]
||
(
T
.
test
(
c
)?
M
:
L
));
if
(
d
!==
b
){
if
(
d
===
null
){
p
.
removeAttr
(
a
,
c
);
return
}
return
g
&&
"
set
"
in
g
&&
h
&&
(
f
=
g
.
set
(
a
,
d
,
c
))
!==
b
?
f
:(
a
.
setAttribute
(
c
,
d
+
""
),
d
)}
return
g
&&
"
get
"
in
g
&&
h
&&
(
f
=
g
.
get
(
a
,
c
))
!==
null
?
f
:(
f
=
a
.
getAttribute
(
c
),
f
===
null
?
b
:
f
)},
removeAttr
:
function
(
a
,
b
){
var
c
,
d
,
e
,
f
,
g
=
0
;
if
(
b
&&
a
.
nodeType
===
1
){
d
=
b
.
split
(
s
);
for
(;
g
<
d
.
length
;
g
++
)
e
=
d
[
g
],
e
&&
(
c
=
p
.
propFix
[
e
]
||
e
,
f
=
T
.
test
(
e
),
f
||
p
.
attr
(
a
,
e
,
""
),
a
.
removeAttribute
(
U
?
e
:
c
),
f
&&
c
in
a
&&
(
a
[
c
]
=!
1
))}},
attrHooks
:{
type
:{
set
:
function
(
a
,
b
){
if
(
Q
.
test
(
a
.
nodeName
)
&&
a
.
parentNode
)
p
.
error
(
"
type property can't be changed
"
);
else
if
(
!
p
.
support
.
radioValue
&&
b
===
"
radio
"
&&
p
.
nodeName
(
a
,
"
input
"
)){
var
c
=
a
.
value
;
return
a
.
setAttribute
(
"
type
"
,
b
),
c
&&
(
a
.
value
=
c
),
b
}}},
value
:{
get
:
function
(
a
,
b
){
return
L
&&
p
.
nodeName
(
a
,
"
button
"
)?
L
.
get
(
a
,
b
):
b
in
a
?
a
.
value
:
null
},
set
:
function
(
a
,
b
,
c
){
if
(
L
&&
p
.
nodeName
(
a
,
"
button
"
))
return
L
.
set
(
a
,
b
,
c
);
a
.
value
=
b
}}},
propFix
:{
tabindex
:
"
tabIndex
"
,
readonly
:
"
readOnly
"
,
"
for
"
:
"
htmlFor
"
,
"
class
"
:
"
className
"
,
maxlength
:
"
maxLength
"
,
cellspacing
:
"
cellSpacing
"
,
cellpadding
:
"
cellPadding
"
,
rowspan
:
"
rowSpan
"
,
colspan
:
"
colSpan
"
,
usemap
:
"
useMap
"
,
frameborder
:
"
frameBorder
"
,
contenteditable
:
"
contentEditable
"
},
prop
:
function
(
a
,
c
,
d
){
var
e
,
f
,
g
,
h
=
a
.
nodeType
;
if
(
!
a
||
h
===
3
||
h
===
8
||
h
===
2
)
return
;
return
g
=
h
!==
1
||!
p
.
isXMLDoc
(
a
),
g
&&
(
c
=
p
.
propFix
[
c
]
||
c
,
f
=
p
.
propHooks
[
c
]),
d
!==
b
?
f
&&
"
set
"
in
f
&&
(
e
=
f
.
set
(
a
,
d
,
c
))
!==
b
?
e
:
a
[
c
]
=
d
:
f
&&
"
get
"
in
f
&&
(
e
=
f
.
get
(
a
,
c
))
!==
null
?
e
:
a
[
c
]},
propHooks
:{
tabIndex
:{
get
:
function
(
a
){
var
c
=
a
.
getAttributeNode
(
"
tabindex
"
);
return
c
&&
c
.
specified
?
parseInt
(
c
.
value
,
10
):
R
.
test
(
a
.
nodeName
)
||
S
.
test
(
a
.
nodeName
)
&&
a
.
href
?
0
:
b
}}}}),
M
=
{
get
:
function
(
a
,
c
){
var
d
,
e
=
p
.
prop
(
a
,
c
);
return
e
===!
0
||
typeof
e
!=
"
boolean
"
&&
(
d
=
a
.
getAttributeNode
(
c
))
&&
d
.
nodeValue
!==!
1
?
c
.
toLowerCase
():
b
},
set
:
function
(
a
,
b
,
c
){
var
d
;
return
b
===!
1
?
p
.
removeAttr
(
a
,
c
):(
d
=
p
.
propFix
[
c
]
||
c
,
d
in
a
&&
(
a
[
d
]
=!
0
),
a
.
setAttribute
(
c
,
c
.
toLowerCase
())),
c
}},
U
||
(
N
=
{
name
:
!
0
,
id
:
!
0
,
coords
:
!
0
},
L
=
p
.
valHooks
.
button
=
{
get
:
function
(
a
,
c
){
var
d
;
return
d
=
a
.
getAttributeNode
(
c
),
d
&&
(
N
[
c
]?
d
.
value
!==
""
:
d
.
specified
)?
d
.
value
:
b
},
set
:
function
(
a
,
b
,
c
){
var
d
=
a
.
getAttributeNode
(
c
);
return
d
||
(
d
=
e
.
createAttribute
(
c
),
a
.
setAttributeNode
(
d
)),
d
.
value
=
b
+
""
}},
p
.
each
([
"
width
"
,
"
height
"
],
function
(
a
,
b
){
p
.
attrHooks
[
b
]
=
p
.
extend
(
p
.
attrHooks
[
b
],{
set
:
function
(
a
,
c
){
if
(
c
===
""
)
return
a
.
setAttribute
(
b
,
"
auto
"
),
c
}})}),
p
.
attrHooks
.
contenteditable
=
{
get
:
L
.
get
,
set
:
function
(
a
,
b
,
c
){
b
===
""
&&
(
b
=
"
false
"
),
L
.
set
(
a
,
b
,
c
)}}),
p
.
support
.
hrefNormalized
||
p
.
each
([
"
href
"
,
"
src
"
,
"
width
"
,
"
height
"
],
function
(
a
,
c
){
p
.
attrHooks
[
c
]
=
p
.
extend
(
p
.
attrHooks
[
c
],{
get
:
function
(
a
){
var
d
=
a
.
getAttribute
(
c
,
2
);
return
d
===
null
?
b
:
d
}})}),
p
.
support
.
style
||
(
p
.
attrHooks
.
style
=
{
get
:
function
(
a
){
return
a
.
style
.
cssText
.
toLowerCase
()
||
b
},
set
:
function
(
a
,
b
){
return
a
.
style
.
cssText
=
b
+
""
}}),
p
.
support
.
optSelected
||
(
p
.
propHooks
.
selected
=
p
.
extend
(
p
.
propHooks
.
selected
,{
get
:
function
(
a
){
var
b
=
a
.
parentNode
;
return
b
&&
(
b
.
selectedIndex
,
b
.
parentNode
&&
b
.
parentNode
.
selectedIndex
),
null
}})),
p
.
support
.
enctype
||
(
p
.
propFix
.
enctype
=
"
encoding
"
),
p
.
support
.
checkOn
||
p
.
each
([
"
radio
"
,
"
checkbox
"
],
function
(){
p
.
valHooks
[
this
]
=
{
get
:
function
(
a
){
return
a
.
getAttribute
(
"
value
"
)
===
null
?
"
on
"
:
a
.
value
}}}),
p
.
each
([
"
radio
"
,
"
checkbox
"
],
function
(){
p
.
valHooks
[
this
]
=
p
.
extend
(
p
.
valHooks
[
this
],{
set
:
function
(
a
,
b
){
if
(
p
.
isArray
(
b
))
return
a
.
checked
=
p
.
inArray
(
p
(
a
).
val
(),
b
)
>=
0
}})});
var
V
=
/^
(?:
textarea|input|select
)
$/i
,
W
=
/^
([^\.]
*|
)(?:\.(
.+
)
|
)
$/
,
X
=
/
(?:
^|
\s)
hover
(\.\S
+|
)\b
/
,
Y
=
/^key/
,
Z
=
/^
(?:
mouse|contextmenu
)
|click/
,
$
=
/^
(?:
focusinfocus|focusoutblur
)
$/
,
_
=
function
(
a
){
return
p
.
event
.
special
.
hover
?
a
:
a
.
replace
(
X
,
"
mouseenter$1 mouseleave$1
"
)};
p
.
event
=
{
add
:
function
(
a
,
c
,
d
,
e
,
f
){
var
g
,
h
,
i
,
j
,
k
,
l
,
m
,
n
,
o
,
q
,
r
;
if
(
a
.
nodeType
===
3
||
a
.
nodeType
===
8
||!
c
||!
d
||!
(
g
=
p
.
_data
(
a
)))
return
;
d
.
handler
&&
(
o
=
d
,
d
=
o
.
handler
,
f
=
o
.
selector
),
d
.
guid
||
(
d
.
guid
=
p
.
guid
++
),
i
=
g
.
events
,
i
||
(
g
.
events
=
i
=
{}),
h
=
g
.
handle
,
h
||
(
g
.
handle
=
h
=
function
(
a
){
return
typeof
p
!=
"
undefined
"
&&
(
!
a
||
p
.
event
.
triggered
!==
a
.
type
)?
p
.
event
.
dispatch
.
apply
(
h
.
elem
,
arguments
):
b
},
h
.
elem
=
a
),
c
=
p
.
trim
(
_
(
c
)).
split
(
"
"
);
for
(
j
=
0
;
j
<
c
.
length
;
j
++
){
k
=
W
.
exec
(
c
[
j
])
||
[],
l
=
k
[
1
],
m
=
(
k
[
2
]
||
""
).
split
(
"
.
"
).
sort
(),
r
=
p
.
event
.
special
[
l
]
||
{},
l
=
(
f
?
r
.
delegateType
:
r
.
bindType
)
||
l
,
r
=
p
.
event
.
special
[
l
]
||
{},
n
=
p
.
extend
({
type
:
l
,
origType
:
k
[
1
],
data
:
e
,
handler
:
d
,
guid
:
d
.
guid
,
selector
:
f
,
needsContext
:
f
&&
p
.
expr
.
match
.
needsContext
.
test
(
f
),
namespace
:
m
.
join
(
"
.
"
)},
o
),
q
=
i
[
l
];
if
(
!
q
){
q
=
i
[
l
]
=
[],
q
.
delegateCount
=
0
;
if
(
!
r
.
setup
||
r
.
setup
.
call
(
a
,
e
,
m
,
h
)
===!
1
)
a
.
addEventListener
?
a
.
addEventListener
(
l
,
h
,
!
1
):
a
.
attachEvent
&&
a
.
attachEvent
(
"
on
"
+
l
,
h
)}
r
.
add
&&
(
r
.
add
.
call
(
a
,
n
),
n
.
handler
.
guid
||
(
n
.
handler
.
guid
=
d
.
guid
)),
f
?
q
.
splice
(
q
.
delegateCount
++
,
0
,
n
):
q
.
push
(
n
),
p
.
event
.
global
[
l
]
=!
0
}
a
=
null
},
global
:{},
remove
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
,
g
,
h
,
i
,
j
,
k
,
l
,
m
,
n
,
o
,
q
,
r
=
p
.
hasData
(
a
)
&&
p
.
_data
(
a
);
if
(
!
r
||!
(
m
=
r
.
events
))
return
;
b
=
p
.
trim
(
_
(
b
||
""
)).
split
(
"
"
);
for
(
f
=
0
;
f
<
b
.
length
;
f
++
){
g
=
W
.
exec
(
b
[
f
])
||
[],
h
=
i
=
g
[
1
],
j
=
g
[
2
];
if
(
!
h
){
for
(
h
in
m
)
p
.
event
.
remove
(
a
,
h
+
b
[
f
],
c
,
d
,
!
0
);
continue
}
n
=
p
.
event
.
special
[
h
]
||
{},
h
=
(
d
?
n
.
delegateType
:
n
.
bindType
)
||
h
,
o
=
m
[
h
]
||
[],
k
=
o
.
length
,
j
=
j
?
new
RegExp
(
"
(^|
\\
.)
"
+
j
.
split
(
"
.
"
).
sort
().
join
(
"
\\
.(?:.*
\\
.|)
"
)
+
"
(
\\
.|$)
"
):
null
;
for
(
l
=
0
;
l
<
o
.
length
;
l
++
)
q
=
o
[
l
],(
e
||
i
===
q
.
origType
)
&&
(
!
c
||
c
.
guid
===
q
.
guid
)
&&
(
!
j
||
j
.
test
(
q
.
namespace
))
&&
(
!
d
||
d
===
q
.
selector
||
d
===
"
**
"
&&
q
.
selector
)
&&
(
o
.
splice
(
l
--
,
1
),
q
.
selector
&&
o
.
delegateCount
--
,
n
.
remove
&&
n
.
remove
.
call
(
a
,
q
));
o
.
length
===
0
&&
k
!==
o
.
length
&&
((
!
n
.
teardown
||
n
.
teardown
.
call
(
a
,
j
,
r
.
handle
)
===!
1
)
&&
p
.
removeEvent
(
a
,
h
,
r
.
handle
),
delete
m
[
h
])}
p
.
isEmptyObject
(
m
)
&&
(
delete
r
.
handle
,
p
.
removeData
(
a
,
"
events
"
,
!
0
))},
customEvent
:{
getData
:
!
0
,
setData
:
!
0
,
changeData
:
!
0
},
trigger
:
function
(
c
,
d
,
f
,
g
){
if
(
!
f
||
f
.
nodeType
!==
3
&&
f
.
nodeType
!==
8
){
var
h
,
i
,
j
,
k
,
l
,
m
,
n
,
o
,
q
,
r
,
s
=
c
.
type
||
c
,
t
=
[];
if
(
$
.
test
(
s
+
p
.
event
.
triggered
))
return
;
s
.
indexOf
(
"
!
"
)
>=
0
&&
(
s
=
s
.
slice
(
0
,
-
1
),
i
=!
0
),
s
.
indexOf
(
"
.
"
)
>=
0
&&
(
t
=
s
.
split
(
"
.
"
),
s
=
t
.
shift
(),
t
.
sort
());
if
((
!
f
||
p
.
event
.
customEvent
[
s
])
&&!
p
.
event
.
global
[
s
])
return
;
c
=
typeof
c
==
"
object
"
?
c
[
p
.
expando
]?
c
:
new
p
.
Event
(
s
,
c
):
new
p
.
Event
(
s
),
c
.
type
=
s
,
c
.
isTrigger
=!
0
,
c
.
exclusive
=
i
,
c
.
namespace
=
t
.
join
(
"
.
"
),
c
.
namespace_re
=
c
.
namespace
?
new
RegExp
(
"
(^|
\\
.)
"
+
t
.
join
(
"
\\
.(?:.*
\\
.|)
"
)
+
"
(
\\
.|$)
"
):
null
,
m
=
s
.
indexOf
(
"
:
"
)
<
0
?
"
on
"
+
s
:
""
;
if
(
!
f
){
h
=
p
.
cache
;
for
(
j
in
h
)
h
[
j
].
events
&&
h
[
j
].
events
[
s
]
&&
p
.
event
.
trigger
(
c
,
d
,
h
[
j
].
handle
.
elem
,
!
0
);
return
}
c
.
result
=
b
,
c
.
target
||
(
c
.
target
=
f
),
d
=
d
!=
null
?
p
.
makeArray
(
d
):[],
d
.
unshift
(
c
),
n
=
p
.
event
.
special
[
s
]
||
{};
if
(
n
.
trigger
&&
n
.
trigger
.
apply
(
f
,
d
)
===!
1
)
return
;
q
=
[[
f
,
n
.
bindType
||
s
]];
if
(
!
g
&&!
n
.
noBubble
&&!
p
.
isWindow
(
f
)){
r
=
n
.
delegateType
||
s
,
k
=
$
.
test
(
r
+
s
)?
f
:
f
.
parentNode
;
for
(
l
=
f
;
k
;
k
=
k
.
parentNode
)
q
.
push
([
k
,
r
]),
l
=
k
;
l
===
(
f
.
ownerDocument
||
e
)
&&
q
.
push
([
l
.
defaultView
||
l
.
parentWindow
||
a
,
r
])}
for
(
j
=
0
;
j
<
q
.
length
&&!
c
.
isPropagationStopped
();
j
++
)
k
=
q
[
j
][
0
],
c
.
type
=
q
[
j
][
1
],
o
=
(
p
.
_data
(
k
,
"
events
"
)
||
{})[
c
.
type
]
&&
p
.
_data
(
k
,
"
handle
"
),
o
&&
o
.
apply
(
k
,
d
),
o
=
m
&&
k
[
m
],
o
&&
p
.
acceptData
(
k
)
&&
o
.
apply
&&
o
.
apply
(
k
,
d
)
===!
1
&&
c
.
preventDefault
();
return
c
.
type
=
s
,
!
g
&&!
c
.
isDefaultPrevented
()
&&
(
!
n
.
_default
||
n
.
_default
.
apply
(
f
.
ownerDocument
,
d
)
===!
1
)
&&
(
s
!==
"
click
"
||!
p
.
nodeName
(
f
,
"
a
"
))
&&
p
.
acceptData
(
f
)
&&
m
&&
f
[
s
]
&&
(
s
!==
"
focus
"
&&
s
!==
"
blur
"
||
c
.
target
.
offsetWidth
!==
0
)
&&!
p
.
isWindow
(
f
)
&&
(
l
=
f
[
m
],
l
&&
(
f
[
m
]
=
null
),
p
.
event
.
triggered
=
s
,
f
[
s
](),
p
.
event
.
triggered
=
b
,
l
&&
(
f
[
m
]
=
l
)),
c
.
result
}
return
},
dispatch
:
function
(
c
){
c
=
p
.
event
.
fix
(
c
||
a
.
event
);
var
d
,
e
,
f
,
g
,
h
,
i
,
j
,
l
,
m
,
n
,
o
=
(
p
.
_data
(
this
,
"
events
"
)
||
{})[
c
.
type
]
||
[],
q
=
o
.
delegateCount
,
r
=
k
.
call
(
arguments
),
s
=!
c
.
exclusive
&&!
c
.
namespace
,
t
=
p
.
event
.
special
[
c
.
type
]
||
{},
u
=
[];
r
[
0
]
=
c
,
c
.
delegateTarget
=
this
;
if
(
t
.
preDispatch
&&
t
.
preDispatch
.
call
(
this
,
c
)
===!
1
)
return
;
if
(
q
&&
(
!
c
.
button
||
c
.
type
!==
"
click
"
))
for
(
f
=
c
.
target
;
f
!=
this
;
f
=
f
.
parentNode
||
this
)
if
(
f
.
disabled
!==!
0
||
c
.
type
!==
"
click
"
){
h
=
{},
j
=
[];
for
(
d
=
0
;
d
<
q
;
d
++
)
l
=
o
[
d
],
m
=
l
.
selector
,
h
[
m
]
===
b
&&
(
h
[
m
]
=
l
.
needsContext
?
p
(
m
,
this
).
index
(
f
)
>=
0
:
p
.
find
(
m
,
this
,
null
,[
f
]).
length
),
h
[
m
]
&&
j
.
push
(
l
);
j
.
length
&&
u
.
push
({
elem
:
f
,
matches
:
j
})}
o
.
length
>
q
&&
u
.
push
({
elem
:
this
,
matches
:
o
.
slice
(
q
)});
for
(
d
=
0
;
d
<
u
.
length
&&!
c
.
isPropagationStopped
();
d
++
){
i
=
u
[
d
],
c
.
currentTarget
=
i
.
elem
;
for
(
e
=
0
;
e
<
i
.
matches
.
length
&&!
c
.
isImmediatePropagationStopped
();
e
++
){
l
=
i
.
matches
[
e
];
if
(
s
||!
c
.
namespace
&&!
l
.
namespace
||
c
.
namespace_re
&&
c
.
namespace_re
.
test
(
l
.
namespace
))
c
.
data
=
l
.
data
,
c
.
handleObj
=
l
,
g
=
((
p
.
event
.
special
[
l
.
origType
]
||
{}).
handle
||
l
.
handler
).
apply
(
i
.
elem
,
r
),
g
!==
b
&&
(
c
.
result
=
g
,
g
===!
1
&&
(
c
.
preventDefault
(),
c
.
stopPropagation
()))}}
return
t
.
postDispatch
&&
t
.
postDispatch
.
call
(
this
,
c
),
c
.
result
},
props
:
"
attrChange attrName relatedNode srcElement 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
a
.
which
==
null
&&
(
a
.
which
=
b
.
charCode
!=
null
?
b
.
charCode
:
b
.
keyCode
),
a
}},
mouseHooks
:{
props
:
"
button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement
"
.
split
(
"
"
),
filter
:
function
(
a
,
c
){
var
d
,
f
,
g
,
h
=
c
.
button
,
i
=
c
.
fromElement
;
return
a
.
pageX
==
null
&&
c
.
clientX
!=
null
&&
(
d
=
a
.
target
.
ownerDocument
||
e
,
f
=
d
.
documentElement
,
g
=
d
.
body
,
a
.
pageX
=
c
.
clientX
+
(
f
&&
f
.
scrollLeft
||
g
&&
g
.
scrollLeft
||
0
)
-
(
f
&&
f
.
clientLeft
||
g
&&
g
.
clientLeft
||
0
),
a
.
pageY
=
c
.
clientY
+
(
f
&&
f
.
scrollTop
||
g
&&
g
.
scrollTop
||
0
)
-
(
f
&&
f
.
clientTop
||
g
&&
g
.
clientTop
||
0
)),
!
a
.
relatedTarget
&&
i
&&
(
a
.
relatedTarget
=
i
===
a
.
target
?
c
.
toElement
:
i
),
!
a
.
which
&&
h
!==
b
&&
(
a
.
which
=
h
&
1
?
1
:
h
&
2
?
3
:
h
&
4
?
2
:
0
),
a
}},
fix
:
function
(
a
){
if
(
a
[
p
.
expando
])
return
a
;
var
b
,
c
,
d
=
a
,
f
=
p
.
event
.
fixHooks
[
a
.
type
]
||
{},
g
=
f
.
props
?
this
.
props
.
concat
(
f
.
props
):
this
.
props
;
a
=
p
.
Event
(
d
);
for
(
b
=
g
.
length
;
b
;)
c
=
g
[
--
b
],
a
[
c
]
=
d
[
c
];
return
a
.
target
||
(
a
.
target
=
d
.
srcElement
||
e
),
a
.
target
.
nodeType
===
3
&&
(
a
.
target
=
a
.
target
.
parentNode
),
a
.
metaKey
=!!
a
.
metaKey
,
f
.
filter
?
f
.
filter
(
a
,
d
):
a
},
special
:{
load
:{
noBubble
:
!
0
},
focus
:{
delegateType
:
"
focusin
"
},
blur
:{
delegateType
:
"
focusout
"
},
beforeunload
:{
setup
:
function
(
a
,
b
,
c
){
p
.
isWindow
(
this
)
&&
(
this
.
onbeforeunload
=
c
)},
teardown
:
function
(
a
,
b
){
this
.
onbeforeunload
===
b
&&
(
this
.
onbeforeunload
=
null
)}}},
simulate
:
function
(
a
,
b
,
c
,
d
){
var
e
=
p
.
extend
(
new
p
.
Event
,
c
,{
type
:
a
,
isSimulated
:
!
0
,
originalEvent
:{}});
d
?
p
.
event
.
trigger
(
e
,
null
,
b
):
p
.
event
.
dispatch
.
call
(
b
,
e
),
e
.
isDefaultPrevented
()
&&
c
.
preventDefault
()}},
p
.
event
.
handle
=
p
.
event
.
dispatch
,
p
.
removeEvent
=
e
.
removeEventListener
?
function
(
a
,
b
,
c
){
a
.
removeEventListener
&&
a
.
removeEventListener
(
b
,
c
,
!
1
)}:
function
(
a
,
b
,
c
){
var
d
=
"
on
"
+
b
;
a
.
detachEvent
&&
(
typeof
a
[
d
]
==
"
undefined
"
&&
(
a
[
d
]
=
null
),
a
.
detachEvent
(
d
,
c
))},
p
.
Event
=
function
(
a
,
b
){
if
(
this
instanceof
p
.
Event
)
a
&&
a
.
type
?(
this
.
originalEvent
=
a
,
this
.
type
=
a
.
type
,
this
.
isDefaultPrevented
=
a
.
defaultPrevented
||
a
.
returnValue
===!
1
||
a
.
getPreventDefault
&&
a
.
getPreventDefault
()?
bb
:
ba
):
this
.
type
=
a
,
b
&&
p
.
extend
(
this
,
b
),
this
.
timeStamp
=
a
&&
a
.
timeStamp
||
p
.
now
(),
this
[
p
.
expando
]
=!
0
;
else
return
new
p
.
Event
(
a
,
b
)},
p
.
Event
.
prototype
=
{
preventDefault
:
function
(){
this
.
isDefaultPrevented
=
bb
;
var
a
=
this
.
originalEvent
;
if
(
!
a
)
return
;
a
.
preventDefault
?
a
.
preventDefault
():
a
.
returnValue
=!
1
},
stopPropagation
:
function
(){
this
.
isPropagationStopped
=
bb
;
var
a
=
this
.
originalEvent
;
if
(
!
a
)
return
;
a
.
stopPropagation
&&
a
.
stopPropagation
(),
a
.
cancelBubble
=!
0
},
stopImmediatePropagation
:
function
(){
this
.
isImmediatePropagationStopped
=
bb
,
this
.
stopPropagation
()},
isDefaultPrevented
:
ba
,
isPropagationStopped
:
ba
,
isImmediatePropagationStopped
:
ba
},
p
.
each
({
mouseenter
:
"
mouseover
"
,
mouseleave
:
"
mouseout
"
},
function
(
a
,
b
){
p
.
event
.
special
[
a
]
=
{
delegateType
:
b
,
bindType
:
b
,
handle
:
function
(
a
){
var
c
,
d
=
this
,
e
=
a
.
relatedTarget
,
f
=
a
.
handleObj
,
g
=
f
.
selector
;
if
(
!
e
||
e
!==
d
&&!
p
.
contains
(
d
,
e
))
a
.
type
=
f
.
origType
,
c
=
f
.
handler
.
apply
(
this
,
arguments
),
a
.
type
=
b
;
return
c
}}}),
p
.
support
.
submitBubbles
||
(
p
.
event
.
special
.
submit
=
{
setup
:
function
(){
if
(
p
.
nodeName
(
this
,
"
form
"
))
return
!
1
;
p
.
event
.
add
(
this
,
"
click._submit keypress._submit
"
,
function
(
a
){
var
c
=
a
.
target
,
d
=
p
.
nodeName
(
c
,
"
input
"
)
||
p
.
nodeName
(
c
,
"
button
"
)?
c
.
form
:
b
;
d
&&!
p
.
_data
(
d
,
"
_submit_attached
"
)
&&
(
p
.
event
.
add
(
d
,
"
submit._submit
"
,
function
(
a
){
a
.
_submit_bubble
=!
0
}),
p
.
_data
(
d
,
"
_submit_attached
"
,
!
0
))})},
postDispatch
:
function
(
a
){
a
.
_submit_bubble
&&
(
delete
a
.
_submit_bubble
,
this
.
parentNode
&&!
a
.
isTrigger
&&
p
.
event
.
simulate
(
"
submit
"
,
this
.
parentNode
,
a
,
!
0
))},
teardown
:
function
(){
if
(
p
.
nodeName
(
this
,
"
form
"
))
return
!
1
;
p
.
event
.
remove
(
this
,
"
._submit
"
)}}),
p
.
support
.
changeBubbles
||
(
p
.
event
.
special
.
change
=
{
setup
:
function
(){
if
(
V
.
test
(
this
.
nodeName
)){
if
(
this
.
type
===
"
checkbox
"
||
this
.
type
===
"
radio
"
)
p
.
event
.
add
(
this
,
"
propertychange._change
"
,
function
(
a
){
a
.
originalEvent
.
propertyName
===
"
checked
"
&&
(
this
.
_just_changed
=!
0
)}),
p
.
event
.
add
(
this
,
"
click._change
"
,
function
(
a
){
this
.
_just_changed
&&!
a
.
isTrigger
&&
(
this
.
_just_changed
=!
1
),
p
.
event
.
simulate
(
"
change
"
,
this
,
a
,
!
0
)});
return
!
1
}
p
.
event
.
add
(
this
,
"
beforeactivate._change
"
,
function
(
a
){
var
b
=
a
.
target
;
V
.
test
(
b
.
nodeName
)
&&!
p
.
_data
(
b
,
"
_change_attached
"
)
&&
(
p
.
event
.
add
(
b
,
"
change._change
"
,
function
(
a
){
this
.
parentNode
&&!
a
.
isSimulated
&&!
a
.
isTrigger
&&
p
.
event
.
simulate
(
"
change
"
,
this
.
parentNode
,
a
,
!
0
)}),
p
.
_data
(
b
,
"
_change_attached
"
,
!
0
))})},
handle
:
function
(
a
){
var
b
=
a
.
target
;
if
(
this
!==
b
||
a
.
isSimulated
||
a
.
isTrigger
||
b
.
type
!==
"
radio
"
&&
b
.
type
!==
"
checkbox
"
)
return
a
.
handleObj
.
handler
.
apply
(
this
,
arguments
)},
teardown
:
function
(){
return
p
.
event
.
remove
(
this
,
"
._change
"
),
!
V
.
test
(
this
.
nodeName
)}}),
p
.
support
.
focusinBubbles
||
p
.
each
({
focus
:
"
focusin
"
,
blur
:
"
focusout
"
},
function
(
a
,
b
){
var
c
=
0
,
d
=
function
(
a
){
p
.
event
.
simulate
(
b
,
a
.
target
,
p
.
event
.
fix
(
a
),
!
0
)};
p
.
event
.
special
[
b
]
=
{
setup
:
function
(){
c
++===
0
&&
e
.
addEventListener
(
a
,
d
,
!
0
)},
teardown
:
function
(){
--
c
===
0
&&
e
.
removeEventListener
(
a
,
d
,
!
0
)}}}),
p
.
fn
.
extend
({
on
:
function
(
a
,
c
,
d
,
e
,
f
){
var
g
,
h
;
if
(
typeof
a
==
"
object
"
){
typeof
c
!=
"
string
"
&&
(
d
=
d
||
c
,
c
=
b
);
for
(
h
in
a
)
this
.
on
(
h
,
c
,
d
,
a
[
h
],
f
);
return
this
}
d
==
null
&&
e
==
null
?(
e
=
c
,
d
=
c
=
b
):
e
==
null
&&
(
typeof
c
==
"
string
"
?(
e
=
d
,
d
=
b
):(
e
=
d
,
d
=
c
,
c
=
b
));
if
(
e
===!
1
)
e
=
ba
;
else
if
(
!
e
)
return
this
;
return
f
===
1
&&
(
g
=
e
,
e
=
function
(
a
){
return
p
().
off
(
a
),
g
.
apply
(
this
,
arguments
)},
e
.
guid
=
g
.
guid
||
(
g
.
guid
=
p
.
guid
++
)),
this
.
each
(
function
(){
p
.
event
.
add
(
this
,
a
,
e
,
d
,
c
)})},
one
:
function
(
a
,
b
,
c
,
d
){
return
this
.
on
(
a
,
b
,
c
,
d
,
1
)},
off
:
function
(
a
,
c
,
d
){
var
e
,
f
;
if
(
a
&&
a
.
preventDefault
&&
a
.
handleObj
)
return
e
=
a
.
handleObj
,
p
(
a
.
delegateTarget
).
off
(
e
.
namespace
?
e
.
origType
+
"
.
"
+
e
.
namespace
:
e
.
origType
,
e
.
selector
,
e
.
handler
),
this
;
if
(
typeof
a
==
"
object
"
){
for
(
f
in
a
)
this
.
off
(
f
,
c
,
a
[
f
]);
return
this
}
if
(
c
===!
1
||
typeof
c
==
"
function
"
)
d
=
c
,
c
=
b
;
return
d
===!
1
&&
(
d
=
ba
),
this
.
each
(
function
(){
p
.
event
.
remove
(
this
,
a
,
d
,
c
)})},
bind
:
function
(
a
,
b
,
c
){
return
this
.
on
(
a
,
null
,
b
,
c
)},
unbind
:
function
(
a
,
b
){
return
this
.
off
(
a
,
null
,
b
)},
live
:
function
(
a
,
b
,
c
){
return
p
(
this
.
context
).
on
(
a
,
this
.
selector
,
b
,
c
),
this
},
die
:
function
(
a
,
b
){
return
p
(
this
.
context
).
off
(
a
,
this
.
selector
||
"
**
"
,
b
),
this
},
delegate
:
function
(
a
,
b
,
c
,
d
){
return
this
.
on
(
b
,
a
,
c
,
d
)},
undelegate
:
function
(
a
,
b
,
c
){
return
arguments
.
length
===
1
?
this
.
off
(
a
,
"
**
"
):
this
.
off
(
b
,
a
||
"
**
"
,
c
)},
trigger
:
function
(
a
,
b
){
return
this
.
each
(
function
(){
p
.
event
.
trigger
(
a
,
b
,
this
)})},
triggerHandler
:
function
(
a
,
b
){
if
(
this
[
0
])
return
p
.
event
.
trigger
(
a
,
b
,
this
[
0
],
!
0
)},
toggle
:
function
(
a
){
var
b
=
arguments
,
c
=
a
.
guid
||
p
.
guid
++
,
d
=
0
,
e
=
function
(
c
){
var
e
=
(
p
.
_data
(
this
,
"
lastToggle
"
+
a
.
guid
)
||
0
)
%
d
;
return
p
.
_data
(
this
,
"
lastToggle
"
+
a
.
guid
,
e
+
1
),
c
.
preventDefault
(),
b
[
e
].
apply
(
this
,
arguments
)
||!
1
};
e
.
guid
=
c
;
while
(
d
<
b
.
length
)
b
[
d
++
].
guid
=
c
;
return
this
.
click
(
e
)},
hover
:
function
(
a
,
b
){
return
this
.
mouseenter
(
a
).
mouseleave
(
b
||
a
)}}),
p
.
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
){
p
.
fn
[
b
]
=
function
(
a
,
c
){
return
c
==
null
&&
(
c
=
a
,
a
=
null
),
arguments
.
length
>
0
?
this
.
on
(
b
,
null
,
a
,
c
):
this
.
trigger
(
b
)},
Y
.
test
(
b
)
&&
(
p
.
event
.
fixHooks
[
b
]
=
p
.
event
.
keyHooks
),
Z
.
test
(
b
)
&&
(
p
.
event
.
fixHooks
[
b
]
=
p
.
event
.
mouseHooks
)}),
function
(
a
,
b
){
function
bc
(
a
,
b
,
c
,
d
){
c
=
c
||
[],
b
=
b
||
r
;
var
e
,
f
,
i
,
j
,
k
=
b
.
nodeType
;
if
(
!
a
||
typeof
a
!=
"
string
"
)
return
c
;
if
(
k
!==
1
&&
k
!==
9
)
return
[];
i
=
g
(
b
);
if
(
!
i
&&!
d
)
if
(
e
=
P
.
exec
(
a
))
if
(
j
=
e
[
1
]){
if
(
k
===
9
){
f
=
b
.
getElementById
(
j
);
if
(
!
f
||!
f
.
parentNode
)
return
c
;
if
(
f
.
id
===
j
)
return
c
.
push
(
f
),
c
}
else
if
(
b
.
ownerDocument
&&
(
f
=
b
.
ownerDocument
.
getElementById
(
j
))
&&
h
(
b
,
f
)
&&
f
.
id
===
j
)
return
c
.
push
(
f
),
c
}
else
{
if
(
e
[
2
])
return
w
.
apply
(
c
,
x
.
call
(
b
.
getElementsByTagName
(
a
),
0
)),
c
;
if
((
j
=
e
[
3
])
&&
_
&&
b
.
getElementsByClassName
)
return
w
.
apply
(
c
,
x
.
call
(
b
.
getElementsByClassName
(
j
),
0
)),
c
}
return
bp
(
a
.
replace
(
L
,
"
$1
"
),
b
,
c
,
d
,
i
)}
function
bd
(
a
){
return
function
(
b
){
var
c
=
b
.
nodeName
.
toLowerCase
();
return
c
===
"
input
"
&&
b
.
type
===
a
}}
function
be
(
a
){
return
function
(
b
){
var
c
=
b
.
nodeName
.
toLowerCase
();
return
(
c
===
"
input
"
||
c
===
"
button
"
)
&&
b
.
type
===
a
}}
function
bf
(
a
){
return
z
(
function
(
b
){
return
b
=+
b
,
z
(
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
bg
(
a
,
b
,
c
){
if
(
a
===
b
)
return
c
;
var
d
=
a
.
nextSibling
;
while
(
d
){
if
(
d
===
b
)
return
-
1
;
d
=
d
.
nextSibling
}
return
1
}
function
bh
(
a
,
b
){
var
c
,
d
,
f
,
g
,
h
,
i
,
j
,
k
=
C
[
o
][
a
];
if
(
k
)
return
b
?
0
:
k
.
slice
(
0
);
h
=
a
,
i
=
[],
j
=
e
.
preFilter
;
while
(
h
){
if
(
!
c
||
(
d
=
M
.
exec
(
h
)))
d
&&
(
h
=
h
.
slice
(
d
[
0
].
length
)),
i
.
push
(
f
=
[]);
c
=!
1
;
if
(
d
=
N
.
exec
(
h
))
f
.
push
(
c
=
new
q
(
d
.
shift
())),
h
=
h
.
slice
(
c
.
length
),
c
.
type
=
d
[
0
].
replace
(
L
,
"
"
);
for
(
g
in
e
.
filter
)(
d
=
W
[
g
].
exec
(
h
))
&&
(
!
j
[
g
]
||
(
d
=
j
[
g
](
d
,
r
,
!
0
)))
&&
(
f
.
push
(
c
=
new
q
(
d
.
shift
())),
h
=
h
.
slice
(
c
.
length
),
c
.
type
=
g
,
c
.
matches
=
d
);
if
(
!
c
)
break
}
return
b
?
h
.
length
:
h
?
bc
.
error
(
a
):
C
(
a
,
i
).
slice
(
0
)}
function
bi
(
a
,
b
,
d
){
var
e
=
b
.
dir
,
f
=
d
&&
b
.
dir
===
"
parentNode
"
,
g
=
u
++
;
return
b
.
first
?
function
(
b
,
c
,
d
){
while
(
b
=
b
[
e
])
if
(
f
||
b
.
nodeType
===
1
)
return
a
(
b
,
c
,
d
)}:
function
(
b
,
d
,
h
){
if
(
!
h
){
var
i
,
j
=
t
+
"
"
+
g
+
"
"
,
k
=
j
+
c
;
while
(
b
=
b
[
e
])
if
(
f
||
b
.
nodeType
===
1
){
if
((
i
=
b
[
o
])
===
k
)
return
b
.
sizset
;
if
(
typeof
i
==
"
string
"
&&
i
.
indexOf
(
j
)
===
0
){
if
(
b
.
sizset
)
return
b
}
else
{
b
[
o
]
=
k
;
if
(
a
(
b
,
d
,
h
))
return
b
.
sizset
=!
0
,
b
;
b
.
sizset
=!
1
}}}
else
while
(
b
=
b
[
e
])
if
(
f
||
b
.
nodeType
===
1
)
if
(
a
(
b
,
d
,
h
))
return
b
}}
function
bj
(
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
bk
(
a
,
b
,
c
,
d
,
e
){
var
f
,
g
=
[],
h
=
0
,
i
=
a
.
length
,
j
=
b
!=
null
;
for
(;
h
<
i
;
h
++
)
if
(
f
=
a
[
h
])
if
(
!
c
||
c
(
f
,
d
,
e
))
g
.
push
(
f
),
j
&&
b
.
push
(
h
);
return
g
}
function
bl
(
a
,
b
,
c
,
d
,
e
,
f
){
return
d
&&!
d
[
o
]
&&
(
d
=
bl
(
d
)),
e
&&!
e
[
o
]
&&
(
e
=
bl
(
e
,
f
)),
z
(
function
(
f
,
g
,
h
,
i
){
if
(
f
&&
e
)
return
;
var
j
,
k
,
l
,
m
=
[],
n
=
[],
o
=
g
.
length
,
p
=
f
||
bo
(
b
||
"
*
"
,
h
.
nodeType
?[
h
]:
h
,[],
f
),
q
=
a
&&
(
f
||!
b
)?
bk
(
p
,
m
,
a
,
h
,
i
):
p
,
r
=
c
?
e
||
(
f
?
a
:
o
||
d
)?[]:
g
:
q
;
c
&&
c
(
q
,
r
,
h
,
i
);
if
(
d
){
l
=
bk
(
r
,
n
),
d
(
l
,[],
h
,
i
),
j
=
l
.
length
;
while
(
j
--
)
if
(
k
=
l
[
j
])
r
[
n
[
j
]]
=!
(
q
[
n
[
j
]]
=
k
)}
if
(
f
){
j
=
a
&&
r
.
length
;
while
(
j
--
)
if
(
k
=
r
[
j
])
f
[
m
[
j
]]
=!
(
g
[
m
[
j
]]
=
k
)}
else
r
=
bk
(
r
===
g
?
r
.
splice
(
o
,
r
.
length
):
r
),
e
?
e
(
null
,
g
,
r
,
i
):
w
.
apply
(
g
,
r
)})}
function
bm
(
a
){
var
b
,
c
,
d
,
f
=
a
.
length
,
g
=
e
.
relative
[
a
[
0
].
type
],
h
=
g
||
e
.
relative
[
"
"
],
i
=
g
?
1
:
0
,
j
=
bi
(
function
(
a
){
return
a
===
b
},
h
,
!
0
),
k
=
bi
(
function
(
a
){
return
y
.
call
(
b
,
a
)
>-
1
},
h
,
!
0
),
m
=
[
function
(
a
,
c
,
d
){
return
!
g
&&
(
d
||
c
!==
l
)
||
((
b
=
c
).
nodeType
?
j
(
a
,
c
,
d
):
k
(
a
,
c
,
d
))}];
for
(;
i
<
f
;
i
++
)
if
(
c
=
e
.
relative
[
a
[
i
].
type
])
m
=
[
bi
(
bj
(
m
),
c
)];
else
{
c
=
e
.
filter
[
a
[
i
].
type
].
apply
(
null
,
a
[
i
].
matches
);
if
(
c
[
o
]){
d
=++
i
;
for
(;
d
<
f
;
d
++
)
if
(
e
.
relative
[
a
[
d
].
type
])
break
;
return
bl
(
i
>
1
&&
bj
(
m
),
i
>
1
&&
a
.
slice
(
0
,
i
-
1
).
join
(
""
).
replace
(
L
,
"
$1
"
),
c
,
i
<
d
&&
bm
(
a
.
slice
(
i
,
d
)),
d
<
f
&&
bm
(
a
=
a
.
slice
(
d
)),
d
<
f
&&
a
.
join
(
""
))}
m
.
push
(
c
)}
return
bj
(
m
)}
function
bn
(
a
,
b
){
var
d
=
b
.
length
>
0
,
f
=
a
.
length
>
0
,
g
=
function
(
h
,
i
,
j
,
k
,
m
){
var
n
,
o
,
p
,
q
=
[],
s
=
0
,
u
=
"
0
"
,
x
=
h
&&
[],
y
=
m
!=
null
,
z
=
l
,
A
=
h
||
f
&&
e
.
find
.
TAG
(
"
*
"
,
m
&&
i
.
parentNode
||
i
),
B
=
t
+=
z
==
null
?
1
:
Math
.
E
;
y
&&
(
l
=
i
!==
r
&&
i
,
c
=
g
.
el
);
for
(;(
n
=
A
[
u
])
!=
null
;
u
++
){
if
(
f
&&
n
){
for
(
o
=
0
;
p
=
a
[
o
];
o
++
)
if
(
p
(
n
,
i
,
j
)){
k
.
push
(
n
);
break
}
y
&&
(
t
=
B
,
c
=++
g
.
el
)}
d
&&
((
n
=!
p
&&
n
)
&&
s
--
,
h
&&
x
.
push
(
n
))}
s
+=
u
;
if
(
d
&&
u
!==
s
){
for
(
o
=
0
;
p
=
b
[
o
];
o
++
)
p
(
x
,
q
,
i
,
j
);
if
(
h
){
if
(
s
>
0
)
while
(
u
--
)
!
x
[
u
]
&&!
q
[
u
]
&&
(
q
[
u
]
=
v
.
call
(
k
));
q
=
bk
(
q
)}
w
.
apply
(
k
,
q
),
y
&&!
h
&&
q
.
length
>
0
&&
s
+
b
.
length
>
1
&&
bc
.
uniqueSort
(
k
)}
return
y
&&
(
t
=
B
,
l
=
z
),
x
};
return
g
.
el
=
0
,
d
?
z
(
g
):
g
}
function
bo
(
a
,
b
,
c
,
d
){
var
e
=
0
,
f
=
b
.
length
;
for
(;
e
<
f
;
e
++
)
bc
(
a
,
b
[
e
],
c
,
d
);
return
c
}
function
bp
(
a
,
b
,
c
,
d
,
f
){
var
g
,
h
,
j
,
k
,
l
,
m
=
bh
(
a
),
n
=
m
.
length
;
if
(
!
d
&&
m
.
length
===
1
){
h
=
m
[
0
]
=
m
[
0
].
slice
(
0
);
if
(
h
.
length
>
2
&&
(
j
=
h
[
0
]).
type
===
"
ID
"
&&
b
.
nodeType
===
9
&&!
f
&&
e
.
relative
[
h
[
1
].
type
]){
b
=
e
.
find
.
ID
(
j
.
matches
[
0
].
replace
(
V
,
""
),
b
,
f
)[
0
];
if
(
!
b
)
return
c
;
a
=
a
.
slice
(
h
.
shift
().
length
)}
for
(
g
=
W
.
POS
.
test
(
a
)?
-
1
:
h
.
length
-
1
;
g
>=
0
;
g
--
){
j
=
h
[
g
];
if
(
e
.
relative
[
k
=
j
.
type
])
break
;
if
(
l
=
e
.
find
[
k
])
if
(
d
=
l
(
j
.
matches
[
0
].
replace
(
V
,
""
),
R
.
test
(
h
[
0
].
type
)
&&
b
.
parentNode
||
b
,
f
)){
h
.
splice
(
g
,
1
),
a
=
d
.
length
&&
h
.
join
(
""
);
if
(
!
a
)
return
w
.
apply
(
c
,
x
.
call
(
d
,
0
)),
c
;
break
}}}
return
i
(
a
,
m
)(
d
,
b
,
f
,
c
,
R
.
test
(
a
)),
c
}
function
bq
(){}
var
c
,
d
,
e
,
f
,
g
,
h
,
i
,
j
,
k
,
l
,
m
=!
0
,
n
=
"
undefined
"
,
o
=
(
"
sizcache
"
+
Math
.
random
()).
replace
(
"
.
"
,
""
),
q
=
String
,
r
=
a
.
document
,
s
=
r
.
documentElement
,
t
=
0
,
u
=
0
,
v
=
[].
pop
,
w
=
[].
push
,
x
=
[].
slice
,
y
=
[].
indexOf
||
function
(
a
){
var
b
=
0
,
c
=
this
.
length
;
for
(;
b
<
c
;
b
++
)
if
(
this
[
b
]
===
a
)
return
b
;
return
-
1
},
z
=
function
(
a
,
b
){
return
a
[
o
]
=
b
==
null
||
b
,
a
},
A
=
function
(){
var
a
=
{},
b
=
[];
return
z
(
function
(
c
,
d
){
return
b
.
push
(
c
)
>
e
.
cacheLength
&&
delete
a
[
b
.
shift
()],
a
[
c
]
=
d
},
a
)},
B
=
A
(),
C
=
A
(),
D
=
A
(),
E
=
"
[
\\
x20
\\
t
\\
r
\\
n
\\
f]
"
,
F
=
"
(?:
\\\\
.|[-
\\
w]|[^
\\
x00-
\\
xa0])+
"
,
G
=
F
.
replace
(
"
w
"
,
"
w#
"
),
H
=
"
([*^$|!~]?=)
"
,
I
=
"
\\
[
"
+
E
+
"
*(
"
+
F
+
"
)
"
+
E
+
"
*(?:
"
+
H
+
E
+
"
*(?:(['
\"
])((?:
\\\\
.|[^
\\\\
])*?)
\\
3|(
"
+
G
+
"
)|)|)
"
+
E
+
"
*
\\
]
"
,
J
=
"
:(
"
+
F
+
"
)(?:
\\
((?:(['
\"
])((?:
\\\\
.|[^
\\\\
])*?)
\\
2|([^()[
\\
]]*|(?:(?:
"
+
I
+
"
)|[^:]|
\\\\
.)*|.*))
\\
)|)
"
,
K
=
"
:(even|odd|eq|gt|lt|nth|first|last)(?:
\\
(
"
+
E
+
"
*((?:-
\\
d)?
\\
d*)
"
+
E
+
"
*
\\
)|)(?=[^-]|$)
"
,
L
=
new
RegExp
(
"
^
"
+
E
+
"
+|((?:^|[^
\\\\
])(?:
\\\\
.)*)
"
+
E
+
"
+$
"
,
"
g
"
),
M
=
new
RegExp
(
"
^
"
+
E
+
"
*,
"
+
E
+
"
*
"
),
N
=
new
RegExp
(
"
^
"
+
E
+
"
*([
\\
x20
\\
t
\\
r
\\
n
\\
f>+~])
"
+
E
+
"
*
"
),
O
=
new
RegExp
(
J
),
P
=
/^
(?:
#
([\w\-]
+
)
|
(\w
+
)
|
\.([\w\-]
+
))
$/
,
Q
=
/^:not/
,
R
=
/
[\x
20
\t\r\n\f]
*
[
+~
]
/
,
S
=
/:not
\(
$/
,
T
=
/h
\d
/i
,
U
=
/input|select|textarea|button/i
,
V
=
/
\\(?!\\)
/g
,
W
=
{
ID
:
new
RegExp
(
"
^#(
"
+
F
+
"
)
"
),
CLASS
:
new
RegExp
(
"
^
\\
.(
"
+
F
+
"
)
"
),
NAME
:
new
RegExp
(
"
^
\\
[name=['
\"
]?(
"
+
F
+
"
)['
\"
]?
\\
]
"
),
TAG
:
new
RegExp
(
"
^(
"
+
F
.
replace
(
"
w
"
,
"
w*
"
)
+
"
)
"
),
ATTR
:
new
RegExp
(
"
^
"
+
I
),
PSEUDO
:
new
RegExp
(
"
^
"
+
J
),
POS
:
new
RegExp
(
K
,
"
i
"
),
CHILD
:
new
RegExp
(
"
^:(only|nth|first|last)-child(?:
\\
(
"
+
E
+
"
*(even|odd|(([+-]|)(
\\
d*)n|)
"
+
E
+
"
*(?:([+-]|)
"
+
E
+
"
*(
\\
d+)|))
"
+
E
+
"
*
\\
)|)
"
,
"
i
"
),
needsContext
:
new
RegExp
(
"
^
"
+
E
+
"
*[>+~]|
"
+
K
,
"
i
"
)},
X
=
function
(
a
){
var
b
=
r
.
createElement
(
"
div
"
);
try
{
return
a
(
b
)}
catch
(
c
){
return
!
1
}
finally
{
b
=
null
}},
Y
=
X
(
function
(
a
){
return
a
.
appendChild
(
r
.
createComment
(
""
)),
!
a
.
getElementsByTagName
(
"
*
"
).
length
}),
Z
=
X
(
function
(
a
){
return
a
.
innerHTML
=
"
<a href='#'></a>
"
,
a
.
firstChild
&&
typeof
a
.
firstChild
.
getAttribute
!==
n
&&
a
.
firstChild
.
getAttribute
(
"
href
"
)
===
"
#
"
}),
$
=
X
(
function
(
a
){
a
.
innerHTML
=
"
<select></select>
"
;
var
b
=
typeof
a
.
lastChild
.
getAttribute
(
"
multiple
"
);
return
b
!==
"
boolean
"
&&
b
!==
"
string
"
}),
_
=
X
(
function
(
a
){
return
a
.
innerHTML
=
"
<div class='hidden e'></div><div class='hidden'></div>
"
,
!
a
.
getElementsByClassName
||!
a
.
getElementsByClassName
(
"
e
"
).
length
?
!
1
:(
a
.
lastChild
.
className
=
"
e
"
,
a
.
getElementsByClassName
(
"
e
"
).
length
===
2
)}),
ba
=
X
(
function
(
a
){
a
.
id
=
o
+
0
,
a
.
innerHTML
=
"
<a name='
"
+
o
+
"
'></a><div name='
"
+
o
+
"
'></div>
"
,
s
.
insertBefore
(
a
,
s
.
firstChild
);
var
b
=
r
.
getElementsByName
&&
r
.
getElementsByName
(
o
).
length
===
2
+
r
.
getElementsByName
(
o
+
0
).
length
;
return
d
=!
r
.
getElementById
(
o
),
s
.
removeChild
(
a
),
b
});
try
{
x
.
call
(
s
.
childNodes
,
0
)[
0
].
nodeType
}
catch
(
bb
){
x
=
function
(
a
){
var
b
,
c
=
[];
for
(;
b
=
this
[
a
];
a
++
)
c
.
push
(
b
);
return
c
}}
bc
.
matches
=
function
(
a
,
b
){
return
bc
(
a
,
null
,
null
,
b
)},
bc
.
matchesSelector
=
function
(
a
,
b
){
return
bc
(
b
,
null
,
null
,[
a
]).
length
>
0
},
f
=
bc
.
getText
=
function
(
a
){
var
b
,
c
=
""
,
d
=
0
,
e
=
a
.
nodeType
;
if
(
e
){
if
(
e
===
1
||
e
===
9
||
e
===
11
){
if
(
typeof
a
.
textContent
==
"
string
"
)
return
a
.
textContent
;
for
(
a
=
a
.
firstChild
;
a
;
a
=
a
.
nextSibling
)
c
+=
f
(
a
)}
else
if
(
e
===
3
||
e
===
4
)
return
a
.
nodeValue
}
else
for
(;
b
=
a
[
d
];
d
++
)
c
+=
f
(
b
);
return
c
},
g
=
bc
.
isXML
=
function
(
a
){
var
b
=
a
&&
(
a
.
ownerDocument
||
a
).
documentElement
;
return
b
?
b
.
nodeName
!==
"
HTML
"
:
!
1
},
h
=
bc
.
con