Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
X
XXL-JOB
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
靳帅
XXL-JOB
Commits
16b6a611
提交
16b6a611
authored
11月 03, 2018
作者:
xuxueli
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
多项UI组件升级到最新版本
上级
de888803
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
4 行增加
和
4 行删除
+4
-4
XXL-JOB官方文档.md
doc/XXL-JOB官方文档.md
+1
-1
pace.min.js
...-admin/src/main/resources/static/plugins/pace/pace.min.js
+3
-3
没有找到文件。
doc/XXL-JOB官方文档.md
浏览文件 @
16b6a611
...
...
@@ -1343,7 +1343,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
-
10、命令行任务:原生提供通用命令行任务Handler(Bean任务,"CommandJobHandler");业务方只需要提供命令行即可;
-
11、项目依赖升级 groovy 至较新稳定版本;pom清理;
-
12、子任务失败重试重试逻辑优化,子任务失败时将会按照其预设的失败重试次数主动进行重试
-
13、多项UI组件升级到最新版本,如:layer;
-
13、多项UI组件升级到最新版本,如:layer
/pace
;
-
14、
[
迭代中
]
docker镜像,并且推送docker镜像到中央仓库,更进一步实现产品开箱即用;
...
...
xxl-job-admin/src/main/resources/static/plugins/pace/pace.min.js
浏览文件 @
16b6a611
/*! pace 0.7.1 */
(
function
(){
var
a
,
b
,
c
,
d
,
e
,
f
,
g
,
h
,
i
,
j
,
k
,
l
,
m
,
n
,
o
,
p
,
q
,
r
,
s
,
t
,
u
,
v
,
w
,
x
,
y
,
z
,
A
,
B
,
C
,
D
,
E
,
F
,
G
,
H
,
I
,
J
,
K
,
L
,
M
,
N
,
O
,
P
,
Q
,
R
,
S
,
T
,
U
,
V
,
W
,
X
=
[].
slice
,
Y
=
{}.
hasOwnProperty
,
Z
=
function
(
a
,
b
){
function
c
(){
this
.
constructor
=
a
}
for
(
var
d
in
b
)
Y
.
call
(
b
,
d
)
&&
(
a
[
d
]
=
b
[
d
]);
return
c
.
prototype
=
b
.
prototype
,
a
.
prototype
=
new
c
,
a
.
__super__
=
b
.
prototype
,
a
},
$
=
[].
indexOf
||
function
(
a
){
for
(
var
b
=
0
,
c
=
this
.
length
;
c
>
b
;
b
++
)
if
(
b
in
this
&&
this
[
b
]
===
a
)
return
b
;
return
-
1
};
for
(
u
=
{
catchupTime
:
100
,
initialRate
:.
03
,
minTime
:
250
,
ghostTime
:
100
,
maxProgressPerFrame
:
20
,
easeFactor
:
1.25
,
startOnPageLoad
:
!
0
,
restartOnPushState
:
!
0
,
restartOnRequestAfter
:
500
,
target
:
"body"
,
elements
:{
checkInterval
:
100
,
selectors
:[
"body"
]},
eventLag
:{
minSamples
:
10
,
sampleCount
:
3
,
lagThreshold
:
3
},
ajax
:{
trackMethods
:[
"GET"
],
trackWebSockets
:
!
0
,
ignoreURLs
:[]}},
C
=
function
(){
var
a
;
return
null
!=
(
a
=
"undefined"
!=
typeof
performance
&&
null
!==
performance
&&
"function"
==
typeof
performance
.
now
?
performance
.
now
():
void
0
)?
a
:
+
new
Date
},
E
=
window
.
requestAnimationFrame
||
window
.
mozRequestAnimationFrame
||
window
.
webkitRequestAnimationFrame
||
window
.
msRequestAnimationFrame
,
t
=
window
.
cancelAnimationFrame
||
window
.
mozCancelAnimationFrame
,
null
==
E
&&
(
E
=
function
(
a
){
return
setTimeout
(
a
,
50
)},
t
=
function
(
a
){
return
clearTimeout
(
a
)}),
G
=
function
(
a
){
var
b
,
c
;
return
b
=
C
(),(
c
=
function
(){
var
d
;
return
d
=
C
()
-
b
,
d
>=
33
?(
b
=
C
(),
a
(
d
,
function
(){
return
E
(
c
)})):
setTimeout
(
c
,
33
-
d
)})()},
F
=
function
(){
var
a
,
b
,
c
;
return
c
=
arguments
[
0
],
b
=
arguments
[
1
],
a
=
3
<=
arguments
.
length
?
X
.
call
(
arguments
,
2
):[],
"function"
==
typeof
c
[
b
]?
c
[
b
].
apply
(
c
,
a
):
c
[
b
]},
v
=
function
(){
var
a
,
b
,
c
,
d
,
e
,
f
,
g
;
for
(
b
=
arguments
[
0
],
d
=
2
<=
arguments
.
length
?
X
.
call
(
arguments
,
1
):[],
f
=
0
,
g
=
d
.
length
;
g
>
f
;
f
++
)
if
(
c
=
d
[
f
])
for
(
a
in
c
)
Y
.
call
(
c
,
a
)
&&
(
e
=
c
[
a
],
null
!=
b
[
a
]
&&
"object"
==
typeof
b
[
a
]
&&
null
!=
e
&&
"object"
==
typeof
e
?
v
(
b
[
a
],
e
):
b
[
a
]
=
e
);
return
b
},
q
=
function
(
a
){
var
b
,
c
,
d
,
e
,
f
;
for
(
c
=
b
=
0
,
e
=
0
,
f
=
a
.
length
;
f
>
e
;
e
++
)
d
=
a
[
e
],
c
+=
Math
.
abs
(
d
),
b
++
;
return
c
/
b
},
x
=
function
(
a
,
b
){
var
c
,
d
,
e
;
if
(
null
==
a
&&
(
a
=
"options"
),
null
==
b
&&
(
b
=!
0
),
e
=
document
.
querySelector
(
"[data-pace-"
+
a
+
"]"
)){
if
(
c
=
e
.
getAttribute
(
"data-pace-"
+
a
),
!
b
)
return
c
;
try
{
return
JSON
.
parse
(
c
)}
catch
(
f
){
return
d
=
f
,
"undefined"
!=
typeof
console
&&
null
!==
console
?
console
.
error
(
"Error parsing inline pace options"
,
d
):
void
0
}}},
g
=
function
(){
function
a
(){}
return
a
.
prototype
.
on
=
function
(
a
,
b
,
c
,
d
){
var
e
;
return
null
==
d
&&
(
d
=!
1
),
null
==
this
.
bindings
&&
(
this
.
bindings
=
{}),
null
==
(
e
=
this
.
bindings
)[
a
]
&&
(
e
[
a
]
=
[]),
this
.
bindings
[
a
].
push
({
handler
:
b
,
ctx
:
c
,
once
:
d
})},
a
.
prototype
.
once
=
function
(
a
,
b
,
c
){
return
this
.
on
(
a
,
b
,
c
,
!
0
)},
a
.
prototype
.
off
=
function
(
a
,
b
){
var
c
,
d
,
e
;
if
(
null
!=
(
null
!=
(
d
=
this
.
bindings
)?
d
[
a
]:
void
0
)){
if
(
null
==
b
)
return
delete
this
.
bindings
[
a
];
for
(
c
=
0
,
e
=
[];
c
<
this
.
bindings
[
a
].
length
;)
e
.
push
(
this
.
bindings
[
a
][
c
].
handler
===
b
?
this
.
bindings
[
a
].
splice
(
c
,
1
):
c
++
);
return
e
}},
a
.
prototype
.
trigger
=
function
(){
var
a
,
b
,
c
,
d
,
e
,
f
,
g
,
h
,
i
;
if
(
c
=
arguments
[
0
],
a
=
2
<=
arguments
.
length
?
X
.
call
(
arguments
,
1
):[],
null
!=
(
g
=
this
.
bindings
)?
g
[
c
]:
void
0
){
for
(
e
=
0
,
i
=
[];
e
<
this
.
bindings
[
c
].
length
;)
h
=
this
.
bindings
[
c
][
e
],
d
=
h
.
handler
,
b
=
h
.
ctx
,
f
=
h
.
once
,
d
.
apply
(
null
!=
b
?
b
:
this
,
a
),
i
.
push
(
f
?
this
.
bindings
[
c
].
splice
(
e
,
1
):
e
++
);
return
i
}},
a
}(),
j
=
window
.
Pace
||
{},
window
.
Pace
=
j
,
v
(
j
,
g
.
prototype
),
D
=
j
.
options
=
v
({},
u
,
window
.
paceOptions
,
x
()),
U
=
[
"ajax"
,
"document"
,
"eventLag"
,
"elements"
],
Q
=
0
,
S
=
U
.
length
;
S
>
Q
;
Q
++
)
K
=
U
[
Q
],
D
[
K
]
===!
0
&&
(
D
[
K
]
=
u
[
K
]);
i
=
function
(
a
){
function
b
(){
return
V
=
b
.
__super__
.
constructor
.
apply
(
this
,
arguments
)}
return
Z
(
b
,
a
),
b
}(
Error
),
b
=
function
(){
function
a
(){
this
.
progress
=
0
}
return
a
.
prototype
.
getElement
=
function
(){
var
a
;
if
(
null
==
this
.
el
){
if
(
a
=
document
.
querySelector
(
D
.
target
),
!
a
)
throw
new
i
;
this
.
el
=
document
.
createElement
(
"div"
),
this
.
el
.
className
=
"pace pace-active"
,
document
.
body
.
className
=
document
.
body
.
className
.
replace
(
/pace-done/g
,
""
),
document
.
body
.
className
+=
" pace-running"
,
this
.
el
.
innerHTML
=
'<div class="pace-progress">
\
n <div class="pace-progress-inner"></div>
\
n</div>
\
n<div class="pace-activity"></div>'
,
null
!=
a
.
firstChild
?
a
.
insertBefore
(
this
.
el
,
a
.
firstChild
):
a
.
appendChild
(
this
.
el
)}
return
this
.
el
},
a
.
prototype
.
finish
=
function
(){
var
a
;
return
a
=
this
.
getElement
(),
a
.
className
=
a
.
className
.
replace
(
"pace-active"
,
""
),
a
.
className
+=
" pace-inactive"
,
document
.
body
.
className
=
document
.
body
.
className
.
replace
(
"pace-running"
,
""
),
document
.
body
.
className
+=
" pace-done"
},
a
.
prototype
.
update
=
function
(
a
){
return
this
.
progress
=
a
,
this
.
render
()},
a
.
prototype
.
destroy
=
function
(){
try
{
this
.
getElement
().
parentNode
.
removeChild
(
this
.
getElement
())}
catch
(
a
){
i
=
a
}
return
this
.
el
=
void
0
},
a
.
prototype
.
render
=
function
(){
var
a
,
b
;
return
null
==
document
.
querySelector
(
D
.
target
)?
!
1
:(
a
=
this
.
getElement
(),
a
.
children
[
0
].
style
.
width
=
""
+
this
.
progress
+
"%"
,(
!
this
.
lastRenderedProgress
||
this
.
lastRenderedProgress
|
0
!==
this
.
progress
|
0
)
&&
(
a
.
children
[
0
].
setAttribute
(
"data-progress-text"
,
""
+
(
0
|
this
.
progress
)
+
"%"
),
this
.
progress
>=
100
?
b
=
"99"
:(
b
=
this
.
progress
<
10
?
"0"
:
""
,
b
+=
0
|
this
.
progress
),
a
.
children
[
0
].
setAttribute
(
"data-progress"
,
""
+
b
)),
this
.
lastRenderedProgress
=
this
.
progress
)},
a
.
prototype
.
done
=
function
(){
return
this
.
progress
>=
100
},
a
}(),
h
=
function
(){
function
a
(){
this
.
bindings
=
{}}
return
a
.
prototype
.
trigger
=
function
(
a
,
b
){
var
c
,
d
,
e
,
f
,
g
;
if
(
null
!=
this
.
bindings
[
a
]){
for
(
f
=
this
.
bindings
[
a
],
g
=
[],
d
=
0
,
e
=
f
.
length
;
e
>
d
;
d
++
)
c
=
f
[
d
],
g
.
push
(
c
.
call
(
this
,
b
));
return
g
}},
a
.
prototype
.
on
=
function
(
a
,
b
){
var
c
;
return
null
==
(
c
=
this
.
bindings
)[
a
]
&&
(
c
[
a
]
=
[]),
this
.
bindings
[
a
].
push
(
b
)},
a
}(),
P
=
window
.
XMLHttpRequest
,
O
=
window
.
XDomainRequest
,
N
=
window
.
WebSocket
,
w
=
function
(
a
,
b
){
var
c
,
d
,
e
,
f
;
f
=
[];
for
(
d
in
b
.
prototype
)
try
{
e
=
b
.
prototype
[
d
],
f
.
push
(
null
==
a
[
d
]
&&
"function"
!=
typeof
e
?
a
[
d
]
=
e
:
void
0
)}
catch
(
g
){
c
=
g
}
return
f
},
A
=
[],
j
.
ignore
=
function
(){
var
a
,
b
,
c
;
return
b
=
arguments
[
0
],
a
=
2
<=
arguments
.
length
?
X
.
call
(
arguments
,
1
):[],
A
.
unshift
(
"ignore"
),
c
=
b
.
apply
(
null
,
a
),
A
.
shift
(),
c
},
j
.
track
=
function
(){
var
a
,
b
,
c
;
return
b
=
arguments
[
0
],
a
=
2
<=
arguments
.
length
?
X
.
call
(
arguments
,
1
):[],
A
.
unshift
(
"track"
),
c
=
b
.
apply
(
null
,
a
),
A
.
shift
(),
c
},
J
=
function
(
a
){
var
b
;
if
(
null
==
a
&&
(
a
=
"GET"
),
"track"
===
A
[
0
])
return
"force"
;
if
(
!
A
.
length
&&
D
.
ajax
){
if
(
"socket"
===
a
&&
D
.
ajax
.
trackWebSockets
)
return
!
0
;
if
(
b
=
a
.
toUpperCase
(),
$
.
call
(
D
.
ajax
.
trackMethods
,
b
)
>=
0
)
return
!
0
}
return
!
1
},
k
=
function
(
a
){
function
b
(){
var
a
,
c
=
this
;
b
.
__super__
.
constructor
.
apply
(
this
,
arguments
),
a
=
function
(
a
){
var
b
;
return
b
=
a
.
open
,
a
.
open
=
function
(
d
,
e
){
return
J
(
d
)
&&
c
.
trigger
(
"request"
,{
type
:
d
,
url
:
e
,
request
:
a
}),
b
.
apply
(
a
,
arguments
)}},
window
.
XMLHttpRequest
=
function
(
b
){
var
c
;
return
c
=
new
P
(
b
),
a
(
c
),
c
};
try
{
w
(
window
.
XMLHttpRequest
,
P
)}
catch
(
d
){}
if
(
null
!=
O
){
window
.
XDomainRequest
=
function
(){
var
b
;
return
b
=
new
O
,
a
(
b
),
b
};
try
{
w
(
window
.
XDomainRequest
,
O
)}
catch
(
d
){}}
if
(
null
!=
N
&&
D
.
ajax
.
trackWebSockets
){
window
.
WebSocket
=
function
(
a
,
b
){
var
d
;
return
d
=
null
!=
b
?
new
N
(
a
,
b
):
new
N
(
a
),
J
(
"socket"
)
&&
c
.
trigger
(
"request"
,{
type
:
"socket"
,
url
:
a
,
protocols
:
b
,
request
:
d
}),
d
};
try
{
w
(
window
.
WebSocket
,
N
)}
catch
(
d
){}}}
return
Z
(
b
,
a
),
b
}(
h
),
R
=
null
,
y
=
function
(){
return
null
==
R
&&
(
R
=
new
k
),
R
},
I
=
function
(
a
){
var
b
,
c
,
d
,
e
;
for
(
e
=
D
.
ajax
.
ignoreURLs
,
c
=
0
,
d
=
e
.
length
;
d
>
c
;
c
++
)
if
(
b
=
e
[
c
],
"string"
==
typeof
b
){
if
(
-
1
!==
a
.
indexOf
(
b
))
return
!
0
}
else
if
(
b
.
test
(
a
))
return
!
0
;
return
!
1
},
y
().
on
(
"request"
,
function
(
b
){
var
c
,
d
,
e
,
f
,
g
;
return
f
=
b
.
type
,
e
=
b
.
request
,
g
=
b
.
url
,
I
(
g
)?
void
0
:
j
.
running
||
D
.
restartOnRequestAfter
===!
1
&&
"force"
!==
J
(
f
)?
void
0
:(
d
=
arguments
,
c
=
D
.
restartOnRequestAfter
||
0
,
"boolean"
==
typeof
c
&&
(
c
=
0
),
setTimeout
(
function
(){
var
b
,
c
,
g
,
h
,
i
,
k
;
if
(
b
=
"socket"
===
f
?
e
.
readyState
<
2
:
0
<
(
h
=
e
.
readyState
)
&&
4
>
h
){
for
(
j
.
restart
(),
i
=
j
.
sources
,
k
=
[],
c
=
0
,
g
=
i
.
length
;
g
>
c
;
c
++
){
if
(
K
=
i
[
c
],
K
instanceof
a
){
K
.
watch
.
apply
(
K
,
d
);
break
}
k
.
push
(
void
0
)}
return
k
}},
c
))}),
a
=
function
(){
function
a
(){
var
a
=
this
;
this
.
elements
=
[],
y
().
on
(
"request"
,
function
(){
return
a
.
watch
.
apply
(
a
,
arguments
)})}
return
a
.
prototype
.
watch
=
function
(
a
){
var
b
,
c
,
d
,
e
;
return
d
=
a
.
type
,
b
=
a
.
request
,
e
=
a
.
url
,
I
(
e
)?
void
0
:(
c
=
"socket"
===
d
?
new
n
(
b
):
new
o
(
b
),
this
.
elements
.
push
(
c
))},
a
}(),
o
=
function
(){
function
a
(
a
){
var
b
,
c
,
d
,
e
,
f
,
g
,
h
=
this
;
if
(
this
.
progress
=
0
,
null
!=
window
.
ProgressEvent
)
for
(
c
=
null
,
a
.
addEventListener
(
"progress"
,
function
(
a
){
return
h
.
progress
=
a
.
lengthComputable
?
100
*
a
.
loaded
/
a
.
total
:
h
.
progress
+
(
100
-
h
.
progress
)
/
2
},
!
1
),
g
=
[
"load"
,
"abort"
,
"timeout"
,
"error"
],
d
=
0
,
e
=
g
.
length
;
e
>
d
;
d
++
)
b
=
g
[
d
],
a
.
addEventListener
(
b
,
function
(){
return
h
.
progress
=
100
},
!
1
);
else
f
=
a
.
onreadystatechange
,
a
.
onreadystatechange
=
function
(){
var
b
;
return
0
===
(
b
=
a
.
readyState
)
||
4
===
b
?
h
.
progress
=
100
:
3
===
a
.
readyState
&&
(
h
.
progress
=
50
),
"function"
==
typeof
f
?
f
.
apply
(
null
,
arguments
):
void
0
}}
return
a
}(),
n
=
function
(){
function
a
(
a
){
var
b
,
c
,
d
,
e
,
f
=
this
;
for
(
this
.
progress
=
0
,
e
=
[
"error"
,
"open"
],
c
=
0
,
d
=
e
.
length
;
d
>
c
;
c
++
)
b
=
e
[
c
],
a
.
addEventListener
(
b
,
function
(){
return
f
.
progress
=
100
},
!
1
)}
return
a
}(),
d
=
function
(){
function
a
(
a
){
var
b
,
c
,
d
,
f
;
for
(
null
==
a
&&
(
a
=
{}),
this
.
elements
=
[],
null
==
a
.
selectors
&&
(
a
.
selectors
=
[]),
f
=
a
.
selectors
,
c
=
0
,
d
=
f
.
length
;
d
>
c
;
c
++
)
b
=
f
[
c
],
this
.
elements
.
push
(
new
e
(
b
))}
return
a
}(),
e
=
function
(){
function
a
(
a
){
this
.
selector
=
a
,
this
.
progress
=
0
,
this
.
check
()}
return
a
.
prototype
.
check
=
function
(){
var
a
=
this
;
return
document
.
querySelector
(
this
.
selector
)?
this
.
done
():
setTimeout
(
function
(){
return
a
.
check
()},
D
.
elements
.
checkInterval
)},
a
.
prototype
.
done
=
function
(){
return
this
.
progress
=
100
},
a
}(),
c
=
function
(){
function
a
(){
var
a
,
b
,
c
=
this
;
this
.
progress
=
null
!=
(
b
=
this
.
states
[
document
.
readyState
])?
b
:
100
,
a
=
document
.
onreadystatechange
,
document
.
onreadystatechange
=
function
(){
return
null
!=
c
.
states
[
document
.
readyState
]
&&
(
c
.
progress
=
c
.
states
[
document
.
readyState
]),
"function"
==
typeof
a
?
a
.
apply
(
null
,
arguments
):
void
0
}}
return
a
.
prototype
.
states
=
{
loading
:
0
,
interactive
:
50
,
complete
:
100
},
a
}(),
f
=
function
(){
function
a
(){
var
a
,
b
,
c
,
d
,
e
,
f
=
this
;
this
.
progress
=
0
,
a
=
0
,
e
=
[],
d
=
0
,
c
=
C
(),
b
=
setInterval
(
function
(){
var
g
;
return
g
=
C
()
-
c
-
50
,
c
=
C
(),
e
.
push
(
g
),
e
.
length
>
D
.
eventLag
.
sampleCount
&&
e
.
shift
(),
a
=
q
(
e
),
++
d
>=
D
.
eventLag
.
minSamples
&&
a
<
D
.
eventLag
.
lagThreshold
?(
f
.
progress
=
100
,
clearInterval
(
b
)):
f
.
progress
=
100
*
(
3
/
(
a
+
3
))},
50
)}
return
a
}(),
m
=
function
(){
function
a
(
a
){
this
.
source
=
a
,
this
.
last
=
this
.
sinceLastUpdate
=
0
,
this
.
rate
=
D
.
initialRate
,
this
.
catchup
=
0
,
this
.
progress
=
this
.
lastProgress
=
0
,
null
!=
this
.
source
&&
(
this
.
progress
=
F
(
this
.
source
,
"progress"
))}
return
a
.
prototype
.
tick
=
function
(
a
,
b
){
var
c
;
return
null
==
b
&&
(
b
=
F
(
this
.
source
,
"progress"
)),
b
>=
100
&&
(
this
.
done
=!
0
),
b
===
this
.
last
?
this
.
sinceLastUpdate
+=
a
:(
this
.
sinceLastUpdate
&&
(
this
.
rate
=
(
b
-
this
.
last
)
/
this
.
sinceLastUpdate
),
this
.
catchup
=
(
b
-
this
.
progress
)
/
D
.
catchupTime
,
this
.
sinceLastUpdate
=
0
,
this
.
last
=
b
),
b
>
this
.
progress
&&
(
this
.
progress
+=
this
.
catchup
*
a
),
c
=
1
-
Math
.
pow
(
this
.
progress
/
100
,
D
.
easeFactor
),
this
.
progress
+=
c
*
this
.
rate
*
a
,
this
.
progress
=
Math
.
min
(
this
.
lastProgress
+
D
.
maxProgressPerFrame
,
this
.
progress
),
this
.
progress
=
Math
.
max
(
0
,
this
.
progress
),
this
.
progress
=
Math
.
min
(
100
,
this
.
progress
),
this
.
lastProgress
=
this
.
progress
,
this
.
progress
},
a
}(),
L
=
null
,
H
=
null
,
r
=
null
,
M
=
null
,
p
=
null
,
s
=
null
,
j
.
running
=!
1
,
z
=
function
(){
return
D
.
restartOnPushState
?
j
.
restart
():
void
0
},
null
!=
window
.
history
.
pushState
&&
(
T
=
window
.
history
.
pushState
,
window
.
history
.
pushState
=
function
(){
return
z
(),
T
.
apply
(
window
.
history
,
arguments
)}),
null
!=
window
.
history
.
replaceState
&&
(
W
=
window
.
history
.
replaceState
,
window
.
history
.
replaceState
=
function
(){
return
z
(),
W
.
apply
(
window
.
history
,
arguments
)}),
l
=
{
ajax
:
a
,
elements
:
d
,
document
:
c
,
eventLag
:
f
},(
B
=
function
(){
var
a
,
c
,
d
,
e
,
f
,
g
,
h
,
i
;
for
(
j
.
sources
=
L
=
[],
g
=
[
"ajax"
,
"elements"
,
"document"
,
"eventLag"
],
c
=
0
,
e
=
g
.
length
;
e
>
c
;
c
++
)
a
=
g
[
c
],
D
[
a
]
!==!
1
&&
L
.
push
(
new
l
[
a
](
D
[
a
]));
for
(
i
=
null
!=
(
h
=
D
.
extraSources
)?
h
:[],
d
=
0
,
f
=
i
.
length
;
f
>
d
;
d
++
)
K
=
i
[
d
],
L
.
push
(
new
K
(
D
));
return
j
.
bar
=
r
=
new
b
,
H
=
[],
M
=
new
m
})(),
j
.
stop
=
function
(){
return
j
.
trigger
(
"stop"
),
j
.
running
=!
1
,
r
.
destroy
(),
s
=!
0
,
null
!=
p
&&
(
"function"
==
typeof
t
&&
t
(
p
),
p
=
null
),
B
()},
j
.
restart
=
function
(){
return
j
.
trigger
(
"restart"
),
j
.
stop
(),
j
.
start
()},
j
.
go
=
function
(){
var
a
;
return
j
.
running
=!
0
,
r
.
render
(),
a
=
C
(),
s
=!
1
,
p
=
G
(
function
(
b
,
c
){
var
d
,
e
,
f
,
g
,
h
,
i
,
k
,
l
,
n
,
o
,
p
,
q
,
t
,
u
,
v
,
w
;
for
(
l
=
100
-
r
.
progress
,
e
=
p
=
0
,
f
=!
0
,
i
=
q
=
0
,
u
=
L
.
length
;
u
>
q
;
i
=++
q
)
for
(
K
=
L
[
i
],
o
=
null
!=
H
[
i
]?
H
[
i
]:
H
[
i
]
=
[],
h
=
null
!=
(
w
=
K
.
elements
)?
w
:[
K
],
k
=
t
=
0
,
v
=
h
.
length
;
v
>
t
;
k
=++
t
)
g
=
h
[
k
],
n
=
null
!=
o
[
k
]?
o
[
k
]:
o
[
k
]
=
new
m
(
g
),
f
&=
n
.
done
,
n
.
done
||
(
e
++
,
p
+=
n
.
tick
(
b
));
return
d
=
p
/
e
,
r
.
update
(
M
.
tick
(
b
,
d
)),
r
.
done
()
||
f
||
s
?(
r
.
update
(
100
),
j
.
trigger
(
"done"
),
setTimeout
(
function
(){
return
r
.
finish
(),
j
.
running
=!
1
,
j
.
trigger
(
"hide"
)},
Math
.
max
(
D
.
ghostTime
,
Math
.
max
(
D
.
minTime
-
(
C
()
-
a
),
0
)))):
c
()})},
j
.
start
=
function
(
a
){
v
(
D
,
a
),
j
.
running
=!
0
;
try
{
r
.
render
()}
catch
(
b
){
i
=
b
}
return
document
.
querySelector
(
".pace"
)?(
j
.
trigger
(
"start"
),
j
.
go
()):
setTimeout
(
j
.
start
,
50
)},
"function"
==
typeof
define
&&
define
.
amd
?
define
(
function
(){
return
j
}):
"object"
==
typeof
exports
?
module
.
exports
=
j
:
D
.
startOnPageLoad
&&
j
.
start
()}).
call
(
this
);
\ No newline at end of file
/*! pace 0.7.8 */
(
function
(){
var
a
,
b
,
c
,
d
,
e
,
f
,
g
,
h
,
i
,
j
,
k
,
l
,
m
,
n
,
o
,
p
,
q
,
r
,
s
,
t
,
u
,
v
,
w
,
x
,
y
,
z
,
A
,
B
,
C
,
D
,
E
,
F
,
G
,
H
,
I
,
J
,
K
,
L
,
M
,
N
,
O
,
P
,
Q
,
R
,
S
,
T
,
U
,
V
,
W
,
X
,
Y
=
[].
slice
,
Z
=
{}.
hasOwnProperty
,
$
=
function
(
a
,
b
){
function
c
(){
this
.
constructor
=
a
}
for
(
var
d
in
b
)
Z
.
call
(
b
,
d
)
&&
(
a
[
d
]
=
b
[
d
]);
return
c
.
prototype
=
b
.
prototype
,
a
.
prototype
=
new
c
,
a
.
__super__
=
b
.
prototype
,
a
},
_
=
[].
indexOf
||
function
(
a
){
for
(
var
b
=
0
,
c
=
this
.
length
;
c
>
b
;
b
++
)
if
(
b
in
this
&&
this
[
b
]
===
a
)
return
b
;
return
-
1
};
for
(
u
=
{
hidePage
:
!
1
,
catchupTime
:
100
,
initialRate
:.
03
,
minTime
:
250
,
ghostTime
:
100
,
maxProgressPerFrame
:
20
,
easeFactor
:
1.25
,
startOnPageLoad
:
!
0
,
restartOnPushState
:
!
0
,
restartOnRequestAfter
:
500
,
target
:
"body"
,
elements
:{
checkInterval
:
100
,
selectors
:[
"body"
]},
eventLag
:{
minSamples
:
10
,
sampleCount
:
3
,
lagThreshold
:
3
},
ajax
:{
trackMethods
:[
"GET"
],
trackWebSockets
:
!
0
,
ignoreURLs
:[]}},
C
=
function
(){
var
a
;
return
null
!=
(
a
=
"undefined"
!=
typeof
performance
&&
null
!==
performance
&&
"function"
==
typeof
performance
.
now
?
performance
.
now
():
void
0
)?
a
:
+
new
Date
},
F
=
window
.
requestAnimationFrame
||
window
.
mozRequestAnimationFrame
||
window
.
webkitRequestAnimationFrame
||
window
.
msRequestAnimationFrame
,
t
=
window
.
cancelAnimationFrame
||
window
.
mozCancelAnimationFrame
,
null
==
F
&&
(
F
=
function
(
a
){
return
setTimeout
(
a
,
50
)},
t
=
function
(
a
){
return
clearTimeout
(
a
)}),
H
=
function
(
a
){
var
b
,
c
;
return
b
=
C
(),(
c
=
function
(){
var
d
;
return
d
=
C
()
-
b
,
d
>=
33
?(
b
=
C
(),
a
(
d
,
function
(){
return
F
(
c
)})):
setTimeout
(
c
,
33
-
d
)})()},
G
=
function
(){
var
a
,
b
,
c
;
return
c
=
arguments
[
0
],
b
=
arguments
[
1
],
a
=
3
<=
arguments
.
length
?
Y
.
call
(
arguments
,
2
):[],
"function"
==
typeof
c
[
b
]?
c
[
b
].
apply
(
c
,
a
):
c
[
b
]},
v
=
function
(){
var
a
,
b
,
c
,
d
,
e
,
f
,
g
;
for
(
b
=
arguments
[
0
],
d
=
2
<=
arguments
.
length
?
Y
.
call
(
arguments
,
1
):[],
f
=
0
,
g
=
d
.
length
;
g
>
f
;
f
++
)
if
(
c
=
d
[
f
])
for
(
a
in
c
)
Z
.
call
(
c
,
a
)
&&
(
e
=
c
[
a
],
null
!=
b
[
a
]
&&
"object"
==
typeof
b
[
a
]
&&
null
!=
e
&&
"object"
==
typeof
e
?
v
(
b
[
a
],
e
):
b
[
a
]
=
e
);
return
b
},
q
=
function
(
a
){
var
b
,
c
,
d
,
e
,
f
;
for
(
c
=
b
=
0
,
e
=
0
,
f
=
a
.
length
;
f
>
e
;
e
++
)
d
=
a
[
e
],
c
+=
Math
.
abs
(
d
),
b
++
;
return
c
/
b
},
x
=
function
(
a
,
b
){
var
c
,
d
,
e
;
if
(
null
==
a
&&
(
a
=
"options"
),
null
==
b
&&
(
b
=!
0
),
e
=
document
.
querySelector
(
"[data-pace-"
+
a
+
"]"
)){
if
(
c
=
e
.
getAttribute
(
"data-pace-"
+
a
),
!
b
)
return
c
;
try
{
return
JSON
.
parse
(
c
)}
catch
(
f
){
return
d
=
f
,
"undefined"
!=
typeof
console
&&
null
!==
console
?
console
.
error
(
"Error parsing inline pace options"
,
d
):
void
0
}}},
g
=
function
(){
function
a
(){}
return
a
.
prototype
.
on
=
function
(
a
,
b
,
c
,
d
){
var
e
;
return
null
==
d
&&
(
d
=!
1
),
null
==
this
.
bindings
&&
(
this
.
bindings
=
{}),
null
==
(
e
=
this
.
bindings
)[
a
]
&&
(
e
[
a
]
=
[]),
this
.
bindings
[
a
].
push
({
handler
:
b
,
ctx
:
c
,
once
:
d
})},
a
.
prototype
.
once
=
function
(
a
,
b
,
c
){
return
this
.
on
(
a
,
b
,
c
,
!
0
)},
a
.
prototype
.
off
=
function
(
a
,
b
){
var
c
,
d
,
e
;
if
(
null
!=
(
null
!=
(
d
=
this
.
bindings
)?
d
[
a
]:
void
0
)){
if
(
null
==
b
)
return
delete
this
.
bindings
[
a
];
for
(
c
=
0
,
e
=
[];
c
<
this
.
bindings
[
a
].
length
;)
this
.
bindings
[
a
][
c
].
handler
===
b
?
e
.
push
(
this
.
bindings
[
a
].
splice
(
c
,
1
)):
e
.
push
(
c
++
);
return
e
}},
a
.
prototype
.
trigger
=
function
(){
var
a
,
b
,
c
,
d
,
e
,
f
,
g
,
h
,
i
;
if
(
c
=
arguments
[
0
],
a
=
2
<=
arguments
.
length
?
Y
.
call
(
arguments
,
1
):[],
null
!=
(
g
=
this
.
bindings
)?
g
[
c
]:
void
0
){
for
(
e
=
0
,
i
=
[];
e
<
this
.
bindings
[
c
].
length
;)
h
=
this
.
bindings
[
c
][
e
],
d
=
h
.
handler
,
b
=
h
.
ctx
,
f
=
h
.
once
,
d
.
apply
(
null
!=
b
?
b
:
this
,
a
),
f
?
i
.
push
(
this
.
bindings
[
c
].
splice
(
e
,
1
)):
i
.
push
(
e
++
);
return
i
}},
a
}(),
j
=
window
.
Pace
||
{},
window
.
Pace
=
j
,
v
(
j
,
g
.
prototype
),
D
=
j
.
options
=
v
({},
u
,
window
.
paceOptions
,
x
()),
V
=
[
"ajax"
,
"document"
,
"eventLag"
,
"elements"
],
R
=
0
,
T
=
V
.
length
;
T
>
R
;
R
++
)
L
=
V
[
R
],
D
[
L
]
===!
0
&&
(
D
[
L
]
=
u
[
L
]);
i
=
function
(
a
){
function
b
(){
return
W
=
b
.
__super__
.
constructor
.
apply
(
this
,
arguments
)}
return
$
(
b
,
a
),
b
}(
Error
),
b
=
function
(){
function
a
(){
this
.
progress
=
0
}
return
a
.
prototype
.
getElement
=
function
(){
var
a
;
if
(
null
==
this
.
el
){
if
(
a
=
document
.
querySelector
(
D
.
target
),
!
a
)
throw
new
i
;
this
.
el
=
document
.
createElement
(
"div"
),
this
.
el
.
className
=
"pace pace-active"
,
document
.
body
.
className
=
document
.
body
.
className
.
replace
(
/pace-done/g
,
""
),
document
.
body
.
className
+=
" pace-running"
,
this
.
el
.
innerHTML
=
'<div class="pace-progress">
\
n <div class="pace-progress-inner"></div>
\
n</div>
\
n<div class="pace-activity"></div>'
,
null
!=
a
.
firstChild
?
a
.
insertBefore
(
this
.
el
,
a
.
firstChild
):
a
.
appendChild
(
this
.
el
)}
return
this
.
el
},
a
.
prototype
.
finish
=
function
(){
var
a
;
return
a
=
this
.
getElement
(),
a
.
className
=
a
.
className
.
replace
(
"pace-active"
,
""
),
a
.
className
+=
" pace-inactive"
,
document
.
body
.
className
=
document
.
body
.
className
.
replace
(
"pace-running"
,
""
),
document
.
body
.
className
+=
" pace-done"
},
a
.
prototype
.
update
=
function
(
a
){
return
this
.
progress
=
a
,
this
.
render
()},
a
.
prototype
.
destroy
=
function
(){
try
{
this
.
getElement
().
parentNode
.
removeChild
(
this
.
getElement
())}
catch
(
a
){
i
=
a
}
return
this
.
el
=
void
0
},
a
.
prototype
.
render
=
function
(){
var
a
,
b
;
return
null
==
document
.
querySelector
(
D
.
target
)?
!
1
:(
a
=
this
.
getElement
(),
a
.
children
[
0
].
style
.
width
=
""
+
this
.
progress
+
"%"
,(
!
this
.
lastRenderedProgress
||
this
.
lastRenderedProgress
|
0
!==
this
.
progress
|
0
)
&&
(
a
.
children
[
0
].
setAttribute
(
"data-progress-text"
,
""
+
(
0
|
this
.
progress
)
+
"%"
),
this
.
progress
>=
100
?
b
=
"99"
:(
b
=
this
.
progress
<
10
?
"0"
:
""
,
b
+=
0
|
this
.
progress
),
a
.
children
[
0
].
setAttribute
(
"data-progress"
,
""
+
b
)),
this
.
lastRenderedProgress
=
this
.
progress
)},
a
.
prototype
.
done
=
function
(){
return
this
.
progress
>=
100
},
a
}(),
h
=
function
(){
function
a
(){
this
.
bindings
=
{}}
return
a
.
prototype
.
trigger
=
function
(
a
,
b
){
var
c
,
d
,
e
,
f
,
g
;
if
(
null
!=
this
.
bindings
[
a
]){
for
(
f
=
this
.
bindings
[
a
],
g
=
[],
d
=
0
,
e
=
f
.
length
;
e
>
d
;
d
++
)
c
=
f
[
d
],
g
.
push
(
c
.
call
(
this
,
b
));
return
g
}},
a
.
prototype
.
on
=
function
(
a
,
b
){
var
c
;
return
null
==
(
c
=
this
.
bindings
)[
a
]
&&
(
c
[
a
]
=
[]),
this
.
bindings
[
a
].
push
(
b
)},
a
}(),
Q
=
window
.
XMLHttpRequest
,
P
=
window
.
XDomainRequest
,
O
=
window
.
WebSocket
,
w
=
function
(
a
,
b
){
var
c
,
d
,
e
,
f
;
f
=
[];
for
(
d
in
b
.
prototype
)
try
{
e
=
b
.
prototype
[
d
],
null
==
a
[
d
]
&&
"function"
!=
typeof
e
?
f
.
push
(
a
[
d
]
=
e
):
f
.
push
(
void
0
)}
catch
(
g
){
c
=
g
}
return
f
},
A
=
[],
j
.
ignore
=
function
(){
var
a
,
b
,
c
;
return
b
=
arguments
[
0
],
a
=
2
<=
arguments
.
length
?
Y
.
call
(
arguments
,
1
):[],
A
.
unshift
(
"ignore"
),
c
=
b
.
apply
(
null
,
a
),
A
.
shift
(),
c
},
j
.
track
=
function
(){
var
a
,
b
,
c
;
return
b
=
arguments
[
0
],
a
=
2
<=
arguments
.
length
?
Y
.
call
(
arguments
,
1
):[],
A
.
unshift
(
"track"
),
c
=
b
.
apply
(
null
,
a
),
A
.
shift
(),
c
},
K
=
function
(
a
){
var
b
;
if
(
null
==
a
&&
(
a
=
"GET"
),
"track"
===
A
[
0
])
return
"force"
;
if
(
!
A
.
length
&&
D
.
ajax
){
if
(
"socket"
===
a
&&
D
.
ajax
.
trackWebSockets
)
return
!
0
;
if
(
b
=
a
.
toUpperCase
(),
_
.
call
(
D
.
ajax
.
trackMethods
,
b
)
>=
0
)
return
!
0
}
return
!
1
},
k
=
function
(
a
){
function
b
(){
var
a
,
c
=
this
;
b
.
__super__
.
constructor
.
apply
(
this
,
arguments
),
a
=
function
(
a
){
var
b
;
return
b
=
a
.
open
,
a
.
open
=
function
(
d
,
e
,
f
){
return
K
(
d
)
&&
c
.
trigger
(
"request"
,{
type
:
d
,
url
:
e
,
request
:
a
}),
b
.
call
(
a
,
d
,
e
,
f
)}},
window
.
XMLHttpRequest
=
function
(
b
){
var
c
;
return
c
=
new
Q
(
b
),
a
(
c
),
c
};
try
{
w
(
window
.
XMLHttpRequest
,
Q
)}
catch
(
d
){}
if
(
null
!=
P
){
window
.
XDomainRequest
=
function
(){
var
b
;
return
b
=
new
P
,
a
(
b
),
b
};
try
{
w
(
window
.
XDomainRequest
,
P
)}
catch
(
d
){}}
if
(
null
!=
O
&&
D
.
ajax
.
trackWebSockets
){
window
.
WebSocket
=
function
(
a
,
b
){
var
d
;
return
d
=
null
!=
b
?
new
O
(
a
,
b
):
new
O
(
a
),
K
(
"socket"
)
&&
c
.
trigger
(
"request"
,{
type
:
"socket"
,
url
:
a
,
protocols
:
b
,
request
:
d
}),
d
};
try
{
w
(
window
.
WebSocket
,
O
)}
catch
(
d
){}}}
return
$
(
b
,
a
),
b
}(
h
),
S
=
null
,
y
=
function
(){
return
null
==
S
&&
(
S
=
new
k
),
S
},
J
=
function
(
a
){
var
b
,
c
,
d
,
e
;
for
(
e
=
D
.
ajax
.
ignoreURLs
,
c
=
0
,
d
=
e
.
length
;
d
>
c
;
c
++
)
if
(
b
=
e
[
c
],
"string"
==
typeof
b
){
if
(
-
1
!==
a
.
indexOf
(
b
))
return
!
0
}
else
if
(
b
.
test
(
a
))
return
!
0
;
return
!
1
},
y
().
on
(
"request"
,
function
(
b
){
var
c
,
d
,
e
,
f
,
g
;
return
f
=
b
.
type
,
e
=
b
.
request
,
g
=
b
.
url
,
J
(
g
)?
void
0
:
j
.
running
||
D
.
restartOnRequestAfter
===!
1
&&
"force"
!==
K
(
f
)?
void
0
:(
d
=
arguments
,
c
=
D
.
restartOnRequestAfter
||
0
,
"boolean"
==
typeof
c
&&
(
c
=
0
),
setTimeout
(
function
(){
var
b
,
c
,
g
,
h
,
i
,
k
;
if
(
b
=
"socket"
===
f
?
e
.
readyState
<
2
:
0
<
(
h
=
e
.
readyState
)
&&
4
>
h
){
for
(
j
.
restart
(),
i
=
j
.
sources
,
k
=
[],
c
=
0
,
g
=
i
.
length
;
g
>
c
;
c
++
){
if
(
L
=
i
[
c
],
L
instanceof
a
){
L
.
watch
.
apply
(
L
,
d
);
break
}
k
.
push
(
void
0
)}
return
k
}},
c
))}),
a
=
function
(){
function
a
(){
var
a
=
this
;
this
.
elements
=
[],
y
().
on
(
"request"
,
function
(){
return
a
.
watch
.
apply
(
a
,
arguments
)})}
return
a
.
prototype
.
watch
=
function
(
a
){
var
b
,
c
,
d
,
e
;
return
d
=
a
.
type
,
b
=
a
.
request
,
e
=
a
.
url
,
J
(
e
)?
void
0
:(
c
=
"socket"
===
d
?
new
n
(
b
):
new
o
(
b
),
this
.
elements
.
push
(
c
))},
a
}(),
o
=
function
(){
function
a
(
a
){
var
b
,
c
,
d
,
e
,
f
,
g
,
h
=
this
;
if
(
this
.
progress
=
0
,
null
!=
window
.
ProgressEvent
)
for
(
c
=
null
,
a
.
addEventListener
(
"progress"
,
function
(
a
){
return
a
.
lengthComputable
?
h
.
progress
=
100
*
a
.
loaded
/
a
.
total
:
h
.
progress
=
h
.
progress
+
(
100
-
h
.
progress
)
/
2
},
!
1
),
g
=
[
"load"
,
"abort"
,
"timeout"
,
"error"
],
d
=
0
,
e
=
g
.
length
;
e
>
d
;
d
++
)
b
=
g
[
d
],
a
.
addEventListener
(
b
,
function
(){
return
h
.
progress
=
100
},
!
1
);
else
f
=
a
.
onreadystatechange
,
a
.
onreadystatechange
=
function
(){
var
b
;
return
0
===
(
b
=
a
.
readyState
)
||
4
===
b
?
h
.
progress
=
100
:
3
===
a
.
readyState
&&
(
h
.
progress
=
50
),
"function"
==
typeof
f
?
f
.
apply
(
null
,
arguments
):
void
0
}}
return
a
}(),
n
=
function
(){
function
a
(
a
){
var
b
,
c
,
d
,
e
,
f
=
this
;
for
(
this
.
progress
=
0
,
e
=
[
"error"
,
"open"
],
c
=
0
,
d
=
e
.
length
;
d
>
c
;
c
++
)
b
=
e
[
c
],
a
.
addEventListener
(
b
,
function
(){
return
f
.
progress
=
100
},
!
1
)}
return
a
}(),
d
=
function
(){
function
a
(
a
){
var
b
,
c
,
d
,
f
;
for
(
null
==
a
&&
(
a
=
{}),
this
.
elements
=
[],
null
==
a
.
selectors
&&
(
a
.
selectors
=
[]),
f
=
a
.
selectors
,
c
=
0
,
d
=
f
.
length
;
d
>
c
;
c
++
)
b
=
f
[
c
],
this
.
elements
.
push
(
new
e
(
b
))}
return
a
}(),
e
=
function
(){
function
a
(
a
){
this
.
selector
=
a
,
this
.
progress
=
0
,
this
.
check
()}
return
a
.
prototype
.
check
=
function
(){
var
a
=
this
;
return
document
.
querySelector
(
this
.
selector
)?
this
.
done
():
setTimeout
(
function
(){
return
a
.
check
()},
D
.
elements
.
checkInterval
)},
a
.
prototype
.
done
=
function
(){
return
this
.
progress
=
100
},
a
}(),
c
=
function
(){
function
a
(){
var
a
,
b
,
c
=
this
;
this
.
progress
=
null
!=
(
b
=
this
.
states
[
document
.
readyState
])?
b
:
100
,
a
=
document
.
onreadystatechange
,
document
.
onreadystatechange
=
function
(){
return
null
!=
c
.
states
[
document
.
readyState
]
&&
(
c
.
progress
=
c
.
states
[
document
.
readyState
]),
"function"
==
typeof
a
?
a
.
apply
(
null
,
arguments
):
void
0
}}
return
a
.
prototype
.
states
=
{
loading
:
0
,
interactive
:
50
,
complete
:
100
},
a
}(),
f
=
function
(){
function
a
(){
var
a
,
b
,
c
,
d
,
e
,
f
=
this
;
this
.
progress
=
0
,
a
=
0
,
e
=
[],
d
=
0
,
c
=
C
(),
b
=
setInterval
(
function
(){
var
g
;
return
g
=
C
()
-
c
-
50
,
c
=
C
(),
e
.
push
(
g
),
e
.
length
>
D
.
eventLag
.
sampleCount
&&
e
.
shift
(),
a
=
q
(
e
),
++
d
>=
D
.
eventLag
.
minSamples
&&
a
<
D
.
eventLag
.
lagThreshold
?(
f
.
progress
=
100
,
clearInterval
(
b
)):
f
.
progress
=
100
*
(
3
/
(
a
+
3
))},
50
)}
return
a
}(),
m
=
function
(){
function
a
(
a
){
this
.
source
=
a
,
this
.
last
=
this
.
sinceLastUpdate
=
0
,
this
.
rate
=
D
.
initialRate
,
this
.
catchup
=
0
,
this
.
progress
=
this
.
lastProgress
=
0
,
null
!=
this
.
source
&&
(
this
.
progress
=
G
(
this
.
source
,
"progress"
))}
return
a
.
prototype
.
tick
=
function
(
a
,
b
){
var
c
;
return
null
==
b
&&
(
b
=
G
(
this
.
source
,
"progress"
)),
b
>=
100
&&
(
this
.
done
=!
0
),
b
===
this
.
last
?
this
.
sinceLastUpdate
+=
a
:(
this
.
sinceLastUpdate
&&
(
this
.
rate
=
(
b
-
this
.
last
)
/
this
.
sinceLastUpdate
),
this
.
catchup
=
(
b
-
this
.
progress
)
/
D
.
catchupTime
,
this
.
sinceLastUpdate
=
0
,
this
.
last
=
b
),
b
>
this
.
progress
&&
(
this
.
progress
+=
this
.
catchup
*
a
),
c
=
1
-
Math
.
pow
(
this
.
progress
/
100
,
D
.
easeFactor
),
this
.
progress
+=
c
*
this
.
rate
*
a
,
this
.
progress
=
Math
.
min
(
this
.
lastProgress
+
D
.
maxProgressPerFrame
,
this
.
progress
),
this
.
progress
=
Math
.
max
(
0
,
this
.
progress
),
this
.
progress
=
Math
.
min
(
100
,
this
.
progress
),
this
.
lastProgress
=
this
.
progress
,
this
.
progress
},
a
}(),
M
=
null
,
I
=
null
,
r
=
null
,
N
=
null
,
p
=
null
,
s
=
null
,
j
.
running
=!
1
,
z
=
function
(){
return
D
.
restartOnPushState
?
j
.
restart
():
void
0
},
null
!=
window
.
history
.
pushState
&&
(
U
=
window
.
history
.
pushState
,
window
.
history
.
pushState
=
function
(){
return
z
(),
U
.
apply
(
window
.
history
,
arguments
)}),
null
!=
window
.
history
.
replaceState
&&
(
X
=
window
.
history
.
replaceState
,
window
.
history
.
replaceState
=
function
(){
return
z
(),
X
.
apply
(
window
.
history
,
arguments
)}),
l
=
{
ajax
:
a
,
elements
:
d
,
document
:
c
,
eventLag
:
f
},(
B
=
function
(){
var
a
,
c
,
d
,
e
,
f
,
g
,
h
,
i
;
for
(
j
.
sources
=
M
=
[],
g
=
[
"ajax"
,
"elements"
,
"document"
,
"eventLag"
],
c
=
0
,
e
=
g
.
length
;
e
>
c
;
c
++
)
a
=
g
[
c
],
D
[
a
]
!==!
1
&&
M
.
push
(
new
l
[
a
](
D
[
a
]));
for
(
i
=
null
!=
(
h
=
D
.
extraSources
)?
h
:[],
d
=
0
,
f
=
i
.
length
;
f
>
d
;
d
++
)
L
=
i
[
d
],
M
.
push
(
new
L
(
D
));
return
j
.
bar
=
r
=
new
b
,
I
=
[],
N
=
new
m
})(),
j
.
stop
=
function
(){
return
j
.
trigger
(
"stop"
),
j
.
running
=!
1
,
r
.
destroy
(),
s
=!
0
,
null
!=
p
&&
(
"function"
==
typeof
t
&&
t
(
p
),
p
=
null
),
B
()},
j
.
restart
=
function
(){
return
j
.
trigger
(
"restart"
),
j
.
stop
(),
j
.
start
()},
j
.
go
=
function
(){
var
a
;
return
j
.
running
=!
0
,
r
.
render
(),
a
=
C
(),
s
=!
1
,
p
=
H
(
function
(
b
,
c
){
var
d
,
e
,
f
,
g
,
h
,
i
,
k
,
l
,
n
,
o
,
p
,
q
,
t
,
u
,
v
,
w
;
for
(
l
=
100
-
r
.
progress
,
e
=
p
=
0
,
f
=!
0
,
i
=
q
=
0
,
u
=
M
.
length
;
u
>
q
;
i
=++
q
)
for
(
L
=
M
[
i
],
o
=
null
!=
I
[
i
]?
I
[
i
]:
I
[
i
]
=
[],
h
=
null
!=
(
w
=
L
.
elements
)?
w
:[
L
],
k
=
t
=
0
,
v
=
h
.
length
;
v
>
t
;
k
=++
t
)
g
=
h
[
k
],
n
=
null
!=
o
[
k
]?
o
[
k
]:
o
[
k
]
=
new
m
(
g
),
f
&=
n
.
done
,
n
.
done
||
(
e
++
,
p
+=
n
.
tick
(
b
));
return
d
=
p
/
e
,
r
.
update
(
N
.
tick
(
b
,
d
)),
r
.
done
()
||
f
||
s
?(
r
.
update
(
100
),
j
.
trigger
(
"done"
),
setTimeout
(
function
(){
return
r
.
finish
(),
j
.
running
=!
1
,
j
.
trigger
(
"hide"
)},
Math
.
max
(
D
.
ghostTime
,
Math
.
max
(
D
.
minTime
-
(
C
()
-
a
),
0
)))):
c
()})},
E
=
null
,
j
.
start
=
function
(
a
){
v
(
D
,
a
),
D
.
hidePage
?(
E
||
(
E
=
document
.
createElement
(
"style"
),
document
.
head
.
appendChild
(
E
)),
E
.
innerHTML
=
"body > *:not(.pace), body:before, body:after { -webkit-transition: opacity .4s ease-in-out; -moz-transition: opacity .4s ease-in-out; -o-transition: opacity .4s ease-in-out; -ms-transition: opacity .4s ease-in-out; transition: opacity .4s ease-in-out } body:not(.pace-done) > *:not(.pace), body:not(.pace-done):before, body:not(.pace-done):after { opacity: 0 !important }"
):
null
!=
E
&&
(
E
.
innerHTML
=
""
),
j
.
running
=!
0
;
try
{
r
.
render
()}
catch
(
b
){
i
=
b
}
return
document
.
querySelector
(
".pace"
)?(
j
.
trigger
(
"start"
),
j
.
go
()):
setTimeout
(
j
.
start
,
50
)},
"function"
==
typeof
define
&&
define
.
amd
?
define
(
function
(){
return
j
}):
"object"
==
typeof
exports
?
module
.
exports
=
j
:
D
.
startOnPageLoad
&&
j
.
start
()}).
call
(
this
);
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论