aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'deprecated/jinwei.me/js/jquery.min.js')
-rw-r--r--deprecated/jinwei.me/js/jquery.min.js3576
1 files changed, 3576 insertions, 0 deletions
diff --git a/deprecated/jinwei.me/js/jquery.min.js b/deprecated/jinwei.me/js/jquery.min.js
new file mode 100644
index 0000000..7e523f9
--- /dev/null
+++ b/deprecated/jinwei.me/js/jquery.min.js
@@ -0,0 +1,3576 @@
1/*! jQuery v1.8.3 jquery.com | jquery.org/license */
2(function(e, t) {
3 function _(e) {
4 var t = M[e] = {};
5 return v.each(e.split(y), function(e, n) {
6 t[n] = !0
7 }), t
8 }
9
10 function H(e, n, r) {
11 if (r === t && e.nodeType === 1) {
12 var i = "data-" + n.replace(P, "-$1").toLowerCase();
13 r = e.getAttribute(i);
14 if (typeof r == "string") {
15 try {
16 r = r === "true" ? !0 : r === "false" ? !1 : r === "null" ? null : +r + "" === r ? +r : D.test(r) ? v.parseJSON(r) : r
17 } catch (s) {}
18 v.data(e, n, r)
19 } else r = t
20 }
21 return r
22 }
23
24 function B(e) {
25 var t;
26 for (t in e) {
27 if (t === "data" && v.isEmptyObject(e[t])) continue;
28 if (t !== "toJSON") return !1
29 }
30 return !0
31 }
32
33 function et() {
34 return !1
35 }
36
37 function tt() {
38 return !0
39 }
40
41 function ut(e) {
42 return !e || !e.parentNode || e.parentNode.nodeType === 11
43 }
44
45 function at(e, t) {
46 do e = e[t]; while (e && e.nodeType !== 1);
47 return e
48 }
49
50 function ft(e, t, n) {
51 t = t || 0;
52 if (v.isFunction(t)) return v.grep(e, function(e, r) {
53 var i = !!t.call(e, r, e);
54 return i === n
55 });
56 if (t.nodeType) return v.grep(e, function(e, r) {
57 return e === t === n
58 });
59 if (typeof t == "string") {
60 var r = v.grep(e, function(e) {
61 return e.nodeType === 1
62 });
63 if (it.test(t)) return v.filter(t, r, !n);
64 t = v.filter(t, r)
65 }
66 return v.grep(e, function(e, r) {
67 return v.inArray(e, t) >= 0 === n
68 })
69 }
70
71 function lt(e) {
72 var t = ct.split("|"),
73 n = e.createDocumentFragment();
74 if (n.createElement)
75 while (t.length) n.createElement(t.pop());
76 return n
77 }
78
79 function Lt(e, t) {
80 return e.getElementsByTagName(t)[0] || e.appendChild(e.ownerDocument.createElement(t))
81 }
82
83 function At(e, t) {
84 if (t.nodeType !== 1 || !v.hasData(e)) return;
85 var n, r, i, s = v._data(e),
86 o = v._data(t, s),
87 u = s.events;
88 if (u) {
89 delete o.handle, o.events = {};
90 for (n in u)
91 for (r = 0, i = u[n].length; r < i; r++) v.event.add(t, n, u[n][r])
92 }
93 o.data && (o.data = v.extend({}, o.data))
94 }
95
96 function Ot(e, t) {
97 var n;
98 if (t.nodeType !== 1) return;
99 t.clearAttributes && t.clearAttributes(), t.mergeAttributes && t.mergeAttributes(e), n = t.nodeName.toLowerCase(), n === "object" ? (t.parentNode && (t.outerHTML = e.outerHTML), v.support.html5Clone && e.innerHTML && !v.trim(t.innerHTML) && (t.innerHTML = e.innerHTML)) : n === "input" && Et.test(e.type) ? (t.defaultChecked = t.checked = e.checked, t.value !== e.value && (t.value = e.value)) : n === "option" ? t.selected = e.defaultSelected : n === "input" || n === "textarea" ? t.defaultValue = e.defaultValue : n === "script" && t.text !== e.text && (t.text = e.text), t.removeAttribute(v.expando)
100 }
101
102 function Mt(e) {
103 return typeof e.getElementsByTagName != "undefined" ? e.getElementsByTagName("*") : typeof e.querySelectorAll != "undefined" ? e.querySelectorAll("*") : []
104 }
105
106 function _t(e) {
107 Et.test(e.type) && (e.defaultChecked = e.checked)
108 }
109
110 function Qt(e, t) {
111 if (t in e) return t;
112 var n = t.charAt(0).toUpperCase() + t.slice(1),
113 r = t,
114 i = Jt.length;
115 while (i--) {
116 t = Jt[i] + n;
117 if (t in e) return t
118 }
119 return r
120 }
121
122 function Gt(e, t) {
123 return e = t || e, v.css(e, "display") === "none" || !v.contains(e.ownerDocument, e)
124 }
125
126 function Yt(e, t) {
127 var n, r, i = [],
128 s = 0,
129 o = e.length;
130 for (; s < o; s++) {
131 n = e[s];
132 if (!n.style) continue;
133 i[s] = v._data(n, "olddisplay"), t ? (!i[s] && n.style.display === "none" && (n.style.display = ""), n.style.display === "" && Gt(n) && (i[s] = v._data(n, "olddisplay", nn(n.nodeName)))) : (r = Dt(n, "display"), !i[s] && r !== "none" && v._data(n, "olddisplay", r))
134 }
135 for (s = 0; s < o; s++) {
136 n = e[s];
137 if (!n.style) continue;
138 if (!t || n.style.display === "none" || n.style.display === "") n.style.display = t ? i[s] || "" : "none"
139 }
140 return e
141 }
142
143 function Zt(e, t, n) {
144 var r = Rt.exec(t);
145 return r ? Math.max(0, r[1] - (n || 0)) + (r[2] || "px") : t
146 }
147
148 function en(e, t, n, r) {
149 var i = n === (r ? "border" : "content") ? 4 : t === "width" ? 1 : 0,
150 s = 0;
151 for (; i < 4; i += 2) n === "margin" && (s += v.css(e, n + $t[i], !0)), r ? (n === "content" && (s -= parseFloat(Dt(e, "padding" + $t[i])) || 0), n !== "margin" && (s -= parseFloat(Dt(e, "border" + $t[i] + "Width")) || 0)) : (s += parseFloat(Dt(e, "padding" + $t[i])) || 0, n !== "padding" && (s += parseFloat(Dt(e, "border" + $t[i] + "Width")) || 0));
152 return s
153 }
154
155 function tn(e, t, n) {
156 var r = t === "width" ? e.offsetWidth : e.offsetHeight,
157 i = !0,
158 s = v.support.boxSizing && v.css(e, "boxSizing") === "border-box";
159 if (r <= 0 || r == null) {
160 r = Dt(e, t);
161 if (r < 0 || r == null) r = e.style[t];
162 if (Ut.test(r)) return r;
163 i = s && (v.support.boxSizingReliable || r === e.style[t]), r = parseFloat(r) || 0
164 }
165 return r + en(e, t, n || (s ? "border" : "content"), i) + "px"
166 }
167
168 function nn(e) {
169 if (Wt[e]) return Wt[e];
170 var t = v("<" + e + ">").appendTo(i.body),
171 n = t.css("display");
172 t.remove();
173 if (n === "none" || n === "") {
174 Pt = i.body.appendChild(Pt || v.extend(i.createElement("iframe"), {
175 frameBorder: 0,
176 width: 0,
177 height: 0
178 }));
179 if (!Ht || !Pt.createElement) Ht = (Pt.contentWindow || Pt.contentDocument).document, Ht.write("<!doctype html><html><body>"), Ht.close();
180 t = Ht.body.appendChild(Ht.createElement(e)), n = Dt(t, "display"), i.body.removeChild(Pt)
181 }
182 return Wt[e] = n, n
183 }
184
185 function fn(e, t, n, r) {
186 var i;
187 if (v.isArray(t)) v.each(t, function(t, i) {
188 n || sn.test(e) ? r(e, i) : fn(e + "[" + (typeof i == "object" ? t : "") + "]", i, n, r)
189 });
190 else if (!n && v.type(t) === "object")
191 for (i in t) fn(e + "[" + i + "]", t[i], n, r);
192 else r(e, t)
193 }
194
195 function Cn(e) {
196 return function(t, n) {
197 typeof t != "string" && (n = t, t = "*");
198 var r, i, s, o = t.toLowerCase().split(y),
199 u = 0,
200 a = o.length;
201 if (v.isFunction(n))
202 for (; u < a; u++) r = o[u], s = /^\+/.test(r), s && (r = r.substr(1) || "*"), i = e[r] = e[r] || [], i[s ? "unshift" : "push"](n)
203 }
204 }
205
206 function kn(e, n, r, i, s, o) {
207 s = s || n.dataTypes[0], o = o || {}, o[s] = !0;
208 var u, a = e[s],
209 f = 0,
210 l = a ? a.length : 0,
211 c = e === Sn;
212 for (; f < l && (c || !u); f++) u = a[f](n, r, i), typeof u == "string" && (!c || o[u] ? u = t : (n.dataTypes.unshift(u), u = kn(e, n, r, i, u, o)));
213 return (c || !u) && !o["*"] && (u = kn(e, n, r, i, "*", o)), u
214 }
215
216 function Ln(e, n) {
217 var r, i, s = v.ajaxSettings.flatOptions || {};
218 for (r in n) n[r] !== t && ((s[r] ? e : i || (i = {}))[r] = n[r]);
219 i && v.extend(!0, e, i)
220 }
221
222 function An(e, n, r) {
223 var i, s, o, u, a = e.contents,
224 f = e.dataTypes,
225 l = e.responseFields;
226 for (s in l) s in r && (n[l[s]] = r[s]);
227 while (f[0] === "*") f.shift(), i === t && (i = e.mimeType || n.getResponseHeader("content-type"));
228 if (i)
229 for (s in a)
230 if (a[s] && a[s].test(i)) {
231 f.unshift(s);
232 break
233 }
234 if (f[0] in r) o = f[0];
235 else {
236 for (s in r) {
237 if (!f[0] || e.converters[s + " " + f[0]]) {
238 o = s;
239 break
240 }
241 u || (u = s)
242 }
243 o = o || u
244 } if (o) return o !== f[0] && f.unshift(o), r[o]
245 }
246
247 function On(e, t) {
248 var n, r, i, s, o = e.dataTypes.slice(),
249 u = o[0],
250 a = {},
251 f = 0;
252 e.dataFilter && (t = e.dataFilter(t, e.dataType));
253 if (o[1])
254 for (n in e.converters) a[n.toLowerCase()] = e.converters[n];
255 for (; i = o[++f];)
256 if (i !== "*") {
257 if (u !== "*" && u !== i) {
258 n = a[u + " " + i] || a["* " + i];
259 if (!n)
260 for (r in a) {
261 s = r.split(" ");
262 if (s[1] === i) {
263 n = a[u + " " + s[0]] || a["* " + s[0]];
264 if (n) {
265 n === !0 ? n = a[r] : a[r] !== !0 && (i = s[0], o.splice(f--, 0, i));
266 break
267 }
268 }
269 }
270 if (n !== !0)
271 if (n && e["throws"]) t = n(t);
272 else try {
273 t = n(t)
274 } catch (l) {
275 return {
276 state: "parsererror",
277 error: n ? l : "No conversion from " + u + " to " + i
278 }
279 }
280 }
281 u = i
282 }
283 return {
284 state: "success",
285 data: t
286 }
287 }
288
289 function Fn() {
290 try {
291 return new e.XMLHttpRequest
292 } catch (t) {}
293 }
294
295 function In() {
296 try {
297 return new e.ActiveXObject("Microsoft.XMLHTTP")
298 } catch (t) {}
299 }
300
301 function $n() {
302 return setTimeout(function() {
303 qn = t
304 }, 0), qn = v.now()
305 }
306
307 function Jn(e, t) {
308 v.each(t, function(t, n) {
309 var r = (Vn[t] || []).concat(Vn["*"]),
310 i = 0,
311 s = r.length;
312 for (; i < s; i++)
313 if (r[i].call(e, t, n)) return
314 })
315 }
316
317 function Kn(e, t, n) {
318 var r, i = 0,
319 s = 0,
320 o = Xn.length,
321 u = v.Deferred().always(function() {
322 delete a.elem
323 }),
324 a = function() {
325 var t = qn || $n(),
326 n = Math.max(0, f.startTime + f.duration - t),
327 r = n / f.duration || 0,
328 i = 1 - r,
329 s = 0,
330 o = f.tweens.length;
331 for (; s < o; s++) f.tweens[s].run(i);
332 return u.notifyWith(e, [f, i, n]), i < 1 && o ? n : (u.resolveWith(e, [f]), !1)
333 },
334 f = u.promise({
335 elem: e,
336 props: v.extend({}, t),
337 opts: v.extend(!0, {
338 specialEasing: {}
339 }, n),
340 originalProperties: t,
341 originalOptions: n,
342 startTime: qn || $n(),
343 duration: n.duration,
344 tweens: [],
345 createTween: function(t, n, r) {
346 var i = v.Tween(e, f.opts, t, n, f.opts.specialEasing[t] || f.opts.easing);
347 return f.tweens.push(i), i
348 },
349 stop: function(t) {
350 var n = 0,
351 r = t ? f.tweens.length : 0;
352 for (; n < r; n++) f.tweens[n].run(1);
353 return t ? u.resolveWith(e, [f, t]) : u.rejectWith(e, [f, t]), this
354 }
355 }),
356 l = f.props;
357 Qn(l, f.opts.specialEasing);
358 for (; i < o; i++) {
359 r = Xn[i].call(f, e, l, f.opts);
360 if (r) return r
361 }
362 return Jn(f, l), v.isFunction(f.opts.start) && f.opts.start.call(e, f), v.fx.timer(v.extend(a, {
363 anim: f,
364 queue: f.opts.queue,
365 elem: e
366 })), f.progress(f.opts.progress).done(f.opts.done, f.opts.complete).fail(f.opts.fail).always(f.opts.always)
367 }
368
369 function Qn(e, t) {
370 var n, r, i, s, o;
371 for (n in e) {
372 r = v.camelCase(n), i = t[r], s = e[n], v.isArray(s) && (i = s[1], s = e[n] = s[0]), n !== r && (e[r] = s, delete e[n]), o = v.cssHooks[r];
373 if (o && "expand" in o) {
374 s = o.expand(s), delete e[r];
375 for (n in s) n in e || (e[n] = s[n], t[n] = i)
376 } else t[r] = i
377 }
378 }
379
380 function Gn(e, t, n) {
381 var r, i, s, o, u, a, f, l, c, h = this,
382 p = e.style,
383 d = {},
384 m = [],
385 g = e.nodeType && Gt(e);
386 n.queue || (l = v._queueHooks(e, "fx"), l.unqueued == null && (l.unqueued = 0, c = l.empty.fire, l.empty.fire = function() {
387 l.unqueued || c()
388 }), l.unqueued++, h.always(function() {
389 h.always(function() {
390 l.unqueued--, v.queue(e, "fx").length || l.empty.fire()
391 })
392 })), e.nodeType === 1 && ("height" in t || "width" in t) && (n.overflow = [p.overflow, p.overflowX, p.overflowY], v.css(e, "display") === "inline" && v.css(e, "float") === "none" && (!v.support.inlineBlockNeedsLayout || nn(e.nodeName) === "inline" ? p.display = "inline-block" : p.zoom = 1)), n.overflow && (p.overflow = "hidden", v.support.shrinkWrapBlocks || h.done(function() {
393 p.overflow = n.overflow[0], p.overflowX = n.overflow[1], p.overflowY = n.overflow[2]
394 }));
395 for (r in t) {
396 s = t[r];
397 if (Un.exec(s)) {
398 delete t[r], a = a || s === "toggle";
399 if (s === (g ? "hide" : "show")) continue;
400 m.push(r)
401 }
402 }
403 o = m.length;
404 if (o) {
405 u = v._data(e, "fxshow") || v._data(e, "fxshow", {}), "hidden" in u && (g = u.hidden), a && (u.hidden = !g), g ? v(e).show() : h.done(function() {
406 v(e).hide()
407 }), h.done(function() {
408 var t;
409 v.removeData(e, "fxshow", !0);
410 for (t in d) v.style(e, t, d[t])
411 });
412 for (r = 0; r < o; r++) i = m[r], f = h.createTween(i, g ? u[i] : 0), d[i] = u[i] || v.style(e, i), i in u || (u[i] = f.start, g && (f.end = f.start, f.start = i === "width" || i === "height" ? 1 : 0))
413 }
414 }
415
416 function Yn(e, t, n, r, i) {
417 return new Yn.prototype.init(e, t, n, r, i)
418 }
419
420 function Zn(e, t) {
421 var n, r = {
422 height: e
423 },
424 i = 0;
425 t = t ? 1 : 0;
426 for (; i < 4; i += 2 - t) n = $t[i], r["margin" + n] = r["padding" + n] = e;
427 return t && (r.opacity = r.width = e), r
428 }
429
430 function tr(e) {
431 return v.isWindow(e) ? e : e.nodeType === 9 ? e.defaultView || e.parentWindow : !1
432 }
433 var n, r, i = e.document,
434 s = e.location,
435 o = e.navigator,
436 u = e.jQuery,
437 a = e.$,
438 f = Array.prototype.push,
439 l = Array.prototype.slice,
440 c = Array.prototype.indexOf,
441 h = Object.prototype.toString,
442 p = Object.prototype.hasOwnProperty,
443 d = String.prototype.trim,
444 v = function(e, t) {
445 return new v.fn.init(e, t, n)
446 },
447 m = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,
448 g = /\S/,
449 y = /\s+/,
450 b = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
451 w = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,
452 E = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
453 S = /^[\],:{}\s]*$/,
454 x = /(?:^|:|,)(?:\s*\[)+/g,
455 T = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,
456 N = /"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,
457 C = /^-ms-/,
458 k = /-([\da-z])/gi,
459 L = function(e, t) {
460 return (t + "").toUpperCase()
461 },
462 A = function() {
463 i.addEventListener ? (i.removeEventListener("DOMContentLoaded", A, !1), v.ready()) : i.readyState === "complete" && (i.detachEvent("onreadystatechange", A), v.ready())
464 },
465 O = {};
466 v.fn = v.prototype = {
467 constructor: v,
468 init: function(e, n, r) {
469 var s, o, u, a;
470 if (!e) return this;
471 if (e.nodeType) return this.context = this[0] = e, this.length = 1, this;
472 if (typeof e == "string") {
473 e.charAt(0) === "<" && e.charAt(e.length - 1) === ">" && e.length >= 3 ? s = [null, e, null] : s = w.exec(e);
474 if (s && (s[1] || !n)) {
475 if (s[1]) return n = n instanceof v ? n[0] : n, a = n && n.nodeType ? n.ownerDocument || n : i, e = v.parseHTML(s[1], a, !0), E.test(s[1]) && v.isPlainObject(n) && this.attr.call(e, n, !0), v.merge(this, e);
476 o = i.getElementById(s[2]);
477 if (o && o.parentNode) {
478 if (o.id !== s[2]) return r.find(e);
479 this.length = 1, this[0] = o
480 }
481 return this.context = i, this.selector = e, this
482 }
483 return !n || n.jquery ? (n || r).find(e) : this.constructor(n).find(e)
484 }
485 return v.isFunction(e) ? r.ready(e) : (e.selector !== t && (this.selector = e.selector, this.context = e.context), v.makeArray(e, this))
486 },
487 selector: "",
488 jquery: "1.8.3",
489 length: 0,
490 size: function() {
491 return this.length
492 },
493 toArray: function() {
494 return l.call(this)
495 },
496 get: function(e) {
497 return e == null ? this.toArray() : e < 0 ? this[this.length + e] : this[e]
498 },
499 pushStack: function(e, t, n) {
500 var r = v.merge(this.constructor(), e);
501 return r.prevObject = this, r.context = this.context, t === "find" ? r.selector = this.selector + (this.selector ? " " : "") + n : t && (r.selector = this.selector + "." + t + "(" + n + ")"), r
502 },
503 each: function(e, t) {
504 return v.each(this, e, t)
505 },
506 ready: function(e) {
507 return v.ready.promise().done(e), this
508 },
509 eq: function(e) {
510 return e = +e, e === -1 ? this.slice(e) : this.slice(e, e + 1)
511 },
512 first: function() {
513 return this.eq(0)
514 },
515 last: function() {
516 return this.eq(-1)
517 },
518 slice: function() {
519 return this.pushStack(l.apply(this, arguments), "slice", l.call(arguments).join(","))
520 },
521 map: function(e) {
522 return this.pushStack(v.map(this, function(t, n) {
523 return e.call(t, n, t)
524 }))
525 },
526 end: function() {
527 return this.prevObject || this.constructor(null)
528 },
529 push: f,
530 sort: [].sort,
531 splice: [].splice
532 }, v.fn.init.prototype = v.fn, v.extend = v.fn.extend = function() {
533 var e, n, r, i, s, o, u = arguments[0] || {},
534 a = 1,
535 f = arguments.length,
536 l = !1;
537 typeof u == "boolean" && (l = u, u = arguments[1] || {}, a = 2), typeof u != "object" && !v.isFunction(u) && (u = {}), f === a && (u = this, --a);
538 for (; a < f; a++)
539 if ((e = arguments[a]) != null)
540 for (n in e) {
541 r = u[n], i = e[n];
542 if (u === i) continue;
543 l && i && (v.isPlainObject(i) || (s = v.isArray(i))) ? (s ? (s = !1, o = r && v.isArray(r) ? r : []) : o = r && v.isPlainObject(r) ? r : {}, u[n] = v.extend(l, o, i)) : i !== t && (u[n] = i)
544 }
545 return u
546 }, v.extend({
547 noConflict: function(t) {
548 return e.$ === v && (e.$ = a), t && e.jQuery === v && (e.jQuery = u), v
549 },
550 isReady: !1,
551 readyWait: 1,
552 holdReady: function(e) {
553 e ? v.readyWait++ : v.ready(!0)
554 },
555 ready: function(e) {
556 if (e === !0 ? --v.readyWait : v.isReady) return;
557 if (!i.body) return setTimeout(v.ready, 1);
558 v.isReady = !0;
559 if (e !== !0 && --v.readyWait > 0) return;
560 r.resolveWith(i, [v]), v.fn.trigger && v(i).trigger("ready").off("ready")
561 },
562 isFunction: function(e) {
563 return v.type(e) === "function"
564 },
565 isArray: Array.isArray || function(e) {
566 return v.type(e) === "array"
567 },
568 isWindow: function(e) {
569 return e != null && e == e.window
570 },
571 isNumeric: function(e) {
572 return !isNaN(parseFloat(e)) && isFinite(e)
573 },
574 type: function(e) {
575 return e == null ? String(e) : O[h.call(e)] || "object"
576 },
577 isPlainObject: function(e) {
578 if (!e || v.type(e) !== "object" || e.nodeType || v.isWindow(e)) return !1;
579 try {
580 if (e.constructor && !p.call(e, "constructor") && !p.call(e.constructor.prototype, "isPrototypeOf")) return !1
581 } catch (n) {
582 return !1
583 }
584 var r;
585 for (r in e);
586 return r === t || p.call(e, r)
587 },
588 isEmptyObject: function(e) {
589 var t;
590 for (t in e) return !1;
591 return !0
592 },
593 error: function(e) {
594 throw new Error(e)
595 },
596 parseHTML: function(e, t, n) {
597 var r;
598 return !e || typeof e != "string" ? null : (typeof t == "boolean" && (n = t, t = 0), t = t || i, (r = E.exec(e)) ? [t.createElement(r[1])] : (r = v.buildFragment([e], t, n ? null : []), v.merge([], (r.cacheable ? v.clone(r.fragment) : r.fragment).childNodes)))
599 },
600 parseJSON: function(t) {
601 if (!t || typeof t != "string") return null;
602 t = v.trim(t);
603 if (e.JSON && e.JSON.parse) return e.JSON.parse(t);
604 if (S.test(t.replace(T, "@").replace(N, "]").replace(x, ""))) return (new Function("return " + t))();
605 v.error("Invalid JSON: " + t)
606 },
607 parseXML: function(n) {
608 var r, i;
609 if (!n || typeof n != "string") return null;
610 try {
611 e.DOMParser ? (i = new DOMParser, r = i.parseFromString(n, "text/xml")) : (r = new ActiveXObject("Microsoft.XMLDOM"), r.async = "false", r.loadXML(n))
612 } catch (s) {
613 r = t
614 }
615 return (!r || !r.documentElement || r.getElementsByTagName("parsererror").length) && v.error("Invalid XML: " + n), r
616 },
617 noop: function() {},
618 globalEval: function(t) {
619 t && g.test(t) && (e.execScript || function(t) {
620 e.eval.call(e, t)
621 })(t)
622 },
623 camelCase: function(e) {
624 return e.replace(C, "ms-").replace(k, L)
625 },
626 nodeName: function(e, t) {
627 return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
628 },
629 each: function(e, n, r) {
630 var i, s = 0,
631 o = e.length,
632 u = o === t || v.isFunction(e);
633 if (r) {
634 if (u) {
635 for (i in e)
636 if (n.apply(e[i], r) === !1) break
637 } else
638 for (; s < o;)
639 if (n.apply(e[s++], r) === !1) break
640 } else if (u) {
641 for (i in e)
642 if (n.call(e[i], i, e[i]) === !1) break
643 } else
644 for (; s < o;)
645 if (n.call(e[s], s, e[s++]) === !1) break; return e
646 },
647 trim: d && !d.call("\ufeff\u00a0") ? function(e) {
648 return e == null ? "" : d.call(e)
649 } : function(e) {
650 return e == null ? "" : (e + "").replace(b, "")
651 },
652 makeArray: function(e, t) {
653 var n, r = t || [];
654 return e != null && (n = v.type(e), e.length == null || n === "string" || n === "function" || n === "regexp" || v.isWindow(e) ? f.call(r, e) : v.merge(r, e)), r
655 },
656 inArray: function(e, t, n) {
657 var r;
658 if (t) {
659 if (c) return c.call(t, e, n);
660 r = t.length, n = n ? n < 0 ? Math.max(0, r + n) : n : 0;
661 for (; n < r; n++)
662 if (n in t && t[n] === e) return n
663 }
664 return -1
665 },
666 merge: function(e, n) {
667 var r = n.length,
668 i = e.length,
669 s = 0;
670 if (typeof r == "number")
671 for (; s < r; s++) e[i++] = n[s];
672 else
673 while (n[s] !== t) e[i++] = n[s++];
674 return e.length = i, e
675 },
676 grep: function(e, t, n) {
677 var r, i = [],
678 s = 0,
679 o = e.length;
680 n = !!n;
681 for (; s < o; s++) r = !!t(e[s], s), n !== r && i.push(e[s]);
682 return i
683 },
684 map: function(e, n, r) {
685 var i, s, o = [],
686 u = 0,
687 a = e.length,
688 f = e instanceof v || a !== t && typeof a == "number" && (a > 0 && e[0] && e[a - 1] || a === 0 || v.isArray(e));
689 if (f)
690 for (; u < a; u++) i = n(e[u], u, r), i != null && (o[o.length] = i);
691 else
692 for (s in e) i = n(e[s], s, r), i != null && (o[o.length] = i);
693 return o.concat.apply([], o)
694 },
695 guid: 1,
696 proxy: function(e, n) {
697 var r, i, s;
698 return typeof n == "string" && (r = e[n], n = e, e = r), v.isFunction(e) ? (i = l.call(arguments, 2), s = function() {
699 return e.apply(n, i.concat(l.call(arguments)))
700 }, s.guid = e.guid = e.guid || v.guid++, s) : t
701 },
702 access: function(e, n, r, i, s, o, u) {
703 var a, f = r == null,
704 l = 0,
705 c = e.length;
706 if (r && typeof r == "object") {
707 for (l in r) v.access(e, n, l, r[l], 1, o, i);
708 s = 1
709 } else if (i !== t) {
710 a = u === t && v.isFunction(i), f && (a ? (a = n, n = function(e, t, n) {
711 return a.call(v(e), n)
712 }) : (n.call(e, i), n = null));
713 if (n)
714 for (; l < c; l++) n(e[l], r, a ? i.call(e[l], l, n(e[l], r)) : i, u);
715 s = 1
716 }
717 return s ? e : f ? n.call(e) : c ? n(e[0], r) : o
718 },
719 now: function() {
720 return (new Date).getTime()
721 }
722 }), v.ready.promise = function(t) {
723 if (!r) {
724 r = v.Deferred();
725 if (i.readyState === "complete") setTimeout(v.ready, 1);
726 else if (i.addEventListener) i.addEventListener("DOMContentLoaded", A, !1), e.addEventListener("load", v.ready, !1);
727 else {
728 i.attachEvent("onreadystatechange", A), e.attachEvent("onload", v.ready);
729 var n = !1;
730 try {
731 n = e.frameElement == null && i.documentElement
732 } catch (s) {}
733 n && n.doScroll && function o() {
734 if (!v.isReady) {
735 try {
736 n.doScroll("left")
737 } catch (e) {
738 return setTimeout(o, 50)
739 }
740 v.ready()
741 }
742 }()
743 }
744 }
745 return r.promise(t)
746 }, v.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(e, t) {
747 O["[object " + t + "]"] = t.toLowerCase()
748 }), n = v(i);
749 var M = {};
750 v.Callbacks = function(e) {
751 e = typeof e == "string" ? M[e] || _(e) : v.extend({}, e);
752 var n, r, i, s, o, u, a = [],
753 f = !e.once && [],
754 l = function(t) {
755 n = e.memory && t, r = !0, u = s || 0, s = 0, o = a.length, i = !0;
756 for (; a && u < o; u++)
757 if (a[u].apply(t[0], t[1]) === !1 && e.stopOnFalse) {
758 n = !1;
759 break
760 }
761 i = !1, a && (f ? f.length && l(f.shift()) : n ? a = [] : c.disable())
762 },
763 c = {
764 add: function() {
765 if (a) {
766 var t = a.length;
767 (function r(t) {
768 v.each(t, function(t, n) {
769 var i = v.type(n);
770 i === "function" ? (!e.unique || !c.has(n)) && a.push(n) : n && n.length && i !== "string" && r(n)
771 })
772 })(arguments), i ? o = a.length : n && (s = t, l(n))
773 }
774 return this
775 },
776 remove: function() {
777 return a && v.each(arguments, function(e, t) {
778 var n;
779 while ((n = v.inArray(t, a, n)) > -1) a.splice(n, 1), i && (n <= o && o--, n <= u && u--)
780 }), this
781 },
782 has: function(e) {
783 return v.inArray(e, a) > -1
784 },
785 empty: function() {
786 return a = [], this
787 },
788 disable: function() {
789 return a = f = n = t, this
790 },
791 disabled: function() {
792 return !a
793 },
794 lock: function() {
795 return f = t, n || c.disable(), this
796 },
797 locked: function() {
798 return !f
799 },
800 fireWith: function(e, t) {
801 return t = t || [], t = [e, t.slice ? t.slice() : t], a && (!r || f) && (i ? f.push(t) : l(t)), this
802 },
803 fire: function() {
804 return c.fireWith(this, arguments), this
805 },
806 fired: function() {
807 return !!r
808 }
809 };
810 return c
811 }, v.extend({
812 Deferred: function(e) {
813 var t = [
814 ["resolve", "done", v.Callbacks("once memory"), "resolved"],
815 ["reject", "fail", v.Callbacks("once memory"), "rejected"],
816 ["notify", "progress", v.Callbacks("memory")]
817 ],
818 n = "pending",
819 r = {
820 state: function() {
821 return n
822 },
823 always: function() {
824 return i.done(arguments).fail(arguments), this
825 },
826 then: function() {
827 var e = arguments;
828 return v.Deferred(function(n) {
829 v.each(t, function(t, r) {
830 var s = r[0],
831 o = e[t];
832 i[r[1]](v.isFunction(o) ? function() {
833 var e = o.apply(this, arguments);
834 e && v.isFunction(e.promise) ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[s + "With"](this === i ? n : this, [e])
835 } : n[s])
836 }), e = null
837 }).promise()
838 },
839 promise: function(e) {
840 return e != null ? v.extend(e, r) : r
841 }
842 },
843 i = {};
844 return r.pipe = r.then, v.each(t, function(e, s) {
845 var o = s[2],
846 u = s[3];
847 r[s[1]] = o.add, u && o.add(function() {
848 n = u
849 }, t[e ^ 1][2].disable, t[2][2].lock), i[s[0]] = o.fire, i[s[0] + "With"] = o.fireWith
850 }), r.promise(i), e && e.call(i, i), i
851 },
852 when: function(e) {
853 var t = 0,
854 n = l.call(arguments),
855 r = n.length,
856 i = r !== 1 || e && v.isFunction(e.promise) ? r : 0,
857 s = i === 1 ? e : v.Deferred(),
858 o = function(e, t, n) {
859 return function(r) {
860 t[e] = this, n[e] = arguments.length > 1 ? l.call(arguments) : r, n === u ? s.notifyWith(t, n) : --i || s.resolveWith(t, n)
861 }
862 },
863 u, a, f;
864 if (r > 1) {
865 u = new Array(r), a = new Array(r), f = new Array(r);
866 for (; t < r; t++) n[t] && v.isFunction(n[t].promise) ? n[t].promise().done(o(t, f, n)).fail(s.reject).progress(o(t, a, u)) : --i
867 }
868 return i || s.resolveWith(f, n), s.promise()
869 }
870 }), v.support = function() {
871 var t, n, r, s, o, u, a, f, l, c, h, p = i.createElement("div");
872 p.setAttribute("className", "t"), p.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>", n = p.getElementsByTagName("*"), r = p.getElementsByTagName("a")[0];
873 if (!n || !r || !n.length) return {};
874 s = i.createElement("select"), o = s.appendChild(i.createElement("option")), u = p.getElementsByTagName("input")[0], r.style.cssText = "top:1px;float:left;opacity:.5", t = {
875 leadingWhitespace: p.firstChild.nodeType === 3,
876 tbody: !p.getElementsByTagName("tbody").length,
877 htmlSerialize: !!p.getElementsByTagName("link").length,
878 style: /top/.test(r.getAttribute("style")),
879 hrefNormalized: r.getAttribute("href") === "/a",
880 opacity: /^0.5/.test(r.style.opacity),
881 cssFloat: !!r.style.cssFloat,
882 checkOn: u.value === "on",
883 optSelected: o.selected,
884 getSetAttribute: p.className !== "t",
885 enctype: !!i.createElement("form").enctype,
886 html5Clone: i.createElement("nav").cloneNode(!0).outerHTML !== "<:nav></:nav>",
887 boxModel: i.compatMode === "CSS1Compat",
888 submitBubbles: !0,
889 changeBubbles: !0,
890 focusinBubbles: !1,
891 deleteExpando: !0,
892 noCloneEvent: !0,
893 inlineBlockNeedsLayout: !1,
894 shrinkWrapBlocks: !1,
895 reliableMarginRight: !0,
896 boxSizingReliable: !0,
897 pixelPosition: !1
898 }, u.checked = !0, t.noCloneChecked = u.cloneNode(!0).checked, s.disabled = !0, t.optDisabled = !o.disabled;
899 try {
900 delete p.test
901 } catch (d) {
902 t.deleteExpando = !1
903 }!p.addEventListener && p.attachEvent && p.fireEvent && (p.attachEvent("onclick", h = function() {
904 t.noCloneEvent = !1
905 }), p.cloneNode(!0).fireEvent("onclick"), p.detachEvent("onclick", h)), u = i.createElement("input"), u.value = "t", u.setAttribute("type", "radio"), t.radioValue = u.value === "t", u.setAttribute("checked", "checked"), u.setAttribute("name", "t"), p.appendChild(u), a = i.createDocumentFragment(), a.appendChild(p.lastChild), t.checkClone = a.cloneNode(!0).cloneNode(!0).lastChild.checked, t.appendChecked = u.checked, a.removeChild(u), a.appendChild(p);
906 if (p.attachEvent)
907 for (l in {
908 submit: !0,
909 change: !0,
910 focusin: !0
911 }) f = "on" + l, c = f in p, c || (p.setAttribute(f, "return;"), c = typeof p[f] == "function"), t[l + "Bubbles"] = c;
912 return v(function() {
913 var n, r, s, o, u = "padding:0;margin:0;border:0;display:block;overflow:hidden;",
914 a = i.getElementsByTagName("body")[0];
915 if (!a) return;
916 n = i.createElement("div"), n.style.cssText = "visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px", a.insertBefore(n, a.firstChild), r = i.createElement("div"), n.appendChild(r), r.innerHTML = "<table><tr><td></td><td>t</td></tr></table>", s = r.getElementsByTagName("td"), s[0].style.cssText = "padding:0;margin:0;border:0;display:none", c = s[0].offsetHeight === 0, s[0].style.display = "", s[1].style.display = "none", t.reliableHiddenOffsets = c && s[0].offsetHeight === 0, r.innerHTML = "", r.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;", t.boxSizing = r.offsetWidth === 4, t.doesNotIncludeMarginInBodyOffset = a.offsetTop !== 1, e.getComputedStyle && (t.pixelPosition = (e.getComputedStyle(r, null) || {}).top !== "1%", t.boxSizingReliable = (e.getComputedStyle(r, null) || {
917 width: "4px"
918 }).width === "4px", o = i.createElement("div"), o.style.cssText = r.style.cssText = u, o.style.marginRight = o.style.width = "0", r.style.width = "1px", r.appendChild(o), t.reliableMarginRight = !parseFloat((e.getComputedStyle(o, null) || {}).marginRight)), typeof r.style.zoom != "undefined" && (r.innerHTML = "", r.style.cssText = u + "width:1px;padding:1px;display:inline;zoom:1", t.inlineBlockNeedsLayout = r.offsetWidth === 3, r.style.display = "block", r.style.overflow = "visible", r.innerHTML = "<div></div>", r.firstChild.style.width = "5px", t.shrinkWrapBlocks = r.offsetWidth !== 3, n.style.zoom = 1), a.removeChild(n), n = r = s = o = null
919 }), a.removeChild(p), n = r = s = o = u = a = p = null, t
920 }();
921 var D = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,
922 P = /([A-Z])/g;
923 v.extend({
924 cache: {},
925 deletedIds: [],
926 uuid: 0,
927 expando: "jQuery" + (v.fn.jquery + Math.random()).replace(/\D/g, ""),
928 noData: {
929 embed: !0,
930 object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
931 applet: !0
932 },
933 hasData: function(e) {
934 return e = e.nodeType ? v.cache[e[v.expando]] : e[v.expando], !!e && !B(e)
935 },
936 data: function(e, n, r, i) {
937 if (!v.acceptData(e)) return;
938 var s, o, u = v.expando,
939 a = typeof n == "string",
940 f = e.nodeType,
941 l = f ? v.cache : e,
942 c = f ? e[u] : e[u] && u;
943 if ((!c || !l[c] || !i && !l[c].data) && a && r === t) return;
944 c || (f ? e[u] = c = v.deletedIds.pop() || v.guid++ : c = u), l[c] || (l[c] = {}, f || (l[c].toJSON = v.noop));
945 if (typeof n == "object" || typeof n == "function") i ? l[c] = v.extend(l[c], n) : l[c].data = v.extend(l[c].data, n);
946 return s = l[c], i || (s.data || (s.data = {}), s = s.data), r !== t && (s[v.camelCase(n)] = r), a ? (o = s[n], o == null && (o = s[v.camelCase(n)])) : o = s, o
947 },
948 removeData: function(e, t, n) {
949 if (!v.acceptData(e)) return;
950 var r, i, s, o = e.nodeType,
951 u = o ? v.cache : e,
952 a = o ? e[v.expando] : v.expando;
953 if (!u[a]) return;
954 if (t) {
955 r = n ? u[a] : u[a].data;
956 if (r) {
957 v.isArray(t) || (t in r ? t = [t] : (t = v.camelCase(t), t in r ? t = [t] : t = t.split(" ")));
958 for (i = 0, s = t.length; i < s; i++) delete r[t[i]];
959 if (!(n ? B : v.isEmptyObject)(r)) return
960 }
961 }
962 if (!n) {
963 delete u[a].data;
964 if (!B(u[a])) return
965 }
966 o ? v.cleanData([e], !0) : v.support.deleteExpando || u != u.window ? delete u[a] : u[a] = null
967 },
968 _data: function(e, t, n) {
969 return v.data(e, t, n, !0)
970 },
971 acceptData: function(e) {
972 var t = e.nodeName && v.noData[e.nodeName.toLowerCase()];
973 return !t || t !== !0 && e.getAttribute("classid") === t
974 }
975 }), v.fn.extend({
976 data: function(e, n) {
977 var r, i, s, o, u, a = this[0],
978 f = 0,
979 l = null;
980 if (e === t) {
981 if (this.length) {
982 l = v.data(a);
983 if (a.nodeType === 1 && !v._data(a, "parsedAttrs")) {
984 s = a.attributes;
985 for (u = s.length; f < u; f++) o = s[f].name, o.indexOf("data-") || (o = v.camelCase(o.substring(5)), H(a, o, l[o]));
986 v._data(a, "parsedAttrs", !0)
987 }
988 }
989 return l
990 }
991 return typeof e == "object" ? this.each(function() {
992 v.data(this, e)
993 }) : (r = e.split(".", 2), r[1] = r[1] ? "." + r[1] : "", i = r[1] + "!", v.access(this, function(n) {
994 if (n === t) return l = this.triggerHandler("getData" + i, [r[0]]), l === t && a && (l = v.data(a, e), l = H(a, e, l)), l === t && r[1] ? this.data(r[0]) : l;
995 r[1] = n, this.each(function() {
996 var t = v(this);
997 t.triggerHandler("setData" + i, r), v.data(this, e, n), t.triggerHandler("changeData" + i, r)
998 })
999 }, null, n, arguments.length > 1, null, !1))
1000 },
1001 removeData: function(e) {
1002 return this.each(function() {
1003 v.removeData(this, e)
1004 })
1005 }
1006 }), v.extend({
1007 queue: function(e, t, n) {
1008 var r;
1009 if (e) return t = (t || "fx") + "queue", r = v._data(e, t), n && (!r || v.isArray(n) ? r = v._data(e, t, v.makeArray(n)) : r.push(n)), r || []
1010 },
1011 dequeue: function(e, t) {
1012 t = t || "fx";
1013 var n = v.queue(e, t),
1014 r = n.length,
1015 i = n.shift(),
1016 s = v._queueHooks(e, t),
1017 o = function() {
1018 v.dequeue(e, t)
1019 };
1020 i === "inprogress" && (i = n.shift(), r--), i && (t === "fx" && n.unshift("inprogress"), delete s.stop, i.call(e, o, s)), !r && s && s.empty.fire()
1021 },
1022 _queueHooks: function(e, t) {
1023 var n = t + "queueHooks";
1024 return v._data(e, n) || v._data(e, n, {
1025 empty: v.Callbacks("once memory").add(function() {
1026 v.removeData(e, t + "queue", !0), v.removeData(e, n, !0)
1027 })
1028 })
1029 }
1030 }), v.fn.extend({
1031 queue: function(e, n) {
1032 var r = 2;
1033 return typeof e != "string" && (n = e, e = "fx", r--), arguments.length < r ? v.queue(this[0], e) : n === t ? this : this.each(function() {
1034 var t = v.queue(this, e, n);
1035 v._queueHooks(this, e), e === "fx" && t[0] !== "inprogress" && v.dequeue(this, e)
1036 })
1037 },
1038 dequeue: function(e) {
1039 return this.each(function() {
1040 v.dequeue(this, e)
1041 })
1042 },
1043 delay: function(e, t) {
1044 return e = v.fx ? v.fx.speeds[e] || e : e, t = t || "fx", this.queue(t, function(t, n) {
1045 var r = setTimeout(t, e);
1046 n.stop = function() {
1047 clearTimeout(r)
1048 }
1049 })
1050 },
1051 clearQueue: function(e) {
1052 return this.queue(e || "fx", [])
1053 },
1054 promise: function(e, n) {
1055 var r, i = 1,
1056 s = v.Deferred(),
1057 o = this,
1058 u = this.length,
1059 a = function() {
1060 --i || s.resolveWith(o, [o])
1061 };
1062 typeof e != "string" && (n = e, e = t), e = e || "fx";
1063 while (u--) r = v._data(o[u], e + "queueHooks"), r && r.empty && (i++, r.empty.add(a));
1064 return a(), s.promise(n)
1065 }
1066 });
1067 var j, F, I, q = /[\t\r\n]/g,
1068 R = /\r/g,
1069 U = /^(?:button|input)$/i,
1070 z = /^(?:button|input|object|select|textarea)$/i,
1071 W = /^a(?:rea|)$/i,
1072 X = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
1073 V = v.support.getSetAttribute;
1074 v.fn.extend({
1075 attr: function(e, t) {
1076 return v.access(this, v.attr, e, t, arguments.length > 1)
1077 },
1078 removeAttr: function(e) {
1079 return this.each(function() {
1080 v.removeAttr(this, e)
1081 })
1082 },
1083 prop: function(e, t) {
1084 return v.access(this, v.prop, e, t, arguments.length > 1)
1085 },
1086 removeProp: function(e) {
1087 return e = v.propFix[e] || e, this.each(function() {
1088 try {
1089 this[e] = t, delete this[e]
1090 } catch (n) {}
1091 })
1092 },
1093 addClass: function(e) {
1094 var t, n, r, i, s, o, u;
1095 if (v.isFunction(e)) return this.each(function(t) {
1096 v(this).addClass(e.call(this, t, this.className))
1097 });
1098 if (e && typeof e == "string") {
1099 t = e.split(y);
1100 for (n = 0, r = this.length; n < r; n++) {
1101 i = this[n];
1102 if (i.nodeType === 1)
1103 if (!i.className && t.length === 1) i.className = e;
1104 else {
1105 s = " " + i.className + " ";
1106 for (o = 0, u = t.length; o < u; o++) s.indexOf(" " + t[o] + " ") < 0 && (s += t[o] + " ");
1107 i.className = v.trim(s)
1108 }
1109 }
1110 }
1111 return this
1112 },
1113 removeClass: function(e) {
1114 var n, r, i, s, o, u, a;
1115 if (v.isFunction(e)) return this.each(function(t) {
1116 v(this).removeClass(e.call(this, t, this.className))
1117 });
1118 if (e && typeof e == "string" || e === t) {
1119 n = (e || "").split(y);
1120 for (u = 0, a = this.length; u < a; u++) {
1121 i = this[u];
1122 if (i.nodeType === 1 && i.className) {
1123 r = (" " + i.className + " ").replace(q, " ");
1124 for (s = 0, o = n.length; s < o; s++)
1125 while (r.indexOf(" " + n[s] + " ") >= 0) r = r.replace(" " + n[s] + " ", " ");
1126 i.className = e ? v.trim(r) : ""
1127 }
1128 }
1129 }
1130 return this
1131 },
1132 toggleClass: function(e, t) {
1133 var n = typeof e,
1134 r = typeof t == "boolean";
1135 return v.isFunction(e) ? this.each(function(n) {
1136 v(this).toggleClass(e.call(this, n, this.className, t), t)
1137 }) : this.each(function() {
1138 if (n === "string") {
1139 var i, s = 0,
1140 o = v(this),
1141 u = t,
1142 a = e.split(y);
1143 while (i = a[s++]) u = r ? u : !o.hasClass(i), o[u ? "addClass" : "removeClass"](i)
1144 } else if (n === "undefined" || n === "boolean") this.className && v._data(this, "__className__", this.className), this.className = this.className || e === !1 ? "" : v._data(this, "__className__") || ""
1145 })
1146 },
1147 hasClass: function(e) {
1148 var t = " " + e + " ",
1149 n = 0,
1150 r = this.length;
1151 for (; n < r; n++)
1152 if (this[n].nodeType === 1 && (" " + this[n].className + " ").replace(q, " ").indexOf(t) >= 0) return !0;
1153 return !1
1154 },
1155 val: function(e) {
1156 var n, r, i, s = this[0];
1157 if (!arguments.length) {
1158 if (s) return n = v.valHooks[s.type] || v.valHooks[s.nodeName.toLowerCase()], n && "get" in n && (r = n.get(s, "value")) !== t ? r : (r = s.value, typeof r == "string" ? r.replace(R, "") : r == null ? "" : r);
1159 return
1160 }
1161 return i = v.isFunction(e), this.each(function(r) {
1162 var s, o = v(this);
1163 if (this.nodeType !== 1) return;
1164 i ? s = e.call(this, r, o.val()) : s = e, s == null ? s = "" : typeof s == "number" ? s += "" : v.isArray(s) && (s = v.map(s, function(e) {
1165 return e == null ? "" : e + ""
1166 })), n = v.valHooks[this.type] || v.valHooks[this.nodeName.toLowerCase()];
1167 if (!n || !("set" in n) || n.set(this, s, "value") === t) this.value = s
1168 })
1169 }
1170 }), v.extend({
1171 valHooks: {
1172 option: {
1173 get: function(e) {
1174 var t = e.attributes.value;
1175 return !t || t.specified ? e.value : e.text
1176 }
1177 },
1178 select: {
1179 get: function(e) {
1180 var t, n, r = e.options,
1181 i = e.selectedIndex,
1182 s = e.type === "select-one" || i < 0,
1183 o = s ? null : [],
1184 u = s ? i + 1 : r.length,
1185 a = i < 0 ? u : s ? i : 0;
1186 for (; a < u; a++) {
1187 n = r[a];
1188 if ((n.selected || a === i) && (v.support.optDisabled ? !n.disabled : n.getAttribute("disabled") === null) && (!n.parentNode.disabled || !v.nodeName(n.parentNode, "optgroup"))) {
1189 t = v(n).val();
1190 if (s) return t;
1191 o.push(t)
1192 }
1193 }
1194 return o
1195 },
1196 set: function(e, t) {
1197 var n = v.makeArray(t);
1198 return v(e).find("option").each(function() {
1199 this.selected = v.inArray(v(this).val(), n) >= 0
1200 }), n.length || (e.selectedIndex = -1), n
1201 }
1202 }
1203 },
1204 attrFn: {},
1205 attr: function(e, n, r, i) {
1206 var s, o, u, a = e.nodeType;
1207 if (!e || a === 3 || a === 8 || a === 2) return;
1208 if (i && v.isFunction(v.fn[n])) return v(e)[n](r);
1209 if (typeof e.getAttribute == "undefined") return v.prop(e, n, r);
1210 u = a !== 1 || !v.isXMLDoc(e), u && (n = n.toLowerCase(), o = v.attrHooks[n] || (X.test(n) ? F : j));
1211 if (r !== t) {
1212 if (r === null) {
1213 v.removeAttr(e, n);
1214 return
1215 }
1216 return o && "set" in o && u && (s = o.set(e, r, n)) !== t ? s : (e.setAttribute(n, r + ""), r)
1217 }
1218 return o && "get" in o && u && (s = o.get(e, n)) !== null ? s : (s = e.getAttribute(n), s === null ? t : s)
1219 },
1220 removeAttr: function(e, t) {
1221 var n, r, i, s, o = 0;
1222 if (t && e.nodeType === 1) {
1223 r = t.split(y);
1224 for (; o < r.length; o++) i = r[o], i && (n = v.propFix[i] || i, s = X.test(i), s || v.attr(e, i, ""), e.removeAttribute(V ? i : n), s && n in e && (e[n] = !1))
1225 }
1226 },
1227 attrHooks: {
1228 type: {
1229 set: function(e, t) {
1230 if (U.test(e.nodeName) && e.parentNode) v.error("type property can't be changed");
1231 else if (!v.support.radioValue && t === "radio" && v.nodeName(e, "input")) {
1232 var n = e.value;
1233 return e.setAttribute("type", t), n && (e.value = n), t
1234 }
1235 }
1236 },
1237 value: {
1238 get: function(e, t) {
1239 return j && v.nodeName(e, "button") ? j.get(e, t) : t in e ? e.value : null
1240 },
1241 set: function(e, t, n) {
1242 if (j && v.nodeName(e, "button")) return j.set(e, t, n);
1243 e.value = t
1244 }
1245 }
1246 },
1247 propFix: {
1248 tabindex: "tabIndex",
1249 readonly: "readOnly",
1250 "for": "htmlFor",
1251 "class": "className",
1252 maxlength: "maxLength",
1253 cellspacing: "cellSpacing",
1254 cellpadding: "cellPadding",
1255 rowspan: "rowSpan",
1256 colspan: "colSpan",
1257 usemap: "useMap",
1258 frameborder: "frameBorder",
1259 contenteditable: "contentEditable"
1260 },
1261 prop: function(e, n, r) {
1262 var i, s, o, u = e.nodeType;
1263 if (!e || u === 3 || u === 8 || u === 2) return;
1264 return o = u !== 1 || !v.isXMLDoc(e), o && (n = v.propFix[n] || n, s = v.propHooks[n]), r !== t ? s && "set" in s && (i = s.set(e, r, n)) !== t ? i : e[n] = r : s && "get" in s && (i = s.get(e, n)) !== null ? i : e[n]
1265 },
1266 propHooks: {
1267 tabIndex: {
1268 get: function(e) {
1269 var n = e.getAttributeNode("tabindex");
1270 return n && n.specified ? parseInt(n.value, 10) : z.test(e.nodeName) || W.test(e.nodeName) && e.href ? 0 : t
1271 }
1272 }
1273 }
1274 }), F = {
1275 get: function(e, n) {
1276 var r, i = v.prop(e, n);
1277 return i === !0 || typeof i != "boolean" && (r = e.getAttributeNode(n)) && r.nodeValue !== !1 ? n.toLowerCase() : t
1278 },
1279 set: function(e, t, n) {
1280 var r;
1281 return t === !1 ? v.removeAttr(e, n) : (r = v.propFix[n] || n, r in e && (e[r] = !0), e.setAttribute(n, n.toLowerCase())), n
1282 }
1283 }, V || (I = {
1284 name: !0,
1285 id: !0,
1286 coords: !0
1287 }, j = v.valHooks.button = {
1288 get: function(e, n) {
1289 var r;
1290 return r = e.getAttributeNode(n), r && (I[n] ? r.value !== "" : r.specified) ? r.value : t
1291 },
1292 set: function(e, t, n) {
1293 var r = e.getAttributeNode(n);
1294 return r || (r = i.createAttribute(n), e.setAttributeNode(r)), r.value = t + ""
1295 }
1296 }, v.each(["width", "height"], function(e, t) {
1297 v.attrHooks[t] = v.extend(v.attrHooks[t], {
1298 set: function(e, n) {
1299 if (n === "") return e.setAttribute(t, "auto"), n
1300 }
1301 })
1302 }), v.attrHooks.contenteditable = {
1303 get: j.get,
1304 set: function(e, t, n) {
1305 t === "" && (t = "false"), j.set(e, t, n)
1306 }
1307 }), v.support.hrefNormalized || v.each(["href", "src", "width", "height"], function(e, n) {
1308 v.attrHooks[n] = v.extend(v.attrHooks[n], {
1309 get: function(e) {
1310 var r = e.getAttribute(n, 2);
1311 return r === null ? t : r
1312 }
1313 })
1314 }), v.support.style || (v.attrHooks.style = {
1315 get: function(e) {
1316 return e.style.cssText.toLowerCase() || t
1317 },
1318 set: function(e, t) {
1319 return e.style.cssText = t + ""
1320 }
1321 }), v.support.optSelected || (v.propHooks.selected = v.extend(v.propHooks.selected, {
1322 get: function(e) {
1323 var t = e.parentNode;
1324 return t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex), null
1325 }
1326 })), v.support.enctype || (v.propFix.enctype = "encoding"), v.support.checkOn || v.each(["radio", "checkbox"], function() {
1327 v.valHooks[this] = {
1328 get: function(e) {
1329 return e.getAttribute("value") === null ? "on" : e.value
1330 }
1331 }
1332 }), v.each(["radio", "checkbox"], function() {
1333 v.valHooks[this] = v.extend(v.valHooks[this], {
1334 set: function(e, t) {
1335 if (v.isArray(t)) return e.checked = v.inArray(v(e).val(), t) >= 0
1336 }
1337 })
1338 });
1339 var $ = /^(?:textarea|input|select)$/i,
1340 J = /^([^\.]*|)(?:\.(.+)|)$/,
1341 K = /(?:^|\s)hover(\.\S+|)\b/,
1342 Q = /^key/,
1343 G = /^(?:mouse|contextmenu)|click/,
1344 Y = /^(?:focusinfocus|focusoutblur)$/,
1345 Z = function(e) {
1346 return v.event.special.hover ? e : e.replace(K, "mouseenter$1 mouseleave$1")
1347 };
1348 v.event = {
1349 add: function(e, n, r, i, s) {
1350 var o, u, a, f, l, c, h, p, d, m, g;
1351 if (e.nodeType === 3 || e.nodeType === 8 || !n || !r || !(o = v._data(e))) return;
1352 r.handler && (d = r, r = d.handler, s = d.selector), r.guid || (r.guid = v.guid++), a = o.events, a || (o.events = a = {}), u = o.handle, u || (o.handle = u = function(e) {
1353 return typeof v == "undefined" || !!e && v.event.triggered === e.type ? t : v.event.dispatch.apply(u.elem, arguments)
1354 }, u.elem = e), n = v.trim(Z(n)).split(" ");
1355 for (f = 0; f < n.length; f++) {
1356 l = J.exec(n[f]) || [], c = l[1], h = (l[2] || "").split(".").sort(), g = v.event.special[c] || {}, c = (s ? g.delegateType : g.bindType) || c, g = v.event.special[c] || {}, p = v.extend({
1357 type: c,
1358 origType: l[1],
1359 data: i,
1360 handler: r,
1361 guid: r.guid,
1362 selector: s,
1363 needsContext: s && v.expr.match.needsContext.test(s),
1364 namespace: h.join(".")
1365 }, d), m = a[c];
1366 if (!m) {
1367 m = a[c] = [], m.delegateCount = 0;
1368 if (!g.setup || g.setup.call(e, i, h, u) === !1) e.addEventListener ? e.addEventListener(c, u, !1) : e.attachEvent && e.attachEvent("on" + c, u)
1369 }
1370 g.add && (g.add.call(e, p), p.handler.guid || (p.handler.guid = r.guid)), s ? m.splice(m.delegateCount++, 0, p) : m.push(p), v.event.global[c] = !0
1371 }
1372 e = null
1373 },
1374 global: {},
1375 remove: function(e, t, n, r, i) {
1376 var s, o, u, a, f, l, c, h, p, d, m, g = v.hasData(e) && v._data(e);
1377 if (!g || !(h = g.events)) return;
1378 t = v.trim(Z(t || "")).split(" ");
1379 for (s = 0; s < t.length; s++) {
1380 o = J.exec(t[s]) || [], u = a = o[1], f = o[2];
1381 if (!u) {
1382 for (u in h) v.event.remove(e, u + t[s], n, r, !0);
1383 continue
1384 }
1385 p = v.event.special[u] || {}, u = (r ? p.delegateType : p.bindType) || u, d = h[u] || [], l = d.length, f = f ? new RegExp("(^|\\.)" + f.split(".").sort().join("\\.(?:.*\\.|)") + "(\\.|$)") : null;
1386 for (c = 0; c < d.length; c++) m = d[c], (i || a === m.origType) && (!n || n.guid === m.guid) && (!f || f.test(m.namespace)) && (!r || r === m.selector || r === "**" && m.selector) && (d.splice(c--, 1), m.selector && d.delegateCount--, p.remove && p.remove.call(e, m));
1387 d.length === 0 && l !== d.length && ((!p.teardown || p.teardown.call(e, f, g.handle) === !1) && v.removeEvent(e, u, g.handle), delete h[u])
1388 }
1389 v.isEmptyObject(h) && (delete g.handle, v.removeData(e, "events", !0))
1390 },
1391 customEvent: {
1392 getData: !0,
1393 setData: !0,
1394 changeData: !0
1395 },
1396 trigger: function(n, r, s, o) {
1397 if (!s || s.nodeType !== 3 && s.nodeType !== 8) {
1398 var u, a, f, l, c, h, p, d, m, g, y = n.type || n,
1399 b = [];
1400 if (Y.test(y + v.event.triggered)) return;
1401 y.indexOf("!") >= 0 && (y = y.slice(0, -1), a = !0), y.indexOf(".") >= 0 && (b = y.split("."), y = b.shift(), b.sort());
1402 if ((!s || v.event.customEvent[y]) && !v.event.global[y]) return;
1403 n = typeof n == "object" ? n[v.expando] ? n : new v.Event(y, n) : new v.Event(y), n.type = y, n.isTrigger = !0, n.exclusive = a, n.namespace = b.join("."), n.namespace_re = n.namespace ? new RegExp("(^|\\.)" + b.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, h = y.indexOf(":") < 0 ? "on" + y : "";
1404 if (!s) {
1405 u = v.cache;
1406 for (f in u) u[f].events && u[f].events[y] && v.event.trigger(n, r, u[f].handle.elem, !0);
1407 return
1408 }
1409 n.result = t, n.target || (n.target = s), r = r != null ? v.makeArray(r) : [], r.unshift(n), p = v.event.special[y] || {};
1410 if (p.trigger && p.trigger.apply(s, r) === !1) return;
1411 m = [
1412 [s, p.bindType || y]
1413 ];
1414 if (!o && !p.noBubble && !v.isWindow(s)) {
1415 g = p.delegateType || y, l = Y.test(g + y) ? s : s.parentNode;
1416 for (c = s; l; l = l.parentNode) m.push([l, g]), c = l;
1417 c === (s.ownerDocument || i) && m.push([c.defaultView || c.parentWindow || e, g])
1418 }
1419 for (f = 0; f < m.length && !n.isPropagationStopped(); f++) l = m[f][0], n.type = m[f][1], d = (v._data(l, "events") || {})[n.type] && v._data(l, "handle"), d && d.apply(l, r), d = h && l[h], d && v.acceptData(l) && d.apply && d.apply(l, r) === !1 && n.preventDefault();
1420 return n.type = y, !o && !n.isDefaultPrevented() && (!p._default || p._default.apply(s.ownerDocument, r) === !1) && (y !== "click" || !v.nodeName(s, "a")) && v.acceptData(s) && h && s[y] && (y !== "focus" && y !== "blur" || n.target.offsetWidth !== 0) && !v.isWindow(s) && (c = s[h], c && (s[h] = null), v.event.triggered = y, s[y](), v.event.triggered = t, c && (s[h] = c)), n.result
1421 }
1422 return
1423 },
1424 dispatch: function(n) {
1425 n = v.event.fix(n || e.event);
1426 var r, i, s, o, u, a, f, c, h, p, d = (v._data(this, "events") || {})[n.type] || [],
1427 m = d.delegateCount,
1428 g = l.call(arguments),
1429 y = !n.exclusive && !n.namespace,
1430 b = v.event.special[n.type] || {},
1431 w = [];
1432 g[0] = n, n.delegateTarget = this;
1433 if (b.preDispatch && b.preDispatch.call(this, n) === !1) return;
1434 if (m && (!n.button || n.type !== "click"))
1435 for (s = n.target; s != this; s = s.parentNode || this)
1436 if (s.disabled !== !0 || n.type !== "click") {
1437 u = {}, f = [];
1438 for (r = 0; r < m; r++) c = d[r], h = c.selector, u[h] === t && (u[h] = c.needsContext ? v(h, this).index(s) >= 0 : v.find(h, this, null, [s]).length), u[h] && f.push(c);
1439 f.length && w.push({
1440 elem: s,
1441 matches: f
1442 })
1443 }
1444 d.length > m && w.push({
1445 elem: this,
1446 matches: d.slice(m)
1447 });
1448 for (r = 0; r < w.length && !n.isPropagationStopped(); r++) {
1449 a = w[r], n.currentTarget = a.elem;
1450 for (i = 0; i < a.matches.length && !n.isImmediatePropagationStopped(); i++) {
1451 c = a.matches[i];
1452 if (y || !n.namespace && !c.namespace || n.namespace_re && n.namespace_re.test(c.namespace)) n.data = c.data, n.handleObj = c, o = ((v.event.special[c.origType] || {}).handle || c.handler).apply(a.elem, g), o !== t && (n.result = o, o === !1 && (n.preventDefault(), n.stopPropagation()))
1453 }
1454 }
1455 return b.postDispatch && b.postDispatch.call(this, n), n.result
1456 },
1457 props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
1458 fixHooks: {},
1459 keyHooks: {
1460 props: "char charCode key keyCode".split(" "),
1461 filter: function(e, t) {
1462 return e.which == null && (e.which = t.charCode != null ? t.charCode : t.keyCode), e
1463 }
1464 },
1465 mouseHooks: {
1466 props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
1467 filter: function(e, n) {
1468 var r, s, o, u = n.button,
1469 a = n.fromElement;
1470 return e.pageX == null && n.clientX != null && (r = e.target.ownerDocument || i, s = r.documentElement, o = r.body, e.pageX = n.clientX + (s && s.scrollLeft || o && o.scrollLeft || 0) - (s && s.clientLeft || o && o.clientLeft || 0), e.pageY = n.clientY + (s && s.scrollTop || o && o.scrollTop || 0) - (s && s.clientTop || o && o.clientTop || 0)), !e.relatedTarget && a && (e.relatedTarget = a === e.target ? n.toElement : a), !e.which && u !== t && (e.which = u & 1 ? 1 : u & 2 ? 3 : u & 4 ? 2 : 0), e
1471 }
1472 },
1473 fix: function(e) {
1474 if (e[v.expando]) return e;
1475 var t, n, r = e,
1476 s = v.event.fixHooks[e.type] || {},
1477 o = s.props ? this.props.concat(s.props) : this.props;
1478 e = v.Event(r);
1479 for (t = o.length; t;) n = o[--t], e[n] = r[n];
1480 return e.target || (e.target = r.srcElement || i), e.target.nodeType === 3 && (e.target = e.target.parentNode), e.metaKey = !!e.metaKey, s.filter ? s.filter(e, r) : e
1481 },
1482 special: {
1483 load: {
1484 noBubble: !0
1485 },
1486 focus: {
1487 delegateType: "focusin"
1488 },
1489 blur: {
1490 delegateType: "focusout"
1491 },
1492 beforeunload: {
1493 setup: function(e, t, n) {
1494 v.isWindow(this) && (this.onbeforeunload = n)
1495 },
1496 teardown: function(e, t) {
1497 this.onbeforeunload === t && (this.onbeforeunload = null)
1498 }
1499 }
1500 },
1501 simulate: function(e, t, n, r) {
1502 var i = v.extend(new v.Event, n, {
1503 type: e,
1504 isSimulated: !0,
1505 originalEvent: {}
1506 });
1507 r ? v.event.trigger(i, null, t) : v.event.dispatch.call(t, i), i.isDefaultPrevented() && n.preventDefault()
1508 }
1509 }, v.event.handle = v.event.dispatch, v.removeEvent = i.removeEventListener ? function(e, t, n) {
1510 e.removeEventListener && e.removeEventListener(t, n, !1)
1511 } : function(e, t, n) {
1512 var r = "on" + t;
1513 e.detachEvent && (typeof e[r] == "undefined" && (e[r] = null), e.detachEvent(r, n))
1514 }, v.Event = function(e, t) {
1515 if (!(this instanceof v.Event)) return new v.Event(e, t);
1516 e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || e.returnValue === !1 || e.getPreventDefault && e.getPreventDefault() ? tt : et) : this.type = e, t && v.extend(this, t), this.timeStamp = e && e.timeStamp || v.now(), this[v.expando] = !0
1517 }, v.Event.prototype = {
1518 preventDefault: function() {
1519 this.isDefaultPrevented = tt;
1520 var e = this.originalEvent;
1521 if (!e) return;
1522 e.preventDefault ? e.preventDefault() : e.returnValue = !1
1523 },
1524 stopPropagation: function() {
1525 this.isPropagationStopped = tt;
1526 var e = this.originalEvent;
1527 if (!e) return;
1528 e.stopPropagation && e.stopPropagation(), e.cancelBubble = !0
1529 },
1530 stopImmediatePropagation: function() {
1531 this.isImmediatePropagationStopped = tt, this.stopPropagation()
1532 },
1533 isDefaultPrevented: et,
1534 isPropagationStopped: et,
1535 isImmediatePropagationStopped: et
1536 }, v.each({
1537 mouseenter: "mouseover",
1538 mouseleave: "mouseout"
1539 }, function(e, t) {
1540 v.event.special[e] = {
1541 delegateType: t,
1542 bindType: t,
1543 handle: function(e) {
1544 var n, r = this,
1545 i = e.relatedTarget,
1546 s = e.handleObj,
1547 o = s.selector;
1548 if (!i || i !== r && !v.contains(r, i)) e.type = s.origType, n = s.handler.apply(this, arguments), e.type = t;
1549 return n
1550 }
1551 }
1552 }), v.support.submitBubbles || (v.event.special.submit = {
1553 setup: function() {
1554 if (v.nodeName(this, "form")) return !1;
1555 v.event.add(this, "click._submit keypress._submit", function(e) {
1556 var n = e.target,
1557 r = v.nodeName(n, "input") || v.nodeName(n, "button") ? n.form : t;
1558 r && !v._data(r, "_submit_attached") && (v.event.add(r, "submit._submit", function(e) {
1559 e._submit_bubble = !0
1560 }), v._data(r, "_submit_attached", !0))
1561 })
1562 },
1563 postDispatch: function(e) {
1564 e._submit_bubble && (delete e._submit_bubble, this.parentNode && !e.isTrigger && v.event.simulate("submit", this.parentNode, e, !0))
1565 },
1566 teardown: function() {
1567 if (v.nodeName(this, "form")) return !1;
1568 v.event.remove(this, "._submit")
1569 }
1570 }), v.support.changeBubbles || (v.event.special.change = {
1571 setup: function() {
1572 if ($.test(this.nodeName)) {
1573 if (this.type === "checkbox" || this.type === "radio") v.event.add(this, "propertychange._change", function(e) {
1574 e.originalEvent.propertyName === "checked" && (this._just_changed = !0)
1575 }), v.event.add(this, "click._change", function(e) {
1576 this._just_changed && !e.isTrigger && (this._just_changed = !1), v.event.simulate("change", this, e, !0)
1577 });
1578 return !1
1579 }
1580 v.event.add(this, "beforeactivate._change", function(e) {
1581 var t = e.target;
1582 $.test(t.nodeName) && !v._data(t, "_change_attached") && (v.event.add(t, "change._change", function(e) {
1583 this.parentNode && !e.isSimulated && !e.isTrigger && v.event.simulate("change", this.parentNode, e, !0)
1584 }), v._data(t, "_change_attached", !0))
1585 })
1586 },
1587 handle: function(e) {
1588 var t = e.target;
1589 if (this !== t || e.isSimulated || e.isTrigger || t.type !== "radio" && t.type !== "checkbox") return e.handleObj.handler.apply(this, arguments)
1590 },
1591 teardown: function() {
1592 return v.event.remove(this, "._change"), !$.test(this.nodeName)
1593 }
1594 }), v.support.focusinBubbles || v.each({
1595 focus: "focusin",
1596 blur: "focusout"
1597 }, function(e, t) {
1598 var n = 0,
1599 r = function(e) {
1600 v.event.simulate(t, e.target, v.event.fix(e), !0)
1601 };
1602 v.event.special[t] = {
1603 setup: function() {
1604 n++ === 0 && i.addEventListener(e, r, !0)
1605 },
1606 teardown: function() {
1607 --n === 0 && i.removeEventListener(e, r, !0)
1608 }
1609 }
1610 }), v.fn.extend({
1611 on: function(e, n, r, i, s) {
1612 var o, u;
1613 if (typeof e == "object") {
1614 typeof n != "string" && (r = r || n, n = t);
1615 for (u in e) this.on(u, n, r, e[u], s);
1616 return this
1617 }
1618 r == null && i == null ? (i = n, r = n = t) : i == null && (typeof n == "string" ? (i = r, r = t) : (i = r, r = n, n = t));
1619 if (i === !1) i = et;
1620 else if (!i) return this;
1621 return s === 1 && (o = i, i = function(e) {
1622 return v().off(e), o.apply(this, arguments)
1623 }, i.guid = o.guid || (o.guid = v.guid++)), this.each(function() {
1624 v.event.add(this, e, i, r, n)
1625 })
1626 },
1627 one: function(e, t, n, r) {
1628 return this.on(e, t, n, r, 1)
1629 },
1630 off: function(e, n, r) {
1631 var i, s;
1632 if (e && e.preventDefault && e.handleObj) return i = e.handleObj, v(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace : i.origType, i.selector, i.handler), this;
1633 if (typeof e == "object") {
1634 for (s in e) this.off(s, n, e[s]);
1635 return this
1636 }
1637 if (n === !1 || typeof n == "function") r = n, n = t;
1638 return r === !1 && (r = et), this.each(function() {
1639 v.event.remove(this, e, r, n)
1640 })
1641 },
1642 bind: function(e, t, n) {
1643 return this.on(e, null, t, n)
1644 },
1645 unbind: function(e, t) {
1646 return this.off(e, null, t)
1647 },
1648 live: function(e, t, n) {
1649 return v(this.context).on(e, this.selector, t, n), this
1650 },
1651 die: function(e, t) {
1652 return v(this.context).off(e, this.selector || "**", t), this
1653 },
1654 delegate: function(e, t, n, r) {
1655 return this.on(t, e, n, r)
1656 },
1657 undelegate: function(e, t, n) {
1658 return arguments.length === 1 ? this.off(e, "**") : this.off(t, e || "**", n)
1659 },
1660 trigger: function(e, t) {
1661 return this.each(function() {
1662 v.event.trigger(e, t, this)
1663 })
1664 },
1665 triggerHandler: function(e, t) {
1666 if (this[0]) return v.event.trigger(e, t, this[0], !0)
1667 },
1668 toggle: function(e) {
1669 var t = arguments,
1670 n = e.guid || v.guid++,
1671 r = 0,
1672 i = function(n) {
1673 var i = (v._data(this, "lastToggle" + e.guid) || 0) % r;
1674 return v._data(this, "lastToggle" + e.guid, i + 1), n.preventDefault(), t[i].apply(this, arguments) || !1
1675 };
1676 i.guid = n;
1677 while (r < t.length) t[r++].guid = n;
1678 return this.click(i)
1679 },
1680 hover: function(e, t) {
1681 return this.mouseenter(e).mouseleave(t || e)
1682 }
1683 }), v.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function(e, t) {
1684 v.fn[t] = function(e, n) {
1685 return n == null && (n = e, e = null), arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t)
1686 }, Q.test(t) && (v.event.fixHooks[t] = v.event.keyHooks), G.test(t) && (v.event.fixHooks[t] = v.event.mouseHooks)
1687 }),
1688 function(e, t) {
1689 function nt(e, t, n, r) {
1690 n = n || [], t = t || g;
1691 var i, s, a, f, l = t.nodeType;
1692 if (!e || typeof e != "string") return n;
1693 if (l !== 1 && l !== 9) return [];
1694 a = o(t);
1695 if (!a && !r)
1696 if (i = R.exec(e))
1697 if (f = i[1]) {
1698 if (l === 9) {
1699 s = t.getElementById(f);
1700 if (!s || !s.parentNode) return n;
1701 if (s.id === f) return n.push(s), n
1702 } else if (t.ownerDocument && (s = t.ownerDocument.getElementById(f)) && u(t, s) && s.id === f) return n.push(s), n
1703 } else {
1704 if (i[2]) return S.apply(n, x.call(t.getElementsByTagName(e), 0)), n;
1705 if ((f = i[3]) && Z && t.getElementsByClassName) return S.apply(n, x.call(t.getElementsByClassName(f), 0)), n
1706 }
1707 return vt(e.replace(j, "$1"), t, n, r, a)
1708 }
1709
1710 function rt(e) {
1711 return function(t) {
1712 var n = t.nodeName.toLowerCase();
1713 return n === "input" && t.type === e
1714 }
1715 }
1716
1717 function it(e) {
1718 return function(t) {
1719 var n = t.nodeName.toLowerCase();
1720 return (n === "input" || n === "button") && t.type === e
1721 }
1722 }
1723
1724 function st(e) {
1725 return N(function(t) {
1726 return t = +t, N(function(n, r) {
1727 var i, s = e([], n.length, t),
1728 o = s.length;
1729 while (o--) n[i = s[o]] && (n[i] = !(r[i] = n[i]))
1730 })
1731 })
1732 }
1733
1734 function ot(e, t, n) {
1735 if (e === t) return n;
1736 var r = e.nextSibling;
1737 while (r) {
1738 if (r === t) return -1;
1739 r = r.nextSibling
1740 }
1741 return 1
1742 }
1743
1744 function ut(e, t) {
1745 var n, r, s, o, u, a, f, l = L[d][e + " "];
1746 if (l) return t ? 0 : l.slice(0);
1747 u = e, a = [], f = i.preFilter;
1748 while (u) {
1749 if (!n || (r = F.exec(u))) r && (u = u.slice(r[0].length) || u), a.push(s = []);
1750 n = !1;
1751 if (r = I.exec(u)) s.push(n = new m(r.shift())), u = u.slice(n.length), n.type = r[0].replace(j, " ");
1752 for (o in i.filter)(r = J[o].exec(u)) && (!f[o] || (r = f[o](r))) && (s.push(n = new m(r.shift())), u = u.slice(n.length), n.type = o, n.matches = r);
1753 if (!n) break
1754 }
1755 return t ? u.length : u ? nt.error(e) : L(e, a).slice(0)
1756 }
1757
1758 function at(e, t, r) {
1759 var i = t.dir,
1760 s = r && t.dir === "parentNode",
1761 o = w++;
1762 return t.first ? function(t, n, r) {
1763 while (t = t[i])
1764 if (s || t.nodeType === 1) return e(t, n, r)
1765 } : function(t, r, u) {
1766 if (!u) {
1767 var a, f = b + " " + o + " ",
1768 l = f + n;
1769 while (t = t[i])
1770 if (s || t.nodeType === 1) {
1771 if ((a = t[d]) === l) return t.sizset;
1772 if (typeof a == "string" && a.indexOf(f) === 0) {
1773 if (t.sizset) return t
1774 } else {
1775 t[d] = l;
1776 if (e(t, r, u)) return t.sizset = !0, t;
1777 t.sizset = !1
1778 }
1779 }
1780 } else
1781 while (t = t[i])
1782 if (s || t.nodeType === 1)
1783 if (e(t, r, u)) return t
1784 }
1785 }
1786
1787 function ft(e) {
1788 return e.length > 1 ? function(t, n, r) {
1789 var i = e.length;
1790 while (i--)
1791 if (!e[i](t, n, r)) return !1;
1792 return !0
1793 } : e[0]
1794 }
1795
1796 function lt(e, t, n, r, i) {
1797 var s, o = [],
1798 u = 0,
1799 a = e.length,
1800 f = t != null;
1801 for (; u < a; u++)
1802 if (s = e[u])
1803 if (!n || n(s, r, i)) o.push(s), f && t.push(u);
1804 return o
1805 }
1806
1807 function ct(e, t, n, r, i, s) {
1808 return r && !r[d] && (r = ct(r)), i && !i[d] && (i = ct(i, s)), N(function(s, o, u, a) {
1809 var f, l, c, h = [],
1810 p = [],
1811 d = o.length,
1812 v = s || dt(t || "*", u.nodeType ? [u] : u, []),
1813 m = e && (s || !t) ? lt(v, h, e, u, a) : v,
1814 g = n ? i || (s ? e : d || r) ? [] : o : m;
1815 n && n(m, g, u, a);
1816 if (r) {
1817 f = lt(g, p), r(f, [], u, a), l = f.length;
1818 while (l--)
1819 if (c = f[l]) g[p[l]] = !(m[p[l]] = c)
1820 }
1821 if (s) {
1822 if (i || e) {
1823 if (i) {
1824 f = [], l = g.length;
1825 while (l--)(c = g[l]) && f.push(m[l] = c);
1826 i(null, g = [], f, a)
1827 }
1828 l = g.length;
1829 while (l--)(c = g[l]) && (f = i ? T.call(s, c) : h[l]) > -1 && (s[f] = !(o[f] = c))
1830 }
1831 } else g = lt(g === o ? g.splice(d, g.length) : g), i ? i(null, o, g, a) : S.apply(o, g)
1832 })
1833 }
1834
1835 function ht(e) {
1836 var t, n, r, s = e.length,
1837 o = i.relative[e[0].type],
1838 u = o || i.relative[" "],
1839 a = o ? 1 : 0,
1840 f = at(function(e) {
1841 return e === t
1842 }, u, !0),
1843 l = at(function(e) {
1844 return T.call(t, e) > -1
1845 }, u, !0),
1846 h = [
1847 function(e, n, r) {
1848 return !o && (r || n !== c) || ((t = n).nodeType ? f(e, n, r) : l(e, n, r))
1849 }
1850 ];
1851 for (; a < s; a++)
1852 if (n = i.relative[e[a].type]) h = [at(ft(h), n)];
1853 else {
1854 n = i.filter[e[a].type].apply(null, e[a].matches);
1855 if (n[d]) {
1856 r = ++a;
1857 for (; r < s; r++)
1858 if (i.relative[e[r].type]) break;
1859 return ct(a > 1 && ft(h), a > 1 && e.slice(0, a - 1).join("").replace(j, "$1"), n, a < r && ht(e.slice(a, r)), r < s && ht(e = e.slice(r)), r < s && e.join(""))
1860 }
1861 h.push(n)
1862 }
1863 return ft(h)
1864 }
1865
1866 function pt(e, t) {
1867 var r = t.length > 0,
1868 s = e.length > 0,
1869 o = function(u, a, f, l, h) {
1870 var p, d, v, m = [],
1871 y = 0,
1872 w = "0",
1873 x = u && [],
1874 T = h != null,
1875 N = c,
1876 C = u || s && i.find.TAG("*", h && a.parentNode || a),
1877 k = b += N == null ? 1 : Math.E;
1878 T && (c = a !== g && a, n = o.el);
1879 for (;
1880 (p = C[w]) != null; w++) {
1881 if (s && p) {
1882 for (d = 0; v = e[d]; d++)
1883 if (v(p, a, f)) {
1884 l.push(p);
1885 break
1886 }
1887 T && (b = k, n = ++o.el)
1888 }
1889 r && ((p = !v && p) && y--, u && x.push(p))
1890 }
1891 y += w;
1892 if (r && w !== y) {
1893 for (d = 0; v = t[d]; d++) v(x, m, a, f);
1894 if (u) {
1895 if (y > 0)
1896 while (w--)!x[w] && !m[w] && (m[w] = E.call(l));
1897 m = lt(m)
1898 }
1899 S.apply(l, m), T && !u && m.length > 0 && y + t.length > 1 && nt.uniqueSort(l)
1900 }
1901 return T && (b = k, c = N), x
1902 };
1903 return o.el = 0, r ? N(o) : o
1904 }
1905
1906 function dt(e, t, n) {
1907 var r = 0,
1908 i = t.length;
1909 for (; r < i; r++) nt(e, t[r], n);
1910 return n
1911 }
1912
1913 function vt(e, t, n, r, s) {
1914 var o, u, f, l, c, h = ut(e),
1915 p = h.length;
1916 if (!r && h.length === 1) {
1917 u = h[0] = h[0].slice(0);
1918 if (u.length > 2 && (f = u[0]).type === "ID" && t.nodeType === 9 && !s && i.relative[u[1].type]) {
1919 t = i.find.ID(f.matches[0].replace($, ""), t, s)[0];
1920 if (!t) return n;
1921 e = e.slice(u.shift().length)
1922 }
1923 for (o = J.POS.test(e) ? -1 : u.length - 1; o >= 0; o--) {
1924 f = u[o];
1925 if (i.relative[l = f.type]) break;
1926 if (c = i.find[l])
1927 if (r = c(f.matches[0].replace($, ""), z.test(u[0].type) && t.parentNode || t, s)) {
1928 u.splice(o, 1), e = r.length && u.join("");
1929 if (!e) return S.apply(n, x.call(r, 0)), n;
1930 break
1931 }
1932 }
1933 }
1934 return a(e, h)(r, t, s, n, z.test(e)), n
1935 }
1936
1937 function mt() {}
1938 var n, r, i, s, o, u, a, f, l, c, h = !0,
1939 p = "undefined",
1940 d = ("sizcache" + Math.random()).replace(".", ""),
1941 m = String,
1942 g = e.document,
1943 y = g.documentElement,
1944 b = 0,
1945 w = 0,
1946 E = [].pop,
1947 S = [].push,
1948 x = [].slice,
1949 T = [].indexOf || function(e) {
1950 var t = 0,
1951 n = this.length;
1952 for (; t < n; t++)
1953 if (this[t] === e) return t;
1954 return -1
1955 },
1956 N = function(e, t) {
1957 return e[d] = t == null || t, e
1958 },
1959 C = function() {
1960 var e = {},
1961 t = [];
1962 return N(function(n, r) {
1963 return t.push(n) > i.cacheLength && delete e[t.shift()], e[n + " "] = r
1964 }, e)
1965 },
1966 k = C(),
1967 L = C(),
1968 A = C(),
1969 O = "[\\x20\\t\\r\\n\\f]",
1970 M = "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",
1971 _ = M.replace("w", "w#"),
1972 D = "([*^$|!~]?=)",
1973 P = "\\[" + O + "*(" + M + ")" + O + "*(?:" + D + O + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + _ + ")|)|)" + O + "*\\]",
1974 H = ":(" + M + ")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:" + P + ")|[^:]|\\\\.)*|.*))\\)|)",
1975 B = ":(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + O + "*((?:-\\d)?\\d*)" + O + "*\\)|)(?=[^-]|$)",
1976 j = new RegExp("^" + O + "+|((?:^|[^\\\\])(?:\\\\.)*)" + O + "+$", "g"),
1977 F = new RegExp("^" + O + "*," + O + "*"),
1978 I = new RegExp("^" + O + "*([\\x20\\t\\r\\n\\f>+~])" + O + "*"),
1979 q = new RegExp(H),
1980 R = /^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,
1981 U = /^:not/,
1982 z = /[\x20\t\r\n\f]*[+~]/,
1983 W = /:not\($/,
1984 X = /h\d/i,
1985 V = /input|select|textarea|button/i,
1986 $ = /\\(?!\\)/g,
1987 J = {
1988 ID: new RegExp("^#(" + M + ")"),
1989 CLASS: new RegExp("^\\.(" + M + ")"),
1990 NAME: new RegExp("^\\[name=['\"]?(" + M + ")['\"]?\\]"),
1991 TAG: new RegExp("^(" + M.replace("w", "w*") + ")"),
1992 ATTR: new RegExp("^" + P),
1993 PSEUDO: new RegExp("^" + H),
1994 POS: new RegExp(B, "i"),
1995 CHILD: new RegExp("^:(only|nth|first|last)-child(?:\\(" + O + "*(even|odd|(([+-]|)(\\d*)n|)" + O + "*(?:([+-]|)" + O + "*(\\d+)|))" + O + "*\\)|)", "i"),
1996 needsContext: new RegExp("^" + O + "*[>+~]|" + B, "i")
1997 },
1998 K = function(e) {
1999 var t = g.createElement("div");
2000 try {
2001 return e(t)
2002 } catch (n) {
2003 return !1
2004 } finally {
2005 t = null
2006 }
2007 },
2008 Q = K(function(e) {
2009 return e.appendChild(g.createComment("")), !e.getElementsByTagName("*").length
2010 }),
2011 G = K(function(e) {
2012 return e.innerHTML = "<a href='#'></a>", e.firstChild && typeof e.firstChild.getAttribute !== p && e.firstChild.getAttribute("href") === "#"
2013 }),
2014 Y = K(function(e) {
2015 e.innerHTML = "<select></select>";
2016 var t = typeof e.lastChild.getAttribute("multiple");
2017 return t !== "boolean" && t !== "string"
2018 }),
2019 Z = K(function(e) {
2020 return e.innerHTML = "<div class='hidden e'></div><div class='hidden'></div>", !e.getElementsByClassName || !e.getElementsByClassName("e").length ? !1 : (e.lastChild.className = "e", e.getElementsByClassName("e").length === 2)
2021 }),
2022 et = K(function(e) {
2023 e.id = d + 0, e.innerHTML = "<a name='" + d + "'></a><div name='" + d + "'></div>", y.insertBefore(e, y.firstChild);
2024 var t = g.getElementsByName && g.getElementsByName(d).length === 2 + g.getElementsByName(d + 0).length;
2025 return r = !g.getElementById(d), y.removeChild(e), t
2026 });
2027 try {
2028 x.call(y.childNodes, 0)[0].nodeType
2029 } catch (tt) {
2030 x = function(e) {
2031 var t, n = [];
2032 for (; t = this[e]; e++) n.push(t);
2033 return n
2034 }
2035 }
2036 nt.matches = function(e, t) {
2037 return nt(e, null, null, t)
2038 }, nt.matchesSelector = function(e, t) {
2039 return nt(t, null, null, [e]).length > 0
2040 }, s = nt.getText = function(e) {
2041 var t, n = "",
2042 r = 0,
2043 i = e.nodeType;
2044 if (i) {
2045 if (i === 1 || i === 9 || i === 11) {
2046 if (typeof e.textContent == "string") return e.textContent;
2047 for (e = e.firstChild; e; e = e.nextSibling) n += s(e)
2048 } else if (i === 3 || i === 4) return e.nodeValue
2049 } else
2050 for (; t = e[r]; r++) n += s(t);
2051 return n
2052 }, o = nt.isXML = function(e) {
2053 var t = e && (e.ownerDocument || e).documentElement;
2054 return t ? t.nodeName !== "HTML" : !1
2055 }, u = nt.contains = y.contains ? function(e, t) {
2056 var n = e.nodeType === 9 ? e.documentElement : e,
2057 r = t && t.parentNode;
2058 return e === r || !!(r && r.nodeType === 1 && n.contains && n.contains(r))
2059 } : y.compareDocumentPosition ? function(e, t) {
2060 return t && !!(e.compareDocumentPosition(t) & 16)
2061 } : function(e, t) {
2062 while (t = t.parentNode)
2063 if (t === e) return !0;
2064 return !1
2065 }, nt.attr = function(e, t) {
2066 var n, r = o(e);
2067 return r || (t = t.toLowerCase()), (n = i.attrHandle[t]) ? n(e) : r || Y ? e.getAttribute(t) : (n = e.getAttributeNode(t), n ? typeof e[t] == "boolean" ? e[t] ? t : null : n.specified ? n.value : null : null)
2068 }, i = nt.selectors = {
2069 cacheLength: 50,
2070 createPseudo: N,
2071 match: J,
2072 attrHandle: G ? {} : {
2073 href: function(e) {
2074 return e.getAttribute("href", 2)
2075 },
2076 type: function(e) {
2077 return e.getAttribute("type")
2078 }
2079 },
2080 find: {
2081 ID: r ? function(e, t, n) {
2082 if (typeof t.getElementById !== p && !n) {
2083 var r = t.getElementById(e);
2084 return r && r.parentNode ? [r] : []
2085 }
2086 } : function(e, n, r) {
2087 if (typeof n.getElementById !== p && !r) {
2088 var i = n.getElementById(e);
2089 return i ? i.id === e || typeof i.getAttributeNode !== p && i.getAttributeNode("id").value === e ? [i] : t : []
2090 }
2091 },
2092 TAG: Q ? function(e, t) {
2093 if (typeof t.getElementsByTagName !== p) return t.getElementsByTagName(e)
2094 } : function(e, t) {
2095 var n = t.getElementsByTagName(e);
2096 if (e === "*") {
2097 var r, i = [],
2098 s = 0;
2099 for (; r = n[s]; s++) r.nodeType === 1 && i.push(r);
2100 return i
2101 }
2102 return n
2103 },
2104 NAME: et && function(e, t) {
2105 if (typeof t.getElementsByName !== p) return t.getElementsByName(name)
2106 },
2107 CLASS: Z && function(e, t, n) {
2108 if (typeof t.getElementsByClassName !== p && !n) return t.getElementsByClassName(e)
2109 }
2110 },
2111 relative: {
2112 ">": {
2113 dir: "parentNode",
2114 first: !0
2115 },
2116 " ": {
2117 dir: "parentNode"
2118 },
2119 "+": {
2120 dir: "previousSibling",
2121 first: !0
2122 },
2123 "~": {
2124 dir: "previousSibling"
2125 }
2126 },
2127 preFilter: {
2128 ATTR: function(e) {
2129 return e[1] = e[1].replace($, ""), e[3] = (e[4] || e[5] || "").replace($, ""), e[2] === "~=" && (e[3] = " " + e[3] + " "), e.slice(0, 4)
2130 },
2131 CHILD: function(e) {
2132 return e[1] = e[1].toLowerCase(), e[1] === "nth" ? (e[2] || nt.error(e[0]), e[3] = +(e[3] ? e[4] + (e[5] || 1) : 2 * (e[2] === "even" || e[2] === "odd")), e[4] = +(e[6] + e[7] || e[2] === "odd")) : e[2] && nt.error(e[0]), e
2133 },
2134 PSEUDO: function(e) {
2135 var t, n;
2136 if (J.CHILD.test(e[0])) return null;
2137 if (e[3]) e[2] = e[3];
2138 else if (t = e[4]) q.test(t) && (n = ut(t, !0)) && (n = t.indexOf(")", t.length - n) - t.length) && (t = t.slice(0, n), e[0] = e[0].slice(0, n)), e[2] = t;
2139 return e.slice(0, 3)
2140 }
2141 },
2142 filter: {
2143 ID: r ? function(e) {
2144 return e = e.replace($, ""),
2145 function(t) {
2146 return t.getAttribute("id") === e
2147 }
2148 } : function(e) {
2149 return e = e.replace($, ""),
2150 function(t) {
2151 var n = typeof t.getAttributeNode !== p && t.getAttributeNode("id");
2152 return n && n.value === e
2153 }
2154 },
2155 TAG: function(e) {
2156 return e === "*" ? function() {
2157 return !0
2158 } : (e = e.replace($, "").toLowerCase(), function(t) {
2159 return t.nodeName && t.nodeName.toLowerCase() === e
2160 })
2161 },
2162 CLASS: function(e) {
2163 var t = k[d][e + " "];
2164 return t || (t = new RegExp("(^|" + O + ")" + e + "(" + O + "|$)")) && k(e, function(e) {
2165 return t.test(e.className || typeof e.getAttribute !== p && e.getAttribute("class") || "")
2166 })
2167 },
2168 ATTR: function(e, t, n) {
2169 return function(r, i) {
2170 var s = nt.attr(r, e);
2171 return s == null ? t === "!=" : t ? (s += "", t === "=" ? s === n : t === "!=" ? s !== n : t === "^=" ? n && s.indexOf(n) === 0 : t === "*=" ? n && s.indexOf(n) > -1 : t === "$=" ? n && s.substr(s.length - n.length) === n : t === "~=" ? (" " + s + " ").indexOf(n) > -1 : t === "|=" ? s === n || s.substr(0, n.length + 1) === n + "-" : !1) : !0
2172 }
2173 },
2174 CHILD: function(e, t, n, r) {
2175 return e === "nth" ? function(e) {
2176 var t, i, s = e.parentNode;
2177 if (n === 1 && r === 0) return !0;
2178 if (s) {
2179 i = 0;
2180 for (t = s.firstChild; t; t = t.nextSibling)
2181 if (t.nodeType === 1) {
2182 i++;
2183 if (e === t) break
2184 }
2185 }
2186 return i -= r, i === n || i % n === 0 && i / n >= 0
2187 } : function(t) {
2188 var n = t;
2189 switch (e) {
2190 case "only":
2191 case "first":
2192 while (n = n.previousSibling)
2193 if (n.nodeType === 1) return !1;
2194 if (e === "first") return !0;
2195 n = t;
2196 case "last":
2197 while (n = n.nextSibling)
2198 if (n.nodeType === 1) return !1;
2199 return !0
2200 }
2201 }
2202 },
2203 PSEUDO: function(e, t) {
2204 var n, r = i.pseudos[e] || i.setFilters[e.toLowerCase()] || nt.error("unsupported pseudo: " + e);
2205 return r[d] ? r(t) : r.length > 1 ? (n = [e, e, "", t], i.setFilters.hasOwnProperty(e.toLowerCase()) ? N(function(e, n) {
2206 var i, s = r(e, t),
2207 o = s.length;
2208 while (o--) i = T.call(e, s[o]), e[i] = !(n[i] = s[o])
2209 }) : function(e) {
2210 return r(e, 0, n)
2211 }) : r
2212 }
2213 },
2214 pseudos: {
2215 not: N(function(e) {
2216 var t = [],
2217 n = [],
2218 r = a(e.replace(j, "$1"));
2219 return r[d] ? N(function(e, t, n, i) {
2220 var s, o = r(e, null, i, []),
2221 u = e.length;
2222 while (u--)
2223 if (s = o[u]) e[u] = !(t[u] = s)
2224 }) : function(e, i, s) {
2225 return t[0] = e, r(t, null, s, n), !n.pop()
2226 }
2227 }),
2228 has: N(function(e) {
2229 return function(t) {
2230 return nt(e, t).length > 0
2231 }
2232 }),
2233 contains: N(function(e) {
2234 return function(t) {
2235 return (t.textContent || t.innerText || s(t)).indexOf(e) > -1
2236 }
2237 }),
2238 enabled: function(e) {
2239 return e.disabled === !1
2240 },
2241 disabled: function(e) {
2242 return e.disabled === !0
2243 },
2244 checked: function(e) {
2245 var t = e.nodeName.toLowerCase();
2246 return t === "input" && !!e.checked || t === "option" && !!e.selected
2247 },
2248 selected: function(e) {
2249 return e.parentNode && e.parentNode.selectedIndex, e.selected === !0
2250 },
2251 parent: function(e) {
2252 return !i.pseudos.empty(e)
2253 },
2254 empty: function(e) {
2255 var t;
2256 e = e.firstChild;
2257 while (e) {
2258 if (e.nodeName > "@" || (t = e.nodeType) === 3 || t === 4) return !1;
2259 e = e.nextSibling
2260 }
2261 return !0
2262 },
2263 header: function(e) {
2264 return X.test(e.nodeName)
2265 },
2266 text: function(e) {
2267 var t, n;
2268 return e.nodeName.toLowerCase() === "input" && (t = e.type) === "text" && ((n = e.getAttribute("type")) == null || n.toLowerCase() === t)
2269 },
2270 radio: rt("radio"),
2271 checkbox: rt("checkbox"),
2272 file: rt("file"),
2273 password: rt("password"),
2274 image: rt("image"),
2275 submit: it("submit"),
2276 reset: it("reset"),
2277 button: function(e) {
2278 var t = e.nodeName.toLowerCase();
2279 return t === "input" && e.type === "button" || t === "button"
2280 },
2281 input: function(e) {
2282 return V.test(e.nodeName)
2283 },
2284 focus: function(e) {
2285 var t = e.ownerDocument;
2286 return e === t.activeElement && (!t.hasFocus || t.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
2287 },
2288 active: function(e) {
2289 return e === e.ownerDocument.activeElement
2290 },
2291 first: st(function() {
2292 return [0]
2293 }),
2294 last: st(function(e, t) {
2295 return [t - 1]
2296 }),
2297 eq: st(function(e, t, n) {
2298 return [n < 0 ? n + t : n]
2299 }),
2300 even: st(function(e, t) {
2301 for (var n = 0; n < t; n += 2) e.push(n);
2302 return e
2303 }),
2304 odd: st(function(e, t) {
2305 for (var n = 1; n < t; n += 2) e.push(n);
2306 return e
2307 }),
2308 lt: st(function(e, t, n) {
2309 for (var r = n < 0 ? n + t : n; --r >= 0;) e.push(r);
2310 return e
2311 }),
2312 gt: st(function(e, t, n) {
2313 for (var r = n < 0 ? n + t : n; ++r < t;) e.push(r);
2314 return e
2315 })
2316 }
2317 }, f = y.compareDocumentPosition ? function(e, t) {
2318 return e === t ? (l = !0, 0) : (!e.compareDocumentPosition || !t.compareDocumentPosition ? e.compareDocumentPosition : e.compareDocumentPosition(t) & 4) ? -1 : 1
2319 } : function(e, t) {
2320 if (e === t) return l = !0, 0;
2321 if (e.sourceIndex && t.sourceIndex) return e.sourceIndex - t.sourceIndex;
2322 var n, r, i = [],
2323 s = [],
2324 o = e.parentNode,
2325 u = t.parentNode,
2326 a = o;
2327 if (o === u) return ot(e, t);
2328 if (!o) return -1;
2329 if (!u) return 1;
2330 while (a) i.unshift(a), a = a.parentNode;
2331 a = u;
2332 while (a) s.unshift(a), a = a.parentNode;
2333 n = i.length, r = s.length;
2334 for (var f = 0; f < n && f < r; f++)
2335 if (i[f] !== s[f]) return ot(i[f], s[f]);
2336 return f === n ? ot(e, s[f], -1) : ot(i[f], t, 1)
2337 }, [0, 0].sort(f), h = !l, nt.uniqueSort = function(e) {
2338 var t, n = [],
2339 r = 1,
2340 i = 0;
2341 l = h, e.sort(f);
2342 if (l) {
2343 for (; t = e[r]; r++) t === e[r - 1] && (i = n.push(r));
2344 while (i--) e.splice(n[i], 1)
2345 }
2346 return e
2347 }, nt.error = function(e) {
2348 throw new Error("Syntax error, unrecognized expression: " + e)
2349 }, a = nt.compile = function(e, t) {
2350 var n, r = [],
2351 i = [],
2352 s = A[d][e + " "];
2353 if (!s) {
2354 t || (t = ut(e)), n = t.length;
2355 while (n--) s = ht(t[n]), s[d] ? r.push(s) : i.push(s);
2356 s = A(e, pt(i, r))
2357 }
2358 return s
2359 }, g.querySelectorAll && function() {
2360 var e, t = vt,
2361 n = /'|\\/g,
2362 r = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,
2363 i = [":focus"],
2364 s = [":active"],
2365 u = y.matchesSelector || y.mozMatchesSelector || y.webkitMatchesSelector || y.oMatchesSelector || y.msMatchesSelector;
2366 K(function(e) {
2367 e.innerHTML = "<select><option selected=''></option></select>", e.querySelectorAll("[selected]").length || i.push("\\[" + O + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)"), e.querySelectorAll(":checked").length || i.push(":checked")
2368 }), K(function(e) {
2369 e.innerHTML = "<p test=''></p>", e.querySelectorAll("[test^='']").length && i.push("[*^$]=" + O + "*(?:\"\"|'')"), e.innerHTML = "<input type='hidden'/>", e.querySelectorAll(":enabled").length || i.push(":enabled", ":disabled")
2370 }), i = new RegExp(i.join("|")), vt = function(e, r, s, o, u) {
2371 if (!o && !u && !i.test(e)) {
2372 var a, f, l = !0,
2373 c = d,
2374 h = r,
2375 p = r.nodeType === 9 && e;
2376 if (r.nodeType === 1 && r.nodeName.toLowerCase() !== "object") {
2377 a = ut(e), (l = r.getAttribute("id")) ? c = l.replace(n, "\\$&") : r.setAttribute("id", c), c = "[id='" + c + "'] ", f = a.length;
2378 while (f--) a[f] = c + a[f].join("");
2379 h = z.test(e) && r.parentNode || r, p = a.join(",")
2380 }
2381 if (p) try {
2382 return S.apply(s, x.call(h.querySelectorAll(p), 0)), s
2383 } catch (v) {} finally {
2384 l || r.removeAttribute("id")
2385 }
2386 }
2387 return t(e, r, s, o, u)
2388 }, u && (K(function(t) {
2389 e = u.call(t, "div");
2390 try {
2391 u.call(t, "[test!='']:sizzle"), s.push("!=", H)
2392 } catch (n) {}
2393 }), s = new RegExp(s.join("|")), nt.matchesSelector = function(t, n) {
2394 n = n.replace(r, "='$1']");
2395 if (!o(t) && !s.test(n) && !i.test(n)) try {
2396 var a = u.call(t, n);
2397 if (a || e || t.document && t.document.nodeType !== 11) return a
2398 } catch (f) {}
2399 return nt(n, null, null, [t]).length > 0
2400 })
2401 }(), i.pseudos.nth = i.pseudos.eq, i.filters = mt.prototype = i.pseudos, i.setFilters = new mt, nt.attr = v.attr, v.find = nt, v.expr = nt.selectors, v.expr[":"] = v.expr.pseudos, v.unique = nt.uniqueSort, v.text = nt.getText, v.isXMLDoc = nt.isXML, v.contains = nt.contains
2402 }(e);
2403 var nt = /Until$/,
2404 rt = /^(?:parents|prev(?:Until|All))/,
2405 it = /^.[^:#\[\.,]*$/,
2406 st = v.expr.match.needsContext,
2407 ot = {
2408 children: !0,
2409 contents: !0,
2410 next: !0,
2411 prev: !0
2412 };
2413 v.fn.extend({
2414 find: function(e) {
2415 var t, n, r, i, s, o, u = this;
2416 if (typeof e != "string") return v(e).filter(function() {
2417 for (t = 0, n = u.length; t < n; t++)
2418 if (v.contains(u[t], this)) return !0
2419 });
2420 o = this.pushStack("", "find", e);
2421 for (t = 0, n = this.length; t < n; t++) {
2422 r = o.length, v.find(e, this[t], o);
2423 if (t > 0)
2424 for (i = r; i < o.length; i++)
2425 for (s = 0; s < r; s++)
2426 if (o[s] === o[i]) {
2427 o.splice(i--, 1);
2428 break
2429 }
2430 }
2431 return o
2432 },
2433 has: function(e) {
2434 var t, n = v(e, this),
2435 r = n.length;
2436 return this.filter(function() {
2437 for (t = 0; t < r; t++)
2438 if (v.contains(this, n[t])) return !0
2439 })
2440 },
2441 not: function(e) {
2442 return this.pushStack(ft(this, e, !1), "not", e)
2443 },
2444 filter: function(e) {
2445 return this.pushStack(ft(this, e, !0), "filter", e)
2446 },
2447 is: function(e) {
2448 return !!e && (typeof e == "string" ? st.test(e) ? v(e, this.context).index(this[0]) >= 0 : v.filter(e, this).length > 0 : this.filter(e).length > 0)
2449 },
2450 closest: function(e, t) {
2451 var n, r = 0,
2452 i = this.length,
2453 s = [],
2454 o = st.test(e) || typeof e != "string" ? v(e, t || this.context) : 0;
2455 for (; r < i; r++) {
2456 n = this[r];
2457 while (n && n.ownerDocument && n !== t && n.nodeType !== 11) {
2458 if (o ? o.index(n) > -1 : v.find.matchesSelector(n, e)) {
2459 s.push(n);
2460 break
2461 }
2462 n = n.parentNode
2463 }
2464 }
2465 return s = s.length > 1 ? v.unique(s) : s, this.pushStack(s, "closest", e)
2466 },
2467 index: function(e) {
2468 return e ? typeof e == "string" ? v.inArray(this[0], v(e)) : v.inArray(e.jquery ? e[0] : e, this) : this[0] && this[0].parentNode ? this.prevAll().length : -1
2469 },
2470 add: function(e, t) {
2471 var n = typeof e == "string" ? v(e, t) : v.makeArray(e && e.nodeType ? [e] : e),
2472 r = v.merge(this.get(), n);
2473 return this.pushStack(ut(n[0]) || ut(r[0]) ? r : v.unique(r))
2474 },
2475 addBack: function(e) {
2476 return this.add(e == null ? this.prevObject : this.prevObject.filter(e))
2477 }
2478 }), v.fn.andSelf = v.fn.addBack, v.each({
2479 parent: function(e) {
2480 var t = e.parentNode;
2481 return t && t.nodeType !== 11 ? t : null
2482 },
2483 parents: function(e) {
2484 return v.dir(e, "parentNode")
2485 },
2486 parentsUntil: function(e, t, n) {
2487 return v.dir(e, "parentNode", n)
2488 },
2489 next: function(e) {
2490 return at(e, "nextSibling")
2491 },
2492 prev: function(e) {
2493 return at(e, "previousSibling")
2494 },
2495 nextAll: function(e) {
2496 return v.dir(e, "nextSibling")
2497 },
2498 prevAll: function(e) {
2499 return v.dir(e, "previousSibling")
2500 },
2501 nextUntil: function(e, t, n) {
2502 return v.dir(e, "nextSibling", n)
2503 },
2504 prevUntil: function(e, t, n) {
2505 return v.dir(e, "previousSibling", n)
2506 },
2507 siblings: function(e) {
2508 return v.sibling((e.parentNode || {}).firstChild, e)
2509 },
2510 children: function(e) {
2511 return v.sibling(e.firstChild)
2512 },
2513 contents: function(e) {
2514 return v.nodeName(e, "iframe") ? e.contentDocument || e.contentWindow.document : v.merge([], e.childNodes)
2515 }
2516 }, function(e, t) {
2517 v.fn[e] = function(n, r) {
2518 var i = v.map(this, t, n);
2519 return nt.test(e) || (r = n), r && typeof r == "string" && (i = v.filter(r, i)), i = this.length > 1 && !ot[e] ? v.unique(i) : i, this.length > 1 && rt.test(e) && (i = i.reverse()), this.pushStack(i, e, l.call(arguments).join(","))
2520 }
2521 }), v.extend({
2522 filter: function(e, t, n) {
2523 return n && (e = ":not(" + e + ")"), t.length === 1 ? v.find.matchesSelector(t[0], e) ? [t[0]] : [] : v.find.matches(e, t)
2524 },
2525 dir: function(e, n, r) {
2526 var i = [],
2527 s = e[n];
2528 while (s && s.nodeType !== 9 && (r === t || s.nodeType !== 1 || !v(s).is(r))) s.nodeType === 1 && i.push(s), s = s[n];
2529 return i
2530 },
2531 sibling: function(e, t) {
2532 var n = [];
2533 for (; e; e = e.nextSibling) e.nodeType === 1 && e !== t && n.push(e);
2534 return n
2535 }
2536 });
2537 var ct = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
2538 ht = / jQuery\d+="(?:null|\d+)"/g,
2539 pt = /^\s+/,
2540 dt = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
2541 vt = /<([\w:]+)/,
2542 mt = /<tbody/i,
2543 gt = /<|&#?\w+;/,
2544 yt = /<(?:script|style|link)/i,
2545 bt = /<(?:script|object|embed|option|style)/i,
2546 wt = new RegExp("<(?:" + ct + ")[\\s/>]", "i"),
2547 Et = /^(?:checkbox|radio)$/,
2548 St = /checked\s*(?:[^=]|=\s*.checked.)/i,
2549 xt = /\/(java|ecma)script/i,
2550 Tt = /^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,
2551 Nt = {
2552 option: [1, "<select multiple='multiple'>", "</select>"],
2553 legend: [1, "<fieldset>", "</fieldset>"],
2554 thead: [1, "<table>", "</table>"],
2555 tr: [2, "<table><tbody>", "</tbody></table>"],
2556 td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
2557 col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
2558 area: [1, "<map>", "</map>"],
2559 _default: [0, "", ""]
2560 },
2561 Ct = lt(i),
2562 kt = Ct.appendChild(i.createElement("div"));
2563 Nt.optgroup = Nt.option, Nt.tbody = Nt.tfoot = Nt.colgroup = Nt.caption = Nt.thead, Nt.th = Nt.td, v.support.htmlSerialize || (Nt._default = [1, "X<div>", "</div>"]), v.fn.extend({
2564 text: function(e) {
2565 return v.access(this, function(e) {
2566 return e === t ? v.text(this) : this.empty().append((this[0] && this[0].ownerDocument || i).createTextNode(e))
2567 }, null, e, arguments.length)
2568 },
2569 wrapAll: function(e) {
2570 if (v.isFunction(e)) return this.each(function(t) {
2571 v(this).wrapAll(e.call(this, t))
2572 });
2573 if (this[0]) {
2574 var t = v(e, this[0].ownerDocument).eq(0).clone(!0);
2575 this[0].parentNode && t.insertBefore(this[0]), t.map(function() {
2576 var e = this;
2577 while (e.firstChild && e.firstChild.nodeType === 1) e = e.firstChild;
2578 return e
2579 }).append(this)
2580 }
2581 return this
2582 },
2583 wrapInner: function(e) {
2584 return v.isFunction(e) ? this.each(function(t) {
2585 v(this).wrapInner(e.call(this, t))
2586 }) : this.each(function() {
2587 var t = v(this),
2588 n = t.contents();
2589 n.length ? n.wrapAll(e) : t.append(e)
2590 })
2591 },
2592 wrap: function(e) {
2593 var t = v.isFunction(e);
2594 return this.each(function(n) {
2595 v(this).wrapAll(t ? e.call(this, n) : e)
2596 })
2597 },
2598 unwrap: function() {
2599 return this.parent().each(function() {
2600 v.nodeName(this, "body") || v(this).replaceWith(this.childNodes)
2601 }).end()
2602 },
2603 append: function() {
2604 return this.domManip(arguments, !0, function(e) {
2605 (this.nodeType === 1 || this.nodeType === 11) && this.appendChild(e)
2606 })
2607 },
2608 prepend: function() {
2609 return this.domManip(arguments, !0, function(e) {
2610 (this.nodeType === 1 || this.nodeType === 11) && this.insertBefore(e, this.firstChild)
2611 })
2612 },
2613 before: function() {
2614 if (!ut(this[0])) return this.domManip(arguments, !1, function(e) {
2615 this.parentNode.insertBefore(e, this)
2616 });
2617 if (arguments.length) {
2618 var e = v.clean(arguments);
2619 return this.pushStack(v.merge(e, this), "before", this.selector)
2620 }
2621 },
2622 after: function() {
2623 if (!ut(this[0])) return this.domManip(arguments, !1, function(e) {
2624 this.parentNode.insertBefore(e, this.nextSibling)
2625 });
2626 if (arguments.length) {
2627 var e = v.clean(arguments);
2628 return this.pushStack(v.merge(this, e), "after", this.selector)
2629 }
2630 },
2631 remove: function(e, t) {
2632 var n, r = 0;
2633 for (;
2634 (n = this[r]) != null; r++)
2635 if (!e || v.filter(e, [n]).length)!t && n.nodeType === 1 && (v.cleanData(n.getElementsByTagName("*")), v.cleanData([n])), n.parentNode && n.parentNode.removeChild(n);
2636 return this
2637 },
2638 empty: function() {
2639 var e, t = 0;
2640 for (;
2641 (e = this[t]) != null; t++) {
2642 e.nodeType === 1 && v.cleanData(e.getElementsByTagName("*"));
2643 while (e.firstChild) e.removeChild(e.firstChild)
2644 }
2645 return this
2646 },
2647 clone: function(e, t) {
2648 return e = e == null ? !1 : e, t = t == null ? e : t, this.map(function() {
2649 return v.clone(this, e, t)
2650 })
2651 },
2652 html: function(e) {
2653 return v.access(this, function(e) {
2654 var n = this[0] || {},
2655 r = 0,
2656 i = this.length;
2657 if (e === t) return n.nodeType === 1 ? n.innerHTML.replace(ht, "") : t;
2658 if (typeof e == "string" && !yt.test(e) && (v.support.htmlSerialize || !wt.test(e)) && (v.support.leadingWhitespace || !pt.test(e)) && !Nt[(vt.exec(e) || ["", ""])[1].toLowerCase()]) {
2659 e = e.replace(dt, "<$1></$2>");
2660 try {
2661 for (; r < i; r++) n = this[r] || {}, n.nodeType === 1 && (v.cleanData(n.getElementsByTagName("*")), n.innerHTML = e);
2662 n = 0
2663 } catch (s) {}
2664 }
2665 n && this.empty().append(e)
2666 }, null, e, arguments.length)
2667 },
2668 replaceWith: function(e) {
2669 return ut(this[0]) ? this.length ? this.pushStack(v(v.isFunction(e) ? e() : e), "replaceWith", e) : this : v.isFunction(e) ? this.each(function(t) {
2670 var n = v(this),
2671 r = n.html();
2672 n.replaceWith(e.call(this, t, r))
2673 }) : (typeof e != "string" && (e = v(e).detach()), this.each(function() {
2674 var t = this.nextSibling,
2675 n = this.parentNode;
2676 v(this).remove(), t ? v(t).before(e) : v(n).append(e)
2677 }))
2678 },
2679 detach: function(e) {
2680 return this.remove(e, !0)
2681 },
2682 domManip: function(e, n, r) {
2683 e = [].concat.apply([], e);
2684 var i, s, o, u, a = 0,
2685 f = e[0],
2686 l = [],
2687 c = this.length;
2688 if (!v.support.checkClone && c > 1 && typeof f == "string" && St.test(f)) return this.each(function() {
2689 v(this).domManip(e, n, r)
2690 });
2691 if (v.isFunction(f)) return this.each(function(i) {
2692 var s = v(this);
2693 e[0] = f.call(this, i, n ? s.html() : t), s.domManip(e, n, r)
2694 });
2695 if (this[0]) {
2696 i = v.buildFragment(e, this, l), o = i.fragment, s = o.firstChild, o.childNodes.length === 1 && (o = s);
2697 if (s) {
2698 n = n && v.nodeName(s, "tr");
2699 for (u = i.cacheable || c - 1; a < c; a++) r.call(n && v.nodeName(this[a], "table") ? Lt(this[a], "tbody") : this[a], a === u ? o : v.clone(o, !0, !0))
2700 }
2701 o = s = null, l.length && v.each(l, function(e, t) {
2702 t.src ? v.ajax ? v.ajax({
2703 url: t.src,
2704 type: "GET",
2705 dataType: "script",
2706 async: !1,
2707 global: !1,
2708 "throws": !0
2709 }) : v.error("no ajax") : v.globalEval((t.text || t.textContent || t.innerHTML || "").replace(Tt, "")), t.parentNode && t.parentNode.removeChild(t)
2710 })
2711 }
2712 return this
2713 }
2714 }), v.buildFragment = function(e, n, r) {
2715 var s, o, u, a = e[0];
2716 return n = n || i, n = !n.nodeType && n[0] || n, n = n.ownerDocument || n, e.length === 1 && typeof a == "string" && a.length < 512 && n === i && a.charAt(0) === "<" && !bt.test(a) && (v.support.checkClone || !St.test(a)) && (v.support.html5Clone || !wt.test(a)) && (o = !0, s = v.fragments[a], u = s !== t), s || (s = n.createDocumentFragment(), v.clean(e, n, s, r), o && (v.fragments[a] = u && s)), {
2717 fragment: s,
2718 cacheable: o
2719 }
2720 }, v.fragments = {}, v.each({
2721 appendTo: "append",
2722 prependTo: "prepend",
2723 insertBefore: "before",
2724 insertAfter: "after",
2725 replaceAll: "replaceWith"
2726 }, function(e, t) {
2727 v.fn[e] = function(n) {
2728 var r, i = 0,
2729 s = [],
2730 o = v(n),
2731 u = o.length,
2732 a = this.length === 1 && this[0].parentNode;
2733 if ((a == null || a && a.nodeType === 11 && a.childNodes.length === 1) && u === 1) return o[t](this[0]), this;
2734 for (; i < u; i++) r = (i > 0 ? this.clone(!0) : this).get(), v(o[i])[t](r), s = s.concat(r);
2735 return this.pushStack(s, e, o.selector)
2736 }
2737 }), v.extend({
2738 clone: function(e, t, n) {
2739 var r, i, s, o;
2740 v.support.html5Clone || v.isXMLDoc(e) || !wt.test("<" + e.nodeName + ">") ? o = e.cloneNode(!0) : (kt.innerHTML = e.outerHTML, kt.removeChild(o = kt.firstChild));
2741 if ((!v.support.noCloneEvent || !v.support.noCloneChecked) && (e.nodeType === 1 || e.nodeType === 11) && !v.isXMLDoc(e)) {
2742 Ot(e, o), r = Mt(e), i = Mt(o);
2743 for (s = 0; r[s]; ++s) i[s] && Ot(r[s], i[s])
2744 }
2745 if (t) {
2746 At(e, o);
2747 if (n) {
2748 r = Mt(e), i = Mt(o);
2749 for (s = 0; r[s]; ++s) At(r[s], i[s])
2750 }
2751 }
2752 return r = i = null, o
2753 },
2754 clean: function(e, t, n, r) {
2755 var s, o, u, a, f, l, c, h, p, d, m, g, y = t === i && Ct,
2756 b = [];
2757 if (!t || typeof t.createDocumentFragment == "undefined") t = i;
2758 for (s = 0;
2759 (u = e[s]) != null; s++) {
2760 typeof u == "number" && (u += "");
2761 if (!u) continue;
2762 if (typeof u == "string")
2763 if (!gt.test(u)) u = t.createTextNode(u);
2764 else {
2765 y = y || lt(t), c = t.createElement("div"), y.appendChild(c), u = u.replace(dt, "<$1></$2>"), a = (vt.exec(u) || ["", ""])[1].toLowerCase(), f = Nt[a] || Nt._default, l = f[0], c.innerHTML = f[1] + u + f[2];
2766 while (l--) c = c.lastChild;
2767 if (!v.support.tbody) {
2768 h = mt.test(u), p = a === "table" && !h ? c.firstChild && c.firstChild.childNodes : f[1] === "<table>" && !h ? c.childNodes : [];
2769 for (o = p.length - 1; o >= 0; --o) v.nodeName(p[o], "tbody") && !p[o].childNodes.length && p[o].parentNode.removeChild(p[o])
2770 }!v.support.leadingWhitespace && pt.test(u) && c.insertBefore(t.createTextNode(pt.exec(u)[0]), c.firstChild), u = c.childNodes, c.parentNode.removeChild(c)
2771 }
2772 u.nodeType ? b.push(u) : v.merge(b, u)
2773 }
2774 c && (u = c = y = null);
2775 if (!v.support.appendChecked)
2776 for (s = 0;
2777 (u = b[s]) != null; s++) v.nodeName(u, "input") ? _t(u) : typeof u.getElementsByTagName != "undefined" && v.grep(u.getElementsByTagName("input"), _t);
2778 if (n) {
2779 m = function(e) {
2780 if (!e.type || xt.test(e.type)) return r ? r.push(e.parentNode ? e.parentNode.removeChild(e) : e) : n.appendChild(e)
2781 };
2782 for (s = 0;
2783 (u = b[s]) != null; s++)
2784 if (!v.nodeName(u, "script") || !m(u)) n.appendChild(u), typeof u.getElementsByTagName != "undefined" && (g = v.grep(v.merge([], u.getElementsByTagName("script")), m), b.splice.apply(b, [s + 1, 0].concat(g)), s += g.length)
2785 }
2786 return b
2787 },
2788 cleanData: function(e, t) {
2789 var n, r, i, s, o = 0,
2790 u = v.expando,
2791 a = v.cache,
2792 f = v.support.deleteExpando,
2793 l = v.event.special;
2794 for (;
2795 (i = e[o]) != null; o++)
2796 if (t || v.acceptData(i)) {
2797 r = i[u], n = r && a[r];
2798 if (n) {
2799 if (n.events)
2800 for (s in n.events) l[s] ? v.event.remove(i, s) : v.removeEvent(i, s, n.handle);
2801 a[r] && (delete a[r], f ? delete i[u] : i.removeAttribute ? i.removeAttribute(u) : i[u] = null, v.deletedIds.push(r))
2802 }
2803 }
2804 }
2805 }),
2806 function() {
2807 var e, t;
2808 v.uaMatch = function(e) {
2809 e = e.toLowerCase();
2810 var t = /(chrome)[ \/]([\w.]+)/.exec(e) || /(webkit)[ \/]([\w.]+)/.exec(e) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e) || /(msie) ([\w.]+)/.exec(e) || e.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e) || [];
2811 return {
2812 browser: t[1] || "",
2813 version: t[2] || "0"
2814 }
2815 }, e = v.uaMatch(o.userAgent), t = {}, e.browser && (t[e.browser] = !0, t.version = e.version), t.chrome ? t.webkit = !0 : t.webkit && (t.safari = !0), v.browser = t, v.sub = function() {
2816 function e(t, n) {
2817 return new e.fn.init(t, n)
2818 }
2819 v.extend(!0, e, this), e.superclass = this, e.fn = e.prototype = this(), e.fn.constructor = e, e.sub = this.sub, e.fn.init = function(r, i) {
2820 return i && i instanceof v && !(i instanceof e) && (i = e(i)), v.fn.init.call(this, r, i, t)
2821 }, e.fn.init.prototype = e.fn;
2822 var t = e(i);
2823 return e
2824 }
2825 }();
2826 var Dt, Pt, Ht, Bt = /alpha\([^)]*\)/i,
2827 jt = /opacity=([^)]*)/,
2828 Ft = /^(top|right|bottom|left)$/,
2829 It = /^(none|table(?!-c[ea]).+)/,
2830 qt = /^margin/,
2831 Rt = new RegExp("^(" + m + ")(.*)$", "i"),
2832 Ut = new RegExp("^(" + m + ")(?!px)[a-z%]+$", "i"),
2833 zt = new RegExp("^([-+])=(" + m + ")", "i"),
2834 Wt = {
2835 BODY: "block"
2836 },
2837 Xt = {
2838 position: "absolute",
2839 visibility: "hidden",
2840 display: "block"
2841 },
2842 Vt = {
2843 letterSpacing: 0,
2844 fontWeight: 400
2845 },
2846 $t = ["Top", "Right", "Bottom", "Left"],
2847 Jt = ["Webkit", "O", "Moz", "ms"],
2848 Kt = v.fn.toggle;
2849 v.fn.extend({
2850 css: function(e, n) {
2851 return v.access(this, function(e, n, r) {
2852 return r !== t ? v.style(e, n, r) : v.css(e, n)
2853 }, e, n, arguments.length > 1)
2854 },
2855 show: function() {
2856 return Yt(this, !0)
2857 },
2858 hide: function() {
2859 return Yt(this)
2860 },
2861 toggle: function(e, t) {
2862 var n = typeof e == "boolean";
2863 return v.isFunction(e) && v.isFunction(t) ? Kt.apply(this, arguments) : this.each(function() {
2864 (n ? e : Gt(this)) ? v(this).show() : v(this).hide()
2865 })
2866 }
2867 }), v.extend({
2868 cssHooks: {
2869 opacity: {
2870 get: function(e, t) {
2871 if (t) {
2872 var n = Dt(e, "opacity");
2873 return n === "" ? "1" : n
2874 }
2875 }
2876 }
2877 },
2878 cssNumber: {
2879 fillOpacity: !0,
2880 fontWeight: !0,
2881 lineHeight: !0,
2882 opacity: !0,
2883 orphans: !0,
2884 widows: !0,
2885 zIndex: !0,
2886 zoom: !0
2887 },
2888 cssProps: {
2889 "float": v.support.cssFloat ? "cssFloat" : "styleFloat"
2890 },
2891 style: function(e, n, r, i) {
2892 if (!e || e.nodeType === 3 || e.nodeType === 8 || !e.style) return;
2893 var s, o, u, a = v.camelCase(n),
2894 f = e.style;
2895 n = v.cssProps[a] || (v.cssProps[a] = Qt(f, a)), u = v.cssHooks[n] || v.cssHooks[a];
2896 if (r === t) return u && "get" in u && (s = u.get(e, !1, i)) !== t ? s : f[n];
2897 o = typeof r, o === "string" && (s = zt.exec(r)) && (r = (s[1] + 1) * s[2] + parseFloat(v.css(e, n)), o = "number");
2898 if (r == null || o === "number" && isNaN(r)) return;
2899 o === "number" && !v.cssNumber[a] && (r += "px");
2900 if (!u || !("set" in u) || (r = u.set(e, r, i)) !== t) try {
2901 f[n] = r
2902 } catch (l) {}
2903 },
2904 css: function(e, n, r, i) {
2905 var s, o, u, a = v.camelCase(n);
2906 return n = v.cssProps[a] || (v.cssProps[a] = Qt(e.style, a)), u = v.cssHooks[n] || v.cssHooks[a], u && "get" in u && (s = u.get(e, !0, i)), s === t && (s = Dt(e, n)), s === "normal" && n in Vt && (s = Vt[n]), r || i !== t ? (o = parseFloat(s), r || v.isNumeric(o) ? o || 0 : s) : s
2907 },
2908 swap: function(e, t, n) {
2909 var r, i, s = {};
2910 for (i in t) s[i] = e.style[i], e.style[i] = t[i];
2911 r = n.call(e);
2912 for (i in t) e.style[i] = s[i];
2913 return r
2914 }
2915 }), e.getComputedStyle ? Dt = function(t, n) {
2916 var r, i, s, o, u = e.getComputedStyle(t, null),
2917 a = t.style;
2918 return u && (r = u.getPropertyValue(n) || u[n], r === "" && !v.contains(t.ownerDocument, t) && (r = v.style(t, n)), Ut.test(r) && qt.test(n) && (i = a.width, s = a.minWidth, o = a.maxWidth, a.minWidth = a.maxWidth = a.width = r, r = u.width, a.width = i, a.minWidth = s, a.maxWidth = o)), r
2919 } : i.documentElement.currentStyle && (Dt = function(e, t) {
2920 var n, r, i = e.currentStyle && e.currentStyle[t],
2921 s = e.style;
2922 return i == null && s && s[t] && (i = s[t]), Ut.test(i) && !Ft.test(t) && (n = s.left, r = e.runtimeStyle && e.runtimeStyle.left, r && (e.runtimeStyle.left = e.currentStyle.left), s.left = t === "fontSize" ? "1em" : i, i = s.pixelLeft + "px", s.left = n, r && (e.runtimeStyle.left = r)), i === "" ? "auto" : i
2923 }), v.each(["height", "width"], function(e, t) {
2924 v.cssHooks[t] = {
2925 get: function(e, n, r) {
2926 if (n) return e.offsetWidth === 0 && It.test(Dt(e, "display")) ? v.swap(e, Xt, function() {
2927 return tn(e, t, r)
2928 }) : tn(e, t, r)
2929 },
2930 set: function(e, n, r) {
2931 return Zt(e, n, r ? en(e, t, r, v.support.boxSizing && v.css(e, "boxSizing") === "border-box") : 0)
2932 }
2933 }
2934 }), v.support.opacity || (v.cssHooks.opacity = {
2935 get: function(e, t) {
2936 return jt.test((t && e.currentStyle ? e.currentStyle.filter : e.style.filter) || "") ? .01 * parseFloat(RegExp.$1) + "" : t ? "1" : ""
2937 },
2938 set: function(e, t) {
2939 var n = e.style,
2940 r = e.currentStyle,
2941 i = v.isNumeric(t) ? "alpha(opacity=" + t * 100 + ")" : "",
2942 s = r && r.filter || n.filter || "";
2943 n.zoom = 1;
2944 if (t >= 1 && v.trim(s.replace(Bt, "")) === "" && n.removeAttribute) {
2945 n.removeAttribute("filter");
2946 if (r && !r.filter) return
2947 }
2948 n.filter = Bt.test(s) ? s.replace(Bt, i) : s + " " + i
2949 }
2950 }), v(function() {
2951 v.support.reliableMarginRight || (v.cssHooks.marginRight = {
2952 get: function(e, t) {
2953 return v.swap(e, {
2954 display: "inline-block"
2955 }, function() {
2956 if (t) return Dt(e, "marginRight")
2957 })
2958 }
2959 }), !v.support.pixelPosition && v.fn.position && v.each(["top", "left"], function(e, t) {
2960 v.cssHooks[t] = {
2961 get: function(e, n) {
2962 if (n) {
2963 var r = Dt(e, t);
2964 return Ut.test(r) ? v(e).position()[t] + "px" : r
2965 }
2966 }
2967 }
2968 })
2969 }), v.expr && v.expr.filters && (v.expr.filters.hidden = function(e) {
2970 return e.offsetWidth === 0 && e.offsetHeight === 0 || !v.support.reliableHiddenOffsets && (e.style && e.style.display || Dt(e, "display")) === "none"
2971 }, v.expr.filters.visible = function(e) {
2972 return !v.expr.filters.hidden(e)
2973 }), v.each({
2974 margin: "",
2975 padding: "",
2976 border: "Width"
2977 }, function(e, t) {
2978 v.cssHooks[e + t] = {
2979 expand: function(n) {
2980 var r, i = typeof n == "string" ? n.split(" ") : [n],
2981 s = {};
2982 for (r = 0; r < 4; r++) s[e + $t[r] + t] = i[r] || i[r - 2] || i[0];
2983 return s
2984 }
2985 }, qt.test(e) || (v.cssHooks[e + t].set = Zt)
2986 });
2987 var rn = /%20/g,
2988 sn = /\[\]$/,
2989 on = /\r?\n/g,
2990 un = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
2991 an = /^(?:select|textarea)/i;
2992 v.fn.extend({
2993 serialize: function() {
2994 return v.param(this.serializeArray())
2995 },
2996 serializeArray: function() {
2997 return this.map(function() {
2998 return this.elements ? v.makeArray(this.elements) : this
2999 }).filter(function() {
3000 return this.name && !this.disabled && (this.checked || an.test(this.nodeName) || un.test(this.type))
3001 }).map(function(e, t) {
3002 var n = v(this).val();
3003 return n == null ? null : v.isArray(n) ? v.map(n, function(e, n) {
3004 return {
3005 name: t.name,
3006 value: e.replace(on, "\r\n")
3007 }
3008 }) : {
3009 name: t.name,
3010 value: n.replace(on, "\r\n")
3011 }
3012 }).get()
3013 }
3014 }), v.param = function(e, n) {
3015 var r, i = [],
3016 s = function(e, t) {
3017 t = v.isFunction(t) ? t() : t == null ? "" : t, i[i.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t)
3018 };
3019 n === t && (n = v.ajaxSettings && v.ajaxSettings.traditional);
3020 if (v.isArray(e) || e.jquery && !v.isPlainObject(e)) v.each(e, function() {
3021 s(this.name, this.value)
3022 });
3023 else
3024 for (r in e) fn(r, e[r], n, s);
3025 return i.join("&").replace(rn, "+")
3026 };
3027 var ln, cn, hn = /#.*$/,
3028 pn = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg,
3029 dn = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,
3030 vn = /^(?:GET|HEAD)$/,
3031 mn = /^\/\//,
3032 gn = /\?/,
3033 yn = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
3034 bn = /([?&])_=[^&]*/,
3035 wn = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,
3036 En = v.fn.load,
3037 Sn = {},
3038 xn = {},
3039 Tn = ["*/"] + ["*"];
3040 try {
3041 cn = s.href
3042 } catch (Nn) {
3043 cn = i.createElement("a"), cn.href = "", cn = cn.href
3044 }
3045 ln = wn.exec(cn.toLowerCase()) || [], v.fn.load = function(e, n, r) {
3046 if (typeof e != "string" && En) return En.apply(this, arguments);
3047 if (!this.length) return this;
3048 var i, s, o, u = this,
3049 a = e.indexOf(" ");
3050 return a >= 0 && (i = e.slice(a, e.length), e = e.slice(0, a)), v.isFunction(n) ? (r = n, n = t) : n && typeof n == "object" && (s = "POST"), v.ajax({
3051 url: e,
3052 type: s,
3053 dataType: "html",
3054 data: n,
3055 complete: function(e, t) {
3056 r && u.each(r, o || [e.responseText, t, e])
3057 }
3058 }).done(function(e) {
3059 o = arguments, u.html(i ? v("<div>").append(e.replace(yn, "")).find(i) : e)
3060 }), this
3061 }, v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function(e, t) {
3062 v.fn[t] = function(e) {
3063 return this.on(t, e)
3064 }
3065 }), v.each(["get", "post"], function(e, n) {
3066 v[n] = function(e, r, i, s) {
3067 return v.isFunction(r) && (s = s || i, i = r, r = t), v.ajax({
3068 type: n,
3069 url: e,
3070 data: r,
3071 success: i,
3072 dataType: s
3073 })
3074 }
3075 }), v.extend({
3076 getScript: function(e, n) {
3077 return v.get(e, t, n, "script")
3078 },
3079 getJSON: function(e, t, n) {
3080 return v.get(e, t, n, "json")
3081 },
3082 ajaxSetup: function(e, t) {
3083 return t ? Ln(e, v.ajaxSettings) : (t = e, e = v.ajaxSettings), Ln(e, t), e
3084 },
3085 ajaxSettings: {
3086 url: cn,
3087 isLocal: dn.test(ln[1]),
3088 global: !0,
3089 type: "GET",
3090 contentType: "application/x-www-form-urlencoded; charset=UTF-8",
3091 processData: !0,
3092 async: !0,
3093 accepts: {
3094 xml: "application/xml, text/xml",
3095 html: "text/html",
3096 text: "text/plain",
3097 json: "application/json, text/javascript",
3098 "*": Tn
3099 },
3100 contents: {
3101 xml: /xml/,
3102 html: /html/,
3103 json: /json/
3104 },
3105 responseFields: {
3106 xml: "responseXML",
3107 text: "responseText"
3108 },
3109 converters: {
3110 "* text": e.String,
3111 "text html": !0,
3112 "text json": v.parseJSON,
3113 "text xml": v.parseXML
3114 },
3115 flatOptions: {
3116 context: !0,
3117 url: !0
3118 }
3119 },
3120 ajaxPrefilter: Cn(Sn),
3121 ajaxTransport: Cn(xn),
3122 ajax: function(e, n) {
3123 function T(e, n, s, a) {
3124 var l, y, b, w, S, T = n;
3125 if (E === 2) return;
3126 E = 2, u && clearTimeout(u), o = t, i = a || "", x.readyState = e > 0 ? 4 : 0, s && (w = An(c, x, s));
3127 if (e >= 200 && e < 300 || e === 304) c.ifModified && (S = x.getResponseHeader("Last-Modified"), S && (v.lastModified[r] = S), S = x.getResponseHeader("Etag"), S && (v.etag[r] = S)), e === 304 ? (T = "notmodified", l = !0) : (l = On(c, w), T = l.state, y = l.data, b = l.error, l = !b);
3128 else {
3129 b = T;
3130 if (!T || e) T = "error", e < 0 && (e = 0)
3131 }
3132 x.status = e, x.statusText = (n || T) + "", l ? d.resolveWith(h, [y, T, x]) : d.rejectWith(h, [x, T, b]), x.statusCode(g), g = t, f && p.trigger("ajax" + (l ? "Success" : "Error"), [x, c, l ? y : b]), m.fireWith(h, [x, T]), f && (p.trigger("ajaxComplete", [x, c]), --v.active || v.event.trigger("ajaxStop"))
3133 }
3134 typeof e == "object" && (n = e, e = t), n = n || {};
3135 var r, i, s, o, u, a, f, l, c = v.ajaxSetup({}, n),
3136 h = c.context || c,
3137 p = h !== c && (h.nodeType || h instanceof v) ? v(h) : v.event,
3138 d = v.Deferred(),
3139 m = v.Callbacks("once memory"),
3140 g = c.statusCode || {},
3141 b = {},
3142 w = {},
3143 E = 0,
3144 S = "canceled",
3145 x = {
3146 readyState: 0,
3147 setRequestHeader: function(e, t) {
3148 if (!E) {
3149 var n = e.toLowerCase();
3150 e = w[n] = w[n] || e, b[e] = t
3151 }
3152 return this
3153 },
3154 getAllResponseHeaders: function() {
3155 return E === 2 ? i : null
3156 },
3157 getResponseHeader: function(e) {
3158 var n;
3159 if (E === 2) {
3160 if (!s) {
3161 s = {};
3162 while (n = pn.exec(i)) s[n[1].toLowerCase()] = n[2]
3163 }
3164 n = s[e.toLowerCase()]
3165 }
3166 return n === t ? null : n
3167 },
3168 overrideMimeType: function(e) {
3169 return E || (c.mimeType = e), this
3170 },
3171 abort: function(e) {
3172 return e = e || S, o && o.abort(e), T(0, e), this
3173 }
3174 };
3175 d.promise(x), x.success = x.done, x.error = x.fail, x.complete = m.add, x.statusCode = function(e) {
3176 if (e) {
3177 var t;
3178 if (E < 2)
3179 for (t in e) g[t] = [g[t], e[t]];
3180 else t = e[x.status], x.always(t)
3181 }
3182 return this
3183 }, c.url = ((e || c.url) + "").replace(hn, "").replace(mn, ln[1] + "//"), c.dataTypes = v.trim(c.dataType || "*").toLowerCase().split(y), c.crossDomain == null && (a = wn.exec(c.url.toLowerCase()), c.crossDomain = !(!a || a[1] === ln[1] && a[2] === ln[2] && (a[3] || (a[1] === "http:" ? 80 : 443)) == (ln[3] || (ln[1] === "http:" ? 80 : 443)))), c.data && c.processData && typeof c.data != "string" && (c.data = v.param(c.data, c.traditional)), kn(Sn, c, n, x);
3184 if (E === 2) return x;
3185 f = c.global, c.type = c.type.toUpperCase(), c.hasContent = !vn.test(c.type), f && v.active++ === 0 && v.event.trigger("ajaxStart");
3186 if (!c.hasContent) {
3187 c.data && (c.url += (gn.test(c.url) ? "&" : "?") + c.data, delete c.data), r = c.url;
3188 if (c.cache === !1) {
3189 var N = v.now(),
3190 C = c.url.replace(bn, "$1_=" + N);
3191 c.url = C + (C === c.url ? (gn.test(c.url) ? "&" : "?") + "_=" + N : "")
3192 }
3193 }(c.data && c.hasContent && c.contentType !== !1 || n.contentType) && x.setRequestHeader("Content-Type", c.contentType), c.ifModified && (r = r || c.url, v.lastModified[r] && x.setRequestHeader("If-Modified-Since", v.lastModified[r]), v.etag[r] && x.setRequestHeader("If-None-Match", v.etag[r])), x.setRequestHeader("Accept", c.dataTypes[0] && c.accepts[c.dataTypes[0]] ? c.accepts[c.dataTypes[0]] + (c.dataTypes[0] !== "*" ? ", " + Tn + "; q=0.01" : "") : c.accepts["*"]);
3194 for (l in c.headers) x.setRequestHeader(l, c.headers[l]);
3195 if (!c.beforeSend || c.beforeSend.call(h, x, c) !== !1 && E !== 2) {
3196 S = "abort";
3197 for (l in {
3198 success: 1,
3199 error: 1,
3200 complete: 1
3201 }) x[l](c[l]);
3202 o = kn(xn, c, n, x);
3203 if (!o) T(-1, "No Transport");
3204 else {
3205 x.readyState = 1, f && p.trigger("ajaxSend", [x, c]), c.async && c.timeout > 0 && (u = setTimeout(function() {
3206 x.abort("timeout")
3207 }, c.timeout));
3208 try {
3209 E = 1, o.send(b, T)
3210 } catch (k) {
3211 if (!(E < 2)) throw k;
3212 T(-1, k)
3213 }
3214 }
3215 return x
3216 }
3217 return x.abort()
3218 },
3219 active: 0,
3220 lastModified: {},
3221 etag: {}
3222 });
3223 var Mn = [],
3224 _n = /\?/,
3225 Dn = /(=)\?(?=&|$)|\?\?/,
3226 Pn = v.now();
3227 v.ajaxSetup({
3228 jsonp: "callback",
3229 jsonpCallback: function() {
3230 var e = Mn.pop() || v.expando + "_" + Pn++;
3231 return this[e] = !0, e
3232 }
3233 }), v.ajaxPrefilter("json jsonp", function(n, r, i) {
3234 var s, o, u, a = n.data,
3235 f = n.url,
3236 l = n.jsonp !== !1,
3237 c = l && Dn.test(f),
3238 h = l && !c && typeof a == "string" && !(n.contentType || "").indexOf("application/x-www-form-urlencoded") && Dn.test(a);
3239 if (n.dataTypes[0] === "jsonp" || c || h) return s = n.jsonpCallback = v.isFunction(n.jsonpCallback) ? n.jsonpCallback() : n.jsonpCallback, o = e[s], c ? n.url = f.replace(Dn, "$1" + s) : h ? n.data = a.replace(Dn, "$1" + s) : l && (n.url += (_n.test(f) ? "&" : "?") + n.jsonp + "=" + s), n.converters["script json"] = function() {
3240 return u || v.error(s + " was not called"), u[0]
3241 }, n.dataTypes[0] = "json", e[s] = function() {
3242 u = arguments
3243 }, i.always(function() {
3244 e[s] = o, n[s] && (n.jsonpCallback = r.jsonpCallback, Mn.push(s)), u && v.isFunction(o) && o(u[0]), u = o = t
3245 }), "script"
3246 }), v.ajaxSetup({
3247 accepts: {
3248 script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
3249 },
3250 contents: {
3251 script: /javascript|ecmascript/
3252 },
3253 converters: {
3254 "text script": function(e) {
3255 return v.globalEval(e), e
3256 }
3257 }
3258 }), v.ajaxPrefilter("script", function(e) {
3259 e.cache === t && (e.cache = !1), e.crossDomain && (e.type = "GET", e.global = !1)
3260 }), v.ajaxTransport("script", function(e) {
3261 if (e.crossDomain) {
3262 var n, r = i.head || i.getElementsByTagName("head")[0] || i.documentElement;
3263 return {
3264 send: function(s, o) {
3265 n = i.createElement("script"), n.async = "async", e.scriptCharset && (n.charset = e.scriptCharset), n.src = e.url, n.onload = n.onreadystatechange = function(e, i) {
3266 if (i || !n.readyState || /loaded|complete/.test(n.readyState)) n.onload = n.onreadystatechange = null, r && n.parentNode && r.removeChild(n), n = t, i || o(200, "success")
3267 }, r.insertBefore(n, r.firstChild)
3268 },
3269 abort: function() {
3270 n && n.onload(0, 1)
3271 }
3272 }
3273 }
3274 });
3275 var Hn, Bn = e.ActiveXObject ? function() {
3276 for (var e in Hn) Hn[e](0, 1)
3277 } : !1,
3278 jn = 0;
3279 v.ajaxSettings.xhr = e.ActiveXObject ? function() {
3280 return !this.isLocal && Fn() || In()
3281 } : Fn,
3282 function(e) {
3283 v.extend(v.support, {
3284 ajax: !!e,
3285 cors: !!e && "withCredentials" in e
3286 })
3287 }(v.ajaxSettings.xhr()), v.support.ajax && v.ajaxTransport(function(n) {
3288 if (!n.crossDomain || v.support.cors) {
3289 var r;
3290 return {
3291 send: function(i, s) {
3292 var o, u, a = n.xhr();
3293 n.username ? a.open(n.type, n.url, n.async, n.username, n.password) : a.open(n.type, n.url, n.async);
3294 if (n.xhrFields)
3295 for (u in n.xhrFields) a[u] = n.xhrFields[u];
3296 n.mimeType && a.overrideMimeType && a.overrideMimeType(n.mimeType), !n.crossDomain && !i["X-Requested-With"] && (i["X-Requested-With"] = "XMLHttpRequest");
3297 try {
3298 for (u in i) a.setRequestHeader(u, i[u])
3299 } catch (f) {}
3300 a.send(n.hasContent && n.data || null), r = function(e, i) {
3301 var u, f, l, c, h;
3302 try {
3303 if (r && (i || a.readyState === 4)) {
3304 r = t, o && (a.onreadystatechange = v.noop, Bn && delete Hn[o]);
3305 if (i) a.readyState !== 4 && a.abort();
3306 else {
3307 u = a.status, l = a.getAllResponseHeaders(), c = {}, h = a.responseXML, h && h.documentElement && (c.xml = h);
3308 try {
3309 c.text = a.responseText
3310 } catch (p) {}
3311 try {
3312 f = a.statusText
3313 } catch (p) {
3314 f = ""
3315 }!u && n.isLocal && !n.crossDomain ? u = c.text ? 200 : 404 : u === 1223 && (u = 204)
3316 }
3317 }
3318 } catch (d) {
3319 i || s(-1, d)
3320 }
3321 c && s(u, f, c, l)
3322 }, n.async ? a.readyState === 4 ? setTimeout(r, 0) : (o = ++jn, Bn && (Hn || (Hn = {}, v(e).unload(Bn)), Hn[o] = r), a.onreadystatechange = r) : r()
3323 },
3324 abort: function() {
3325 r && r(0, 1)
3326 }
3327 }
3328 }
3329 });
3330 var qn, Rn, Un = /^(?:toggle|show|hide)$/,
3331 zn = new RegExp("^(?:([-+])=|)(" + m + ")([a-z%]*)$", "i"),
3332 Wn = /queueHooks$/,
3333 Xn = [Gn],
3334 Vn = {
3335 "*": [
3336 function(e, t) {
3337 var n, r, i = this.createTween(e, t),
3338 s = zn.exec(t),
3339 o = i.cur(),
3340 u = +o || 0,
3341 a = 1,
3342 f = 20;
3343 if (s) {
3344 n = +s[2], r = s[3] || (v.cssNumber[e] ? "" : "px");
3345 if (r !== "px" && u) {
3346 u = v.css(i.elem, e, !0) || n || 1;
3347 do a = a || ".5", u /= a, v.style(i.elem, e, u + r); while (a !== (a = i.cur() / o) && a !== 1 && --f)
3348 }
3349 i.unit = r, i.start = u, i.end = s[1] ? u + (s[1] + 1) * n : n
3350 }
3351 return i
3352 }
3353 ]
3354 };
3355 v.Animation = v.extend(Kn, {
3356 tweener: function(e, t) {
3357 v.isFunction(e) ? (t = e, e = ["*"]) : e = e.split(" ");
3358 var n, r = 0,
3359 i = e.length;
3360 for (; r < i; r++) n = e[r], Vn[n] = Vn[n] || [], Vn[n].unshift(t)
3361 },
3362 prefilter: function(e, t) {
3363 t ? Xn.unshift(e) : Xn.push(e)
3364 }
3365 }), v.Tween = Yn, Yn.prototype = {
3366 constructor: Yn,
3367 init: function(e, t, n, r, i, s) {
3368 this.elem = e, this.prop = n, this.easing = i || "swing", this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = s || (v.cssNumber[n] ? "" : "px")
3369 },
3370 cur: function() {
3371 var e = Yn.propHooks[this.prop];
3372 return e && e.get ? e.get(this) : Yn.propHooks._default.get(this)
3373 },
3374 run: function(e) {
3375 var t, n = Yn.propHooks[this.prop];
3376 return this.options.duration ? this.pos = t = v.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : Yn.propHooks._default.set(this), this
3377 }
3378 }, Yn.prototype.init.prototype = Yn.prototype, Yn.propHooks = {
3379 _default: {
3380 get: function(e) {
3381 var t;
3382 return e.elem[e.prop] == null || !!e.elem.style && e.elem.style[e.prop] != null ? (t = v.css(e.elem, e.prop, !1, ""), !t || t === "auto" ? 0 : t) : e.elem[e.prop]
3383 },
3384 set: function(e) {
3385 v.fx.step[e.prop] ? v.fx.step[e.prop](e) : e.elem.style && (e.elem.style[v.cssProps[e.prop]] != null || v.cssHooks[e.prop]) ? v.style(e.elem, e.prop, e.now + e.unit) : e.elem[e.prop] = e.now
3386 }
3387 }
3388 }, Yn.propHooks.scrollTop = Yn.propHooks.scrollLeft = {
3389 set: function(e) {
3390 e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now)
3391 }
3392 }, v.each(["toggle", "show", "hide"], function(e, t) {
3393 var n = v.fn[t];
3394 v.fn[t] = function(r, i, s) {
3395 return r == null || typeof r == "boolean" || !e && v.isFunction(r) && v.isFunction(i) ? n.apply(this, arguments) : this.animate(Zn(t, !0), r, i, s)
3396 }
3397 }), v.fn.extend({
3398 fadeTo: function(e, t, n, r) {
3399 return this.filter(Gt).css("opacity", 0).show().end().animate({
3400 opacity: t
3401 }, e, n, r)
3402 },
3403 animate: function(e, t, n, r) {
3404 var i = v.isEmptyObject(e),
3405 s = v.speed(t, n, r),
3406 o = function() {
3407 var t = Kn(this, v.extend({}, e), s);
3408 i && t.stop(!0)
3409 };
3410 return i || s.queue === !1 ? this.each(o) : this.queue(s.queue, o)
3411 },
3412 stop: function(e, n, r) {
3413 var i = function(e) {
3414 var t = e.stop;
3415 delete e.stop, t(r)
3416 };
3417 return typeof e != "string" && (r = n, n = e, e = t), n && e !== !1 && this.queue(e || "fx", []), this.each(function() {
3418 var t = !0,
3419 n = e != null && e + "queueHooks",
3420 s = v.timers,
3421 o = v._data(this);
3422 if (n) o[n] && o[n].stop && i(o[n]);
3423 else
3424 for (n in o) o[n] && o[n].stop && Wn.test(n) && i(o[n]);
3425 for (n = s.length; n--;) s[n].elem === this && (e == null || s[n].queue === e) && (s[n].anim.stop(r), t = !1, s.splice(n, 1));
3426 (t || !r) && v.dequeue(this, e)
3427 })
3428 }
3429 }), v.each({
3430 slideDown: Zn("show"),
3431 slideUp: Zn("hide"),
3432 slideToggle: Zn("toggle"),
3433 fadeIn: {
3434 opacity: "show"
3435 },
3436 fadeOut: {
3437 opacity: "hide"
3438 },
3439 fadeToggle: {
3440 opacity: "toggle"
3441 }
3442 }, function(e, t) {
3443 v.fn[e] = function(e, n, r) {
3444 return this.animate(t, e, n, r)
3445 }
3446 }), v.speed = function(e, t, n) {
3447 var r = e && typeof e == "object" ? v.extend({}, e) : {
3448 complete: n || !n && t || v.isFunction(e) && e,
3449 duration: e,
3450 easing: n && t || t && !v.isFunction(t) && t
3451 };
3452 r.duration = v.fx.off ? 0 : typeof r.duration == "number" ? r.duration : r.duration in v.fx.speeds ? v.fx.speeds[r.duration] : v.fx.speeds._default;
3453 if (r.queue == null || r.queue === !0) r.queue = "fx";
3454 return r.old = r.complete, r.complete = function() {
3455 v.isFunction(r.old) && r.old.call(this), r.queue && v.dequeue(this, r.queue)
3456 }, r
3457 }, v.easing = {
3458 linear: function(e) {
3459 return e
3460 },
3461 swing: function(e) {
3462 return .5 - Math.cos(e * Math.PI) / 2
3463 }
3464 }, v.timers = [], v.fx = Yn.prototype.init, v.fx.tick = function() {
3465 var e, n = v.timers,
3466 r = 0;
3467 qn = v.now();
3468 for (; r < n.length; r++) e = n[r], !e() && n[r] === e && n.splice(r--, 1);
3469 n.length || v.fx.stop(), qn = t
3470 }, v.fx.timer = function(e) {
3471 e() && v.timers.push(e) && !Rn && (Rn = setInterval(v.fx.tick, v.fx.interval))
3472 }, v.fx.interval = 13, v.fx.stop = function() {
3473 clearInterval(Rn), Rn = null
3474 }, v.fx.speeds = {
3475 slow: 600,
3476 fast: 200,
3477 _default: 400
3478 }, v.fx.step = {}, v.expr && v.expr.filters && (v.expr.filters.animated = function(e) {
3479 return v.grep(v.timers, function(t) {
3480 return e === t.elem
3481 }).length
3482 });
3483 var er = /^(?:body|html)$/i;
3484 v.fn.offset = function(e) {
3485 if (arguments.length) return e === t ? this : this.each(function(t) {
3486 v.offset.setOffset(this, e, t)
3487 });
3488 var n, r, i, s, o, u, a, f = {
3489 top: 0,
3490 left: 0
3491 },
3492 l = this[0],
3493 c = l && l.ownerDocument;
3494 if (!c) return;
3495 return (r = c.body) === l ? v.offset.bodyOffset(l) : (n = c.documentElement, v.contains(n, l) ? (typeof l.getBoundingClientRect != "undefined" && (f = l.getBoundingClientRect()), i = tr(c), s = n.clientTop || r.clientTop || 0, o = n.clientLeft || r.clientLeft || 0, u = i.pageYOffset || n.scrollTop, a = i.pageXOffset || n.scrollLeft, {
3496 top: f.top + u - s,
3497 left: f.left + a - o
3498 }) : f)
3499 }, v.offset = {
3500 bodyOffset: function(e) {
3501 var t = e.offsetTop,
3502 n = e.offsetLeft;
3503 return v.support.doesNotIncludeMarginInBodyOffset && (t += parseFloat(v.css(e, "marginTop")) || 0, n += parseFloat(v.css(e, "marginLeft")) || 0), {
3504 top: t,
3505 left: n
3506 }
3507 },
3508 setOffset: function(e, t, n) {
3509 var r = v.css(e, "position");
3510 r === "static" && (e.style.position = "relative");
3511 var i = v(e),
3512 s = i.offset(),
3513 o = v.css(e, "top"),
3514 u = v.css(e, "left"),
3515 a = (r === "absolute" || r === "fixed") && v.inArray("auto", [o, u]) > -1,
3516 f = {},
3517 l = {},
3518 c, h;
3519 a ? (l = i.position(), c = l.top, h = l.left) : (c = parseFloat(o) || 0, h = parseFloat(u) || 0), v.isFunction(t) && (t = t.call(e, n, s)), t.top != null && (f.top = t.top - s.top + c), t.left != null && (f.left = t.left - s.left + h), "using" in t ? t.using.call(e, f) : i.css(f)
3520 }
3521 }, v.fn.extend({
3522 position: function() {
3523 if (!this[0]) return;
3524 var e = this[0],
3525 t = this.offsetParent(),
3526 n = this.offset(),
3527 r = er.test(t[0].nodeName) ? {
3528 top: 0,
3529 left: 0
3530 } : t.offset();
3531 return n.top -= parseFloat(v.css(e, "marginTop")) || 0, n.left -= parseFloat(v.css(e, "marginLeft")) || 0, r.top += parseFloat(v.css(t[0], "borderTopWidth")) || 0, r.left += parseFloat(v.css(t[0], "borderLeftWidth")) || 0, {
3532 top: n.top - r.top,
3533 left: n.left - r.left
3534 }
3535 },
3536 offsetParent: function() {
3537 return this.map(function() {
3538 var e = this.offsetParent || i.body;
3539 while (e && !er.test(e.nodeName) && v.css(e, "position") === "static") e = e.offsetParent;
3540 return e || i.body
3541 })
3542 }
3543 }), v.each({
3544 scrollLeft: "pageXOffset",
3545 scrollTop: "pageYOffset"
3546 }, function(e, n) {
3547 var r = /Y/.test(n);
3548 v.fn[e] = function(i) {
3549 return v.access(this, function(e, i, s) {
3550 var o = tr(e);
3551 if (s === t) return o ? n in o ? o[n] : o.document.documentElement[i] : e[i];
3552 o ? o.scrollTo(r ? v(o).scrollLeft() : s, r ? s : v(o).scrollTop()) : e[i] = s
3553 }, e, i, arguments.length, null)
3554 }
3555 }), v.each({
3556 Height: "height",
3557 Width: "width"
3558 }, function(e, n) {
3559 v.each({
3560 padding: "inner" + e,
3561 content: n,
3562 "": "outer" + e
3563 }, function(r, i) {
3564 v.fn[i] = function(i, s) {
3565 var o = arguments.length && (r || typeof i != "boolean"),
3566 u = r || (i === !0 || s === !0 ? "margin" : "border");
3567 return v.access(this, function(n, r, i) {
3568 var s;
3569 return v.isWindow(n) ? n.document.documentElement["client" + e] : n.nodeType === 9 ? (s = n.documentElement, Math.max(n.body["scroll" + e], s["scroll" + e], n.body["offset" + e], s["offset" + e], s["client" + e])) : i === t ? v.css(n, r, i, u) : v.style(n, r, i, u)
3570 }, n, o ? i : t, o, null)
3571 }
3572 })
3573 }), e.jQuery = e.$ = v, typeof define == "function" && define.amd && define.amd.jQuery && define("jquery", [], function() {
3574 return v
3575 })
3576})(window); \ No newline at end of file
Powered by cgit v1.2.3 (git 2.41.0)