Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
global-perf-minified.js
This file has been truncated, but you can view the full file.
(function(a, b) {
function d() {
if (!n.isReady) {
try {
t.documentElement.doScroll("left")
} catch (k) {
setTimeout(d, 1);
return
}
n.ready()
}
}
function f(k, r) {
r.src ? n.ajax({
url: r.src,
async: false,
dataType: "script"
}) : n.globalEval(r.text || r.textContent || r.innerHTML || "");
r.parentNode && r.parentNode.removeChild(r)
}
function g(k, r, x, F, E, T) {
var V = k.length;
if (typeof r === "object") {
for (var ca in r) g(k, ca, r[ca], F, E, x);
return k
}
if (x !== b) {
F = !T && F && n.isFunction(x);
for (ca = 0; ca < V; ca++) E(k[ca], r, F ? x.call(k[ca], ca, E(k[ca], r)) : x, T);
return k
}
return V ?
E(k[0], r) : b
}
function j() {
return (new Date).getTime()
}
function l() {
return false
}
function o() {
return true
}
function v(k, r, x) {
x[0].type = k;
return n.event.handle.apply(r, x)
}
function A(k) {
var r, x = [],
F = [],
E = arguments,
T, V, ca, aa, da, ha;
V = n.data(this, "events");
if (!(k.liveFired === this || !V || !V.live || k.button && k.type === "click")) {
k.liveFired = this;
var qa = V.live.slice(0);
for (aa = 0; aa < qa.length; aa++) {
V = qa[aa];
V.origType.replace(ua, "") === k.type ? F.push(V.selector) : qa.splice(aa--, 1)
}
T = n(k.target).closest(F, k.currentTarget);
da = 0;
for (ha = T.length; da < ha; da++)
for (aa = 0; aa < qa.length; aa++) {
V = qa[aa];
if (T[da].selector === V.selector) {
ca = T[da].elem;
F = null;
if (V.preType === "mouseenter" || V.preType === "mouseleave") F = n(k.relatedTarget).closest(V.selector)[0];
if (!F || F !== ca) x.push({
elem: ca,
handleObj: V
})
}
}
da = 0;
for (ha = x.length; da < ha; da++) {
T = x[da];
k.currentTarget = T.elem;
k.data = T.handleObj.data;
k.handleObj = T.handleObj;
if (T.handleObj.origHandler.apply(T.elem, E) === false) {
r = false;
break
}
}
return r
}
}
function C(k, r) {
return "live." + (k && k !== "*" ? k + "." :
"") + r.replace(/\./g, "`").replace(/ /g, "&")
}
function q(k, r) {
var x = 0;
r.each(function() {
if (this.nodeName === (k[x] && k[x].nodeName)) {
var F = n.data(k[x++]),
E = n.data(this, F);
if (F = F && F.events) {
delete E.handle;
E.events = {};
for (var T in F)
for (var V in F[T]) n.event.add(this, T, F[T][V], F[T][V].data)
}
}
})
}
function I(k, r, x) {
var F, E, T;
r = r && r[0] ? r[0].ownerDocument || r[0] : t;
if (k.length === 1 && typeof k[0] === "string" && k[0].length < 512 && r === t && !Za.test(k[0]) && (n.support.checkClone || !$a.test(k[0]))) {
E = true;
if (T = n.fragments[k[0]])
if (T !==
1) F = T
}
if (!F) {
F = r.createDocumentFragment();
n.clean(k, r, F, x)
}
if (E) n.fragments[k[0]] = T ? F : 1;
return {
fragment: F,
cacheable: E
}
}
function K(k, r) {
var x = {};
n.each(ab.concat.apply([], ab.slice(0, r)), function() {
x[this] = k
});
return x
}
function Q(k) {
return "scrollTo" in k && k.document ? k : k.nodeType === 9 ? k.defaultView || k.parentWindow : false
}
var n = function(k, r) {
return new n.fn.init(k, r)
},
G = a.jQuery,
p = a.$,
t = a.document,
z, D = /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,
M = /^.[^:#\[\.,]*$/,
B = /\S/,
m = /^(\s|\u00A0)+|(\s|\u00A0)+$/g,
u = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
y = navigator.userAgent,
H = false,
J = [],
R, U = Object.prototype.toString,
X = Object.prototype.hasOwnProperty,
ga = Array.prototype.push,
ja = Array.prototype.slice,
la = Array.prototype.indexOf;
n.fn = n.prototype = {
init: function(k, r) {
var x, F;
if (!k) return this;
if (k.nodeType) {
this.context = this[0] = k;
this.length = 1;
return this
}
if (k === "body" && !r) {
this.context = t;
this[0] = t.body;
this.selector = "body";
this.length = 1;
return this
}
if (typeof k === "string")
if ((x = D.exec(k)) && (x[1] || !r))
if (x[1]) {
F = r ? r.ownerDocument || r : t;
if (k = u.exec(k))
if (n.isPlainObject(r)) {
k = [t.createElement(k[1])];
n.fn.attr.call(k, r, true)
} else k = [F.createElement(k[1])];
else {
k = I([x[1]], [F]);
k = (k.cacheable ? k.fragment.cloneNode(true) : k.fragment).childNodes
}
return n.merge(this, k)
} else {
if (r = t.getElementById(x[2])) {
if (r.id !== x[2]) return z.find(k);
this.length = 1;
this[0] = r
}
this.context = t;
this.selector = k;
return this
} else if (!r && /^\w+$/.test(k)) {
this.selector = k;
this.context = t;
k = t.getElementsByTagName(k);
return n.merge(this, k)
} else return !r || r.jquery ? (r || z).find(k) : n(r).find(k);
else if (n.isFunction(k)) return z.ready(k);
if (k.selector !== b) {
this.selector = k.selector;
this.context = k.context
}
return n.makeArray(k, this)
},
selector: "",
jquery: "1.4.2",
length: 0,
size: function() {
return this.length
},
toArray: function() {
return ja.call(this, 0)
},
get: function(k) {
return k == null ? this.toArray() : k < 0 ? this.slice(k)[0] : this[k]
},
pushStack: function(k, r, x) {
var F = n();
n.isArray(k) ? ga.apply(F, k) : n.merge(F, k);
F.prevObject = this;
F.context = this.context;
if (r === "find") F.selector = this.selector + (this.selector ? " " : "") + x;
else if (r) F.selector = this.selector +
"." + r + "(" + x + ")";
return F
},
each: function(k, r) {
return n.each(this, k, r)
},
ready: function(k) {
n.bindReady();
if (n.isReady) k.call(t, n);
else J && J.push(k);
return this
},
eq: function(k) {
return k === -1 ? this.slice(k) : this.slice(k, +k + 1)
},
first: function() {
return this.eq(0)
},
last: function() {
return this.eq(-1)
},
slice: function() {
return this.pushStack(ja.apply(this, arguments), "slice", ja.call(arguments).join(","))
},
map: function(k) {
return this.pushStack(n.map(this, function(r, x) {
return k.call(r, x, r)
}))
},
end: function() {
return this.prevObject ||
n(null)
},
push: ga,
sort: [].sort,
splice: [].splice
};
n.fn.init.prototype = n.fn;
n.extend = n.fn.extend = function() {
var k = arguments[0] || {},
r = 1,
x = arguments.length,
F = false,
E, T, V, ca;
if (typeof k === "boolean") {
F = k;
k = arguments[1] || {};
r = 2
}
if (typeof k !== "object" && !n.isFunction(k)) k = {};
if (x === r) {
k = this;
--r
}
for (; r < x; r++)
if ((E = arguments[r]) != null)
for (T in E) {
V = k[T];
ca = E[T];
if (k !== ca)
if (F && ca && (n.isPlainObject(ca) || n.isArray(ca))) {
V = V && (n.isPlainObject(V) || n.isArray(V)) ? V : n.isArray(ca) ? [] : {};
k[T] = n.extend(F, V, ca)
} else if (ca !==
b) k[T] = ca
}
return k
};
n.extend({
noConflict: function(k) {
a.$ = p;
if (k) a.jQuery = G;
return n
},
isReady: false,
ready: function() {
if (!n.isReady) {
if (!t.body) return setTimeout(n.ready, 13);
n.isReady = true;
if (J) {
for (var k, r = 0; k = J[r++];) k.call(t, n);
J = null
}
n.fn.triggerHandler && n(t).triggerHandler("ready")
}
},
bindReady: function() {
if (!H) {
H = true;
if (t.readyState === "complete") return n.ready();
if (t.addEventListener) {
t.addEventListener("DOMContentLoaded", R, false);
a.addEventListener("load", n.ready, false)
} else if (t.attachEvent) {
t.attachEvent("onreadystatechange",
R);
a.attachEvent("onload", n.ready);
var k = false;
try {
k = a.frameElement == null
} catch (r) {}
t.documentElement.doScroll && k && d()
}
}
},
isFunction: function(k) {
return U.call(k) === "[object Function]"
},
isArray: function(k) {
return U.call(k) === "[object Array]"
},
isPlainObject: function(k) {
if (!k || U.call(k) !== "[object Object]" || k.nodeType || k.setInterval) return false;
if (k.constructor && !X.call(k, "constructor") && !X.call(k.constructor.prototype, "isPrototypeOf")) return false;
for (var r in k);
return r === b || X.call(k, r)
},
isEmptyObject: function(k) {
for (var r in k) return false;
return true
},
error: function(k) {
throw k;
},
parseJSON: function(k) {
if (typeof k !== "string" || !k) return null;
k = n.trim(k);
if (/^[\],:{}\s]*$/.test(k.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) return a.JSON && a.JSON.parse ? a.JSON.parse(k) : (new Function("return " + k))();
else n.error("Invalid JSON: " + k)
},
noop: function() {},
globalEval: function(k) {
if (k && B.test(k)) {
var r = t.getElementsByTagName("head")[0] ||
t.documentElement,
x = t.createElement("script");
x.type = "text/javascript";
if (n.support.scriptEval) x.appendChild(t.createTextNode(k));
else x.text = k;
r.insertBefore(x, r.firstChild);
r.removeChild(x)
}
},
nodeName: function(k, r) {
return k.nodeName && k.nodeName.toUpperCase() === r.toUpperCase()
},
each: function(k, r, x) {
var F, E = 0,
T = k.length,
V = T === b || n.isFunction(k);
if (x)
if (V)
for (F in k) {
if (r.apply(k[F], x) === false) break
} else
for (; E < T;) {
if (r.apply(k[E++], x) === false) break
} else if (V)
for (F in k) {
if (r.call(k[F], F, k[F]) === false) break
} else
for (x =
k[0]; E < T && r.call(x, E, x) !== false; x = k[++E]);
return k
},
trim: function(k) {
return (k || "").replace(m, "")
},
makeArray: function(k, r) {
r = r || [];
if (k != null) k.length == null || typeof k === "string" || n.isFunction(k) || typeof k !== "function" && k.setInterval ? ga.call(r, k) : n.merge(r, k);
return r
},
inArray: function(k, r) {
if (r.indexOf) return r.indexOf(k);
for (var x = 0, F = r.length; x < F; x++)
if (r[x] === k) return x;
return -1
},
merge: function(k, r) {
var x = k.length,
F = 0;
if (typeof r.length === "number")
for (var E = r.length; F < E; F++) k[x++] = r[F];
else
for (; r[F] !==
b;) k[x++] = r[F++];
k.length = x;
return k
},
grep: function(k, r, x) {
for (var F = [], E = 0, T = k.length; E < T; E++) !x !== !r(k[E], E) && F.push(k[E]);
return F
},
map: function(k, r, x) {
for (var F = [], E, T = 0, V = k.length; T < V; T++) {
E = r(k[T], T, x);
if (E != null) F[F.length] = E
}
return F.concat.apply([], F)
},
guid: 1,
proxy: function(k, r, x) {
if (arguments.length === 2)
if (typeof r === "string") {
x = k;
k = x[r];
r = b
} else if (r && !n.isFunction(r)) {
x = r;
r = b
}
if (!r && k) r = function() {
return k.apply(x || this, arguments)
};
if (k) r.guid = k.guid = k.guid || r.guid || n.guid++;
return r
},
uaMatch: function(k) {
k = k.toLowerCase();
k = /(webkit)[ \/]([\w.]+)/.exec(k) || /(opera)(?:.*version)?[ \/]([\w.]+)/.exec(k) || /(msie) ([\w.]+)/.exec(k) || !/compatible/.test(k) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec(k) || [];
return {
browser: k[1] || "",
version: k[2] || "0"
}
},
browser: {}
});
y = n.uaMatch(y);
if (y.browser) {
n.browser[y.browser] = true;
n.browser.version = y.version
}
if (n.browser.webkit) n.browser.safari = true;
if (la) n.inArray = function(k, r) {
return la.call(r, k)
};
z = n(t);
if (t.addEventListener) R = function() {
t.removeEventListener("DOMContentLoaded",
R, false);
n.ready()
};
else if (t.attachEvent) R = function() {
if (t.readyState === "complete") {
t.detachEvent("onreadystatechange", R);
n.ready()
}
};
(function() {
n.support = {};
var k = t.documentElement,
r = t.createElement("script"),
x = t.createElement("div"),
F = "script" + j();
x.style.display = "none";
x.innerHTML = " <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
var E = x.getElementsByTagName("*"),
T = x.getElementsByTagName("a")[0];
if (!(!E || !E.length || !T)) {
n.support = {
leadingWhitespace: x.firstChild.nodeType === 3,
tbody: !x.getElementsByTagName("tbody").length,
htmlSerialize: !!x.getElementsByTagName("link").length,
style: /red/.test(T.getAttribute("style")),
hrefNormalized: T.getAttribute("href") === "/a",
opacity: /^0.55$/.test(T.style.opacity),
cssFloat: !!T.style.cssFloat,
checkOn: x.getElementsByTagName("input")[0].value === "on",
optSelected: t.createElement("select").appendChild(t.createElement("option")).selected,
parentNode: x.removeChild(x.appendChild(t.createElement("div"))).parentNode ===
null,
deleteExpando: true,
checkClone: false,
scriptEval: false,
noCloneEvent: true,
boxModel: null
};
r.type = "text/javascript";
try {
r.appendChild(t.createTextNode("window." + F + "=1;"))
} catch (V) {}
k.insertBefore(r, k.firstChild);
if (a[F]) {
n.support.scriptEval = true;
delete a[F]
}
try {
delete r.test
} catch (ca) {
n.support.deleteExpando = false
}
k.removeChild(r);
if (x.attachEvent && x.fireEvent) {
x.attachEvent("onclick", function aa() {
n.support.noCloneEvent = false;
x.detachEvent("onclick", aa)
});
x.cloneNode(true).fireEvent("onclick")
}
x =
t.createElement("div");
x.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>";
k = t.createDocumentFragment();
k.appendChild(x.firstChild);
n.support.checkClone = k.cloneNode(true).cloneNode(true).lastChild.checked;
n(function() {
var aa = t.createElement("div");
aa.style.width = aa.style.paddingLeft = "1px";
t.body.appendChild(aa);
n.boxModel = n.support.boxModel = aa.offsetWidth === 2;
t.body.removeChild(aa).style.display = "none"
});
k = function(aa) {
var da = t.createElement("div");
aa = "on" + aa;
var ha = aa in da;
if (!ha) {
da.setAttribute(aa,
"return;");
ha = typeof da[aa] === "function"
}
return ha
};
n.support.submitBubbles = k("submit");
n.support.changeBubbles = k("change");
k = r = x = E = T = null
}
})();
n.props = {
"for": "htmlFor",
"class": "className",
readonly: "readOnly",
maxlength: "maxLength",
cellspacing: "cellSpacing",
rowspan: "rowSpan",
colspan: "colSpan",
tabindex: "tabIndex",
usemap: "useMap",
frameborder: "frameBorder"
};
var ka = "jQuery" + j(),
ra = 0,
pa = {};
n.extend({
cache: {},
expando: ka,
noData: {
embed: true,
object: true,
applet: true
},
data: function(k, r, x) {
if (!(k.nodeName && n.noData[k.nodeName.toLowerCase()])) {
k =
k == a ? pa : k;
var F = k[ka],
E = n.cache;
if (!F && typeof r === "string" && x === b) return null;
F || (F = ++ra);
if (typeof r === "object") {
k[ka] = F;
E[F] = n.extend(true, {}, r)
} else if (!E[F]) {
k[ka] = F;
E[F] = {}
}
k = E[F];
if (x !== b) k[r] = x;
return typeof r === "string" ? k[r] : k
}
},
removeData: function(k, r) {
if (!(k.nodeName && n.noData[k.nodeName.toLowerCase()])) {
k = k == a ? pa : k;
var x = k[ka],
F = n.cache,
E = F[x];
if (r) {
if (E) {
delete E[r];
n.isEmptyObject(E) && n.removeData(k)
}
} else {
if (n.support.deleteExpando) delete k[n.expando];
else k.removeAttribute && k.removeAttribute(n.expando);
delete F[x]
}
}
}
});
n.fn.extend({
data: function(k, r) {
if (typeof k === "undefined" && this.length) return n.data(this[0]);
else if (typeof k === "object") return this.each(function() {
n.data(this, k)
});
var x = k.split(".");
x[1] = x[1] ? "." + x[1] : "";
if (r === b) {
var F = this.triggerHandler("getData" + x[1] + "!", [x[0]]);
if (F === b && this.length) F = n.data(this[0], k);
return F === b && x[1] ? this.data(x[0]) : F
} else return this.trigger("setData" + x[1] + "!", [x[0], r]).each(function() {
n.data(this, k, r)
})
},
removeData: function(k) {
return this.each(function() {
n.removeData(this,
k)
})
}
});
n.extend({
queue: function(k, r, x) {
if (k) {
r = (r || "fx") + "queue";
var F = n.data(k, r);
if (!x) return F || [];
if (!F || n.isArray(x)) F = n.data(k, r, n.makeArray(x));
else F.push(x);
return F
}
},
dequeue: function(k, r) {
r = r || "fx";
var x = n.queue(k, r),
F = x.shift();
if (F === "inprogress") F = x.shift();
if (F) {
r === "fx" && x.unshift("inprogress");
F.call(k, function() {
n.dequeue(k, r)
})
}
}
});
n.fn.extend({
queue: function(k, r) {
if (typeof k !== "string") {
r = k;
k = "fx"
}
if (r === b) return n.queue(this[0], k);
return this.each(function() {
var x = n.queue(this,
k, r);
k === "fx" && x[0] !== "inprogress" && n.dequeue(this, k)
})
},
dequeue: function(k) {
return this.each(function() {
n.dequeue(this, k)
})
},
delay: function(k, r) {
k = n.fx ? n.fx.speeds[k] || k : k;
r = r || "fx";
return this.queue(r, function() {
var x = this;
setTimeout(function() {
n.dequeue(x, r)
}, k)
})
},
clearQueue: function(k) {
return this.queue(k || "fx", [])
}
});
var xa = /[\n\t]/g,
P = /\s+/,
O = /\r/g,
L = /href|src|style/,
W = /(button|input)/i,
Z = /(button|input|object|select|textarea)/i,
ia = /^(a|area)$/i,
ma = /radio|checkbox/;
n.fn.extend({
attr: function(k,
r) {
return g(this, k, r, true, n.attr)
},
removeAttr: function(k) {
return this.each(function() {
n.attr(this, k, "");
this.nodeType === 1 && this.removeAttribute(k)
})
},
addClass: function(k) {
if (n.isFunction(k)) return this.each(function(da) {
var ha = n(this);
ha.addClass(k.call(this, da, ha.attr("class")))
});
if (k && typeof k === "string")
for (var r = (k || "").split(P), x = 0, F = this.length; x < F; x++) {
var E = this[x];
if (E.nodeType === 1)
if (E.className) {
for (var T = " " + E.className + " ", V = E.className, ca = 0, aa = r.length; ca < aa; ca++)
if (T.indexOf(" " + r[ca] +
" ") < 0) V += " " + r[ca];
E.className = n.trim(V)
} else E.className = k
}
return this
},
removeClass: function(k) {
if (n.isFunction(k)) return this.each(function(aa) {
var da = n(this);
da.removeClass(k.call(this, aa, da.attr("class")))
});
if (k && typeof k === "string" || k === b)
for (var r = (k || "").split(P), x = 0, F = this.length; x < F; x++) {
var E = this[x];
if (E.nodeType === 1 && E.className)
if (k) {
for (var T = (" " + E.className + " ").replace(xa, " "), V = 0, ca = r.length; V < ca; V++) T = T.replace(" " + r[V] + " ", " ");
E.className = n.trim(T)
} else E.className = ""
}
return this
},
toggleClass: function(k, r) {
var x = typeof k,
F = typeof r === "boolean";
if (n.isFunction(k)) return this.each(function(E) {
var T = n(this);
T.toggleClass(k.call(this, E, T.attr("class"), r), r)
});
return this.each(function() {
if (x === "string")
for (var E, T = 0, V = n(this), ca = r, aa = k.split(P); E = aa[T++];) {
ca = F ? ca : !V.hasClass(E);
V[ca ? "addClass" : "removeClass"](E)
} else if (x === "undefined" || x === "boolean") {
this.className && n.data(this, "__className__", this.className);
this.className = this.className || k === false ? "" : n.data(this, "__className__") ||
""
}
})
},
hasClass: function(k) {
k = " " + k + " ";
for (var r = 0, x = this.length; r < x; r++)
if ((" " + this[r].className + " ").replace(xa, " ").indexOf(k) > -1) return true;
return false
},
val: function(k) {
if (k === b) {
var r = this[0];
if (r) {
if (n.nodeName(r, "option")) return (r.attributes.value || {}).specified ? r.value : r.text;
if (n.nodeName(r, "select")) {
var x = r.selectedIndex,
F = [],
E = r.options;
r = r.type === "select-one";
if (x < 0) return null;
var T = r ? x : 0;
for (x = r ? x + 1 : E.length; T < x; T++) {
var V = E[T];
if (V.selected) {
k = n(V).val();
if (r) return k;
F.push(k)
}
}
return F
}
if (ma.test(r.type) &&
!n.support.checkOn) return r.getAttribute("value") === null ? "on" : r.value;
return (r.value || "").replace(O, "")
}
return b
}
var ca = n.isFunction(k);
return this.each(function(aa) {
var da = n(this),
ha = k;
if (this.nodeType === 1) {
if (ca) ha = k.call(this, aa, da.val());
if (typeof ha === "number") ha += "";
if (n.isArray(ha) && ma.test(this.type)) this.checked = n.inArray(da.val(), ha) >= 0;
else if (n.nodeName(this, "select")) {
var qa = n.makeArray(ha);
n("option", this).each(function() {
this.selected = n.inArray(n(this).val(), qa) >= 0
});
if (!qa.length) this.selectedIndex = -1
} else this.value = ha
}
})
}
});
n.extend({
attrFn: {
val: true,
css: true,
html: true,
text: true,
data: true,
width: true,
height: true,
offset: true
},
attr: function(k, r, x, F) {
if (!k || k.nodeType === 3 || k.nodeType === 8) return b;
if (F && r in n.attrFn) return n(k)[r](x);
F = k.nodeType !== 1 || !n.isXMLDoc(k);
var E = x !== b;
r = F && n.props[r] || r;
if (k.nodeType === 1) {
var T = L.test(r);
if (r in k && F && !T) {
if (E) {
r === "type" && W.test(k.nodeName) && k.parentNode && n.error("type property can't be changed");
k[r] = x
}
if (n.nodeName(k, "form") && k.getAttributeNode(r)) return k.getAttributeNode(r).nodeValue;
if (r === "tabIndex") return (r = k.getAttributeNode("tabIndex")) && r.specified ? r.value : Z.test(k.nodeName) || ia.test(k.nodeName) && k.href ? 0 : b;
return k[r]
}
if (!n.support.style && F && r === "style") {
if (E) k.style.cssText = "" + x;
return k.style.cssText
}
E && k.setAttribute(r, "" + x);
k = !n.support.hrefNormalized && F && T ? k.getAttribute(r, 2) : k.getAttribute(r);
return k === null ? b : k
}
return n.style(k, r, x)
}
});
var ua = /\.(.*)$/,
ta = function(k) {
return k.replace(/[^\w\s\.\|`]/g, function(r) {
return "\\" + r
})
};
n.event = {
add: function(k, r, x, F) {
if (!(k.nodeType ===
3 || k.nodeType === 8)) {
if (k.setInterval && k !== a && !k.frameElement) k = a;
var E, T;
if (x.handler) {
E = x;
x = E.handler
}
if (!x.guid) x.guid = n.guid++;
if (T = n.data(k)) {
var V = T.events = T.events || {},
ca = T.handle;
if (!ca) T.handle = ca = function() {
return typeof n !== "undefined" && !n.event.triggered ? n.event.handle.apply(ca.elem, arguments) : b
};
ca.elem = k;
r = r.split(" ");
for (var aa, da = 0, ha; aa = r[da++];) {
T = E ? n.extend({}, E) : {
handler: x,
data: F
};
if (aa.indexOf(".") > -1) {
ha = aa.split(".");
aa = ha.shift();
T.namespace = ha.slice(0).sort().join(".")
} else {
ha = [];
T.namespace = ""
}
T.type = aa;
T.guid = x.guid;
var qa = V[aa],
wa = n.event.special[aa] || {};
if (!qa) {
qa = V[aa] = [];
if (!wa.setup || wa.setup.call(k, F, ha, ca) === false)
if (k.addEventListener) k.addEventListener(aa, ca, false);
else k.attachEvent && k.attachEvent("on" + aa, ca)
}
if (wa.add) {
wa.add.call(k, T);
if (!T.handler.guid) T.handler.guid = x.guid
}
qa.push(T);
n.event.global[aa] = true
}
k = null
}
}
},
global: {},
remove: function(k, r, x, F) {
if (!(k.nodeType === 3 || k.nodeType === 8)) {
var E, T = 0,
V, ca, aa, da, ha, qa, wa = n.data(k),
Ba = wa && wa.events;
if (wa && Ba) {
if (r &&
r.type) {
x = r.handler;
r = r.type
}
if (!r || typeof r === "string" && r.charAt(0) === ".") {
r = r || "";
for (E in Ba) n.event.remove(k, E + r)
} else {
for (r = r.split(" "); E = r[T++];) {
da = E;
V = E.indexOf(".") < 0;
ca = [];
if (!V) {
ca = E.split(".");
E = ca.shift();
aa = RegExp("(^|\\.)" + n.map(ca.slice(0).sort(), ta).join("\\.(?:.*\\.)?") + "(\\.|$)")
}
if (ha = Ba[E])
if (x) {
da = n.event.special[E] || {};
for (ya = F || 0; ya < ha.length; ya++) {
qa = ha[ya];
if (x.guid === qa.guid) {
if (V || aa.test(qa.namespace)) {
F == null && ha.splice(ya--, 1);
da.remove && da.remove.call(k, qa)
}
if (F !=
null) break
}
}
if (ha.length === 0 || F != null && ha.length === 1) {
if (!da.teardown || da.teardown.call(k, ca) === false) za(k, E, wa.handle);
delete Ba[E]
}
} else
for (var ya = 0; ya < ha.length; ya++) {
qa = ha[ya];
if (V || aa.test(qa.namespace)) {
n.event.remove(k, da, qa.handler, ya);
ha.splice(ya--, 1)
}
}
}
if (n.isEmptyObject(Ba)) {
if (r = wa.handle) r.elem = null;
delete wa.events;
delete wa.handle;
n.isEmptyObject(wa) && n.removeData(k)
}
}
}
}
},
trigger: function(k, r, x, F) {
var E = k.type || k;
if (!F) {
k = typeof k === "object" ? k[ka] ? k : n.extend(n.Event(E), k) : n.Event(E);
if (E.indexOf("!") >= 0) {
k.type = E = E.slice(0, -1);
k.exclusive = true
}
if (!x) {
k.stopPropagation();
n.event.global[E] && n.each(n.cache, function() {
this.events && this.events[E] && n.event.trigger(k, r, this.handle.elem)
})
}
if (!x || x.nodeType === 3 || x.nodeType === 8) return b;
k.result = b;
k.target = x;
r = n.makeArray(r);
r.unshift(k)
}
k.currentTarget = x;
(F = n.data(x, "handle")) && F.apply(x, r);
F = x.parentNode || x.ownerDocument;
try {
if (!(x && x.nodeName && n.noData[x.nodeName.toLowerCase()]))
if (x["on" + E] && x["on" + E].apply(x, r) === false) k.result =
false
} catch (T) {}
if (!k.isPropagationStopped() && F) n.event.trigger(k, r, F, true);
else if (!k.isDefaultPrevented()) {
F = k.target;
var V, ca = n.nodeName(F, "a") && E === "click",
aa = n.event.special[E] || {};
if ((!aa._default || aa._default.call(x, k) === false) && !ca && !(F && F.nodeName && n.noData[F.nodeName.toLowerCase()])) {
try {
if (F[E]) {
if (V = F["on" + E]) F["on" + E] = null;
n.event.triggered = true;
F[E]()
}
} catch (da) {}
if (V) F["on" + E] = V;
n.event.triggered = false
}
}
},
handle: function(k) {
var r, x, F, E;
k = arguments[0] = n.event.fix(k || a.event);
k.currentTarget =
this;
r = k.type.indexOf(".") < 0 && !k.exclusive;
if (!r) {
x = k.type.split(".");
k.type = x.shift();
F = RegExp("(^|\\.)" + x.slice(0).sort().join("\\.(?:.*\\.)?") + "(\\.|$)")
}
E = n.data(this, "events");
x = E[k.type];
if (E && x) {
x = x.slice(0);
E = 0;
for (var T = x.length; E < T; E++) {
var V = x[E];
if (r || F.test(V.namespace)) {
k.handler = V.handler;
k.data = V.data;
k.handleObj = V;
V = V.handler.apply(this, arguments);
if (V !== b) {
k.result = V;
if (V === false) {
k.preventDefault();
k.stopPropagation()
}
}
if (k.isImmediatePropagationStopped()) break
}
}
}
return k.result
},
props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
fix: function(k) {
if (k[ka]) return k;
var r = k;
k = n.Event(r);
for (var x = this.props.length, F; x;) {
F = this.props[--x];
k[F] = r[F]
}
if (!k.target) k.target = k.srcElement ||
t;
if (k.target.nodeType === 3) k.target = k.target.parentNode;
if (!k.relatedTarget && k.fromElement) k.relatedTarget = k.fromElement === k.target ? k.toElement : k.fromElement;
if (k.pageX == null && k.clientX != null) {
r = t.documentElement;
x = t.body;
k.pageX = k.clientX + (r && r.scrollLeft || x && x.scrollLeft || 0) - (r && r.clientLeft || x && x.clientLeft || 0);
k.pageY = k.clientY + (r && r.scrollTop || x && x.scrollTop || 0) - (r && r.clientTop || x && x.clientTop || 0)
}
if (!k.which && (k.charCode || k.charCode === 0 ? k.charCode : k.keyCode)) k.which = k.charCode || k.keyCode;
if (!k.metaKey &&
k.ctrlKey) k.metaKey = k.ctrlKey;
if (!k.which && k.button !== b) k.which = k.button & 1 ? 1 : k.button & 2 ? 3 : k.button & 4 ? 2 : 0;
return k
},
guid: 1E8,
proxy: n.proxy,
special: {
ready: {
setup: n.bindReady,
teardown: n.noop
},
live: {
add: function(k) {
n.event.add(this, k.origType, n.extend({}, k, {
handler: A
}))
},
remove: function(k) {
var r = true,
x = k.origType.replace(ua, "");
n.each(n.data(this, "events").live || [], function() {
if (x === this.origType.replace(ua, "")) return r = false
});
r && n.event.remove(this, k.origType, A)
}
},
beforeunload: {
setup: function(k, r, x) {
if (this.setInterval) this.onbeforeunload =
x;
return false
},
teardown: function(k, r) {
if (this.onbeforeunload === r) this.onbeforeunload = null
}
}
}
};
var za = t.removeEventListener ? function(k, r, x) {
k.removeEventListener(r, x, false)
} : function(k, r, x) {
k.detachEvent("on" + r, x)
};
n.Event = function(k) {
if (!this.preventDefault) return new n.Event(k);
if (k && k.type) {
this.originalEvent = k;
this.type = k.type
} else this.type = k;
this.timeStamp = j();
this[ka] = true
};
n.Event.prototype = {
preventDefault: function() {
this.isDefaultPrevented = o;
var k = this.originalEvent;
if (k) {
k.preventDefault &&
k.preventDefault();
k.returnValue = false
}
},
stopPropagation: function() {
this.isPropagationStopped = o;
var k = this.originalEvent;
if (k) {
k.stopPropagation && k.stopPropagation();
k.cancelBubble = true
}
},
stopImmediatePropagation: function() {
this.isImmediatePropagationStopped = o;
this.stopPropagation()
},
isDefaultPrevented: l,
isPropagationStopped: l,
isImmediatePropagationStopped: l
};
var Aa = function(k) {
var r = k.relatedTarget;
try {
for (; r && r !== this;) r = r.parentNode;
if (r !== this) {
k.type = k.data;
n.event.handle.apply(this, arguments)
}
} catch (x) {}
},
Ha = function(k) {
k.type = k.data;
n.event.handle.apply(this, arguments)
};
n.each({
mouseenter: "mouseover",
mouseleave: "mouseout"
}, function(k, r) {
n.event.special[k] = {
setup: function(x) {
n.event.add(this, r, x && x.selector ? Ha : Aa, k)
},
teardown: function(x) {
n.event.remove(this, r, x && x.selector ? Ha : Aa)
}
}
});
if (!n.support.submitBubbles) n.event.special.submit = {
setup: function() {
if (this.nodeName.toLowerCase() !== "form") {
n.event.add(this, "click.specialSubmit", function(k) {
var r = k.target,
x = r.type;
if ((x === "submit" || x === "image") &&
n(r).closest("form").length) return v("submit", this, arguments)
});
n.event.add(this, "keypress.specialSubmit", function(k) {
var r = k.target,
x = r.type;
if ((x === "text" || x === "password") && n(r).closest("form").length && k.keyCode === 13) return v("submit", this, arguments)
})
} else return false
},
teardown: function() {
n.event.remove(this, ".specialSubmit")
}
};
if (!n.support.changeBubbles) {
var Ia = /textarea|input|select/i,
Fa, Ga = function(k) {
var r = k.type,
x = k.value;
if (r === "radio" || r === "checkbox") x = k.checked;
else if (r === "select-multiple") x =
k.selectedIndex > -1 ? n.map(k.options, function(F) {
return F.selected
}).join("-") : "";
else if (k.nodeName.toLowerCase() === "select") x = k.selectedIndex;
return x
},
Ja = function(k, r) {
var x = k.target,
F, E;
if (!(!Ia.test(x.nodeName) || x.readOnly)) {
F = n.data(x, "_change_data");
E = Ga(x);
if (k.type !== "focusout" || x.type !== "radio") n.data(x, "_change_data", E);
if (!(F === b || E === F))
if (F != null || E) {
k.type = "change";
return n.event.trigger(k, r, x)
}
}
};
n.event.special.change = {
filters: {
focusout: Ja,
click: function(k) {
var r = k.target,
x = r.type;
if (x === "radio" || x === "checkbox" || r.nodeName.toLowerCase() === "select") return Ja.call(this, k)
},
keydown: function(k) {
var r = k.target,
x = r.type;
if (k.keyCode === 13 && r.nodeName.toLowerCase() !== "textarea" || k.keyCode === 32 && (x === "checkbox" || x === "radio") || x === "select-multiple") return Ja.call(this, k)
},
beforeactivate: function(k) {
k = k.target;
n.data(k, "_change_data", Ga(k))
}
},
setup: function() {
if (this.type === "file") return false;
for (var k in Fa) n.event.add(this, k + ".specialChange", Fa[k]);
return Ia.test(this.nodeName)
},
teardown: function() {
n.event.remove(this,
".specialChange");
return Ia.test(this.nodeName)
}
};
Fa = n.event.special.change.filters
}
t.addEventListener && n.each({
focus: "focusin",
blur: "focusout"
}, function(k, r) {
function x(F) {
F = n.event.fix(F);
F.type = r;
return n.event.handle.call(this, F)
}
n.event.special[r] = {
setup: function() {
this.addEventListener(k, x, true)
},
teardown: function() {
this.removeEventListener(k, x, true)
}
}
});
n.each(["bind", "one"], function(k, r) {
n.fn[r] = function(x, F, E) {
if (typeof x === "object") {
for (var T in x) this[r](T, F, x[T], E);
return this
}
if (n.isFunction(F)) {
E =
F;
F = b
}
var V = r === "one" ? n.proxy(E, function(aa) {
n(this).unbind(aa, V);
return E.apply(this, arguments)
}) : E;
if (x === "unload" && r !== "one") this.one(x, F, E);
else {
T = 0;
for (var ca = this.length; T < ca; T++) n.event.add(this[T], x, V, F)
}
return this
}
});
n.fn.extend({
unbind: function(k, r) {
if (typeof k === "object" && !k.preventDefault)
for (var x in k) this.unbind(x, k[x]);
else {
x = 0;
for (var F = this.length; x < F; x++) n.event.remove(this[x], k, r)
}
return this
},
delegate: function(k, r, x, F) {
return this.live(r, x, F, k)
},
undelegate: function(k, r, x) {
return arguments.length ===
0 ? this.unbind("live") : this.die(r, null, x, k)
},
trigger: function(k, r) {
return this.each(function() {
n.event.trigger(k, r, this)
})
},
triggerHandler: function(k, r) {
if (this[0]) {
k = n.Event(k);
k.preventDefault();
k.stopPropagation();
n.event.trigger(k, r, this[0]);
return k.result
}
},
toggle: function(k) {
for (var r = arguments, x = 1; x < r.length;) n.proxy(k, r[x++]);
return this.click(n.proxy(k, function(F) {
var E = (n.data(this, "lastToggle" + k.guid) || 0) % x;
n.data(this, "lastToggle" + k.guid, E + 1);
F.preventDefault();
return r[E].apply(this,
arguments) || false
}))
},
hover: function(k, r) {
return this.mouseenter(k).mouseleave(r || k)
}
});
var Ma = {
focus: "focusin",
blur: "focusout",
mouseenter: "mouseover",
mouseleave: "mouseout"
};
n.each(["live", "die"], function(k, r) {
n.fn[r] = function(x, F, E, T) {
var V, ca = 0,
aa, da, ha = T || this.selector,
qa = T ? this : n(this.context);
if (n.isFunction(F)) {
E = F;
F = b
}
for (x = (x || "").split(" ");
(V = x[ca++]) != null;) {
T = ua.exec(V);
aa = "";
if (T) {
aa = T[0];
V = V.replace(ua, "")
}
if (V === "hover") x.push("mouseenter" + aa, "mouseleave" + aa);
else {
da = V;
if (V === "focus" ||
V === "blur") {
x.push(Ma[V] + aa);
V += aa
} else V = (Ma[V] || V) + aa;
r === "live" ? qa.each(function() {
n.event.add(this, C(V, ha), {
data: F,
selector: ha,
handler: E,
origType: V,
origHandler: E,
preType: da
})
}) : qa.unbind(C(V, ha), E)
}
}
return this
}
});
n.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".split(" "), function(k, r) {
n.fn[r] = function(x) {
return x ? this.bind(r, x) : this.trigger(r)
};
if (n.attrFn) n.attrFn[r] = true
});
a.attachEvent && !a.addEventListener && a.attachEvent("onunload", function() {
for (var k in n.cache)
if (n.cache[k].handle) try {
n.event.remove(n.cache[k].handle.elem)
} catch (r) {}
});
(function() {
function k(N) {
for (var S = "", Y, ba = 0; N[ba]; ba++) {
Y = N[ba];
if (Y.nodeType === 3 || Y.nodeType === 4) S += Y.nodeValue;
else if (Y.nodeType !== 8) S += k(Y.childNodes)
}
return S
}
function r(N, S, Y, ba, fa, ea) {
fa = 0;
for (var oa = ba.length; fa < oa; fa++) {
var na = ba[fa];
if (na) {
na = na[N];
for (var va = false; na;) {
if (na.sizcache ===
Y) {
va = ba[na.sizset];
break
}
if (na.nodeType === 1 && !ea) {
na.sizcache = Y;
na.sizset = fa
}
if (na.nodeName.toLowerCase() === S) {
va = na;
break
}
na = na[N]
}
ba[fa] = va
}
}
}
function x(N, S, Y, ba, fa, ea) {
fa = 0;
for (var oa = ba.length; fa < oa; fa++) {
var na = ba[fa];
if (na) {
na = na[N];
for (var va = false; na;) {
if (na.sizcache === Y) {
va = ba[na.sizset];
break
}
if (na.nodeType === 1) {
if (!ea) {
na.sizcache = Y;
na.sizset = fa
}
if (typeof S !== "string") {
if (na === S) {
va = true;
break
}
} else if (aa.filter(S, [na]).length > 0) {
va = na;
break
}
}
na = na[N]
}
ba[fa] = va
}
}
}
var F = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
E = 0,
T = Object.prototype.toString,
V = false,
ca = true;
[0, 0].sort(function() {
ca = false;
return 0
});
var aa = function(N, S, Y, ba) {
Y = Y || [];
var fa = S = S || t;
if (S.nodeType !== 1 && S.nodeType !== 9) return [];
if (!N || typeof N !== "string") return Y;
for (var ea = [], oa, na, va, Pa, Ka = true, Na = sa(S), La = N;
(F.exec(""), oa = F.exec(La)) !== null;) {
La = oa[3];
ea.push(oa[1]);
if (oa[2]) {
Pa = oa[3];
break
}
}
if (ea.length > 1 && ha.exec(N))
if (ea.length === 2 && da.relative[ea[0]]) na = Ta(ea[0] + ea[1], S);
else
for (na = da.relative[ea[0]] ? [S] : aa(ea.shift(), S); ea.length;) {
N =
ea.shift();
if (da.relative[N]) N += ea.shift();
na = Ta(N, na)
} else {
if (!ba && ea.length > 1 && S.nodeType === 9 && !Na && da.match.ID.test(ea[0]) && !da.match.ID.test(ea[ea.length - 1])) {
oa = aa.find(ea.shift(), S, Na);
S = oa.expr ? aa.filter(oa.expr, oa.set)[0] : oa.set[0]
}
if (S) {
oa = ba ? {
expr: ea.pop(),
set: wa(ba)
} : aa.find(ea.pop(), ea.length === 1 && (ea[0] === "~" || ea[0] === "+") && S.parentNode ? S.parentNode : S, Na);
na = oa.expr ? aa.filter(oa.expr, oa.set) : oa.set;
if (ea.length > 0) va = wa(na);
else Ka = false;
for (; ea.length;) {
var Ca = ea.pop();
oa = Ca;
if (da.relative[Ca]) oa =
ea.pop();
else Ca = "";
if (oa == null) oa = S;
da.relative[Ca](va, oa, Na)
}
} else va = []
}
va || (va = na);
va || aa.error(Ca || N);
if (T.call(va) === "[object Array]")
if (Ka)
if (S && S.nodeType === 1)
for (N = 0; va[N] != null; N++) {
if (va[N] && (va[N] === true || va[N].nodeType === 1 && Da(S, va[N]))) Y.push(na[N])
} else
for (N = 0; va[N] != null; N++) va[N] && va[N].nodeType === 1 && Y.push(na[N]);
else Y.push.apply(Y, va);
else wa(va, Y);
if (Pa) {
aa(Pa, fa, Y, ba);
aa.uniqueSort(Y)
}
return Y
};
aa.uniqueSort = function(N) {
if (ya) {
V = ca;
N.sort(ya);
if (V)
for (var S = 1; S < N.length; S++) N[S] ===
N[S - 1] && N.splice(S--, 1)
}
return N
};
aa.matches = function(N, S) {
return aa(N, null, null, S)
};
aa.find = function(N, S, Y) {
var ba, fa;
if (!N) return [];
for (var ea = 0, oa = da.order.length; ea < oa; ea++) {
var na = da.order[ea];
if (fa = da.leftMatch[na].exec(N)) {
var va = fa[1];
fa.splice(1, 1);
if (va.substr(va.length - 1) !== "\\") {
fa[1] = (fa[1] || "").replace(/\\/g, "");
ba = da.find[na](fa, S, Y);
if (ba != null) {
N = N.replace(da.match[na], "");
break
}
}
}
}
ba || (ba = S.getElementsByTagName("*"));
return {
set: ba,
expr: N
}
};
aa.filter = function(N, S, Y, ba) {
for (var fa =
N, ea = [], oa = S, na, va, Pa = S && S[0] && sa(S[0]); N && S.length;) {
for (var Ka in da.filter)
if ((na = da.leftMatch[Ka].exec(N)) != null && na[2]) {
var Na = da.filter[Ka],
La, Ca;
Ca = na[1];
va = false;
na.splice(1, 1);
if (Ca.substr(Ca.length - 1) !== "\\") {
if (oa === ea) ea = [];
if (da.preFilter[Ka])
if (na = da.preFilter[Ka](na, oa, Y, ea, ba, Pa)) {
if (na === true) continue
} else va = La = true;
if (na)
for (var Qa = 0;
(Ca = oa[Qa]) != null; Qa++)
if (Ca) {
La = Na(Ca, na, Qa, oa);
var bb = ba ^ !!La;
if (Y && La != null)
if (bb) va = true;
else oa[Qa] = false;
else if (bb) {
ea.push(Ca);
va = true
}
}
if (La !==
b) {
Y || (oa = ea);
N = N.replace(da.match[Ka], "");
if (!va) return [];
break
}
}
}
if (N === fa)
if (va == null) aa.error(N);
else break;
fa = N
}
return oa
};
aa.error = function(N) {
throw "Syntax error, unrecognized expression: " + N;
};
var da = aa.selectors = {
order: ["ID", "NAME", "TAG"],
match: {
ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,
ATTR: /\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,
CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,
POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,
PSEUDO: /:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
},
leftMatch: {},
attrMap: {
"class": "className",
"for": "htmlFor"
},
attrHandle: {
href: function(N) {
return N.getAttribute("href")
}
},
relative: {
"+": function(N, S) {
var Y = typeof S === "string",
ba = Y && !/\W/.test(S);
Y = Y && !ba;
if (ba) S = S.toLowerCase();
ba = 0;
for (var fa = N.length, ea; ba < fa; ba++)
if (ea = N[ba]) {
for (;
(ea =
ea.previousSibling) && ea.nodeType !== 1;);
N[ba] = Y || ea && ea.nodeName.toLowerCase() === S ? ea || false : ea === S
}
Y && aa.filter(S, N, true)
},
">": function(N, S) {
var Y = typeof S === "string";
if (Y && !/\W/.test(S)) {
S = S.toLowerCase();
for (var ba = 0, fa = N.length; ba < fa; ba++) {
var ea = N[ba];
if (ea) {
Y = ea.parentNode;
N[ba] = Y.nodeName.toLowerCase() === S ? Y : false
}
}
} else {
ba = 0;
for (fa = N.length; ba < fa; ba++)
if (ea = N[ba]) N[ba] = Y ? ea.parentNode : ea.parentNode === S;
Y && aa.filter(S, N, true)
}
},
"": function(N, S, Y) {
var ba = E++,
fa = x;
if (typeof S === "string" && !/\W/.test(S)) {
var ea =
S = S.toLowerCase();
fa = r
}
fa("parentNode", S, ba, N, ea, Y)
},
"~": function(N, S, Y) {
var ba = E++,
fa = x;
if (typeof S === "string" && !/\W/.test(S)) {
var ea = S = S.toLowerCase();
fa = r
}
fa("previousSibling", S, ba, N, ea, Y)
}
},
find: {
ID: function(N, S, Y) {
if (typeof S.getElementById !== "undefined" && !Y) return (N = S.getElementById(N[1])) ? [N] : []
},
NAME: function(N, S) {
if (typeof S.getElementsByName !== "undefined") {
var Y = [];
S = S.getElementsByName(N[1]);
for (var ba = 0, fa = S.length; ba < fa; ba++) S[ba].getAttribute("name") === N[1] && Y.push(S[ba]);
return Y.length ===
0 ? null : Y
}
},
TAG: function(N, S) {
return S.getElementsByTagName(N[1])
}
},
preFilter: {
CLASS: function(N, S, Y, ba, fa, ea) {
N = " " + N[1].replace(/\\/g, "") + " ";
if (ea) return N;
ea = 0;
for (var oa;
(oa = S[ea]) != null; ea++)
if (oa)
if (fa ^ (oa.className && (" " + oa.className + " ").replace(/[\t\n]/g, " ").indexOf(N) >= 0)) Y || ba.push(oa);
else if (Y) S[ea] = false;
return false
},
ID: function(N) {
return N[1].replace(/\\/g, "")
},
TAG: function(N) {
return N[1].toLowerCase()
},
CHILD: function(N) {
if (N[1] === "nth") {
var S = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(N[2] ===
"even" && "2n" || N[2] === "odd" && "2n+1" || !/\D/.test(N[2]) && "0n+" + N[2] || N[2]);
N[2] = S[1] + (S[2] || 1) - 0;
N[3] = S[3] - 0
}
N[0] = E++;
return N
},
ATTR: function(N, S, Y, ba, fa, ea) {
S = N[1].replace(/\\/g, "");
if (!ea && da.attrMap[S]) N[1] = da.attrMap[S];
if (N[2] === "~=") N[4] = " " + N[4] + " ";
return N
},
PSEUDO: function(N, S, Y, ba, fa) {
if (N[1] === "not")
if ((F.exec(N[3]) || "").length > 1 || /^\w/.test(N[3])) N[3] = aa(N[3], null, null, S);
else {
N = aa.filter(N[3], S, Y, true ^ fa);
Y || ba.push.apply(ba, N);
return false
} else if (da.match.POS.test(N[0]) || da.match.CHILD.test(N[0])) return true;
return N
},
POS: function(N) {
N.unshift(true);
return N
}
},
filters: {
enabled: function(N) {
return N.disabled === false && N.type !== "hidden"
},
disabled: function(N) {
return N.disabled === true
},
checked: function(N) {
return N.checked === true
},
selected: function(N) {
return N.selected === true
},
parent: function(N) {
return !!N.firstChild
},
empty: function(N) {
return !N.firstChild
},
has: function(N, S, Y) {
return !!aa(Y[3], N).length
},
header: function(N) {
return /h\d/i.test(N.nodeName)
},
text: function(N) {
return "text" === N.type
},
radio: function(N) {
return "radio" ===
N.type
},
checkbox: function(N) {
return "checkbox" === N.type
},
file: function(N) {
return "file" === N.type
},
password: function(N) {
return "password" === N.type
},
submit: function(N) {
return "submit" === N.type
},
image: function(N) {
return "image" === N.type
},
reset: function(N) {
return "reset" === N.type
},
button: function(N) {
return "button" === N.type || N.nodeName.toLowerCase() === "button"
},
input: function(N) {
return /input|select|textarea|button/i.test(N.nodeName)
}
},
setFilters: {
first: function(N, S) {
return S === 0
},
last: function(N, S, Y, ba) {
return S ===
ba.length - 1
},
even: function(N, S) {
return S % 2 === 0
},
odd: function(N, S) {
return S % 2 === 1
},
lt: function(N, S, Y) {
return S < Y[3] - 0
},
gt: function(N, S, Y) {
return S > Y[3] - 0
},
nth: function(N, S, Y) {
return Y[3] - 0 === S
},
eq: function(N, S, Y) {
return Y[3] - 0 === S
}
},
filter: {
PSEUDO: function(N, S, Y, ba) {
var fa = S[1],
ea = da.filters[fa];
if (ea) return ea(N, Y, S, ba);
else if (fa === "contains") return (N.textContent || N.innerText || k([N]) || "").indexOf(S[3]) >= 0;
else if (fa === "not") {
S = S[3];
Y = 0;
for (ba = S.length; Y < ba; Y++)
if (S[Y] === N) return false;
return true
} else aa.error("Syntax error, unrecognized expression: " +
fa)
},
CHILD: function(N, S) {
var Y = S[1],
ba = N;
switch (Y) {
case "only":
case "first":
for (; ba = ba.previousSibling;)
if (ba.nodeType === 1) return false;
if (Y === "first") return true;
ba = N;
case "last":
for (; ba = ba.nextSibling;)
if (ba.nodeType === 1) return false;
return true;
case "nth":
Y = S[2];
var fa = S[3];
if (Y === 1 && fa === 0) return true;
S = S[0];
var ea = N.parentNode;
if (ea && (ea.sizcache !== S || !N.nodeIndex)) {
var oa = 0;
for (ba = ea.firstChild; ba; ba = ba.nextSibling)
if (ba.nodeType === 1) ba.nodeIndex = ++oa;
ea.sizcache = S
}
N = N.nodeIndex - fa;
return Y ===
0 ? N === 0 : N % Y === 0 && N / Y >= 0
}
},
ID: function(N, S) {
return N.nodeType === 1 && N.getAttribute("id") === S
},
TAG: function(N, S) {
return S === "*" && N.nodeType === 1 || N.nodeName.toLowerCase() === S
},
CLASS: function(N, S) {
return (" " + (N.className || N.getAttribute("class")) + " ").indexOf(S) > -1
},
ATTR: function(N, S) {
var Y = S[1];
N = da.attrHandle[Y] ? da.attrHandle[Y](N) : N[Y] != null ? N[Y] : N.getAttribute(Y);
Y = N + "";
var ba = S[2];
S = S[4];
return N == null ? ba === "!=" : ba === "=" ? Y === S</