function printStackTrace(a) {
var a = a || {
guess: !0
}, b = a.e || null, a = !!a.guess, c = new printStackTrace.implementation, b = c.run(b);
return a ? c.guessFunctions(b) : b;
}

(function(a) {
function b() {}
for (var c = "assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info, log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","), d; d = c.pop(); ) a[d] = a[d] || b;
})(window.console = window.console || {}), Date.now = Date.now || function() {
return +(new Date);
};

var Hoptoad = {
VERSION: "0.1.0",
NOTICE_XML: '<?xml version="1.0" encoding="UTF-8"?><notice version="2.0"><api-key></api-key><notifier><name>hoptoad_notifier_js</name><version>0.1.0</version><url>http://hoptoadapp.com</url></notifier><error><class>EXCEPTION_CLASS</class><message>EXCEPTION_MESSAGE</message><backtrace>BACKTRACE_LINES</backtrace></error><request><url>REQUEST_URL</url><component>REQUEST_COMPONENT</component><action>REQUEST_ACTION</action></request><server-environment><project-root>PROJECT_ROOT</project-root><environment-name>production</environment-name></server-environment></notice>',
ROOT: window.location.protocol + "//" + window.location.host,
BACKTRACE_MATCHER: /^(.*)\@(.*)\:(\d+)$/,
backtrace_filters: [ /notifier\.js/ ],
notify: function(a) {
var b = escape(Hoptoad.generateXML(a)), c = Hoptoad.host || "hoptoadapp.com", d = "//" + c + "/notifier_api/v2/notices?data=" + b, e = document.createElement("iframe");
e.style.width = "1px", e.style.height = "1px", e.style.display = "none", e.src = d, document.getElementsByTagName("head")[0].appendChild(e);
},
setEnvironment: function(a) {
var b = /<environment-name>.*<\/environment-name>/;
Hoptoad.NOTICE_XML = Hoptoad.NOTICE_XML.replace(b, "<environment-name>" + a + "</environment-name>");
},
setHost: function(a) {
Hoptoad.host = a;
},
setKey: function(a) {
var b = /<api-key>.*<\/api-key>/;
Hoptoad.NOTICE_XML = Hoptoad.NOTICE_XML.replace(b, "<api-key>" + a + "</api-key>");
},
setErrorDefaults: function(a) {
Hoptoad.errorDefaults = a;
},
generateXML: function(a) {
var b = Hoptoad.mergeDefault(Hoptoad.errorDefaults, a), c = Hoptoad.NOTICE_XML, d = b.url || "", e = location.hash || "", f = Hoptoad.escapeText(d + e || ""), g = Hoptoad.escapeText(b.component || ""), h = Hoptoad.escapeText(b.action || ""), i = Hoptoad.escapeText(b.type || "Error"), j = Hoptoad.escapeText(b.message || "Unknown error."), k = Hoptoad.generateBacktrace(b);
if (Hoptoad.trim(f) == "" && Hoptoad.trim(g) == "") c = c.replace(/<request>.*<\/request>/, ""); else {
var l = "", m = b["cgi-data"] || {};
m.HTTP_USER_AGENT = navigator.userAgent, l += "<cgi-data>", l += Hoptoad.generateVariables(m), l += "</cgi-data>";
var n = [ "params", "session" ];
for (var o = 0; o < 2; o++) {
var i = n[o];
b[i] && (l += "<" + i + ">", l += Hoptoad.generateVariables(b[i]), l += "</" + i + ">");
}
c = c.replace("</request>", l + "</request>").replace("REQUEST_URL", f).replace("REQUEST_ACTION", h).replace("REQUEST_COMPONENT", g);
}
return c.replace("PROJECT_ROOT", Hoptoad.ROOT).replace("EXCEPTION_CLASS", i).replace("EXCEPTION_MESSAGE", j).replace("BACKTRACE_LINES", k.join(""));
},
generateBacktrace: function(a) {
a = a || {};
if (typeof a.stack != "string") try {
(0)();
} catch (b) {
a.stack = b.stack;
}
var c = [], d = Hoptoad.getStackTrace(a);
for (var e = 0, f = d.length; e < f; e++) {
var g = d[e], h = g.match(Hoptoad.BACKTRACE_MATCHER);
if (h && Hoptoad.validBacktraceLine(g)) {
var i = h[2].replace(Hoptoad.ROOT, "[PROJECT_ROOT]");
e == 0 && h[2].match(document.location.href) && c.push('<line method="" file="internal: " number=""/>'), c.push('<line method="' + Hoptoad.escapeText(h[1]) + '" file="' + Hoptoad.escapeText(i) + '" number="' + h[3] + '" />');
}
}
return c;
},
getStackTrace: function(a) {
var b = printStackTrace({
e: a,
guess: !1
});
for (var c = 0, d = b.length; c < d; c++) {
if (b[c].match(/\:\d+$/)) continue;
b[c].indexOf("@") == -1 && (b[c] += "@unsupported.js"), b[c] += ":0";
}
return b;
},
validBacktraceLine: function(a) {
for (var b = 0; b < Hoptoad.backtrace_filters.length; b++) if (a.match(Hoptoad.backtrace_filters[b])) return !1;
return !0;
},
generateVariables: function(a) {
var b, c = "";
for (b in a) c += '<var key="' + Hoptoad.escapeText(b) + '">' + Hoptoad.escapeText(a[b]) + "</var>";
return c;
},
escapeText: function(a) {
typeof a != "string" && a.toString && (a = a.toString());
return a.replace(/&/g, "&#38;").replace(/</g, "&#60;").replace(/>/g, "&#62;").replace(/'/g, "&#39;").replace(/"/g, "&#34;");
},
trim: function(a) {
return a.toString().replace(/^\s+/, "").replace(/\s+$/, "");
},
mergeDefault: function(a, b) {
var c = {}, d;
for (d in b) c[d] = b[d];
for (d in a) c.hasOwnProperty(d) || (c[d] = a[d]);
return c;
}
};

printStackTrace.implementation = function() {}, printStackTrace.implementation.prototype = {
run: function(a) {
var a = a || this.createException(), b = this.mode(a);
return b === "other" ? this.other(arguments.callee) : this[b](a);
},
createException: function() {
try {
return this.undef(), null;
} catch (a) {
return a;
}
},
mode: function(a) {
if (a.arguments && a.stack) return this._mode = "chrome";
if (typeof window != "undefined" && window.opera) return this._mode = a.stacktrace ? "opera10" : "opera";
if (a.stack) return this._mode = "firefox";
return this._mode = "other";
},
instrumentFunction: function(a, b, c) {
a = a || window, a["_old" + b] = a[b], a[b] = function() {
c.call(this, printStackTrace());
return a["_old" + b].apply(this, arguments);
}, a[b]._instrumented = !0;
},
deinstrumentFunction: function(a, b) {
a[b].constructor === Function && a[b]._instrumented && a["_old" + b].constructor === Function && (a[b] = a["_old" + b]);
},
chrome: function(a) {
return a.stack.replace(/^[^\(]+?[\n$]/gm, "").replace(/^\s+at\s+/gm, "").replace(/^Object.<anonymous>\s*\(/gm, "{anonymous}()@").split("\n");
},
firefox: function(a) {
return a.stack.replace(/(?:\n@:0)?\s+$/m, "").replace(/^\(/gm, "{anonymous}(").split("\n");
},
opera10: function(a) {
var a = a.stacktrace.split("\n"), b = /.*line (\d+), column (\d+) in ((<anonymous function\:?\s*(\S+))|([^\(]+)\([^\)]*\))(?: in )?(.*)\s*$/i, c, d, e;
c = 2, d = 0;
for (e = a.length; c < e - 2; c++) if (b.test(a[c])) {
var f = RegExp.$6 + ":" + RegExp.$1 + ":" + RegExp.$2, g = RegExp.$3, g = g.replace(/<anonymous function\:?\s?(\S+)?>/g, "{anonymous}");
a[d++] = g + "@" + f;
}
a.splice(d, a.length - d);
return a;
},
opera: function(a) {
var a = a.message.split("\n"), b = /Line\s+(\d+).*script\s+(http\S+)(?:.*in\s+function\s+(\S+))?/i, c, d, e;
c = 4, d = 0;
for (e = a.length; c < e; c += 2) b.test(a[c]) && (a[d++] = (RegExp.$3 ? RegExp.$3 + "()@" + RegExp.$2 + RegExp.$1 : "{anonymous}()@" + RegExp.$2 + ":" + RegExp.$1) + " -- " + a[c + 1].replace(/^\s+/, ""));
a.splice(d, a.length - d);
return a;
},
other: function(a) {
for (var b = /function\s*([\w\-$]+)?\s*\(/i, c = [], d, e; a && c.length < 10; ) d = b.test(a.toString()) ? RegExp.$1 || "{anonymous}" : "{anonymous}", e = Array.prototype.slice.call(a.arguments || []), c[c.length] = d + "(" + this.stringifyArguments(e) + ")", a = a.caller;
return c;
},
stringifyArguments: function(a) {
for (var b = 0; b < a.length; ++b) {
var c = a[b];
c === void 0 ? a[b] = "undefined" : c === null ? a[b] = "null" : c.constructor && (c.constructor === Array ? a[b] = c.length < 3 ? "[" + this.stringifyArguments(c) + "]" : "[" + this.stringifyArguments(Array.prototype.slice.call(c, 0, 1)) + "..." + this.stringifyArguments(Array.prototype.slice.call(c, -1)) + "]" : c.constructor === Object ? a[b] = "#object" : c.constructor === Function ? a[b] = "#function" : c.constructor === String && (a[b] = '"' + c + '"'));
}
return a.join(",");
},
sourceCache: {},
ajax: function(a) {
var b = this.createXMLHTTPObject();
if (b) return b.open("GET", a, !1), b.setRequestHeader("User-Agent", "XMLHTTP/1.0"), b.send(""), b.responseText;
},
createXMLHTTPObject: function() {
for (var a, b = [ function() {
return new XMLHttpRequest;
}, function() {
return new ActiveXObject("Msxml2.XMLHTTP");
}, function() {
return new ActiveXObject("Msxml3.XMLHTTP");
}, function() {
return new ActiveXObject("Microsoft.XMLHTTP");
} ], c = 0; c < b.length; c++) try {
return a = b[c](), this.createXMLHTTPObject = b[c], a;
} catch (d) {}
},
isSameDomain: function(a) {
return a.indexOf(location.hostname) !== -1;
},
getSource: function(a) {
a in this.sourceCache || (this.sourceCache[a] = this.ajax(a).split("\n"));
return this.sourceCache[a];
},
guessFunctions: function(a) {
for (var b = 0; b < a.length; ++b) {
var c = a[b], d = /\{anonymous\}\(.*\)@(\w+:\/\/([\-\w\.]+)+(:\d+)?[^:]+):(\d+):?(\d+)?/.exec(c);
if (d) {
var e = d[1], d = d[4];
e && this.isSameDomain(e) && d && (e = this.guessFunctionName(e, d), a[b] = c.replace("{anonymous}", e));
}
}
return a;
},
guessFunctionName: function(a, b) {
var c;
try {
c = this.guessFunctionNameFromLines(b, this.getSource(a));
} catch (d) {
c = "getSource failed with url: " + a + ", exception: " + d.toString();
}
return c;
},
guessFunctionNameFromLines: function(a, b) {
for (var c = /function ([^(]*)\(([^)]*)\)/, d = /['"]?([0-9A-Za-z_]+)['"]?\s*[:=]\s*(function|eval|new Function)/, e = "", f = 0; f < 10; ++f) if (e = b[a - f] + e, e !== void 0) {
var g = d.exec(e);
if (g && g[1]) return g[1];
if ((g = c.exec(e)) && g[1]) return g[1];
}
return "(?)";
}
}, window.location.hostname === "nodeknockout.com" && (window.onerror = function(a, b, c) {
setTimeout(function() {
Hoptoad.notify({
component: "browser",
message: a,
url: window.location.href,
type: a.constructor.name,
stack: "()@" + b + ":" + c
});
}, 100);
return !1;
}), Hoptoad.setKey("b76b10945d476da44a0eac6bfe1aeabd"), Hoptoad.setEnvironment(window.location.host === "localhost:8000" ? "development" : "production");

var JSON;

JSON || (JSON = {}), function() {
function str(a, b) {
var c, d, e, f, g = gap, h, i = b[a];
i && typeof i == "object" && typeof i.toJSON == "function" && (i = i.toJSON(a)), typeof rep == "function" && (i = rep.call(b, a, i));
switch (typeof i) {
case "string":
return quote(i);
case "number":
return isFinite(i) ? String(i) : "null";
case "boolean":
case "null":
return String(i);
case "object":
if (!i) return "null";
gap += indent, h = [];
if (Object.prototype.toString.apply(i) === "[object Array]") {
f = i.length;
for (c = 0; c < f; c += 1) h[c] = str(c, i) || "null";
e = h.length === 0 ? "[]" : gap ? "[\n" + gap + h.join(",\n" + gap) + "\n" + g + "]" : "[" + h.join(",") + "]", gap = g;
return e;
}
if (rep && typeof rep == "object") {
f = rep.length;
for (c = 0; c < f; c += 1) typeof rep[c] == "string" && (d = rep[c], e = str(d, i), e && h.push(quote(d) + (gap ? ": " : ":") + e));
} else for (d in i) Object.prototype.hasOwnProperty.call(i, d) && (e = str(d, i), e && h.push(quote(d) + (gap ? ": " : ":") + e));
e = h.length === 0 ? "{}" : gap ? "{\n" + gap + h.join(",\n" + gap) + "\n" + g + "}" : "{" + h.join(",") + "}", gap = g;
return e;
}
}
function quote(a) {
escapable.lastIndex = 0;
return escapable.test(a) ? '"' + a.replace(escapable, function(a) {
var b = meta[a];
return typeof b == "string" ? b : "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4);
}) + '"' : '"' + a + '"';
}
function f(a) {
return a < 10 ? "0" + a : a;
}
"use strict", typeof Date.prototype.toJSON != "function" && (Date.prototype.toJSON = function(a) {
return isFinite(this.valueOf()) ? this.getUTCFullYear() + "-" + f(this.getUTCMonth() + 1) + "-" + f(this.getUTCDate()) + "T" + f(this.getUTCHours()) + ":" + f(this.getUTCMinutes()) + ":" + f(this.getUTCSeconds()) + "Z" : null;
}, String.prototype.toJSON = Number.prototype.toJSON = Boolean.prototype.toJSON = function(a) {
return this.valueOf();
});
var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, gap, indent, meta = {
"\b": "\\b",
"\t": "\\t",
"\n": "\\n",
"\f": "\\f",
"\r": "\\r",
'"': '\\"',
"\\": "\\\\"
}, rep;
typeof JSON.stringify != "function" && (JSON.stringify = function(a, b, c) {
var d;
gap = "", indent = "";
if (typeof c == "number") for (d = 0; d < c; d += 1) indent += " "; else typeof c == "string" && (indent = c);
rep = b;
if (!b || typeof b == "function" || typeof b == "object" && typeof b.length == "number") return str("", {
"": a
});
throw new Error("JSON.stringify");
}), typeof JSON.parse != "function" && (JSON.parse = function(text, reviver) {
function walk(a, b) {
var c, d, e = a[b];
if (e && typeof e == "object") for (c in e) Object.prototype.hasOwnProperty.call(e, c) && (d = walk(e, c), d !== undefined ? e[c] = d : delete e[c]);
return reviver.call(a, b, e);
}
var j;
text = String(text), cx.lastIndex = 0, cx.test(text) && (text = text.replace(cx, function(a) {
return "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4);
}));
if (/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) {
j = eval("(" + text + ")");
return typeof reviver == "function" ? walk({
"": j
}, "") : j;
}
throw new SyntaxError("JSON.parse");
});
}(), function(a, b) {
function cu(a) {
return f.isWindow(a) ? a : a.nodeType === 9 ? a.defaultView || a.parentWindow : !1;
}
function cr(a) {
if (!cg[a]) {
var b = c.body, d = f("<" + a + ">").appendTo(b), e = d.css("display");
d.remove();
if (e === "none" || e === "") {
ch || (ch = c.createElement("iframe"), ch.frameBorder = ch.width = ch.height = 0), b.appendChild(ch);
if (!ci || !ch.createElement) ci = (ch.contentWindow || ch.contentDocument).document, ci.write((c.compatMode === "CSS1Compat" ? "<!doctype html>" : "") + "<html><body>"), ci.close();
d = ci.createElement(a), ci.body.appendChild(d), e = f.css(d, "display"), b.removeChild(ch);
}
cg[a] = e;
}
return cg[a];
}
function cq(a, b) {
var c = {};
f.each(cm.concat.apply([], cm.slice(0, b)), function() {
c[this] = a;
});
return c;
}
function cp() {
cn = b;
}
function co() {
setTimeout(cp, 0);
return cn = f.now();
}
function cf() {
try {
return new a.ActiveXObject("Microsoft.XMLHTTP");
} catch (b) {}
}
function ce() {
try {
return new a.XMLHttpRequest;
} catch (b) {}
}
function b$(a, c) {
a.dataFilter && (c = a.dataFilter(c, a.dataType));
var d = a.dataTypes, e = {}, g, h, i = d.length, j, k = d[0], l, m, n, o, p;
for (g = 1; g < i; g++) {
if (g === 1) for (h in a.converters) typeof h == "string" && (e[h.toLowerCase()] = a.converters[h]);
l = k, k = d[g];
if (k === "*") k = l; else if (l !== "*" && l !== k) {
m = l + " " + k, n = e[m] || e["* " + k];
if (!n) {
p = b;
for (o in e) {
j = o.split(" ");
if (j[0] === l || j[0] === "*") {
p = e[j[1] + " " + k];
if (p) {
o = e[o], o === !0 ? n = p : p === !0 && (n = o);
break;
}
}
}
}
!n && !p && f.error("No conversion from " + m.replace(" ", " to ")), n !== !0 && (c = n ? n(c) : p(o(c)));
}
}
return c;
}
function bZ(a, c, d) {
var e = a.contents, f = a.dataTypes, g = a.responseFields, h, i, j, k;
for (i in g) i in d && (c[g[i]] = d[i]);
while (f[0] === "*") f.shift(), h === b && (h = a.mimeType || c.getResponseHeader("content-type"));
if (h) for (i in e) if (e[i] && e[i].test(h)) {
f.unshift(i);
break;
}
if (f[0] in d) j = f[0]; else {
for (i in d) {
if (!f[0] || a.converters[i + " " + f[0]]) {
j = i;
break;
}
k || (k = i);
}
j = j || k;
}
if (j) {
j !== f[0] && f.unshift(j);
return d[j];
}
}
function bY(a, b, c, d) {
if (f.isArray(b)) f.each(b, function(b, e) {
c || bA.test(a) ? d(a, e) : bY(a + "[" + (typeof e == "object" || f.isArray(e) ? b : "") + "]", e, c, d);
}); else if (!c && b != null && typeof b == "object") for (var e in b) bY(a + "[" + e + "]", b[e], c, d); else d(a, b);
}
function bX(a, c) {
var d, e, g = f.ajaxSettings.flatOptions || {};
for (d in c) c[d] !== b && ((g[d] ? a : e || (e = {}))[d] = c[d]);
e && f.extend(!0, a, e);
}
function bW(a, c, d, e, f, g) {
f = f || c.dataTypes[0], g = g || {}, g[f] = !0;
var h = a[f], i = 0, j = h ? h.length : 0, k = a === bP, l;
for (; i < j && (k || !l); i++) l = h[i](c, d, e), typeof l == "string" && (!k || g[l] ? l = b : (c.dataTypes.unshift(l), l = bW(a, c, d, e, l, g)));
(k || !l) && !g["*"] && (l = bW(a, c, d, e, "*", g));
return l;
}
function bV(a) {
return function(b, c) {
typeof b != "string" && (c = b, b = "*");
if (f.isFunction(c)) {
var d = b.toLowerCase().split(bL), e = 0, g = d.length, h, i, j;
for (; e < g; e++) h = d[e], j = /^\+/.test(h), j && (h = h.substr(1) || "*"), i = a[h] = a[h] || [], i[j ? "unshift" : "push"](c);
}
};
}
function by(a, b, c) {
var d = b === "width" ? a.offsetWidth : a.offsetHeight, e = b === "width" ? bt : bu;
if (d > 0) {
c !== "border" && f.each(e, function() {
c || (d -= parseFloat(f.css(a, "padding" + this)) || 0), c === "margin" ? d += parseFloat(f.css(a, c + this)) || 0 : d -= parseFloat(f.css(a, "border" + this + "Width")) || 0;
});
return d + "px";
}
d = bv(a, b, b);
if (d < 0 || d == null) d = a.style[b] || 0;
d = parseFloat(d) || 0, c && f.each(e, function() {
d += parseFloat(f.css(a, "padding" + this)) || 0, c !== "padding" && (d += parseFloat(f.css(a, "border" + this + "Width")) || 0), c === "margin" && (d += parseFloat(f.css(a, c + this)) || 0);
});
return d + "px";
}
function bl(a, b) {
b.src ? f.ajax({
url: b.src,
async: !1,
dataType: "script"
}) : f.globalEval((b.text || b.textContent || b.innerHTML || "").replace(bd, "/*$0*/")), b.parentNode && b.parentNode.removeChild(b);
}
function bk(a) {
f.nodeName(a, "input") ? bj(a) : "getElementsByTagName" in a && f.grep(a.getElementsByTagName("input"), bj);
}
function bj(a) {
if (a.type === "checkbox" || a.type === "radio") a.defaultChecked = a.checked;
}
function bi(a) {
return "getElementsByTagName" in a ? a.getElementsByTagName("*") : "querySelectorAll" in a ? a.querySelectorAll("*") : [];
}
function bh(a, b) {
var c;
if (b.nodeType === 1) {
b.clearAttributes && b.clearAttributes(), b.mergeAttributes && b.mergeAttributes(a), c = b.nodeName.toLowerCase();
if (c === "object") b.outerHTML = a.outerHTML; else if (c !== "input" || a.type !== "checkbox" && a.type !== "radio") {
if (c === "option") b.selected = a.defaultSelected; else if (c === "input" || c === "textarea") b.defaultValue = a.defaultValue;
} else a.checked && (b.defaultChecked = b.checked = a.checked), b.value !== a.value && (b.value = a.value);
b.removeAttribute(f.expando);
}
}
function bg(a, b) {
if (b.nodeType === 1 && !!f.hasData(a)) {
var c = f.expando, d = f.data(a), e = f.data(b, d);
if (d = d[c]) {
var g = d.events;
e = e[c] = f.extend({}, d);
if (g) {
delete e.handle, e.events = {};
for (var h in g) for (var i = 0, j = g[h].length; i < j; i++) f.event.add(b, h + (g[h][i].namespace ? "." : "") + g[h][i].namespace, g[h][i], g[h][i].data);
}
}
}
}
function bf(a, b) {
return f.nodeName(a, "table") ? a.getElementsByTagName("tbody")[0] || a.appendChild(a.ownerDocument.createElement("tbody")) : a;
}
function V(a, b, c) {
b = b || 0;
if (f.isFunction(b)) return f.grep(a, function(a, d) {
var e = !!b.call(a, d, a);
return e === c;
});
if (b.nodeType) return f.grep(a, function(a, d) {
return a === b === c;
});
if (typeof b == "string") {
var d = f.grep(a, function(a) {
return a.nodeType === 1;
});
if (Q.test(b)) return f.filter(b, d, !c);
b = f.filter(b, d);
}
return f.grep(a, function(a, d) {
return f.inArray(a, b) >= 0 === c;
});
}
function U(a) {
return !a || !a.parentNode || a.parentNode.nodeType === 11;
}
function M(a, b) {
return (a && a !== "*" ? a + "." : "") + b.replace(y, "`").replace(z, "&");
}
function L(a) {
var b, c, d, e, g, h, i, j, k, l, m, n, o, p = [], q = [], r = f._data(this, "events");
if (!(a.liveFired === this || !r || !r.live || a.target.disabled || a.button && a.type === "click")) {
a.namespace && (n = new RegExp("(^|\\.)" + a.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)")), a.liveFired = this;
var s = r.live.slice(0);
for (i = 0; i < s.length; i++) g = s[i], g.origType.replace(w, "") === a.type ? q.push(g.selector) : s.splice(i--, 1);
e = f(a.target).closest(q, a.currentTarget);
for (j = 0, k = e.length; j < k; j++) {
m = e[j];
for (i = 0; i < s.length; i++) {
g = s[i];
if (m.selector === g.selector && (!n || n.test(g.namespace)) && !m.elem.disabled) {
h = m.elem, d = null;
if (g.preType === "mouseenter" || g.preType === "mouseleave") a.type = g.preType, d = f(a.relatedTarget).closest(g.selector)[0], d && f.contains(h, d) && (d = h);
(!d || d !== h) && p.push({
elem: h,
handleObj: g,
level: m.level
});
}
}
}
for (j = 0, k = p.length; j < k; j++) {
e = p[j];
if (c && e.level > c) break;
a.currentTarget = e.elem, a.data = e.handleObj.data, a.handleObj = e.handleObj, o = e.handleObj.origHandler.apply(e.elem, arguments);
if (o === !1 || a.isPropagationStopped()) {
c = e.level, o === !1 && (b = !1);
if (a.isImmediatePropagationStopped()) break;
}
}
return b;
}
}
function J(a, c, d) {
var e = f.extend({}, d[0]);
e.type = a, e.originalEvent = {}, e.liveFired = b, f.event.handle.call(c, e), e.isDefaultPrevented() && d[0].preventDefault();
}
function D() {
return !0;
}
function C() {
return !1;
}
function m(a, c, d) {
var e = c + "defer", g = c + "queue", h = c + "mark", i = f.data(a, e, b, !0);
i && (d === "queue" || !f.data(a, g, b, !0)) && (d === "mark" || !f.data(a, h, b, !0)) && setTimeout(function() {
!f.data(a, g, b, !0) && !f.data(a, h, b, !0) && (f.removeData(a, e, !0), i.resolve());
}, 0);
}
function l(a) {
for (var b in a) if (b !== "toJSON") return !1;
return !0;
}
function k(a, c, d) {
if (d === b && a.nodeType === 1) {
var e = "data-" + c.replace(j, "-$1").toLowerCase();
d = a.getAttribute(e);
if (typeof d == "string") {
try {
d = d === "true" ? !0 : d === "false" ? !1 : d === "null" ? null : f.isNaN(d) ? i.test(d) ? f.parseJSON(d) : d : parseFloat(d);
} catch (g) {}
f.data(a, c, d);
} else d = b;
}
return d;
}
var c = a.document, d = a.navigator, e = a.location, f = function() {
function K() {
if (!e.isReady) {
try {
c.documentElement.doScroll("left");
} catch (a) {
setTimeout(K, 1);
return;
}
e.ready();
}
}
var e = function(a, b) {
return new e.fn.init(a, b, h);
}, f = a.jQuery, g = a.$, h, i = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, j = /\S/, k = /^\s+/, l = /\s+$/, m = /\d/, n = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, o = /^[\],:{}\s]*$/, p = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, q = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, r = /(?:^|:|,)(?:\s*\[)+/g, s = /(webkit)[ \/]([\w.]+)/, t = /(opera)(?:.*version)?[ \/]([\w.]+)/, u = /(msie) ([\w.]+)/, v = /(mozilla)(?:.*? rv:([\w.]+))?/, w = /-([a-z]|[0-9])/ig, x = /^-ms-/, y = function(a, b) {
return (b + "").toUpperCase();
}, z = d.userAgent, A, B, C, D = Object.prototype.toString, E = Object.prototype.hasOwnProperty, F = Array.prototype.push, G = Array.prototype.slice, H = String.prototype.trim, I = Array.prototype.indexOf, J = {};
e.fn = e.prototype = {
constructor: e,
init: function(a, d, f) {
var g, h, j, k;
if (!a) return this;
if (a.nodeType) {
this.context = this[0] = a, this.length = 1;
return this;
}
if (a === "body" && !d && c.body) {
this.context = c, this[0] = c.body, this.selector = a, this.length = 1;
return this;
}
if (typeof a == "string") {
a.charAt(0) === "<" && a.charAt(a.length - 1) === ">" && a.length >= 3 ? g = [ null, a, null ] : g = i.exec(a);
if (g && (g[1] || !d)) {
if (g[1]) {
d = d instanceof e ? d[0] : d, k = d ? d.ownerDocument || d : c, j = n.exec(a), j ? e.isPlainObject(d) ? (a = [ c.createElement(j[1]) ], e.fn.attr.call(a, d, !0)) : a = [ k.createElement(j[1]) ] : (j = e.buildFragment([ g[1] ], [ k ]), a = (j.cacheable ? e.clone(j.fragment) : j.fragment).childNodes);
return e.merge(this, a);
}
h = c.getElementById(g[2]);
if (h && h.parentNode) {
if (h.id !== g[2]) return f.find(a);
this.length = 1, this[0] = h;
}
this.context = c, this.selector = a;
return this;
}
return !d || d.jquery ? (d || f).find(a) : this.constructor(d).find(a);
}
if (e.isFunction(a)) return f.ready(a);
a.selector !== b && (this.selector = a.selector, this.context = a.context);
return e.makeArray(a, this);
},
selector: "",
jquery: "1.6.4",
length: 0,
size: function() {
return this.length;
},
toArray: function() {
return G.call(this, 0);
},
get: function(a) {
return a == null ? this.toArray() : a < 0 ? this[this.length + a] : this[a];
},
pushStack: function(a, b, c) {
var d = this.constructor();
e.isArray(a) ? F.apply(d, a) : e.merge(d, a), d.prevObject = this, d.context = this.context, b === "find" ? d.selector = this.selector + (this.selector ? " " : "") + c : b && (d.selector = this.selector + "." + b + "(" + c + ")");
return d;
},
each: function(a, b) {
return e.each(this, a, b);
},
ready: function(a) {
e.bindReady(), B.done(a);
return this;
},
eq: function(a) {
return a === -1 ? this.slice(a) : this.slice(a, +a + 1);
},
first: function() {
return this.eq(0);
},
last: function() {
return this.eq(-1);
},
slice: function() {
return this.pushStack(G.apply(this, arguments), "slice", G.call(arguments).join(","));
},
map: function(a) {
return this.pushStack(e.map(this, function(b, c) {
return a.call(b, c, b);
}));
},
end: function() {
return this.prevObject || this.constructor(null);
},
push: F,
sort: [].sort,
splice: [].splice
}, e.fn.init.prototype = e.fn, e.extend = e.fn.extend = function() {
var a, c, d, f, g, h, i = arguments[0] || {}, j = 1, k = arguments.length, l = !1;
typeof i == "boolean" && (l = i, i = arguments[1] || {}, j = 2), typeof i != "object" && !e.isFunction(i) && (i = {}), k === j && (i = this, --j);
for (; j < k; j++) if ((a = arguments[j]) != null) for (c in a) {
d = i[c], f = a[c];
if (i === f) continue;
l && f && (e.isPlainObject(f) || (g = e.isArray(f))) ? (g ? (g = !1, h = d && e.isArray(d) ? d : []) : h = d && e.isPlainObject(d) ? d : {}, i[c] = e.extend(l, h, f)) : f !== b && (i[c] = f);
}
return i;
}, e.extend({
noConflict: function(b) {
a.$ === e && (a.$ = g), b && a.jQuery === e && (a.jQuery = f);
return e;
},
isReady: !1,
readyWait: 1,
holdReady: function(a) {
a ? e.readyWait++ : e.ready(!0);
},
ready: function(a) {
if (a === !0 && !--e.readyWait || a !== !0 && !e.isReady) {
if (!c.body) return setTimeout(e.ready, 1);
e.isReady = !0;
if (a !== !0 && --e.readyWait > 0) return;
B.resolveWith(c, [ e ]), e.fn.trigger && e(c).trigger("ready").unbind("ready");
}
},
bindReady: function() {
if (!B) {
B = e._Deferred();
if (c.readyState === "complete") return setTimeout(e.ready, 1);
if (c.addEventListener) c.addEventListener("DOMContentLoaded", C, !1), a.addEventListener("load", e.ready, !1); else if (c.attachEvent) {
c.attachEvent("onreadystatechange", C), a.attachEvent("onload", e.ready);
var b = !1;
try {
b = a.frameElement == null;
} catch (d) {}
c.documentElement.doScroll && b && K();
}
}
},
isFunction: function(a) {
return e.type(a) === "function";
},
isArray: Array.isArray || function(a) {
return e.type(a) === "array";
},
isWindow: function(a) {
return a && typeof a == "object" && "setInterval" in a;
},
isNaN: function(a) {
return a == null || !m.test(a) || isNaN(a);
},
type: function(a) {
return a == null ? String(a) : J[D.call(a)] || "object";
},
isPlainObject: function(a) {
if (!a || e.type(a) !== "object" || a.nodeType || e.isWindow(a)) return !1;
try {
if (a.constructor && !E.call(a, "constructor") && !E.call(a.constructor.prototype, "isPrototypeOf")) return !1;
} catch (c) {
return !1;
}
var d;
for (d in a) ;
return d === b || E.call(a, d);
},
isEmptyObject: function(a) {
for (var b in a) return !1;
return !0;
},
error: function(a) {
throw a;
},
parseJSON: function(b) {
if (typeof b != "string" || !b) return null;
b = e.trim(b);
if (a.JSON && a.JSON.parse) return a.JSON.parse(b);
if (o.test(b.replace(p, "@").replace(q, "]").replace(r, ""))) return (new Function("return " + b))();
e.error("Invalid JSON: " + b);
},
parseXML: function(c) {
var d, f;
try {
a.DOMParser ? (f = new DOMParser, d = f.parseFromString(c, "text/xml")) : (d = new ActiveXObject("Microsoft.XMLDOM"), d.async = "false", d.loadXML(c));
} catch (g) {
d = b;
}
(!d || !d.documentElement || d.getElementsByTagName("parsererror").length) && e.error("Invalid XML: " + c);
return d;
},
noop: function() {},
globalEval: function(b) {
b && j.test(b) && (a.execScript || function(b) {
a.eval.call(a, b);
})(b);
},
camelCase: function(a) {
return a.replace(x, "ms-").replace(w, y);
},
nodeName: function(a, b) {
return a.nodeName && a.nodeName.toUpperCase() === b.toUpperCase();
},
each: function(a, c, d) {
var f, g = 0, h = a.length, i = h === b || e.isFunction(a);
if (d) {
if (i) {
for (f in a) if (c.apply(a[f], d) === !1) break;
} else for (; g < h; ) if (c.apply(a[g++], d) === !1) break;
} else if (i) {
for (f in a) if (c.call(a[f], f, a[f]) === !1) break;
} else for (; g < h; ) if (c.call(a[g], g, a[g++]) === !1) break;
return a;
},
trim: H ? function(a) {
return a == null ? "" : H.call(a);
} : function(a) {
return a == null ? "" : a.toString().replace(k, "").replace(l, "");
},
makeArray: function(a, b) {
var c = b || [];
if (a != null) {
var d = e.type(a);
a.length == null || d === "string" || d === "function" || d === "regexp" || e.isWindow(a) ? F.call(c, a) : e.merge(c, a);
}
return c;
},
inArray: function(a, b) {
if (!b) return -1;
if (I) return I.call(b, a);
for (var c = 0, d = b.length; c < d; c++) if (b[c] === a) return c;
return -1;
},
merge: function(a, c) {
var d = a.length, e = 0;
if (typeof c.length == "number") for (var f = c.length; e < f; e++) a[d++] = c[e]; else while (c[e] !== b) a[d++] = c[e++];
a.length = d;
return a;
},
grep: function(a, b, c) {
var d = [], e;
c = !!c;
for (var f = 0, g = a.length; f < g; f++) e = !!b(a[f], f), c !== e && d.push(a[f]);
return d;
},
map: function(a, c, d) {
var f, g, h = [], i = 0, j = a.length, k = a instanceof e || j !== b && typeof j == "number" && (j > 0 && a[0] && a[j - 1] || j === 0 || e.isArray(a));
if (k) for (; i < j; i++) f = c(a[i], i, d), f != null && (h[h.length] = f); else for (g in a) f = c(a[g], g, d), f != null && (h[h.length] = f);
return h.concat.apply([], h);
},
guid: 1,
proxy: function(a, c) {
if (typeof c == "string") {
var d = a[c];
c = a, a = d;
}
if (!e.isFunction(a)) return b;
var f = G.call(arguments, 2), g = function() {
return a.apply(c, f.concat(G.call(arguments)));
};
g.guid = a.guid = a.guid || g.guid || e.guid++;
return g;
},
access: function(a, c, d, f, g, h) {
var i = a.length;
if (typeof c == "object") {
for (var j in c) e.access(a, j, c[j], f, g, d);
return a;
}
if (d !== b) {
f = !h && f && e.isFunction(d);
for (var k = 0; k < i; k++) g(a[k], c, f ? d.call(a[k], k, g(a[k], c)) : d, h);
return a;
}
return i ? g(a[0], c) : b;
},
now: function() {
return (new Date).getTime();
},
uaMatch: function(a) {
a = a.toLowerCase();
var b = s.exec(a) || t.exec(a) || u.exec(a) || a.indexOf("compatible") < 0 && v.exec(a) || [];
return {
browser: b[1] || "",
version: b[2] || "0"
};
},
sub: function() {
function a(b, c) {
return new a.fn.init(b, c);
}
e.extend(!0, a, this), a.superclass = this, a.fn = a.prototype = this(), a.fn.constructor = a, a.sub = this.sub, a.fn.init = function d(c, d) {
d && d instanceof e && !(d instanceof a) && (d = a(d));
return e.fn.init.call(this, c, d, b);
}, a.fn.init.prototype = a.fn;
var b = a(c);
return a;
},
browser: {}
}), e.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(a, b) {
J["[object " + b + "]"] = b.toLowerCase();
}), A = e.uaMatch(z), A.browser && (e.browser[A.browser] = !0, e.browser.version = A.version), e.browser.webkit && (e.browser.safari = !0), j.test(" ") && (k = /^[\s\xA0]+/, l = /[\s\xA0]+$/), h = e(c), c.addEventListener ? C = function() {
c.removeEventListener("DOMContentLoaded", C, !1), e.ready();
} : c.attachEvent && (C = function() {
c.readyState === "complete" && (c.detachEvent("onreadystatechange", C), e.ready());
});
return e;
}(), g = "done fail isResolved isRejected promise then always pipe".split(" "), h = [].slice;
f.extend({
_Deferred: function() {
var a = [], b, c, d, e = {
done: function() {
if (!d) {
var c = arguments, g, h, i, j, k;
b && (k = b, b = 0);
for (g = 0, h = c.length; g < h; g++) i = c[g], j = f.type(i), j === "array" ? e.done.apply(e, i) : j === "function" && a.push(i);
k && e.resolveWith(k[0], k[1]);
}
return this;
},
resolveWith: function(e, f) {
if (!d && !b && !c) {
f = f || [], c = 1;
try {
while (a[0]) a.shift().apply(e, f);
} finally {
b = [ e, f ], c = 0;
}
}
return this;
},
resolve: function() {
e.resolveWith(this, arguments);
return this;
},
isResolved: function() {
return !!c || !!b;
},
cancel: function() {
d = 1, a = [];
return this;
}
};
return e;
},
Deferred: function(a) {
var b = f._Deferred(), c = f._Deferred(), d;
f.extend(b, {
then: function(a, c) {
b.done(a).fail(c);
return this;
},
always: function() {
return b.done.apply(b, arguments).fail.apply(this, arguments);
},
fail: c.done,
rejectWith: c.resolveWith,
reject: c.resolve,
isRejected: c.isResolved,
pipe: function(a, c) {
return f.Deferred(function(d) {
f.each({
done: [ a, "resolve" ],
fail: [ c, "reject" ]
}, function(a, c) {
var e = c[0], g = c[1], h;
f.isFunction(e) ? b[a](function() {
h = e.apply(this, arguments), h && f.isFunction(h.promise) ? h.promise().then(d.resolve, d.reject) : d[g + "With"](this === b ? d : this, [ h ]);
}) : b[a](d[g]);
});
}).promise();
},
promise: function(a) {
if (a == null) {
if (d) return d;
d = a = {};
}
var c = g.length;
while (c--) a[g[c]] = b[g[c]];
return a;
}
}), b.done(c.cancel).fail(b.cancel), delete b.cancel, a && a.call(b, b);
return b;
},
when: function(a) {
function i(a) {
return function(c) {
b[a] = arguments.length > 1 ? h.call(arguments, 0) : c, --e || g.resolveWith(g, h.call(b, 0));
};
}
var b = arguments, c = 0, d = b.length, e = d, g = d <= 1 && a && f.isFunction(a.promise) ? a : f.Deferred();
if (d > 1) {
for (; c < d; c++) b[c] && f.isFunction(b[c].promise) ? b[c].promise().then(i(c), g.reject) : --e;
e || g.resolveWith(g, b);
} else g !== a && g.resolveWith(g, d ? [ a ] : []);
return g.promise();
}
}), f.support = function() {
var a = c.createElement("div"), b = c.documentElement, d, e, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u;
a.setAttribute("className", "t"), a.innerHTML = "   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>", d = a.getElementsByTagName("*"), e = a.getElementsByTagName("a")[0];
if (!d || !d.length || !e) return {};
g = c.createElement("select"), h = g.appendChild(c.createElement("option")), i = a.getElementsByTagName("input")[0], k = {
leadingWhitespace: a.firstChild.nodeType === 3,
tbody: !a.getElementsByTagName("tbody").length,
htmlSerialize: !!a.getElementsByTagName("link").length,
style: /top/.test(e.getAttribute("style")),
hrefNormalized: e.getAttribute("href") === "/a",
opacity: /^0.55$/.test(e.style.opacity),
cssFloat: !!e.style.cssFloat,
checkOn: i.value === "on",
optSelected: h.selected,
getSetAttribute: a.className !== "t",
submitBubbles: !0,
changeBubbles: !0,
focusinBubbles: !1,
deleteExpando: !0,
noCloneEvent: !0,
inlineBlockNeedsLayout: !1,
shrinkWrapBlocks: !1,
reliableMarginRight: !0
}, i.checked = !0, k.noCloneChecked = i.cloneNode(!0).checked, g.disabled = !0, k.optDisabled = !h.disabled;
try {
delete a.test;
} catch (v) {
k.deleteExpando = !1;
}
!a.addEventListener && a.attachEvent && a.fireEvent && (a.attachEvent("onclick", function() {
k.noCloneEvent = !1;
}), a.cloneNode(!0).fireEvent("onclick")), i = c.createElement("input"), i.value = "t", i.setAttribute("type", "radio"), k.radioValue = i.value === "t", i.setAttribute("checked", "checked"), a.appendChild(i), l = c.createDocumentFragment(), l.appendChild(a.firstChild), k.checkClone = l.cloneNode(!0).cloneNode(!0).lastChild.checked, a.innerHTML = "", a.style.width = a.style.paddingLeft = "1px", m = c.getElementsByTagName("body")[0], o = c.createElement(m ? "div" : "body"), p = {
visibility: "hidden",
width: 0,
height: 0,
border: 0,
margin: 0,
background: "none"
}, m && f.extend(p, {
position: "absolute",
left: "-1000px",
top: "-1000px"
});
for (t in p) o.style[t] = p[t];
o.appendChild(a), n = m || b, n.insertBefore(o, n.firstChild), k.appendChecked = i.checked, k.boxModel = a.offsetWidth === 2, "zoom" in a.style && (a.style.display = "inline", a.style.zoom = 1, k.inlineBlockNeedsLayout = a.offsetWidth === 2, a.style.display = "", a.innerHTML = "<div style='width:4px;'></div>", k.shrinkWrapBlocks = a.offsetWidth !== 2), a.innerHTML = "<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>", q = a.getElementsByTagName("td"), u = q[0].offsetHeight === 0, q[0].style.display = "", q[1].style.display = "none", k.reliableHiddenOffsets = u && q[0].offsetHeight === 0, a.innerHTML = "", c.defaultView && c.defaultView.getComputedStyle && (j = c.createElement("div"), j.style.width = "0", j.style.marginRight = "0", a.appendChild(j), k.reliableMarginRight = (parseInt((c.defaultView.getComputedStyle(j, null) || {
marginRight: 0
}).marginRight, 10) || 0) === 0), o.innerHTML = "", n.removeChild(o);
if (a.attachEvent) for (t in {
submit: 1,
change: 1,
focusin: 1
}) s = "on" + t, u = s in a, u || (a.setAttribute(s, "return;"), u = typeof a[s] == "function"), k[t + "Bubbles"] = u;
o = l = g = h = m = j = a = i = null;
return k;
}(), f.boxModel = f.support.boxModel;
var i = /^(?:\{.*\}|\[.*\])$/, j = /([A-Z])/g;
f.extend({
cache: {},
uuid: 0,
expando: "jQuery" + (f.fn.jquery + Math.random()).replace(/\D/g, ""),
noData: {
embed: !0,
object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
applet: !0
},
hasData: function(a) {
a = a.nodeType ? f.cache[a[f.expando]] : a[f.expando];
return !!a && !l(a);
},
data: function(a, c, d, e) {
if (!!f.acceptData(a)) {
var g, h, i = f.expando, j = typeof c == "string", k = a.nodeType, l = k ? f.cache : a, m = k ? a[f.expando] : a[f.expando] && f.expando;
if ((!m || e && m && l[m] && !l[m][i]) && j && d === b) return;
m || (k ? a[f.expando] = m = ++f.uuid : m = f.expando), l[m] || (l[m] = {}, k || (l[m].toJSON = f.noop));
if (typeof c == "object" || typeof c == "function") e ? l[m][i] = f.extend(l[m][i], c) : l[m] = f.extend(l[m], c);
g = l[m], e && (g[i] || (g[i] = {}), g = g[i]), d !== b && (g[f.camelCase(c)] = d);
if (c === "events" && !g[c]) return g[i] && g[i].events;
j ? (h = g[c], h == null && (h = g[f.camelCase(c)])) : h = g;
return h;
}
},
removeData: function(a, b, c) {
if (!!f.acceptData(a)) {
var d, e = f.expando, g = a.nodeType, h = g ? f.cache : a, i = g ? a[f.expando] : f.expando;
if (!h[i]) return;
if (b) {
d = c ? h[i][e] : h[i];
if (d) {
d[b] || (b = f.camelCase(b)), delete d[b];
if (!l(d)) return;
}
}
if (c) {
delete h[i][e];
if (!l(h[i])) return;
}
var j = h[i][e];
f.support.deleteExpando || !h.setInterval ? delete h[i] : h[i] = null, j ? (h[i] = {}, g || (h[i].toJSON = f.noop), h[i][e] = j) : g && (f.support.deleteExpando ? delete a[f.expando] : a.removeAttribute ? a.removeAttribute(f.expando) : a[f.expando] = null);
}
},
_data: function(a, b, c) {
return f.data(a, b, c, !0);
},
acceptData: function(a) {
if (a.nodeName) {
var b = f.noData[a.nodeName.toLowerCase()];
if (b) return b !== !0 && a.getAttribute("classid") === b;
}
return !0;
}
}), f.fn.extend({
data: function(a, c) {
var d = null;
if (typeof a == "undefined") {
if (this.length) {
d = f.data(this[0]);
if (this[0].nodeType === 1) {
var e = this[0].attributes, g;
for (var h = 0, i = e.length; h < i; h++) g = e[h].name, g.indexOf("data-") === 0 && (g = f.camelCase(g.substring(5)), k(this[0], g, d[g]));
}
}
return d;
}
if (typeof a == "object") return this.each(function() {
f.data(this, a);
});
var j = a.split(".");
j[1] = j[1] ? "." + j[1] : "";
if (c === b) {
d = this.triggerHandler("getData" + j[1] + "!", [ j[0] ]), d === b && this.length && (d = f.data(this[0], a), d = k(this[0], a, d));
return d === b && j[1] ? this.data(j[0]) : d;
}
return this.each(function() {
var b = f(this), d = [ j[0], c ];
b.triggerHandler("setData" + j[1] + "!", d), f.data(this, a, c), b.triggerHandler("changeData" + j[1] + "!", d);
});
},
removeData: function(a) {
return this.each(function() {
f.removeData(this, a);
});
}
}), f.extend({
_mark: function(a, c) {
a && (c = (c || "fx") + "mark", f.data(a, c, (f.data(a, c, b, !0) || 0) + 1, !0));
},
_unmark: function(a, c, d) {
a !== !0 && (d = c, c = a, a = !1);
if (c) {
d = d || "fx";
var e = d + "mark", g = a ? 0 : (f.data(c, e, b, !0) || 1) - 1;
g ? f.data(c, e, g, !0) : (f.removeData(c, e, !0), m(c, d, "mark"));
}
},
queue: function(a, c, d) {
if (a) {
c = (c || "fx") + "queue";
var e = f.data(a, c, b, !0);
d && (!e || f.isArray(d) ? e = f.data(a, c, f.makeArray(d), !0) : e.push(d));
return e || [];
}
},
dequeue: function(a, b) {
b = b || "fx";
var c = f.queue(a, b), d = c.shift(), e;
d === "inprogress" && (d = c.shift()), d && (b === "fx" && c.unshift("inprogress"), d.call(a, function() {
f.dequeue(a, b);
})), c.length || (f.removeData(a, b + "queue", !0), m(a, b, "queue"));
}
}), f.fn.extend({
queue: function(a, c) {
typeof a != "string" && (c = a, a = "fx");
return c === b ? f.queue(this[0], a) : this.each(function() {
var b = f.queue(this, a, c);
a === "fx" && b[0] !== "inprogress" && f.dequeue(this, a);
});
},
dequeue: function(a) {
return this.each(function() {
f.dequeue(this, a);
});
},
delay: function(a, b) {
a = f.fx ? f.fx.speeds[a] || a : a, b = b || "fx";
return this.queue(b, function() {
var c = this;
setTimeout(function() {
f.dequeue(c, b);
}, a);
});
},
clearQueue: function(a) {
return this.queue(a || "fx", []);
},
promise: function(a, c) {
function m() {
--h || d.resolveWith(e, [ e ]);
}
typeof a != "string" && (c = a, a = b), a = a || "fx";
var d = f.Deferred(), e = this, g = e.length, h = 1, i = a + "defer", j = a + "queue", k = a + "mark", l;
while (g--) if (l = f.data(e[g], i, b, !0) || (f.data(e[g], j, b, !0) || f.data(e[g], k, b, !0)) && f.data(e[g], i, f._Deferred(), !0)) h++, l.done(m);
m();
return d.promise();
}
});
var n = /[\n\t\r]/g, o = /\s+/, p = /\r/g, q = /^(?:button|input)$/i, r = /^(?:button|input|object|select|textarea)$/i, s = /^a(?:rea)?$/i, t = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, u, v;
f.fn.extend({
attr: function(a, b) {
return f.access(this, a, b, !0, f.attr);
},
removeAttr: function(a) {
return this.each(function() {
f.removeAttr(this, a);
});
},
prop: function(a, b) {
return f.access(this, a, b, !0, f.prop);
},
removeProp: function(a) {
a = f.propFix[a] || a;
return this.each(function() {
try {
this[a] = b, delete this[a];
} catch (c) {}
});
},
addClass: function(a) {
var b, c, d, e, g, h, i;
if (f.isFunction(a)) return this.each(function(b) {
f(this).addClass(a.call(this, b, this.className));
});
if (a && typeof a == "string") {
b = a.split(o);
for (c = 0, d = this.length; c < d; c++) {
e = this[c];
if (e.nodeType === 1) if (!e.className && b.length === 1) e.className = a; else {
g = " " + e.className + " ";
for (h = 0, i = b.length; h < i; h++) ~g.indexOf(" " + b[h] + " ") || (g += b[h] + " ");
e.className = f.trim(g);
}
}
}
return this;
},
removeClass: function(a) {
var c, d, e, g, h, i, j;
if (f.isFunction(a)) return this.each(function(b) {
f(this).removeClass(a.call(this, b, this.className));
});
if (a && typeof a == "string" || a === b) {
c = (a || "").split(o);
for (d = 0, e = this.length; d < e; d++) {
g = this[d];
if (g.nodeType === 1 && g.className) if (a) {
h = (" " + g.className + " ").replace(n, " ");
for (i = 0, j = c.length; i < j; i++) h = h.replace(" " + c[i] + " ", " ");
g.className = f.trim(h);
} else g.className = "";
}
}
return this;
},
toggleClass: function(a, b) {
var c = typeof a, d = typeof b == "boolean";
return f.isFunction(a) ? this.each(function(c) {
f(this).toggleClass(a.call(this, c, this.className, b), b);
}) : this.each(function() {
if (c === "string") {
var e, g = 0, h = f(this), i = b, j = a.split(o);
while (e = j[g++]) i = d ? i : !h.hasClass(e), h[i ? "addClass" : "removeClass"](e);
} else if (c === "undefined" || c === "boolean") this.className && f._data(this, "__className__", this.className), this.className = this.className || a === !1 ? "" : f._data(this, "__className__") || "";
});
},
hasClass: function(a) {
var b = " " + a + " ";
for (var c = 0, d = this.length; c < d; c++) if (this[c].nodeType === 1 && (" " + this[c].className + " ").replace(n, " ").indexOf(b) > -1) return !0;
return !1;
},
val: function(a) {
var c, d, e = this[0];
if (!arguments.length) {
if (e) {
c = f.valHooks[e.nodeName.toLowerCase()] || f.valHooks[e.type];
if (c && "get" in c && (d = c.get(e, "value")) !== b) return d;
d = e.value;
return typeof d == "string" ? d.replace(p, "") : d == null ? "" : d;
}
return b;
}
var g = f.isFunction(a);
return this.each(function(d) {
var e = f(this), h;
if (this.nodeType === 1) {
g ? h = a.call(this, d, e.val()) : h = a, h == null ? h = "" : typeof h == "number" ? h += "" : f.isArray(h) && (h = f.map(h, function(a) {
return a == null ? "" : a + "";
})), c = f.valHooks[this.nodeName.toLowerCase()] || f.valHooks[this.type];
if (!c || !("set" in c) || c.set(this, h, "value") === b) this.value = h;
}
});
}
}), f.extend({
valHooks: {
option: {
get: function(a) {
var b = a.attributes.value;
return !b || b.specified ? a.value : a.text;
}
},
select: {
get: function(a) {
var b, c = a.selectedIndex, d = [], e = a.options, g = a.type === "select-one";
if (c < 0) return null;
for (var h = g ? c : 0, i = g ? c + 1 : e.length; h < i; h++) {
var j = e[h];
if (j.selected && (f.support.optDisabled ? !j.disabled : j.getAttribute("disabled") === null) && (!j.parentNode.disabled || !f.nodeName(j.parentNode, "optgroup"))) {
b = f(j).val();
if (g) return b;
d.push(b);
}
}
return g && !d.length && e.length ? f(e[c]).val() : d;
},
set: function(a, b) {
var c = f.makeArray(b);
f(a).find("option").each(function() {
this.selected = f.inArray(f(this).val(), c) >= 0;
}), c.length || (a.selectedIndex = -1);
return c;
}
}
},
attrFn: {
val: !0,
css: !0,
html: !0,
text: !0,
data: !0,
width: !0,
height: !0,
offset: !0
},
attrFix: {
tabindex: "tabIndex"
},
attr: function(a, c, d, e) {
var g = a.nodeType;
if (!a || g === 3 || g === 8 || g === 2) return b;
if (e && c in f.attrFn) return f(a)[c](d);
if ("getAttribute" in a) {
var h, i, j = g !== 1 || !f.isXMLDoc(a);
j && (c = f.attrFix[c] || c, i = f.attrHooks[c], i || (t.test(c) ? i = v : u && (i = u)));
if (d !== b) {
if (d === null) {
f.removeAttr(a, c);
return b;
}
if (i && "set" in i && j && (h = i.set(a, d, c)) !== b) return h;
a.setAttribute(c, "" + d);
return d;
}
if (i && "get" in i && j && (h = i.get(a, c)) !== null) return h;
h = a.getAttribute(c);
return h === null ? b : h;
}
return f.prop(a, c, d);
},
removeAttr: function(a, b) {
var c;
a.nodeType === 1 && (b = f.attrFix[b] || b, f.attr(a, b, ""), a.removeAttribute(b), t.test(b) && (c = f.propFix[b] || b) in a && (a[c] = !1));
},
attrHooks: {
type: {
set: function(a, b) {
if (q.test(a.nodeName) && a.parentNode) f.error("type property can't be changed"); else if (!f.support.radioValue && b === "radio" && f.nodeName(a, "input")) {
var c = a.value;
a.setAttribute("type", b), c && (a.value = c);
return b;
}
}
},
value: {
get: function(a, b) {
return u && f.nodeName(a, "button") ? u.get(a, b) : b in a ? a.value : null;
},
set: function(a, b, c) {
if (u && f.nodeName(a, "button")) return u.set(a, b, c);
a.value = b;
}
}
},
propFix: {
tabindex: "tabIndex",
readonly: "readOnly",
"for": "htmlFor",
"class": "className",
maxlength: "maxLength",
cellspacing: "cellSpacing",
cellpadding: "cellPadding",
rowspan: "rowSpan",
colspan: "colSpan",
usemap: "useMap",
frameborder: "frameBorder",
contenteditable: "contentEditable"
},
prop: function(a, c, d) {
var e = a.nodeType;
if (!a || e === 3 || e === 8 || e === 2) return b;
var g, h, i = e !== 1 || !f.isXMLDoc(a);
i && (c = f.propFix[c] || c, h = f.propHooks[c]);
return d !== b ? h && "set" in h && (g = h.set(a, d, c)) !== b ? g : a[c] = d : h && "get" in h && (g = h.get(a, c)) !== null ? g : a[c];
},
propHooks: {
tabIndex: {
get: function(a) {
var c = a.getAttributeNode("tabindex");
return c && c.specified ? parseInt(c.value, 10) : r.test(a.nodeName) || s.test(a.nodeName) && a.href ? 0 : b;
}
}
}
}), f.attrHooks.tabIndex = f.propHooks.tabIndex, v = {
get: function(a, c) {
var d;
return f.prop(a, c) === !0 || (d = a.getAttributeNode(c)) && d.nodeValue !== !1 ? c.toLowerCase() : b;
},
set: function(a, b, c) {
var d;
b === !1 ? f.removeAttr(a, c) : (d = f.propFix[c] || c, d in a && (a[d] = !0), a.setAttribute(c, c.toLowerCase()));
return c;
}
}, f.support.getSetAttribute || (u = f.valHooks.button = {
get: function(a, c) {
var d;
d = a.getAttributeNode(c);
return d && d.nodeValue !== "" ? d.nodeValue : b;
},
set: function(a, b, d) {
var e = a.getAttributeNode(d);
e || (e = c.createAttribute(d), a.setAttributeNode(e));
return e.nodeValue = b + "";
}
}, f.each([ "width", "height" ], function(a, b) {
f.attrHooks[b] = f.extend(f.attrHooks[b], {
set: function(a, c) {
if (c === "") {
a.setAttribute(b, "auto");
return c;
}
}
});
})), f.support.hrefNormalized || f.each([ "href", "src", "width", "height" ], function(a, c) {
f.attrHooks[c] = f.extend(f.attrHooks[c], {
get: function(a) {
var d = a.getAttribute(c, 2);
return d === null ? b : d;
}
});
}), f.support.style || (f.attrHooks.style = {
get: function(a) {
return a.style.cssText.toLowerCase() || b;
},
set: function(a, b) {
return a.style.cssText = "" + b;
}
}), f.support.optSelected || (f.propHooks.selected = f.extend(f.propHooks.selected, {
get: function(a) {
var b = a.parentNode;
b && (b.selectedIndex, b.parentNode && b.parentNode.selectedIndex);
return null;
}
})), f.support.checkOn || f.each([ "radio", "checkbox" ], function() {
f.valHooks[this] = {
get: function(a) {
return a.getAttribute("value") === null ? "on" : a.value;
}
};
}), f.each([ "radio", "checkbox" ], function() {
f.valHooks[this] = f.extend(f.valHooks[this], {
set: function(a, b) {
if (f.isArray(b)) return a.checked = f.inArray(f(a).val(), b) >= 0;
}
});
});
var w = /\.(.*)$/, x = /^(?:textarea|input|select)$/i, y = /\./g, z = / /g, A = /[^\w\s.|`]/g, B = function(a) {
return a.replace(A, "\\$&");
};
f.event = {
add: function(a, c, d, e) {
if (a.nodeType !== 3 && a.nodeType !== 8) {
if (d === !1) d = C; else if (!d) return;
var g, h;
d.handler && (g = d, d = g.handler), d.guid || (d.guid = f.guid++);
var i = f._data(a);
if (!i) return;
var j = i.events, k = i.handle;
j || (i.events = j = {}), k || (i.handle = k = function(a) {
return typeof f != "undefined" && (!a || f.event.triggered !== a.type) ? f.event.handle.apply(k.elem, arguments) : b;
}), k.elem = a, c = c.split(" ");
var l, m = 0, n;
while (l = c[m++]) {
h = g ? f.extend({}, g) : {
handler: d,
data: e
}, l.indexOf(".") > -1 ? (n = l.split("."), l = n.shift(), h.namespace = n.slice(0).sort().join(".")) : (n = [], h.namespace = ""), h.type = l, h.guid || (h.guid = d.guid);
var o = j[l], p = f.event.special[l] || {};
if (!o) {
o = j[l] = [];
if (!p.setup || p.setup.call(a, e, n, k) === !1) a.addEventListener ? a.addEventListener(l, k, !1) : a.attachEvent && a.attachEvent("on" + l, k);
}
p.add && (p.add.call(a, h), h.handler.guid || (h.handler.guid = d.guid)), o.push(h), f.event.global[l] = !0;
}
a = null;
}
},
global: {},
remove: function(a, c, d, e) {
if (a.nodeType !== 3 && a.nodeType !== 8) {
d === !1 && (d = C);
var g, h, i, j, k = 0, l, m, n, o, p, q, r, s = f.hasData(a) && f._data(a), t = s && s.events;
if (!s || !t) return;
c && c.type && (d = c.handler, c = c.type);
if (!c || typeof c == "string" && c.charAt(0) === ".") {
c = c || "";
for (h in t) f.event.remove(a, h + c);
return;
}
c = c.split(" ");
while (h = c[k++]) {
r = h, q = null, l = h.indexOf(".") < 0, m = [], l || (m = h.split("."), h = m.shift(), n = new RegExp("(^|\\.)" + f.map(m.slice(0).sort(), B).join("\\.(?:.*\\.)?") + "(\\.|$)")), p = t[h];
if (!p) continue;
if (!d) {
for (j = 0; j < p.length; j++) {
q = p[j];
if (l || n.test(q.namespace)) f.event.remove(a, r, q.handler, j), p.splice(j--, 1);
}
continue;
}
o = f.event.special[h] || {};
for (j = e || 0; j < p.length; j++) {
q = p[j];
if (d.guid === q.guid) {
if (l || n.test(q.namespace)) e == null && p.splice(j--, 1), o.remove && o.remove.call(a, q);
if (e != null) break;
}
}
if (p.length === 0 || e != null && p.length === 1) (!o.teardown || o.teardown.call(a, m) === !1) && f.removeEvent(a, h, s.handle), g = null, delete t[h];
}
if (f.isEmptyObject(t)) {
var u = s.handle;
u && (u.elem = null), delete s.events, delete s.handle, f.isEmptyObject(s) && f.removeData(a, b, !0);
}
}
},
customEvent: {
getData: !0,
setData: !0,
changeData: !0
},
trigger: function(c, d, e, g) {
var h = c.type || c, i = [], j;
h.indexOf("!") >= 0 && (h = h.slice(0, -1), j = !0), h.indexOf(".") >= 0 && (i = h.split("."), h = i.shift(), i.sort());
if (!!e && !f.event.customEvent[h] || !!f.event.global[h]) {
c = typeof c == "object" ? c[f.expando] ? c : new f.Event(h, c) : new f.Event(h), c.type = h, c.exclusive = j, c.namespace = i.join("."), c.namespace_re = new RegExp("(^|\\.)" + i.join("\\.(?:.*\\.)?") + "(\\.|$)");
if (g || !e) c.preventDefault(), c.stopPropagation();
if (!e) {
f.each(f.cache, function() {
var a = f.expando, b = this[a];
b && b.events && b.events[h] && f.event.trigger(c, d, b.handle.elem);
});
return;
}
if (e.nodeType === 3 || e.nodeType === 8) return;
c.result = b, c.target = e, d = d != null ? f.makeArray(d) : [], d.unshift(c);
var k = e, l = h.indexOf(":") < 0 ? "on" + h : "";
do {
var m = f._data(k, "handle");
c.currentTarget = k, m && m.apply(k, d), l && f.acceptData(k) && k[l] && k[l].apply(k, d) === !1 && (c.result = !1, c.preventDefault()), k = k.parentNode || k.ownerDocument || k === c.target.ownerDocument && a;
} while (k && !c.isPropagationStopped());
if (!c.isDefaultPrevented()) {
var n, o = f.event.special[h] || {};
if ((!o._default || o._default.call(e.ownerDocument, c) === !1) && (h !== "click" || !f.nodeName(e, "a")) && f.acceptData(e)) {
try {
l && e[h] && (n = e[l], n && (e[l] = null), f.event.triggered = h, e[h]());
} catch (p) {}
n && (e[l] = n), f.event.triggered = b;
}
}
return c.result;
}
},
handle: function(c) {
c = f.event.fix(c || a.event);
var d = ((f._data(this, "events") || {})[c.type] || []).slice(0), e = !c.exclusive && !c.namespace, g = Array.prototype.slice.call(arguments, 0);
g[0] = c, c.currentTarget = this;
for (var h = 0, i = d.length; h < i; h++) {
var j = d[h];
if (e || c.namespace_re.test(j.namespace)) {
c.handler = j.handler, c.data = j.data, c.handleObj = j;
var k = j.handler.apply(this, g);
k !== b && (c.result = k, k === !1 && (c.preventDefault(), c.stopPropagation()));
if (c.isImmediatePropagationStopped()) break;
}
}
return c.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 pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
fix: function(a) {
if (a[f.expando]) return a;
var d = a;
a = f.Event(d);
for (var e = this.props.length, g; e; ) g = this.props[--e], a[g] = d[g];
a.target || (a.target = a.srcElement || c), a.target.nodeType === 3 && (a.target = a.target.parentNode), !a.relatedTarget && a.fromElement && (a.relatedTarget = a.fromElement === a.target ? a.toElement : a.fromElement);
if (a.pageX == null && a.clientX != null) {
var h = a.target.ownerDocument || c, i = h.documentElement, j = h.body;
a.pageX = a.clientX + (i && i.scrollLeft || j && j.scrollLeft || 0) - (i && i.clientLeft || j && j.clientLeft || 0), a.pageY = a.clientY + (i && i.scrollTop || j && j.scrollTop || 0) - (i && i.clientTop || j && j.clientTop || 0);
}
a.which == null && (a.charCode != null || a.keyCode != null) && (a.which = a.charCode != null ? a.charCode : a.keyCode), !a.metaKey && a.ctrlKey && (a.metaKey = a.ctrlKey), !a.which && a.button !== b && (a.which = a.button & 1 ? 1 : a.button & 2 ? 3 : a.button & 4 ? 2 : 0);
return a;
},
guid: 1e8,
proxy: f.proxy,
special: {
ready: {
setup: f.bindReady,
teardown: f.noop
},
live: {
add: function(a) {
f.event.add(this, M(a.origType, a.selector), f.extend({}, a, {
handler: L,
guid: a.handler.guid
}));
},
remove: function(a) {
f.event.remove(this, M(a.origType, a.selector), a);
}
},
beforeunload: {
setup: function(a, b, c) {
f.isWindow(this) && (this.onbeforeunload = c);
},
teardown: function(a, b) {
this.onbeforeunload === b && (this.onbeforeunload = null);
}
}
}
}, f.removeEvent = c.removeEventListener ? function(a, b, c) {
a.removeEventListener && a.removeEventListener(b, c, !1);
} : function(a, b, c) {
a.detachEvent && a.detachEvent("on" + b, c);
}, f.Event = function(a, b) {
if (!this.preventDefault) return new f.Event(a, b);
a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || a.returnValue === !1 || a.getPreventDefault && a.getPreventDefault() ? D : C) : this.type = a, b && f.extend(this, b), this.timeStamp = f.now(), this[f.expando] = !0;
}, f.Event.prototype = {
preventDefault: function() {
this.isDefaultPrevented = D;
var a = this.originalEvent;
!a || (a.preventDefault ? a.preventDefault() : a.returnValue = !1);
},
stopPropagation: function() {
this.isPropagationStopped = D;
var a = this.originalEvent;
!a || (a.stopPropagation && a.stopPropagation(), a.cancelBubble = !0);
},
stopImmediatePropagation: function() {
this.isImmediatePropagationStopped = D, this.stopPropagation();
},
isDefaultPrevented: C,
isPropagationStopped: C,
isImmediatePropagationStopped: C
};
var E = function(a) {
var b = a.relatedTarget, c = !1, d = a.type;
a.type = a.data, b !== this && (b && (c = f.contains(this, b)), c || (f.event.handle.apply(this, arguments), a.type = d));
}, F = function(a) {
a.type = a.data, f.event.handle.apply(this, arguments);
};
f.each({
mouseenter: "mouseover",
mouseleave: "mouseout"
}, function(a, b) {
f.event.special[a] = {
setup: function(c) {
f.event.add(this, b, c && c.selector ? F : E, a);
},
teardown: function(a) {
f.event.remove(this, b, a && a.selector ? F : E);
}
};
}), f.support.submitBubbles || (f.event.special.submit = {
setup: function(a, b) {
if (!f.nodeName(this, "form")) f.event.add(this, "click.specialSubmit", function(a) {
var b = a.target, c = f.nodeName(b, "input") || f.nodeName(b, "button") ? b.type : "";
(c === "submit" || c === "image") && f(b).closest("form").length && J("submit", this, arguments);
}), f.event.add(this, "keypress.specialSubmit", function(a) {
var b = a.target, c = f.nodeName(b, "input") || f.nodeName(b, "button") ? b.type : "";
(c === "text" || c === "password") && f(b).closest("form").length && a.keyCode === 13 && J("submit", this, arguments);
}); else return !1;
},
teardown: function(a) {
f.event.remove(this, ".specialSubmit");
}
});
if (!f.support.changeBubbles) {
var G, H = function(a) {
var b = f.nodeName(a, "input") ? a.type : "", c = a.value;
b === "radio" || b === "checkbox" ? c = a.checked : b === "select-multiple" ? c = a.selectedIndex > -1 ? f.map(a.options, function(a) {
return a.selected;
}).join("-") : "" : f.nodeName(a, "select") && (c = a.selectedIndex);
return c;
}, I = function(a) {
var c = a.target, d, e;
if (!!x.test(c.nodeName) && !c.readOnly) {
d = f._data(c, "_change_data"), e = H(c), (a.type !== "focusout" || c.type !== "radio") && f._data(c, "_change_data", e);
if (d === b || e === d) return;
if (d != null || e) a.type = "change", a.liveFired = b, f.event.trigger(a, arguments[1], c);
}
};
f.event.special.change = {
filters: {
focusout: I,
beforedeactivate: I,
click: function(a) {
var b = a.target, c = f.nodeName(b, "input") ? b.type : "";
(c === "radio" || c === "checkbox" || f.nodeName(b, "select")) && I.call(this, a);
},
keydown: function(a) {
var b = a.target, c = f.nodeName(b, "input") ? b.type : "";
(a.keyCode === 13 && !f.nodeName(b, "textarea") || a.keyCode === 32 && (c === "checkbox" || c === "radio") || c === "select-multiple") && I.call(this, a);
},
beforeactivate: function(a) {
var b = a.target;
f._data(b, "_change_data", H(b));
}
},
setup: function(a, b) {
if (this.type === "file") return !1;
for (var c in G) f.event.add(this, c + ".specialChange", G[c]);
return x.test(this.nodeName);
},
teardown: function(a) {
f.event.remove(this, ".specialChange");
return x.test(this.nodeName);
}
}, G = f.event.special.change.filters, G.focus = G.beforeactivate;
}
f.support.focusinBubbles || f.each({
focus: "focusin",
blur: "focusout"
}, function(a, b) {
function e(a) {
var c = f.event.fix(a);
c.type = b, c.originalEvent = {}, f.event.trigger(c, null, c.target), c.isDefaultPrevented() && a.preventDefault();
}
var d = 0;
f.event.special[b] = {
setup: function() {
d++ === 0 && c.addEventListener(a, e, !0);
},
teardown: function() {
--d === 0 && c.removeEventListener(a, e, !0);
}
};
}), f.each([ "bind", "one" ], function(a, c) {
f.fn[c] = function(a, d, e) {
var g;
if (typeof a == "object") {
for (var h in a) this[c](h, d, a[h], e);
return this;
}
if (arguments.length === 2 || d === !1) e = d, d = b;
c === "one" ? (g = function(a) {
f(this).unbind(a, g);
return e.apply(this, arguments);
}, g.guid = e.guid || f.guid++) : g = e;
if (a === "unload" && c !== "one") this.one(a, d, e); else for (var i = 0, j = this.length; i < j; i++) f.event.add(this[i], a, g, d);
return this;
};
}), f.fn.extend({
unbind: function(a, b) {
if (typeof a == "object" && !a.preventDefault) for (var c in a) this.unbind(c, a[c]); else for (var d = 0, e = this.length; d < e; d++) f.event.remove(this[d], a, b);
return this;
},
delegate: function(a, b, c, d) {
return this.live(b, c, d, a);
},
undelegate: function(a, b, c) {
return arguments.length === 0 ? this.unbind("live") : this.die(b, null, c, a);
},
trigger: function(a, b) {
return this.each(function() {
f.event.trigger(a, b, this);
});
},
triggerHandler: function(a, b) {
if (this[0]) return f.event.trigger(a, b, this[0], !0);
},
toggle: function(a) {
var b = arguments, c = a.guid || f.guid++, d = 0, e = function(c) {
var e = (f.data(this, "lastToggle" + a.guid) || 0) % d;
f.data(this, "lastToggle" + a.guid, e + 1), c.preventDefault();
return b[e].apply(this, arguments) || !1;
};
e.guid = c;
while (d < b.length) b[d++].guid = c;
return this.click(e);
},
hover: function(a, b) {
return this.mouseenter(a).mouseleave(b || a);
}
});
var K = {
focus: "focusin",
blur: "focusout",
mouseenter: "mouseover",
mouseleave: "mouseout"
};
f.each([ "live", "die" ], function(a, c) {
f.fn[c] = function(a, d, e, g) {
var h, i = 0, j, k, l, m = g || this.selector, n = g ? this : f(this.context);
if (typeof a == "object" && !a.preventDefault) {
for (var o in a) n[c](o, d, a[o], m);
return this;
}
if (c === "die" && !a && g && g.charAt(0) === ".") {
n.unbind(g);
return this;
}
if (d === !1 || f.isFunction(d)) e = d || C, d = b;
a = (a || "").split(" ");
while ((h = a[i++]) != null) {
j = w.exec(h), k = "", j && (k = j[0], h = h.replace(w, ""));
if (h === "hover") {
a.push("mouseenter" + k, "mouseleave" + k);
continue;
}
l = h, K[h] ? (a.push(K[h] + k), h = h + k) : h = (K[h] || h) + k;
if (c === "live") for (var p = 0, q = n.length; p < q; p++) f.event.add(n[p], "live." + M(h, m), {
data: d,
selector: m,
handler: e,
origType: h,
origHandler: e,
preType: l
}); else n.unbind("live." + M(h, m), e);
}
return this;
};
}), f.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(a, b) {
f.fn[b] = function(a, c) {
c == null && (c = a, a = null);
return arguments.length > 0 ? this.bind(b, a, c) : this.trigger(b);
}, f.attrFn && (f.attrFn[b] = !0);
}), function() {
function u(a, b, c, d, e, f) {
for (var g = 0, h = d.length; g < h; g++) {
var i = d[g];
if (i) {
var j = !1;
i = i[a];
while (i) {
if (i.sizcache === c) {
j = d[i.sizset];
break;
}
if (i.nodeType === 1) {
f || (i.sizcache = c, i.sizset = g);
if (typeof b != "string") {
if (i === b) {
j = !0;
break;
}
} else if (k.filter(b, [ i ]).length > 0) {
j = i;
break;
}
}
i = i[a];
}
d[g] = j;
}
}
}
function t(a, b, c, d, e, f) {
for (var g = 0, h = d.length; g < h; g++) {
var i = d[g];
if (i) {
var j = !1;
i = i[a];
while (i) {
if (i.sizcache === c) {
j = d[i.sizset];
break;
}
i.nodeType === 1 && !f && (i.sizcache = c, i.sizset = g);
if (i.nodeName.toLowerCase() === b) {
j = i;
break;
}
i = i[a];
}
d[g] = j;
}
}
}
var a = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, d = 0, e = Object.prototype.toString, g = !1, h = !0, i = /\\/g, j = /\W/;
[ 0, 0 ].sort(function() {
h = !1;
return 0;
});
var k = function(b, d, f, g) {
f = f || [], d = d || c;
var h = d;
if (d.nodeType !== 1 && d.nodeType !== 9) return [];
if (!b || typeof b != "string") return f;
var i, j, n, o, q, r, s, t, u = !0, w = k.isXML(d), x = [], y = b;
do {
a.exec(""), i = a.exec(y);
if (i) {
y = i[3], x.push(i[1]);
if (i[2]) {
o = i[3];
break;
}
}
} while (i);
if (x.length > 1 && m.exec(b)) if (x.length === 2 && l.relative[x[0]]) j = v(x[0] + x[1], d); else {
j = l.relative[x[0]] ? [ d ] : k(x.shift(), d);
while (x.length) b = x.shift(), l.relative[b] && (b += x.shift()), j = v(b, j);
} else {
!g && x.length > 1 && d.nodeType === 9 && !w && l.match.ID.test(x[0]) && !l.match.ID.test(x[x.length - 1]) && (q = k.find(x.shift(), d, w), d = q.expr ? k.filter(q.expr, q.set)[0] : q.set[0]);
if (d) {
q = g ? {
expr: x.pop(),
set: p(g)
} : k.find(x.pop(), x.length === 1 && (x[0] === "~" || x[0] === "+") && d.parentNode ? d.parentNode : d, w), j = q.expr ? k.filter(q.expr, q.set) : q.set, x.length > 0 ? n = p(j) : u = !1;
while (x.length) r = x.pop(), s = r, l.relative[r] ? s = x.pop() : r = "", s == null && (s = d), l.relative[r](n, s, w);
} else n = x = [];
}
n || (n = j), n || k.error(r || b);
if (e.call(n) === "[object Array]") if (!u) f.push.apply(f, n); else if (d && d.nodeType === 1) for (t = 0; n[t] != null; t++) n[t] && (n[t] === !0 || n[t].nodeType === 1 && k.contains(d, n[t])) && f.push(j[t]); else for (t = 0; n[t] != null; t++) n[t] && n[t].nodeType === 1 && f.push(j[t]); else p(n, f);
o && (k(o, h, f, g), k.uniqueSort(f));
return f;
};
k.uniqueSort = function(a) {
if (r) {
g = h, a.sort(r);
if (g) for (var b = 1; b < a.length; b++) a[b] === a[b - 1] && a.splice(b--, 1);
}
return a;
}, k.matches = function(a, b) {
return k(a, null, null, b);
}, k.matchesSelector = function(a, b) {
return k(b, null, null, [ a ]).length > 0;
}, k.find = function(a, b, c) {
var d;
if (!a) return [];
for (var e = 0, f = l.order.length; e < f; e++) {
var g, h = l.order[e];
if (g = l.leftMatch[h].exec(a)) {
var j = g[1];
g.splice(1, 1);
if (j.substr(j.length - 1) !== "\\") {
g[1] = (g[1] || "").replace(i, ""), d = l.find[h](g, b, c);
if (d != null) {
a = a.replace(l.match[h], "");
break;
}
}
}
}
d || (d = typeof b.getElementsByTagName != "undefined" ? b.getElementsByTagName("*") : []);
return {
set: d,
expr: a
};
}, k.filter = function(a, c, d, e) {
var f, g, h = a, i = [], j = c, m = c && c[0] && k.isXML(c[0]);
while (a && c.length) {
for (var n in l.filter) if ((f = l.leftMatch[n].exec(a)) != null && f[2]) {
var o, p, q = l.filter[n], r = f[1];
g = !1, f.splice(1, 1);
if (r.substr(r.length - 1) === "\\") continue;
j === i && (i = []);
if (l.preFilter[n]) {
f = l.preFilter[n](f, j, d, i, e, m);
if (!f) g = o = !0; else if (f === !0) continue;
}
if (f) for (var s = 0; (p = j[s]) != null; s++) if (p) {
o = q(p, f, s, j);
var t = e ^ !!o;
d && o != null ? t ? g = !0 : j[s] = !1 : t && (i.push(p), g = !0);
}
if (o !== b) {
d || (j = i), a = a.replace(l.match[n], "");
if (!g) return [];
break;
}
}
if (a === h) if (g == null) k.error(a); else break;
h = a;
}
return j;
}, k.error = function(a) {
throw "Syntax error, unrecognized expression: " + a;
};
var l = k.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|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,
TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,
CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,
POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,
PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
},
leftMatch: {},
attrMap: {
"class": "className",
"for": "htmlFor"
},
attrHandle: {
href: function(a) {
return a.getAttribute("href");
},
type: function(a) {
return a.getAttribute("type");
}
},
relative: {
"+": function(a, b) {
var c = typeof b == "string", d = c && !j.test(b), e = c && !d;
d && (b = b.toLowerCase());
for (var f = 0, g = a.length, h; f < g; f++) if (h = a[f]) {
while ((h = h.previousSibling) && h.nodeType !== 1) ;
a[f] = e || h && h.nodeName.toLowerCase() === b ? h || !1 : h === b;
}
e && k.filter(b, a, !0);
},
">": function(a, b) {
var c, d = typeof b == "string", e = 0, f = a.length;
if (d && !j.test(b)) {
b = b.toLowerCase();
for (; e < f; e++) {
c = a[e];
if (c) {
var g = c.parentNode;
a[e] = g.nodeName.toLowerCase() === b ? g : !1;
}
}
} else {
for (; e < f; e++) c = a[e], c && (a[e] = d ? c.parentNode : c.parentNode === b);
d && k.filter(b, a, !0);
}
},
"": function(a, b, c) {
var e, f = d++, g = u;
typeof b == "string" && !j.test(b) && (b = b.toLowerCase(), e = b, g = t), g("parentNode", b, f, a, e, c);
},
"~": function(a, b, c) {
var e, f = d++, g = u;
typeof b == "string" && !j.test(b) && (b = b.toLowerCase(), e = b, g = t), g("previousSibling", b, f, a, e, c);
}
},
find: {
ID: function(a, b, c) {
if (typeof b.getElementById != "undefined" && !c) {
var d = b.getElementById(a[1]);
return d && d.parentNode ? [ d ] : [];
}
},
NAME: function(a, b) {
if (typeof b.getElementsByName != "undefined") {
var c = [], d = b.getElementsByName(a[1]);
for (var e = 0, f = d.length; e < f; e++) d[e].getAttribute("name") === a[1] && c.push(d[e]);
return c.length === 0 ? null : c;
}
},
TAG: function(a, b) {
if (typeof b.getElementsByTagName != "undefined") return b.getElementsByTagName(a[1]);
}
},
preFilter: {
CLASS: function(a, b, c, d, e, f) {
a = " " + a[1].replace(i, "") + " ";
if (f) return a;
for (var g = 0, h; (h = b[g]) != null; g++) h && (e ^ (h.className && (" " + h.className + " ").replace(/[\t\n\r]/g, " ").indexOf(a) >= 0) ? c || d.push(h) : c && (b[g] = !1));
return !1;
},
ID: function(a) {
return a[1].replace(i, "");
},
TAG: function(a, b) {
return a[1].replace(i, "").toLowerCase();
},
CHILD: function(a) {
if (a[1] === "nth") {
a[2] || k.error(a[0]), a[2] = a[2].replace(/^\+|\s*/g, "");
var b = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2] === "even" && "2n" || a[2] === "odd" && "2n+1" || !/\D/.test(a[2]) && "0n+" + a[2] || a[2]);
a[2] = b[1] + (b[2] || 1) - 0, a[3] = b[3] - 0;
} else a[2] && k.error(a[0]);
a[0] = d++;
return a;
},
ATTR: function(a, b, c, d, e, f) {
var g = a[1] = a[1].replace(i, "");
!f && l.attrMap[g] && (a[1] = l.attrMap[g]), a[4] = (a[4] || a[5] || "").replace(i, ""), a[2] === "~=" && (a[4] = " " + a[4] + " ");
return a;
},
PSEUDO: function(b, c, d, e, f) {
if (b[1] === "not") if ((a.exec(b[3]) || "").length > 1 || /^\w/.test(b[3])) b[3] = k(b[3], null, null, c); else {
var g = k.filter(b[3], c, d, !0 ^ f);
d || e.push.apply(e, g);
return !1;
} else if (l.match.POS.test(b[0]) || l.match.CHILD.test(b[0])) return !0;
return b;
},
POS: function(a) {
a.unshift(!0);
return a;
}
},
filters: {
enabled: function(a) {
return a.disabled === !1 && a.type !== "hidden";
},
disabled: function(a) {
return a.disabled === !0;
},
checked: function(a) {
return a.checked === !0;
},
selected: function(a) {
a.parentNode && a.parentNode.selectedIndex;
return a.selected === !0;
},
parent: function(a) {
return !!a.firstChild;
},
empty: function(a) {
return !a.firstChild;
},
has: function(a, b, c) {
return !!k(c[3], a).length;
},
header: function(a) {
return /h\d/i.test(a.nodeName);
},
text: function(a) {
var b = a.getAttribute("type"), c = a.type;
return a.nodeName.toLowerCase() === "input" && "text" === c && (b === c || b === null);
},
radio: function(a) {
return a.nodeName.toLowerCase() === "input" && "radio" === a.type;
},
checkbox: function(a) {
return a.nodeName.toLowerCase() === "input" && "checkbox" === a.type;
},
file: function(a) {
return a.nodeName.toLowerCase() === "input" && "file" === a.type;
},
password: function(a) {
return a.nodeName.toLowerCase() === "input" && "password" === a.type;
},
submit: function(a) {
var b = a.nodeName.toLowerCase();
return (b === "input" || b === "button") && "submit" === a.type;
},
image: function(a) {
return a.nodeName.toLowerCase() === "input" && "image" === a.type;
},
reset: function(a) {
var b = a.nodeName.toLowerCase();
return (b === "input" || b === "button") && "reset" === a.type;
},
button: function(a) {
var b = a.nodeName.toLowerCase();
return b === "input" && "button" === a.type || b === "button";
},
input: function(a) {
return /input|select|textarea|button/i.test(a.nodeName);
},
focus: function(a) {
return a === a.ownerDocument.activeElement;
}
},
setFilters: {
first: function(a, b) {
return b === 0;
},
last: function(a, b, c, d) {
return b === d.length - 1;
},
even: function(a, b) {
return b % 2 === 0;
},
odd: function(a, b) {
return b % 2 === 1;
},
lt: function(a, b, c) {
return b < c[3] - 0;
},
gt: function(a, b, c) {
return b > c[3] - 0;
},
nth: function(a, b, c) {
return c[3] - 0 === b;
},
eq: function(a, b, c) {
return c[3] - 0 === b;
}
},
filter: {
PSEUDO: function(a, b, c, d) {
var e = b[1], f = l.filters[e];
if (f) return f(a, c, b, d);
if (e === "contains") return (a.textContent || a.innerText || k.getText([ a ]) || "").indexOf(b[3]) >= 0;
if (e === "not") {
var g = b[3];
for (var h = 0, i = g.length; h < i; h++) if (g[h] === a) return !1;
return !0;
}
k.error(e);
},
CHILD: function(a, b) {
var c = b[1], d = a;
switch (c) {
case "only":
case "first":
while (d = d.previousSibling) if (d.nodeType === 1) return !1;
if (c === "first") return !0;
d = a;
case "last":
while (d = d.nextSibling) if (d.nodeType === 1) return !1;
return !0;
case "nth":
var e = b[2], f = b[3];
if (e === 1 && f === 0) return !0;
var g = b[0], h = a.parentNode;
if (h && (h.sizcache !== g || !a.nodeIndex)) {
var i = 0;
for (d = h.firstChild; d; d = d.nextSibling) d.nodeType === 1 && (d.nodeIndex = ++i);
h.sizcache = g;
}
var j = a.nodeIndex - f;
return e === 0 ? j === 0 : j % e === 0 && j / e >= 0;
}
},
ID: function(a, b) {
return a.nodeType === 1 && a.getAttribute("id") === b;
},
TAG: function(a, b) {
return b === "*" && a.nodeType === 1 || a.nodeName.toLowerCase() === b;
},
CLASS: function(a, b) {
return (" " + (a.className || a.getAttribute("class")) + " ").indexOf(b) > -1;
},
ATTR: function(a, b) {
var c = b[1], d = l.attrHandle[c] ? l.attrHandle[c](a) : a[c] != null ? a[c] : a.getAttribute(c), e = d + "", f = b[2], g = b[4];
return d == null ? f === "!=" : f === "=" ? e === g : f === "*=" ? e.indexOf(g) >= 0 : f === "~=" ? (" " + e + " ").indexOf(g) >= 0 : g ? f === "!=" ? e !== g : f === "^=" ? e.indexOf(g) === 0 : f === "$=" ? e.substr(e.length - g.length) === g : f === "|=" ? e === g || e.substr(0, g.length + 1) === g + "-" : !1 : e && d !== !1;
},
POS: function(a, b, c, d) {
var e = b[2], f = l.setFilters[e];
if (f) return f(a, c, b, d);
}
}
}, m = l.match.POS, n = function(a, b) {
return "\\" + (b - 0 + 1);
};
for (var o in l.match) l.match[o] = new RegExp(l.match[o].source + /(?![^\[]*\])(?![^\(]*\))/.source), l.leftMatch[o] = new RegExp(/(^(?:.|\r|\n)*?)/.source + l.match[o].source.replace(/\\(\d+)/g, n));
var p = function(a, b) {
a = Array.prototype.slice.call(a, 0);
if (b) {
b.push.apply(b, a);
return b;
}
return a;
};
try {
Array.prototype.slice.call(c.documentElement.childNodes, 0)[0].nodeType;
} catch (q) {
p = function(a, b) {
var c = 0, d = b || [];
if (e.call(a) === "[object Array]") Array.prototype.push.apply(d, a); else if (typeof a.length == "number") for (var f = a.length; c < f; c++) d.push(a[c]); else for (; a[c]; c++) d.push(a[c]);
return d;
};
}
var r, s;
c.documentElement.compareDocumentPosition ? r = function(a, b) {
if (a === b) {
g = !0;
return 0;
}
return !a.compareDocumentPosition || !b.compareDocumentPosition ? a.compareDocumentPosition ? -1 : 1 : a.compareDocumentPosition(b) & 4 ? -1 : 1;
} : (r = function(a, b) {
if (a === b) {
g = !0;
return 0;
}
if (a.sourceIndex && b.sourceIndex) return a.sourceIndex - b.sourceIndex;
var c, d, e = [], f = [], h = a.parentNode, i = b.parentNode, j = h;
if (h === i) return s(a, b);
if (!h) return -1;
if (!i) return 1;
while (j) e.unshift(j), j = j.parentNode;
j = i;
while (j) f.unshift(j), j = j.parentNode;
c = e.length, d = f.length;
for (var k = 0; k < c && k < d; k++) if (e[k] !== f[k]) return s(e[k], f[k]);
return k === c ? s(a, f[k], -1) : s(e[k], b, 1);
}, s = function(a, b, c) {
if (a === b) return c;
var d = a.nextSibling;
while (d) {
if (d === b) return -1;
d = d.nextSibling;
}
return 1;
}), k.getText = function(a) {
var b = "", c;
for (var d = 0; a[d]; d++) c = a[d], c.nodeType === 3 || c.nodeType === 4 ? b += c.nodeValue : c.nodeType !== 8 && (b += k.getText(c.childNodes));
return b;
}, function() {
var a = c.createElement("div"), d = "script" + (new Date).getTime(), e = c.documentElement;
a.innerHTML = "<a name='" + d + "'/>", e.insertBefore(a, e.firstChild), c.getElementById(d) && (l.find.ID = function(a, c, d) {
if (typeof c.getElementById != "undefined" && !d) {
var e = c.getElementById(a[1]);
return e ? e.id === a[1] || typeof e.getAttributeNode != "undefined" && e.getAttributeNode("id").nodeValue === a[1] ? [ e ] : b : [];
}
}, l.filter.ID = function(a, b) {
var c = typeof a.getAttributeNode != "undefined" && a.getAttributeNode("id");
return a.nodeType === 1 && c && c.nodeValue === b;
}), e.removeChild(a), e = a = null;
}(), function() {
var a = c.createElement("div");
a.appendChild(c.createComment("")), a.getElementsByTagName("*").length > 0 && (l.find.TAG = function(a, b) {
var c = b.getElementsByTagName(a[1]);
if (a[1] === "*") {
var d = [];
for (var e = 0; c[e]; e++) c[e].nodeType === 1 && d.push(c[e]);
c = d;
}
return c;
}), a.innerHTML = "<a href='#'></a>", a.firstChild && typeof a.firstChild.getAttribute != "undefined" && a.firstChild.getAttribute("href") !== "#" && (l.attrHandle.href = function(a) {
return a.getAttribute("href", 2);
}), a = null;
}(), c.querySelectorAll && function() {
var a = k, b = c.createElement("div"), d = "__sizzle__";
b.innerHTML = "<p class='TEST'></p>";
if (!b.querySelectorAll || b.querySelectorAll(".TEST").length !== 0) {
k = function(b, e, f, g) {
e = e || c;
if (!g && !k.isXML(e)) {
var h = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);
if (h && (e.nodeType === 1 || e.nodeType === 9)) {
if (h[1]) return p(e.getElementsByTagName(b), f);
if (h[2] && l.find.CLASS && e.getElementsByClassName) return p(e.getElementsByClassName(h[2]), f);
}
if (e.nodeType === 9) {
if (b === "body" && e.body) return p([ e.body ], f);
if (h && h[3]) {
var i = e.getElementById(h[3]);
if (!i || !i.parentNode) return p([], f);
if (i.id === h[3]) return p([ i ], f);
}
try {
return p(e.querySelectorAll(b), f);
} catch (j) {}
} else if (e.nodeType === 1 && e.nodeName.toLowerCase() !== "object") {
var m = e, n = e.getAttribute("id"), o = n || d, q = e.parentNode, r = /^\s*[+~]/.test(b);
n ? o = o.replace(/'/g, "\\$&") : e.setAttribute("id", o), r && q && (e = e.parentNode);
try {
if (!r || q) return p(e.querySelectorAll("[id='" + o + "'] " + b), f);
} catch (s) {} finally {
n || m.removeAttribute("id");
}
}
}
return a(b, e, f, g);
};
for (var e in a) k[e] = a[e];
b = null;
}
}(), function() {
var a = c.documentElement, b = a.matchesSelector || a.mozMatchesSelector || a.webkitMatchesSelector || a.msMatchesSelector;
if (b) {
var d = !b.call(c.createElement("div"), "div"), e = !1;
try {
b.call(c.documentElement, "[test!='']:sizzle");
} catch (f) {
e = !0;
}
k.matchesSelector = function(a, c) {
c = c.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']");
if (!k.isXML(a)) try {
if (e || !l.match.PSEUDO.test(c) && !/!=/.test(c)) {
var f = b.call(a, c);
if (f || !d || a.document && a.document.nodeType !== 11) return f;
}
} catch (g) {}
return k(c, null, null, [ a ]).length > 0;
};
}
}(), function() {
var a = c.createElement("div");
a.innerHTML = "<div class='test e'></div><div class='test'></div>";
if (!!a.getElementsByClassName && a.getElementsByClassName("e").length !== 0) {
a.lastChild.className = "e";
if (a.getElementsByClassName("e").length === 1) return;
l.order.splice(1, 0, "CLASS"), l.find.CLASS = function(a, b, c) {
if (typeof b.getElementsByClassName != "undefined" && !c) return b.getElementsByClassName(a[1]);
}, a = null;
}
}(), c.documentElement.contains ? k.contains = function(a, b) {
return a !== b && (a.contains ? a.contains(b) : !0);
} : c.documentElement.compareDocumentPosition ? k.contains = function(a, b) {
return !!(a.compareDocumentPosition(b) & 16);
} : k.contains = function() {
return !1;
}, k.isXML = function(a) {
var b = (a ? a.ownerDocument || a : 0).documentElement;
return b ? b.nodeName !== "HTML" : !1;
};
var v = function(a, b) {
var c, d = [], e = "", f = b.nodeType ? [ b ] : b;
while (c = l.match.PSEUDO.exec(a)) e += c[0], a = a.replace(l.match.PSEUDO, "");
a = l.relative[a] ? a + "*" : a;
for (var g = 0, h = f.length; g < h; g++) k(a, f[g], d);
return k.filter(e, d);
};
f.find = k, f.expr = k.selectors, f.expr[":"] = f.expr.filters, f.unique = k.uniqueSort, f.text = k.getText, f.isXMLDoc = k.isXML, f.contains = k.contains;
}();
var N = /Until$/, O = /^(?:parents|prevUntil|prevAll)/, P = /,/, Q = /^.[^:#\[\.,]*$/, R = Array.prototype.slice, S = f.expr.match.POS, T = {
children: !0,
contents: !0,
next: !0,
prev: !0
};
f.fn.extend({
find: function(a) {
var b = this, c, d;
if (typeof a != "string") return f(a).filter(function() {
for (c = 0, d = b.length; c < d; c++) if (f.contains(b[c], this)) return !0;
});
var e = this.pushStack("", "find", a), g, h, i;
for (c = 0, d = this.length; c < d; c++) {
g = e.length, f.find(a, this[c], e);
if (c > 0) for (h = g; h < e.length; h++) for (i = 0; i < g; i++) if (e[i] === e[h]) {
e.splice(h--, 1);
break;
}
}
return e;
},
has: function(a) {
var b = f(a);
return this.filter(function() {
for (var a = 0, c = b.length; a < c; a++) if (f.contains(this, b[a])) return !0;
});
},
not: function(a) {
return this.pushStack(V(this, a, !1), "not", a);
},
filter: function(a) {
return this.pushStack(V(this, a, !0), "filter", a);
},
is: function(a) {
return !!a && (typeof a == "string" ? f.filter(a, this).length > 0 : this.filter(a).length > 0);
},
closest: function(a, b) {
var c = [], d, e, g = this[0];
if (f.isArray(a)) {
var h, i, j = {}, k = 1;
if (g && a.length) {
for (d = 0, e = a.length; d < e; d++) i = a[d], j[i] || (j[i] = S.test(i) ? f(i, b || this.context) : i);
while (g && g.ownerDocument && g !== b) {
for (i in j) h = j[i], (h.jquery ? h.index(g) > -1 : f(g).is(h)) && c.push({
selector: i,
elem: g,
level: k
});
g = g.parentNode, k++;
}
}
return c;
}
var l = S.test(a) || typeof a != "string" ? f(a, b || this.context) : 0;
for (d = 0, e = this.length; d < e; d++) {
g = this[d];
while (g) {
if (l ? l.index(g) > -1 : f.find.matchesSelector(g, a)) {
c.push(g);
break;
}
g = g.parentNode;
if (!g || !g.ownerDocument || g === b || g.nodeType === 11) break;
}
}
c = c.length > 1 ? f.unique(c) : c;
return this.pushStack(c, "closest", a);
},
index: function(a) {
return a ? typeof a == "string" ? f.inArray(this[0], f(a)) : f.inArray(a.jquery ? a[0] : a, this) : this[0] && this[0].parentNode ? this.prevAll().length : -1;
},
add: function(a, b) {
var c = typeof a == "string" ? f(a, b) : f.makeArray(a && a.nodeType ? [ a ] : a), d = f.merge(this.get(), c);
return this.pushStack(U(c[0]) || U(d[0]) ? d : f.unique(d));
},
andSelf: function() {
return this.add(this.prevObject);
}
}), f.each({
parent: function(a) {
var b = a.parentNode;
return b && b.nodeType !== 11 ? b : null;
},
parents: function(a) {
return f.dir(a, "parentNode");
},
parentsUntil: function(a, b, c) {
return f.dir(a, "parentNode", c);
},
next: function(a) {
return f.nth(a, 2, "nextSibling");
},
prev: function(a) {
return f.nth(a, 2, "previousSibling");
},
nextAll: function(a) {
return f.dir(a, "nextSibling");
},
prevAll: function(a) {
return f.dir(a, "previousSibling");
},
nextUntil: function(a, b, c) {
return f.dir(a, "nextSibling", c);
},
prevUntil: function(a, b, c) {
return f.dir(a, "previousSibling", c);
},
siblings: function(a) {
return f.sibling(a.parentNode.firstChild, a);
},
children: function(a) {
return f.sibling(a.firstChild);
},
contents: function(a) {
return f.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : f.makeArray(a.childNodes);
}
}, function(a, b) {
f.fn[a] = function(c, d) {
var e = f.map(this, b, c), g = R.call(arguments);
N.test(a) || (d = c), d && typeof d == "string" && (e = f.filter(d, e)), e = this.length > 1 && !T[a] ? f.unique(e) : e, (this.length > 1 || P.test(d)) && O.test(a) && (e = e.reverse());
return this.pushStack(e, a, g.join(","));
};
}), f.extend({
filter: function(a, b, c) {
c && (a = ":not(" + a + ")");
return b.length === 1 ? f.find.matchesSelector(b[0], a) ? [ b[0] ] : [] : f.find.matches(a, b);
},
dir: function(a, c, d) {
var e = [], g = a[c];
while (g && g.nodeType !== 9 && (d === b || g.nodeType !== 1 || !f(g).is(d))) g.nodeType === 1 && e.push(g), g = g[c];
return e;
},
nth: function(a, b, c, d) {
b = b || 1;
var e = 0;
for (; a; a = a[c]) if (a.nodeType === 1 && ++e === b) break;
return a;
},
sibling: function(a, b) {
var c = [];
for (; a; a = a.nextSibling) a.nodeType === 1 && a !== b && c.push(a);
return c;
}
});
var W = / jQuery\d+="(?:\d+|null)"/g, X = /^\s+/, Y = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, Z = /<([\w:]+)/, $ = /<tbody/i, _ = /<|&#?\w+;/, ba = /<(?:script|object|embed|option|style)/i, bb = /checked\s*(?:[^=]|=\s*.checked.)/i, bc = /\/(java|ecma)script/i, bd = /^\s*<!(?:\[CDATA\[|\-\-)/, be = {
option: [ 1, "<select multiple='multiple'>", "</select>" ],
legend: [ 1, "<fieldset>", "</fieldset>" ],
thead: [ 1, "<table>", "</table>" ],
tr: [ 2, "<table><tbody>", "</tbody></table>" ],
td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ],
area: [ 1, "<map>", "</map>" ],
_default: [ 0, "", "" ]
};
be.optgroup = be.option, be.tbody = be.tfoot = be.colgroup = be.caption = be.thead, be.th = be.td, f.support.htmlSerialize || (be._default = [ 1, "div<div>", "</div>" ]), f.fn.extend({
text: function(a) {
return f.isFunction(a) ? this.each(function(b) {
var c = f(this);
c.text(a.call(this, b, c.text()));
}) : typeof a != "object" && a !== b ? this.empty().append((this[0] && this[0].ownerDocument || c).createTextNode(a)) : f.text(this);
},
wrapAll: function(a) {
if (f.isFunction(a)) return this.each(function(b) {
f(this).wrapAll(a.call(this, b));
});
if (this[0]) {
var b = f(a, this[0].ownerDocument).eq(0).clone(!0);
this[0].parentNode && b.insertBefore(this[0]), b.map(function() {
var a = this;
while (a.firstChild && a.firstChild.nodeType === 1) a = a.firstChild;
return a;
}).append(this);
}
return this;
},
wrapInner: function(a) {
return f.isFunction(a) ? this.each(function(b) {
f(this).wrapInner(a.call(this, b));
}) : this.each(function() {
var b = f(this), c = b.contents();
c.length ? c.wrapAll(a) : b.append(a);
});
},
wrap: function(a) {
return this.each(function() {
f(this).wrapAll(a);
});
},
unwrap: function() {
return this.parent().each(function() {
f.nodeName(this, "body") || f(this).replaceWith(this.childNodes);
}).end();
},
append: function() {
return this.domManip(arguments, !0, function(a) {
this.nodeType === 1 && this.appendChild(a);
});
},
prepend: function() {
return this.domManip(arguments, !0, function(a) {
this.nodeType === 1 && this.insertBefore(a, this.firstChild);
});
},
before: function() {
if (this[0] && this[0].parentNode) return this.domManip(arguments, !1, function(a) {
this.parentNode.insertBefore(a, this);
});
if (arguments.length) {
var a = f(arguments[0]);
a.push.apply(a, this.toArray());
return this.pushStack(a, "before", arguments);
}
},
after: function() {
if (this[0] && this[0].parentNode) return this.domManip(arguments, !1, function(a) {
this.parentNode.insertBefore(a, this.nextSibling);
});
if (arguments.length) {
var a = this.pushStack(this, "after", arguments);
a.push.apply(a, f(arguments[0]).toArray());
return a;
}
},
remove: function(a, b) {
for (var c = 0, d; (d = this[c]) != null; c++) if (!a || f.filter(a, [ d ]).length) !b && d.nodeType === 1 && (f.cleanData(d.getElementsByTagName("*")), f.cleanData([ d ])), d.parentNode && d.parentNode.removeChild(d);
return this;
},
empty: function() {
for (var a = 0, b; (b = this[a]) != null; a++) {
b.nodeType === 1 && f.cleanData(b.getElementsByTagName("*"));
while (b.firstChild) b.removeChild(b.firstChild);
}
return this;
},
clone: function(a, b) {
a = a == null ? !1 : a, b = b == null ? a : b;
return this.map(function() {
return f.clone(this, a, b);
});
},
html: function(a) {
if (a === b) return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace(W, "") : null;
if (typeof a == "string" && !ba.test(a) && (f.support.leadingWhitespace || !X.test(a)) && !be[(Z.exec(a) || [ "", "" ])[1].toLowerCase()]) {
a = a.replace(Y, "<$1></$2>");
try {
for (var c = 0, d = this.length; c < d; c++) this[c].nodeType === 1 && (f.cleanData(this[c].getElementsByTagName("*")), this[c].innerHTML = a);
} catch (e) {
this.empty().append(a);
}
} else f.isFunction(a) ? this.each(function(b) {
var c = f(this);
c.html(a.call(this, b, c.html()));
}) : this.empty().append(a);
return this;
},
replaceWith: function(a) {
if (this[0] && this[0].parentNode) {
if (f.isFunction(a)) return this.each(function(b) {
var c = f(this), d = c.html();
c.replaceWith(a.call(this, b, d));
});
typeof a != "string" && (a = f(a).detach());
return this.each(function() {
var b = this.nextSibling, c = this.parentNode;
f(this).remove(), b ? f(b).before(a) : f(c).append(a);
});
}
return this.length ? this.pushStack(f(f.isFunction(a) ? a() : a), "replaceWith", a) : this;
},
detach: function(a) {
return this.remove(a, !0);
},
domManip: function(a, c, d) {
var e, g, h, i, j = a[0], k = [];
if (!f.support.checkClone && arguments.length === 3 && typeof j == "string" && bb.test(j)) return this.each(function() {
f(this).domManip(a, c, d, !0);
});
if (f.isFunction(j)) return this.each(function(e) {
var g = f(this);
a[0] = j.call(this, e, c ? g.html() : b), g.domManip(a, c, d);
});
if (this[0]) {
i = j && j.parentNode, f.support.parentNode && i && i.nodeType === 11 && i.childNodes.length === this.length ? e = {
fragment: i
} : e = f.buildFragment(a, this, k), h = e.fragment, h.childNodes.length === 1 ? g = h = h.firstChild : g = h.firstChild;
if (g) {
c = c && f.nodeName(g, "tr");
for (var l = 0, m = this.length, n = m - 1; l < m; l++) d.call(c ? bf(this[l], g) : this[l], e.cacheable || m > 1 && l < n ? f.clone(h, !0, !0) : h);
}
k.length && f.each(k, bl);
}
return this;
}
}), f.buildFragment = function(a, b, d) {
var e, g, h, i;
b && b[0] && (i = b[0].ownerDocument || b[0]), i.createDocumentFragment || (i = c), a.length === 1 && typeof a[0] == "string" && a[0].length < 512 && i === c && a[0].charAt(0) === "<" && !ba.test(a[0]) && (f.support.checkClone || !bb.test(a[0])) && (g = !0, h = f.fragments[a[0]], h && h !== 1 && (e = h)), e || (e = i.createDocumentFragment(), f.clean(a, i, e, d)), g && (f.fragments[a[0]] = h ? e : 1);
return {
fragment: e,
cacheable: g
};
}, f.fragments = {}, f.each({
appendTo: "append",
prependTo: "prepend",
insertBefore: "before",
insertAfter: "after",
replaceAll: "replaceWith"
}, function(a, b) {
f.fn[a] = function(c) {
var d = [], e = f(c), g = this.length === 1 && this[0].parentNode;
if (g && g.nodeType === 11 && g.childNodes.length === 1 && e.length === 1) {
e[b](this[0]);
return this;
}
for (var h = 0, i = e.length; h < i; h++) {
var j = (h > 0 ? this.clone(!0) : this).get();
f(e[h])[b](j), d = d.concat(j);
}
return this.pushStack(d, a, e.selector);
};
}), f.extend({
clone: function(a, b, c) {
var d = a.cloneNode(!0), e, g, h;
if ((!f.support.noCloneEvent || !f.support.noCloneChecked) && (a.nodeType === 1 || a.nodeType === 11) && !f.isXMLDoc(a)) {
bh(a, d), e = bi(a), g = bi(d);
for (h = 0; e[h]; ++h) g[h] && bh(e[h], g[h]);
}
if (b) {
bg(a, d);
if (c) {
e = bi(a), g = bi(d);
for (h = 0; e[h]; ++h) bg(e[h], g[h]);
}
}
e = g = null;
return d;
},
clean: function(a, b, d, e) {
var g;
b = b || c, typeof b.createElement == "undefined" && (b = b.ownerDocument || b[0] && b[0].ownerDocument || c);
var h = [], i;
for (var j = 0, k; (k = a[j]) != null; j++) {
typeof k == "number" && (k += "");
if (!k) continue;
if (typeof k == "string") if (!_.test(k)) k = b.createTextNode(k); else {
k = k.replace(Y, "<$1></$2>");
var l = (Z.exec(k) || [ "", "" ])[1].toLowerCase(), m = be[l] || be._default, n = m[0], o = b.createElement("div");
o.innerHTML = m[1] + k + m[2];
while (n--) o = o.lastChild;
if (!f.support.tbody) {
var p = $.test(k), q = l === "table" && !p ? o.firstChild && o.firstChild.childNodes : m[1] === "<table>" && !p ? o.childNodes : [];
for (i = q.length - 1; i >= 0; --i) f.nodeName(q[i], "tbody") && !q[i].childNodes.length && q[i].parentNode.removeChild(q[i]);
}
!f.support.leadingWhitespace && X.test(k) && o.insertBefore(b.createTextNode(X.exec(k)[0]), o.firstChild), k = o.childNodes;
}
var r;
if (!f.support.appendChecked) if (k[0] && typeof (r = k.length) == "number") for (i = 0; i < r; i++) bk(k[i]); else bk(k);
k.nodeType ? h.push(k) : h = f.merge(h, k);
}
if (d) {
g = function(a) {
return !a.type || bc.test(a.type);
};
for (j = 0; h[j]; j++) if (e && f.nodeName(h[j], "script") && (!h[j].type || h[j].type.toLowerCase() === "text/javascript")) e.push(h[j].parentNode ? h[j].parentNode.removeChild(h[j]) : h[j]); else {
if (h[j].nodeType === 1) {
var s = f.grep(h[j].getElementsByTagName("script"), g);
h.splice.apply(h, [ j + 1, 0 ].concat(s));
}
d.appendChild(h[j]);
}
}
return h;
},
cleanData: function(a) {
var b, c, d = f.cache, e = f.expando, g = f.event.special, h = f.support.deleteExpando;
for (var i = 0, j; (j = a[i]) != null; i++) {
if (j.nodeName && f.noData[j.nodeName.toLowerCase()]) continue;
c = j[f.expando];
if (c) {
b = d[c] && d[c][e];
if (b && b.events) {
for (var k in b.events) g[k] ? f.event.remove(j, k) : f.removeEvent(j, k, b.handle);
b.handle && (b.handle.elem = null);
}
h ? delete j[f.expando] : j.removeAttribute && j.removeAttribute(f.expando), delete d[c];
}
}
}
});
var bm = /alpha\([^)]*\)/i, bn = /opacity=([^)]*)/, bo = /([A-Z]|^ms)/g, bp = /^-?\d+(?:px)?$/i, bq = /^-?\d/, br = /^([\-+])=([\-+.\de]+)/, bs = {
position: "absolute",
visibility: "hidden",
display: "block"
}, bt = [ "Left", "Right" ], bu = [ "Top", "Bottom" ], bv, bw, bx;
f.fn.css = function(a, c) {
return arguments.length === 2 && c === b ? this : f.access(this, a, c, !0, function(a, c, d) {
return d !== b ? f.style(a, c, d) : f.css(a, c);
});
}, f.extend({
cssHooks: {
opacity: {
get: function(a, b) {
if (b) {
var c = bv(a, "opacity", "opacity");
return c === "" ? "1" : c;
}
return a.style.opacity;
}
}
},
cssNumber: {
fillOpacity: !0,
fontWeight: !0,
lineHeight: !0,
opacity: !0,
orphans: !0,
widows: !0,
zIndex: !0,
zoom: !0
},
cssProps: {
"float": f.support.cssFloat ? "cssFloat" : "styleFloat"
},
style: function(a, c, d, e) {
if (!!a && a.nodeType !== 3 && a.nodeType !== 8 && !!a.style) {
var g, h, i = f.camelCase(c), j = a.style, k = f.cssHooks[i];
c = f.cssProps[i] || i;
if (d === b) return k && "get" in k && (g = k.get(a, !1, e)) !== b ? g : j[c];
h = typeof d, h === "string" && (g = br.exec(d)) && (d = +(g[1] + 1) * +g[2] + parseFloat(f.css(a, c)), h = "number");
if (d == null || h === "number" && isNaN(d)) return;
h === "number" && !f.cssNumber[i] && (d += "px");
if (!k || !("set" in k) || (d = k.set(a, d)) !== b) try {
j[c] = d;
} catch (l) {}
}
},
css: function(a, c, d) {
var e, g;
c = f.camelCase(c), g = f.cssHooks[c], c = f.cssProps[c] || c, c === "cssFloat" && (c = "float");
if (g && "get" in g && (e = g.get(a, !0, d)) !== b) return e;
if (bv) return bv(a, c);
},
swap: function(a, b, c) {
var d = {};
for (var e in b) d[e] = a.style[e], a.style[e] = b[e];
c.call(a);
for (e in b) a.style[e] = d[e];
}
}), f.curCSS = f.css, f.each([ "height", "width" ], function(a, b) {
f.cssHooks[b] = {
get: function(a, c, d) {
var e;
if (c) {
if (a.offsetWidth !== 0) return by(a, b, d);
f.swap(a, bs, function() {
e = by(a, b, d);
});
return e;
}
},
set: function(a, b) {
if (!bp.test(b)) return b;
b = parseFloat(b);
if (b >= 0) return b + "px";
}
};
}), f.support.opacity || (f.cssHooks.opacity = {
get: function(a, b) {
return bn.test((b && a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? parseFloat(RegExp.$1) / 100 + "" : b ? "1" : "";
},
set: function(a, b) {
var c = a.style, d = a.currentStyle, e = f.isNaN(b) ? "" : "alpha(opacity=" + b * 100 + ")", g = d && d.filter || c.filter || "";
c.zoom = 1;
if (b >= 1 && f.trim(g.replace(bm, "")) === "") {
c.removeAttribute("filter");
if (d && !d.filter) return;
}
c.filter = bm.test(g) ? g.replace(bm, e) : g + " " + e;
}
}), f(function() {
f.support.reliableMarginRight || (f.cssHooks.marginRight = {
get: function(a, b) {
var c;
f.swap(a, {
display: "inline-block"
}, function() {
b ? c = bv(a, "margin-right", "marginRight") : c = a.style.marginRight;
});
return c;
}
});
}), c.defaultView && c.defaultView.getComputedStyle && (bw = function(a, c) {
var d, e, g;
c = c.replace(bo, "-$1").toLowerCase();
if (!(e = a.ownerDocument.defaultView)) return b;
if (g = e.getComputedStyle(a, null)) d = g.getPropertyValue(c), d === "" && !f.contains(a.ownerDocument.documentElement, a) && (d = f.style(a, c));
return d;
}), c.documentElement.currentStyle && (bx = function(a, b) {
var c, d = a.currentStyle && a.currentStyle[b], e = a.runtimeStyle && a.runtimeStyle[b], f = a.style;
!bp.test(d) && bq.test(d) && (c = f.left, e && (a.runtimeStyle.left = a.currentStyle.left), f.left = b === "fontSize" ? "1em" : d || 0, d = f.pixelLeft + "px", f.left = c, e && (a.runtimeStyle.left = e));
return d === "" ? "auto" : d;
}), bv = bw || bx, f.expr && f.expr.filters && (f.expr.filters.hidden = function(a) {
var b = a.offsetWidth, c = a.offsetHeight;
return b === 0 && c === 0 || !f.support.reliableHiddenOffsets && (a.style.display || f.css(a, "display")) === "none";
}, f.expr.filters.visible = function(a) {
return !f.expr.filters.hidden(a);
});
var bz = /%20/g, bA = /\[\]$/, bB = /\r?\n/g, bC = /#.*$/, bD = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, bE = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, bF = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/, bG = /^(?:GET|HEAD)$/, bH = /^\/\//, bI = /\?/, bJ = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, bK = /^(?:select|textarea)/i, bL = /\s+/, bM = /([?&])_=[^&]*/, bN = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/, bO = f.fn.load, bP = {}, bQ = {}, bR, bS, bT = [ "*/" ] + [ "*" ];
try {
bR = e.href;
} catch (bU) {
bR = c.createElement("a"), bR.href = "", bR = bR.href;
}
bS = bN.exec(bR.toLowerCase()) || [], f.fn.extend({
load: function(a, c, d) {
if (typeof a != "string" && bO) return bO.apply(this, arguments);
if (!this.length) return this;
var e = a.indexOf(" ");
if (e >= 0) {
var g = a.slice(e, a.length);
a = a.slice(0, e);
}
var h = "GET";
c && (f.isFunction(c) ? (d = c, c = b) : typeof c == "object" && (c = f.param(c, f.ajaxSettings.traditional), h = "POST"));
var i = this;
f.ajax({
url: a,
type: h,
dataType: "html",
data: c,
complete: function(a, b, c) {
c = a.responseText, a.isResolved() && (a.done(function(a) {
c = a;
}), i.html(g ? f("<div>").append(c.replace(bJ, "")).find(g) : c)), d && i.each(d, [ c, b, a ]);
}
});
return this;
},
serialize: function() {
return f.param(this.serializeArray());
},
serializeArray: function() {
return this.map(function() {
return this.elements ? f.makeArray(this.elements) : this;
}).filter(function() {
return this.name && !this.disabled && (this.checked || bK.test(this.nodeName) || bE.test(this.type));
}).map(function(a, b) {
var c = f(this).val();
return c == null ? null : f.isArray(c) ? f.map(c, function(a, c) {
return {
name: b.name,
value: a.replace(bB, "\r\n")
};
}) : {
name: b.name,
value: c.replace(bB, "\r\n")
};
}).get();
}
}), f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function(a, b) {
f.fn[b] = function(a) {
return this.bind(b, a);
};
}), f.each([ "get", "post" ], function(a, c) {
f[c] = function(a, d, e, g) {
f.isFunction(d) && (g = g || e, e = d, d = b);
return f.ajax({
type: c,
url: a,
data: d,
success: e,
dataType: g
});
};
}), f.extend({
getScript: function(a, c) {
return f.get(a, b, c, "script");
},
getJSON: function(a, b, c) {
return f.get(a, b, c, "json");
},
ajaxSetup: function(a, b) {
b ? bX(a, f.ajaxSettings) : (b = a, a = f.ajaxSettings), bX(a, b);
return a;
},
ajaxSettings: {
url: bR,
isLocal: bF.test(bS[1]),
global: !0,
type: "GET",
contentType: "application/x-www-form-urlencoded",
processData: !0,
async: !0,
accepts: {
xml: "application/xml, text/xml",
html: "text/html",
text: "text/plain",
json: "application/json, text/javascript",
"*": bT
},
contents: {
xml: /xml/,
html: /html/,
json: /json/
},
responseFields: {
xml: "responseXML",
text: "responseText"
},
converters: {
"* text": a.String,
"text html": !0,
"text json": f.parseJSON,
"text xml": f.parseXML
},
flatOptions: {
context: !0,
url: !0
}
},
ajaxPrefilter: bV(bP),
ajaxTransport: bV(bQ),
ajax: function(a, c) {
function w(a, c, l, m) {
if (s !== 2) {
s = 2, q && clearTimeout(q), p = b, n = m || "", v.readyState = a > 0 ? 4 : 0;
var o, r, u, w = c, x = l ? bZ(d, v, l) : b, y, z;
if (a >= 200 && a < 300 || a === 304) {
if (d.ifModified) {
if (y = v.getResponseHeader("Last-Modified")) f.lastModified[k] = y;
if (z = v.getResponseHeader("Etag")) f.etag[k] = z;
}
if (a === 304) w = "notmodified", o = !0; else try {
r = b$(d, x), w = "success", o = !0;
} catch (A) {
w = "parsererror", u = A;
}
} else {
u = w;
if (!w || a) w = "error", a < 0 && (a = 0);
}
v.status = a, v.statusText = "" + (c || w), o ? h.resolveWith(e, [ r, w, v ]) : h.rejectWith(e, [ v, w, u ]), v.statusCode(j), j = b, t && g.trigger("ajax" + (o ? "Success" : "Error"), [ v, d, o ? r : u ]), i.resolveWith(e, [ v, w ]), t && (g.trigger("ajaxComplete", [ v, d ]), --f.active || f.event.trigger("ajaxStop"));
}
}
typeof a == "object" && (c = a, a = b), c = c || {};
var d = f.ajaxSetup({}, c), e = d.context || d, g = e !== d && (e.nodeType || e instanceof f) ? f(e) : f.event, h = f.Deferred(), i = f._Deferred(), j = d.statusCode || {}, k, l = {}, m = {}, n, o, p, q, r, s = 0, t, u, v = {
readyState: 0,
setRequestHeader: function(a, b) {
if (!s) {
var c = a.toLowerCase();
a = m[c] = m[c] || a, l[a] = b;
}
return this;
},
getAllResponseHeaders: function() {
return s === 2 ? n : null;
},
getResponseHeader: function(a) {
var c;
if (s === 2) {
if (!o) {
o = {};
while (c = bD.exec(n)) o[c[1].toLowerCase()] = c[2];
}
c = o[a.toLowerCase()];
}
return c === b ? null : c;
},
overrideMimeType: function(a) {
s || (d.mimeType = a);
return this;
},
abort: function(a) {
a = a || "abort", p && p.abort(a), w(0, a);
return this;
}
};
h.promise(v), v.success = v.done, v.error = v.fail, v.complete = i.done, v.statusCode = function(a) {
if (a) {
var b;
if (s < 2) for (b in a) j[b] = [ j[b], a[b] ]; else b = a[v.status], v.then(b, b);
}
return this;
}, d.url = ((a || d.url) + "").replace(bC, "").replace(bH, bS[1] + "//"), d.dataTypes = f.trim(d.dataType || "*").toLowerCase().split(bL), d.crossDomain == null && (r = bN.exec(d.url.toLowerCase()), d.crossDomain = !(!r || r[1] == bS[1] && r[2] == bS[2] && (r[3] || (r[1] === "http:" ? 80 : 443)) == (bS[3] || (bS[1] === "http:" ? 80 : 443)))), d.data && d.processData && typeof d.data != "string" && (d.data = f.param(d.data, d.traditional)), bW(bP, d, c, v);
if (s === 2) return !1;
t = d.global, d.type = d.type.toUpperCase(), d.hasContent = !bG.test(d.type), t && f.active++ === 0 && f.event.trigger("ajaxStart");
if (!d.hasContent) {
d.data && (d.url += (bI.test(d.url) ? "&" : "?") + d.data, delete d.data), k = d.url;
if (d.cache === !1) {
var x = f.now(), y = d.url.replace(bM, "$1_=" + x);
d.url = y + (y === d.url ? (bI.test(d.url) ? "&" : "?") + "_=" + x : "");
}
}
(d.data && d.hasContent && d.contentType !== !1 || c.contentType) && v.setRequestHeader("Content-Type", d.contentType), d.ifModified && (k = k || d.url, f.lastModified[k] && v.setRequestHeader("If-Modified-Since", f.lastModified[k]), f.etag[k] && v.setRequestHeader("If-None-Match", f.etag[k])), v.setRequestHeader("Accept", d.dataTypes[0] && d.accepts[d.dataTypes[0]] ? d.accepts[d.dataTypes[0]] + (d.dataTypes[0] !== "*" ? ", " + bT + "; q=0.01" : "") : d.accepts["*"]);
for (u in d.headers) v.setRequestHeader(u, d.headers[u]);
if (!d.beforeSend || d.beforeSend.call(e, v, d) !== !1 && s !== 2) {
for (u in {
success: 1,
error: 1,
complete: 1
}) v[u](d[u]);
p = bW(bQ, d, c, v);
if (!p) w(-1, "No Transport"); else {
v.readyState = 1, t && g.trigger("ajaxSend", [ v, d ]), d.async && d.timeout > 0 && (q = setTimeout(function() {
v.abort("timeout");
}, d.timeout));
try {
s = 1, p.send(l, w);
} catch (z) {
s < 2 ? w(-1, z) : f.error(z);
}
}
return v;
}
v.abort();
return !1;
},
param: function(a, c) {
var d = [], e = function(a, b) {
b = f.isFunction(b) ? b() : b, d[d.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b);
};
c === b && (c = f.ajaxSettings.traditional);
if (f.isArray(a) || a.jquery && !f.isPlainObject(a)) f.each(a, function() {
e(this.name, this.value);
}); else for (var g in a) bY(g, a[g], c, e);
return d.join("&").replace(bz, "+");
}
}), f.extend({
active: 0,
lastModified: {},
etag: {}
});
var b_ = f.now(), ca = /(\=)\?(&|$)|\?\?/i;
f.ajaxSetup({
jsonp: "callback",
jsonpCallback: function() {
return f.expando + "_" + b_++;
}
}), f.ajaxPrefilter("json jsonp", function(b, c, d) {
var e = b.contentType === "application/x-www-form-urlencoded" && typeof b.data == "string";
if (b.dataTypes[0] === "jsonp" || b.jsonp !== !1 && (ca.test(b.url) || e && ca.test(b.data))) {
var g, h = b.jsonpCallback = f.isFunction(b.jsonpCallback) ? b.jsonpCallback() : b.jsonpCallback, i = a[h], j = b.url, k = b.data, l = "$1" + h + "$2";
b.jsonp !== !1 && (j = j.replace(ca, l), b.url === j && (e && (k = k.replace(ca, l)), b.data === k && (j += (/\?/.test(j) ? "&" : "?") + b.jsonp + "=" + h))), b.url = j, b.data = k, a[h] = function(a) {
g = [ a ];
}, d.always(function() {
a[h] = i, g && f.isFunction(i) && a[h](g[0]);
}), b.converters["script json"] = function() {
g || f.error(h + " was not called");
return g[0];
}, b.dataTypes[0] = "json";
return "script";
}
}), f.ajaxSetup({
accepts: {
script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
},
contents: {
script: /javascript|ecmascript/
},
converters: {
"text script": function(a) {
f.globalEval(a);
return a;
}
}
}), f.ajaxPrefilter("script", function(a) {
a.cache === b && (a.cache = !1), a.crossDomain && (a.type = "GET", a.global = !1);
}), f.ajaxTransport("script", function(a) {
if (a.crossDomain) {
var d, e = c.head || c.getElementsByTagName("head")[0] || c.documentElement;
return {
send: function(f, g) {
d = c.createElement("script"), d.async = "async", a.scriptCharset && (d.charset = a.scriptCharset), d.src = a.url, d.onload = d.onreadystatechange = function(a, c) {
if (c || !d.readyState || /loaded|complete/.test(d.readyState)) d.onload = d.onreadystatechange = null, e && d.parentNode && e.removeChild(d), d = b, c || g(200, "success");
}, e.insertBefore(d, e.firstChild);
},
abort: function() {
d && d.onload(0, 1);
}
};
}
});
var cb = a.ActiveXObject ? function() {
for (var a in cd) cd[a](0, 1);
} : !1, cc = 0, cd;
f.ajaxSettings.xhr = a.ActiveXObject ? function() {
return !this.isLocal && ce() || cf();
} : ce, function(a) {
f.extend(f.support, {
ajax: !!a,
cors: !!a && "withCredentials" in a
});
}(f.ajaxSettings.xhr()), f.support.ajax && f.ajaxTransport(function(c) {
if (!c.crossDomain || f.support.cors) {
var d;
return {
send: function(e, g) {
var h = c.xhr(), i, j;
c.username ? h.open(c.type, c.url, c.async, c.username, c.password) : h.open(c.type, c.url, c.async);
if (c.xhrFields) for (j in c.xhrFields) h[j] = c.xhrFields[j];
c.mimeType && h.overrideMimeType && h.overrideMimeType(c.mimeType), !c.crossDomain && !e["X-Requested-With"] && (e["X-Requested-With"] = "XMLHttpRequest");
try {
for (j in e) h.setRequestHeader(j, e[j]);
} catch (k) {}
h.send(c.hasContent && c.data || null), d = function(a, e) {
var j, k, l, m, n;
try {
if (d && (e || h.readyState === 4)) {
d = b, i && (h.onreadystatechange = f.noop, cb && delete cd[i]);
if (e) h.readyState !== 4 && h.abort(); else {
j = h.status, l = h.getAllResponseHeaders(), m = {}, n = h.responseXML, n && n.documentElement && (m.xml = n), m.text = h.responseText;
try {
k = h.statusText;
} catch (o) {
k = "";
}
!j && c.isLocal && !c.crossDomain ? j = m.text ? 200 : 404 : j === 1223 && (j = 204);
}
}
} catch (p) {
e || g(-1, p);
}
m && g(j, k, m, l);
}, !c.async || h.readyState === 4 ? d() : (i = ++cc, cb && (cd || (cd = {}, f(a).unload(cb)), cd[i] = d), h.onreadystatechange = d);
},
abort: function() {
d && d(0, 1);
}
};
}
});
var cg = {}, ch, ci, cj = /^(?:toggle|show|hide)$/, ck = /^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i, cl, cm = [ [ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" ], [ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" ], [ "opacity" ] ], cn;
f.fn.extend({
show: function(a, b, c) {
var d, e;
if (a || a === 0) return this.animate(cq("show", 3), a, b, c);
for (var g = 0, h = this.length; g < h; g++) d = this[g], d.style && (e = d.style.display, !f._data(d, "olddisplay") && e === "none" && (e = d.style.display = ""), e === "" && f.css(d, "display") === "none" && f._data(d, "olddisplay", cr(d.nodeName)));
for (g = 0; g < h; g++) {
d = this[g];
if (d.style) {
e = d.style.display;
if (e === "" || e === "none") d.style.display = f._data(d, "olddisplay") || "";
}
}
return this;
},
hide: function(a, b, c) {
if (a || a === 0) return this.animate(cq("hide", 3), a, b, c);
for (var d = 0, e = this.length; d < e; d++) if (this[d].style) {
var g = f.css(this[d], "display");
g !== "none" && !f._data(this[d], "olddisplay") && f._data(this[d], "olddisplay", g);
}
for (d = 0; d < e; d++) this[d].style && (this[d].style.display = "none");
return this;
},
_toggle: f.fn.toggle,
toggle: function(a, b, c) {
var d = typeof a == "boolean";
f.isFunction(a) && f.isFunction(b) ? this._toggle.apply(this, arguments) : a == null || d ? this.each(function() {
var b = d ? a : f(this).is(":hidden");
f(this)[b ? "show" : "hide"]();
}) : this.animate(cq("toggle", 3), a, b, c);
return this;
},
fadeTo: function(a, b, c, d) {
return this.filter(":hidden").css("opacity", 0).show().end().animate({
opacity: b
}, a, c, d);
},
animate: function(a, b, c, d) {
var e = f.speed(b, c, d);
if (f.isEmptyObject(a)) return this.each(e.complete, [ !1 ]);
a = f.extend({}, a);
return this[e.queue === !1 ? "each" : "queue"](function() {
e.queue === !1 && f._mark(this);
var b = f.extend({}, e), c = this.nodeType === 1, d = c && f(this).is(":hidden"), g, h, i, j, k, l, m, n, o;
b.animatedProperties = {};
for (i in a) {
g = f.camelCase(i), i !== g && (a[g] = a[i], delete a[i]), h = a[g], f.isArray(h) ? (b.animatedProperties[g] = h[1], h = a[g] = h[0]) : b.animatedProperties[g] = b.specialEasing && b.specialEasing[g] || b.easing || "swing";
if (h === "hide" && d || h === "show" && !d) return b.complete.call(this);
c && (g === "height" || g === "width") && (b.overflow = [ this.style.overflow, this.style.overflowX, this.style.overflowY ], f.css(this, "display") === "inline" && f.css(this, "float") === "none" && (f.support.inlineBlockNeedsLayout ? (j = cr(this.nodeName), j === "inline" ? this.style.display = "inline-block" : (this.style.display = "inline", this.style.zoom = 1)) : this.style.display = "inline-block"));
}
b.overflow != null && (this.style.overflow = "hidden");
for (i in a) k = new f.fx(this, b, i), h = a[i], cj.test(h) ? k[h === "toggle" ? d ? "show" : "hide" : h]() : (l = ck.exec(h), m = k.cur(), l ? (n = parseFloat(l[2]), o = l[3] || (f.cssNumber[i] ? "" : "px"), o !== "px" && (f.style(this, i, (n || 1) + o), m = (n || 1) / k.cur() * m, f.style(this, i, m + o)), l[1] && (n = (l[1] === "-=" ? -1 : 1) * n + m), k.custom(m, n, o)) : k.custom(m, h, ""));
return !0;
});
},
stop: function(a, b) {
a && this.queue([]), this.each(function() {
var a = f.timers, c = a.length;
b || f._unmark(!0, this);
while (c--) a[c].elem === this && (b && a[c](!0), a.splice(c, 1));
}), b || this.dequeue();
return this;
}
}), f.each({
slideDown: cq("show", 1),
slideUp: cq("hide", 1),
slideToggle: cq("toggle", 1),
fadeIn: {
opacity: "show"
},
fadeOut: {
opacity: "hide"
},
fadeToggle: {
opacity: "toggle"
}
}, function(a, b) {
f.fn[a] = function(a, c, d) {
return this.animate(b, a, c, d);
};
}), f.extend({
speed: function(a, b, c) {
var d = a && typeof a == "object" ? f.extend({}, a) : {
complete: c || !c && b || f.isFunction(a) && a,
duration: a,
easing: c && b || b && !f.isFunction(b) && b
};
d.duration = f.fx.off ? 0 : typeof d.duration == "number" ? d.duration : d.duration in f.fx.speeds ? f.fx.speeds[d.duration] : f.fx.speeds._default, d.old = d.complete, d.complete = function(a) {
f.isFunction(d.old) && d.old.call(this), d.queue !== !1 ? f.dequeue(this) : a !== !1 && f._unmark(this);
};
return d;
},
easing: {
linear: function(a, b, c, d) {
return c + d * a;
},
swing: function(a, b, c, d) {
return (-Math.cos(a * Math.PI) / 2 + .5) * d + c;
}
},
timers: [],
fx: function(a, b, c) {
this.options = b, this.elem = a, this.prop = c, b.orig = b.orig || {};
}
}), f.fx.prototype = {
update: function() {
this.options.step && this.options.step.call(this.elem, this.now, this), (f.fx.step[this.prop] || f.fx.step._default)(this);
},
cur: function() {
if (this.elem[this.prop] == null || !!this.elem.style && this.elem.style[this.prop] != null) {
var a, b = f.css(this.elem, this.prop);
return isNaN(a = parseFloat(b)) ? !b || b === "auto" ? 0 : b : a;
}
return this.elem[this.prop];
},
custom: function(a, b, c) {
function g(a) {
return d.step(a);
}
var d = this, e = f.fx;
this.startTime = cn || co(), this.start = a, this.end = b, this.unit = c || this.unit || (f.cssNumber[this.prop] ? "" : "px"), this.now = this.start, this.pos = this.state = 0, g.elem = this.elem, g() && f.timers.push(g) && !cl && (cl = setInterval(e.tick, e.interval));
},
show: function() {
this.options.orig[this.prop] = f.style(this.elem, this.prop), this.options.show = !0, this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()), f(this.elem).show();
},
hide: function() {
this.options.orig[this.prop] = f.style(this.elem, this.prop), this.options.hide = !0, this.custom(this.cur(), 0);
},
step: function(a) {
var b = cn || co(), c = !0, d = this.elem, e = this.options, g, h;
if (a || b >= e.duration + this.startTime) {
this.now = this.end, this.pos = this.state = 1, this.update(), e.animatedProperties[this.prop] = !0;
for (g in e.animatedProperties) e.animatedProperties[g] !== !0 && (c = !1);
if (c) {
e.overflow != null && !f.support.shrinkWrapBlocks && f.each([ "", "X", "Y" ], function(a, b) {
d.style["overflow" + b] = e.overflow[a];
}), e.hide && f(d).hide();
if (e.hide || e.show) for (var i in e.animatedProperties) f.style(d, i, e.orig[i]);
e.complete.call(d);
}
return !1;
}
e.duration == Infinity ? this.now = b : (h = b - this.startTime, this.state = h / e.duration, this.pos = f.easing[e.animatedProperties[this.prop]](this.state, h, 0, 1, e.duration), this.now = this.start + (this.end - this.start) * this.pos), this.update();
return !0;
}
}, f.extend(f.fx, {
tick: function() {
for (var a = f.timers, b = 0; b < a.length; ++b) a[b]() || a.splice(b--, 1);
a.length || f.fx.stop();
},
interval: 13,
stop: function() {
clearInterval(cl), cl = null;
},
speeds: {
slow: 600,
fast: 200,
_default: 400
},
step: {
opacity: function(a) {
f.style(a.elem, "opacity", a.now);
},
_default: function(a) {
a.elem.style && a.elem.style[a.prop] != null ? a.elem.style[a.prop] = (a.prop === "width" || a.prop === "height" ? Math.max(0, a.now) : a.now) + a.unit : a.elem[a.prop] = a.now;
}
}
}), f.expr && f.expr.filters && (f.expr.filters.animated = function(a) {
return f.grep(f.timers, function(b) {
return a === b.elem;
}).length;
});
var cs = /^t(?:able|d|h)$/i, ct = /^(?:body|html)$/i;
"getBoundingClientRect" in c.documentElement ? f.fn.offset = function(a) {
var b = this[0], c;
if (a) return this.each(function(b) {
f.offset.setOffset(this, a, b);
});
if (!b || !b.ownerDocument) return null;
if (b === b.ownerDocument.body) return f.offset.bodyOffset(b);
try {
c = b.getBoundingClientRect();
} catch (d) {}
var e = b.ownerDocument, g = e.documentElement;
if (!c || !f.contains(g, b)) return c ? {
top: c.top,
left: c.left
} : {
top: 0,
left: 0
};
var h = e.body, i = cu(e), j = g.clientTop || h.clientTop || 0, k = g.clientLeft || h.clientLeft || 0, l = i.pageYOffset || f.support.boxModel && g.scrollTop || h.scrollTop, m = i.pageXOffset || f.support.boxModel && g.scrollLeft || h.scrollLeft, n = c.top + l - j, o = c.left + m - k;
return {
top: n,
left: o
};
} : f.fn.offset = function(a) {
var b = this[0];
if (a) return this.each(function(b) {
f.offset.setOffset(this, a, b);
});
if (!b || !b.ownerDocument) return null;
if (b === b.ownerDocument.body) return f.offset.bodyOffset(b);
f.offset.initialize();
var c, d = b.offsetParent, e = b, g = b.ownerDocument, h = g.documentElement, i = g.body, j = g.defaultView, k = j ? j.getComputedStyle(b, null) : b.currentStyle, l = b.offsetTop, m = b.offsetLeft;
while ((b = b.parentNode) && b !== i && b !== h) {
if (f.offset.supportsFixedPosition && k.position === "fixed") break;
c = j ? j.getComputedStyle(b, null) : b.currentStyle, l -= b.scrollTop, m -= b.scrollLeft, b === d && (l += b.offsetTop, m += b.offsetLeft, f.offset.doesNotAddBorder && (!f.offset.doesAddBorderForTableAndCells || !cs.test(b.nodeName)) && (l += parseFloat(c.borderTopWidth) || 0, m += parseFloat(c.borderLeftWidth) || 0), e = d, d = b.offsetParent), f.offset.subtractsBorderForOverflowNotVisible && c.overflow !== "visible" && (l += parseFloat(c.borderTopWidth) || 0, m += parseFloat(c.borderLeftWidth) || 0), k = c;
}
if (k.position === "relative" || k.position === "static") l += i.offsetTop, m += i.offsetLeft;
f.offset.supportsFixedPosition && k.position === "fixed" && (l += Math.max(h.scrollTop, i.scrollTop), m += Math.max(h.scrollLeft, i.scrollLeft));
return {
top: l,
left: m
};
}, f.offset = {
initialize: function() {
var a = c.body, b = c.createElement("div"), d, e, g, h, i = parseFloat(f.css(a, "marginTop")) || 0, j = "<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
f.extend(b.style, {
position: "absolute",
top: 0,
left: 0,
margin: 0,
border: 0,
width: "1px",
height: "1px",
visibility: "hidden"
}), b.innerHTML = j, a.insertBefore(b, a.firstChild), d = b.firstChild, e = d.firstChild, h = d.nextSibling.firstChild.firstChild, this.doesNotAddBorder = e.offsetTop !== 5, this.doesAddBorderForTableAndCells = h.offsetTop === 5, e.style.position = "fixed", e.style.top = "20px", this.supportsFixedPosition = e.offsetTop === 20 || e.offsetTop === 15, e.style.position = e.style.top = "", d.style.overflow = "hidden", d.style.position = "relative", this.subtractsBorderForOverflowNotVisible = e.offsetTop === -5, this.doesNotIncludeMarginInBodyOffset = a.offsetTop !== i, a.removeChild(b), f.offset.initialize = f.noop;
},
bodyOffset: function(a) {
var b = a.offsetTop, c = a.offsetLeft;
f.offset.initialize(), f.offset.doesNotIncludeMarginInBodyOffset && (b += parseFloat(f.css(a, "marginTop")) || 0, c += parseFloat(f.css(a, "marginLeft")) || 0);
return {
top: b,
left: c
};
},
setOffset: function(a, b, c) {
var d = f.css(a, "position");
d === "static" && (a.style.position = "relative");
var e = f(a), g = e.offset(), h = f.css(a, "top"), i = f.css(a, "left"), j = (d === "absolute" || d === "fixed") && f.inArray("auto", [ h, i ]) > -1, k = {}, l = {}, m, n;
j ? (l = e.position(), m = l.top, n = l.left) : (m = parseFloat(h) || 0, n = parseFloat(i) || 0), f.isFunction(b) && (b = b.call(a, c, g)), b.top != null && (k.top = b.top - g.top + m), b.left != null && (k.left = b.left - g.left + n), "using" in b ? b.using.call(a, k) : e.css(k);
}
}, f.fn.extend({
position: function() {
if (!this[0]) return null;
var a = this[0], b = this.offsetParent(), c = this.offset(), d = ct.test(b[0].nodeName) ? {
top: 0,
left: 0
} : b.offset();
c.top -= parseFloat(f.css(a, "marginTop")) || 0, c.left -= parseFloat(f.css(a, "marginLeft")) || 0, d.top += parseFloat(f.css(b[0], "borderTopWidth")) || 0, d.left += parseFloat(f.css(b[0], "borderLeftWidth")) || 0;
return {
top: c.top - d.top,
left: c.left - d.left
};
},
offsetParent: function() {
return this.map(function() {
var a = this.offsetParent || c.body;
while (a && !ct.test(a.nodeName) && f.css(a, "position") === "static") a = a.offsetParent;
return a;
});
}
}), f.each([ "Left", "Top" ], function(a, c) {
var d = "scroll" + c;
f.fn[d] = function(c) {
var e, g;
if (c === b) {
e = this[0];
if (!e) return null;
g = cu(e);
return g ? "pageXOffset" in g ? g[a ? "pageYOffset" : "pageXOffset"] : f.support.boxModel && g.document.documentElement[d] || g.document.body[d] : e[d];
}
return this.each(function() {
g = cu(this), g ? g.scrollTo(a ? f(g).scrollLeft() : c, a ? c : f(g).scrollTop()) : this[d] = c;
});
};
}), f.each([ "Height", "Width" ], function(a, c) {
var d = c.toLowerCase();
f.fn["inner" + c] = function() {
var a = this[0];
return a && a.style ? parseFloat(f.css(a, d, "padding")) : null;
}, f.fn["outer" + c] = function(a) {
var b = this[0];
return b && b.style ? parseFloat(f.css(b, d, a ? "margin" : "border")) : null;
}, f.fn[d] = function(a) {
var e = this[0];
if (!e) return a == null ? null : this;
if (f.isFunction(a)) return this.each(function(b) {
var c = f(this);
c[d](a.call(this, b, c[d]()));
});
if (f.isWindow(e)) {
var g = e.document.documentElement["client" + c], h = e.document.body;
return e.document.compatMode === "CSS1Compat" && g || h && h["client" + c] || g;
}
if (e.nodeType === 9) return Math.max(e.documentElement["client" + c], e.body["scroll" + c], e.documentElement["scroll" + c], e.body["offset" + c], e.documentElement["offset" + c]);
if (a === b) {
var i = f.css(e, d), j = parseFloat(i);
return f.isNaN(j) ? i : j;
}
return this.css(d, typeof a == "string" ? a : a + "px");
};
}), a.jQuery = a.$ = f;
}(window), function(a, b, c) {
function j(a) {
a = a || location.href;
return "#" + a.replace(/^[^#]*#?(.*)$/, "$1");
}
"$:nomunge";
var d = "hashchange", e = document, f, g = a.event.special, h = e.documentMode, i = "on" + d in b && (h === c || h > 7);
a.fn[d] = function(a) {
return a ? this.bind(d, a) : this.trigger(d);
}, a.fn[d].delay = 50, g[d] = a.extend(g[d], {
setup: function() {
if (i) return !1;
a(f.start);
},
teardown: function() {
if (i) return !1;
a(f.stop);
}
}), f = function() {
function n() {
var c = j(), e = m(h);
c !== h ? (l(h = c, e), a(b).trigger(d)) : e !== h && (location.href = location.href.replace(/#.*/, "") + e), g = setTimeout(n, a.fn[d].delay);
}
var f = {}, g, h = j(), k = function(a) {
return a;
}, l = k, m = k;
f.start = function() {
g || n();
}, f.stop = function() {
g && clearTimeout(g), g = c;
}, a.browser.msie && !i && function() {
var b, c;
f.start = function() {
b || (c = a.fn[d].src, c = c && c + j(), b = a('<iframe tabindex="-1" title="empty"/>').hide().one("load", function() {
c || l(j()), n();
}).attr("src", c || "javascript:0").insertAfter("body")[0].contentWindow, e.onpropertychange = function() {
try {
event.propertyName === "title" && (b.document.title = e.title);
} catch (a) {}
});
}, f.stop = k, m = function() {
return j(b.location.href);
}, l = function(c, f) {
var g = b.document, h = a.fn[d].domain;
c !== f && (g.title = e.title, g.open(), h && g.write('<script>document.domain="' + h + '"</script>'), g.close(), b.location.hash = c);
};
}();
return f;
}();
}(jQuery, this), function(a) {
a.cssHooks || a.error("jQuery 1.4.3+ is needed for this plugin to work");
var b = document.createElement("div");
a.support.borderImage = b.style.MozBorderImage === "" ? "MozBorderImage" : b.style.WebkitBorderImage === "" ? "WebkitBorderImage" : b.style.borderImage === "" ? "borderImage" : !1, a.support.borderImage && a.support.borderImage !== "borderImage" && (a.cssHooks.borderImage = {
get: function(b, c, d) {
return a.css(b, a.support.borderImage);
},
set: function(b, c) {
b.style[a.support.borderImage] = c;
}
}), b = null;
}(jQuery), function(a, b, c) {
b.infinitescroll = function(a, c, d) {
this.element = b(d), this._create(a, c);
}, b.infinitescroll.defaults = {
loading: {
finished: c,
finishedMsg: "<em>Congratulations, you've reached the end of the internet.</em>",
img: "http://www.infinite-scroll.com/loading.gif",
msg: null,
msgText: "<em>Loading the next set of posts...</em>",
selector: null,
speed: "fast",
start: c
},
state: {
isDuringAjax: !1,
isInvalidPage: !1,
isDestroyed: !1,
isDone: !1,
isPaused: !1,
currPage: 1
},
callback: c,
debug: !1,
behavior: c,
binder: b(a),
nextSelector: "div.navigation a:first",
navSelector: "div.navigation",
contentSelector: null,
extraScrollPx: 150,
itemSelector: "div.post",
animate: !1,
pathParse: c,
dataType: "html",
appendCallback: !0,
bufferPx: 40,
errorCallback: function() {},
infid: 0,
pixelsFromNavToBottom: c,
path: c
}, b.infinitescroll.prototype = {
_binding: function(a) {
var b = this, d = b.options;
if (!d.behavior || this["_binding_" + d.behavior] === c) {
if (a !== "bind" && a !== "unbind") {
this._debug("Binding value  " + a + " not valid");
return !1;
}
a == "unbind" ? this.options.binder.unbind("smartscroll.infscr." + b.options.infid) : this.options.binder[a]("smartscroll.infscr." + b.options.infid, function() {
b.scroll();
}), this._debug("Binding", a);
} else this["_binding_" + d.behavior].call(this);
},
_create: function(a, d) {
if (!this._validate(a)) return !1;
var e = this.options = b.extend(!0, {}, b.infinitescroll.defaults, a), f = /(.*?\/\/).*?(\/.*)/, g = b(e.nextSelector).attr("href");
e.contentSelector = e.contentSelector || this.element, e.loading.selector = e.loading.selector || e.contentSelector;
g ? (e.path = this._determinepath(g), e.loading.msg = b('<div id="infscr-loading"><img alt="Loading..." src="' + e.loading.img + '" /><div>' + e.loading.msgText + "</div></div>"), (new Image).src = e.loading.img, e.pixelsFromNavToBottom = b(document).height() - b(e.navSelector).offset().top, e.loading.start = e.loading.start || function() {
b(e.navSelector).hide(), e.loading.msg.appendTo(e.loading.selector).show(e.loading.speed, function() {
beginAjax(e);
});
}, e.loading.finished = e.loading.finished || function() {
e.loading.msg.fadeOut("normal");
}, e.callback = function(a, f) {
!!e.behavior && a["_callback_" + e.behavior] !== c && a["_callback_" + e.behavior].call(b(e.contentSelector)[0], f), d && d.call(b(e.contentSelector)[0], f);
}, this._setup()) : this._debug("Navigation selector not found");
},
_debug: function() {
if (this.options.debug) return a.console && console.log.call(console, arguments);
},
_determinepath: function(a) {
var b = this.options;
if (!b.behavior || this["_determinepath_" + b.behavior] === c) {
if (!!b.pathParse) {
this._debug("pathParse manual");
return b.pathParse;
}
if (a.match(/^(.*?)\b2\b(.*?$)/)) a = a.match(/^(.*?)\b2\b(.*?$)/).slice(1); else if (a.match(/^(.*?)2(.*?$)/)) {
if (a.match(/^(.*?page=)2(\/.*|$)/)) {
a = a.match(/^(.*?page=)2(\/.*|$)/).slice(1);
return a;
}
a = a.match(/^(.*?)2(.*?$)/).slice(1);
} else {
if (a.match(/^(.*?page=)1(\/.*|$)/)) {
a = a.match(/^(.*?page=)1(\/.*|$)/).slice(1);
return a;
}
this._debug("Sorry, we couldn't parse your Next (Previous Posts) URL. Verify your the css selector points to the correct A tag. If you still get this error: yell, scream, and kindly ask for help at infinite-scroll.com."), b.state.isInvalidPage = !0;
}
this._debug("determinePath", a);
return a;
}
this["_determinepath_" + b.behavior].call(this, a);
return;
},
_error: function(a) {
var b = this.options;
if (!b.behavior || this["_error_" + b.behavior] === c) a !== "destroy" && a !== "end" && (a = "unknown"), this._debug("Error", a), a == "end" && this._showdonemsg(), b.state.isDone = !0, b.state.currPage = 1, b.state.isPaused = !1, this._binding("unbind"); else {
this["_error_" + b.behavior].call(this, a);
return;
}
},
_loadcallback: function(d, e) {
var f = this.options, g = this.options.callback, h = f.state.isDone ? "done" : f.appendCallback ? "append" : "no-append", i;
if (!f.behavior || this["_loadcallback_" + f.behavior] === c) {
switch (h) {
case "done":
this._showdonemsg();
return !1;
case "no-append":
f.dataType == "html" && (e = "<div>" + e + "</div>", e = b(e).find(f.itemSelector));
break;
case "append":
var j = d.children();
if (j.length == 0) return this._error("end");
i = document.createDocumentFragment();
while (d[0].firstChild) i.appendChild(d[0].firstChild);
this._debug("contentSelector", b(f.contentSelector)[0]), b(f.contentSelector)[0].appendChild(i), e = j.get();
}
f.loading.finished.call(b(f.contentSelector)[0], f);
if (f.animate) {
var k = b(a).scrollTop() + b("#infscr-loading").height() + f.extraScrollPx + "px";
b("html,body").animate({
scrollTop: k
}, 800, function() {
f.state.isDuringAjax = !1;
});
}
f.animate || (f.state.isDuringAjax = !1), g(this, e);
} else this["_loadcallback_" + f.behavior].call(this, d, e);
},
_nearbottom: function() {
var d = this.options, e = 0 + b(document).height() - d.binder.scrollTop() - b(a).height();
if (!d.behavior || this["_nearbottom_" + d.behavior] === c) {
this._debug("math:", e, d.pixelsFromNavToBottom);
return e - d.bufferPx < d.pixelsFromNavToBottom;
}
this["_nearbottom_" + d.behavior].call(this);
return;
},
_pausing: function(a) {
var b = this.options;
if (!b.behavior || this["_pausing_" + b.behavior] === c) {
a !== "pause" && a !== "resume" && a !== null && this._debug("Invalid argument. Toggling pause value instead"), a = a && (a == "pause" || a == "resume") ? a : "toggle";
switch (a) {
case "pause":
b.state.isPaused = !0;
break;
case "resume":
b.state.isPaused = !1;
break;
case "toggle":
b.state.isPaused = !b.state.isPaused;
}
this._debug("Paused", b.state.isPaused);
return !1;
}
this["_pausing_" + b.behavior].call(this, a);
return;
},
_setup: function() {
var a = this.options;
if (!a.behavior || this["_setup_" + a.behavior] === c) {
this._binding("bind");
return !1;
}
this["_setup_" + a.behavior].call(this);
return;
},
_showdonemsg: function() {
var a = this.options;
if (!a.behavior || this["_showdonemsg_" + a.behavior] === c) a.loading.msg.find("img").hide().parent().find("div").html(a.loading.finishedMsg).animate({
opacity: 1
}, 2e3, function() {
b(this).parent().fadeOut("normal");
}), a.errorCallback.call(b(a.contentSelector)[0], "done"); else {
this["_showdonemsg_" + a.behavior].call(this);
return;
}
},
_validate: function(a) {
for (var c in a) {
if (c.indexOf && c.indexOf("Selector") > -1 && b(a[c]).length === 0) {
this._debug("Your " + c + " found no elements.");
return !1;
}
return !0;
}
},
bind: function() {
this._binding("bind");
},
destroy: function() {
this.options.state.isDestroyed = !0;
return this._error("destroy");
},
pause: function() {
this._pausing("pause");
},
resume: function() {
this._pausing("resume");
},
retrieve: function(a) {
var d = this, e = d.options, f = e.path, g, h, i, j, k, a = a || null, l = !a ? e.state.currPage : a;
beginAjax = function(a) {
a.state.currPage++, d._debug("heading into ajax", f), g = b(a.contentSelector).is("table") ? b("<tbody/>") : b("<div/>"), i = f.join(a.state.currPage), j = a.dataType == "html" || a.dataType == "json" ? a.dataType : "html+callback", a.appendCallback && a.dataType == "html" && (j += "+callback");
switch (j) {
case "html+callback":
d._debug("Using HTML via .load() method"), g.load(i + " " + a.itemSelector, null, function(a) {
d._loadcallback(g, a);
});
break;
case "html":
case "json":
d._debug("Using " + j.toUpperCase() + " via $.ajax() method"), b.ajax({
url: i,
dataType: a.dataType,
complete: function(a, b) {
k = typeof a.isResolved != "undefined" ? a.isResolved() : b === "success" || b === "notmodified", k ? d._loadcallback(g, a.responseText) : d._error("end");
}
});
}
};
if (!e.behavior || this["retrieve_" + e.behavior] === c) {
if (e.state.isDestroyed) {
this._debug("Instance is destroyed");
return !1;
}
e.state.isDuringAjax = !0, e.loading.start.call(b(e.contentSelector)[0], e);
} else this["retrieve_" + e.behavior].call(this, a);
},
scroll: function() {
var a = this.options, b = a.state;
if (!a.behavior || this["scroll_" + a.behavior] === c) {
if (b.isDuringAjax || b.isInvalidPage || b.isDone || b.isDestroyed || b.isPaused) return;
if (!this._nearbottom()) return;
this.retrieve();
} else this["scroll_" + a.behavior].call(this);
},
toggle: function() {
this._pausing();
},
unbind: function() {
this._binding("unbind");
},
update: function(a) {
b.isPlainObject(a) && (this.options = b.extend(!0, this.options, a));
}
}, b.fn.infinitescroll = function(a, c) {
var d = typeof a;
switch (d) {
case "string":
var e = Array.prototype.slice.call(arguments, 1);
this.each(function() {
var c = b.data(this, "infinitescroll");
if (!c) return !1;
if (!b.isFunction(c[a]) || a.charAt(0) === "_") return !1;
c[a].apply(c, e);
});
break;
case "object":
this.each(function() {
var d = b.data(this, "infinitescroll");
d ? d.update(a) : b.data(this, "infinitescroll", new b.infinitescroll(a, c, this));
});
}
return this;
};
var d = b.event, e;
d.special.smartscroll = {
setup: function() {
b(this).bind("scroll", d.special.smartscroll.handler);
},
teardown: function() {
b(this).unbind("scroll", d.special.smartscroll.handler);
},
handler: function(a, c) {
var d = this, f = arguments;
a.type = "smartscroll", e && clearTimeout(e), e = setTimeout(function() {
b.event.handle.apply(d, f);
}, c === "execAsap" ? 0 : 100);
}
}, b.fn.smartscroll = function(a) {
return a ? this.bind("smartscroll", a) : this.trigger("smartscroll", [ "execAsap" ]);
};
}(window, jQuery), function(a, b, c) {
a.fn.keylisten = function(b) {
a.attrFn && (a.attrFn.keylisten = !0);
return b ? this.bind("keylisten", b) : this.trigger("keylisten");
};
var d = {
8: "backspace",
9: "tab",
13: "return",
16: "shift",
17: "ctrl",
18: "alt",
19: "pause",
20: "capslock",
27: "esc",
32: "space",
33: "pageup",
34: "pagedown",
35: "end",
36: "home",
37: "left",
38: "up",
39: "right",
40: "down",
45: "insert",
46: "del",
91: "meta",
93: "meta",
96: "0",
97: "1",
98: "2",
99: "3",
100: "4",
101: "5",
102: "6",
103: "7",
104: "8",
105: "9",
106: "*",
107: "+",
108: "enter",
109: "-",
110: ".",
111: "/",
112: "f1",
113: "f2",
114: "f3",
115: "f4",
116: "f5",
117: "f6",
118: "f7",
119: "f8",
120: "f9",
121: "f10",
122: "f11",
123: "f12",
144: "numlock",
145: "scroll",
188: ",",
191: "/",
224: "meta"
}, e = {
"~": "`",
"!": "1",
"@": "2",
"#": "3",
$: "4",
"%": "5",
"^": "6",
"&": "7",
"*": "8",
"(": "9",
")": "0",
_: "-",
"+": "=",
":": ";",
"<": ",",
">": ".",
"?": "/",
"|": "\\",
'"': "'"
}, f = [ "alt", "ctrl", "meta", "shift" ], g = a.browser.mozilla || a.browser.opera ? "keypress" : "keydown";
a.event.special.keylisten = {
setup: function(b, c) {
a(this).bind(g, a.event.special.keylisten.handler);
},
teardown: function(b) {
a(this).unbind(g, a.event.special.keylisten.handler);
},
handler: function(b) {
if (this === b.target || !a(b.target).is("textarea,select,input")) {
var c = "", g = d[b.keyCode] || String.fromCharCode(b.which).toLowerCase();
e[g] && (g = e[g]);
for (var h = 0, i = f.length; h < i; h++) {
var j = f[h];
b[j + "Key"] && g !== j && (c += j + "+");
}
b.type = "keylisten", b.keyName = c + g, a.event.handle.apply(this, arguments);
}
}
};
}(jQuery, window), function(a) {
a.fn.pjax = function(b, c) {
c ? c.container = b : c = a.isPlainObject(b) ? b : {
container: b
};
if (c.container && typeof c.container != "string") throw "pjax container must be a string selector!";
return this.live("click", function(b) {
if (b.which > 1 || b.metaKey) return !0;
var d = {
url: this.href,
container: a(this).attr("data-pjax"),
clickedElement: a(this),
fragment: null
};
a.pjax(a.extend({}, d, c)), b.preventDefault();
});
}, a.pjax = function(b) {
var c = a(b.container), d = b.success || a.noop;
delete b.success;
if (typeof b.container != "string") throw "pjax container must be a string selector!";
var e = {
timeout: 650,
push: !0,
replace: !1,
data: {
_pjax: !0
},
type: "GET",
dataType: "html",
beforeSend: function(a) {
c.trigger("start.pjax", [ a, b ]), a.setRequestHeader("X-PJAX", "true");
},
error: function() {
window.location = b.url;
},
complete: function(a) {
c.trigger("end.pjax", [ a, b ]);
},
success: function(e) {
if (b.fragment) {
var f = a(e).find(b.fragment);
if (f.length) e = f.children(); else return window.location = b.url;
} else if (!a.trim(e) || /<html/i.test(e)) return window.location = b.url;
c.html(e);
var g = document.title, h = a.trim(c.find("title").remove().text());
h && (document.title = h);
var i = {
pjax: b.container,
fragment: b.fragment,
timeout: b.timeout
}, j = a.param(b.data);
j != "_pjax=true" && (i.url = b.url + (/\?/.test(b.url) ? "&" : "?") + j), b.replace ? window.history.replaceState(i, document.title, b.url) : b.push && (a.pjax.active || (window.history.replaceState(a.extend({}, i, {
url: null
}), g), a.pjax.active = !0), window.history.pushState(i, document.title, b.url)), (b.replace || b.push) && window._gaq && _gaq.push([ "_trackPageview" ]);
var k = window.location.hash.toString();
k !== "" && (window.location.href = k), d.apply(this, arguments);
}
};
b = a.extend(!0, {}, e, b), a.isFunction(b.url) && (b.url = b.url());
var f = a.pjax.xhr;
f && f.readyState < 4 && (f.onreadystatechange = a.noop, f.abort()), a.pjax.xhr = a.ajax(b), a(document).trigger("pjax", [ a.pjax.xhr, b ]);
return a.pjax.xhr;
};
var b = "state" in window.history, c = location.href;
a(window).bind("popstate", function(d) {
var e = !b && location.href == c;
b = !0;
if (!e) {
var f = d.state;
if (f && f.pjax) {
var g = f.pjax;
a(g + "").length ? a.pjax({
url: f.url || location.href,
fragment: f.fragment,
container: g,
push: !1,
timeout: f.timeout
}) : window.location = location.href;
}
}
}), a.inArray("state", a.event.props) < 0 && a.event.props.push("state"), a.support.pjax = window.history && window.history.pushState && window.history.replaceState && !navigator.userAgent.match(/(iPod|iPhone|iPad|WebApps\/.+CFNetwork)/), a.support.pjax || (a.pjax = function(b) {
window.location = a.isFunction(b.url) ? b.url() : b.url;
}, a.fn.pjax = function() {
return this;
});
}(jQuery), function(a) {
function m(a) {
return ~a.indexOf("deg") ? parseInt(a, 10) * (Math.PI * 2 / 360) : ~a.indexOf("grad") ? parseInt(a, 10) * (Math.PI / 200) : parseFloat(a);
}
function l(b) {
b = b.split(")");
var c = [ 0, 0 ], d = 0, e = [ 1, 1 ], f = [ 0, 0 ], g = b.length - 1, h = a.trim, i, j, k;
while (g--) i = b[g].split("("), j = h(i[0]), k = i[1], j == "translateX" ? c[0] += parseInt(k, 10) : j == "translateY" ? c[1] += parseInt(k, 10) : j == "translate" ? (k = k.split(","), c[0] += parseInt(k[0], 10), c[1] += parseInt(k[1] || 0, 10)) : j == "rotate" ? d += m(k) : j == "scaleX" ? e[0] *= k : j == "scaleY" ? e[1] *= k : j == "scale" ? (k = k.split(","), e[0] *= k[0], e[1] *= k.length > 1 ? k[1] : k[0]) : j == "skewX" ? f[0] += m(k) : j == "skewY" ? f[1] += m(k) : j == "skew" && (k = k.split(","), f[0] += m(k[0]), f[1] += m(k[1] || "0"));
return {
translate: c,
rotate: d,
scale: e,
skew: f
};
}
var b = document.createElement("div"), c = b.style, d = "transform", e = "Transform", f = [ "O" + e, "ms" + e, "Webkit" + e, "Moz" + e, d ], g = f.length, h, i, j, k = /Matrix([^)]*)/;
while (g--) if (f[g] in c) {
a.support[d] = h = f[g];
continue;
}
h || (a.support.matrixFilter = i = c.filter === ""), b = c = null, a.cssNumber[d] = !0, a.cssHooks[d] = j = {
get: function(b) {
var c = a.data(b, "transform") || {
translate: [ 0, 0 ],
rotate: 0,
scale: [ 1, 1 ],
skew: [ 0, 0 ]
};
c.toString = function() {
return "translate(" + this.translate[0] + "px," + this.translate[1] + "px) rotate(" + this.rotate + "rad) scale(" + this.scale + ") skew(" + this.skew[0] + "rad," + this.skew[1] + "rad)";
};
return c;
},
set: function(b, c, d) {
typeof c == "string" && (c = l(c));
var e = c.translate, f = c.rotate, g = c.scale, j = c.skew, m = b.style, n, o;
a.data(b, "transform", c), !j[0] && !j[1] && (j = 0);
if (h) m[h] = "translate(" + e[0] + "px," + e[1] + "px) rotate(" + f + "rad) scale(" + g + ")" + (j ? " skew(" + j[0] + "rad," + j[1] + "rad)" : ""); else if (i) {
d || (m.zoom = 1);
var p = Math.cos(f), q = Math.sin(f), r = p * g[0], s = -q * g[1], t = q * g[0], u = p * g[1], v, w, x;
j && (v = Math.tan(j[0]), w = Math.tan(j[1]), r += s * w, s += r * v, t += u * w, u += t * v), x = [ "Matrix(M11=" + r, "M12=" + s, "M21=" + t, "M22=" + u, "SizingMethod='auto expand'" ].join(), o = (n = b.currentStyle) && n.filter || m.filter || "", m.filter = k.test(o) ? o.replace(k, x) : o + " progid:DXImageTransform.Microsoft." + x + ")";
if (centerOrigin = a.transform.centerOrigin) m[centerOrigin == "margin" ? "marginLeft" : "left"] = -(b.offsetWidth / 2) + b.clientWidth / 2 + "px", m[centerOrigin == "margin" ? "marginTop" : "top"] = -(b.offsetHeight / 2) + b.clientHeight / 2 + "px";
m.left = e[0] + "px", m.top = e[1] + "px";
}
}
}, a.fx.step.transform = function(a) {
var b = a.elem, c = a.start, d = a.end, e = a.pos, f = {}, g;
if (!c || typeof d == "string") c || (c = j.get(b)), i && (b.style.zoom = 1), a.end = d = l(d);
f.translate = [ c.translate[0] + (d.translate[0] - c.translate[0]) * e + .5 | 0, c.translate[1] + (d.translate[1] - c.translate[1]) * e + .5 | 0 ], f.rotate = c.rotate + (d.rotate - c.rotate) * e, f.scale = [ c.scale[0] + (d.scale[0] - c.scale[0]) * e, c.scale[1] + (d.scale[1] - c.scale[1]) * e ], f.skew = [ c.skew[0] + (d.skew[0] - c.skew[0]) * e, c.skew[1] + (d.skew[1] - c.skew[1]) * e ], j.set(b, f, !0);
}, a.transform = {
centerOrigin: "margin",
radToDeg: function(a) {
return a * 180 / Math.PI;
}
};
}(jQuery), jQuery.easing.jswing = jQuery.easing.swing, jQuery.extend(jQuery.easing, {
def: "easeOutQuad",
swing: function(a, b, c, d, e) {
return jQuery.easing[jQuery.easing.def](a, b, c, d, e);
},
easeInQuad: function(a, b, c, d, e) {
return d * (b /= e) * b + c;
},
easeOutQuad: function(a, b, c, d, e) {
return -d * (b /= e) * (b - 2) + c;
},
easeInOutQuad: function(a, b, c, d, e) {
return (b /= e / 2) < 1 ? d / 2 * b * b + c : -d / 2 * (--b * (b - 2) - 1) + c;
},
easeInCubic: function(a, b, c, d, e) {
return d * (b /= e) * b * b + c;
},
easeOutCubic: function(a, b, c, d, e) {
return d * ((b = b / e - 1) * b * b + 1) + c;
},
easeInOutCubic: function(a, b, c, d, e) {
return (b /= e / 2) < 1 ? d / 2 * b * b * b + c : d / 2 * ((b -= 2) * b * b + 2) + c;
},
easeInQuart: function(a, b, c, d, e) {
return d * (b /= e) * b * b * b + c;
},
easeOutQuart: function(a, b, c, d, e) {
return -d * ((b = b / e - 1) * b * b * b - 1) + c;
},
easeInOutQuart: function(a, b, c, d, e) {
return (b /= e / 2) < 1 ? d / 2 * b * b * b * b + c : -d / 2 * ((b -= 2) * b * b * b - 2) + c;
},
easeInQuint: function(a, b, c, d, e) {
return d * (b /= e) * b * b * b * b + c;
},
easeOutQuint: function(a, b, c, d, e) {
return d * ((b = b / e - 1) * b * b * b * b + 1) + c;
},
easeInOutQuint: function(a, b, c, d, e) {
return (b /= e / 2) < 1 ? d / 2 * b * b * b * b * b + c : d / 2 * ((b -= 2) * b * b * b * b + 2) + c;
},
easeInSine: function(a, b, c, d, e) {
return -d * Math.cos(b / e * (Math.PI / 2)) + d + c;
},
easeOutSine: function(a, b, c, d, e) {
return d * Math.sin(b / e * (Math.PI / 2)) + c;
},
easeInOutSine: function(a, b, c, d, e) {
return -d / 2 * (Math.cos(Math.PI * b / e) - 1) + c;
},
easeInExpo: function(a, b, c, d, e) {
return b == 0 ? c : d * Math.pow(2, 10 * (b / e - 1)) + c;
},
easeOutExpo: function(a, b, c, d, e) {
return b == e ? c + d : d * (-Math.pow(2, -10 * b / e) + 1) + c;
},
easeInOutExpo: function(a, b, c, d, e) {
return b == 0 ? c : b == e ? c + d : (b /= e / 2) < 1 ? d / 2 * Math.pow(2, 10 * (b - 1)) + c : d / 2 * (-Math.pow(2, -10 * --b) + 2) + c;
},
easeInCirc: function(a, b, c, d, e) {
return -d * (Math.sqrt(1 - (b /= e) * b) - 1) + c;
},
easeOutCirc: function(a, b, c, d, e) {
return d * Math.sqrt(1 - (b = b / e - 1) * b) + c;
},
easeInOutCirc: function(a, b, c, d, e) {
return (b /= e / 2) < 1 ? -d / 2 * (Math.sqrt(1 - b * b) - 1) + c : d / 2 * (Math.sqrt(1 - (b -= 2) * b) + 1) + c;
},
easeInElastic: function(a, b, c, d, e) {
var a = 1.70158, f = 0, g = d;
if (b == 0) return c;
if ((b /= e) == 1) return c + d;
f || (f = e * .3), g < Math.abs(d) ? (g = d, a = f / 4) : a = f / (2 * Math.PI) * Math.asin(d / g);
return -(g * Math.pow(2, 10 * (b -= 1)) * Math.sin((b * e - a) * 2 * Math.PI / f)) + c;
},
easeOutElastic: function(a, b, c, d, e) {
var a = 1.70158, f = 0, g = d;
if (b == 0) return c;
if ((b /= e) == 1) return c + d;
f || (f = e * .3), g < Math.abs(d) ? (g = d, a = f / 4) : a = f / (2 * Math.PI) * Math.asin(d / g);
return g * Math.pow(2, -10 * b) * Math.sin((b * e - a) * 2 * Math.PI / f) + d + c;
},
easeInOutElastic: function(a, b, c, d, e) {
var a = 1.70158, f = 0, g = d;
if (b == 0) return c;
if ((b /= e / 2) == 2) return c + d;
f || (f = e * .3 * 1.5), g < Math.abs(d) ? (g = d, a = f / 4) : a = f / (2 * Math.PI) * Math.asin(d / g);
return b < 1 ? -0.5 * g * Math.pow(2, 10 * (b -= 1)) * Math.sin((b * e - a) * 2 * Math.PI / f) + c : g * Math.pow(2, -10 * (b -= 1)) * Math.sin((b * e - a) * 2 * Math.PI / f) * .5 + d + c;
},
easeInBack: function(a, b, c, d, e, f) {
f == void 0 && (f = 1.70158);
return d * (b /= e) * b * ((f + 1) * b - f) + c;
},
easeOutBack: function(a, b, c, d, e, f) {
f == void 0 && (f = 1.70158);
return d * ((b = b / e - 1) * b * ((f + 1) * b + f) + 1) + c;
},
easeInOutBack: function(a, b, c, d, e, f) {
f == void 0 && (f = 1.70158);
return (b /= e / 2) < 1 ? d / 2 * b * b * (((f *= 1.525) + 1) * b - f) + c : d / 2 * ((b -= 2) * b * (((f *= 1.525) + 1) * b + f) + 2) + c;
},
easeInBounce: function(a, b, c, d, e) {
return d - jQuery.easing.easeOutBounce(a, e - b, 0, d, e) + c;
},
easeOutBounce: function(a, b, c, d, e) {
return (b /= e) < 1 / 2.75 ? d * 7.5625 * b * b + c : b < 2 / 2.75 ? d * (7.5625 * (b -= 1.5 / 2.75) * b + .75) + c : b < 2.5 / 2.75 ? d * (7.5625 * (b -= 2.25 / 2.75) * b + .9375) + c : d * (7.5625 * (b -= 2.625 / 2.75) * b + .984375) + c;
},
easeInOutBounce: function(a, b, c, d, e) {
return b < e / 2 ? jQuery.easing.easeInBounce(a, b * 2, 0, d, e) * .5 + c : jQuery.easing.easeOutBounce(a, b * 2 - e, 0, d, e) * .5 + d * .5 + c;
}
}), function(a, b) {
function f(f) {
function B(a) {
!(S++) && b(function() {
T(), K && a != s && (v[N] = a), e(f.error, f, [ f, a ]), e(D, f, [ f, a ]);
}, 0);
}
function z(a) {
!(S++) && b(function() {
T(), K && (v[N] = {
s: [ a ]
}), E && (a = E.apply(f, [ a ])), e(f.success, f, [ a, r ]), e(D, f, [ f, r ]);
}, 0);
}
var f = a.extend({}, y, f), D = f.complete, E = f.dataFilter, F = f.callbackParameter, I = f.callback, J = f.cache, K = f.pageCache, L = f.charset, N = f.url, P = f.data, Q = f.timeout, R, S = 0, T = c;
f.abort = function() {
!(S++) && T();
};
if (e(f.beforeSend, f, [ f ]) === !1 || S) return f;
N = N || i, P = P ? typeof P == "string" ? P : a.param(P, f.traditional) : i, N += P ? (/\?/.test(N) ? "&" : "?") + P : i, F && (N += (/\?/.test(N) ? "&" : "?") + escape(F) + "=?"), !J && !K && (N += (/\?/.test(N) ? "&" : "?") + "_" + (new Date).getTime() + "="), N = N.replace(/=\?(&|$)/, "=" + I + "$1"), K && (R = v[N]) ? R.s ? z(R.s[0]) : B(R) : b(function(e, f, i) {
if (!S) {
i = Q > 0 && b(function() {
B(s);
}, Q), T = function() {
i && clearTimeout(i), e[o] = e[l] = e[n] = e[m] = null, u[p](e), f && u[p](f);
}, window[I] = d, e = a(q)[0], e.id = k + w++, L && (e[h] = L);
var r = function(a) {
(e[l] || c)(), a = x, x = void 0, a ? z(a[0]) : B(j);
};
t.msie ? (e.event = l, e.htmlFor = e.id, e[o] = function() {
e.readyState == "loaded" && r();
}) : (e[m] = e[n] = r, t.opera ? (f = a(q)[0]).text = "jQuery('#" + e.id + "')[0]." + m + "()" : e[g] = g), e.src = N, u.insertBefore(e, u.firstChild), f && u.insertBefore(f, u.firstChild);
}
}, 0);
return f;
}
function e(a, b, c) {
return a && a.apply(b.context || b, c);
}
function d(a) {
x = [ a ];
}
function c() {}
var g = "async", h = "charset", i = "", j = "error", k = "_jqjsp", l = "onclick", m = "on" + j, n = "onload", o = "onreadystatechange", p = "removeChild", q = "<script/>", r = "success", s = "timeout", t = a.browser, u = a("head")[0] || document.documentElement, v = {}, w = 0, x, y = {
callback: k,
url: location.href
};
f.setup = function(b) {
a.extend(y, b);
}, a.jsonp = f;
}(jQuery, setTimeout), this.JSON || (this.JSON = {}), function() {
function f(b, c) {
var e, h, i, k, l = d, m, n = c[b];
n && typeof n == "object" && typeof n.toJSON == "function" && (n = n.toJSON(b)), typeof j == "function" && (n = j.call(c, b, n));
switch (typeof n) {
case "string":
return a(n);
case "number":
return isFinite(n) ? String(n) : "null";
case "boolean":
case "null":
return String(n);
case "object":
if (!n) return "null";
d += g, m = [];
if (Object.prototype.toString.apply(n) === "[object Array]") {
k = n.length;
for (e = 0; e < k; e += 1) m[e] = f(e, n) || "null";
i = m.length === 0 ? "[]" : d ? "[\n" + d + m.join(",\n" + d) + "\n" + l + "]" : "[" + m.join(",") + "]", d = l;
return i;
}
if (j && typeof j == "object") {
k = j.length;
for (e = 0; e < k; e += 1) h = j[e], typeof h == "string" && (i = f(h, n)) && m.push(a(h) + (d ? ": " : ":") + i);
} else for (h in n) Object.hasOwnProperty.call(n, h) && (i = f(h, n)) && m.push(a(h) + (d ? ": " : ":") + i);
i = m.length === 0 ? "{}" : d ? "{\n" + d + m.join(",\n" + d) + "\n" + l + "}" : "{" + m.join(",") + "}", d = l;
return i;
}
}
function a(a) {
b.lastIndex = 0;
return b.test(a) ? '"' + a.replace(b, function(a) {
var b = l[a];
return typeof b == "string" ? b : "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4);
}) + '"' : '"' + a + '"';
}
function c(a) {
return a < 10 ? "0" + a : a;
}
typeof Date.prototype.toJSON != "function" && (Date.prototype.toJSON = function() {
return isFinite(this.valueOf()) ? this.getUTCFullYear() + "-" + c(this.getUTCMonth() + 1) + "-" + c(this.getUTCDate()) + "T" + c(this.getUTCHours()) + ":" + c(this.getUTCMinutes()) + ":" + c(this.getUTCSeconds()) + "Z" : null;
}, String.prototype.toJSON = Number.prototype.toJSON = Boolean.prototype.toJSON = function() {
return this.valueOf();
});
var e = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, b = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, d, g, l = {
"\b": "\\b",
"\t": "\\t",
"\n": "\\n",
"\f": "\\f",
"\r": "\\r",
'"': '\\"',
"\\": "\\\\"
}, j;
typeof JSON.stringify != "function" && (JSON.stringify = function(a, b, c) {
var e;
g = d = "";
if (typeof c == "number") for (e = 0; e < c; e += 1) g += " "; else typeof c == "string" && (g = c);
if (!(j = b) || typeof b == "function" || typeof b == "object" && typeof b.length == "number") return f("", {
"": a
});
throw Error("JSON.stringify");
}), typeof JSON.parse != "function" && (JSON.parse = function(a, d) {
function c(a, b) {
var e, f, g = a[b];
if (g && typeof g == "object") for (e in g) Object.hasOwnProperty.call(g, e) && (f = c(g, e), f !== void 0 ? g[e] = f : delete g[e]);
return d.call(a, b, g);
}
var b, a = String(a);
e.lastIndex = 0, e.test(a) && (a = a.replace(e, function(a) {
return "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4);
}));
if (/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) return b = eval("(" + a + ")"), typeof d == "function" ? c({
"": b
}, "") : b;
throw new SyntaxError("JSON.parse");
});
}(), function(a) {
function c(b) {
if (b) return b.call(a.mask);
}
function b() {
if (a.browser.msie) {
var b = a(document).height(), c = a(window).height();
return [ window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, b - c < 20 ? c : b ];
}
return [ a(document).width(), a(document).height() ];
}
a.tools = a.tools || {
version: "1.2.3"
};
var d;
d = a.tools.expose = {
conf: {
maskId: "exposeMask",
loadSpeed: "slow",
closeSpeed: "fast",
closeOnClick: !0,
closeOnEsc: !0,
zIndex: 9998,
opacity: .8,
startOpacity: 0,
color: "#fff",
onLoad: null,
onClose: null
}
};
var e, f, g, h, i;
a.mask = {
load: function(k, m) {
if (g) return this;
typeof k == "string" && (k = {
color: k
}), k = k || h, h = k = a.extend(a.extend({}, d.conf), k), e = a("#" + k.maskId), e.length || (e = a("<div/>").attr("id", k.maskId), a("body").append(e));
var n = b();
e.css({
position: "absolute",
top: 0,
left: 0,
width: n[0],
height: n[1],
display: "none",
opacity: k.startOpacity,
zIndex: k.zIndex
}), k.color && e.css("backgroundColor", k.color);
if (c(k.onBeforeLoad) === !1) return this;
k.closeOnEsc && a(document).bind("keydown.mask", function(b) {
b.keyCode == 27 && a.mask.close(b);
}), k.closeOnClick && e.bind("click.mask", function(b) {
a.mask.close(b);
}), a(window).bind("resize.mask", function() {
a.mask.fit();
}), m && m.length && (i = m.eq(0).css("zIndex"), a.each(m, function() {
var b = a(this);
/relative|absolute|fixed/i.test(b.css("position")) || b.css("position", "relative");
}), f = m.css({
zIndex: Math.max(k.zIndex + 1, i == "auto" ? 0 : i)
})), e.css({
display: "block"
}).fadeTo(k.loadSpeed, k.opacity, function() {
a.mask.fit(), c(k.onLoad);
}), g = !0;
return this;
},
close: function() {
if (g) {
if (c(h.onBeforeClose) === !1) return this;
e.fadeOut(h.closeSpeed, function() {
c(h.onClose), f && f.css({
zIndex: i
});
}), a(document).unbind("keydown.mask"), e.unbind("click.mask"), a(window).unbind("resize.mask"), g = !1;
}
return this;
},
fit: function() {
if (g) {
var a = b();
e.css({
width: a[0],
height: a[1]
});
}
},
getMask: function() {
return e;
},
isLoaded: function() {
return g;
},
getConf: function() {
return h;
},
getExposed: function() {
return f;
}
}, a.fn.mask = function(b) {
a.mask.load(b);
return this;
}, a.fn.expose = function(b) {
a.mask.load(b, this);
return this;
};
}(jQuery), function(a) {
function b() {
this.timer = this.documentTitle = this.instance = this.assemblyId = null, this._options = {}, this.uploads = [], this.results = {}, this.pollStarted = this.ended = null, this.seq = this.pollRetries = 0, this.started = !1, this.params = this.assembly = null, this.lastPoll = this.bytesReceivedBefore = 0, this.$modal = this.$iframe = this.$fileClones = this.$files = this.$form = this.$params = null;
}
var c = document.location.protocol == "https:" ? "https://" : "http://", d = {
service: c + "api2.transloadit.com/",
assets: c + "assets.transloadit.com/",
onStart: function() {},
onProgress: function() {},
onUpload: function() {},
onResult: function() {},
onCancel: function() {},
onError: function() {},
onSuccess: function() {},
interval: 2500,
wait: !1,
autoSubmit: !0,
modal: !0,
exclude: "",
fields: !1,
debug: !0
}, e = !1;
a.fn.transloadit = function() {
var a = Array.prototype.slice.call(arguments), c;
(a.length == 1 && typeof a[0] == "object" || a[0] === void 0) && a.unshift("init"), c = a.shift(), c == "init" ? (uploader = new b, a.unshift(this), this.data("transloadit.uploader", uploader)) : uploader = this.data("transloadit.uploader");
if (!uploader) throw Error("Element is not initialized for transloadit!");
a = uploader[c].apply(uploader, a);
return a === void 0 ? this : a;
}, b.prototype.init = function(b, c) {
this.$form = b, this.options(a.extend({}, d, c || {}));
var e = this;
b.bind("submit.transloadit", function() {
e.getBoredInstance();
return !1;
}), this.includeCss();
}, b.prototype.getBoredInstance = function() {
var b = this;
this.instance = null, a.jsonp({
url: this._options.service + "instances/bored",
timeout: 6e3,
callbackParameter: "callback",
success: function(a) {
a.error ? (b.ended = !0, b.renderError(a), b._options.onError(a)) : (b.instance = a.api2_host, b.start());
},
error: function(a, c) {
b.ended = !0;
var d = {
error: "CONNECTION_ERROR",
message: "There was a problem connecting to the upload server",
reason: "JSONP request status: " + c
};
b.renderError(d), b._options.onError(d);
}
}), this._options.modal && this.showModal();
}, b.prototype.start = function() {
var b = this;
this.ended = this.started = !1, this.seq = this.pollRetries = this.bytesReceivedBefore = 0, this.uploads = [], this.results = {}, this.assemblyId = this.uuid();
var d = this.$form.find("input[name=params]");
if (d.length) {
try {
this.params = JSON.parse(d.val());
} catch (e) {
alert("Error: input[name=params] seems to contain invalid JSON.");
return;
}
if (this.params.redirect_url) this.$form.attr("action", this.params.redirect_url); else if (this._options.autoSubmit && this.$form.attr("action") == this._options.service + "assemblies") {
alert("Error: input[name=params] does not include a redirect_url");
return;
}
this.$files = this.$form.find("input[type=file]").not(this._options.exclude), b.$fileClones = a().not(document), this.$files.each(function() {
var c = a(this).clone(!0);
b.$fileClones = b.$fileClones.add(c), c.insertAfter(this);
}), this.$iframe = a('<iframe id="transloadit-' + this.assemblyId + '" name="transloadit-' + this.assemblyId + '"/>').appendTo("body").hide(), this.$uploadForm = a('<form enctype="multipart/form-data" />').attr("action", c + this.instance + "/assemblies/" + this.assemblyId + "?redirect=false").attr("target", "transloadit-" + this.assemblyId).attr("method", "POST").append(this.$files).appendTo("body").hide();
var g = "[name=params], [name=signature]";
this._options.fields === !0 ? g = "*" : typeof this._options.fields == "string" && (g += ", " + this._options.fields), this.$form.find(":input[type!=file]").filter(g).clone().prependTo(this.$uploadForm), this.$params = d, this.$uploadForm.submit(), this.lastPoll = +(new Date), setTimeout(function() {
b._poll();
}, 300);
} else alert("Could not find input[name=params] in your form.");
}, b.prototype._poll = function(b) {
var d = this;
this.ended || (a.browser.mozilla && !this.documentTitle && (this.documentTitle = document.title, document.title = "Loading..."), this.pollStarted = +(new Date), a.jsonp({
url: c + this.instance + "/assemblies/" + this.assemblyId + (b || "?seq=" + this.seq),
timeout: 6e3,
callbackParameter: "callback",
success: function(a) {
if (!d.ended) if (d.assembly = a, a.error == "ASSEMBLY_NOT_FOUND") d.pollRetries++, d.pollRetries > 15 ? (document.title = d.documentTitle, d.ended = !0, d.renderError(a), d._options.onError(a)) : setTimeout(function() {
d._poll();
}, 400); else if (a.error) d.ended = !0, d.renderError(a), document.title = d.documentTitle, d._options.onError(a); else {
d.seq = a.last_seq, d.started || (d.started = !0, d._options.onStart(a)), d.pollRetries = 0;
var b = a.ok == "ASSEMBLY_EXECUTING", c = a.ok == "ASSEMBLY_CANCELED", e = a.ok == "ASSEMBLY_COMPLETED";
d._options.onProgress(a.bytes_received, a.bytes_expected, a);
for (var f = 0; f < a.uploads.length; f++) d._options.onUpload(a.uploads[f], a), d.uploads.push(a.uploads[f]);
for (var g in a.results) {
d.results[g] = d.results[g] || [];
for (f = 0; f < a.results[g].length; f++) d._options.onResult(g, a.results[g][f], a), d.results[g].push(a.results[g][f]);
}
c ? (d.ended = !0, document.title = d.documentTitle, d._options.onCancel(a)) : (d.renderProgress(a), e || !d._options.wait && b ? (d.ended = !0, document.title = d.documentTitle, a.uploads = d.uploads, a.results = d.results, d._options.onSuccess(a), d._options.modal && d.cancel(), d._options.autoSubmit && d.submitForm()) : (a = d.pollStarted - +(new Date), d.timer = setTimeout(function() {
d._poll();
}, a < d._options.interval ? d._options.interval : a), d.lastPoll = +(new Date)));
}
},
error: function(a, b) {
if (!d.ended) if (d.pollRetries++, d.pollRetries > 3) {
document.title = d.documentTitle, d.ended = !0;
var c = {
error: "CONNECTION_ERROR",
message: "There was a problem connecting to the upload server",
reason: "JSONP request status: " + b
};
d.renderError(c), d._options.onError(c);
} else setTimeout(function() {
d._poll();
}, 350);
}
}));
}, b.prototype.stop = function() {
document.title = this.documentTitle, this.ended = !0;
}, b.prototype.cancel = function() {
if (!this.ended) {
var b = this;
this.$params.prependTo(this.$form), this.$fileClones.each(function(c) {
var c = a(b.$files[c]), d = a(this);
c.insertAfter(d), d.remove();
}), clearTimeout(b.timer), this._poll("?method=delete"), this.$iframe[0].contentWindow.stop(), setTimeout(function() {
b.$iframe.remove();
}, 500);
}
this._options.modal && (a.mask.close(), this.$modal.remove());
}, b.prototype.submitForm = function() {
this.$fileClones.remove(), a("<textarea/>").attr("name", "transloadit").text(JSON.stringify(this.assembly)).prependTo(this.$form).hide(), this.$form.unbind("submit.transloadit").submit();
}, b.prototype.showModal = function() {
this.$modal = a('<div id="transloadit"><div class="content"><a href="#close" class="close"></a><p class="status"></p><div class="progress"><label>starting upload ...</label><span></span></div><p class="error"></p></div></div>').appendTo("body"), a.extend(this.$modal, {
$status: this.$modal.find(".status"),
$content: this.$modal.find(".content"),
$close: this.$modal.find(".close"),
$label: this.$modal.find("label"),
$progress: this.$modal.find(".progress"),
$progressSpan: this.$modal.find(".progress span"),
$error: this.$modal.find(".error")
});
var b = this;
this.$modal.$close.click(function() {
b.cancel();
}), this.$modal.$error.hide(), b = this, this.$modal.expose({
api: !0,
maskId: "transloadit_expose",
opacity: .9,
loadSpeed: 250,
closeOnEsc: !1,
closeOnClick: !1
}).load(), this.$modal.$close.click(function() {
b.cancel();
return !1;
});
}, b.prototype.renderError = function(a) {
this._options.modal && (this.$modal.$content.addClass("content-error"), this.$modal.$progress.hide(), this.$modal.$error.html(this._options.debug ? a.error + ": " + a.message + "<br><br>" + (a.reason || "") : "There was an internal error, please try your upload again.").show());
}, b.prototype.renderProgress = function(a) {
if (this._options.modal) {
var b = a.bytes_received / a.bytes_expected, c = a.bytes_received - this.bytesReceivedBefore, d = +(new Date) - this.lastPoll, e = b == 1 ? 1e3 : this._options.interval * 2, c = b == 1 ? "processing ..." : (a.bytes_received / 1024 / 1024).toFixed(2) + " MB / " + (a.bytes_expected / 1024 / 1024).toFixed(2) + " MB (" + (c / 1024 / (d / 1e3)).toFixed(1) + " kB / sec)";
this.bytesReceivedBefore = a.bytes_received, this.$modal.$label.text(c), this.$modal.$progressSpan.stop().animate({
width: b * 100 + "%"
}, e, "easeOutCubic");
}
}, b.prototype.includeCss = function() {
!e && this._options.modal && (e = !0, a('<link rel="stylesheet" type="text/css" href="' + this._options.assets + 'css/transloadit2.css" />').appendTo("head"));
}, b.prototype.uuid = function() {
var a = "";
for (i = 0; i < 32; i++) a += Math.floor(Math.random() * 16).toString(16);
return a;
}, b.prototype.options = function(b) {
if (arguments.length == 0) return this._options;
a.extend(this._options, b);
}, b.prototype.option = function(a, b) {
if (arguments.length == 1) return this._options[a];
this._options[a] = b;
};
}(jQuery), function(a) {
function B(a, b) {
return a << b | a >>> 32 - b;
}
function A(a, b) {
var c = (a & 65535) + (b & 65535), d = (a >> 16) + (b >> 16) + (c >> 16);
return d << 16 | c & 65535;
}
function z(a, b, c, d, e, f, g) {
return v(c ^ (b | ~d), a, b, e, f, g);
}
function y(a, b, c, d, e, f, g) {
return v(b ^ c ^ d, a, b, e, f, g);
}
function x(a, b, c, d, e, f, g) {
return v(b & d | c & ~d, a, b, e, f, g);
}
function w(a, b, c, d, e, f, g) {
return v(b & c | ~b & d, a, b, e, f, g);
}
function v(a, b, c, d, e, f) {
return A(B(A(A(b, a), A(d, f)), e), c);
}
function u(a, b) {
a[b >> 5] |= 128 << b % 32, a[(b + 64 >>> 9 << 4) + 14] = b;
var c = 1732584193, d = -271733879, e = -1732584194, f = 271733878;
for (var g = 0; g < a.length; g += 16) {
var h = c, i = d, j = e, k = f;
c = w(c, d, e, f, a[g + 0], 7, -680876936), f = w(f, c, d, e, a[g + 1], 12, -389564586), e = w(e, f, c, d, a[g + 2], 17, 606105819), d = w(d, e, f, c, a[g + 3], 22, -1044525330), c = w(c, d, e, f, a[g + 4], 7, -176418897), f = w(f, c, d, e, a[g + 5], 12, 1200080426), e = w(e, f, c, d, a[g + 6], 17, -1473231341), d = w(d, e, f, c, a[g + 7], 22, -45705983), c = w(c, d, e, f, a[g + 8], 7, 1770035416), f = w(f, c, d, e, a[g + 9], 12, -1958414417), e = w(e, f, c, d, a[g + 10], 17, -42063), d = w(d, e, f, c, a[g + 11], 22, -1990404162), c = w(c, d, e, f, a[g + 12], 7, 1804603682), f = w(f, c, d, e, a[g + 13], 12, -40341101), e = w(e, f, c, d, a[g + 14], 17, -1502002290), d = w(d, e, f, c, a[g + 15], 22, 1236535329), c = x(c, d, e, f, a[g + 1], 5, -165796510), f = x(f, c, d, e, a[g + 6], 9, -1069501632), e = x(e, f, c, d, a[g + 11], 14, 643717713), d = x(d, e, f, c, a[g + 0], 20, -373897302), c = x(c, d, e, f, a[g + 5], 5, -701558691), f = x(f, c, d, e, a[g + 10], 9, 38016083), e = x(e, f, c, d, a[g + 15], 14, -660478335), d = x(d, e, f, c, a[g + 4], 20, -405537848), c = x(c, d, e, f, a[g + 9], 5, 568446438), f = x(f, c, d, e, a[g + 14], 9, -1019803690), e = x(e, f, c, d, a[g + 3], 14, -187363961), d = x(d, e, f, c, a[g + 8], 20, 1163531501), c = x(c, d, e, f, a[g + 13], 5, -1444681467), f = x(f, c, d, e, a[g + 2], 9, -51403784), e = x(e, f, c, d, a[g + 7], 14, 1735328473), d = x(d, e, f, c, a[g + 12], 20, -1926607734), c = y(c, d, e, f, a[g + 5], 4, -378558), f = y(f, c, d, e, a[g + 8], 11, -2022574463), e = y(e, f, c, d, a[g + 11], 16, 1839030562), d = y(d, e, f, c, a[g + 14], 23, -35309556), c = y(c, d, e, f, a[g + 1], 4, -1530992060), f = y(f, c, d, e, a[g + 4], 11, 1272893353), e = y(e, f, c, d, a[g + 7], 16, -155497632), d = y(d, e, f, c, a[g + 10], 23, -1094730640), c = y(c, d, e, f, a[g + 13], 4, 681279174), f = y(f, c, d, e, a[g + 0], 11, -358537222), e = y(e, f, c, d, a[g + 3], 16, -722521979), d = y(d, e, f, c, a[g + 6], 23, 76029189), c = y(c, d, e, f, a[g + 9], 4, -640364487), f = y(f, c, d, e, a[g + 12], 11, -421815835), e = y(e, f, c, d, a[g + 15], 16, 530742520), d = y(d, e, f, c, a[g + 2], 23, -995338651), c = z(c, d, e, f, a[g + 0], 6, -198630844), f = z(f, c, d, e, a[g + 7], 10, 1126891415), e = z(e, f, c, d, a[g + 14], 15, -1416354905), d = z(d, e, f, c, a[g + 5], 21, -57434055), c = z(c, d, e, f, a[g + 12], 6, 1700485571), f = z(f, c, d, e, a[g + 3], 10, -1894986606), e = z(e, f, c, d, a[g + 10], 15, -1051523), d = z(d, e, f, c, a[g + 1], 21, -2054922799), c = z(c, d, e, f, a[g + 8], 6, 1873313359), f = z(f, c, d, e, a[g + 15], 10, -30611744), e = z(e, f, c, d, a[g + 6], 15, -1560198380), d = z(d, e, f, c, a[g + 13], 21, 1309151649), c = z(c, d, e, f, a[g + 4], 6, -145523070), f = z(f, c, d, e, a[g + 11], 10, -1120210379), e = z(e, f, c, d, a[g + 2], 15, 718787259), d = z(d, e, f, c, a[g + 9], 21, -343485551), c = A(c, h), d = A(d, i), e = A(e, j), f = A(f, k);
}
return [ c, d, e, f ];
}
function t(a) {
var b = "";
for (var c = 0; c < a.length * 32; c += 8) b += String.fromCharCode(a[c >> 5] >>> c % 32 & 255);
return b;
}
function s(a) {
var b = Array(a.length >> 2);
for (var c = 0; c < b.length; c++) b[c] = 0;
for (var c = 0; c < a.length * 8; c += 8) b[c >> 5] |= (a.charCodeAt(c / 8) & 255) << c % 32;
return b;
}
function r(a) {
var b = "";
for (var c = 0; c < a.length; c++) b += String.fromCharCode(a.charCodeAt(c) >>> 8 & 255, a.charCodeAt(c) & 255);
return b;
}
function q(a) {
var b = "";
for (var c = 0; c < a.length; c++) b += String.fromCharCode(a.charCodeAt(c) & 255, a.charCodeAt(c) >>> 8 & 255);
return b;
}
function p(a) {
var b = "", c = -1, d, e;
while (++c < a.length) d = a.charCodeAt(c), e = c + 1 < a.length ? a.charCodeAt(c + 1) : 0, 55296 <= d && d <= 56319 && 56320 <= e && e <= 57343 && (d = 65536 + ((d & 1023) << 10) + (e & 1023), c++), d <= 127 ? b += String.fromCharCode(d) : d <= 2047 ? b += String.fromCharCode(192 | d >>> 6 & 31, 128 | d & 63) : d <= 65535 ? b += String.fromCharCode(224 | d >>> 12 & 15, 128 | d >>> 6 & 63, 128 | d & 63) : d <= 2097151 && (b += String.fromCharCode(240 | d >>> 18 & 7, 128 | d >>> 12 & 63, 128 | d >>> 6 & 63, 128 | d & 63));
return b;
}
function o(a, b) {
var c = b.length, d, e, f, g, h, i = Array(Math.ceil(a.length / 2));
for (d = 0; d < i.length; d++) i[d] = a.charCodeAt(d * 2) << 8 | a.charCodeAt(d * 2 + 1);
var j = Math.ceil(a.length * 8 / (Math.log(b.length) / Math.log(2))), k = Array(j);
for (e = 0; e < j; e++) {
h = [], g = 0;
for (d = 0; d < i.length; d++) {
g = (g << 16) + i[d], f = Math.floor(g / c), g -= f * c;
if (h.length > 0 || f > 0) h[h.length] = f;
}
k[e] = g, i = h;
}
var l = "";
for (d = k.length - 1; d >= 0; d--) l += b.charAt(k[d]);
return l;
}
function n(a) {
try {
c;
} catch (b) {
c = "";
}
var d = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", e = "", f = a.length;
for (var g = 0; g < f; g += 3) {
var h = a.charCodeAt(g) << 16 | (g + 1 < f ? a.charCodeAt(g + 1) << 8 : 0) | (g + 2 < f ? a.charCodeAt(g + 2) : 0);
for (var i = 0; i < 4; i++) g * 8 + i * 6 > a.length * 8 ? e += c : e += d.charAt(h >>> 6 * (3 - i) & 63);
}
return e;
}
function m(a) {
try {
b;
} catch (c) {
b = 0;
}
var d = b ? "0123456789ABCDEF" : "0123456789abcdef", e = "", f;
for (var g = 0; g < a.length; g++) f = a.charCodeAt(g), e += d.charAt(f >>> 4 & 15) + d.charAt(f & 15);
return e;
}
function l(a, b) {
var c = s(a);
c.length > 16 && (c = u(c, a.length * 8));
var d = Array(16), e = Array(16);
for (var f = 0; f < 16; f++) d[f] = c[f] ^ 909522486, e[f] = c[f] ^ 1549556828;
var g = u(d.concat(s(b)), 512 + b.length * 8);
return t(u(e.concat(g), 640));
}
function k(a) {
return t(u(s(a), a.length * 8));
}
function j() {
return d("abc").toLowerCase() == "900150983cd24fb0d6963f7d28e17f72";
}
function i(a, b, c) {
return o(l(p(a), p(b)), c);
}
function h(a, b) {
return n(l(p(a), p(b)));
}
function g(a, b) {
return m(l(p(a), p(b)));
}
function f(a, b) {
return o(k(p(a)), b);
}
function e(a) {
return n(k(p(a)));
}
function d(a) {
return m(k(p(a)));
}
a.md5 = d;
var b = 0, c = "";
}(window, undefined), function() {
var a;
$('a[href^="/"]').live("click", function(a) {
var b;
if (!a.metaKey && !a.ctrlKey) {
b = $(this).attr("href");
if (b.match(new RegExp("^/(auth|login/|logout)"))) return;
a.preventDefault();
return $.pjax({
url: b,
container: "#inner",
fragment: "#inner",
timeout: 2222,
success: function() {
var a, b;
if (location.hash) {
b = [ location.hash, null ], a = b[0], location.hash = b[1];
return location.hash = a;
}
if ($("#inner nav").offset().top < $(window).scrollTop()) return $(window).scrollTop(0);
}
});
}
}), $(document).bind("pjax", function(a, b, c) {
$("#inner").addClass("pjax");
return b.success(function(a) {
var b;
$("#inner").removeClass("pjax"), b = $("<div>"), b.get(0).innerHTML = a, $("#page").prop("class", b.find("#page").attr("class"));
return document.title = b.find("title").text() || document.title;
});
}), $.ajaxPrefilter(function(a, b, c) {
var d;
d = $('meta[name="_csrf"]').attr("content");
return c.setRequestHeader("X-CSRF-Token", d);
}), $.fx.speeds._default = 200, a = function() {
var a, b;
$(":text:first").focus(), $("#page.teams-edit, #page.people-edit").each(function() {
$("a.remove", this).click(function() {
var a, b, c;
a = $(this), c = a.position(), b = $("form.delete"), b.fadeIn("fast").css({
left: c.left + (a.width() - b.outerWidth()) / 2,
top: c.top + (a.height() - b.outerHeight()) / 2
});
return !1;
});
return $("form.delete a", this).click(function() {
$(this).closest("form").fadeOut("fast");
return !1;
});
}), b = Date.now(), a = null, $("form.vote").hover(function(b) {
return a || (a = Date.now());
}).submit(function(c) {
var d, e;
e = $(this).find("input[type=hidden].hoverAt").val(a).end().find("input[type=hidden].requestAt").val(b).end(), d = e.find("div.stars");
if (d.length !== d.filter(":has(.star.filled)").length) {
alert("All ratings must have at least 1 star."), c.stopImmediatePropagation();
return !1;
}
return !0;
}).delegate("a.change", "click", function(a) {
var b;
a.preventDefault(), b = $(this).closest("form").toggleClass("view edit"), b[0].reset();
return $("input, textarea", b).change().prop("disabled", b.is(".view"));
}).find("input[type=range]").stars();
return $("a.toggle-reply-form").click(function(a) {
var b;
$("a.toggle-reply-form").toggle(), b = $("form.reply", $(this).closest(".vote")).slideToggle(function() {
return $("textarea:first", this).focus();
}), b[0].reset();
return !1;
});
}, $(a), $(document).bind("end.pjax", a);
}.call(this), function() {
var a;
$(document).bind("start.pjax", function() {
var a;
return (a = $("#page.teams ul.teams, #page.teams-entries ul.teams").data("infinitescroll")) != null ? a.unbind() : void 0;
}), a = function() {
$("#page.teams, #page.teams-entries").each(function() {
return $("ul.teams").infinitescroll({
navSelector: ".more",
nextSelector: ".more a",
itemSelector: "ul.teams > li",
loading: {
img: "/images/spinner.gif",
msgText: "",
speed: 50,
finished: function(a) {
return a.loading.msg.hide();
},
finishedMsg: "No more teams. :("
}
});
}), $("#page.teams-show").each(function() {
$(this).delegate(".invites a", "click", function(a) {
var b, c;
a.preventDefault(), a.stopImmediatePropagation(), c = $(this).hide(), b = c.next().show().html("sending&hellip;");
return $.post(this.href, function() {
return b.text("done").delay(500).fadeOut("slow", function() {
return c.show();
});
});
}), $(".step").addClass(function() {
return $(this).attr("id");
}).removeProp("id"), $("ul.steps a").click(function(a) {
if (location.hash === $(this).attr("href")) {
a.preventDefault();
return location.hash = "none";
}
});
return $(window).hashchange(function(a) {
var b;
if (b = location.hash || $("ul.steps li.pending:first a").attr("href")) {
$(".step").hide().filter(b.replace("#", ".")).show();
return $("ul.steps a").removeClass("selected").filter('a[href="' + b + '"]').addClass("selected");
}
}).hashchange();
});
return $("#page.teams-edit").each(function() {
var a, b, c;
window.location.hash === "#delete" && (window.location.hash = "", b = $("#inner form:first"), c = b.position(), a = $("form.delete").show(), a.css({
left: c.left + (b.width() - a.outerWidth()) / 2,
top: c.top
}));
return $("a.pull", this).click(function() {
var a, b;
b = $(this).closest("li"), a = b.prevAll("li").length + 1, b.html($("<input>", {
"class": "email",
type: "email",
name: "emails[]",
placeholder: "member" + a + "@example.com"
}));
return !1;
});
});
}, $(a), $(document).bind("end.pjax", a);
}.call(this), function() {
var a, b = function(a, b) {
return function() {
return a.apply(b, arguments);
};
};
$.fn.stars = function() {
return this.each(function() {
return new a(this);
});
}, a = function() {
function a(a) {
this.click = b(this.click, this), this.leave = b(this.leave, this), this.enter = b(this.enter, this);
var c, d;
this.el = $('<div class="stars">'), this.input = $(a).hide().after(this.el).change(this.leave);
for (c = 1, d = this.input.attr("max"); 1 <= d ? c <= d : c >= d; 1 <= d ? c++ : c--) $("<div class='star'>").hover(this.enter, this.leave).click(this.click).appendTo(this.el);
this.render();
}
a.prototype.disabled = function() {
return this.input.is(":disabled");
}, a.prototype.stars = function(a) {
return $(a).prevAll(".star").length + 1;
}, a.prototype.enter = function(a) {
if (!this.disabled()) return this.render(this.stars(a.target));
}, a.prototype.leave = function(a) {
return this.render();
}, a.prototype.click = function(a) {
var b;
if (!this.disabled()) {
b = this.stars(a.target), this.input.val(function(a, c) {
return parseInt(c) !== b ? b : 0;
});
return this.render();
}
}, a.prototype.render = function(a) {
a == null && (a = this.input.val());
return this.el.children(".star").each(function(b) {
return $(this).toggleClass("filled", b < a);
});
};
return a;
}();
}.call(this), function() {
var a;
a = function() {
return $("#page.index-index time:first").each(function() {
return $.get("/now", function(a) {
var b, c, d, e;
d = new Date(parseInt(a)), b = new Date, c = $(this).attr("datetime").split(/[-:TZ]/), c[1]--, e = Date.UTC.apply(null, c);
return $("#countdown").each(function() {
var a, f, g, h, i;
a = $(this), f = $(this).text(), h = function(a, b) {
return a + " " + b + (parseInt(a) !== 1 ? "s " : " ");
}, g = [ "hour", "minute", "second" ];
return (i = function() {
var j;
j = (e - d - (new Date - b)) / 1e3;
if (j > 0) {
c = [ j / 3600, j % 3600 / 60, j % 60 ], a.html(null), $.each(c, function(b, c) {
return a.append(h(Math.floor(c), g[b]));
}), f && a.append(f);
return setTimeout(i, 800);
}
return a.html($("<h1>STOPSTOPSTOP</h1>"));
})();
});
});
});
}, $(a), $(document).bind("end.pjax", a);
}.call(this), function() {
function k(b, d) {
var e = a.tweet.clone();
e.find(".msg").text(b.text).end().find(".name").text(b.user.screen_name).attr("href", "http://twitter.com/" + b.user.screen_name).end().find(".avatar").attr("src", b.user.profile_image_url), c(".twitter-dashboard ul." + d).prepend(e);
var f = g[d];
f.push(e);
var h = d == "search" ? 30 : 2;
f.length > h && ($.each(f.slice(0, f.length - h), function(a, b) {
b.remove();
}), f = f.slice(f.length - h));
}
function j(b) {
var d = a.commit.clone(), e = c(".commits-dashboard ul"), f = b.team;
d.find(".screenshot").attr("src", f.screenshot || "/images/default-screenshot.png").end().find("a:has(.screenshot)").attr("href", f.url).end().find(".name").text(f.name || f.by).end().find(".date").text("commited " + i(b.timestamp)).end().find(".commit").text(b.message).end().find(".url").text(f.url).attr("href", f.url).end().find("a.team").attr("href", "http://nodeknockout.com/teams/" + f.slug).text(f.by).end().prependTo(e);
var g = 30;
e.find("li").slice(g).remove();
}
function i(a) {
var b = a instanceof Date ? a : new Date(a), c = ((new Date).getTime() - b.getTime()) / 1e3, d = Math.floor(c / 86400);
if (!(isNaN(d) || d < 0 || d >= 31)) return d == 0 && (c < 60 && Math.round(c) + " seconds ago" || c < 120 && "1 minute ago" || c < 3600 && Math.floor(c / 60) + " minutes ago" || c < 7200 && "1 hour ago" || c < 86400 && Math.floor(c / 3600) + " hours ago") || d == 1 && "Yesterday" || d < 7 && d + " days ago" || d < 31 && Math.ceil(d / 7) + " weeks ago";
}
function e() {
if (window.location.pathname.indexOf("/live") !== -1 || window.location.pathname === "/") d || (d = io.connect(null, {
port: "80",
"force new connection": !0
}), d.on("connect", function() {
d.emit("join", "irc"), d.emit("join", "twitter"), d.emit("join", "github"), d.emit("join", "commit");
}), d.on("irc", function(b) {
var d = a.irc.clone();
b.message.match(/ACTION/) ? (d.find(".msg").text("*" + b.from + " " + b.message.replace(/ACTION/g, "")), d.find(".name").remove()) : (d.find(".msg").text(b.message), d.find(".name").text(b.from)), c(".irc-dashboard ul").prepend(d), f.push(d), b.length > 30 && ($.each(f.slice(0, f.length - 30), function(a, b) {
b.remove();
}), f = f.slice(f.length - 30));
}), d.on("tweet", function(a) {
k(a, "search");
}), d.on("usertweet", function(a) {
k(a, "user");
}), d.on("commit", function(a) {
j(a);
}), d.on("commits", function(b) {
var d = c(".github-commits ul").empty();
$.each(b.teams, function(c, e) {
var f = a.team.clone();
f.find(".teamname").text(e.name).attr("href", "/teams/" + e.name).end().find(".count").text(e.commits + " commits").end().find(".progress").width(e.commits / b.max * 100 + "%").end().find(".message").text(e.message), d.append(f);
});
})), setTimeout(function() {
d.socket.connect();
}, 0);
}
return;
var a = {};
var b = {}, c = function() {
return function(a) {
b[a] || (b[a] = $(a));
return b[a];
};
}();
var d;
var f = [], g = {
search: [],
user: []
}, h = [];
}(), function() {
var a;
a = function() {
return $("#page.login").each(function() {
var a;
a = function(a, b) {
var c, d, e;
if (a.length > 0) {
e = 1, d = a.css("background-position");
return (c = function() {
e++ < b ? a.css("background-position", function(a, b) {
var c, d, e;
e = b.split(" "), c = e[0], d = e[1];
return "" + (parseInt(c) - 80) + "px " + d;
}) : (a.css("background-position", d), e = 1);
return setTimeout(c, 400);
})();
}
return;
}, a($(".dude.beast", this), 4);
return a($(".dude.littleguy", this), 2);
});
}, $(a), $(document).bind("end.pjax", a);
}.call(this), function() {
var a;
$("form.person .role select").live("change", function() {
var a;
a = $(this);
return a.next(".technical").toggle(a.val() === "judge");
}).change(), $("form.person .email input").live("blur", function() {
var a, b, c, d;
b = $(this);
if (!!(d = b.val())) {
a = b.closest("form").find(".image_url");
if (a.find("input").val()) return;
c = $.trim(d.toLowerCase());
return a.find("img.avatar").attr("src", "http://gravatar.com/avatar/" + md5(c) + "?s=80&d=retro");
}
}).change(), $("form.person .twitter input").live("blur", function() {
var a, b;
b = $(this), a = b.closest("form");
if (!b.val()) return b.next(".spinner").hide();
b.next(".spinner").show();
return $.getJSON("http://api.twitter.com/users/show.json?callback=?", {
screen_name: $.trim(b.val())
}, function(c) {
var d;
a.find(".name :text").val(function(a, b) {
return b || c.name;
}), a.find(".location :text").val(function(a, b) {
return b || c.location;
}), a.find(".bio textarea").text(function(a, b) {
return b || c.description;
}), a.find(".image_url input").val() || (d = c.profile_image_url.replace("_normal.", "."), a.find(".image_url").find("img.avatar").attr("src", d).end().find("input").val(d));
return b.next(".spinner").hide();
});
}).change(), a = function() {
$("#page.people-show .next-vote form.vote a.skip").click(function(a) {
a.preventDefault();
return $("#page.people-show .next-vote .skip-vote").submit();
}), $("#page.people-show .votes form.vote").submit(function(a) {
var b, c;
b = $(this), c = b.find("input, textarea"), $.ajax({
type: b.attr("method"),
url: b.attr("action"),
data: b.serializeArray(),
beforeSend: function() {
return c.prop("disabled", !0);
},
success: function(a) {
if (c.filter("[name=_method]").val() === "DELETE") return b.remove();
c.each(function() {
return this.defaultValue = $(this).val();
});
return b.find("a.change:first").click();
},
error: function(a) {
alert("Error editing vote. Please try again");
return c.prop("disabled", !1);
}
});
return a.preventDefault();
});
return $("form.person .image_url").each(function() {
var a, b, c, d, e;
c = $(this), e = c.find(".transloadit"), d = e.find("iframe").contents(), b = d.find("body").html(e.find("script").html()).find("form"), a = b.find("input[type=file]").change(function() {
return b.submit();
}), b.transloadit({
wait: !0,
modal: !1,
autoSubmit: !1,
onStart: function() {
return c.find(".spinner").show();
},
onSuccess: function(a) {
var b;
c.find(".spinner").hide(), b = a.results.w80[0].url;
return c.find("img.avatar").attr("src", b).end().find("input").val(b).end();
}
});
return c.find("button").click(function(b) {
b.preventDefault();
return a.click();
}).show();
});
}, $(a), $(document).bind("end.pjax", a);
}.call(this);

var nko = {};

(function(a) {
a.Vector = function(a, b) {
typeof a != "undefined" && (typeof a == "number" ? (this.x = a || 0, this.y = b || 0) : a.left ? (this.x = a.left, this.y = a.top) : (this.x = a.x, this.y = a.y));
}, a.Vector.prototype = {
constructor: a.Vector,
plus: function(a) {
return new this.constructor(this.x + a.x, this.y + a.y);
},
minus: function(a) {
return new this.constructor(this.x - a.x, this.y - a.y);
},
times: function(a) {
return new this.constructor(this.x * a, this.y * a);
},
length: function() {
return Math.sqrt(Math.pow(this.x, 2) + Math.pow(this.y, 2));
},
toString: function() {
return this.x + "px, " + this.y + "px";
},
cardinalDirection: function() {
return Math.abs(this.x) > Math.abs(this.y) ? this.x < 0 ? "w" : "e" : this.y < 0 ? "n" : "s";
}
}, a.Thing = function(b) {
if (!!b) {
var c = this, b = b || {};
this.name = b.name, this.pos = new a.Vector(b.pos), this.size = new a.Vector(b.size), this.ready = b.ready, this.div = $('<div class="thing">').addClass(this.name), this.img = $("<img>", {
src: "/images/734m/" + this.name + ".png"
}).load(function() {
c.size = new a.Vector(this.width, this.height), c.draw();
});
}
}, a.Thing.prototype.getPosition = function() {
return this.pos.plus(this.origin);
}, a.Thing.prototype.toJSON = function() {
return {
name: this.name,
pos: this.pos,
size: this.size,
origin: this.origin
};
}, a.Thing.prototype.resetOrigin = function() {
this.origin = new a.Vector(this.div.offsetParent().offset());
}, a.Thing.prototype.draw = function b() {
var b = new a.Vector(this.size.x * -0.5, -this.size.y + 20);
this.div.css({
left: this.pos.x,
top: this.pos.y,
width: this.size.x,
height: this.size.y,
"z-index": Math.floor(this.pos.y),
transform: Modernizr.csstransforms ? "translate(" + b.toString() + ")" : null,
background: "url(" + this.img.attr("src") + ")"
}).appendTo($("#page")), this.resetOrigin(), this.ready && this.ready(), this.animate();
return this;
}, a.Thing.prototype.animate = function() {}, a.Thing.prototype.remove = function() {
this.div.fadeOut(function() {
$(this).remove();
});
}, a.Dude = function(b) {
a.Thing.call(this, b), this.state = "idle", this.frame = 0, this.bubbleFrame = 0;
}, a.Dude.prototype = new a.Thing, a.Dude.prototype.constructor = a.Dude, a.Dude.prototype.draw = function() {
this.idleFrames = (this.size.x - 640) / 80, this.size.x = 80, this.bubble = $('<div class="bubble">').css("bottom", this.size.y + 10).appendTo(this.div);
return a.Thing.prototype.draw.call(this);
}, a.Dude.prototype.frameOffset = {
w: 0,
e: 2,
s: 4,
n: 6,
idle: 8
}, a.Dude.prototype.animate = function(a) {
var b = this;
clearTimeout(this.animateTimeout), a && (this.state = a);
var c = this.state === "idle" ? this.idleFrames : 2;
this.frame = (this.frame + 1) % c, this.div.css("background-position", -(this.frameOffset[this.state] + this.frame) * this.size.x + "px 0px"), this.bubble && this.bubble.is(":visible") && (this.bubbleFrame = (this.bubbleFrame + 1) % 3, $("<img>", {
src: "/images/734m/talkbubble" + this.bubbleFrame + ".png"
}).load(function() {
b.bubble.css("border-image", "url('" + this.src + "') 21 20 42 21");
})), this.animateTimeout = setTimeout(function() {
b.animate();
}, 400);
}, a.Dude.prototype.goTo = function(b, c) {
b = (new a.Vector(b)).minus(this.origin);
var d = this, e = b.minus(this.pos), c = arguments.length > 1 ? c : e.length() / 200 * 1e3;
this.animate(e.cardinalDirection()), c && c > 0 && this.div.stop(), this.div.animate({
left: b.x,
top: b.y
}, {
duration: c,
easing: "linear",
step: function(a, b) {
switch (b.prop) {
case "left":
d.pos.x = a;
break;
case "top":
d.pos.y = a, d.div.css("z-index", Math.floor(a));
}
},
complete: function() {
d.pos = b, d.animate("idle");
}
});
}, a.Dude.prototype.warp = function(a) {
var b = this;
this.div.stop().fadeToggle(function() {
b.goTo(a, 0), b.div.fadeToggle();
});
}, a.Dude.prototype.speak = function(a) {
a ? this.bubble.text(a).scrollTop(this.bubble.prop("scrollHeight")).fadeIn() : this.bubble.fadeOut();
}, $(function() {
function f(b) {
var c = $(b), d = c.position();
return new a.Vector(d.left + 20 + Math.random() * (c.width() - 40), d.top + 20 + Math.random() * (c.height() - 40));
}
var b = [ "suit", "littleguy", "beast", "gifter" ], c = a.me = new a.Dude({
name: b[Math.floor(b.length * Math.random())],
pos: new a.Vector(-100, -100),
ready: function() {
this.speak("type to chat. click to move around."), i = setTimeout(function() {
c.speak("");
}, 5e3);
}
});
$(window).load(function() {
var b = $(location.hash);
b.length === 0 && (b = $("body")), a.warpTo(b);
});
var d = a.dudes = {}, e = a.ws = io.connect(null, {
port: "80"
});
e.on("connect", function() {
(function b() {
a.send({
obj: c
}, !0), setTimeout(b, 5e3);
})();
}), e.on("message", function(b) {
var c = d[b.id];
b.disconnect && c && (c.remove(), delete d[b.id]), b.obj && !c && b.obj.pos.x < 1e4 && b.obj.pos.y < 1e4 && (c = d[b.id] = (new a.Dude(b.obj)).draw()), c && b.method && (c.origin = b.obj.origin, a.Dude.prototype[b.method].apply(c, b.arguments));
}), a.warpTo = function(b) {
var d = $(b), e = d.position();
e = f(d), c.warp(e), a.send({
obj: c,
method: "warp",
arguments: [ e ]
});
}, a.goTo = function(b) {
var d = $(b), e = d.position();
e = f(d), c.goTo(e), a.send({
obj: c,
method: "goTo",
arguments: [ e ]
}), d.click();
}, a.send = function(a, b) {
if (!!e) {
var c = Date.now();
if (c - e.lastSentAt < 10) return;
e.lastSentAt = c, (!b || e.lastActionAt) && e.json.send(a), c - e.lastActionAt > 3e5 && e.disconnect(), c - e.lastActionAt > 72e5 && location.reload(), b || (e.lastActionAt = c);
}
}, $(".thing.streetlamp").live("click touchend", function() {
$("#inner").fadeToggle();
});
var g = null;
$(window).resize(function(a) {
clearTimeout(g), g = setTimeout(function() {
c.resetOrigin();
}, 50);
}).click(function(b) {
var d = {
x: b.pageX,
y: b.pageY
};
c.goTo(d), a.send({
obj: c,
method: "goTo",
arguments: [ d ]
});
}).keydown(function(b) {
return !0;
var d = function() {
switch (b.keyCode) {
case 37:
return new a.Vector(-5e3, 0);
case 38:
return new a.Vector(0, -5e3);
case 39:
return new a.Vector(5e3, 0);
case 40:
return new a.Vector(0, 5e3);
}
}();
}).keyup(function(b) {
return !0;
});
var h = !1;
$("body").bind("touchmove", function(a) {
h = !0;
}).bind("touchend", function(b) {
if (h) return h = !1;
var d = b.originalEvent.changedTouches.item(0);
c.goTo(new a.Vector(d.pageX, d.pageY));
});
var i, j = $("<textarea>").appendTo($('<div class="textarea-container">').appendTo(c.div)).bind("keyup", function(b) {
var d = j.val();
switch (b.keyCode) {
case 13:
j.val("");
return !1;
default:
c.speak(d), a.send({
obj: c,
method: "speak",
arguments: [ d ]
}), clearTimeout(i), i = setTimeout(function() {
j.val(""), c.speak(), a.send({
obj: c,
method: "speak"
});
}, 5e3);
}
}).focus();
$(document).keylisten(function(a) {
if (a.altKey || a.ctrlKey || a.metaKey) return !0;
switch (a.keyName) {
case "meta":
case "meta+ctrl":
case "ctrl":
case "alt":
case "shift":
case "up":
case "down":
case "left":
case "right":
return;
default:
j.focus();
}
}), new a.Thing({
name: "streetlamp",
pos: new a.Vector(-10, 160)
}), new a.Thing({
name: "livetree",
pos: new a.Vector(-80, 120)
}), new a.Thing({
name: "livetree",
pos: new a.Vector(580, 80)
}), new a.Thing({
name: "livetree",
pos: new a.Vector(1e3, 380)
}), new a.Thing({
name: "deadtree",
pos: new a.Vector(1050, 420)
}), new a.Thing({
name: "livetree",
pos: new a.Vector(-60, 870)
}), new a.Thing({
name: "deadtree",
pos: new a.Vector(0, 900)
}), new a.Thing({
name: "portopotty",
pos: new a.Vector(80, 900)
}), new a.Thing({
name: "livetree",
pos: new a.Vector(550, 1050)
}), new a.Thing({
name: "livetree",
pos: new a.Vector(500, 1250)
}), new a.Thing({
name: "deadtree",
pos: new a.Vector(560, 1300)
}), new a.Thing({
name: "desk",
pos: new a.Vector(500, 1350)
}), new a.Thing({
name: "livetree",
pos: new a.Vector(120, 1800)
}), new a.Thing({
name: "deadtree",
pos: new a.Vector(70, 1700)
}), new a.Thing({
name: "livetree",
pos: new a.Vector(-10, 1900)
});
});
})(nko);
