nutcracker-web 0.0.11 → 0.0.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/Gemfile +2 -1
- data/Gemfile.lock +29 -23
- data/README.md +5 -2
- data/Rakefile +1 -0
- data/bin/nutcracker-web +9 -0
- data/lib/nutcracker/web.rb +9 -5
- data/lib/nutcracker/web/app.rb +22 -7
- data/lib/nutcracker/web/version.rb +1 -1
- data/public/assets/application.js +8 -241
- metadata +9 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 5cfaf35ebfe172724c2abb8d91ac273112eaec29b00cecc9e4885af424ad17e9
|
4
|
+
data.tar.gz: 4510246fea3f44312311b80b8029d193599f045c888eaed8721ae6d8b71f2b0e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fc58f9eca3e31f8ffdb9ecbf52bfea5cfc580c4f2a61f2c5ff148ee301cf9193f563e00cc51160d54616b0ea4af169c8751f821761714ad25bc4d67920851d8c
|
7
|
+
data.tar.gz: 8de6d844c4fc9355ed27a483211c0ad93e3e364c88b7497d65598e09dcd19e485cbf2b891ca38a1cf0e703ed2c6e436145cd5f429f8981e9a1a38155a3ad114d
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -4,38 +4,43 @@ GEM
|
|
4
4
|
coffee-script (2.4.1)
|
5
5
|
coffee-script-source
|
6
6
|
execjs
|
7
|
-
coffee-script-source (1.
|
8
|
-
|
7
|
+
coffee-script-source (1.12.2)
|
8
|
+
concurrent-ruby (1.0.5)
|
9
|
+
daemons (1.2.6)
|
9
10
|
eco (1.0.0)
|
10
11
|
coffee-script
|
11
12
|
eco-source
|
12
13
|
execjs
|
13
14
|
eco-source (1.1.0.rc.1)
|
14
|
-
eventmachine (1.
|
15
|
-
execjs (2.
|
16
|
-
haml (
|
15
|
+
eventmachine (1.2.7)
|
16
|
+
execjs (2.7.0)
|
17
|
+
haml (5.0.4)
|
18
|
+
temple (>= 0.8.0)
|
17
19
|
tilt
|
18
|
-
|
19
|
-
nutcracker (0.4.1.
|
20
|
+
mustermann (1.0.3)
|
21
|
+
nutcracker (0.4.1.22)
|
20
22
|
redis
|
21
|
-
rack (
|
22
|
-
rack-protection (
|
23
|
+
rack (2.2.2)
|
24
|
+
rack-protection (2.0.4)
|
23
25
|
rack
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
26
|
+
rake (13.0.1)
|
27
|
+
redis (4.0.2)
|
28
|
+
sinatra (2.0.4)
|
29
|
+
mustermann (~> 1.0)
|
30
|
+
rack (~> 2.0)
|
31
|
+
rack-protection (= 2.0.4)
|
32
|
+
tilt (~> 2.0)
|
33
|
+
sprockets (3.7.2)
|
34
|
+
concurrent-ruby (~> 1.0)
|
30
35
|
rack (> 1, < 3)
|
31
|
-
|
36
|
+
temple (0.8.0)
|
37
|
+
thin (1.7.2)
|
32
38
|
daemons (~> 1.0, >= 1.0.9)
|
33
39
|
eventmachine (~> 1.0, >= 1.0.4)
|
34
|
-
rack (
|
35
|
-
tilt (2.0.
|
36
|
-
uglifier (
|
37
|
-
execjs (>= 0.3.0)
|
38
|
-
json (>= 1.8.0)
|
40
|
+
rack (>= 1, < 3)
|
41
|
+
tilt (2.0.8)
|
42
|
+
uglifier (4.1.19)
|
43
|
+
execjs (>= 0.3.0, < 3)
|
39
44
|
|
40
45
|
PLATFORMS
|
41
46
|
ruby
|
@@ -44,12 +49,13 @@ DEPENDENCIES
|
|
44
49
|
coffee-script
|
45
50
|
eco
|
46
51
|
haml
|
47
|
-
json
|
48
52
|
nutcracker (>= 0.4.1.20)
|
53
|
+
rack (>= 2.0.8)
|
54
|
+
rake
|
49
55
|
sinatra
|
50
56
|
sprockets
|
51
57
|
thin
|
52
58
|
uglifier
|
53
59
|
|
54
60
|
BUNDLED WITH
|
55
|
-
1.
|
61
|
+
1.17.2
|
data/README.md
CHANGED
@@ -21,12 +21,15 @@ Usage: nutcracker-web [web-options] -- [nutcracker-options]
|
|
21
21
|
|
22
22
|
[web-options]
|
23
23
|
|
24
|
-
-
|
24
|
+
-u, --stats-uri URI Nutcracker stats uri, default is tcp://localhost:22222
|
25
25
|
-c, --config FILE Nutcracker cluster config file
|
26
26
|
-p, --port PORT Web interface listening port
|
27
27
|
-b, --backend BACKEND Web server to use ( needs to be Rack compliant )
|
28
|
+
-x, --context CONTEXT Web Interface URL context, default /
|
28
29
|
-d, --daemonize run in background
|
29
30
|
-l, --launch launch Nutcracker instance as well
|
31
|
+
-s, --max-memory SIZE manually specify max memory for every redis node ( Use it for elastic cache )
|
32
|
+
-v, --version Print version and exit
|
30
33
|
-i, --pid FILE pid file
|
31
34
|
|
32
35
|
[nutcracker-options]
|
@@ -36,7 +39,7 @@ Usage: nutcracker-web [web-options] -- [nutcracker-options]
|
|
36
39
|
-t, --test-conf : test configuration for syntax errors and exit
|
37
40
|
-d, --daemonize : run as a daemon
|
38
41
|
-D, --describe-stats : print stats description and exit
|
39
|
-
-v, --
|
42
|
+
-v, --verbose=N : set logging level (default: 5, min: 0, max: 11)
|
40
43
|
-o, --output=S : set logging file (default: stderr)
|
41
44
|
-c, --conf-file=S : set configuration file (default: conf/nutcracker.yml)
|
42
45
|
-s, --stats-port=N : set stats monitoring port (default: 22222)
|
data/Rakefile
CHANGED
data/bin/nutcracker-web
CHANGED
@@ -3,6 +3,7 @@ $:.unshift File.expand_path('../../lib',__FILE__)
|
|
3
3
|
|
4
4
|
require 'nutcracker'
|
5
5
|
require 'nutcracker/web'
|
6
|
+
require 'nutcracker/web/version'
|
6
7
|
require 'optparse'
|
7
8
|
require 'fileutils'
|
8
9
|
require 'socket'
|
@@ -34,6 +35,10 @@ OptionParser.new do |opts|
|
|
34
35
|
opts.on("-b","--backend BACKEND", "Web server to use ( needs to be Rack compliant )") do |v|
|
35
36
|
options[:server] = v
|
36
37
|
end
|
38
|
+
|
39
|
+
opts.on("-x", "--context CONTEXT", "Web Interface URL context, default /") do |v|
|
40
|
+
options[:context] = "/#{v}".squeeze("/")
|
41
|
+
end
|
37
42
|
|
38
43
|
opts.on("-d", "--daemonize","run in background") do
|
39
44
|
options[:daemonize] = true
|
@@ -47,6 +52,10 @@ OptionParser.new do |opts|
|
|
47
52
|
options[:max_memory] = v
|
48
53
|
end
|
49
54
|
|
55
|
+
opts.on("-v", "--version", "Print version and exit") do
|
56
|
+
abort "Nutcracker-Web, Ver. #{Nutcracker::Web::VERSION}"
|
57
|
+
end
|
58
|
+
|
50
59
|
opts.on("-i","--pid FILE","pid file") do |v|
|
51
60
|
options[:pid] = v
|
52
61
|
options[:nutcracker_pid] = v + ".nutcracker"
|
data/lib/nutcracker/web.rb
CHANGED
@@ -2,27 +2,31 @@ require "rack"
|
|
2
2
|
|
3
3
|
module Nutcracker
|
4
4
|
module Web
|
5
|
-
def self.start(nutcracker,
|
5
|
+
def self.start(nutcracker, o = {})
|
6
6
|
@thread = Thread.new do
|
7
7
|
Thread.current.abort_on_exception=true
|
8
|
+
|
9
|
+
app = Rack::URLMap.new(o.fetch(:context,"/") =>
|
10
|
+
App.new(nutcracker, o.fetch(:external_servers,[])))
|
11
|
+
|
8
12
|
Rack::Server.start(
|
9
13
|
{
|
10
|
-
:app =>
|
14
|
+
:app => app,
|
11
15
|
:environment => 'production',
|
12
16
|
:pid => nil,
|
13
17
|
:Port => 9292,
|
14
18
|
:Host => '0.0.0.0',
|
15
19
|
:AccessLog => []
|
16
|
-
}.merge(
|
20
|
+
}.merge(o)
|
17
21
|
)
|
18
22
|
end
|
19
23
|
self
|
20
24
|
end
|
21
|
-
|
25
|
+
|
22
26
|
def self.join
|
23
27
|
@thread.join
|
24
28
|
end
|
25
|
-
|
29
|
+
|
26
30
|
def self.stop
|
27
31
|
@thread.kill
|
28
32
|
end
|
data/lib/nutcracker/web/app.rb
CHANGED
@@ -4,6 +4,9 @@ require 'tilt/haml'
|
|
4
4
|
require 'haml'
|
5
5
|
require 'sinatra'
|
6
6
|
require 'json'
|
7
|
+
require 'thread'
|
8
|
+
require 'socket'
|
9
|
+
|
7
10
|
|
8
11
|
module Nutcracker
|
9
12
|
module Web
|
@@ -21,11 +24,23 @@ module Nutcracker
|
|
21
24
|
haml :index
|
22
25
|
end
|
23
26
|
|
27
|
+
get '/status' do
|
28
|
+
@nutcracker.
|
29
|
+
config.
|
30
|
+
values.
|
31
|
+
map {|x| x["servers"] + [x["listen"]]}.
|
32
|
+
flatten.
|
33
|
+
map {|x| x.split(":")}.
|
34
|
+
map {|host, port| Thread.new {TCPSocket.new(host,port).close.nil? rescue false}}.map(&:value).
|
35
|
+
all?.
|
36
|
+
tap {|x| status(x ? 200 : 401)}
|
37
|
+
end
|
38
|
+
|
24
39
|
get '/overview.json' do
|
25
40
|
content_type :json
|
26
41
|
overview.to_json
|
27
42
|
end
|
28
|
-
|
43
|
+
|
29
44
|
def self.assets
|
30
45
|
require 'sprockets'
|
31
46
|
Sprockets::Environment.new { |env|
|
@@ -34,18 +49,18 @@ module Nutcracker
|
|
34
49
|
}
|
35
50
|
}
|
36
51
|
end
|
37
|
-
|
52
|
+
|
38
53
|
private
|
39
|
-
|
54
|
+
|
40
55
|
def overview
|
41
56
|
JSON.parse(@nutcracker.overview.to_json).tap do |internal|
|
42
57
|
internal["clusters"] += overview_from_external_servers["clusters"]
|
43
58
|
end
|
44
59
|
end
|
45
|
-
|
60
|
+
|
46
61
|
def overview_from_external_servers
|
47
62
|
{"clusters" => []}.tap do |data|
|
48
|
-
Queue.new.tap do |q|
|
63
|
+
Queue.new.tap do |q|
|
49
64
|
@external_servers.map do |server|
|
50
65
|
Thread.new { q.push JSON.parse(open("http://#{server}/overview.json").read) }
|
51
66
|
end.each(&:join)
|
@@ -53,7 +68,7 @@ module Nutcracker
|
|
53
68
|
end # queue
|
54
69
|
end # data
|
55
70
|
end # def
|
56
|
-
|
71
|
+
|
57
72
|
end
|
58
73
|
end
|
59
74
|
end
|
@@ -64,7 +79,7 @@ __END__
|
|
64
79
|
%html
|
65
80
|
%head
|
66
81
|
%title Nutcracker-Web
|
67
|
-
%script(type='text/javascript' src='
|
82
|
+
%script(type='text/javascript' src='https://www.google.com/jsapi')
|
68
83
|
%script(type='text/javascript' src='assets/application.js')
|
69
84
|
%link(rel='stylesheet' href='assets/application.css')
|
70
85
|
%body
|
@@ -11,7 +11,8 @@
|
|
11
11
|
*
|
12
12
|
* Date: 2013-05-30T21:25Z
|
13
13
|
*/
|
14
|
-
!function(t,e){function n(t){var e=t.length,n=ot.type(t);return ot.isWindow(t)?!1:1===t.nodeType&&e?!0:"array"===n||"function"!==n&&(0===e||"number"==typeof e&&e>0&&e-1 in t)}function r(t){var e=dt[t]={};return ot.each(t.match(at)||[],function(t,n){e[n]=!0}),e}function i(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=ot.expando+Math.random()}function o(t,n,r){var i;if(r===e&&1===t.nodeType)if(i="data-"+n.replace(yt,"-$1").toLowerCase(),r=t.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:vt.test(r)?JSON.parse(r):r}catch(o){}mt.set(t,n,r)}else r=e;return r}function s(){return!0}function a(){return!1}function u(){try{return U.activeElement}catch(t){}}function l(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}function c(t,e,n){if(ot.isFunction(e))return ot.grep(t,function(t,r){return!!e.call(t,r,t)!==n});if(e.nodeType)return ot.grep(t,function(t){return t===e!==n});if("string"==typeof e){if($t.test(e))return ot.filter(e,t,n);e=ot.filter(e,t)}return ot.grep(t,function(t){return et.call(e,t)>=0!==n})}function h(t,e){return ot.nodeName(t,"table")&&ot.nodeName(1===e.nodeType?e:e.firstChild,"tr")?t.getElementsByTagName("tbody")[0]||t.appendChild(t.ownerDocument.createElement("tbody")):t}function f(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function p(t){var e=zt.exec(t.type);return e?t.type=e[1]:t.removeAttribute("type"),t}function d(t,e){for(var n=t.length,r=0;n>r;r++)gt.set(t[r],"globalEval",!e||gt.get(e[r],"globalEval"))}function m(t,e){var n,r,i,o,s,a,u,l;if(1===e.nodeType){if(gt.hasData(t)&&(o=gt.access(t),s=gt.set(e,o),l=o.events)){delete s.handle,s.events={};for(i in l)for(n=0,r=l[i].length;r>n;n++)ot.event.add(e,i,l[i][n])}mt.hasData(t)&&(a=mt.access(t),u=ot.extend({},a),mt.set(e,u))}}function g(t,n){var r=t.getElementsByTagName?t.getElementsByTagName(n||"*"):t.querySelectorAll?t.querySelectorAll(n||"*"):[];return n===e||n&&ot.nodeName(t,n)?ot.merge([t],r):r}function v(t,e){var n=e.nodeName.toLowerCase();"input"===n&&Pt.test(t.type)?e.checked=t.checked:("input"===n||"textarea"===n)&&(e.defaultValue=t.defaultValue)}function y(t,e){if(e in t)return e;for(var n=e.charAt(0).toUpperCase()+e.slice(1),r=e,i=Zt.length;i--;)if(e=Zt[i]+n,e in t)return e;return r}function b(t,e){return t=e||t,"none"===ot.css(t,"display")||!ot.contains(t.ownerDocument,t)}function w(e){return t.getComputedStyle(e,null)}function x(t,e){for(var n,r,i,o=[],s=0,a=t.length;a>s;s++)r=t[s],r.style&&(o[s]=gt.get(r,"olddisplay"),n=r.style.display,e?(o[s]||"none"!==n||(r.style.display=""),""===r.style.display&&b(r)&&(o[s]=gt.access(r,"olddisplay",_(r.nodeName)))):o[s]||(i=b(r),(n&&"none"!==n||!i)&>.set(r,"olddisplay",i?n:ot.css(r,"display"))));for(s=0;a>s;s++)r=t[s],r.style&&(e&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=e?o[s]||"":"none"));return t}function C(t,e,n){var r=Jt.exec(e);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):e}function k(t,e,n,r,i){for(var o=n===(r?"border":"content")?4:"width"===e?1:0,s=0;4>o;o+=2)"margin"===n&&(s+=ot.css(t,n+Kt[o],!0,i)),r?("content"===n&&(s-=ot.css(t,"padding"+Kt[o],!0,i)),"margin"!==n&&(s-=ot.css(t,"border"+Kt[o]+"Width",!0,i))):(s+=ot.css(t,"padding"+Kt[o],!0,i),"padding"!==n&&(s+=ot.css(t,"border"+Kt[o]+"Width",!0,i)));return s}function T(t,e,n){var r=!0,i="width"===e?t.offsetWidth:t.offsetHeight,o=w(t),s=ot.support.boxSizing&&"border-box"===ot.css(t,"boxSizing",!1,o);if(0>=i||null==i){if(i=It(t,e,o),(0>i||null==i)&&(i=t.style[e]),Vt.test(i))return i;r=s&&(ot.support.boxSizingReliable||i===t.style[e]),i=parseFloat(i)||0}return i+k(t,e,n||(s?"border":"content"),r,o)+"px"}function _(t){var e=U,n=Gt[t];return n||(n=N(t,e),"none"!==n&&n||(Bt=(Bt||ot("").css("cssText","display:block !important")).appendTo(e.documentElement),e=(Bt[0].contentWindow||Bt[0].contentDocument).document,e.write(""),e.close(),n=N(t,e),Bt.detach()),Gt[t]=n),n}function N(t,e){var n=ot(e.createElement(t)).appendTo(e.body),r=ot.css(n[0],"display");return n.remove(),r}function S(t,e,n,r){var i;if(ot.isArray(e))ot.each(e,function(e,i){n||ee.test(t)?r(t,i):S(t+"["+("object"==typeof i?e:"")+"]",i,n,r)});else if(n||"object"!==ot.type(e))r(t,e);else for(i in e)S(t+"["+i+"]",e[i],n,r)}function $(t){return function(e,n){"string"!=typeof e&&(n=e,e="*");var r,i=0,o=e.toLowerCase().match(at)||[];if(ot.isFunction(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(t[r]=t[r]||[]).unshift(n)):(t[r]=t[r]||[]).push(n)}}function E(t,e,n,r){function i(a){var u;return o[a]=!0,ot.each(t[a]||[],function(t,a){var l=a(e,n,r);return"string"!=typeof l||s||o[l]?s?!(u=l):void 0:(e.dataTypes.unshift(l),i(l),!1)}),u}var o={},s=t===ye;return i(e.dataTypes[0])||!o["*"]&&i("*")}function j(t,n){var r,i,o=ot.ajaxSettings.flatOptions||{};for(r in n)n[r]!==e&&((o[r]?t:i||(i={}))[r]=n[r]);return i&&ot.extend(!0,t,i),t}function M(t,n,r){for(var i,o,s,a,u=t.contents,l=t.dataTypes;"*"===l[0];)l.shift(),i===e&&(i=t.mimeType||n.getResponseHeader("Content-Type"));if(i)for(o in u)if(u[o]&&u[o].test(i)){l.unshift(o);break}if(l[0]in r)s=l[0];else{for(o in r){if(!l[0]||t.converters[o+" "+l[0]]){s=o;break}a||(a=o)}s=s||a}return s?(s!==l[0]&&l.unshift(s),r[s]):void 0}function D(t,e,n,r){var i,o,s,a,u,l={},c=t.dataTypes.slice();if(c[1])for(s in t.converters)l[s.toLowerCase()]=t.converters[s];for(o=c.shift();o;)if(t.responseFields[o]&&(n[t.responseFields[o]]=e),!u&&r&&t.dataFilter&&(e=t.dataFilter(e,t.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(s=l[u+" "+o]||l["* "+o],!s)for(i in l)if(a=i.split(" "),a[1]===o&&(s=l[u+" "+a[0]]||l["* "+a[0]])){s===!0?s=l[i]:l[i]!==!0&&(o=a[0],c.unshift(a[1]));break}if(s!==!0)if(s&&t["throws"])e=s(e);else try{e=s(e)}catch(h){return{state:"parsererror",error:s?h:"No conversion from "+u+" to "+o}}}return{state:"success",data:e}}function A(){return setTimeout(function(){Se=e}),Se=ot.now()}function O(t,e,n){for(var r,i=(Ae[e]||[]).concat(Ae["*"]),o=0,s=i.length;s>o;o++)if(r=i[o].call(n,e,t))return r}function R(t,e,n){var r,i,o=0,s=De.length,a=ot.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var e=Se||A(),n=Math.max(0,l.startTime+l.duration-e),r=n/l.duration||0,o=1-r,s=0,u=l.tweens.length;u>s;s++)l.tweens[s].run(o);return a.notifyWith(t,[l,o,n]),1>o&&u?n:(a.resolveWith(t,[l]),!1)},l=a.promise({elem:t,props:ot.extend({},e),opts:ot.extend(!0,{specialEasing:{}},n),originalProperties:e,originalOptions:n,startTime:Se||A(),duration:n.duration,tweens:[],createTween:function(e,n){var r=ot.Tween(t,l.opts,e,n,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(r),r},stop:function(e){var n=0,r=e?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return e?a.resolveWith(t,[l,e]):a.rejectWith(t,[l,e]),this}}),c=l.props;for(P(c,l.opts.specialEasing);s>o;o++)if(r=De[o].call(l,t,c,l.opts))return r;return ot.map(c,O,l),ot.isFunction(l.opts.start)&&l.opts.start.call(t,l),ot.fx.timer(ot.extend(u,{elem:t,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function P(t,e){var n,r,i,o,s;for(n in t)if(r=ot.camelCase(n),i=e[r],o=t[n],ot.isArray(o)&&(i=o[1],o=t[n]=o[0]),n!==r&&(t[r]=o,delete t[n]),s=ot.cssHooks[r],s&&"expand"in s){o=s.expand(o),delete t[r];for(n in o)n in t||(t[n]=o[n],e[n]=i)}else e[r]=i}function L(t,n,r){var i,o,s,a,u,l,c=this,h={},f=t.style,p=t.nodeType&&b(t),d=gt.get(t,"fxshow");r.queue||(u=ot._queueHooks(t,"fx"),null==u.unqueued&&(u.unqueued=0,l=u.empty.fire,u.empty.fire=function(){u.unqueued||l()}),u.unqueued++,c.always(function(){c.always(function(){u.unqueued--,ot.queue(t,"fx").length||u.empty.fire()})})),1===t.nodeType&&("height"in n||"width"in n)&&(r.overflow=[f.overflow,f.overflowX,f.overflowY],"inline"===ot.css(t,"display")&&"none"===ot.css(t,"float")&&(f.display="inline-block")),r.overflow&&(f.overflow="hidden",c.always(function(){f.overflow=r.overflow[0],f.overflowX=r.overflow[1],f.overflowY=r.overflow[2]}));for(i in n)if(o=n[i],Ee.exec(o)){if(delete n[i],s=s||"toggle"===o,o===(p?"hide":"show")){if("show"!==o||!d||d[i]===e)continue;p=!0}h[i]=d&&d[i]||ot.style(t,i)}if(!ot.isEmptyObject(h)){d?"hidden"in d&&(p=d.hidden):d=gt.access(t,"fxshow",{}),s&&(d.hidden=!p),p?ot(t).show():c.done(function(){ot(t).hide()}),c.done(function(){var e;gt.remove(t,"fxshow");for(e in h)ot.style(t,e,h[e])});for(i in h)a=O(p?d[i]:0,i,c),i in d||(d[i]=a.start,p&&(a.end=a.start,a.start="width"===i||"height"===i?1:0))}}function H(t,e,n,r,i){return new H.prototype.init(t,e,n,r,i)}function z(t,e){var n,r={height:t},i=0;for(e=e?1:0;4>i;i+=2-e)n=Kt[i],r["margin"+n]=r["padding"+n]=t;return e&&(r.opacity=r.width=t),r}function q(t){return ot.isWindow(t)?t:9===t.nodeType&&t.defaultView}var F,I,B=typeof e,W=t.location,U=t.document,J=U.documentElement,V=t.jQuery,X=t.$,G={},Y=[],Q="2.0.2",K=Y.concat,Z=Y.push,tt=Y.slice,et=Y.indexOf,nt=G.toString,rt=G.hasOwnProperty,it=Q.trim,ot=function(t,e){return new ot.fn.init(t,e,F)},st=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,at=/\S+/g,ut=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,lt=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,ct=/^-ms-/,ht=/-([\da-z])/gi,ft=function(t,e){return e.toUpperCase()},pt=function(){U.removeEventListener("DOMContentLoaded",pt,!1),t.removeEventListener("load",pt,!1),ot.ready()};ot.fn=ot.prototype={jquery:Q,constructor:ot,init:function(t,n,r){var i,o;if(!t)return this;if("string"==typeof t){if(i="<"===t.charAt(0)&&">"===t.charAt(t.length-1)&&t.length>=3?[null,t,null]:ut.exec(t),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(t):this.constructor(n).find(t);if(i[1]){if(n=n instanceof ot?n[0]:n,ot.merge(this,ot.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:U,!0)),lt.test(i[1])&&ot.isPlainObject(n))for(i in n)ot.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}return o=U.getElementById(i[2]),o&&o.parentNode&&(this.length=1,this[0]=o),this.context=U,this.selector=t,this}return t.nodeType?(this.context=this[0]=t,this.length=1,this):ot.isFunction(t)?r.ready(t):(t.selector!==e&&(this.selector=t.selector,this.context=t.context),ot.makeArray(t,this))},selector:"",length:0,toArray:function(){return tt.call(this)},get:function(t){return null==t?this.toArray():0>t?this[this.length+t]:this[t]},pushStack:function(t){var e=ot.merge(this.constructor(),t);return e.prevObject=this,e.context=this.context,e},each:function(t,e){return ot.each(this,t,e)},ready:function(t){return ot.ready.promise().done(t),this},slice:function(){return this.pushStack(tt.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(t){var e=this.length,n=+t+(0>t?e:0);return this.pushStack(n>=0&&e>n?[this[n]]:[])},map:function(t){return this.pushStack(ot.map(this,function(e,n){return t.call(e,n,e)}))},end:function(){return this.prevObject||this.constructor(null)},push:Z,sort:[].sort,splice:[].splice},ot.fn.init.prototype=ot.fn,ot.extend=ot.fn.extend=function(){var t,n,r,i,o,s,a=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},u=2),"object"==typeof a||ot.isFunction(a)||(a={}),l===u&&(a=this,--u);l>u;u++)if(null!=(t=arguments[u]))for(n in t)r=a[n],i=t[n],a!==i&&(c&&i&&(ot.isPlainObject(i)||(o=ot.isArray(i)))?(o?(o=!1,s=r&&ot.isArray(r)?r:[]):s=r&&ot.isPlainObject(r)?r:{},a[n]=ot.extend(c,s,i)):i!==e&&(a[n]=i));return a},ot.extend({expando:"jQuery"+(Q+Math.random()).replace(/\D/g,""),noConflict:function(e){return t.$===ot&&(t.$=X),e&&t.jQuery===ot&&(t.jQuery=V),ot},isReady:!1,readyWait:1,holdReady:function(t){t?ot.readyWait++:ot.ready(!0)},ready:function(t){(t===!0?--ot.readyWait:ot.isReady)||(ot.isReady=!0,t!==!0&&--ot.readyWait>0||(I.resolveWith(U,[ot]),ot.fn.trigger&&ot(U).trigger("ready").off("ready")))},isFunction:function(t){return"function"===ot.type(t)},isArray:Array.isArray,isWindow:function(t){return null!=t&&t===t.window},isNumeric:function(t){return!isNaN(parseFloat(t))&&isFinite(t)},type:function(t){return null==t?String(t):"object"==typeof t||"function"==typeof t?G[nt.call(t)]||"object":typeof t},isPlainObject:function(t){if("object"!==ot.type(t)||t.nodeType||ot.isWindow(t))return!1;try{if(t.constructor&&!rt.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(e){return!1}return!0},isEmptyObject:function(t){var e;for(e in t)return!1;return!0},error:function(t){throw new Error(t)},parseHTML:function(t,e,n){if(!t||"string"!=typeof t)return null;"boolean"==typeof e&&(n=e,e=!1),e=e||U;var r=lt.exec(t),i=!n&&[];return r?[e.createElement(r[1])]:(r=ot.buildFragment([t],e,i),i&&ot(i).remove(),ot.merge([],r.childNodes))},parseJSON:JSON.parse,parseXML:function(t){var n,r;if(!t||"string"!=typeof t)return null;try{r=new DOMParser,n=r.parseFromString(t,"text/xml")}catch(i){n=e}return(!n||n.getElementsByTagName("parsererror").length)&&ot.error("Invalid XML: "+t),n},noop:function(){},globalEval:function(t){var e,n=eval;t=ot.trim(t),t&&(1===t.indexOf("use strict")?(e=U.createElement("script"),e.text=t,U.head.appendChild(e).parentNode.removeChild(e)):n(t))},camelCase:function(t){return t.replace(ct,"ms-").replace(ht,ft)},nodeName:function(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()},each:function(t,e,r){var i,o=0,s=t.length,a=n(t);if(r){if(a)for(;s>o&&(i=e.apply(t[o],r),i!==!1);o++);else for(o in t)if(i=e.apply(t[o],r),i===!1)break}else if(a)for(;s>o&&(i=e.call(t[o],o,t[o]),i!==!1);o++);else for(o in t)if(i=e.call(t[o],o,t[o]),i===!1)break;return t},trim:function(t){return null==t?"":it.call(t)},makeArray:function(t,e){var r=e||[];return null!=t&&(n(Object(t))?ot.merge(r,"string"==typeof t?[t]:t):Z.call(r,t)),r},inArray:function(t,e,n){return null==e?-1:et.call(e,t,n)},merge:function(t,n){var r=n.length,i=t.length,o=0;if("number"==typeof r)for(;r>o;o++)t[i++]=n[o];else for(;n[o]!==e;)t[i++]=n[o++];return t.length=i,t},grep:function(t,e,n){var r,i=[],o=0,s=t.length;for(n=!!n;s>o;o++)r=!!e(t[o],o),n!==r&&i.push(t[o]);return i},map:function(t,e,r){var i,o=0,s=t.length,a=n(t),u=[];if(a)for(;s>o;o++)i=e(t[o],o,r),null!=i&&(u[u.length]=i);else for(o in t)i=e(t[o],o,r),null!=i&&(u[u.length]=i);return K.apply([],u)},guid:1,proxy:function(t,n){var r,i,o;return"string"==typeof n&&(r=t[n],n=t,t=r),ot.isFunction(t)?(i=tt.call(arguments,2),o=function(){return t.apply(n||this,i.concat(tt.call(arguments)))},o.guid=t.guid=t.guid||ot.guid++,o):e},access:function(t,n,r,i,o,s,a){var u=0,l=t.length,c=null==r;if("object"===ot.type(r)){o=!0;for(u in r)ot.access(t,n,u,r[u],!0,s,a)}else if(i!==e&&(o=!0,ot.isFunction(i)||(a=!0),c&&(a?(n.call(t,i),n=null):(c=n,n=function(t,e,n){return c.call(ot(t),n)})),n))for(;l>u;u++)n(t[u],r,a?i:i.call(t[u],u,n(t[u],r)));return o?t:c?n.call(t):l?n(t[0],r):s},now:Date.now,swap:function(t,e,n,r){var i,o,s={};for(o in e)s[o]=t.style[o],t.style[o]=e[o];i=n.apply(t,r||[]);for(o in e)t.style[o]=s[o];return i}}),ot.ready.promise=function(e){return I||(I=ot.Deferred(),"complete"===U.readyState?setTimeout(ot.ready):(U.addEventListener("DOMContentLoaded",pt,!1),t.addEventListener("load",pt,!1))),I.promise(e)},ot.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(t,e){G["[object "+e+"]"]=e.toLowerCase()}),F=ot(U),/*!
|
14
|
+
!function(d,k){function a(t){var e=t.length,n=Et.type(t);return!Et.isWindow(t)&&(!(1!==t.nodeType||!e)||("array"===n||"function"!==n&&(0===e||"number"==typeof e&&0
|
15
|
+
/*!
|
15
16
|
* Sizzle CSS Selector Engine v1.9.4-pre
|
16
17
|
* http://sizzlejs.com/
|
17
18
|
*
|
@@ -21,243 +22,9 @@
|
|
21
22
|
*
|
22
23
|
* Date: 2013-05-27
|
23
24
|
*/
|
24
|
-
function(t,e){function n(t,e,n,r){var i,o,s,a,u,l,c,h,f,p;if((e?e.ownerDocument||e:W)!==P&&R(e),e=e||P,n=n||[],!t||"string"!=typeof t)return n;if(1!==(a=e.nodeType)&&9!==a)return[];if(H&&!r){if(i=kt.exec(t))if(s=i[1]){if(9===a){if(o=e.getElementById(s),!o||!o.parentNode)return n;if(o.id===s)return n.push(o),n}else if(e.ownerDocument&&(o=e.ownerDocument.getElementById(s))&&I(e,o)&&o.id===s)return n.push(o),n}else{if(i[2])return it.apply(n,e.getElementsByTagName(t)),n;if((s=i[3])&&S.getElementsByClassName&&e.getElementsByClassName)return it.apply(n,e.getElementsByClassName(s)),n}if(S.qsa&&(!z||!z.test(t))){if(h=c=B,f=e,p=9===a&&t,1===a&&"object"!==e.nodeName.toLowerCase()){for(l=m(t),(c=e.getAttribute("id"))?h=c.replace(Nt,"\\$&"):e.setAttribute("id",h),h="[id='"+h+"'] ",u=l.length;u--;)l[u]=h+g(l[u]);f=vt.test(t)&&e.parentNode||e,p=l.join(",")}if(p)try{return it.apply(n,f.querySelectorAll(p)),n}catch(d){}finally{c||e.removeAttribute("id")}}}return T(t.replace(dt,"$1"),e,n,r)}function r(t){return Ct.test(t+"")}function i(){function t(n,r){return e.push(n+=" ")>E.cacheLength&&delete t[e.shift()],t[n]=r}var e=[];return t}function o(t){return t[B]=!0,t}function s(t){var e=P.createElement("div");try{return!!t(e)}catch(n){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function a(t,e,n){t=t.split("|");for(var r,i=t.length,o=n?null:e;i--;)(r=E.attrHandle[t[i]])&&r!==e||(E.attrHandle[t[i]]=o)}function u(t,e){var n=t.getAttributeNode(e);return n&&n.specified?n.value:t[e]===!0?e.toLowerCase():null}function l(t,e){return t.getAttribute(e,"type"===e.toLowerCase()?1:2)}function c(t){return"input"===t.nodeName.toLowerCase()?t.defaultValue:void 0}function h(t,e){var n=e&&t,r=n&&1===t.nodeType&&1===e.nodeType&&(~e.sourceIndex||Z)-(~t.sourceIndex||Z);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function f(t){return function(e){var n=e.nodeName.toLowerCase();return"input"===n&&e.type===t}}function p(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}function d(t){return o(function(e){return e=+e,o(function(n,r){for(var i,o=t([],n.length,e),s=o.length;s--;)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}function m(t,e){var r,i,o,s,a,u,l,c=X[t+" "];if(c)return e?0:c.slice(0);for(a=t,u=[],l=E.preFilter;a;){(!r||(i=mt.exec(a)))&&(i&&(a=a.slice(i[0].length)||a),u.push(o=[])),r=!1,(i=gt.exec(a))&&(r=i.shift(),o.push({value:r,type:i[0].replace(dt," ")}),a=a.slice(r.length));for(s in E.filter)!(i=xt[s].exec(a))||l[s]&&!(i=l[s](i))||(r=i.shift(),o.push({value:r,type:s,matches:i}),a=a.slice(r.length));if(!r)break}return e?a.length:a?n.error(t):X(t,u).slice(0)}function g(t){for(var e=0,n=t.length,r="";n>e;e++)r+=t[e].value;return r}function v(t,e,n){var r=e.dir,i=n&&"parentNode"===r,o=J++;return e.first?function(e,n,o){for(;e=e[r];)if(1===e.nodeType||i)return t(e,n,o)}:function(e,n,s){var a,u,l,c=U+" "+o;if(s){for(;e=e[r];)if((1===e.nodeType||i)&&t(e,n,s))return!0}else for(;e=e[r];)if(1===e.nodeType||i)if(l=e[B]||(e[B]={}),(u=l[r])&&u[0]===c){if((a=u[1])===!0||a===$)return a===!0}else if(u=l[r]=[c],u[1]=t(e,n,s)||$,u[1]===!0)return!0}}function y(t){return t.length>1?function(e,n,r){for(var i=t.length;i--;)if(!t[i](e,n,r))return!1;return!0}:t[0]}function b(t,e,n,r,i){for(var o,s=[],a=0,u=t.length,l=null!=e;u>a;a++)(o=t[a])&&(!n||n(o,r,i))&&(s.push(o),l&&e.push(a));return s}function w(t,e,n,r,i,s){return r&&!r[B]&&(r=w(r)),i&&!i[B]&&(i=w(i,s)),o(function(o,s,a,u){var l,c,h,f=[],p=[],d=s.length,m=o||k(e||"*",a.nodeType?[a]:a,[]),g=!t||!o&&e?m:b(m,f,t,a,u),v=n?i||(o?t:d||r)?[]:s:g;if(n&&n(g,v,a,u),r)for(l=b(v,p),r(l,[],a,u),c=l.length;c--;)(h=l[c])&&(v[p[c]]=!(g[p[c]]=h));if(o){if(i||t){if(i){for(l=[],c=v.length;c--;)(h=v[c])&&l.push(g[c]=h);i(null,v=[],l,u)}for(c=v.length;c--;)(h=v[c])&&(l=i?at.call(o,h):f[c])>-1&&(o[l]=!(s[l]=h))}}else v=b(v===s?v.splice(d,v.length):v),i?i(null,s,v,u):it.apply(s,v)})}function x(t){for(var e,n,r,i=t.length,o=E.relative[t[0].type],s=o||E.relative[" "],a=o?1:0,u=v(function(t){return t===e},s,!0),l=v(function(t){return at.call(e,t)>-1},s,!0),c=[function(t,n,r){return!o&&(r||n!==A)||((e=n).nodeType?u(t,n,r):l(t,n,r))}];i>a;a++)if(n=E.relative[t[a].type])c=[v(y(c),n)];else{if(n=E.filter[t[a].type].apply(null,t[a].matches),n[B]){for(r=++a;i>r&&!E.relative[t[r].type];r++);return w(a>1&&y(c),a>1&&g(t.slice(0,a-1).concat({value:" "===t[a-2].type?"*":""})).replace(dt,"$1"),n,r>a&&x(t.slice(a,r)),i>r&&x(t=t.slice(r)),i>r&&g(t))}c.push(n)}return y(c)}function C(t,e){var r=0,i=e.length>0,s=t.length>0,a=function(o,a,u,l,c){var h,f,p,d=[],m=0,g="0",v=o&&[],y=null!=c,w=A,x=o||s&&E.find.TAG("*",c&&a.parentNode||a),C=U+=null==w?1:Math.random()||.1;for(y&&(A=a!==P&&a,$=r);null!=(h=x[g]);g++){if(s&&h){for(f=0;p=t[f++];)if(p(h,a,u)){l.push(h);break}y&&(U=C,$=++r)}i&&((h=!p&&h)&&m--,o&&v.push(h))}if(m+=g,i&&g!==m){for(f=0;p=e[f++];)p(v,d,a,u);if(o){if(m>0)for(;g--;)v[g]||d[g]||(d[g]=nt.call(l));d=b(d)}it.apply(l,d),y&&!o&&d.length>0&&m+e.length>1&&n.uniqueSort(l)}return y&&(U=C,A=w),v};return i?o(a):a}function k(t,e,r){for(var i=0,o=e.length;o>i;i++)n(t,e[i],r);return r}function T(t,e,n,r){var i,o,s,a,u,l=m(t);if(!r&&1===l.length){if(o=l[0]=l[0].slice(0),o.length>2&&"ID"===(s=o[0]).type&&S.getById&&9===e.nodeType&&H&&E.relative[o[1].type]){if(e=(E.find.ID(s.matches[0].replace(St,$t),e)||[])[0],!e)return n;t=t.slice(o.shift().value.length)}for(i=xt.needsContext.test(t)?0:o.length;i--&&(s=o[i],!E.relative[a=s.type]);)if((u=E.find[a])&&(r=u(s.matches[0].replace(St,$t),vt.test(o[0].type)&&e.parentNode||e))){if(o.splice(i,1),t=r.length&&g(o),!t)return it.apply(n,r),n;break}}return D(t,l)(r,e,!H,n,vt.test(t)),n}function _(){}var N,S,$,E,j,M,D,A,O,R,P,L,H,z,q,F,I,B="sizzle"+-new Date,W=t.document,U=0,J=0,V=i(),X=i(),G=i(),Y=!1,Q=function(){return 0},K=typeof e,Z=1<<31,tt={}.hasOwnProperty,et=[],nt=et.pop,rt=et.push,it=et.push,st=et.slice,at=et.indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(this[e]===t)return e;return-1},ut="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",lt="[\\x20\\t\\r\\n\\f]",ct="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ht=ct.replace("w","w#"),ft="\\["+lt+"*("+ct+")"+lt+"*(?:([*^$|!~]?=)"+lt+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+ht+")|)|)"+lt+"*\\]",pt=":("+ct+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+ft.replace(3,8)+")*)|.*)\\)|)",dt=new RegExp("^"+lt+"+|((?:^|[^\\\\])(?:\\\\.)*)"+lt+"+$","g"),mt=new RegExp("^"+lt+"*,"+lt+"*"),gt=new RegExp("^"+lt+"*([>+~]|"+lt+")"+lt+"*"),vt=new RegExp(lt+"*[+~]"),yt=new RegExp("="+lt+"*([^\\]'\"]*)"+lt+"*\\]","g"),bt=new RegExp(pt),wt=new RegExp("^"+ht+"$"),xt={ID:new RegExp("^#("+ct+")"),CLASS:new RegExp("^\\.("+ct+")"),TAG:new RegExp("^("+ct.replace("w","w*")+")"),ATTR:new RegExp("^"+ft),PSEUDO:new RegExp("^"+pt),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+lt+"*(even|odd|(([+-]|)(\\d*)n|)"+lt+"*(?:([+-]|)"+lt+"*(\\d+)|))"+lt+"*\\)|)","i"),bool:new RegExp("^(?:"+ut+")$","i"),needsContext:new RegExp("^"+lt+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+lt+"*((?:-\\d)?\\d*)"+lt+"*\\)|)(?=[^-]|$)","i")},Ct=/^[^{]+\{\s*\[native \w/,kt=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Tt=/^(?:input|select|textarea|button)$/i,_t=/^h\d$/i,Nt=/'|\\/g,St=new RegExp("\\\\([\\da-f]{1,6}"+lt+"?|("+lt+")|.)","ig"),$t=function(t,e,n){var r="0x"+e-65536;return r!==r||n?e:0>r?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)};try{it.apply(et=st.call(W.childNodes),W.childNodes),et[W.childNodes.length].nodeType}catch(Et){it={apply:et.length?function(t,e){rt.apply(t,st.call(e))}:function(t,e){for(var n=t.length,r=0;t[n++]=e[r++];);t.length=n-1}}}M=n.isXML=function(t){var e=t&&(t.ownerDocument||t).documentElement;return e?"HTML"!==e.nodeName:!1},S=n.support={},R=n.setDocument=function(t){var e=t?t.ownerDocument||t:W,n=e.parentWindow;return e!==P&&9===e.nodeType&&e.documentElement?(P=e,L=e.documentElement,H=!M(e),n&&n.frameElement&&n.attachEvent("onbeforeunload",function(){R()}),S.attributes=s(function(t){return t.innerHTML="",a("type|href|height|width",l,"#"===t.firstChild.getAttribute("href")),a(ut,u,null==t.getAttribute("disabled")),t.className="i",!t.getAttribute("className")}),S.input=s(function(t){return t.innerHTML="",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")}),a("value",c,S.attributes&&S.input),S.getElementsByTagName=s(function(t){return t.appendChild(e.createComment("")),!t.getElementsByTagName("*").length}),S.getElementsByClassName=s(function(t){return t.innerHTML="",t.firstChild.className="i",2===t.getElementsByClassName("i").length}),S.getById=s(function(t){return L.appendChild(t).id=B,!e.getElementsByName||!e.getElementsByName(B).length}),S.getById?(E.find.ID=function(t,e){if(typeof e.getElementById!==K&&H){var n=e.getElementById(t);return n&&n.parentNode?[n]:[]}},E.filter.ID=function(t){var e=t.replace(St,$t);return function(t){return t.getAttribute("id")===e}}):(delete E.find.ID,E.filter.ID=function(t){var e=t.replace(St,$t);return function(t){var n=typeof t.getAttributeNode!==K&&t.getAttributeNode("id");return n&&n.value===e}}),E.find.TAG=S.getElementsByTagName?function(t,e){return typeof e.getElementsByTagName!==K?e.getElementsByTagName(t):void 0}:function(t,e){var n,r=[],i=0,o=e.getElementsByTagName(t);if("*"===t){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},E.find.CLASS=S.getElementsByClassName&&function(t,e){return typeof e.getElementsByClassName!==K&&H?e.getElementsByClassName(t):void 0},q=[],z=[],(S.qsa=r(e.querySelectorAll))&&(s(function(t){t.innerHTML="",t.querySelectorAll("[selected]").length||z.push("\\["+lt+"*(?:value|"+ut+")"),t.querySelectorAll(":checked").length||z.push(":checked")}),s(function(t){var n=e.createElement("input");n.setAttribute("type","hidden"),t.appendChild(n).setAttribute("t",""),t.querySelectorAll("[t^='']").length&&z.push("[*^$]="+lt+"*(?:''|\"\")"),t.querySelectorAll(":enabled").length||z.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),z.push(",.*:")})),(S.matchesSelector=r(F=L.webkitMatchesSelector||L.mozMatchesSelector||L.oMatchesSelector||L.msMatchesSelector))&&s(function(t){S.disconnectedMatch=F.call(t,"div"),F.call(t,"[s!='']:x"),q.push("!=",pt)}),z=z.length&&new RegExp(z.join("|")),q=q.length&&new RegExp(q.join("|")),I=r(L.contains)||L.compareDocumentPosition?function(t,e){var n=9===t.nodeType?t.documentElement:t,r=e&&e.parentNode;return t===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):t.compareDocumentPosition&&16&t.compareDocumentPosition(r)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},S.sortDetached=s(function(t){return 1&t.compareDocumentPosition(e.createElement("div"))}),Q=L.compareDocumentPosition?function(t,n){if(t===n)return Y=!0,0;var r=n.compareDocumentPosition&&t.compareDocumentPosition&&t.compareDocumentPosition(n);return r?1&r||!S.sortDetached&&n.compareDocumentPosition(t)===r?t===e||I(W,t)?-1:n===e||I(W,n)?1:O?at.call(O,t)-at.call(O,n):0:4&r?-1:1:t.compareDocumentPosition?-1:1}:function(t,n){var r,i=0,o=t.parentNode,s=n.parentNode,a=[t],u=[n];if(t===n)return Y=!0,0;if(!o||!s)return t===e?-1:n===e?1:o?-1:s?1:O?at.call(O,t)-at.call(O,n):0;if(o===s)return h(t,n);for(r=t;r=r.parentNode;)a.unshift(r);for(r=n;r=r.parentNode;)u.unshift(r);for(;a[i]===u[i];)i++;return i?h(a[i],u[i]):a[i]===W?-1:u[i]===W?1:0},e):P},n.matches=function(t,e){return n(t,null,null,e)},n.matchesSelector=function(t,e){if((t.ownerDocument||t)!==P&&R(t),e=e.replace(yt,"='$1']"),S.matchesSelector&&H&&(!q||!q.test(e))&&(!z||!z.test(e)))try{var r=F.call(t,e);if(r||S.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(i){}return n(e,P,null,[t]).length>0},n.contains=function(t,e){return(t.ownerDocument||t)!==P&&R(t),I(t,e)},n.attr=function(t,n){(t.ownerDocument||t)!==P&&R(t);var r=E.attrHandle[n.toLowerCase()],i=r&&tt.call(E.attrHandle,n.toLowerCase())?r(t,n,!H):e;return i===e?S.attributes||!H?t.getAttribute(n):(i=t.getAttributeNode(n))&&i.specified?i.value:null:i},n.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},n.uniqueSort=function(t){var e,n=[],r=0,i=0;if(Y=!S.detectDuplicates,O=!S.sortStable&&t.slice(0),t.sort(Q),Y){for(;e=t[i++];)e===t[i]&&(r=n.push(i));for(;r--;)t.splice(n[r],1)}return t},j=n.getText=function(t){var e,n="",r=0,i=t.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=j(t)}else if(3===i||4===i)return t.nodeValue}else for(;e=t[r];r++)n+=j(e);return n},E=n.selectors={cacheLength:50,createPseudo:o,match:xt,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(St,$t),t[3]=(t[4]||t[5]||"").replace(St,$t),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||n.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&n.error(t[0]),t},PSEUDO:function(t){var n,r=!t[5]&&t[2];return xt.CHILD.test(t[0])?null:(t[3]&&t[4]!==e?t[2]=t[4]:r&&bt.test(r)&&(n=m(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(t[0]=t[0].slice(0,n),t[2]=r.slice(0,n)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(St,$t).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=V[t+" "];return e||(e=new RegExp("(^|"+lt+")"+t+"("+lt+"|$)"))&&V(t,function(t){return e.test("string"==typeof t.className&&t.className||typeof t.getAttribute!==K&&t.getAttribute("class")||"")})},ATTR:function(t,e,r){return function(i){var o=n.attr(i,t);return null==o?"!="===e:e?(o+="","="===e?o===r:"!="===e?o!==r:"^="===e?r&&0===o.indexOf(r):"*="===e?r&&o.indexOf(r)>-1:"$="===e?r&&o.slice(-r.length)===r:"~="===e?(" "+o+" ").indexOf(r)>-1:"|="===e?o===r||o.slice(0,r.length+1)===r+"-":!1):!0}},CHILD:function(t,e,n,r,i){var o="nth"!==t.slice(0,3),s="last"!==t.slice(-4),a="of-type"===e;return 1===r&&0===i?function(t){return!!t.parentNode}:function(e,n,u){var l,c,h,f,p,d,m=o!==s?"nextSibling":"previousSibling",g=e.parentNode,v=a&&e.nodeName.toLowerCase(),y=!u&&!a;if(g){if(o){for(;m;){for(h=e;h=h[m];)if(a?h.nodeName.toLowerCase()===v:1===h.nodeType)return!1;d=m="only"===t&&!d&&"nextSibling"}return!0}if(d=[s?g.firstChild:g.lastChild],s&&y){for(c=g[B]||(g[B]={}),l=c[t]||[],p=l[0]===U&&l[1],f=l[0]===U&&l[2],h=p&&g.childNodes[p];h=++p&&h&&h[m]||(f=p=0)||d.pop();)if(1===h.nodeType&&++f&&h===e){c[t]=[U,p,f];break}}else if(y&&(l=(e[B]||(e[B]={}))[t])&&l[0]===U)f=l[1];else for(;(h=++p&&h&&h[m]||(f=p=0)||d.pop())&&((a?h.nodeName.toLowerCase()!==v:1!==h.nodeType)||!++f||(y&&((h[B]||(h[B]={}))[t]=[U,f]),h!==e)););return f-=i,f===r||f%r===0&&f/r>=0}}},PSEUDO:function(t,e){var r,i=E.pseudos[t]||E.setFilters[t.toLowerCase()]||n.error("unsupported pseudo: "+t);return i[B]?i(e):i.length>1?(r=[t,t,"",e],E.setFilters.hasOwnProperty(t.toLowerCase())?o(function(t,n){for(var r,o=i(t,e),s=o.length;s--;)r=at.call(t,o[s]),t[r]=!(n[r]=o[s])}):function(t){return i(t,0,r)}):i}},pseudos:{not:o(function(t){var e=[],n=[],r=D(t.replace(dt,"$1"));return r[B]?o(function(t,e,n,i){for(var o,s=r(t,null,i,[]),a=t.length;a--;)(o=s[a])&&(t[a]=!(e[a]=o))}):function(t,i,o){return e[0]=t,r(e,null,o,n),!n.pop()}}),has:o(function(t){return function(e){return n(t,e).length>0}}),contains:o(function(t){return function(e){return(e.textContent||e.innerText||j(e)).indexOf(t)>-1}}),lang:o(function(t){return wt.test(t||"")||n.error("unsupported lang: "+t),t=t.replace(St,$t).toLowerCase(),function(e){var n;do if(n=H?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return n=n.toLowerCase(),n===t||0===n.indexOf(t+"-");while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===L},focus:function(t){return t===P.activeElement&&(!P.hasFocus||P.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:function(t){return t.disabled===!1},disabled:function(t){return t.disabled===!0},checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,t.selected===!0},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeName>"@"||3===t.nodeType||4===t.nodeType)return!1;return!0},parent:function(t){return!E.pseudos.empty(t)},header:function(t){return _t.test(t.nodeName)},input:function(t){return Tt.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||e.toLowerCase()===t.type)},first:d(function(){return[0]}),last:d(function(t,e){return[e-1]}),eq:d(function(t,e,n){return[0>n?n+e:n]}),even:d(function(t,e){for(var n=0;e>n;n+=2)t.push(n);return t}),odd:d(function(t,e){for(var n=1;e>n;n+=2)t.push(n);return t}),lt:d(function(t,e,n){for(var r=0>n?n+e:n;--r>=0;)t.push(r);return t}),gt:d(function(t,e,n){for(var r=0>n?n+e:n;++r
|
25
|
-
delete u[p])}else for(p in u)ot.event.remove(t,p+e[l],n,r,!0);ot.isEmptyObject(u)&&(delete g.handle,gt.remove(t,"events"))}},trigger:function(n,r,i,o){var s,a,u,l,c,h,f,p=[i||U],d=rt.call(n,"type")?n.type:n,m=rt.call(n,"namespace")?n.namespace.split("."):[];if(a=u=i=i||U,3!==i.nodeType&&8!==i.nodeType&&!Nt.test(d+ot.event.triggered)&&(d.indexOf(".")>=0&&(m=d.split("."),d=m.shift(),m.sort()),c=d.indexOf(":")<0&&"on"+d,n=n[ot.expando]?n:new ot.Event(d,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=e,n.target||(n.target=i),r=null==r?[n]:ot.makeArray(r,[n]),f=ot.event.special[d]||{},o||!f.trigger||f.trigger.apply(i,r)!==!1)){if(!o&&!f.noBubble&&!ot.isWindow(i)){for(l=f.delegateType||d,Nt.test(l+d)||(a=a.parentNode);a;a=a.parentNode)p.push(a),u=a;u===(i.ownerDocument||U)&&p.push(u.defaultView||u.parentWindow||t)}for(s=0;(a=p[s++])&&!n.isPropagationStopped();)n.type=s>1?l:f.bindType||d,h=(gt.get(a,"events")||{})[n.type]&>.get(a,"handle"),h&&h.apply(a,r),h=c&&a[c],h&&ot.acceptData(a)&&h.apply&&h.apply(a,r)===!1&&n.preventDefault();return n.type=d,o||n.isDefaultPrevented()||f._default&&f._default.apply(p.pop(),r)!==!1||!ot.acceptData(i)||c&&ot.isFunction(i[d])&&!ot.isWindow(i)&&(u=i[c],u&&(i[c]=null),ot.event.triggered=d,i[d](),ot.event.triggered=e,u&&(i[c]=u)),n.result}},dispatch:function(t){t=ot.event.fix(t);var n,r,i,o,s,a=[],u=tt.call(arguments),l=(gt.get(this,"events")||{})[t.type]||[],c=ot.event.special[t.type]||{};if(u[0]=t,t.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,t)!==!1){for(a=ot.event.handlers.call(this,t,l),n=0;(o=a[n++])&&!t.isPropagationStopped();)for(t.currentTarget=o.elem,r=0;(s=o.handlers[r++])&&!t.isImmediatePropagationStopped();)(!t.namespace_re||t.namespace_re.test(s.namespace))&&(t.handleObj=s,t.data=s.data,i=((ot.event.special[s.origType]||{}).handle||s.handler).apply(o.elem,u),i!==e&&(t.result=i)===!1&&(t.preventDefault(),t.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,t),t.result}},handlers:function(t,n){var r,i,o,s,a=[],u=n.delegateCount,l=t.target;if(u&&l.nodeType&&(!t.button||"click"!==t.type))for(;l!==this;l=l.parentNode||this)if(l.disabled!==!0||"click"!==t.type){for(i=[],r=0;u>r;r++)s=n[r],o=s.selector+" ",i[o]===e&&(i[o]=s.needsContext?ot(o,this).index(l)>=0:ot.find(o,this,null,[l]).length),i[o]&&i.push(s);i.length&&a.push({elem:l,handlers:i})}return u ").append(ot.parseHTML(t)).find(i):t)}).complete(r&&function(t,e){a.each(r,s||[t.responseText,e,t])}),this},ot.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(t,e){ot.fn[e]=function(t){return this.on(e,t)}}),ot.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:se,type:"GET",isLocal:fe.test(oe[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":be,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":ot.parseJSON,"text xml":ot.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(t,e){return e?j(j(t,ot.ajaxSettings),e):j(ot.ajaxSettings,t)},ajaxPrefilter:$(ve),ajaxTransport:$(ye),ajax:function(t,n){function r(t,n,r,a){var l,h,y,b,x,k=n;2!==w&&(w=2,u&&clearTimeout(u),i=e,s=a||"",C.readyState=t>0?4:0,l=t>=200&&300>t||304===t,r&&(b=M(f,C,r)),b=D(f,b,C,l),l?(f.ifModified&&(x=C.getResponseHeader("Last-Modified"),x&&(ot.lastModified[o]=x),x=C.getResponseHeader("etag"),x&&(ot.etag[o]=x)),204===t||"HEAD"===f.type?k="nocontent":304===t?k="notmodified":(k=b.state,h=b.data,y=b.error,l=!y)):(y=k,(t||!k)&&(k="error",0>t&&(t=0))),C.status=t,C.statusText=(n||k)+"",l?m.resolveWith(p,[h,k,C]):m.rejectWith(p,[C,k,y]),C.statusCode(v),v=e,c&&d.trigger(l?"ajaxSuccess":"ajaxError",[C,f,l?h:y]),g.fireWith(p,[C,k]),c&&(d.trigger("ajaxComplete",[C,f]),--ot.active||ot.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=e),n=n||{};var i,o,s,a,u,l,c,h,f=ot.ajaxSetup({},n),p=f.context||f,d=f.context&&(p.nodeType||p.jquery)?ot(p):ot.event,m=ot.Deferred(),g=ot.Callbacks("once memory"),v=f.statusCode||{},y={},b={},w=0,x="canceled",C={readyState:0,getResponseHeader:function(t){var e;if(2===w){if(!a)for(a={};e=he.exec(s);)a[e[1].toLowerCase()]=e[2];e=a[t.toLowerCase()]}return null==e?null:e},getAllResponseHeaders:function(){return 2===w?s:null},setRequestHeader:function(t,e){var n=t.toLowerCase();return w||(t=b[n]=b[n]||t,y[t]=e),this},overrideMimeType:function(t){return w||(f.mimeType=t),this},statusCode:function(t){var e;if(t)if(2>w)for(e in t)v[e]=[v[e],t[e]];else C.always(t[C.status]);return this},abort:function(t){var e=t||x;return i&&i.abort(e),r(0,e),this}};if(m.promise(C).complete=g.add,C.success=C.done,C.error=C.fail,f.url=((t||f.url||se)+"").replace(le,"").replace(de,oe[1]+"//"),f.type=n.method||n.type||f.method||f.type,f.dataTypes=ot.trim(f.dataType||"*").toLowerCase().match(at)||[""],null==f.crossDomain&&(l=me.exec(f.url.toLowerCase()),f.crossDomain=!(!l||l[1]===oe[1]&&l[2]===oe[2]&&(l[3]||("http:"===l[1]?"80":"443"))===(oe[3]||("http:"===oe[1]?"80":"443")))),f.data&&f.processData&&"string"!=typeof f.data&&(f.data=ot.param(f.data,f.traditional)),E(ve,f,n,C),2===w)return C;c=f.global,c&&0===ot.active++&&ot.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!pe.test(f.type),o=f.url,f.hasContent||(f.data&&(o=f.url+=(ue.test(o)?"&":"?")+f.data,delete f.data),f.cache===!1&&(f.url=ce.test(o)?o.replace(ce,"$1_="+ae++):o+(ue.test(o)?"&":"?")+"_="+ae++)),f.ifModified&&(ot.lastModified[o]&&C.setRequestHeader("If-Modified-Since",ot.lastModified[o]),ot.etag[o]&&C.setRequestHeader("If-None-Match",ot.etag[o])),(f.data&&f.hasContent&&f.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",f.contentType),C.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+be+"; q=0.01":""):f.accepts["*"]);for(h in f.headers)C.setRequestHeader(h,f.headers[h]);if(f.beforeSend&&(f.beforeSend.call(p,C,f)===!1||2===w))return C.abort();x="abort";for(h in{success:1,error:1,complete:1})C[h](f[h]);if(i=E(ye,f,n,C)){C.readyState=1,c&&d.trigger("ajaxSend",[C,f]),f.async&&f.timeout>0&&(u=setTimeout(function(){C.abort("timeout")},f.timeout));try{w=1,i.send(y,r)}catch(k){if(!(2>w))throw k;r(-1,k)}}else r(-1,"No Transport");return C},getJSON:function(t,e,n){return ot.get(t,e,n,"json")},getScript:function(t,n){return ot.get(t,e,n,"script")}}),ot.each(["get","post"],function(t,n){ot[n]=function(t,r,i,o){return ot.isFunction(r)&&(o=o||i,i=r,r=e),ot.ajax({url:t,type:n,dataType:o,data:r,success:i})}}),ot.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(t){return ot.globalEval(t),t}}}),ot.ajaxPrefilter("script",function(t){t.cache===e&&(t.cache=!1),t.crossDomain&&(t.type="GET")}),ot.ajaxTransport("script",function(t){if(t.crossDomain){var e,n;return{send:function(r,i){e=ot(" |