Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Platform
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Platform
Commits
cb9c2b20
Commit
cb9c2b20
authored
Apr 21, 2015
by
Nicolas Widart
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Updating dependencies
parent
825f27e1
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
368 additions
and
247 deletions
+368
-247
composer.lock
composer.lock
+30
-30
asgard.css
public/themes/adminlte/css/asgard.css
+4
-0
all.js
public/themes/flatly/js/all.js
+333
-217
all.js.map
public/themes/flatly/js/all.js.map
+1
-0
No files found.
composer.lock
View file @
cb9c2b20
...
...
@@ -12,12 +12,12 @@
"source": {
"type": "git",
"url": "https://github.com/AsgardCms/AdminLTE.git",
"reference": "
f4923d4cf0ebbe5ddba388a9e36ca18bc34d5981
"
"reference": "
e4cb1fd8d2d4116d5e809207ac500758a8f695ef
"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/AsgardCms/AdminLTE/zipball/
f4923d4cf0ebbe5ddba388a9e36ca18bc34d5981
",
"reference": "
f4923d4cf0ebbe5ddba388a9e36ca18bc34d5981
",
"url": "https://api.github.com/repos/AsgardCms/AdminLTE/zipball/
e4cb1fd8d2d4116d5e809207ac500758a8f695ef
",
"reference": "
e4cb1fd8d2d4116d5e809207ac500758a8f695ef
",
"shasum": ""
},
"require": {
...
...
@@ -40,7 +40,7 @@
"keywords": [
"asgard-cms"
],
"time": "2015-04-2
0 07:59:11
"
"time": "2015-04-2
1 11:49:29
"
},
{
"name": "asgardcms/core-module",
...
...
@@ -48,12 +48,12 @@
"source": {
"type": "git",
"url": "https://github.com/AsgardCms/Core.git",
"reference": "
d8646ed7a88e99980e4c2f42803b6531a32dd50f
"
"reference": "
3135fa2228fc38717a32202f8fb5116ff475faa5
"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/AsgardCms/Core/zipball/
d8646ed7a88e99980e4c2f42803b6531a32dd50f
",
"reference": "
d8646ed7a88e99980e4c2f42803b6531a32dd50f
",
"url": "https://api.github.com/repos/AsgardCms/Core/zipball/
3135fa2228fc38717a32202f8fb5116ff475faa5
",
"reference": "
3135fa2228fc38717a32202f8fb5116ff475faa5
",
"shasum": ""
},
"require": {
...
...
@@ -90,7 +90,7 @@
"asgardcms",
"core"
],
"time": "2015-04-2
0 11:18:40
"
"time": "2015-04-2
1 09:10:25
"
},
{
"name": "asgardcms/dashboard-module",
...
...
@@ -135,12 +135,12 @@
"source": {
"type": "git",
"url": "https://github.com/AsgardCms/Flatly-theme.git",
"reference": "
f6274fde1d7b07a670f5045a0371a30fa841892
2"
"reference": "
87a29ee7b6d6a8231ce27ac4ecbea91bc4718f7
2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/AsgardCms/Flatly-theme/zipball/
f6274fde1d7b07a670f5045a0371a30fa841892
2",
"reference": "
f6274fde1d7b07a670f5045a0371a30fa841892
2",
"url": "https://api.github.com/repos/AsgardCms/Flatly-theme/zipball/
87a29ee7b6d6a8231ce27ac4ecbea91bc4718f7
2",
"reference": "
87a29ee7b6d6a8231ce27ac4ecbea91bc4718f7
2",
"shasum": ""
},
"require": {
...
...
@@ -163,7 +163,7 @@
"keywords": [
"asgard-cms"
],
"time": "2015-0
3-28 16:10:21
"
"time": "2015-0
4-21 10:19:32
"
},
{
"name": "asgardcms/media-module",
...
...
@@ -304,12 +304,12 @@
"source": {
"type": "git",
"url": "https://github.com/AsgardCms/Setting.git",
"reference": "
026f9a9344230a86b25108a52e076d12f1b2757e
"
"reference": "
3b5de8c0dd51d950ea517c927a1f62241975d2eb
"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/AsgardCms/Setting/zipball/
026f9a9344230a86b25108a52e076d12f1b2757e
",
"reference": "
026f9a9344230a86b25108a52e076d12f1b2757e
",
"url": "https://api.github.com/repos/AsgardCms/Setting/zipball/
3b5de8c0dd51d950ea517c927a1f62241975d2eb
",
"reference": "
3b5de8c0dd51d950ea517c927a1f62241975d2eb
",
"shasum": ""
},
"require": {
...
...
@@ -338,7 +338,7 @@
"Settings",
"asgardcms"
],
"time": "2015-04-
17 18:16:10
"
"time": "2015-04-
21 10:10:59
"
},
{
"name": "asgardcms/user-module",
...
...
@@ -346,12 +346,12 @@
"source": {
"type": "git",
"url": "https://github.com/AsgardCms/User.git",
"reference": "
36ac41741957e3142baeaf42d6c8db5d1ae4f7df
"
"reference": "
0b6520e8c305503069569d6d298d3c1c3a442631
"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/AsgardCms/User/zipball/
36ac41741957e3142baeaf42d6c8db5d1ae4f7df
",
"reference": "
36ac41741957e3142baeaf42d6c8db5d1ae4f7df
",
"url": "https://api.github.com/repos/AsgardCms/User/zipball/
0b6520e8c305503069569d6d298d3c1c3a442631
",
"reference": "
0b6520e8c305503069569d6d298d3c1c3a442631
",
"shasum": ""
},
"require": {
...
...
@@ -377,7 +377,7 @@
"authorisation",
"user"
],
"time": "2015-04-
18 08:15:29
"
"time": "2015-04-
21 11:26:31
"
},
{
"name": "asgardcms/workshop-module",
...
...
@@ -1875,16 +1875,16 @@
},
{
"name": "laravel/framework",
"version": "v5.0.2
7
",
"version": "v5.0.2
8
",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "
4d6330118a295086ce9ff8eed2200d5b67f17688
"
"reference": "
06a09429322cf53e5bd4587db1060f02a291562e
"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/
4d6330118a295086ce9ff8eed2200d5b67f17688
",
"reference": "
4d6330118a295086ce9ff8eed2200d5b67f17688
",
"url": "https://api.github.com/repos/laravel/framework/zipball/
06a09429322cf53e5bd4587db1060f02a291562e
",
"reference": "
06a09429322cf53e5bd4587db1060f02a291562e
",
"shasum": ""
},
"require": {
...
...
@@ -1954,7 +1954,7 @@
"predis/predis": "~1.0"
},
"suggest": {
"aws/aws-sdk-php": "Required to use the SQS queue driver (~2.4).",
"aws/aws-sdk-php": "Required to use the SQS queue driver
and SES mail driver
(~2.4).",
"doctrine/dbal": "Required to rename columns and drop SQLite columns (~2.4).",
"guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers (~5.0).",
"iron-io/iron_mq": "Required to use the iron queue driver (~1.5).",
...
...
@@ -1997,7 +1997,7 @@
"framework",
"laravel"
],
"time": "2015-04-
04 01:34:57
"
"time": "2015-04-
21 01:44:32
"
},
{
"name": "laravelcollective/html",
...
...
@@ -2542,12 +2542,12 @@
"source": {
"type": "git",
"url": "https://github.com/pingpong-labs/modules.git",
"reference": "
06ae28dc997bfef488aff3a3187a2ec78ed17fd8
"
"reference": "
7cd411a3540ebbf194e8ce8c3be51c3a237a1d3d
"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/pingpong-labs/modules/zipball/
06ae28dc997bfef488aff3a3187a2ec78ed17fd8
",
"reference": "
06ae28dc997bfef488aff3a3187a2ec78ed17fd8
",
"url": "https://api.github.com/repos/pingpong-labs/modules/zipball/
7cd411a3540ebbf194e8ce8c3be51c3a237a1d3d
",
"reference": "
7cd411a3540ebbf194e8ce8c3be51c3a237a1d3d
",
"shasum": ""
},
"require": {
...
...
@@ -2591,7 +2591,7 @@
"modules",
"pingpong"
],
"time": "2015-04-20
01:57:28
"
"time": "2015-04-20
15:10:19
"
},
{
"name": "psr/log",
...
...
public/themes/adminlte/css/asgard.css
View file @
cb9c2b20
...
...
@@ -31,3 +31,7 @@ footer.main-footer p.text-muted {
.checkbox
label
{
padding-left
:
0
;
}
.checkbox
label
div
{
margin-right
:
5px
;
margin-top
:
-2px
;
}
public/themes/flatly/js/all.js
View file @
cb9c2b20
...
...
@@ -9205,35 +9205,52 @@ return jQuery;
}));
/*!
* Bootstrap v3.3.
2
(http://getbootstrap.com)
* Bootstrap v3.3.
4
(http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
if
(
"
undefined
"
==
typeof
jQuery
)
throw
new
Error
(
"
Bootstrap's JavaScript requires jQuery
"
);
+
function
(
a
){
"
use strict
"
;
var
b
=
a
.
fn
.
jquery
.
split
(
"
"
)[
0
].
split
(
"
.
"
);
if
(
b
[
0
]
<
2
&&
b
[
1
]
<
9
||
1
==
b
[
0
]
&&
9
==
b
[
1
]
&&
b
[
2
]
<
1
)
throw
new
Error
(
"
Bootstrap's JavaScript requires jQuery version 1.9.1 or higher
"
)}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(){
var
a
=
document
.
createElement
(
"
bootstrap
"
),
b
=
{
WebkitTransition
:
"
webkitTransitionEnd
"
,
MozTransition
:
"
transitionend
"
,
OTransition
:
"
oTransitionEnd otransitionend
"
,
transition
:
"
transitionend
"
};
for
(
var
c
in
b
)
if
(
void
0
!==
a
.
style
[
c
])
return
{
end
:
b
[
c
]};
return
!
1
}
a
.
fn
.
emulateTransitionEnd
=
function
(
b
){
var
c
=!
1
,
d
=
this
;
a
(
this
).
one
(
"
bsTransitionEnd
"
,
function
(){
c
=!
0
});
var
e
=
function
(){
c
||
a
(
d
).
trigger
(
a
.
support
.
transition
.
end
)};
return
setTimeout
(
e
,
b
),
this
},
a
(
function
(){
a
.
support
.
transition
=
b
(),
a
.
support
.
transition
&&
(
a
.
event
.
special
.
bsTransitionEnd
=
{
bindType
:
a
.
support
.
transition
.
end
,
delegateType
:
a
.
support
.
transition
.
end
,
handle
:
function
(
b
){
return
a
(
b
.
target
).
is
(
this
)?
b
.
handleObj
.
handler
.
apply
(
this
,
arguments
):
void
0
}})})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
return
this
.
each
(
function
(){
var
c
=
a
(
this
),
e
=
c
.
data
(
"
bs.alert
"
);
e
||
c
.
data
(
"
bs.alert
"
,
e
=
new
d
(
this
)),
"
string
"
==
typeof
b
&&
e
[
b
].
call
(
c
)})}
var
c
=
'
[data-dismiss="alert"]
'
,
d
=
function
(
b
){
a
(
b
).
on
(
"
click
"
,
c
,
this
.
close
)};
d
.
VERSION
=
"
3.3.2
"
,
d
.
TRANSITION_DURATION
=
150
,
d
.
prototype
.
close
=
function
(
b
){
function
c
(){
g
.
detach
().
trigger
(
"
closed.bs.alert
"
).
remove
()}
var
e
=
a
(
this
),
f
=
e
.
attr
(
"
data-target
"
);
f
||
(
f
=
e
.
attr
(
"
href
"
),
f
=
f
&&
f
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
g
=
a
(
f
);
b
&&
b
.
preventDefault
(),
g
.
length
||
(
g
=
e
.
closest
(
"
.alert
"
)),
g
.
trigger
(
b
=
a
.
Event
(
"
close.bs.alert
"
)),
b
.
isDefaultPrevented
()
||
(
g
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
g
.
hasClass
(
"
fade
"
)?
g
.
one
(
"
bsTransitionEnd
"
,
c
).
emulateTransitionEnd
(
d
.
TRANSITION_DURATION
):
c
())};
var
e
=
a
.
fn
.
alert
;
a
.
fn
.
alert
=
b
,
a
.
fn
.
alert
.
Constructor
=
d
,
a
.
fn
.
alert
.
noConflict
=
function
(){
return
a
.
fn
.
alert
=
e
,
this
},
a
(
document
).
on
(
"
click.bs.alert.data-api
"
,
c
,
d
.
prototype
.
close
)}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.button
"
),
f
=
"
object
"
==
typeof
b
&&
b
;
e
||
d
.
data
(
"
bs.button
"
,
e
=
new
c
(
this
,
f
)),
"
toggle
"
==
b
?
e
.
toggle
():
b
&&
e
.
setState
(
b
)})}
var
c
=
function
(
b
,
d
){
this
.
$element
=
a
(
b
),
this
.
options
=
a
.
extend
({},
c
.
DEFAULTS
,
d
),
this
.
isLoading
=!
1
};
c
.
VERSION
=
"
3.3.2
"
,
c
.
DEFAULTS
=
{
loadingText
:
"
loading...
"
},
c
.
prototype
.
setState
=
function
(
b
){
var
c
=
"
disabled
"
,
d
=
this
.
$element
,
e
=
d
.
is
(
"
input
"
)?
"
val
"
:
"
html
"
,
f
=
d
.
data
();
b
+=
"
Text
"
,
null
==
f
.
resetText
&&
d
.
data
(
"
resetText
"
,
d
[
e
]()),
setTimeout
(
a
.
proxy
(
function
(){
d
[
e
](
null
==
f
[
b
]?
this
.
options
[
b
]:
f
[
b
]),
"
loadingText
"
==
b
?(
this
.
isLoading
=!
0
,
d
.
addClass
(
c
).
attr
(
c
,
c
)):
this
.
isLoading
&&
(
this
.
isLoading
=!
1
,
d
.
removeClass
(
c
).
removeAttr
(
c
))},
this
),
0
)},
c
.
prototype
.
toggle
=
function
(){
var
a
=!
0
,
b
=
this
.
$element
.
closest
(
'
[data-toggle="buttons"]
'
);
if
(
b
.
length
){
var
c
=
this
.
$element
.
find
(
"
input
"
);
"
radio
"
==
c
.
prop
(
"
type
"
)
&&
(
c
.
prop
(
"
checked
"
)
&&
this
.
$element
.
hasClass
(
"
active
"
)?
a
=!
1
:
b
.
find
(
"
.active
"
).
removeClass
(
"
active
"
)),
a
&&
c
.
prop
(
"
checked
"
,
!
this
.
$element
.
hasClass
(
"
active
"
)).
trigger
(
"
change
"
)}
else
this
.
$element
.
attr
(
"
aria-pressed
"
,
!
this
.
$element
.
hasClass
(
"
active
"
));
a
&&
this
.
$element
.
toggleClass
(
"
active
"
)};
var
d
=
a
.
fn
.
button
;
a
.
fn
.
button
=
b
,
a
.
fn
.
button
.
Constructor
=
c
,
a
.
fn
.
button
.
noConflict
=
function
(){
return
a
.
fn
.
button
=
d
,
this
},
a
(
document
).
on
(
"
click.bs.button.data-api
"
,
'
[data-toggle^="button"]
'
,
function
(
c
){
var
d
=
a
(
c
.
target
);
d
.
hasClass
(
"
btn
"
)
||
(
d
=
d
.
closest
(
"
.btn
"
)),
b
.
call
(
d
,
"
toggle
"
),
c
.
preventDefault
()}).
on
(
"
focus.bs.button.data-api blur.bs.button.data-api
"
,
'
[data-toggle^="button"]
'
,
function
(
b
){
a
(
b
.
target
).
closest
(
"
.btn
"
).
toggleClass
(
"
focus
"
,
/^focus
(
in
)?
$/
.
test
(
b
.
type
))})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.carousel
"
),
f
=
a
.
extend
({},
c
.
DEFAULTS
,
d
.
data
(),
"
object
"
==
typeof
b
&&
b
),
g
=
"
string
"
==
typeof
b
?
b
:
f
.
slide
;
e
||
d
.
data
(
"
bs.carousel
"
,
e
=
new
c
(
this
,
f
)),
"
number
"
==
typeof
b
?
e
.
to
(
b
):
g
?
e
[
g
]():
f
.
interval
&&
e
.
pause
().
cycle
()})}
var
c
=
function
(
b
,
c
){
this
.
$element
=
a
(
b
),
this
.
$indicators
=
this
.
$element
.
find
(
"
.carousel-indicators
"
),
this
.
options
=
c
,
this
.
paused
=
this
.
sliding
=
this
.
interval
=
this
.
$active
=
this
.
$items
=
null
,
this
.
options
.
keyboard
&&
this
.
$element
.
on
(
"
keydown.bs.carousel
"
,
a
.
proxy
(
this
.
keydown
,
this
)),
"
hover
"
==
this
.
options
.
pause
&&!
(
"
ontouchstart
"
in
document
.
documentElement
)
&&
this
.
$element
.
on
(
"
mouseenter.bs.carousel
"
,
a
.
proxy
(
this
.
pause
,
this
)).
on
(
"
mouseleave.bs.carousel
"
,
a
.
proxy
(
this
.
cycle
,
this
))};
c
.
VERSION
=
"
3.3.2
"
,
c
.
TRANSITION_DURATION
=
600
,
c
.
DEFAULTS
=
{
interval
:
5
e3
,
pause
:
"
hover
"
,
wrap
:
!
0
,
keyboard
:
!
0
},
c
.
prototype
.
keydown
=
function
(
a
){
if
(
!
/input|textarea/i
.
test
(
a
.
target
.
tagName
)){
switch
(
a
.
which
){
case
37
:
this
.
prev
();
break
;
case
39
:
this
.
next
();
break
;
default
:
return
}
a
.
preventDefault
()}},
c
.
prototype
.
cycle
=
function
(
b
){
return
b
||
(
this
.
paused
=!
1
),
this
.
interval
&&
clearInterval
(
this
.
interval
),
this
.
options
.
interval
&&!
this
.
paused
&&
(
this
.
interval
=
setInterval
(
a
.
proxy
(
this
.
next
,
this
),
this
.
options
.
interval
)),
this
},
c
.
prototype
.
getItemIndex
=
function
(
a
){
return
this
.
$items
=
a
.
parent
().
children
(
"
.item
"
),
this
.
$items
.
index
(
a
||
this
.
$active
)},
c
.
prototype
.
getItemForDirection
=
function
(
a
,
b
){
var
c
=
this
.
getItemIndex
(
b
),
d
=
"
prev
"
==
a
&&
0
===
c
||
"
next
"
==
a
&&
c
==
this
.
$items
.
length
-
1
;
if
(
d
&&!
this
.
options
.
wrap
)
return
b
;
var
e
=
"
prev
"
==
a
?
-
1
:
1
,
f
=
(
c
+
e
)
%
this
.
$items
.
length
;
return
this
.
$items
.
eq
(
f
)},
c
.
prototype
.
to
=
function
(
a
){
var
b
=
this
,
c
=
this
.
getItemIndex
(
this
.
$active
=
this
.
$element
.
find
(
"
.item.active
"
));
return
a
>
this
.
$items
.
length
-
1
||
0
>
a
?
void
0
:
this
.
sliding
?
this
.
$element
.
one
(
"
slid.bs.carousel
"
,
function
(){
b
.
to
(
a
)}):
c
==
a
?
this
.
pause
().
cycle
():
this
.
slide
(
a
>
c
?
"
next
"
:
"
prev
"
,
this
.
$items
.
eq
(
a
))},
c
.
prototype
.
pause
=
function
(
b
){
return
b
||
(
this
.
paused
=!
0
),
this
.
$element
.
find
(
"
.next, .prev
"
).
length
&&
a
.
support
.
transition
&&
(
this
.
$element
.
trigger
(
a
.
support
.
transition
.
end
),
this
.
cycle
(
!
0
)),
this
.
interval
=
clearInterval
(
this
.
interval
),
this
},
c
.
prototype
.
next
=
function
(){
return
this
.
sliding
?
void
0
:
this
.
slide
(
"
next
"
)},
c
.
prototype
.
prev
=
function
(){
return
this
.
sliding
?
void
0
:
this
.
slide
(
"
prev
"
)},
c
.
prototype
.
slide
=
function
(
b
,
d
){
var
e
=
this
.
$element
.
find
(
"
.item.active
"
),
f
=
d
||
this
.
getItemForDirection
(
b
,
e
),
g
=
this
.
interval
,
h
=
"
next
"
==
b
?
"
left
"
:
"
right
"
,
i
=
this
;
if
(
f
.
hasClass
(
"
active
"
))
return
this
.
sliding
=!
1
;
var
j
=
f
[
0
],
k
=
a
.
Event
(
"
slide.bs.carousel
"
,{
relatedTarget
:
j
,
direction
:
h
});
if
(
this
.
$element
.
trigger
(
k
),
!
k
.
isDefaultPrevented
()){
if
(
this
.
sliding
=!
0
,
g
&&
this
.
pause
(),
this
.
$indicators
.
length
){
this
.
$indicators
.
find
(
"
.active
"
).
removeClass
(
"
active
"
);
var
l
=
a
(
this
.
$indicators
.
children
()[
this
.
getItemIndex
(
f
)]);
l
&&
l
.
addClass
(
"
active
"
)}
var
m
=
a
.
Event
(
"
slid.bs.carousel
"
,{
relatedTarget
:
j
,
direction
:
h
});
return
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
slide
"
)?(
f
.
addClass
(
b
),
f
[
0
].
offsetWidth
,
e
.
addClass
(
h
),
f
.
addClass
(
h
),
e
.
one
(
"
bsTransitionEnd
"
,
function
(){
f
.
removeClass
([
b
,
h
].
join
(
"
"
)).
addClass
(
"
active
"
),
e
.
removeClass
([
"
active
"
,
h
].
join
(
"
"
)),
i
.
sliding
=!
1
,
setTimeout
(
function
(){
i
.
$element
.
trigger
(
m
)},
0
)}).
emulateTransitionEnd
(
c
.
TRANSITION_DURATION
)):(
e
.
removeClass
(
"
active
"
),
f
.
addClass
(
"
active
"
),
this
.
sliding
=!
1
,
this
.
$element
.
trigger
(
m
)),
g
&&
this
.
cycle
(),
this
}};
var
d
=
a
.
fn
.
carousel
;
a
.
fn
.
carousel
=
b
,
a
.
fn
.
carousel
.
Constructor
=
c
,
a
.
fn
.
carousel
.
noConflict
=
function
(){
return
a
.
fn
.
carousel
=
d
,
this
};
var
e
=
function
(
c
){
var
d
,
e
=
a
(
this
),
f
=
a
(
e
.
attr
(
"
data-target
"
)
||
(
d
=
e
.
attr
(
"
href
"
))
&&
d
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
));
if
(
f
.
hasClass
(
"
carousel
"
)){
var
g
=
a
.
extend
({},
f
.
data
(),
e
.
data
()),
h
=
e
.
attr
(
"
data-slide-to
"
);
h
&&
(
g
.
interval
=!
1
),
b
.
call
(
f
,
g
),
h
&&
f
.
data
(
"
bs.carousel
"
).
to
(
h
),
c
.
preventDefault
()}};
a
(
document
).
on
(
"
click.bs.carousel.data-api
"
,
"
[data-slide]
"
,
e
).
on
(
"
click.bs.carousel.data-api
"
,
"
[data-slide-to]
"
,
e
),
a
(
window
).
on
(
"
load
"
,
function
(){
a
(
'
[data-ride="carousel"]
'
).
each
(
function
(){
var
c
=
a
(
this
);
b
.
call
(
c
,
c
.
data
())})})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
var
c
,
d
=
b
.
attr
(
"
data-target
"
)
||
(
c
=
b
.
attr
(
"
href
"
))
&&
c
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
);
return
a
(
d
)}
function
c
(
b
){
return
this
.
each
(
function
(){
var
c
=
a
(
this
),
e
=
c
.
data
(
"
bs.collapse
"
),
f
=
a
.
extend
({},
d
.
DEFAULTS
,
c
.
data
(),
"
object
"
==
typeof
b
&&
b
);
!
e
&&
f
.
toggle
&&
"
show
"
==
b
&&
(
f
.
toggle
=!
1
),
e
||
c
.
data
(
"
bs.collapse
"
,
e
=
new
d
(
this
,
f
)),
"
string
"
==
typeof
b
&&
e
[
b
]()})}
var
d
=
function
(
b
,
c
){
this
.
$element
=
a
(
b
),
this
.
options
=
a
.
extend
({},
d
.
DEFAULTS
,
c
),
this
.
$trigger
=
a
(
this
.
options
.
trigger
).
filter
(
'
[href="#
'
+
b
.
id
+
'
"], [data-target="#
'
+
b
.
id
+
'
"]
'
),
this
.
transitioning
=
null
,
this
.
options
.
parent
?
this
.
$parent
=
this
.
getParent
():
this
.
addAriaAndCollapsedClass
(
this
.
$element
,
this
.
$trigger
),
this
.
options
.
toggle
&&
this
.
toggle
()};
d
.
VERSION
=
"
3.3.2
"
,
d
.
TRANSITION_DURATION
=
350
,
d
.
DEFAULTS
=
{
toggle
:
!
0
,
trigger
:
'
[data-toggle="collapse"]
'
},
d
.
prototype
.
dimension
=
function
(){
var
a
=
this
.
$element
.
hasClass
(
"
width
"
);
return
a
?
"
width
"
:
"
height
"
},
d
.
prototype
.
show
=
function
(){
if
(
!
this
.
transitioning
&&!
this
.
$element
.
hasClass
(
"
in
"
)){
var
b
,
e
=
this
.
$parent
&&
this
.
$parent
.
children
(
"
.panel
"
).
children
(
"
.in, .collapsing
"
);
if
(
!
(
e
&&
e
.
length
&&
(
b
=
e
.
data
(
"
bs.collapse
"
),
b
&&
b
.
transitioning
))){
var
f
=
a
.
Event
(
"
show.bs.collapse
"
);
if
(
this
.
$element
.
trigger
(
f
),
!
f
.
isDefaultPrevented
()){
e
&&
e
.
length
&&
(
c
.
call
(
e
,
"
hide
"
),
b
||
e
.
data
(
"
bs.collapse
"
,
null
));
var
g
=
this
.
dimension
();
this
.
$element
.
removeClass
(
"
collapse
"
).
addClass
(
"
collapsing
"
)[
g
](
0
).
attr
(
"
aria-expanded
"
,
!
0
),
this
.
$trigger
.
removeClass
(
"
collapsed
"
).
attr
(
"
aria-expanded
"
,
!
0
),
this
.
transitioning
=
1
;
var
h
=
function
(){
this
.
$element
.
removeClass
(
"
collapsing
"
).
addClass
(
"
collapse in
"
)[
g
](
""
),
this
.
transitioning
=
0
,
this
.
$element
.
trigger
(
"
shown.bs.collapse
"
)};
if
(
!
a
.
support
.
transition
)
return
h
.
call
(
this
);
var
i
=
a
.
camelCase
([
"
scroll
"
,
g
].
join
(
"
-
"
));
this
.
$element
.
one
(
"
bsTransitionEnd
"
,
a
.
proxy
(
h
,
this
)).
emulateTransitionEnd
(
d
.
TRANSITION_DURATION
)[
g
](
this
.
$element
[
0
][
i
])}}}},
d
.
prototype
.
hide
=
function
(){
if
(
!
this
.
transitioning
&&
this
.
$element
.
hasClass
(
"
in
"
)){
var
b
=
a
.
Event
(
"
hide.bs.collapse
"
);
if
(
this
.
$element
.
trigger
(
b
),
!
b
.
isDefaultPrevented
()){
var
c
=
this
.
dimension
();
this
.
$element
[
c
](
this
.
$element
[
c
]())[
0
].
offsetHeight
,
this
.
$element
.
addClass
(
"
collapsing
"
).
removeClass
(
"
collapse in
"
).
attr
(
"
aria-expanded
"
,
!
1
),
this
.
$trigger
.
addClass
(
"
collapsed
"
).
attr
(
"
aria-expanded
"
,
!
1
),
this
.
transitioning
=
1
;
var
e
=
function
(){
this
.
transitioning
=
0
,
this
.
$element
.
removeClass
(
"
collapsing
"
).
addClass
(
"
collapse
"
).
trigger
(
"
hidden.bs.collapse
"
)};
return
a
.
support
.
transition
?
void
this
.
$element
[
c
](
0
).
one
(
"
bsTransitionEnd
"
,
a
.
proxy
(
e
,
this
)).
emulateTransitionEnd
(
d
.
TRANSITION_DURATION
):
e
.
call
(
this
)}}},
d
.
prototype
.
toggle
=
function
(){
this
[
this
.
$element
.
hasClass
(
"
in
"
)?
"
hide
"
:
"
show
"
]()},
d
.
prototype
.
getParent
=
function
(){
return
a
(
this
.
options
.
parent
).
find
(
'
[data-toggle="collapse"][data-parent="
'
+
this
.
options
.
parent
+
'
"]
'
).
each
(
a
.
proxy
(
function
(
c
,
d
){
var
e
=
a
(
d
);
this
.
addAriaAndCollapsedClass
(
b
(
e
),
e
)},
this
)).
end
()},
d
.
prototype
.
addAriaAndCollapsedClass
=
function
(
a
,
b
){
var
c
=
a
.
hasClass
(
"
in
"
);
a
.
attr
(
"
aria-expanded
"
,
c
),
b
.
toggleClass
(
"
collapsed
"
,
!
c
).
attr
(
"
aria-expanded
"
,
c
)};
var
e
=
a
.
fn
.
collapse
;
a
.
fn
.
collapse
=
c
,
a
.
fn
.
collapse
.
Constructor
=
d
,
a
.
fn
.
collapse
.
noConflict
=
function
(){
return
a
.
fn
.
collapse
=
e
,
this
},
a
(
document
).
on
(
"
click.bs.collapse.data-api
"
,
'
[data-toggle="collapse"]
'
,
function
(
d
){
var
e
=
a
(
this
);
e
.
attr
(
"
data-target
"
)
||
d
.
preventDefault
();
var
f
=
b
(
e
),
g
=
f
.
data
(
"
bs.collapse
"
),
h
=
g
?
"
toggle
"
:
a
.
extend
({},
e
.
data
(),{
trigger
:
this
});
c
.
call
(
f
,
h
)})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
b
&&
3
===
b
.
which
||
(
a
(
e
).
remove
(),
a
(
f
).
each
(
function
(){
var
d
=
a
(
this
),
e
=
c
(
d
),
f
=
{
relatedTarget
:
this
};
e
.
hasClass
(
"
open
"
)
&&
(
e
.
trigger
(
b
=
a
.
Event
(
"
hide.bs.dropdown
"
,
f
)),
b
.
isDefaultPrevented
()
||
(
d
.
attr
(
"
aria-expanded
"
,
"
false
"
),
e
.
removeClass
(
"
open
"
).
trigger
(
"
hidden.bs.dropdown
"
,
f
)))}))}
function
c
(
b
){
var
c
=
b
.
attr
(
"
data-target
"
);
c
||
(
c
=
b
.
attr
(
"
href
"
),
c
=
c
&&
/#
[
A-Za-z
]
/
.
test
(
c
)
&&
c
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
d
=
c
&&
a
(
c
);
return
d
&&
d
.
length
?
d
:
b
.
parent
()}
function
d
(
b
){
return
this
.
each
(
function
(){
var
c
=
a
(
this
),
d
=
c
.
data
(
"
bs.dropdown
"
);
d
||
c
.
data
(
"
bs.dropdown
"
,
d
=
new
g
(
this
)),
"
string
"
==
typeof
b
&&
d
[
b
].
call
(
c
)})}
var
e
=
"
.dropdown-backdrop
"
,
f
=
'
[data-toggle="dropdown"]
'
,
g
=
function
(
b
){
a
(
b
).
on
(
"
click.bs.dropdown
"
,
this
.
toggle
)};
g
.
VERSION
=
"
3.3.2
"
,
g
.
prototype
.
toggle
=
function
(
d
){
var
e
=
a
(
this
);
if
(
!
e
.
is
(
"
.disabled, :disabled
"
)){
var
f
=
c
(
e
),
g
=
f
.
hasClass
(
"
open
"
);
if
(
b
(),
!
g
){
"
ontouchstart
"
in
document
.
documentElement
&&!
f
.
closest
(
"
.navbar-nav
"
).
length
&&
a
(
'
<div class="dropdown-backdrop"/>
'
).
insertAfter
(
a
(
this
)).
on
(
"
click
"
,
b
);
var
h
=
{
relatedTarget
:
this
};
if
(
f
.
trigger
(
d
=
a
.
Event
(
"
show.bs.dropdown
"
,
h
)),
d
.
isDefaultPrevented
())
return
;
e
.
trigger
(
"
focus
"
).
attr
(
"
aria-expanded
"
,
"
true
"
),
f
.
toggleClass
(
"
open
"
).
trigger
(
"
shown.bs.dropdown
"
,
h
)}
return
!
1
}},
g
.
prototype
.
keydown
=
function
(
b
){
if
(
/
(
38|40|27|32
)
/
.
test
(
b
.
which
)
&&!
/input|textarea/i
.
test
(
b
.
target
.
tagName
)){
var
d
=
a
(
this
);
if
(
b
.
preventDefault
(),
b
.
stopPropagation
(),
!
d
.
is
(
"
.disabled, :disabled
"
)){
var
e
=
c
(
d
),
g
=
e
.
hasClass
(
"
open
"
);
if
(
!
g
&&
27
!=
b
.
which
||
g
&&
27
==
b
.
which
)
return
27
==
b
.
which
&&
e
.
find
(
f
).
trigger
(
"
focus
"
),
d
.
trigger
(
"
click
"
);
var
h
=
"
li:not(.divider):visible a
"
,
i
=
e
.
find
(
'
[role="menu"]
'
+
h
+
'
, [role="listbox"]
'
+
h
);
if
(
i
.
length
){
var
j
=
i
.
index
(
b
.
target
);
38
==
b
.
which
&&
j
>
0
&&
j
--
,
40
==
b
.
which
&&
j
<
i
.
length
-
1
&&
j
++
,
~
j
||
(
j
=
0
),
i
.
eq
(
j
).
trigger
(
"
focus
"
)}}}};
var
h
=
a
.
fn
.
dropdown
;
a
.
fn
.
dropdown
=
d
,
a
.
fn
.
dropdown
.
Constructor
=
g
,
a
.
fn
.
dropdown
.
noConflict
=
function
(){
return
a
.
fn
.
dropdown
=
h
,
this
},
a
(
document
).
on
(
"
click.bs.dropdown.data-api
"
,
b
).
on
(
"
click.bs.dropdown.data-api
"
,
"
.dropdown form
"
,
function
(
a
){
a
.
stopPropagation
()}).
on
(
"
click.bs.dropdown.data-api
"
,
f
,
g
.
prototype
.
toggle
).
on
(
"
keydown.bs.dropdown.data-api
"
,
f
,
g
.
prototype
.
keydown
).
on
(
"
keydown.bs.dropdown.data-api
"
,
'
[role="menu"]
'
,
g
.
prototype
.
keydown
).
on
(
"
keydown.bs.dropdown.data-api
"
,
'
[role="listbox"]
'
,
g
.
prototype
.
keydown
)}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
,
d
){
return
this
.
each
(
function
(){
var
e
=
a
(
this
),
f
=
e
.
data
(
"
bs.modal
"
),
g
=
a
.
extend
({},
c
.
DEFAULTS
,
e
.
data
(),
"
object
"
==
typeof
b
&&
b
);
f
||
e
.
data
(
"
bs.modal
"
,
f
=
new
c
(
this
,
g
)),
"
string
"
==
typeof
b
?
f
[
b
](
d
):
g
.
show
&&
f
.
show
(
d
)})}
var
c
=
function
(
b
,
c
){
this
.
options
=
c
,
this
.
$body
=
a
(
document
.
body
),
this
.
$element
=
a
(
b
),
this
.
$backdrop
=
this
.
isShown
=
null
,
this
.
scrollbarWidth
=
0
,
this
.
options
.
remote
&&
this
.
$element
.
find
(
"
.modal-content
"
).
load
(
this
.
options
.
remote
,
a
.
proxy
(
function
(){
this
.
$element
.
trigger
(
"
loaded.bs.modal
"
)},
this
))};
c
.
VERSION
=
"
3.3.2
"
,
c
.
TRANSITION_DURATION
=
300
,
c
.
BACKDROP_TRANSITION_DURATION
=
150
,
c
.
DEFAULTS
=
{
backdrop
:
!
0
,
keyboard
:
!
0
,
show
:
!
0
},
c
.
prototype
.
toggle
=
function
(
a
){
return
this
.
isShown
?
this
.
hide
():
this
.
show
(
a
)},
c
.
prototype
.
show
=
function
(
b
){
var
d
=
this
,
e
=
a
.
Event
(
"
show.bs.modal
"
,{
relatedTarget
:
b
});
this
.
$element
.
trigger
(
e
),
this
.
isShown
||
e
.
isDefaultPrevented
()
||
(
this
.
isShown
=!
0
,
this
.
checkScrollbar
(),
this
.
setScrollbar
(),
this
.
$body
.
addClass
(
"
modal-open
"
),
this
.
escape
(),
this
.
resize
(),
this
.
$element
.
on
(
"
click.dismiss.bs.modal
"
,
'
[data-dismiss="modal"]
'
,
a
.
proxy
(
this
.
hide
,
this
)),
this
.
backdrop
(
function
(){
var
e
=
a
.
support
.
transition
&&
d
.
$element
.
hasClass
(
"
fade
"
);
d
.
$element
.
parent
().
length
||
d
.
$element
.
appendTo
(
d
.
$body
),
d
.
$element
.
show
().
scrollTop
(
0
),
d
.
options
.
backdrop
&&
d
.
adjustBackdrop
(),
d
.
adjustDialog
(),
e
&&
d
.
$element
[
0
].
offsetWidth
,
d
.
$element
.
addClass
(
"
in
"
).
attr
(
"
aria-hidden
"
,
!
1
),
d
.
enforceFocus
();
var
f
=
a
.
Event
(
"
shown.bs.modal
"
,{
relatedTarget
:
b
});
e
?
d
.
$element
.
find
(
"
.modal-dialog
"
).
one
(
"
bsTransitionEnd
"
,
function
(){
d
.
$element
.
trigger
(
"
focus
"
).
trigger
(
f
)}).
emulateTransitionEnd
(
c
.
TRANSITION_DURATION
):
d
.
$element
.
trigger
(
"
focus
"
).
trigger
(
f
)}))},
c
.
prototype
.
hide
=
function
(
b
){
b
&&
b
.
preventDefault
(),
b
=
a
.
Event
(
"
hide.bs.modal
"
),
this
.
$element
.
trigger
(
b
),
this
.
isShown
&&!
b
.
isDefaultPrevented
()
&&
(
this
.
isShown
=!
1
,
this
.
escape
(),
this
.
resize
(),
a
(
document
).
off
(
"
focusin.bs.modal
"
),
this
.
$element
.
removeClass
(
"
in
"
).
attr
(
"
aria-hidden
"
,
!
0
).
off
(
"
click.dismiss.bs.modal
"
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
fade
"
)?
this
.
$element
.
one
(
"
bsTransitionEnd
"
,
a
.
proxy
(
this
.
hideModal
,
this
)).
emulateTransitionEnd
(
c
.
TRANSITION_DURATION
):
this
.
hideModal
())},
c
.
prototype
.
enforceFocus
=
function
(){
a
(
document
).
off
(
"
focusin.bs.modal
"
).
on
(
"
focusin.bs.modal
"
,
a
.
proxy
(
function
(
a
){
this
.
$element
[
0
]
===
a
.
target
||
this
.
$element
.
has
(
a
.
target
).
length
||
this
.
$element
.
trigger
(
"
focus
"
)},
this
))},
c
.
prototype
.
escape
=
function
(){
this
.
isShown
&&
this
.
options
.
keyboard
?
this
.
$element
.
on
(
"
keydown.dismiss.bs.modal
"
,
a
.
proxy
(
function
(
a
){
27
==
a
.
which
&&
this
.
hide
()},
this
)):
this
.
isShown
||
this
.
$element
.
off
(
"
keydown.dismiss.bs.modal
"
)},
c
.
prototype
.
resize
=
function
(){
this
.
isShown
?
a
(
window
).
on
(
"
resize.bs.modal
"
,
a
.
proxy
(
this
.
handleUpdate
,
this
)):
a
(
window
).
off
(
"
resize.bs.modal
"
)},
c
.
prototype
.
hideModal
=
function
(){
var
a
=
this
;
this
.
$element
.
hide
(),
this
.
backdrop
(
function
(){
a
.
$body
.
removeClass
(
"
modal-open
"
),
a
.
resetAdjustments
(),
a
.
resetScrollbar
(),
a
.
$element
.
trigger
(
"
hidden.bs.modal
"
)})},
c
.
prototype
.
removeBackdrop
=
function
(){
this
.
$backdrop
&&
this
.
$backdrop
.
remove
(),
this
.
$backdrop
=
null
},
c
.
prototype
.
backdrop
=
function
(
b
){
var
d
=
this
,
e
=
this
.
$element
.
hasClass
(
"
fade
"
)?
"
fade
"
:
""
;
if
(
this
.
isShown
&&
this
.
options
.
backdrop
){
var
f
=
a
.
support
.
transition
&&
e
;
if
(
this
.
$backdrop
=
a
(
'
<div class="modal-backdrop
'
+
e
+
'
" />
'
).
prependTo
(
this
.
$element
).
on
(
"
click.dismiss.bs.modal
"
,
a
.
proxy
(
function
(
a
){
a
.
target
===
a
.
currentTarget
&&
(
"
static
"
==
this
.
options
.
backdrop
?
this
.
$element
[
0
].
focus
.
call
(
this
.
$element
[
0
]):
this
.
hide
.
call
(
this
))},
this
)),
f
&&
this
.
$backdrop
[
0
].
offsetWidth
,
this
.
$backdrop
.
addClass
(
"
in
"
),
!
b
)
return
;
f
?
this
.
$backdrop
.
one
(
"
bsTransitionEnd
"
,
b
).
emulateTransitionEnd
(
c
.
BACKDROP_TRANSITION_DURATION
):
b
()}
else
if
(
!
this
.
isShown
&&
this
.
$backdrop
){
this
.
$backdrop
.
removeClass
(
"
in
"
);
var
g
=
function
(){
d
.
removeBackdrop
(),
b
&&
b
()};
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
fade
"
)?
this
.
$backdrop
.
one
(
"
bsTransitionEnd
"
,
g
).
emulateTransitionEnd
(
c
.
BACKDROP_TRANSITION_DURATION
):
g
()}
else
b
&&
b
()},
c
.
prototype
.
handleUpdate
=
function
(){
this
.
options
.
backdrop
&&
this
.
adjustBackdrop
(),
this
.
adjustDialog
()},
c
.
prototype
.
adjustBackdrop
=
function
(){
this
.
$backdrop
.
css
(
"
height
"
,
0
).
css
(
"
height
"
,
this
.
$element
[
0
].
scrollHeight
)},
c
.
prototype
.
adjustDialog
=
function
(){
var
a
=
this
.
$element
[
0
].
scrollHeight
>
document
.
documentElement
.
clientHeight
;
this
.
$element
.
css
({
paddingLeft
:
!
this
.
bodyIsOverflowing
&&
a
?
this
.
scrollbarWidth
:
""
,
paddingRight
:
this
.
bodyIsOverflowing
&&!
a
?
this
.
scrollbarWidth
:
""
})},
c
.
prototype
.
resetAdjustments
=
function
(){
this
.
$element
.
css
({
paddingLeft
:
""
,
paddingRight
:
""
})},
c
.
prototype
.
checkScrollbar
=
function
(){
this
.
bodyIsOverflowing
=
document
.
body
.
scrollHeight
>
document
.
documentElement
.
clientHeight
,
this
.
scrollbarWidth
=
this
.
measureScrollbar
()},
c
.
prototype
.
setScrollbar
=
function
(){
var
a
=
parseInt
(
this
.
$body
.
css
(
"
padding-right
"
)
||
0
,
10
);
this
.
bodyIsOverflowing
&&
this
.
$body
.
css
(
"
padding-right
"
,
a
+
this
.
scrollbarWidth
)},
c
.
prototype
.
resetScrollbar
=
function
(){
this
.
$body
.
css
(
"
padding-right
"
,
""
)},
c
.
prototype
.
measureScrollbar
=
function
(){
var
a
=
document
.
createElement
(
"
div
"
);
a
.
className
=
"
modal-scrollbar-measure
"
,
this
.
$body
.
append
(
a
);
var
b
=
a
.
offsetWidth
-
a
.
clientWidth
;
return
this
.
$body
[
0
].
removeChild
(
a
),
b
};
var
d
=
a
.
fn
.
modal
;
a
.
fn
.
modal
=
b
,
a
.
fn
.
modal
.
Constructor
=
c
,
a
.
fn
.
modal
.
noConflict
=
function
(){
return
a
.
fn
.
modal
=
d
,
this
},
a
(
document
).
on
(
"
click.bs.modal.data-api
"
,
'
[data-toggle="modal"]
'
,
function
(
c
){
var
d
=
a
(
this
),
e
=
d
.
attr
(
"
href
"
),
f
=
a
(
d
.
attr
(
"
data-target
"
)
||
e
&&
e
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
g
=
f
.
data
(
"
bs.modal
"
)?
"
toggle
"
:
a
.
extend
({
remote
:
!
/#/
.
test
(
e
)
&&
e
},
f
.
data
(),
d
.
data
());
d
.
is
(
"
a
"
)
&&
c
.
preventDefault
(),
f
.
one
(
"
show.bs.modal
"
,
function
(
a
){
a
.
isDefaultPrevented
()
||
f
.
one
(
"
hidden.bs.modal
"
,
function
(){
d
.
is
(
"
:visible
"
)
&&
d
.
trigger
(
"
focus
"
)})}),
b
.
call
(
f
,
g
,
this
)})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.tooltip
"
),
f
=
"
object
"
==
typeof
b
&&
b
;(
e
||
"
destroy
"
!=
b
)
&&
(
e
||
d
.
data
(
"
bs.tooltip
"
,
e
=
new
c
(
this
,
f
)),
"
string
"
==
typeof
b
&&
e
[
b
]())})}
var
c
=
function
(
a
,
b
){
this
.
type
=
this
.
options
=
this
.
enabled
=
this
.
timeout
=
this
.
hoverState
=
this
.
$element
=
null
,
this
.
init
(
"
tooltip
"
,
a
,
b
)};
c
.
VERSION
=
"
3.3.2
"
,
c
.
TRANSITION_DURATION
=
150
,
c
.
DEFAULTS
=
{
animation
:
!
0
,
placement
:
"
top
"
,
selector
:
!
1
,
template
:
'
<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>
'
,
trigger
:
"
hover focus
"
,
title
:
""
,
delay
:
0
,
html
:
!
1
,
container
:
!
1
,
viewport
:{
selector
:
"
body
"
,
padding
:
0
}},
c
.
prototype
.
init
=
function
(
b
,
c
,
d
){
this
.
enabled
=!
0
,
this
.
type
=
b
,
this
.
$element
=
a
(
c
),
this
.
options
=
this
.
getOptions
(
d
),
this
.
$viewport
=
this
.
options
.
viewport
&&
a
(
this
.
options
.
viewport
.
selector
||
this
.
options
.
viewport
);
for
(
var
e
=
this
.
options
.
trigger
.
split
(
"
"
),
f
=
e
.
length
;
f
--
;){
var
g
=
e
[
f
];
if
(
"
click
"
==
g
)
this
.
$element
.
on
(
"
click.
"
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
toggle
,
this
));
else
if
(
"
manual
"
!=
g
){
var
h
=
"
hover
"
==
g
?
"
mouseenter
"
:
"
focusin
"
,
i
=
"
hover
"
==
g
?
"
mouseleave
"
:
"
focusout
"
;
this
.
$element
.
on
(
h
+
"
.
"
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
enter
,
this
)),
this
.
$element
.
on
(
i
+
"
.
"
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
leave
,
this
))}}
this
.
options
.
selector
?
this
.
_options
=
a
.
extend
({},
this
.
options
,{
trigger
:
"
manual
"
,
selector
:
""
}):
this
.
fixTitle
()},
c
.
prototype
.
getDefaults
=
function
(){
return
c
.
DEFAULTS
},
c
.
prototype
.
getOptions
=
function
(
b
){
return
b
=
a
.
extend
({},
this
.
getDefaults
(),
this
.
$element
.
data
(),
b
),
b
.
delay
&&
"
number
"
==
typeof
b
.
delay
&&
(
b
.
delay
=
{
show
:
b
.
delay
,
hide
:
b
.
delay
}),
b
},
c
.
prototype
.
getDelegateOptions
=
function
(){
var
b
=
{},
c
=
this
.
getDefaults
();
return
this
.
_options
&&
a
.
each
(
this
.
_options
,
function
(
a
,
d
){
c
[
a
]
!=
d
&&
(
b
[
a
]
=
d
)}),
b
},
c
.
prototype
.
enter
=
function
(
b
){
var
c
=
b
instanceof
this
.
constructor
?
b
:
a
(
b
.
currentTarget
).
data
(
"
bs.
"
+
this
.
type
);
return
c
&&
c
.
$tip
&&
c
.
$tip
.
is
(
"
:visible
"
)?
void
(
c
.
hoverState
=
"
in
"
):(
c
||
(
c
=
new
this
.
constructor
(
b
.
currentTarget
,
this
.
getDelegateOptions
()),
a
(
b
.
currentTarget
).
data
(
"
bs.
"
+
this
.
type
,
c
)),
clearTimeout
(
c
.
timeout
),
c
.
hoverState
=
"
in
"
,
c
.
options
.
delay
&&
c
.
options
.
delay
.
show
?
void
(
c
.
timeout
=
setTimeout
(
function
(){
"
in
"
==
c
.
hoverState
&&
c
.
show
()},
c
.
options
.
delay
.
show
)):
c
.
show
())},
c
.
prototype
.
leave
=
function
(
b
){
var
c
=
b
instanceof
this
.
constructor
?
b
:
a
(
b
.
currentTarget
).
data
(
"
bs.
"
+
this
.
type
);
return
c
||
(
c
=
new
this
.
constructor
(
b
.
currentTarget
,
this
.
getDelegateOptions
()),
a
(
b
.
currentTarget
).
data
(
"
bs.
"
+
this
.
type
,
c
)),
clearTimeout
(
c
.
timeout
),
c
.
hoverState
=
"
out
"
,
c
.
options
.
delay
&&
c
.
options
.
delay
.
hide
?
void
(
c
.
timeout
=
setTimeout
(
function
(){
"
out
"
==
c
.
hoverState
&&
c
.
hide
()},
c
.
options
.
delay
.
hide
)):
c
.
hide
()},
c
.
prototype
.
show
=
function
(){
var
b
=
a
.
Event
(
"
show.bs.
"
+
this
.
type
);
if
(
this
.
hasContent
()
&&
this
.
enabled
){
this
.
$element
.
trigger
(
b
);
var
d
=
a
.
contains
(
this
.
$element
[
0
].
ownerDocument
.
documentElement
,
this
.
$element
[
0
]);
if
(
b
.
isDefaultPrevented
()
||!
d
)
return
;
var
e
=
this
,
f
=
this
.
tip
(),
g
=
this
.
getUID
(
this
.
type
);
this
.
setContent
(),
f
.
attr
(
"
id
"
,
g
),
this
.
$element
.
attr
(
"
aria-describedby
"
,
g
),
this
.
options
.
animation
&&
f
.
addClass
(
"
fade
"
);
var
h
=
"
function
"
==
typeof
this
.
options
.
placement
?
this
.
options
.
placement
.
call
(
this
,
f
[
0
],
this
.
$element
[
0
]):
this
.
options
.
placement
,
i
=
/
\s?
auto
?\s?
/i
,
j
=
i
.
test
(
h
);
j
&&
(
h
=
h
.
replace
(
i
,
""
)
||
"
top
"
),
f
.
detach
().
css
({
top
:
0
,
left
:
0
,
display
:
"
block
"
}).
addClass
(
h
).
data
(
"
bs.
"
+
this
.
type
,
this
),
this
.
options
.
container
?
f
.
appendTo
(
this
.
options
.
container
):
f
.
insertAfter
(
this
.
$element
);
var
k
=
this
.
getPosition
(),
l
=
f
[
0
].
offsetWidth
,
m
=
f
[
0
].
offsetHeight
;
if
(
j
){
var
n
=
h
,
o
=
this
.
options
.
container
?
a
(
this
.
options
.
container
):
this
.
$element
.
parent
(),
p
=
this
.
getPosition
(
o
);
h
=
"
bottom
"
==
h
&&
k
.
bottom
+
m
>
p
.
bottom
?
"
top
"
:
"
top
"
==
h
&&
k
.
top
-
m
<
p
.
top
?
"
bottom
"
:
"
right
"
==
h
&&
k
.
right
+
l
>
p
.
width
?
"
left
"
:
"
left
"
==
h
&&
k
.
left
-
l
<
p
.
left
?
"
right
"
:
h
,
f
.
removeClass
(
n
).
addClass
(
h
)}
var
q
=
this
.
getCalculatedOffset
(
h
,
k
,
l
,
m
);
this
.
applyPlacement
(
q
,
h
);
var
r
=
function
(){
var
a
=
e
.
hoverState
;
e
.
$element
.
trigger
(
"
shown.bs.
"
+
e
.
type
),
e
.
hoverState
=
null
,
"
out
"
==
a
&&
e
.
leave
(
e
)};
a
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
"
fade
"
)?
f
.
one
(
"
bsTransitionEnd
"
,
r
).
emulateTransitionEnd
(
c
.
TRANSITION_DURATION
):
r
()}},
c
.
prototype
.
applyPlacement
=
function
(
b
,
c
){
var
d
=
this
.
tip
(),
e
=
d
[
0
].
offsetWidth
,
f
=
d
[
0
].
offsetHeight
,
g
=
parseInt
(
d
.
css
(
"
margin-top
"
),
10
),
h
=
parseInt
(
d
.
css
(
"
margin-left
"
),
10
);
isNaN
(
g
)
&&
(
g
=
0
),
isNaN
(
h
)
&&
(
h
=
0
),
b
.
top
=
b
.
top
+
g
,
b
.
left
=
b
.
left
+
h
,
a
.
offset
.
setOffset
(
d
[
0
],
a
.
extend
({
using
:
function
(
a
){
d
.
css
({
top
:
Math
.
round
(
a
.
top
),
left
:
Math
.
round
(
a
.
left
)})}},
b
),
0
),
d
.
addClass
(
"
in
"
);
var
i
=
d
[
0
].
offsetWidth
,
j
=
d
[
0
].
offsetHeight
;
"
top
"
==
c
&&
j
!=
f
&&
(
b
.
top
=
b
.
top
+
f
-
j
);
var
k
=
this
.
getViewportAdjustedDelta
(
c
,
b
,
i
,
j
);
k
.
left
?
b
.
left
+=
k
.
left
:
b
.
top
+=
k
.
top
;
var
l
=
/top|bottom/
.
test
(
c
),
m
=
l
?
2
*
k
.
left
-
e
+
i
:
2
*
k
.
top
-
f
+
j
,
n
=
l
?
"
offsetWidth
"
:
"
offsetHeight
"
;
d
.
offset
(
b
),
this
.
replaceArrow
(
m
,
d
[
0
][
n
],
l
)},
c
.
prototype
.
replaceArrow
=
function
(
a
,
b
,
c
){
this
.
arrow
().
css
(
c
?
"
left
"
:
"
top
"
,
50
*
(
1
-
a
/
b
)
+
"
%
"
).
css
(
c
?
"
top
"
:
"
left
"
,
""
)},
c
.
prototype
.
setContent
=
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
();
a
.
find
(
"
.tooltip-inner
"
)[
this
.
options
.
html
?
"
html
"
:
"
text
"
](
b
),
a
.
removeClass
(
"
fade in top bottom left right
"
)},
c
.
prototype
.
hide
=
function
(
b
){
function
d
(){
"
in
"
!=
e
.
hoverState
&&
f
.
detach
(),
e
.
$element
.
removeAttr
(
"
aria-describedby
"
).
trigger
(
"
hidden.bs.
"
+
e
.
type
),
b
&&
b
()}
var
e
=
this
,
f
=
this
.
tip
(),
g
=
a
.
Event
(
"
hide.bs.
"
+
this
.
type
);
return
this
.
$element
.
trigger
(
g
),
g
.
isDefaultPrevented
()?
void
0
:(
f
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
"
fade
"
)?
f
.
one
(
"
bsTransitionEnd
"
,
d
).
emulateTransitionEnd
(
c
.
TRANSITION_DURATION
):
d
(),
this
.
hoverState
=
null
,
this
)},
c
.
prototype
.
fixTitle
=
function
(){
var
a
=
this
.
$element
;(
a
.
attr
(
"
title
"
)
||
"
string
"
!=
typeof
a
.
attr
(
"
data-original-title
"
))
&&
a
.
attr
(
"
data-original-title
"
,
a
.
attr
(
"
title
"
)
||
""
).
attr
(
"
title
"
,
""
)},
c
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()},
c
.
prototype
.
getPosition
=
function
(
b
){
b
=
b
||
this
.
$element
;
var
c
=
b
[
0
],
d
=
"
BODY
"
==
c
.
tagName
,
e
=
c
.
getBoundingClientRect
();
null
==
e
.
width
&&
(
e
=
a
.
extend
({},
e
,{
width
:
e
.
right
-
e
.
left
,
height
:
e
.
bottom
-
e
.
top
}));
var
f
=
d
?{
top
:
0
,
left
:
0
}:
b
.
offset
(),
g
=
{
scroll
:
d
?
document
.
documentElement
.
scrollTop
||
document
.
body
.
scrollTop
:
b
.
scrollTop
()},
h
=
d
?{
width
:
a
(
window
).
width
(),
height
:
a
(
window
).
height
()}:
null
;
return
a
.
extend
({},
e
,
g
,
h
,
f
)},
c
.
prototype
.
getCalculatedOffset
=
function
(
a
,
b
,
c
,
d
){
return
"
bottom
"
==
a
?{
top
:
b
.
top
+
b
.
height
,
left
:
b
.
left
+
b
.
width
/
2
-
c
/
2
}:
"
top
"
==
a
?{
top
:
b
.
top
-
d
,
left
:
b
.
left
+
b
.
width
/
2
-
c
/
2
}:
"
left
"
==
a
?{
top
:
b
.
top
+
b
.
height
/
2
-
d
/
2
,
left
:
b
.
left
-
c
}:{
top
:
b
.
top
+
b
.
height
/
2
-
d
/
2
,
left
:
b
.
left
+
b
.
width
}},
c
.
prototype
.
getViewportAdjustedDelta
=
function
(
a
,
b
,
c
,
d
){
var
e
=
{
top
:
0
,
left
:
0
};
if
(
!
this
.
$viewport
)
return
e
;
var
f
=
this
.
options
.
viewport
&&
this
.
options
.
viewport
.
padding
||
0
,
g
=
this
.
getPosition
(
this
.
$viewport
);
if
(
/right|left/
.
test
(
a
)){
var
h
=
b
.
top
-
f
-
g
.
scroll
,
i
=
b
.
top
+
f
-
g
.
scroll
+
d
;
h
<
g
.
top
?
e
.
top
=
g
.
top
-
h
:
i
>
g
.
top
+
g
.
height
&&
(
e
.
top
=
g
.
top
+
g
.
height
-
i
)}
else
{
var
j
=
b
.
left
-
f
,
k
=
b
.
left
+
f
+
c
;
j
<
g
.
left
?
e
.
left
=
g
.
left
-
j
:
k
>
g
.
width
&&
(
e
.
left
=
g
.
left
+
g
.
width
-
k
)}
return
e
},
c
.
prototype
.
getTitle
=
function
(){
var
a
,
b
=
this
.
$element
,
c
=
this
.
options
;
return
a
=
b
.
attr
(
"
data-original-title
"
)
||
(
"
function
"
==
typeof
c
.
title
?
c
.
title
.
call
(
b
[
0
]):
c
.
title
)},
c
.
prototype
.
getUID
=
function
(
a
){
do
a
+=~~
(
1
e6
*
Math
.
random
());
while
(
document
.
getElementById
(
a
));
return
a
},
c
.
prototype
.
tip
=
function
(){
return
this
.
$tip
=
this
.
$tip
||
a
(
this
.
options
.
template
)},
c
.
prototype
.
arrow
=
function
(){
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
"
.tooltip-arrow
"
)},
c
.
prototype
.
enable
=
function
(){
this
.
enabled
=!
0
},
c
.
prototype
.
disable
=
function
(){
this
.
enabled
=!
1
},
c
.
prototype
.
toggleEnabled
=
function
(){
this
.
enabled
=!
this
.
enabled
},
c
.
prototype
.
toggle
=
function
(
b
){
var
c
=
this
;
b
&&
(
c
=
a
(
b
.
currentTarget
).
data
(
"
bs.
"
+
this
.
type
),
c
||
(
c
=
new
this
.
constructor
(
b
.
currentTarget
,
this
.
getDelegateOptions
()),
a
(
b
.
currentTarget
).
data
(
"
bs.
"
+
this
.
type
,
c
))),
c
.
tip
().
hasClass
(
"
in
"
)?
c
.
leave
(
c
):
c
.
enter
(
c
)},
c
.
prototype
.
destroy
=
function
(){
var
a
=
this
;
clearTimeout
(
this
.
timeout
),
this
.
hide
(
function
(){
a
.
$element
.
off
(
"
.
"
+
a
.
type
).
removeData
(
"
bs.
"
+
a
.
type
)})};
var
d
=
a
.
fn
.
tooltip
;
a
.
fn
.
tooltip
=
b
,
a
.
fn
.
tooltip
.
Constructor
=
c
,
a
.
fn
.
tooltip
.
noConflict
=
function
(){
return
a
.
fn
.
tooltip
=
d
,
this
}}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.popover
"
),
f
=
"
object
"
==
typeof
b
&&
b
;(
e
||
"
destroy
"
!=
b
)
&&
(
e
||
d
.
data
(
"
bs.popover
"
,
e
=
new
c
(
this
,
f
)),
"
string
"
==
typeof
b
&&
e
[
b
]())})}
var
c
=
function
(
a
,
b
){
this
.
init
(
"
popover
"
,
a
,
b
)};
if
(
!
a
.
fn
.
tooltip
)
throw
new
Error
(
"
Popover requires tooltip.js
"
);
c
.
VERSION
=
"
3.3.2
"
,
c
.
DEFAULTS
=
a
.
extend
({},
a
.
fn
.
tooltip
.
Constructor
.
DEFAULTS
,{
placement
:
"
right
"
,
trigger
:
"
click
"
,
content
:
""
,
template
:
'
<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>
'
}),
c
.
prototype
=
a
.
extend
({},
a
.
fn
.
tooltip
.
Constructor
.
prototype
),
c
.
prototype
.
constructor
=
c
,
c
.
prototype
.
getDefaults
=
function
(){
return
c
.
DEFAULTS
},
c
.
prototype
.
setContent
=
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
(),
c
=
this
.
getContent
();
a
.
find
(
"
.popover-title
"
)[
this
.
options
.
html
?
"
html
"
:
"
text
"
](
b
),
a
.
find
(
"
.popover-content
"
).
children
().
detach
().
end
()[
this
.
options
.
html
?
"
string
"
==
typeof
c
?
"
html
"
:
"
append
"
:
"
text
"
](
c
),
a
.
removeClass
(
"
fade top bottom left right in
"
),
a
.
find
(
"
.popover-title
"
).
html
()
||
a
.
find
(
"
.popover-title
"
).
hide
()},
c
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()
||
this
.
getContent
()},
c
.
prototype
.
getContent
=
function
(){
var
a
=
this
.
$element
,
b
=
this
.
options
;
return
a
.
attr
(
"
data-content
"
)
||
(
"
function
"
==
typeof
b
.
content
?
b
.
content
.
call
(
a
[
0
]):
b
.
content
)},
c
.
prototype
.
arrow
=
function
(){
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
"
.arrow
"
)},
c
.
prototype
.
tip
=
function
(){
return
this
.
$tip
||
(
this
.
$tip
=
a
(
this
.
options
.
template
)),
this
.
$tip
};
var
d
=
a
.
fn
.
popover
;
a
.
fn
.
popover
=
b
,
a
.
fn
.
popover
.
Constructor
=
c
,
a
.
fn
.
popover
.
noConflict
=
function
(){
return
a
.
fn
.
popover
=
d
,
this
}}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
c
,
d
){
var
e
=
a
.
proxy
(
this
.
process
,
this
);
this
.
$body
=
a
(
"
body
"
),
this
.
$scrollElement
=
a
(
a
(
c
).
is
(
"
body
"
)?
window
:
c
),
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
selector
=
(
this
.
options
.
target
||
""
)
+
"
.nav li > a
"
,
this
.
offsets
=
[],
this
.
targets
=
[],
this
.
activeTarget
=
null
,
this
.
scrollHeight
=
0
,
this
.
$scrollElement
.
on
(
"
scroll.bs.scrollspy
"
,
e
),
this
.
refresh
(),
this
.
process
()}
function
c
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.scrollspy
"
),
f
=
"
object
"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"
bs.scrollspy
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]()})}
b
.
VERSION
=
"
3.3.2
"
,
b
.
DEFAULTS
=
{
offset
:
10
},
b
.
prototype
.
getScrollHeight
=
function
(){
return
this
.
$scrollElement
[
0
].
scrollHeight
||
Math
.
max
(
this
.
$body
[
0
].
scrollHeight
,
document
.
documentElement
.
scrollHeight
)},
b
.
prototype
.
refresh
=
function
(){
var
b
=
"
offset
"
,
c
=
0
;
a
.
isWindow
(
this
.
$scrollElement
[
0
])
||
(
b
=
"
position
"
,
c
=
this
.
$scrollElement
.
scrollTop
()),
this
.
offsets
=
[],
this
.
targets
=
[],
this
.
scrollHeight
=
this
.
getScrollHeight
();
var
d
=
this
;
this
.
$body
.
find
(
this
.
selector
).
map
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
target
"
)
||
d
.
attr
(
"
href
"
),
f
=
/^#./
.
test
(
e
)
&&
a
(
e
);
return
f
&&
f
.
length
&&
f
.
is
(
"
:visible
"
)
&&
[[
f
[
b
]().
top
+
c
,
e
]]
||
null
}).
sort
(
function
(
a
,
b
){
return
a
[
0
]
-
b
[
0
]}).
each
(
function
(){
d
.
offsets
.
push
(
this
[
0
]),
d
.
targets
.
push
(
this
[
1
])})},
b
.
prototype
.
process
=
function
(){
var
a
,
b
=
this
.
$scrollElement
.
scrollTop
()
+
this
.
options
.
offset
,
c
=
this
.
getScrollHeight
(),
d
=
this
.
options
.
offset
+
c
-
this
.
$scrollElement
.
height
(),
e
=
this
.
offsets
,
f
=
this
.
targets
,
g
=
this
.
activeTarget
;
if
(
this
.
scrollHeight
!=
c
&&
this
.
refresh
(),
b
>=
d
)
return
g
!=
(
a
=
f
[
f
.
length
-
1
])
&&
this
.
activate
(
a
);
if
(
g
&&
b
<
e
[
0
])
return
this
.
activeTarget
=
null
,
this
.
clear
();
for
(
a
=
e
.
length
;
a
--
;)
g
!=
f
[
a
]
&&
b
>=
e
[
a
]
&&
(
!
e
[
a
+
1
]
||
b
<=
e
[
a
+
1
])
&&
this
.
activate
(
f
[
a
])},
b
.
prototype
.
activate
=
function
(
b
){
this
.
activeTarget
=
b
,
this
.
clear
();
var
c
=
this
.
selector
+
'
[data-target="
'
+
b
+
'
"],
'
+
this
.
selector
+
'
[href="
'
+
b
+
'
"]
'
,
d
=
a
(
c
).
parents
(
"
li
"
).
addClass
(
"
active
"
);
d
.
parent
(
"
.dropdown-menu
"
).
length
&&
(
d
=
d
.
closest
(
"
li.dropdown
"
).
addClass
(
"
active
"
)),
d
.
trigger
(
"
activate.bs.scrollspy
"
)},
b
.
prototype
.
clear
=
function
(){
a
(
this
.
selector
).
parentsUntil
(
this
.
options
.
target
,
"
.active
"
).
removeClass
(
"
active
"
)};
var
d
=
a
.
fn
.
scrollspy
;
a
.
fn
.
scrollspy
=
c
,
a
.
fn
.
scrollspy
.
Constructor
=
b
,
a
.
fn
.
scrollspy
.
noConflict
=
function
(){
return
a
.
fn
.
scrollspy
=
d
,
this
},
a
(
window
).
on
(
"
load.bs.scrollspy.data-api
"
,
function
(){
a
(
'
[data-spy="scroll"]
'
).
each
(
function
(){
var
b
=
a
(
this
);
c
.
call
(
b
,
b
.
data
())})})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.tab
"
);
e
||
d
.
data
(
"
bs.tab
"
,
e
=
new
c
(
this
)),
"
string
"
==
typeof
b
&&
e
[
b
]()})}
var
c
=
function
(
b
){
this
.
element
=
a
(
b
)};
c
.
VERSION
=
"
3.3.2
"
,
c
.
TRANSITION_DURATION
=
150
,
c
.
prototype
.
show
=
function
(){
var
b
=
this
.
element
,
c
=
b
.
closest
(
"
ul:not(.dropdown-menu)
"
),
d
=
b
.
data
(
"
target
"
);
if
(
d
||
(
d
=
b
.
attr
(
"
href
"
),
d
=
d
&&
d
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
)),
!
b
.
parent
(
"
li
"
).
hasClass
(
"
active
"
)){
var
e
=
c
.
find
(
"
.active:last a
"
),
f
=
a
.
Event
(
"
hide.bs.tab
"
,{
relatedTarget
:
b
[
0
]}),
g
=
a
.
Event
(
"
show.bs.tab
"
,{
relatedTarget
:
e
[
0
]});
if
(
e
.
trigger
(
f
),
b
.
trigger
(
g
),
!
g
.
isDefaultPrevented
()
&&!
f
.
isDefaultPrevented
()){
var
h
=
a
(
d
);
this
.
activate
(
b
.
closest
(
"
li
"
),
c
),
this
.
activate
(
h
,
h
.
parent
(),
function
(){
e
.
trigger
({
type
:
"
hidden.bs.tab
"
,
relatedTarget
:
b
[
0
]}),
b
.
trigger
({
type
:
"
shown.bs.tab
"
,
relatedTarget
:
e
[
0
]})})}}},
c
.
prototype
.
activate
=
function
(
b
,
d
,
e
){
function
f
(){
g
.
removeClass
(
"
active
"
).
find
(
"
> .dropdown-menu > .active
"
).
removeClass
(
"
active
"
).
end
().
find
(
'
[data-toggle="tab"]
'
).
attr
(
"
aria-expanded
"
,
!
1
),
b
.
addClass
(
"
active
"
).
find
(
'
[data-toggle="tab"]
'
).
attr
(
"
aria-expanded
"
,
!
0
),
h
?(
b
[
0
].
offsetWidth
,
b
.
addClass
(
"
in
"
)):
b
.
removeClass
(
"
fade
"
),
b
.
parent
(
"
.dropdown-menu
"
)
&&
b
.
closest
(
"
li.dropdown
"
).
addClass
(
"
active
"
).
end
().
find
(
'
[data-toggle="tab"]
'
).
attr
(
"
aria-expanded
"
,
!
0
),
e
&&
e
()
}
var
g
=
d
.
find
(
"
> .active
"
),
h
=
e
&&
a
.
support
.
transition
&&
(
g
.
length
&&
g
.
hasClass
(
"
fade
"
)
||!!
d
.
find
(
"
> .fade
"
).
length
);
g
.
length
&&
h
?
g
.
one
(
"
bsTransitionEnd
"
,
f
).
emulateTransitionEnd
(
c
.
TRANSITION_DURATION
):
f
(),
g
.
removeClass
(
"
in
"
)};
var
d
=
a
.
fn
.
tab
;
a
.
fn
.
tab
=
b
,
a
.
fn
.
tab
.
Constructor
=
c
,
a
.
fn
.
tab
.
noConflict
=
function
(){
return
a
.
fn
.
tab
=
d
,
this
};
var
e
=
function
(
c
){
c
.
preventDefault
(),
b
.
call
(
a
(
this
),
"
show
"
)};
a
(
document
).
on
(
"
click.bs.tab.data-api
"
,
'
[data-toggle="tab"]
'
,
e
).
on
(
"
click.bs.tab.data-api
"
,
'
[data-toggle="pill"]
'
,
e
)}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.affix
"
),
f
=
"
object
"
==
typeof
b
&&
b
;
e
||
d
.
data
(
"
bs.affix
"
,
e
=
new
c
(
this
,
f
)),
"
string
"
==
typeof
b
&&
e
[
b
]()})}
var
c
=
function
(
b
,
d
){
this
.
options
=
a
.
extend
({},
c
.
DEFAULTS
,
d
),
this
.
$target
=
a
(
this
.
options
.
target
).
on
(
"
scroll.bs.affix.data-api
"
,
a
.
proxy
(
this
.
checkPosition
,
this
)).
on
(
"
click.bs.affix.data-api
"
,
a
.
proxy
(
this
.
checkPositionWithEventLoop
,
this
)),
this
.
$element
=
a
(
b
),
this
.
affixed
=
this
.
unpin
=
this
.
pinnedOffset
=
null
,
this
.
checkPosition
()};
c
.
VERSION
=
"
3.3.2
"
,
c
.
RESET
=
"
affix affix-top affix-bottom
"
,
c
.
DEFAULTS
=
{
offset
:
0
,
target
:
window
},
c
.
prototype
.
getState
=
function
(
a
,
b
,
c
,
d
){
var
e
=
this
.
$target
.
scrollTop
(),
f
=
this
.
$element
.
offset
(),
g
=
this
.
$target
.
height
();
if
(
null
!=
c
&&
"
top
"
==
this
.
affixed
)
return
c
>
e
?
"
top
"
:
!
1
;
if
(
"
bottom
"
==
this
.
affixed
)
return
null
!=
c
?
e
+
this
.
unpin
<=
f
.
top
?
!
1
:
"
bottom
"
:
a
-
d
>=
e
+
g
?
!
1
:
"
bottom
"
;
var
h
=
null
==
this
.
affixed
,
i
=
h
?
e
:
f
.
top
,
j
=
h
?
g
:
b
;
return
null
!=
c
&&
c
>=
e
?
"
top
"
:
null
!=
d
&&
i
+
j
>=
a
-
d
?
"
bottom
"
:
!
1
},
c
.
prototype
.
getPinnedOffset
=
function
(){
if
(
this
.
pinnedOffset
)
return
this
.
pinnedOffset
;
this
.
$element
.
removeClass
(
c
.
RESET
).
addClass
(
"
affix
"
);
var
a
=
this
.
$target
.
scrollTop
(),
b
=
this
.
$element
.
offset
();
return
this
.
pinnedOffset
=
b
.
top
-
a
},
c
.
prototype
.
checkPositionWithEventLoop
=
function
(){
setTimeout
(
a
.
proxy
(
this
.
checkPosition
,
this
),
1
)},
c
.
prototype
.
checkPosition
=
function
(){
if
(
this
.
$element
.
is
(
"
:visible
"
)){
var
b
=
this
.
$element
.
height
(),
d
=
this
.
options
.
offset
,
e
=
d
.
top
,
f
=
d
.
bottom
,
g
=
a
(
"
body
"
).
height
();
"
object
"
!=
typeof
d
&&
(
f
=
e
=
d
),
"
function
"
==
typeof
e
&&
(
e
=
d
.
top
(
this
.
$element
)),
"
function
"
==
typeof
f
&&
(
f
=
d
.
bottom
(
this
.
$element
));
var
h
=
this
.
getState
(
g
,
b
,
e
,
f
);
if
(
this
.
affixed
!=
h
){
null
!=
this
.
unpin
&&
this
.
$element
.
css
(
"
top
"
,
""
);
var
i
=
"
affix
"
+
(
h
?
"
-
"
+
h
:
""
),
j
=
a
.
Event
(
i
+
"
.bs.affix
"
);
if
(
this
.
$element
.
trigger
(
j
),
j
.
isDefaultPrevented
())
return
;
this
.
affixed
=
h
,
this
.
unpin
=
"
bottom
"
==
h
?
this
.
getPinnedOffset
():
null
,
this
.
$element
.
removeClass
(
c
.
RESET
).
addClass
(
i
).
trigger
(
i
.
replace
(
"
affix
"
,
"
affixed
"
)
+
"
.bs.affix
"
)}
"
bottom
"
==
h
&&
this
.
$element
.
offset
({
top
:
g
-
b
-
f
})}};
var
d
=
a
.
fn
.
affix
;
a
.
fn
.
affix
=
b
,
a
.
fn
.
affix
.
Constructor
=
c
,
a
.
fn
.
affix
.
noConflict
=
function
(){
return
a
.
fn
.
affix
=
d
,
this
},
a
(
window
).
on
(
"
load
"
,
function
(){
a
(
'
[data-spy="affix"]
'
).
each
(
function
(){
var
c
=
a
(
this
),
d
=
c
.
data
();
d
.
offset
=
d
.
offset
||
{},
null
!=
d
.
offsetBottom
&&
(
d
.
offset
.
bottom
=
d
.
offsetBottom
),
null
!=
d
.
offsetTop
&&
(
d
.
offset
.
top
=
d
.
offsetTop
),
b
.
call
(
c
,
d
)})})}(
jQuery
);
if
(
"
undefined
"
==
typeof
jQuery
)
throw
new
Error
(
"
Bootstrap's JavaScript requires jQuery
"
);
+
function
(
a
){
"
use strict
"
;
var
b
=
a
.
fn
.
jquery
.
split
(
"
"
)[
0
].
split
(
"
.
"
);
if
(
b
[
0
]
<
2
&&
b
[
1
]
<
9
||
1
==
b
[
0
]
&&
9
==
b
[
1
]
&&
b
[
2
]
<
1
)
throw
new
Error
(
"
Bootstrap's JavaScript requires jQuery version 1.9.1 or higher
"
)}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(){
var
a
=
document
.
createElement
(
"
bootstrap
"
),
b
=
{
WebkitTransition
:
"
webkitTransitionEnd
"
,
MozTransition
:
"
transitionend
"
,
OTransition
:
"
oTransitionEnd otransitionend
"
,
transition
:
"
transitionend
"
};
for
(
var
c
in
b
)
if
(
void
0
!==
a
.
style
[
c
])
return
{
end
:
b
[
c
]};
return
!
1
}
a
.
fn
.
emulateTransitionEnd
=
function
(
b
){
var
c
=!
1
,
d
=
this
;
a
(
this
).
one
(
"
bsTransitionEnd
"
,
function
(){
c
=!
0
});
var
e
=
function
(){
c
||
a
(
d
).
trigger
(
a
.
support
.
transition
.
end
)};
return
setTimeout
(
e
,
b
),
this
},
a
(
function
(){
a
.
support
.
transition
=
b
(),
a
.
support
.
transition
&&
(
a
.
event
.
special
.
bsTransitionEnd
=
{
bindType
:
a
.
support
.
transition
.
end
,
delegateType
:
a
.
support
.
transition
.
end
,
handle
:
function
(
b
){
return
a
(
b
.
target
).
is
(
this
)?
b
.
handleObj
.
handler
.
apply
(
this
,
arguments
):
void
0
}})})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
return
this
.
each
(
function
(){
var
c
=
a
(
this
),
e
=
c
.
data
(
"
bs.alert
"
);
e
||
c
.
data
(
"
bs.alert
"
,
e
=
new
d
(
this
)),
"
string
"
==
typeof
b
&&
e
[
b
].
call
(
c
)})}
var
c
=
'
[data-dismiss="alert"]
'
,
d
=
function
(
b
){
a
(
b
).
on
(
"
click
"
,
c
,
this
.
close
)};
d
.
VERSION
=
"
3.3.4
"
,
d
.
TRANSITION_DURATION
=
150
,
d
.
prototype
.
close
=
function
(
b
){
function
c
(){
g
.
detach
().
trigger
(
"
closed.bs.alert
"
).
remove
()}
var
e
=
a
(
this
),
f
=
e
.
attr
(
"
data-target
"
);
f
||
(
f
=
e
.
attr
(
"
href
"
),
f
=
f
&&
f
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
g
=
a
(
f
);
b
&&
b
.
preventDefault
(),
g
.
length
||
(
g
=
e
.
closest
(
"
.alert
"
)),
g
.
trigger
(
b
=
a
.
Event
(
"
close.bs.alert
"
)),
b
.
isDefaultPrevented
()
||
(
g
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
g
.
hasClass
(
"
fade
"
)?
g
.
one
(
"
bsTransitionEnd
"
,
c
).
emulateTransitionEnd
(
d
.
TRANSITION_DURATION
):
c
())};
var
e
=
a
.
fn
.
alert
;
a
.
fn
.
alert
=
b
,
a
.
fn
.
alert
.
Constructor
=
d
,
a
.
fn
.
alert
.
noConflict
=
function
(){
return
a
.
fn
.
alert
=
e
,
this
},
a
(
document
).
on
(
"
click.bs.alert.data-api
"
,
c
,
d
.
prototype
.
close
)}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.button
"
),
f
=
"
object
"
==
typeof
b
&&
b
;
e
||
d
.
data
(
"
bs.button
"
,
e
=
new
c
(
this
,
f
)),
"
toggle
"
==
b
?
e
.
toggle
():
b
&&
e
.
setState
(
b
)})}
var
c
=
function
(
b
,
d
){
this
.
$element
=
a
(
b
),
this
.
options
=
a
.
extend
({},
c
.
DEFAULTS
,
d
),
this
.
isLoading
=!
1
};
c
.
VERSION
=
"
3.3.4
"
,
c
.
DEFAULTS
=
{
loadingText
:
"
loading...
"
},
c
.
prototype
.
setState
=
function
(
b
){
var
c
=
"
disabled
"
,
d
=
this
.
$element
,
e
=
d
.
is
(
"
input
"
)?
"
val
"
:
"
html
"
,
f
=
d
.
data
();
b
+=
"
Text
"
,
null
==
f
.
resetText
&&
d
.
data
(
"
resetText
"
,
d
[
e
]()),
setTimeout
(
a
.
proxy
(
function
(){
d
[
e
](
null
==
f
[
b
]?
this
.
options
[
b
]:
f
[
b
]),
"
loadingText
"
==
b
?(
this
.
isLoading
=!
0
,
d
.
addClass
(
c
).
attr
(
c
,
c
)):
this
.
isLoading
&&
(
this
.
isLoading
=!
1
,
d
.
removeClass
(
c
).
removeAttr
(
c
))},
this
),
0
)},
c
.
prototype
.
toggle
=
function
(){
var
a
=!
0
,
b
=
this
.
$element
.
closest
(
'
[data-toggle="buttons"]
'
);
if
(
b
.
length
){
var
c
=
this
.
$element
.
find
(
"
input
"
);
"
radio
"
==
c
.
prop
(
"
type
"
)
&&
(
c
.
prop
(
"
checked
"
)
&&
this
.
$element
.
hasClass
(
"
active
"
)?
a
=!
1
:
b
.
find
(
"
.active
"
).
removeClass
(
"
active
"
)),
a
&&
c
.
prop
(
"
checked
"
,
!
this
.
$element
.
hasClass
(
"
active
"
)).
trigger
(
"
change
"
)}
else
this
.
$element
.
attr
(
"
aria-pressed
"
,
!
this
.
$element
.
hasClass
(
"
active
"
));
a
&&
this
.
$element
.
toggleClass
(
"
active
"
)};
var
d
=
a
.
fn
.
button
;
a
.
fn
.
button
=
b
,
a
.
fn
.
button
.
Constructor
=
c
,
a
.
fn
.
button
.
noConflict
=
function
(){
return
a
.
fn
.
button
=
d
,
this
},
a
(
document
).
on
(
"
click.bs.button.data-api
"
,
'
[data-toggle^="button"]
'
,
function
(
c
){
var
d
=
a
(
c
.
target
);
d
.
hasClass
(
"
btn
"
)
||
(
d
=
d
.
closest
(
"
.btn
"
)),
b
.
call
(
d
,
"
toggle
"
),
c
.
preventDefault
()}).
on
(
"
focus.bs.button.data-api blur.bs.button.data-api
"
,
'
[data-toggle^="button"]
'
,
function
(
b
){
a
(
b
.
target
).
closest
(
"
.btn
"
).
toggleClass
(
"
focus
"
,
/^focus
(
in
)?
$/
.
test
(
b
.
type
))})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.carousel
"
),
f
=
a
.
extend
({},
c
.
DEFAULTS
,
d
.
data
(),
"
object
"
==
typeof
b
&&
b
),
g
=
"
string
"
==
typeof
b
?
b
:
f
.
slide
;
e
||
d
.
data
(
"
bs.carousel
"
,
e
=
new
c
(
this
,
f
)),
"
number
"
==
typeof
b
?
e
.
to
(
b
):
g
?
e
[
g
]():
f
.
interval
&&
e
.
pause
().
cycle
()})}
var
c
=
function
(
b
,
c
){
this
.
$element
=
a
(
b
),
this
.
$indicators
=
this
.
$element
.
find
(
"
.carousel-indicators
"
),
this
.
options
=
c
,
this
.
paused
=
null
,
this
.
sliding
=
null
,
this
.
interval
=
null
,
this
.
$active
=
null
,
this
.
$items
=
null
,
this
.
options
.
keyboard
&&
this
.
$element
.
on
(
"
keydown.bs.carousel
"
,
a
.
proxy
(
this
.
keydown
,
this
)),
"
hover
"
==
this
.
options
.
pause
&&!
(
"
ontouchstart
"
in
document
.
documentElement
)
&&
this
.
$element
.
on
(
"
mouseenter.bs.carousel
"
,
a
.
proxy
(
this
.
pause
,
this
)).
on
(
"
mouseleave.bs.carousel
"
,
a
.
proxy
(
this
.
cycle
,
this
))};
c
.
VERSION
=
"
3.3.4
"
,
c
.
TRANSITION_DURATION
=
600
,
c
.
DEFAULTS
=
{
interval
:
5
e3
,
pause
:
"
hover
"
,
wrap
:
!
0
,
keyboard
:
!
0
},
c
.
prototype
.
keydown
=
function
(
a
){
if
(
!
/input|textarea/i
.
test
(
a
.
target
.
tagName
)){
switch
(
a
.
which
){
case
37
:
this
.
prev
();
break
;
case
39
:
this
.
next
();
break
;
default
:
return
}
a
.
preventDefault
()}},
c
.
prototype
.
cycle
=
function
(
b
){
return
b
||
(
this
.
paused
=!
1
),
this
.
interval
&&
clearInterval
(
this
.
interval
),
this
.
options
.
interval
&&!
this
.
paused
&&
(
this
.
interval
=
setInterval
(
a
.
proxy
(
this
.
next
,
this
),
this
.
options
.
interval
)),
this
},
c
.
prototype
.
getItemIndex
=
function
(
a
){
return
this
.
$items
=
a
.
parent
().
children
(
"
.item
"
),
this
.
$items
.
index
(
a
||
this
.
$active
)},
c
.
prototype
.
getItemForDirection
=
function
(
a
,
b
){
var
c
=
this
.
getItemIndex
(
b
),
d
=
"
prev
"
==
a
&&
0
===
c
||
"
next
"
==
a
&&
c
==
this
.
$items
.
length
-
1
;
if
(
d
&&!
this
.
options
.
wrap
)
return
b
;
var
e
=
"
prev
"
==
a
?
-
1
:
1
,
f
=
(
c
+
e
)
%
this
.
$items
.
length
;
return
this
.
$items
.
eq
(
f
)},
c
.
prototype
.
to
=
function
(
a
){
var
b
=
this
,
c
=
this
.
getItemIndex
(
this
.
$active
=
this
.
$element
.
find
(
"
.item.active
"
));
return
a
>
this
.
$items
.
length
-
1
||
0
>
a
?
void
0
:
this
.
sliding
?
this
.
$element
.
one
(
"
slid.bs.carousel
"
,
function
(){
b
.
to
(
a
)}):
c
==
a
?
this
.
pause
().
cycle
():
this
.
slide
(
a
>
c
?
"
next
"
:
"
prev
"
,
this
.
$items
.
eq
(
a
))},
c
.
prototype
.
pause
=
function
(
b
){
return
b
||
(
this
.
paused
=!
0
),
this
.
$element
.
find
(
"
.next, .prev
"
).
length
&&
a
.
support
.
transition
&&
(
this
.
$element
.
trigger
(
a
.
support
.
transition
.
end
),
this
.
cycle
(
!
0
)),
this
.
interval
=
clearInterval
(
this
.
interval
),
this
},
c
.
prototype
.
next
=
function
(){
return
this
.
sliding
?
void
0
:
this
.
slide
(
"
next
"
)},
c
.
prototype
.
prev
=
function
(){
return
this
.
sliding
?
void
0
:
this
.
slide
(
"
prev
"
)},
c
.
prototype
.
slide
=
function
(
b
,
d
){
var
e
=
this
.
$element
.
find
(
"
.item.active
"
),
f
=
d
||
this
.
getItemForDirection
(
b
,
e
),
g
=
this
.
interval
,
h
=
"
next
"
==
b
?
"
left
"
:
"
right
"
,
i
=
this
;
if
(
f
.
hasClass
(
"
active
"
))
return
this
.
sliding
=!
1
;
var
j
=
f
[
0
],
k
=
a
.
Event
(
"
slide.bs.carousel
"
,{
relatedTarget
:
j
,
direction
:
h
});
if
(
this
.
$element
.
trigger
(
k
),
!
k
.
isDefaultPrevented
()){
if
(
this
.
sliding
=!
0
,
g
&&
this
.
pause
(),
this
.
$indicators
.
length
){
this
.
$indicators
.
find
(
"
.active
"
).
removeClass
(
"
active
"
);
var
l
=
a
(
this
.
$indicators
.
children
()[
this
.
getItemIndex
(
f
)]);
l
&&
l
.
addClass
(
"
active
"
)}
var
m
=
a
.
Event
(
"
slid.bs.carousel
"
,{
relatedTarget
:
j
,
direction
:
h
});
return
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
slide
"
)?(
f
.
addClass
(
b
),
f
[
0
].
offsetWidth
,
e
.
addClass
(
h
),
f
.
addClass
(
h
),
e
.
one
(
"
bsTransitionEnd
"
,
function
(){
f
.
removeClass
([
b
,
h
].
join
(
"
"
)).
addClass
(
"
active
"
),
e
.
removeClass
([
"
active
"
,
h
].
join
(
"
"
)),
i
.
sliding
=!
1
,
setTimeout
(
function
(){
i
.
$element
.
trigger
(
m
)},
0
)}).
emulateTransitionEnd
(
c
.
TRANSITION_DURATION
)):(
e
.
removeClass
(
"
active
"
),
f
.
addClass
(
"
active
"
),
this
.
sliding
=!
1
,
this
.
$element
.
trigger
(
m
)),
g
&&
this
.
cycle
(),
this
}};
var
d
=
a
.
fn
.
carousel
;
a
.
fn
.
carousel
=
b
,
a
.
fn
.
carousel
.
Constructor
=
c
,
a
.
fn
.
carousel
.
noConflict
=
function
(){
return
a
.
fn
.
carousel
=
d
,
this
};
var
e
=
function
(
c
){
var
d
,
e
=
a
(
this
),
f
=
a
(
e
.
attr
(
"
data-target
"
)
||
(
d
=
e
.
attr
(
"
href
"
))
&&
d
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
));
if
(
f
.
hasClass
(
"
carousel
"
)){
var
g
=
a
.
extend
({},
f
.
data
(),
e
.
data
()),
h
=
e
.
attr
(
"
data-slide-to
"
);
h
&&
(
g
.
interval
=!
1
),
b
.
call
(
f
,
g
),
h
&&
f
.
data
(
"
bs.carousel
"
).
to
(
h
),
c
.
preventDefault
()}};
a
(
document
).
on
(
"
click.bs.carousel.data-api
"
,
"
[data-slide]
"
,
e
).
on
(
"
click.bs.carousel.data-api
"
,
"
[data-slide-to]
"
,
e
),
a
(
window
).
on
(
"
load
"
,
function
(){
a
(
'
[data-ride="carousel"]
'
).
each
(
function
(){
var
c
=
a
(
this
);
b
.
call
(
c
,
c
.
data
())})})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
var
c
,
d
=
b
.
attr
(
"
data-target
"
)
||
(
c
=
b
.
attr
(
"
href
"
))
&&
c
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
);
return
a
(
d
)}
function
c
(
b
){
return
this
.
each
(
function
(){
var
c
=
a
(
this
),
e
=
c
.
data
(
"
bs.collapse
"
),
f
=
a
.
extend
({},
d
.
DEFAULTS
,
c
.
data
(),
"
object
"
==
typeof
b
&&
b
);
!
e
&&
f
.
toggle
&&
/show|hide/
.
test
(
b
)
&&
(
f
.
toggle
=!
1
),
e
||
c
.
data
(
"
bs.collapse
"
,
e
=
new
d
(
this
,
f
)),
"
string
"
==
typeof
b
&&
e
[
b
]()})}
var
d
=
function
(
b
,
c
){
this
.
$element
=
a
(
b
),
this
.
options
=
a
.
extend
({},
d
.
DEFAULTS
,
c
),
this
.
$trigger
=
a
(
'
[data-toggle="collapse"][href="#
'
+
b
.
id
+
'
"],[data-toggle="collapse"][data-target="#
'
+
b
.
id
+
'
"]
'
),
this
.
transitioning
=
null
,
this
.
options
.
parent
?
this
.
$parent
=
this
.
getParent
():
this
.
addAriaAndCollapsedClass
(
this
.
$element
,
this
.
$trigger
),
this
.
options
.
toggle
&&
this
.
toggle
()};
d
.
VERSION
=
"
3.3.4
"
,
d
.
TRANSITION_DURATION
=
350
,
d
.
DEFAULTS
=
{
toggle
:
!
0
},
d
.
prototype
.
dimension
=
function
(){
var
a
=
this
.
$element
.
hasClass
(
"
width
"
);
return
a
?
"
width
"
:
"
height
"
},
d
.
prototype
.
show
=
function
(){
if
(
!
this
.
transitioning
&&!
this
.
$element
.
hasClass
(
"
in
"
)){
var
b
,
e
=
this
.
$parent
&&
this
.
$parent
.
children
(
"
.panel
"
).
children
(
"
.in, .collapsing
"
);
if
(
!
(
e
&&
e
.
length
&&
(
b
=
e
.
data
(
"
bs.collapse
"
),
b
&&
b
.
transitioning
))){
var
f
=
a
.
Event
(
"
show.bs.collapse
"
);
if
(
this
.
$element
.
trigger
(
f
),
!
f
.
isDefaultPrevented
()){
e
&&
e
.
length
&&
(
c
.
call
(
e
,
"
hide
"
),
b
||
e
.
data
(
"
bs.collapse
"
,
null
));
var
g
=
this
.
dimension
();
this
.
$element
.
removeClass
(
"
collapse
"
).
addClass
(
"
collapsing
"
)[
g
](
0
).
attr
(
"
aria-expanded
"
,
!
0
),
this
.
$trigger
.
removeClass
(
"
collapsed
"
).
attr
(
"
aria-expanded
"
,
!
0
),
this
.
transitioning
=
1
;
var
h
=
function
(){
this
.
$element
.
removeClass
(
"
collapsing
"
).
addClass
(
"
collapse in
"
)[
g
](
""
),
this
.
transitioning
=
0
,
this
.
$element
.
trigger
(
"
shown.bs.collapse
"
)};
if
(
!
a
.
support
.
transition
)
return
h
.
call
(
this
);
var
i
=
a
.
camelCase
([
"
scroll
"
,
g
].
join
(
"
-
"
));
this
.
$element
.
one
(
"
bsTransitionEnd
"
,
a
.
proxy
(
h
,
this
)).
emulateTransitionEnd
(
d
.
TRANSITION_DURATION
)[
g
](
this
.
$element
[
0
][
i
])}}}},
d
.
prototype
.
hide
=
function
(){
if
(
!
this
.
transitioning
&&
this
.
$element
.
hasClass
(
"
in
"
)){
var
b
=
a
.
Event
(
"
hide.bs.collapse
"
);
if
(
this
.
$element
.
trigger
(
b
),
!
b
.
isDefaultPrevented
()){
var
c
=
this
.
dimension
();
this
.
$element
[
c
](
this
.
$element
[
c
]())[
0
].
offsetHeight
,
this
.
$element
.
addClass
(
"
collapsing
"
).
removeClass
(
"
collapse in
"
).
attr
(
"
aria-expanded
"
,
!
1
),
this
.
$trigger
.
addClass
(
"
collapsed
"
).
attr
(
"
aria-expanded
"
,
!
1
),
this
.
transitioning
=
1
;
var
e
=
function
(){
this
.
transitioning
=
0
,
this
.
$element
.
removeClass
(
"
collapsing
"
).
addClass
(
"
collapse
"
).
trigger
(
"
hidden.bs.collapse
"
)};
return
a
.
support
.
transition
?
void
this
.
$element
[
c
](
0
).
one
(
"
bsTransitionEnd
"
,
a
.
proxy
(
e
,
this
)).
emulateTransitionEnd
(
d
.
TRANSITION_DURATION
):
e
.
call
(
this
)}}},
d
.
prototype
.
toggle
=
function
(){
this
[
this
.
$element
.
hasClass
(
"
in
"
)?
"
hide
"
:
"
show
"
]()},
d
.
prototype
.
getParent
=
function
(){
return
a
(
this
.
options
.
parent
).
find
(
'
[data-toggle="collapse"][data-parent="
'
+
this
.
options
.
parent
+
'
"]
'
).
each
(
a
.
proxy
(
function
(
c
,
d
){
var
e
=
a
(
d
);
this
.
addAriaAndCollapsedClass
(
b
(
e
),
e
)},
this
)).
end
()},
d
.
prototype
.
addAriaAndCollapsedClass
=
function
(
a
,
b
){
var
c
=
a
.
hasClass
(
"
in
"
);
a
.
attr
(
"
aria-expanded
"
,
c
),
b
.
toggleClass
(
"
collapsed
"
,
!
c
).
attr
(
"
aria-expanded
"
,
c
)};
var
e
=
a
.
fn
.
collapse
;
a
.
fn
.
collapse
=
c
,
a
.
fn
.
collapse
.
Constructor
=
d
,
a
.
fn
.
collapse
.
noConflict
=
function
(){
return
a
.
fn
.
collapse
=
e
,
this
},
a
(
document
).
on
(
"
click.bs.collapse.data-api
"
,
'
[data-toggle="collapse"]
'
,
function
(
d
){
var
e
=
a
(
this
);
e
.
attr
(
"
data-target
"
)
||
d
.
preventDefault
();
var
f
=
b
(
e
),
g
=
f
.
data
(
"
bs.collapse
"
),
h
=
g
?
"
toggle
"
:
e
.
data
();
c
.
call
(
f
,
h
)})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
b
&&
3
===
b
.
which
||
(
a
(
e
).
remove
(),
a
(
f
).
each
(
function
(){
var
d
=
a
(
this
),
e
=
c
(
d
),
f
=
{
relatedTarget
:
this
};
e
.
hasClass
(
"
open
"
)
&&
(
e
.
trigger
(
b
=
a
.
Event
(
"
hide.bs.dropdown
"
,
f
)),
b
.
isDefaultPrevented
()
||
(
d
.
attr
(
"
aria-expanded
"
,
"
false
"
),
e
.
removeClass
(
"
open
"
).
trigger
(
"
hidden.bs.dropdown
"
,
f
)))}))}
function
c
(
b
){
var
c
=
b
.
attr
(
"
data-target
"
);
c
||
(
c
=
b
.
attr
(
"
href
"
),
c
=
c
&&
/#
[
A-Za-z
]
/
.
test
(
c
)
&&
c
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
d
=
c
&&
a
(
c
);
return
d
&&
d
.
length
?
d
:
b
.
parent
()}
function
d
(
b
){
return
this
.
each
(
function
(){
var
c
=
a
(
this
),
d
=
c
.
data
(
"
bs.dropdown
"
);
d
||
c
.
data
(
"
bs.dropdown
"
,
d
=
new
g
(
this
)),
"
string
"
==
typeof
b
&&
d
[
b
].
call
(
c
)})}
var
e
=
"
.dropdown-backdrop
"
,
f
=
'
[data-toggle="dropdown"]
'
,
g
=
function
(
b
){
a
(
b
).
on
(
"
click.bs.dropdown
"
,
this
.
toggle
)};
g
.
VERSION
=
"
3.3.4
"
,
g
.
prototype
.
toggle
=
function
(
d
){
var
e
=
a
(
this
);
if
(
!
e
.
is
(
"
.disabled, :disabled
"
)){
var
f
=
c
(
e
),
g
=
f
.
hasClass
(
"
open
"
);
if
(
b
(),
!
g
){
"
ontouchstart
"
in
document
.
documentElement
&&!
f
.
closest
(
"
.navbar-nav
"
).
length
&&
a
(
'
<div class="dropdown-backdrop"/>
'
).
insertAfter
(
a
(
this
)).
on
(
"
click
"
,
b
);
var
h
=
{
relatedTarget
:
this
};
if
(
f
.
trigger
(
d
=
a
.
Event
(
"
show.bs.dropdown
"
,
h
)),
d
.
isDefaultPrevented
())
return
;
e
.
trigger
(
"
focus
"
).
attr
(
"
aria-expanded
"
,
"
true
"
),
f
.
toggleClass
(
"
open
"
).
trigger
(
"
shown.bs.dropdown
"
,
h
)}
return
!
1
}},
g
.
prototype
.
keydown
=
function
(
b
){
if
(
/
(
38|40|27|32
)
/
.
test
(
b
.
which
)
&&!
/input|textarea/i
.
test
(
b
.
target
.
tagName
)){
var
d
=
a
(
this
);
if
(
b
.
preventDefault
(),
b
.
stopPropagation
(),
!
d
.
is
(
"
.disabled, :disabled
"
)){
var
e
=
c
(
d
),
g
=
e
.
hasClass
(
"
open
"
);
if
(
!
g
&&
27
!=
b
.
which
||
g
&&
27
==
b
.
which
)
return
27
==
b
.
which
&&
e
.
find
(
f
).
trigger
(
"
focus
"
),
d
.
trigger
(
"
click
"
);
var
h
=
"
li:not(.disabled):visible a
"
,
i
=
e
.
find
(
'
[role="menu"]
'
+
h
+
'
, [role="listbox"]
'
+
h
);
if
(
i
.
length
){
var
j
=
i
.
index
(
b
.
target
);
38
==
b
.
which
&&
j
>
0
&&
j
--
,
40
==
b
.
which
&&
j
<
i
.
length
-
1
&&
j
++
,
~
j
||
(
j
=
0
),
i
.
eq
(
j
).
trigger
(
"
focus
"
)}}}};
var
h
=
a
.
fn
.
dropdown
;
a
.
fn
.
dropdown
=
d
,
a
.
fn
.
dropdown
.
Constructor
=
g
,
a
.
fn
.
dropdown
.
noConflict
=
function
(){
return
a
.
fn
.
dropdown
=
h
,
this
},
a
(
document
).
on
(
"
click.bs.dropdown.data-api
"
,
b
).
on
(
"
click.bs.dropdown.data-api
"
,
"
.dropdown form
"
,
function
(
a
){
a
.
stopPropagation
()}).
on
(
"
click.bs.dropdown.data-api
"
,
f
,
g
.
prototype
.
toggle
).
on
(
"
keydown.bs.dropdown.data-api
"
,
f
,
g
.
prototype
.
keydown
).
on
(
"
keydown.bs.dropdown.data-api
"
,
'
[role="menu"]
'
,
g
.
prototype
.
keydown
).
on
(
"
keydown.bs.dropdown.data-api
"
,
'
[role="listbox"]
'
,
g
.
prototype
.
keydown
)}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
,
d
){
return
this
.
each
(
function
(){
var
e
=
a
(
this
),
f
=
e
.
data
(
"
bs.modal
"
),
g
=
a
.
extend
({},
c
.
DEFAULTS
,
e
.
data
(),
"
object
"
==
typeof
b
&&
b
);
f
||
e
.
data
(
"
bs.modal
"
,
f
=
new
c
(
this
,
g
)),
"
string
"
==
typeof
b
?
f
[
b
](
d
):
g
.
show
&&
f
.
show
(
d
)})}
var
c
=
function
(
b
,
c
){
this
.
options
=
c
,
this
.
$body
=
a
(
document
.
body
),
this
.
$element
=
a
(
b
),
this
.
$dialog
=
this
.
$element
.
find
(
"
.modal-dialog
"
),
this
.
$backdrop
=
null
,
this
.
isShown
=
null
,
this
.
originalBodyPad
=
null
,
this
.
scrollbarWidth
=
0
,
this
.
ignoreBackdropClick
=!
1
,
this
.
options
.
remote
&&
this
.
$element
.
find
(
"
.modal-content
"
).
load
(
this
.
options
.
remote
,
a
.
proxy
(
function
(){
this
.
$element
.
trigger
(
"
loaded.bs.modal
"
)},
this
))};
c
.
VERSION
=
"
3.3.4
"
,
c
.
TRANSITION_DURATION
=
300
,
c
.
BACKDROP_TRANSITION_DURATION
=
150
,
c
.
DEFAULTS
=
{
backdrop
:
!
0
,
keyboard
:
!
0
,
show
:
!
0
},
c
.
prototype
.
toggle
=
function
(
a
){
return
this
.
isShown
?
this
.
hide
():
this
.
show
(
a
)},
c
.
prototype
.
show
=
function
(
b
){
var
d
=
this
,
e
=
a
.
Event
(
"
show.bs.modal
"
,{
relatedTarget
:
b
});
this
.
$element
.
trigger
(
e
),
this
.
isShown
||
e
.
isDefaultPrevented
()
||
(
this
.
isShown
=!
0
,
this
.
checkScrollbar
(),
this
.
setScrollbar
(),
this
.
$body
.
addClass
(
"
modal-open
"
),
this
.
escape
(),
this
.
resize
(),
this
.
$element
.
on
(
"
click.dismiss.bs.modal
"
,
'
[data-dismiss="modal"]
'
,
a
.
proxy
(
this
.
hide
,
this
)),
this
.
$dialog
.
on
(
"
mousedown.dismiss.bs.modal
"
,
function
(){
d
.
$element
.
one
(
"
mouseup.dismiss.bs.modal
"
,
function
(
b
){
a
(
b
.
target
).
is
(
d
.
$element
)
&&
(
d
.
ignoreBackdropClick
=!
0
)})}),
this
.
backdrop
(
function
(){
var
e
=
a
.
support
.
transition
&&
d
.
$element
.
hasClass
(
"
fade
"
);
d
.
$element
.
parent
().
length
||
d
.
$element
.
appendTo
(
d
.
$body
),
d
.
$element
.
show
().
scrollTop
(
0
),
d
.
adjustDialog
(),
e
&&
d
.
$element
[
0
].
offsetWidth
,
d
.
$element
.
addClass
(
"
in
"
).
attr
(
"
aria-hidden
"
,
!
1
),
d
.
enforceFocus
();
var
f
=
a
.
Event
(
"
shown.bs.modal
"
,{
relatedTarget
:
b
});
e
?
d
.
$dialog
.
one
(
"
bsTransitionEnd
"
,
function
(){
d
.
$element
.
trigger
(
"
focus
"
).
trigger
(
f
)}).
emulateTransitionEnd
(
c
.
TRANSITION_DURATION
):
d
.
$element
.
trigger
(
"
focus
"
).
trigger
(
f
)}))},
c
.
prototype
.
hide
=
function
(
b
){
b
&&
b
.
preventDefault
(),
b
=
a
.
Event
(
"
hide.bs.modal
"
),
this
.
$element
.
trigger
(
b
),
this
.
isShown
&&!
b
.
isDefaultPrevented
()
&&
(
this
.
isShown
=!
1
,
this
.
escape
(),
this
.
resize
(),
a
(
document
).
off
(
"
focusin.bs.modal
"
),
this
.
$element
.
removeClass
(
"
in
"
).
attr
(
"
aria-hidden
"
,
!
0
).
off
(
"
click.dismiss.bs.modal
"
).
off
(
"
mouseup.dismiss.bs.modal
"
),
this
.
$dialog
.
off
(
"
mousedown.dismiss.bs.modal
"
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
fade
"
)?
this
.
$element
.
one
(
"
bsTransitionEnd
"
,
a
.
proxy
(
this
.
hideModal
,
this
)).
emulateTransitionEnd
(
c
.
TRANSITION_DURATION
):
this
.
hideModal
())},
c
.
prototype
.
enforceFocus
=
function
(){
a
(
document
).
off
(
"
focusin.bs.modal
"
).
on
(
"
focusin.bs.modal
"
,
a
.
proxy
(
function
(
a
){
this
.
$element
[
0
]
===
a
.
target
||
this
.
$element
.
has
(
a
.
target
).
length
||
this
.
$element
.
trigger
(
"
focus
"
)},
this
))},
c
.
prototype
.
escape
=
function
(){
this
.
isShown
&&
this
.
options
.
keyboard
?
this
.
$element
.
on
(
"
keydown.dismiss.bs.modal
"
,
a
.
proxy
(
function
(
a
){
27
==
a
.
which
&&
this
.
hide
()},
this
)):
this
.
isShown
||
this
.
$element
.
off
(
"
keydown.dismiss.bs.modal
"
)},
c
.
prototype
.
resize
=
function
(){
this
.
isShown
?
a
(
window
).
on
(
"
resize.bs.modal
"
,
a
.
proxy
(
this
.
handleUpdate
,
this
)):
a
(
window
).
off
(
"
resize.bs.modal
"
)},
c
.
prototype
.
hideModal
=
function
(){
var
a
=
this
;
this
.
$element
.
hide
(),
this
.
backdrop
(
function
(){
a
.
$body
.
removeClass
(
"
modal-open
"
),
a
.
resetAdjustments
(),
a
.
resetScrollbar
(),
a
.
$element
.
trigger
(
"
hidden.bs.modal
"
)})},
c
.
prototype
.
removeBackdrop
=
function
(){
this
.
$backdrop
&&
this
.
$backdrop
.
remove
(),
this
.
$backdrop
=
null
},
c
.
prototype
.
backdrop
=
function
(
b
){
var
d
=
this
,
e
=
this
.
$element
.
hasClass
(
"
fade
"
)?
"
fade
"
:
""
;
if
(
this
.
isShown
&&
this
.
options
.
backdrop
){
var
f
=
a
.
support
.
transition
&&
e
;
if
(
this
.
$backdrop
=
a
(
'
<div class="modal-backdrop
'
+
e
+
'
" />
'
).
appendTo
(
this
.
$body
),
this
.
$element
.
on
(
"
click.dismiss.bs.modal
"
,
a
.
proxy
(
function
(
a
){
return
this
.
ignoreBackdropClick
?
void
(
this
.
ignoreBackdropClick
=!
1
):
void
(
a
.
target
===
a
.
currentTarget
&&
(
"
static
"
==
this
.
options
.
backdrop
?
this
.
$element
[
0
].
focus
():
this
.
hide
()))},
this
)),
f
&&
this
.
$backdrop
[
0
].
offsetWidth
,
this
.
$backdrop
.
addClass
(
"
in
"
),
!
b
)
return
;
f
?
this
.
$backdrop
.
one
(
"
bsTransitionEnd
"
,
b
).
emulateTransitionEnd
(
c
.
BACKDROP_TRANSITION_DURATION
):
b
()}
else
if
(
!
this
.
isShown
&&
this
.
$backdrop
){
this
.
$backdrop
.
removeClass
(
"
in
"
);
var
g
=
function
(){
d
.
removeBackdrop
(),
b
&&
b
()};
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
fade
"
)?
this
.
$backdrop
.
one
(
"
bsTransitionEnd
"
,
g
).
emulateTransitionEnd
(
c
.
BACKDROP_TRANSITION_DURATION
):
g
()}
else
b
&&
b
()},
c
.
prototype
.
handleUpdate
=
function
(){
this
.
adjustDialog
()},
c
.
prototype
.
adjustDialog
=
function
(){
var
a
=
this
.
$element
[
0
].
scrollHeight
>
document
.
documentElement
.
clientHeight
;
this
.
$element
.
css
({
paddingLeft
:
!
this
.
bodyIsOverflowing
&&
a
?
this
.
scrollbarWidth
:
""
,
paddingRight
:
this
.
bodyIsOverflowing
&&!
a
?
this
.
scrollbarWidth
:
""
})},
c
.
prototype
.
resetAdjustments
=
function
(){
this
.
$element
.
css
({
paddingLeft
:
""
,
paddingRight
:
""
})},
c
.
prototype
.
checkScrollbar
=
function
(){
var
a
=
window
.
innerWidth
;
if
(
!
a
){
var
b
=
document
.
documentElement
.
getBoundingClientRect
();
a
=
b
.
right
-
Math
.
abs
(
b
.
left
)}
this
.
bodyIsOverflowing
=
document
.
body
.
clientWidth
<
a
,
this
.
scrollbarWidth
=
this
.
measureScrollbar
()},
c
.
prototype
.
setScrollbar
=
function
(){
var
a
=
parseInt
(
this
.
$body
.
css
(
"
padding-right
"
)
||
0
,
10
);
this
.
originalBodyPad
=
document
.
body
.
style
.
paddingRight
||
""
,
this
.
bodyIsOverflowing
&&
this
.
$body
.
css
(
"
padding-right
"
,
a
+
this
.
scrollbarWidth
)},
c
.
prototype
.
resetScrollbar
=
function
(){
this
.
$body
.
css
(
"
padding-right
"
,
this
.
originalBodyPad
)},
c
.
prototype
.
measureScrollbar
=
function
(){
var
a
=
document
.
createElement
(
"
div
"
);
a
.
className
=
"
modal-scrollbar-measure
"
,
this
.
$body
.
append
(
a
);
var
b
=
a
.
offsetWidth
-
a
.
clientWidth
;
return
this
.
$body
[
0
].
removeChild
(
a
),
b
};
var
d
=
a
.
fn
.
modal
;
a
.
fn
.
modal
=
b
,
a
.
fn
.
modal
.
Constructor
=
c
,
a
.
fn
.
modal
.
noConflict
=
function
(){
return
a
.
fn
.
modal
=
d
,
this
},
a
(
document
).
on
(
"
click.bs.modal.data-api
"
,
'
[data-toggle="modal"]
'
,
function
(
c
){
var
d
=
a
(
this
),
e
=
d
.
attr
(
"
href
"
),
f
=
a
(
d
.
attr
(
"
data-target
"
)
||
e
&&
e
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
g
=
f
.
data
(
"
bs.modal
"
)?
"
toggle
"
:
a
.
extend
({
remote
:
!
/#/
.
test
(
e
)
&&
e
},
f
.
data
(),
d
.
data
());
d
.
is
(
"
a
"
)
&&
c
.
preventDefault
(),
f
.
one
(
"
show.bs.modal
"
,
function
(
a
){
a
.
isDefaultPrevented
()
||
f
.
one
(
"
hidden.bs.modal
"
,
function
(){
d
.
is
(
"
:visible
"
)
&&
d
.
trigger
(
"
focus
"
)})}),
b
.
call
(
f
,
g
,
this
)})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.tooltip
"
),
f
=
"
object
"
==
typeof
b
&&
b
;(
e
||!
/destroy|hide/
.
test
(
b
))
&&
(
e
||
d
.
data
(
"
bs.tooltip
"
,
e
=
new
c
(
this
,
f
)),
"
string
"
==
typeof
b
&&
e
[
b
]())})}
var
c
=
function
(
a
,
b
){
this
.
type
=
null
,
this
.
options
=
null
,
this
.
enabled
=
null
,
this
.
timeout
=
null
,
this
.
hoverState
=
null
,
this
.
$element
=
null
,
this
.
init
(
"
tooltip
"
,
a
,
b
)};
c
.
VERSION
=
"
3.3.4
"
,
c
.
TRANSITION_DURATION
=
150
,
c
.
DEFAULTS
=
{
animation
:
!
0
,
placement
:
"
top
"
,
selector
:
!
1
,
template
:
'
<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>
'
,
trigger
:
"
hover focus
"
,
title
:
""
,
delay
:
0
,
html
:
!
1
,
container
:
!
1
,
viewport
:{
selector
:
"
body
"
,
padding
:
0
}},
c
.
prototype
.
init
=
function
(
b
,
c
,
d
){
if
(
this
.
enabled
=!
0
,
this
.
type
=
b
,
this
.
$element
=
a
(
c
),
this
.
options
=
this
.
getOptions
(
d
),
this
.
$viewport
=
this
.
options
.
viewport
&&
a
(
this
.
options
.
viewport
.
selector
||
this
.
options
.
viewport
),
this
.
$element
[
0
]
instanceof
document
.
constructor
&&!
this
.
options
.
selector
)
throw
new
Error
(
"
`selector` option must be specified when initializing
"
+
this
.
type
+
"
on the window.document object!
"
);
for
(
var
e
=
this
.
options
.
trigger
.
split
(
"
"
),
f
=
e
.
length
;
f
--
;){
var
g
=
e
[
f
];
if
(
"
click
"
==
g
)
this
.
$element
.
on
(
"
click.
"
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
toggle
,
this
));
else
if
(
"
manual
"
!=
g
){
var
h
=
"
hover
"
==
g
?
"
mouseenter
"
:
"
focusin
"
,
i
=
"
hover
"
==
g
?
"
mouseleave
"
:
"
focusout
"
;
this
.
$element
.
on
(
h
+
"
.
"
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
enter
,
this
)),
this
.
$element
.
on
(
i
+
"
.
"
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
leave
,
this
))}}
this
.
options
.
selector
?
this
.
_options
=
a
.
extend
({},
this
.
options
,{
trigger
:
"
manual
"
,
selector
:
""
}):
this
.
fixTitle
()},
c
.
prototype
.
getDefaults
=
function
(){
return
c
.
DEFAULTS
},
c
.
prototype
.
getOptions
=
function
(
b
){
return
b
=
a
.
extend
({},
this
.
getDefaults
(),
this
.
$element
.
data
(),
b
),
b
.
delay
&&
"
number
"
==
typeof
b
.
delay
&&
(
b
.
delay
=
{
show
:
b
.
delay
,
hide
:
b
.
delay
}),
b
},
c
.
prototype
.
getDelegateOptions
=
function
(){
var
b
=
{},
c
=
this
.
getDefaults
();
return
this
.
_options
&&
a
.
each
(
this
.
_options
,
function
(
a
,
d
){
c
[
a
]
!=
d
&&
(
b
[
a
]
=
d
)}),
b
},
c
.
prototype
.
enter
=
function
(
b
){
var
c
=
b
instanceof
this
.
constructor
?
b
:
a
(
b
.
currentTarget
).
data
(
"
bs.
"
+
this
.
type
);
return
c
&&
c
.
$tip
&&
c
.
$tip
.
is
(
"
:visible
"
)?
void
(
c
.
hoverState
=
"
in
"
):(
c
||
(
c
=
new
this
.
constructor
(
b
.
currentTarget
,
this
.
getDelegateOptions
()),
a
(
b
.
currentTarget
).
data
(
"
bs.
"
+
this
.
type
,
c
)),
clearTimeout
(
c
.
timeout
),
c
.
hoverState
=
"
in
"
,
c
.
options
.
delay
&&
c
.
options
.
delay
.
show
?
void
(
c
.
timeout
=
setTimeout
(
function
(){
"
in
"
==
c
.
hoverState
&&
c
.
show
()},
c
.
options
.
delay
.
show
)):
c
.
show
())},
c
.
prototype
.
leave
=
function
(
b
){
var
c
=
b
instanceof
this
.
constructor
?
b
:
a
(
b
.
currentTarget
).
data
(
"
bs.
"
+
this
.
type
);
return
c
||
(
c
=
new
this
.
constructor
(
b
.
currentTarget
,
this
.
getDelegateOptions
()),
a
(
b
.
currentTarget
).
data
(
"
bs.
"
+
this
.
type
,
c
)),
clearTimeout
(
c
.
timeout
),
c
.
hoverState
=
"
out
"
,
c
.
options
.
delay
&&
c
.
options
.
delay
.
hide
?
void
(
c
.
timeout
=
setTimeout
(
function
(){
"
out
"
==
c
.
hoverState
&&
c
.
hide
()},
c
.
options
.
delay
.
hide
)):
c
.
hide
()},
c
.
prototype
.
show
=
function
(){
var
b
=
a
.
Event
(
"
show.bs.
"
+
this
.
type
);
if
(
this
.
hasContent
()
&&
this
.
enabled
){
this
.
$element
.
trigger
(
b
);
var
d
=
a
.
contains
(
this
.
$element
[
0
].
ownerDocument
.
documentElement
,
this
.
$element
[
0
]);
if
(
b
.
isDefaultPrevented
()
||!
d
)
return
;
var
e
=
this
,
f
=
this
.
tip
(),
g
=
this
.
getUID
(
this
.
type
);
this
.
setContent
(),
f
.
attr
(
"
id
"
,
g
),
this
.
$element
.
attr
(
"
aria-describedby
"
,
g
),
this
.
options
.
animation
&&
f
.
addClass
(
"
fade
"
);
var
h
=
"
function
"
==
typeof
this
.
options
.
placement
?
this
.
options
.
placement
.
call
(
this
,
f
[
0
],
this
.
$element
[
0
]):
this
.
options
.
placement
,
i
=
/
\s?
auto
?\s?
/i
,
j
=
i
.
test
(
h
);
j
&&
(
h
=
h
.
replace
(
i
,
""
)
||
"
top
"
),
f
.
detach
().
css
({
top
:
0
,
left
:
0
,
display
:
"
block
"
}).
addClass
(
h
).
data
(
"
bs.
"
+
this
.
type
,
this
),
this
.
options
.
container
?
f
.
appendTo
(
this
.
options
.
container
):
f
.
insertAfter
(
this
.
$element
);
var
k
=
this
.
getPosition
(),
l
=
f
[
0
].
offsetWidth
,
m
=
f
[
0
].
offsetHeight
;
if
(
j
){
var
n
=
h
,
o
=
this
.
options
.
container
?
a
(
this
.
options
.
container
):
this
.
$element
.
parent
(),
p
=
this
.
getPosition
(
o
);
h
=
"
bottom
"
==
h
&&
k
.
bottom
+
m
>
p
.
bottom
?
"
top
"
:
"
top
"
==
h
&&
k
.
top
-
m
<
p
.
top
?
"
bottom
"
:
"
right
"
==
h
&&
k
.
right
+
l
>
p
.
width
?
"
left
"
:
"
left
"
==
h
&&
k
.
left
-
l
<
p
.
left
?
"
right
"
:
h
,
f
.
removeClass
(
n
).
addClass
(
h
)}
var
q
=
this
.
getCalculatedOffset
(
h
,
k
,
l
,
m
);
this
.
applyPlacement
(
q
,
h
);
var
r
=
function
(){
var
a
=
e
.
hoverState
;
e
.
$element
.
trigger
(
"
shown.bs.
"
+
e
.
type
),
e
.
hoverState
=
null
,
"
out
"
==
a
&&
e
.
leave
(
e
)};
a
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
"
fade
"
)?
f
.
one
(
"
bsTransitionEnd
"
,
r
).
emulateTransitionEnd
(
c
.
TRANSITION_DURATION
):
r
()}},
c
.
prototype
.
applyPlacement
=
function
(
b
,
c
){
var
d
=
this
.
tip
(),
e
=
d
[
0
].
offsetWidth
,
f
=
d
[
0
].
offsetHeight
,
g
=
parseInt
(
d
.
css
(
"
margin-top
"
),
10
),
h
=
parseInt
(
d
.
css
(
"
margin-left
"
),
10
);
isNaN
(
g
)
&&
(
g
=
0
),
isNaN
(
h
)
&&
(
h
=
0
),
b
.
top
=
b
.
top
+
g
,
b
.
left
=
b
.
left
+
h
,
a
.
offset
.
setOffset
(
d
[
0
],
a
.
extend
({
using
:
function
(
a
){
d
.
css
({
top
:
Math
.
round
(
a
.
top
),
left
:
Math
.
round
(
a
.
left
)})}},
b
),
0
),
d
.
addClass
(
"
in
"
);
var
i
=
d
[
0
].
offsetWidth
,
j
=
d
[
0
].
offsetHeight
;
"
top
"
==
c
&&
j
!=
f
&&
(
b
.
top
=
b
.
top
+
f
-
j
);
var
k
=
this
.
getViewportAdjustedDelta
(
c
,
b
,
i
,
j
);
k
.
left
?
b
.
left
+=
k
.
left
:
b
.
top
+=
k
.
top
;
var
l
=
/top|bottom/
.
test
(
c
),
m
=
l
?
2
*
k
.
left
-
e
+
i
:
2
*
k
.
top
-
f
+
j
,
n
=
l
?
"
offsetWidth
"
:
"
offsetHeight
"
;
d
.
offset
(
b
),
this
.
replaceArrow
(
m
,
d
[
0
][
n
],
l
)},
c
.
prototype
.
replaceArrow
=
function
(
a
,
b
,
c
){
this
.
arrow
().
css
(
c
?
"
left
"
:
"
top
"
,
50
*
(
1
-
a
/
b
)
+
"
%
"
).
css
(
c
?
"
top
"
:
"
left
"
,
""
)},
c
.
prototype
.
setContent
=
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
();
a
.
find
(
"
.tooltip-inner
"
)[
this
.
options
.
html
?
"
html
"
:
"
text
"
](
b
),
a
.
removeClass
(
"
fade in top bottom left right
"
)},
c
.
prototype
.
hide
=
function
(
b
){
function
d
(){
"
in
"
!=
e
.
hoverState
&&
f
.
detach
(),
e
.
$element
.
removeAttr
(
"
aria-describedby
"
).
trigger
(
"
hidden.bs.
"
+
e
.
type
),
b
&&
b
()}
var
e
=
this
,
f
=
a
(
this
.
$tip
),
g
=
a
.
Event
(
"
hide.bs.
"
+
this
.
type
);
return
this
.
$element
.
trigger
(
g
),
g
.
isDefaultPrevented
()?
void
0
:(
f
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
f
.
hasClass
(
"
fade
"
)?
f
.
one
(
"
bsTransitionEnd
"
,
d
).
emulateTransitionEnd
(
c
.
TRANSITION_DURATION
):
d
(),
this
.
hoverState
=
null
,
this
)},
c
.
prototype
.
fixTitle
=
function
(){
var
a
=
this
.
$element
;(
a
.
attr
(
"
title
"
)
||
"
string
"
!=
typeof
a
.
attr
(
"
data-original-title
"
))
&&
a
.
attr
(
"
data-original-title
"
,
a
.
attr
(
"
title
"
)
||
""
).
attr
(
"
title
"
,
""
)},
c
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()},
c
.
prototype
.
getPosition
=
function
(
b
){
b
=
b
||
this
.
$element
;
var
c
=
b
[
0
],
d
=
"
BODY
"
==
c
.
tagName
,
e
=
c
.
getBoundingClientRect
();
null
==
e
.
width
&&
(
e
=
a
.
extend
({},
e
,{
width
:
e
.
right
-
e
.
left
,
height
:
e
.
bottom
-
e
.
top
}));
var
f
=
d
?{
top
:
0
,
left
:
0
}:
b
.
offset
(),
g
=
{
scroll
:
d
?
document
.
documentElement
.
scrollTop
||
document
.
body
.
scrollTop
:
b
.
scrollTop
()},
h
=
d
?{
width
:
a
(
window
).
width
(),
height
:
a
(
window
).
height
()}:
null
;
return
a
.
extend
({},
e
,
g
,
h
,
f
)},
c
.
prototype
.
getCalculatedOffset
=
function
(
a
,
b
,
c
,
d
){
return
"
bottom
"
==
a
?{
top
:
b
.
top
+
b
.
height
,
left
:
b
.
left
+
b
.
width
/
2
-
c
/
2
}:
"
top
"
==
a
?{
top
:
b
.
top
-
d
,
left
:
b
.
left
+
b
.
width
/
2
-
c
/
2
}:
"
left
"
==
a
?{
top
:
b
.
top
+
b
.
height
/
2
-
d
/
2
,
left
:
b
.
left
-
c
}:{
top
:
b
.
top
+
b
.
height
/
2
-
d
/
2
,
left
:
b
.
left
+
b
.
width
}},
c
.
prototype
.
getViewportAdjustedDelta
=
function
(
a
,
b
,
c
,
d
){
var
e
=
{
top
:
0
,
left
:
0
};
if
(
!
this
.
$viewport
)
return
e
;
var
f
=
this
.
options
.
viewport
&&
this
.
options
.
viewport
.
padding
||
0
,
g
=
this
.
getPosition
(
this
.
$viewport
);
if
(
/right|left/
.
test
(
a
)){
var
h
=
b
.
top
-
f
-
g
.
scroll
,
i
=
b
.
top
+
f
-
g
.
scroll
+
d
;
h
<
g
.
top
?
e
.
top
=
g
.
top
-
h
:
i
>
g
.
top
+
g
.
height
&&
(
e
.
top
=
g
.
top
+
g
.
height
-
i
)}
else
{
var
j
=
b
.
left
-
f
,
k
=
b
.
left
+
f
+
c
;
j
<
g
.
left
?
e
.
left
=
g
.
left
-
j
:
k
>
g
.
width
&&
(
e
.
left
=
g
.
left
+
g
.
width
-
k
)}
return
e
},
c
.
prototype
.
getTitle
=
function
(){
var
a
,
b
=
this
.
$element
,
c
=
this
.
options
;
return
a
=
b
.
attr
(
"
data-original-title
"
)
||
(
"
function
"
==
typeof
c
.
title
?
c
.
title
.
call
(
b
[
0
]):
c
.
title
)},
c
.
prototype
.
getUID
=
function
(
a
){
do
a
+=~~
(
1
e6
*
Math
.
random
());
while
(
document
.
getElementById
(
a
));
return
a
},
c
.
prototype
.
tip
=
function
(){
return
this
.
$tip
=
this
.
$tip
||
a
(
this
.
options
.
template
)},
c
.
prototype
.
arrow
=
function
(){
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
"
.tooltip-arrow
"
)},
c
.
prototype
.
enable
=
function
(){
this
.
enabled
=!
0
},
c
.
prototype
.
disable
=
function
(){
this
.
enabled
=!
1
},
c
.
prototype
.
toggleEnabled
=
function
(){
this
.
enabled
=!
this
.
enabled
},
c
.
prototype
.
toggle
=
function
(
b
){
var
c
=
this
;
b
&&
(
c
=
a
(
b
.
currentTarget
).
data
(
"
bs.
"
+
this
.
type
),
c
||
(
c
=
new
this
.
constructor
(
b
.
currentTarget
,
this
.
getDelegateOptions
()),
a
(
b
.
currentTarget
).
data
(
"
bs.
"
+
this
.
type
,
c
))),
c
.
tip
().
hasClass
(
"
in
"
)?
c
.
leave
(
c
):
c
.
enter
(
c
)},
c
.
prototype
.
destroy
=
function
(){
var
a
=
this
;
clearTimeout
(
this
.
timeout
),
this
.
hide
(
function
(){
a
.
$element
.
off
(
"
.
"
+
a
.
type
).
removeData
(
"
bs.
"
+
a
.
type
)})};
var
d
=
a
.
fn
.
tooltip
;
a
.
fn
.
tooltip
=
b
,
a
.
fn
.
tooltip
.
Constructor
=
c
,
a
.
fn
.
tooltip
.
noConflict
=
function
(){
return
a
.
fn
.
tooltip
=
d
,
this
}}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.popover
"
),
f
=
"
object
"
==
typeof
b
&&
b
;(
e
||!
/destroy|hide/
.
test
(
b
))
&&
(
e
||
d
.
data
(
"
bs.popover
"
,
e
=
new
c
(
this
,
f
)),
"
string
"
==
typeof
b
&&
e
[
b
]())})}
var
c
=
function
(
a
,
b
){
this
.
init
(
"
popover
"
,
a
,
b
)};
if
(
!
a
.
fn
.
tooltip
)
throw
new
Error
(
"
Popover requires tooltip.js
"
);
c
.
VERSION
=
"
3.3.4
"
,
c
.
DEFAULTS
=
a
.
extend
({},
a
.
fn
.
tooltip
.
Constructor
.
DEFAULTS
,{
placement
:
"
right
"
,
trigger
:
"
click
"
,
content
:
""
,
template
:
'
<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>
'
}),
c
.
prototype
=
a
.
extend
({},
a
.
fn
.
tooltip
.
Constructor
.
prototype
),
c
.
prototype
.
constructor
=
c
,
c
.
prototype
.
getDefaults
=
function
(){
return
c
.
DEFAULTS
},
c
.
prototype
.
setContent
=
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
(),
c
=
this
.
getContent
();
a
.
find
(
"
.popover-title
"
)[
this
.
options
.
html
?
"
html
"
:
"
text
"
](
b
),
a
.
find
(
"
.popover-content
"
).
children
().
detach
().
end
()[
this
.
options
.
html
?
"
string
"
==
typeof
c
?
"
html
"
:
"
append
"
:
"
text
"
](
c
),
a
.
removeClass
(
"
fade top bottom left right in
"
),
a
.
find
(
"
.popover-title
"
).
html
()
||
a
.
find
(
"
.popover-title
"
).
hide
()},
c
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()
||
this
.
getContent
()},
c
.
prototype
.
getContent
=
function
(){
var
a
=
this
.
$element
,
b
=
this
.
options
;
return
a
.
attr
(
"
data-content
"
)
||
(
"
function
"
==
typeof
b
.
content
?
b
.
content
.
call
(
a
[
0
]):
b
.
content
)},
c
.
prototype
.
arrow
=
function
(){
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
"
.arrow
"
)};
var
d
=
a
.
fn
.
popover
;
a
.
fn
.
popover
=
b
,
a
.
fn
.
popover
.
Constructor
=
c
,
a
.
fn
.
popover
.
noConflict
=
function
(){
return
a
.
fn
.
popover
=
d
,
this
}}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
c
,
d
){
this
.
$body
=
a
(
document
.
body
),
this
.
$scrollElement
=
a
(
a
(
c
).
is
(
document
.
body
)?
window
:
c
),
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
selector
=
(
this
.
options
.
target
||
""
)
+
"
.nav li > a
"
,
this
.
offsets
=
[],
this
.
targets
=
[],
this
.
activeTarget
=
null
,
this
.
scrollHeight
=
0
,
this
.
$scrollElement
.
on
(
"
scroll.bs.scrollspy
"
,
a
.
proxy
(
this
.
process
,
this
)),
this
.
refresh
(),
this
.
process
()}
function
c
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.scrollspy
"
),
f
=
"
object
"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"
bs.scrollspy
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]()})}
b
.
VERSION
=
"
3.3.4
"
,
b
.
DEFAULTS
=
{
offset
:
10
},
b
.
prototype
.
getScrollHeight
=
function
(){
return
this
.
$scrollElement
[
0
].
scrollHeight
||
Math
.
max
(
this
.
$body
[
0
].
scrollHeight
,
document
.
documentElement
.
scrollHeight
)},
b
.
prototype
.
refresh
=
function
(){
var
b
=
this
,
c
=
"
offset
"
,
d
=
0
;
this
.
offsets
=
[],
this
.
targets
=
[],
this
.
scrollHeight
=
this
.
getScrollHeight
(),
a
.
isWindow
(
this
.
$scrollElement
[
0
])
||
(
c
=
"
position
"
,
d
=
this
.
$scrollElement
.
scrollTop
()),
this
.
$body
.
find
(
this
.
selector
).
map
(
function
(){
var
b
=
a
(
this
),
e
=
b
.
data
(
"
target
"
)
||
b
.
attr
(
"
href
"
),
f
=
/^#./
.
test
(
e
)
&&
a
(
e
);
return
f
&&
f
.
length
&&
f
.
is
(
"
:visible
"
)
&&
[[
f
[
c
]().
top
+
d
,
e
]]
||
null
}).
sort
(
function
(
a
,
b
){
return
a
[
0
]
-
b
[
0
]}).
each
(
function
(){
b
.
offsets
.
push
(
this
[
0
]),
b
.
targets
.
push
(
this
[
1
])})},
b
.
prototype
.
process
=
function
(){
var
a
,
b
=
this
.
$scrollElement
.
scrollTop
()
+
this
.
options
.
offset
,
c
=
this
.
getScrollHeight
(),
d
=
this
.
options
.
offset
+
c
-
this
.
$scrollElement
.
height
(),
e
=
this
.
offsets
,
f
=
this
.
targets
,
g
=
this
.
activeTarget
;
if
(
this
.
scrollHeight
!=
c
&&
this
.
refresh
(),
b
>=
d
)
return
g
!=
(
a
=
f
[
f
.
length
-
1
])
&&
this
.
activate
(
a
);
if
(
g
&&
b
<
e
[
0
])
return
this
.
activeTarget
=
null
,
this
.
clear
();
for
(
a
=
e
.
length
;
a
--
;)
g
!=
f
[
a
]
&&
b
>=
e
[
a
]
&&
(
void
0
===
e
[
a
+
1
]
||
b
<
e
[
a
+
1
])
&&
this
.
activate
(
f
[
a
])},
b
.
prototype
.
activate
=
function
(
b
){
this
.
activeTarget
=
b
,
this
.
clear
();
var
c
=
this
.
selector
+
'
[data-target="
'
+
b
+
'
"],
'
+
this
.
selector
+
'
[href="
'
+
b
+
'
"]
'
,
d
=
a
(
c
).
parents
(
"
li
"
).
addClass
(
"
active
"
);
d
.
parent
(
"
.dropdown-menu
"
).
length
&&
(
d
=
d
.
closest
(
"
li.dropdown
"
).
addClass
(
"
active
"
)),
d
.
trigger
(
"
activate.bs.scrollspy
"
)},
b
.
prototype
.
clear
=
function
(){
a
(
this
.
selector
).
parentsUntil
(
this
.
options
.
target
,
"
.active
"
).
removeClass
(
"
active
"
)};
var
d
=
a
.
fn
.
scrollspy
;
a
.
fn
.
scrollspy
=
c
,
a
.
fn
.
scrollspy
.
Constructor
=
b
,
a
.
fn
.
scrollspy
.
noConflict
=
function
(){
return
a
.
fn
.
scrollspy
=
d
,
this
},
a
(
window
).
on
(
"
load.bs.scrollspy.data-api
"
,
function
(){
a
(
'
[data-spy="scroll"]
'
).
each
(
function
(){
var
b
=
a
(
this
);
c
.
call
(
b
,
b
.
data
())})})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.tab
"
);
e
||
d
.
data
(
"
bs.tab
"
,
e
=
new
c
(
this
)),
"
string
"
==
typeof
b
&&
e
[
b
]()})}
var
c
=
function
(
b
){
this
.
element
=
a
(
b
)};
c
.
VERSION
=
"
3.3.4
"
,
c
.
TRANSITION_DURATION
=
150
,
c
.
prototype
.
show
=
function
(){
var
b
=
this
.
element
,
c
=
b
.
closest
(
"
ul:not(.dropdown-menu)
"
),
d
=
b
.
data
(
"
target
"
);
if
(
d
||
(
d
=
b
.
attr
(
"
href
"
),
d
=
d
&&
d
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
)),
!
b
.
parent
(
"
li
"
).
hasClass
(
"
active
"
)){
var
e
=
c
.
find
(
"
.active:last a
"
),
f
=
a
.
Event
(
"
hide.bs.tab
"
,{
relatedTarget
:
b
[
0
]}),
g
=
a
.
Event
(
"
show.bs.tab
"
,{
relatedTarget
:
e
[
0
]});
if
(
e
.
trigger
(
f
),
b
.
trigger
(
g
),
!
g
.
isDefaultPrevented
()
&&!
f
.
isDefaultPrevented
()){
var
h
=
a
(
d
);
this
.
activate
(
b
.
closest
(
"
li
"
),
c
),
this
.
activate
(
h
,
h
.
parent
(),
function
(){
e
.
trigger
({
type
:
"
hidden.bs.tab
"
,
relatedTarget
:
b
[
0
]}),
b
.
trigger
({
type
:
"
shown.bs.tab
"
,
relatedTarget
:
e
[
0
]})})}}},
c
.
prototype
.
activate
=
function
(
b
,
d
,
e
){
function
f
(){
g
.
removeClass
(
"
active
"
).
find
(
"
> .dropdown-menu > .active
"
).
removeClass
(
"
active
"
).
end
().
find
(
'
[data-toggle="tab"]
'
).
attr
(
"
aria-expanded
"
,
!
1
),
b
.
addClass
(
"
active
"
).
find
(
'
[data-toggle="tab"]
'
).
attr
(
"
aria-expanded
"
,
!
0
),
h
?(
b
[
0
].
offsetWidth
,
b
.
addClass
(
"
in
"
)):
b
.
removeClass
(
"
fade
"
),
b
.
parent
(
"
.dropdown-menu
"
).
length
&&
b
.
closest
(
"
li.dropdown
"
).
addClass
(
"
active
"
).
end
().
find
(
'
[data-toggle="tab"]
'
).
attr
(
"
aria-expanded
"
,
!
0
),
e
&&
e
()}
var
g
=
d
.
find
(
"
> .active
"
),
h
=
e
&&
a
.
support
.
transition
&&
(
g
.
length
&&
g
.
hasClass
(
"
fade
"
)
||!!
d
.
find
(
"
> .fade
"
).
length
);
g
.
length
&&
h
?
g
.
one
(
"
bsTransitionEnd
"
,
f
).
emulateTransitionEnd
(
c
.
TRANSITION_DURATION
):
f
(),
g
.
removeClass
(
"
in
"
)};
var
d
=
a
.
fn
.
tab
;
a
.
fn
.
tab
=
b
,
a
.
fn
.
tab
.
Constructor
=
c
,
a
.
fn
.
tab
.
noConflict
=
function
(){
return
a
.
fn
.
tab
=
d
,
this
};
var
e
=
function
(
c
){
c
.
preventDefault
(),
b
.
call
(
a
(
this
),
"
show
"
)};
a
(
document
).
on
(
"
click.bs.tab.data-api
"
,
'
[data-toggle="tab"]
'
,
e
).
on
(
"
click.bs.tab.data-api
"
,
'
[data-toggle="pill"]
'
,
e
)}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.affix
"
),
f
=
"
object
"
==
typeof
b
&&
b
;
e
||
d
.
data
(
"
bs.affix
"
,
e
=
new
c
(
this
,
f
)),
"
string
"
==
typeof
b
&&
e
[
b
]()})}
var
c
=
function
(
b
,
d
){
this
.
options
=
a
.
extend
({},
c
.
DEFAULTS
,
d
),
this
.
$target
=
a
(
this
.
options
.
target
).
on
(
"
scroll.bs.affix.data-api
"
,
a
.
proxy
(
this
.
checkPosition
,
this
)).
on
(
"
click.bs.affix.data-api
"
,
a
.
proxy
(
this
.
checkPositionWithEventLoop
,
this
)),
this
.
$element
=
a
(
b
),
this
.
affixed
=
null
,
this
.
unpin
=
null
,
this
.
pinnedOffset
=
null
,
this
.
checkPosition
()};
c
.
VERSION
=
"
3.3.4
"
,
c
.
RESET
=
"
affix affix-top affix-bottom
"
,
c
.
DEFAULTS
=
{
offset
:
0
,
target
:
window
},
c
.
prototype
.
getState
=
function
(
a
,
b
,
c
,
d
){
var
e
=
this
.
$target
.
scrollTop
(),
f
=
this
.
$element
.
offset
(),
g
=
this
.
$target
.
height
();
if
(
null
!=
c
&&
"
top
"
==
this
.
affixed
)
return
c
>
e
?
"
top
"
:
!
1
;
if
(
"
bottom
"
==
this
.
affixed
)
return
null
!=
c
?
e
+
this
.
unpin
<=
f
.
top
?
!
1
:
"
bottom
"
:
a
-
d
>=
e
+
g
?
!
1
:
"
bottom
"
;
var
h
=
null
==
this
.
affixed
,
i
=
h
?
e
:
f
.
top
,
j
=
h
?
g
:
b
;
return
null
!=
c
&&
c
>=
e
?
"
top
"
:
null
!=
d
&&
i
+
j
>=
a
-
d
?
"
bottom
"
:
!
1
},
c
.
prototype
.
getPinnedOffset
=
function
(){
if
(
this
.
pinnedOffset
)
return
this
.
pinnedOffset
;
this
.
$element
.
removeClass
(
c
.
RESET
).
addClass
(
"
affix
"
);
var
a
=
this
.
$target
.
scrollTop
(),
b
=
this
.
$element
.
offset
();
return
this
.
pinnedOffset
=
b
.
top
-
a
},
c
.
prototype
.
checkPositionWithEventLoop
=
function
(){
setTimeout
(
a
.
proxy
(
this
.
checkPosition
,
this
),
1
)},
c
.
prototype
.
checkPosition
=
function
(){
if
(
this
.
$element
.
is
(
"
:visible
"
)){
var
b
=
this
.
$element
.
height
(),
d
=
this
.
options
.
offset
,
e
=
d
.
top
,
f
=
d
.
bottom
,
g
=
a
(
document
.
body
).
height
();
"
object
"
!=
typeof
d
&&
(
f
=
e
=
d
),
"
function
"
==
typeof
e
&&
(
e
=
d
.
top
(
this
.
$element
)),
"
function
"
==
typeof
f
&&
(
f
=
d
.
bottom
(
this
.
$element
));
var
h
=
this
.
getState
(
g
,
b
,
e
,
f
);
if
(
this
.
affixed
!=
h
){
null
!=
this
.
unpin
&&
this
.
$element
.
css
(
"
top
"
,
""
);
var
i
=
"
affix
"
+
(
h
?
"
-
"
+
h
:
""
),
j
=
a
.
Event
(
i
+
"
.bs.affix
"
);
if
(
this
.
$element
.
trigger
(
j
),
j
.
isDefaultPrevented
())
return
;
this
.
affixed
=
h
,
this
.
unpin
=
"
bottom
"
==
h
?
this
.
getPinnedOffset
():
null
,
this
.
$element
.
removeClass
(
c
.
RESET
).
addClass
(
i
).
trigger
(
i
.
replace
(
"
affix
"
,
"
affixed
"
)
+
"
.bs.affix
"
)}
"
bottom
"
==
h
&&
this
.
$element
.
offset
({
top
:
g
-
b
-
f
})}};
var
d
=
a
.
fn
.
affix
;
a
.
fn
.
affix
=
b
,
a
.
fn
.
affix
.
Constructor
=
c
,
a
.
fn
.
affix
.
noConflict
=
function
(){
return
a
.
fn
.
affix
=
d
,
this
},
a
(
window
).
on
(
"
load
"
,
function
(){
a
(
'
[data-spy="affix"]
'
).
each
(
function
(){
var
c
=
a
(
this
),
d
=
c
.
data
();
d
.
offset
=
d
.
offset
||
{},
null
!=
d
.
offsetBottom
&&
(
d
.
offset
.
bottom
=
d
.
offsetBottom
),
null
!=
d
.
offsetTop
&&
(
d
.
offset
.
top
=
d
.
offsetTop
),
b
.
call
(
c
,
d
)})})}(
jQuery
);
/* **********************************************
Begin prism-core.js
********************************************** */
self
=
(
typeof
window
!==
'
undefined
'
)
?
window
// if in browser
:
(
(
typeof
WorkerGlobalScope
!==
'
undefined
'
&&
self
instanceof
WorkerGlobalScope
)
?
self
// if in worker
:
{}
// if in node js
);
/**
* Prism: Lightweight, robust, elegant syntax highlighting
* MIT license http://www.opensource.org/licenses/mit-license.php/
* @author Lea Verou http://lea.verou.me
*/
(
function
(){
var
Prism
=
(
function
(){
// Private helper vars
var
lang
=
/
\b
lang
(?:
uage
)?
-
(?!\*)(\w
+
)\b
/i
;
var
_
=
self
.
Prism
=
{
util
:
{
type
:
function
(
o
)
{
encode
:
function
(
tokens
)
{
if
(
tokens
instanceof
Token
)
{
return
new
Token
(
tokens
.
type
,
_
.
util
.
encode
(
tokens
.
content
),
tokens
.
alias
);
}
else
if
(
_
.
util
.
type
(
tokens
)
===
'
Array
'
)
{
return
tokens
.
map
(
_
.
util
.
encode
);
}
else
{
return
tokens
.
replace
(
/&/g
,
'
&
'
).
replace
(
/</g
,
'
<
'
).
replace
(
/
\u
00a0/g
,
'
'
);
}
},
type
:
function
(
o
)
{
return
Object
.
prototype
.
toString
.
call
(
o
).
match
(
/
\[
object
(\w
+
)\]
/
)[
1
];
},
// Deep clone a language definition (e.g. to extend it)
clone
:
function
(
o
)
{
var
type
=
_
.
util
.
type
(
o
);
...
...
@@ -9241,68 +9258,101 @@ var _ = self.Prism = {
switch
(
type
)
{
case
'
Object
'
:
var
clone
=
{};
for
(
var
key
in
o
)
{
if
(
o
.
hasOwnProperty
(
key
))
{
clone
[
key
]
=
_
.
util
.
clone
(
o
[
key
]);
}
}
return
clone
;
case
'
Array
'
:
return
o
.
slice
(
);
return
o
.
map
(
function
(
v
)
{
return
_
.
util
.
clone
(
v
);
}
);
}
return
o
;
}
},
languages
:
{
extend
:
function
(
id
,
redef
)
{
var
lang
=
_
.
util
.
clone
(
_
.
languages
[
id
]);
for
(
var
key
in
redef
)
{
lang
[
key
]
=
redef
[
key
];
}
return
lang
;
},
// Insert a token before another token in a language literal
/**
* Insert a token before another token in a language literal
* As this needs to recreate the object (we cannot actually insert before keys in object literals),
* we cannot just provide an object, we need anobject and a key.
* @param inside The key (or language id) of the parent
* @param before The key to insert before. If not provided, the function appends instead.
* @param insert Object with the key/value pairs to insert
* @param root The object that contains `inside`. If equal to Prism.languages, it can be omitted.
*/
insertBefore
:
function
(
inside
,
before
,
insert
,
root
)
{
root
=
root
||
_
.
languages
;
var
grammar
=
root
[
inside
];
var
ret
=
{};
if
(
arguments
.
length
==
2
)
{
insert
=
arguments
[
1
];
for
(
var
token
in
grammar
)
{
for
(
var
newToken
in
insert
)
{
if
(
insert
.
hasOwnProperty
(
newToken
))
{
grammar
[
newToken
]
=
insert
[
newToken
];
}
}
return
grammar
;
}
var
ret
=
{};
for
(
var
token
in
grammar
)
{
if
(
grammar
.
hasOwnProperty
(
token
))
{
if
(
token
==
before
)
{
for
(
var
newToken
in
insert
)
{
if
(
insert
.
hasOwnProperty
(
newToken
))
{
ret
[
newToken
]
=
insert
[
newToken
];
}
}
}
ret
[
token
]
=
grammar
[
token
];
}
}
// Update references in other language definitions
_
.
languages
.
DFS
(
_
.
languages
,
function
(
key
,
value
)
{
if
(
value
===
root
[
inside
]
&&
key
!=
inside
)
{
this
[
key
]
=
ret
;
}
});
return
root
[
inside
]
=
ret
;
},
// Traverse a language definition with Depth First Search
DFS
:
function
(
o
,
callback
)
{
DFS
:
function
(
o
,
callback
,
type
)
{
for
(
var
i
in
o
)
{
callback
.
call
(
o
,
i
,
o
[
i
]);
if
(
_
.
util
.
type
(
o
)
===
'
Object
'
)
{
_
.
languages
.
DFS
(
o
[
i
],
callback
);
if
(
o
.
hasOwnProperty
(
i
))
{
callback
.
call
(
o
,
i
,
o
[
i
],
type
||
i
);
if
(
_
.
util
.
type
(
o
[
i
])
===
'
Object
'
)
{
_
.
languages
.
DFS
(
o
[
i
],
callback
);
}
else
if
(
_
.
util
.
type
(
o
[
i
])
===
'
Array
'
)
{
_
.
languages
.
DFS
(
o
[
i
],
callback
,
i
);
}
}
}
}
...
...
@@ -9315,15 +9365,15 @@ var _ = self.Prism = {
_
.
highlightElement
(
element
,
async
===
true
,
callback
);
}
},
highlightElement
:
function
(
element
,
async
,
callback
)
{
// Find language
var
language
,
grammar
,
parent
=
element
;
while
(
parent
&&
!
lang
.
test
(
parent
.
className
))
{
parent
=
parent
.
parentNode
;
}
if
(
parent
)
{
language
=
(
parent
.
className
.
match
(
lang
)
||
[,
''
])[
1
];
grammar
=
_
.
languages
[
language
];
...
...
@@ -9332,166 +9382,173 @@ var _ = self.Prism = {
if
(
!
grammar
)
{
return
;
}
// Set language on the element, if not present
element
.
className
=
element
.
className
.
replace
(
lang
,
''
).
replace
(
/
\s
+/g
,
'
'
)
+
'
language-
'
+
language
;
// Set language on the parent, for styling
parent
=
element
.
parentNode
;
if
(
/pre/i
.
test
(
parent
.
nodeName
))
{
parent
.
className
=
parent
.
className
.
replace
(
lang
,
''
).
replace
(
/
\s
+/g
,
'
'
)
+
'
language-
'
+
language
;
parent
.
className
=
parent
.
className
.
replace
(
lang
,
''
).
replace
(
/
\s
+/g
,
'
'
)
+
'
language-
'
+
language
;
}
var
code
=
element
.
textContent
;
if
(
!
code
)
{
return
;
}
code
=
code
.
replace
(
/
&/g
,
'
&
'
).
replace
(
/</g
,
'
<
'
).
replace
(
/
\u
00a0/g
,
'
'
);
code
=
code
.
replace
(
/
^
(?:\r?\n
|
\r)
/
,
'
'
);
var
env
=
{
element
:
element
,
language
:
language
,
grammar
:
grammar
,
code
:
code
};
_
.
hooks
.
run
(
'
before-highlight
'
,
env
);
if
(
async
&&
self
.
Worker
)
{
var
worker
=
new
Worker
(
_
.
filename
);
var
worker
=
new
Worker
(
_
.
filename
);
worker
.
onmessage
=
function
(
evt
)
{
env
.
highlightedCode
=
Token
.
stringify
(
JSON
.
parse
(
evt
.
data
),
language
);
_
.
hooks
.
run
(
'
before-insert
'
,
env
);
env
.
element
.
innerHTML
=
env
.
highlightedCode
;
callback
&&
callback
.
call
(
env
.
element
);
_
.
hooks
.
run
(
'
after-highlight
'
,
env
);
};
worker
.
postMessage
(
JSON
.
stringify
({
language
:
env
.
language
,
code
:
env
.
code
}));
}
else
{
env
.
highlightedCode
=
_
.
highlight
(
env
.
code
,
env
.
grammar
,
env
.
language
)
env
.
highlightedCode
=
_
.
highlight
(
env
.
code
,
env
.
grammar
,
env
.
language
)
;
_
.
hooks
.
run
(
'
before-insert
'
,
env
);
env
.
element
.
innerHTML
=
env
.
highlightedCode
;
callback
&&
callback
.
call
(
element
);
_
.
hooks
.
run
(
'
after-highlight
'
,
env
);
}
},
highlight
:
function
(
text
,
grammar
,
language
)
{
return
Token
.
stringify
(
_
.
tokenize
(
text
,
grammar
),
language
);
var
tokens
=
_
.
tokenize
(
text
,
grammar
);
return
Token
.
stringify
(
_
.
util
.
encode
(
tokens
),
language
);
},
tokenize
:
function
(
text
,
grammar
,
language
)
{
var
Token
=
_
.
Token
;
var
strarr
=
[
text
];
var
rest
=
grammar
.
rest
;
if
(
rest
)
{
for
(
var
token
in
rest
)
{
grammar
[
token
]
=
rest
[
token
];
}
delete
grammar
.
rest
;
}
tokenloop
:
for
(
var
token
in
grammar
)
{
if
(
!
grammar
.
hasOwnProperty
(
token
)
||
!
grammar
[
token
])
{
continue
;
}
var
pattern
=
grammar
[
token
],
inside
=
pattern
.
inside
,
lookbehind
=
!!
pattern
.
lookbehind
,
lookbehindLength
=
0
;
pattern
=
pattern
.
pattern
||
pattern
;
for
(
var
i
=
0
;
i
<
strarr
.
length
;
i
++
)
{
// Don’t cache length as it changes during the loop
var
str
=
strarr
[
i
];
if
(
strarr
.
length
>
text
.
length
)
{
// Something went terribly wrong, ABORT, ABORT!
break
tokenloop
;
}
if
(
str
instanceof
Token
)
{
continue
;
}
pattern
.
lastIndex
=
0
;
var
match
=
pattern
.
exec
(
str
);
if
(
match
)
{
if
(
lookbehind
)
{
lookbehindLength
=
match
[
1
].
length
;
var
patterns
=
grammar
[
token
];
patterns
=
(
_
.
util
.
type
(
patterns
)
===
"
Array
"
)
?
patterns
:
[
patterns
];
for
(
var
j
=
0
;
j
<
patterns
.
length
;
++
j
)
{
var
pattern
=
patterns
[
j
],
inside
=
pattern
.
inside
,
lookbehind
=
!!
pattern
.
lookbehind
,
lookbehindLength
=
0
,
alias
=
pattern
.
alias
;
pattern
=
pattern
.
pattern
||
pattern
;
for
(
var
i
=
0
;
i
<
strarr
.
length
;
i
++
)
{
// Don’t cache length as it changes during the loop
var
str
=
strarr
[
i
];
if
(
strarr
.
length
>
text
.
length
)
{
// Something went terribly wrong, ABORT, ABORT!
break
tokenloop
;
}
var
from
=
match
.
index
-
1
+
lookbehindLength
,
match
=
match
[
0
].
slice
(
lookbehindLength
),
len
=
match
.
length
,
to
=
from
+
len
,
before
=
str
.
slice
(
0
,
from
+
1
),
after
=
str
.
slice
(
to
+
1
);
var
args
=
[
i
,
1
];
if
(
before
)
{
args
.
push
(
before
);
if
(
str
instanceof
Token
)
{
continue
;
}
var
wrapped
=
new
Token
(
token
,
inside
?
_
.
tokenize
(
match
,
inside
)
:
match
);
args
.
push
(
wrapped
);
if
(
after
)
{
args
.
push
(
after
);
pattern
.
lastIndex
=
0
;
var
match
=
pattern
.
exec
(
str
);
if
(
match
)
{
if
(
lookbehind
)
{
lookbehindLength
=
match
[
1
].
length
;
}
var
from
=
match
.
index
-
1
+
lookbehindLength
,
match
=
match
[
0
].
slice
(
lookbehindLength
),
len
=
match
.
length
,
to
=
from
+
len
,
before
=
str
.
slice
(
0
,
from
+
1
),
after
=
str
.
slice
(
to
+
1
);
var
args
=
[
i
,
1
];
if
(
before
)
{
args
.
push
(
before
);
}
var
wrapped
=
new
Token
(
token
,
inside
?
_
.
tokenize
(
match
,
inside
)
:
match
,
alias
);
args
.
push
(
wrapped
);
if
(
after
)
{
args
.
push
(
after
);
}
Array
.
prototype
.
splice
.
apply
(
strarr
,
args
);
}
Array
.
prototype
.
splice
.
apply
(
strarr
,
args
);
}
}
}
return
strarr
;
},
hooks
:
{
all
:
{},
add
:
function
(
name
,
callback
)
{
var
hooks
=
_
.
hooks
.
all
;
hooks
[
name
]
=
hooks
[
name
]
||
[];
hooks
[
name
].
push
(
callback
);
},
run
:
function
(
name
,
env
)
{
var
callbacks
=
_
.
hooks
.
all
[
name
];
if
(
!
callbacks
||
!
callbacks
.
length
)
{
return
;
}
for
(
var
i
=
0
,
callback
;
callback
=
callbacks
[
i
++
];)
{
callback
(
env
);
}
...
...
@@ -9499,9 +9556,10 @@ var _ = self.Prism = {
}
};
var
Token
=
_
.
Token
=
function
(
type
,
content
)
{
var
Token
=
_
.
Token
=
function
(
type
,
content
,
alias
)
{
this
.
type
=
type
;
this
.
content
=
content
;
this
.
alias
=
alias
;
};
Token
.
stringify
=
function
(
o
,
language
,
parent
)
{
...
...
@@ -9509,12 +9567,12 @@ Token.stringify = function(o, language, parent) {
return
o
;
}
if
(
Object
.
prototype
.
toString
.
call
(
o
)
==
'
[object Array]
'
)
{
if
(
_
.
util
.
type
(
o
)
===
'
Array
'
)
{
return
o
.
map
(
function
(
element
)
{
return
Token
.
stringify
(
element
,
language
,
o
);
}).
join
(
''
);
}
var
env
=
{
type
:
o
.
type
,
content
:
Token
.
stringify
(
o
.
content
,
language
,
parent
),
...
...
@@ -9524,35 +9582,44 @@ Token.stringify = function(o, language, parent) {
language
:
language
,
parent
:
parent
};
if
(
env
.
type
==
'
comment
'
)
{
env
.
attributes
[
'
spellcheck
'
]
=
'
true
'
;
}
if
(
o
.
alias
)
{
var
aliases
=
_
.
util
.
type
(
o
.
alias
)
===
'
Array
'
?
o
.
alias
:
[
o
.
alias
];
Array
.
prototype
.
push
.
apply
(
env
.
classes
,
aliases
);
}
_
.
hooks
.
run
(
'
wrap
'
,
env
);
var
attributes
=
''
;
for
(
var
name
in
env
.
attributes
)
{
attributes
+=
name
+
'
="
'
+
(
env
.
attributes
[
name
]
||
''
)
+
'
"
'
;
}
return
'
<
'
+
env
.
tag
+
'
class="
'
+
env
.
classes
.
join
(
'
'
)
+
'
"
'
+
attributes
+
'
>
'
+
env
.
content
+
'
</
'
+
env
.
tag
+
'
>
'
;
};
if
(
!
self
.
document
)
{
// In worker
if
(
!
self
.
addEventListener
)
{
// in Node.js
return
self
.
Prism
;
}
// In worker
self
.
addEventListener
(
'
message
'
,
function
(
evt
)
{
var
message
=
JSON
.
parse
(
evt
.
data
),
lang
=
message
.
language
,
code
=
message
.
code
;
self
.
postMessage
(
JSON
.
stringify
(
_
.
tokenize
(
code
,
_
.
languages
[
lang
]
)));
self
.
postMessage
(
JSON
.
stringify
(
_
.
util
.
encode
(
_
.
tokenize
(
code
,
_
.
languages
[
lang
])
)));
self
.
close
();
},
false
);
return
;
return
self
.
Prism
;
}
// Get current script and highlight
...
...
@@ -9562,50 +9629,57 @@ script = script[script.length - 1];
if
(
script
)
{
_
.
filename
=
script
.
src
;
if
(
document
.
addEventListener
&&
!
script
.
hasAttribute
(
'
data-manual
'
))
{
document
.
addEventListener
(
'
DOMContentLoaded
'
,
_
.
highlightAll
);
}
}
return
self
.
Prism
;
})();
if
(
typeof
module
!==
'
undefined
'
&&
module
.
exports
)
{
module
.
exports
=
Prism
;
}
/* **********************************************
Begin prism-markup.js
********************************************** */
Prism
.
languages
.
markup
=
{
'
comment
'
:
/
&
lt
;
!--
[
\
w
\
W
]
*
?
-->
/g
,
'
prolog
'
:
/
<
\?
.+
?\?
>/
,
'
doctype
'
:
/
&
lt
;
!
DOCTYPE
.
+
?
>
/
,
'
cdata
'
:
/
<
!
\[
CDATA
\[[\w\W]
*
?
]]>/i
,
'
comment
'
:
/
<!--
[
\
w
\
W
]
*
?
-->
/
,
'
prolog
'
:
/
<
\?
.+
?\?
>/
,
'
doctype
'
:
/
<
!
DOCTYPE
.
+
?
>
/
,
'
cdata
'
:
/
<
!
\[
CDATA
\[[\w\W]
*
?
]]>/i
,
'
tag
'
:
{
pattern
:
/
<
\/?[\w
:-
]
+
\s
*
(?:\s
+
[\w
:-
]
+
(?:
=
(?:(
"|'
)(\\?[\w\W])
*
?\1
|
\w
+
))?\s
*
)
*
\/?
>/g
i
,
pattern
:
/
<
\/?[\w
:-
]
+
\s
*
(?:\s
+
[\w
:-
]
+
(?:
=
(?:(
"|'
)(\\?[\w\W])
*
?\1
|
[^\s
'">=
]
+
))?\s
*
)
*
\/?
>/
i
,
inside
:
{
'
tag
'
:
{
pattern
:
/^
<
\/?[\w
:-
]
+/i
,
pattern
:
/^
<
\/?[\w
:-
]
+/i
,
inside
:
{
'
punctuation
'
:
/^
&
lt
;
\
/
?
/
,
'
punctuation
'
:
/^
<
\
/
?
/
,
'
namespace
'
:
/^
[\w
-
]
+
?
:/
}
},
'
attr-value
'
:
{
pattern
:
/=
(?:(
'|"
)[\w\W]
*
?(\1)
|
[^\s
>
]
+
)
/
g
i
,
pattern
:
/=
(?:(
'|"
)[\w\W]
*
?(\1)
|
[^\s
>
]
+
)
/i
,
inside
:
{
'
punctuation
'
:
/=|>|
"
/
g
'
punctuation
'
:
/=|>|
"
/
}
},
'punctuation': /
\
/?>/
g
,
'punctuation': /
\
/?>/,
'attr-name': {
pattern: /[
\
w:-]+/
g
,
pattern: /[
\
w:-]+/,
inside: {
'namespace': /^[
\
w-]+?:/
}
}
}
},
'entity': /&
amp;#?[
\
da-z]{1,8};/g
i
'entity': /&
#?[
\
da-z]{1,8};/
i
};
// Plugin to make entity title show the real entity, idea by Roman Komarov
...
...
@@ -9616,40 +9690,60 @@ Prism.hooks.add('wrap', function(env) {
}
});
/* **********************************************
Begin prism-css.js
********************************************** */
Prism.languages.css = {
'comment': /
\
/
\
*[
\
w
\
W]*?
\
*
\
//
g
,
'comment': /
\
/
\
*[
\
w
\
W]*?
\
*
\
//,
'atrule': {
pattern: /@[
\
w-]+?.*?(;|(?=
\
s*
{))/g
i,
pattern: /@[
\
w-]+?.*?(;|(?=
\
s*
\
{))/
i,
inside: {
'punctuation': /[;:]/
g
'punctuation': /[;:]/
}
},
'url': /url
\
((
[
"'
]?).*?
\
1
\
)/g
i,
'
selector
'
: /[^
\
{
\
}
\
s][^
\
{
\
};]*(?=
\
s*
\
{)/
g
,
'
property
'
: /(
\
b|
\
B)[
\
w-]+(?=
\
s*:)/ig
,
'
string
'
: /("|
'
)(
\\
?.)
*
?
\
1
/
g
,
'
important
'
:
/
\B
!important
\b
/
g
i
,
'
ignore
'
:
/&
(
lt|gt|amp
)
;/gi
,
'
punctuation
'
:
/
[
\
{
\
};:]
/
g
'url': /url
\
((
?:([
"'
])(
\\\n
|
\\
?.)*?
\
1|.*?)
\
)/
i,
'
selector
'
: /[^
\
{
\
}
\
s][^
\
{
\
};]*(?=
\
s*
\
{)/,
'
string
'
: /("|
'
)(
\\\
n
|
\\
?.)
*
?
\
1
/
,
'
property
'
:
/
(\b
|
\B)[\w
-
]
+
(?=\s
*:
)
/i
,
'
important
'
:
/
\B
!important
\b
/i
,
'
punctuation
'
:
/
[
\
{
\
};:]
/
,
'
function
'
:
/
[
-
a
-
z0
-
9
]
+
(?
=
\
()
/
i
};
if
(
Prism
.
languages
.
markup
)
{
Prism
.
languages
.
insertBefore
(
'
markup
'
,
'
tag
'
,
{
'
style
'
:
{
pattern
:
/
(
<|<
)
style
[\w\W]
*
?(
>|>
)[\w\W]
*
?(
<|<
)\/
style
(
>|>
)
/ig
,
pattern
:
/
<style
[\w\W]
*
?
>
[\w\W]
*
?
<
\/
style>/i
,
inside
:
{
'
tag
'
:
{
pattern
:
/
(
<|<
)
style
[\w\W]
*
?(
>|>
)
|
(
<|<
)\/
style
(
>|>
)
/ig
,
pattern
:
/
<style
[\w\W]
*
?
>|<
\/
style>/i
,
inside
:
Prism
.
languages
.
markup
.
tag
.
inside
},
rest
:
Prism
.
languages
.
css
}
},
alias
:
'
language-css
'
}
});
Prism
.
languages
.
insertBefore
(
'
inside
'
,
'
attr-value
'
,
{
'
style-attr
'
:
{
pattern
:
/
\s
*style=
(
"|'
)
.*
?\1
/i
,
inside
:
{
'
attr-name
'
:
{
pattern
:
/^
\s
*style/i
,
inside
:
Prism
.
languages
.
markup
.
tag
.
inside
},
'
punctuation
'
:
/^
\
s
*=
\
s
*
[
'
"]|[
'"
]
\
s*$/,
'attr-value': {
pattern: /.+/i,
inside: Prism.languages.css
}
},
alias: 'language-css'
}
}, Prism.languages.markup.tag);
}
/* **********************************************
...
...
@@ -9657,44 +9751,52 @@ if (Prism.languages.markup) {
********************************************** */
Prism.languages.clike = {
'
comment
'
:
{
pattern
:
/
(
^|
[^\\])(\/\*[\w\W]
*
?\*\/
|
(
^|
[^
:
])\/\/
.*
?(\r?\n
|$
))
/g
,
lookbehind
:
true
},
'
string
'
:
/
(
"
|')(
\\
?.)*?
\
1/g,
'comment': [
{
pattern: /(^|[^
\\
])
\
/
\
*[
\
w
\
W]*?
\
*
\
//,
lookbehind: true
},
{
pattern: /(^|[^
\\
:])
\
/
\
/.+/,
lookbehind: true
}
],
'string': /(
"
|
'
)(
\\\n
|
\\
?.)*?
\
1/,
'
class
-
name
'
: {
pattern: /((?:
class|interface|extends|implements|trait|instanceof|new)
\
s+)[a-z0-9_
\
.
\\
]+/ig
,
pattern: /((?:
(?:class|interface|extends|implements|trait|instanceof|new)
\
s+)|(?:catch
\
s+
\
())[a-z0-9_
\
.
\\
]+/i
,
lookbehind: true,
inside: {
punctuation: /(
\
.|
\\
)/
}
},
'keyword': /
\
b(if|else|while|do|for|return|in|instanceof|function|new|try|
catch|finally|null|break|continue)
\
b/g
,
'boolean': /
\
b(true|false)
\
b/
g
,
'
keyword
'
: /
\
b(if|else|while|do|for|return|in|instanceof|function|new|try|
throw|catch|finally|null|break|continue)
\
b/
,
'
boolean
'
: /
\
b(true|false)
\
b/,
'
function
'
: {
pattern: /[a-z0-9_]+
\
(/i
g
,
pattern: /[a-z0-9_]+
\
(/i,
inside: {
punctuation: /
\
(/
}
},
'number': /
\
b-?(0x[
\
dA-Fa-f]+|
\
d*
\
.?
\
d+([Ee]-?
\
d+)?)
\
b/
g
,
'operator': /[-+]{1,2}|!|
=?<|=?>|={1,2}|(&){1,2}|
\
|?
\
||
\
?|
\
*|
\
/|
\
~|
\
^|
\
%/g
,
'ignore': /&(lt|gt|amp);/
g
i,
'punctuation': /[{}[
\
];(),.:]/
g
'
number
'
: /
\
b-?(0x[
\
dA-Fa-f]+|
\
d*
\
.?
\
d+([Ee]-?
\
d+)?)
\
b/,
'
operator
'
: /[-+]{1,2}|!|
<=?|>=?|={1,3}|&{1,2}|
\
|?
\
||
\
?|
\
*|
\
/|~|
\
^|%/
,
'
ignore
'
: /&(lt|gt|amp);/i,
'
punctuation
'
: /[{}[
\
];(),.:]/
};
/* **********************************************
Begin prism-javascript.js
********************************************** */
Prism.languages.javascript = Prism.languages.extend(
'
clike
'
, {
'keyword': /
\
b(var|let|if|else|while|do|for|return|in|instanceof|function|new|with|typeof|try|catch|finally|null|break|continue)
\
b/g,
'number': /
\
b-?(0x[
\
dA-Fa-f]+|
\
d*
\
.?
\
d+([Ee]-?
\
d+)?|NaN|-?Infinity)
\
b/g
'
keyword
'
: /
\
b(break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|get|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)
\
b/,
'
number
'
: /
\
b-?(0x[
\
dA-Fa-f]+|
\
d*
\
.?
\
d+([Ee][+-]?
\
d+)?|NaN|-?Infinity)
\
b/,
'
function
'
: /(?!
\
d)[a-z0-9_$]+(?=
\
()/i
});
Prism.languages.insertBefore(
'
javascript
'
,
'
keyword
'
, {
'
regex
'
: {
pattern: /(^|[^/])
\
/(?!
\
/)(
\
[.+?]|
\\
.|[^/
\r\n
])+
\
/[gim]{0,3}(?=
\
s*($|[
\r\n
,.;})]))/
g
,
pattern: /(^|[^/])
\
/(?!
\
/)(
\
[.+?]|
\\
.|[^/
\r\n
])+
\
/[gim]{0,3}(?=
\
s*($|[
\r\n
,.;})]))/,
lookbehind: true
}
});
...
...
@@ -9702,71 +9804,85 @@ Prism.languages.insertBefore('javascript', 'keyword', {
if (Prism.languages.markup) {
Prism.languages.insertBefore(
'
markup
'
,
'
tag
'
, {
'
script
'
: {
pattern: /
(<|<)script[
\
w
\
W]*?(>|>)[
\
w
\
W]*?(<|<)
\
/script(>|>)/ig
,
pattern: /
<script[
\
w
\
W]*?>[
\
w
\
W]*?<
\
/script>/i
,
inside: {
'
tag
'
: {
pattern: /
(<|<)script[
\
w
\
W]*?(>|>)|(<|<)
\
/script(>|>)/ig
,
pattern: /
<script[
\
w
\
W]*?>|<
\
/script>/i
,
inside: Prism.languages.markup.tag.inside
},
rest: Prism.languages.javascript
}
},
alias:
'
language
-
javascript
'
}
});
}
/* **********************************************
Begin prism-file-highlight.js
********************************************** */
(function(){
(function () {
if (!self.Prism || !self.document || !document.querySelector) {
return;
}
if (!self.Prism || !self.document || !document.querySelector) {
return;
}
self.Prism.fileHighlight = function() {
var Extensions = {
'js': 'javascript',
'html': 'markup',
'svg': 'markup'
};
var Extensions = {
'
js
'
:
'
javascript
'
,
'
html
'
:
'
markup
'
,
'
svg
'
:
'
markup
'
,
'
xml
'
:
'
markup
'
,
'
py
'
:
'
python
'
,
'
rb
'
:
'
ruby
'
,
'
ps1
'
:
'
powershell
'
,
'
psm1
'
:
'
powershell
'
};
Array.prototype.slice.call(document.querySelectorAll('pre[data-src]')).forEach(function(pre) {
var src = pre.getAttribute('data-src');
var extension = (src.match(/
\
.(
\
w+)$/) || [,''])[1];
var language = Extensions[extension] || extension;
var code = document.createElement('code');
code.className = 'language-' + language;
pre.textContent = '';
code.textContent = 'Loading…';
pre.appendChild(code);
var xhr = new XMLHttpRequest();
xhr.open('GET', src, true);
Array.prototype.slice.call(document.querySelectorAll(
'
pre
[
data
-
src
]
'
)).forEach(function(pre) {
var src = pre.getAttribute(
'
data
-
src
'
);
var extension = (src.match(/
\
.(
\
w+)$/) || [,
''
])[1];
var language = Extensions[extension] || extension;
var code = document.createElement(
'
code
'
);
code.className =
'
language
-
'
+ language;
pre.textContent =
''
;
code.textContent =
'
Loading
…
'
;
pre.appendChild(code);
var xhr = new XMLHttpRequest();
xhr.open(
'
GET
'
, src, true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status < 400 && xhr.responseText) {
code.textContent = xhr.responseText;
Prism.highlightElement(code);
}
else if (xhr.status >= 400) {
code.textContent =
'
✖
Error
'
+ xhr.status +
'
while
fetching
file
:
'
+ xhr.statusText;
}
else {
code.textContent =
'
✖
Error
:
File
does
not
exist
or
is
empty
'
;
}
}
};
xhr.send(null);
});
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status < 400 && xhr.responseText) {
code.textContent = xhr.responseText;
Prism.highlightElement(code);
}
else if (xhr.status >= 400) {
code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;
}
else {
code.textContent = '✖ Error: File does not exist or is empty';
}
}
};
xhr.send(null);
});
self.Prism.fileHighlight();
})();
!function(){function t(t){var n=t.split(/
\n
/);n.shift(),n.splice(-1,1);var o=n[0].length-n[0].trim().length,e=new RegExp(
"
{
"
+o+
"
}
"
);return n=n.map(function(t){return t.match(e)&&(t=t.substring(o)),t}),n=n.join(
"
\
n
"
)}var n=$(
"
<
div
id
=
'
source-button
'
class
=
'
btn btn-primary btn-xs
'
>&
lt
;
&
gt
;
<
/div>"
)
.click
(
function
()
{var n=$
(
this
)
.parent
()
.html
()
;n=t
(
n
)
,$
(
"#source-modal pre"
)
.text
(
n
)
,$
(
"#source-modal"
)
.modal
()
}
)
;$
(
'.bs-component
[
data-toggle="popover"
]
'
)
.popover
()
,$
(
'.bs-component
[
data-toggle="tooltip"
]
'
)
.tooltip
()
,$
(
".bs-component"
)
.hover
(
function
()
{$
(
this
)
.append
(
n
)
,n.show
()
},function
()
{n.hide
()
}
)
}
()
;
\ No newline at end of file
!function(){function t(t){var n=t.split(/
\n
/);n.shift(),n.splice(-1,1);var o=n[0].length-n[0].trim().length,e=new RegExp(" {"+o+"}");return n=n.map(function(t){return t.match(e)&&(t=t.substring(o)),t}),n=n.join("
\n
")}var n=$("<div id=
'
source
-
button
'
class=
'
btn
btn
-
primary
btn
-
xs
'
>< ></div>").click(function(){var n=$(this).parent().html();n=t(n),$("#source-modal pre").text(n),$("#source-modal").modal()});$(
'
.
bs
-
component
[
data
-
toggle
=
"
popover
"
]
'
).popover(),$(
'
.
bs
-
component
[
data
-
toggle
=
"
tooltip
"
]
'
).tooltip(),$(".bs-component").hover(function(){$(this).append(n),n.show()},function(){n.hide()})}();
//# sourceMappingURL=all.js.map
\ No newline at end of file
public/themes/flatly/js/all.js.map
0 → 100644
View file @
cb9c2b20
This source diff could not be displayed because it is too large. You can
view the blob
instead.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment