(function (a, b) {
function c(b, c) {
var e = b.nodeName.toLowerCase();
if ("area" === e)
{
var f = b.parentNode, g = f.name, h;
return ! b.href || ! g || f.nodeName.toLowerCase() !== "map" ? ! 1 : ((h = a("img[usemap=#" + g + "]")[0], ! ! h && d(h)));
}

return (/input|select|textarea|button|object/.test(e) ? ! b.disabled : "a" == e ? b.href || c : c) && d(b);
}

function d(b) {
return ! a(b).parents().andSelf().filter(function () {
return a.curCSS(this,"visibility") === "hidden" || a.expr.filters.hidden(this);
}
).length;
}

a.ui = a.ui || {
};
if (a.ui.version)
return;
(a.extend(a.ui,{
version: "1.8.20",
keyCode: {
ALT: 18,
BACKSPACE: 8,
CAPS_LOCK: 20,
COMMA: 188,
COMMAND: 91,
COMMAND_LEFT: 91,
COMMAND_RIGHT: 93,
CONTROL: 17,
DELETE: 46,
DOWN: 40,
END: 35,
ENTER: 13,
ESCAPE: 27,
HOME: 36,
INSERT: 45,
LEFT: 37,
MENU: 93,
NUMPAD_ADD: 107,
NUMPAD_DECIMAL: 110,
NUMPAD_DIVIDE: 111,
NUMPAD_ENTER: 108,
NUMPAD_MULTIPLY: 106,
NUMPAD_SUBTRACT: 109,
PAGE_DOWN: 34,
PAGE_UP: 33,
PERIOD: 190,
RIGHT: 39,
SHIFT: 16,
SPACE: 32,
TAB: 9,
UP: 38,
WINDOWS: 91}}), a.fn.extend({
propAttr: a.fn.prop || a.fn.attr,
_focus: a.fn.focus,
focus: function (b, c) {
return typeof b == "number" ? this.each(function () {
var d = this;
setTimeout(function () {
(a(d).focus(), c && c.call(d));
}
,b);
}
) : this._focus.apply(this,arguments);
}
,
scrollParent: function () {
var b;
return (a.browser.msie && /(static|relative)/.test(this.css("position")) || /absolute/.test(this.css("position")) ? (b = this.parents().filter(function () {
return /(relative|absolute|fixed)/.test(a.curCSS(this,"position",1)) && /(auto|scroll)/.test(a.curCSS(this,"overflow",1) + a.curCSS(this,"overflow-y",1) + a.curCSS(this,"overflow-x",1));
}
).eq(0)) : (b = this.parents().filter(function () {
return /(auto|scroll)/.test(a.curCSS(this,"overflow",1) + a.curCSS(this,"overflow-y",1) + a.curCSS(this,"overflow-x",1));
}
).eq(0)), /fixed/.test(this.css("position")) || ! b.length ? a(document) : b);
}
,
zIndex: function (c) {
if (c !== b)
return this.css("zIndex",c);
if (this.length)
{
var d = a(this[0]), e, f;
while (d.length && d[0] !== document) {
e = d.css("position");
if (e === "absolute" || e === "relative" || e === "fixed")
{
f = parseInt(d.css("zIndex"),10);
if (! isNaN(f) && f !== 0)
return f;
}

d = d.parent();
}

}

return 0;
}
,
disableSelection: function () {
return this.bind((a.support.selectstart ? "selectstart" : "mousedown") + ".ui-disableSelection",function (a) {
a.preventDefault();
}
);
}
,
enableSelection: function () {
return this.unbind(".ui-disableSelection");
}
}), a.each(["Width", "Height"],function (c, d) {
function h(b, c, d, f) {
return (a.each(e,function () {
(c -= parseFloat(a.curCSS(b,"padding" + this,! 0)) || 0, d && (c -= parseFloat(a.curCSS(b,"border" + this + "Width",! 0)) || 0), f && (c -= parseFloat(a.curCSS(b,"margin" + this,! 0)) || 0));
}
), c);
}

var e = d === "Width" ? ["Left", "Right"] : ["Top", "Bottom"], f = d.toLowerCase(), g = {
innerWidth: a.fn.innerWidth,
innerHeight: a.fn.innerHeight,
outerWidth: a.fn.outerWidth,
outerHeight: a.fn.outerHeight};
(a.fn["inner" + d] = function (c) {
return c === b ? g["inner" + d].call(this) : this.each(function () {
a(this).css(f,h(this,c) + "px");
}
);
}
, a.fn["outer" + d] = function (b, c) {
return typeof b != "number" ? g["outer" + d].call(this,b) : this.each(function () {
a(this).css(f,h(this,b,! 0,c) + "px");
}
);
}
);
}
), a.extend(a.expr[":"],{
data: function (b, c, d) {
return ! ! a.data(b,d[3]);
}
,
focusable: function (b) {
return c(b,! isNaN(a.attr(b,"tabindex")));
}
,
tabbable: function (b) {
var d = a.attr(b,"tabindex"), e = isNaN(d);
return (e || d >= 0) && c(b,! e);
}
}), a(function () {
var b = document.body, c = b.appendChild(c = document.createElement("div"));
(c.offsetHeight, a.extend(c.style,{
minHeight: "100px",
height: "auto",
padding: 0,
borderWidth: 0}), a.support.minHeight = c.offsetHeight === 100, a.support.selectstart = "onselectstart" in c, b.removeChild(c).style.display = "none");
}
), a.extend(a.ui,{
plugin: {
add: function (b, c, d) {
var e = a.ui[b].prototype;
for(var f in d) (e.plugins[f] = e.plugins[f] || [], e.plugins[f].push([c, d[f]]));
}
,
call: function (a, b, c) {
var d = a.plugins[b];
if (! d || ! a.element[0].parentNode)
return;
for (var e = 0;e < d.length;e++) a.options[d[e][0]] && d[e][1].apply(a.element,c);
}
},
contains: function (a, b) {
return document.compareDocumentPosition ? a.compareDocumentPosition(b) & 16 : a !== b && a.contains(b);
}
,
hasScroll: function (b, c) {
if (a(b).css("overflow") === "hidden")
return ! 1;
var d = c && c === "left" ? "scrollLeft" : "scrollTop", e = ! 1;
return b[d] > 0 ? ! 0 : ((b[d] = 1, e = b[d] > 0, b[d] = 0, e));
}
,
isOverAxis: function (a, b, c) {
return a > b && a < b + c;
}
,
isOver: function (b, c, d, e, f, g) {
return a.ui.isOverAxis(b,d,f) && a.ui.isOverAxis(c,e,g);
}
}));
}
)(jQuery);
;
(function (a, b) {
if (a.cleanData)
{
var c = a.cleanData;
a.cleanData = function (b) {
for (var d = 0, e;(e = b[d]) != null;d++) try {
a(e).triggerHandler("remove");
}
catch (f) {

}

c(b);
}
;
}
 else
{
var d = a.fn.remove;
a.fn.remove = function (b, c) {
return this.each(function () {
return (c || (! b || a.filter(b,[this]).length) && a("*",this).add([this]).each(function () {
try {
a(this).triggerHandler("remove");
}
catch (b) {

}

}
), d.call(a(this),b,c));
}
);
}
;
}

(a.widget = function (b, c, d) {
var e = b.split(".")[0], f;
(b = b.split(".")[1], f = e + "-" + b, d || ((d = c, c = a.Widget)), a.expr[":"][f] = function (c) {
return ! ! a.data(c,b);
}
, a[e] = a[e] || {
}, a[e][b] = function (a, b) {
arguments.length && this._createWidget(a,b);
}
);
var g = new c();
(g.options = a.extend(! 0,{
},g.options), a[e][b].prototype = a.extend(! 0,g,{
namespace: e,
widgetName: b,
widgetEventPrefix: a[e][b].prototype.widgetEventPrefix || b,
widgetBaseClass: f},d), a.widget.bridge(b,a[e][b]));
}
, a.widget.bridge = function (c, d) {
a.fn[c] = function (e) {
var f = typeof e == "string", g = Array.prototype.slice.call(arguments,1), h = this;
return (e = ! f && g.length ? a.extend.apply(null,[! 0, e].concat(g)) : e, f && e.charAt(0) === "_" ? h : ((f ? this.each(function () {
var d = a.data(this,c), f = d && a.isFunction(d[e]) ? d[e].apply(d,g) : d;
if (f !== d && f !== b)
return (h = f, ! 1);
}
) : this.each(function () {
var b = a.data(this,c);
b ? b.option(e || {
})._init() : a.data(this,c,new d(e, this));
}
), h)));
}
;
}
, a.Widget = function (a, b) {
arguments.length && this._createWidget(a,b);
}
, a.Widget.prototype = {
widgetName: "widget",
widgetEventPrefix: "",
options: {
disabled: ! 1},
_createWidget: function (b, c) {
(a.data(c,this.widgetName,this), this.element = a(c), this.options = a.extend(! 0,{
},this.options,this._getCreateOptions(),b));
var d = this;
(this.element.bind("remove." + this.widgetName,function () {
d.destroy();
}
), this._create(), this._trigger("create"), this._init());
}
,
_getCreateOptions: function () {
return a.metadata && a.metadata.get(this.element[0])[this.widgetName];
}
,
_create: function () {

}
,
_init: function () {

}
,
destroy: function () {
(this.element.unbind("." + this.widgetName).removeData(this.widgetName), this.widget().unbind("." + this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass + "-disabled " + "ui-state-disabled"));
}
,
widget: function () {
return this.element;
}
,
option: function (c, d) {
var e = c;
if (arguments.length === 0)
return a.extend({
},this.options);
if (typeof c == "string")
{
if (d === b)
return this.options[c];
(e = {
}, e[c] = d);
}

return (this._setOptions(e), this);
}
,
_setOptions: function (b) {
var c = this;
return (a.each(b,function (a, b) {
c._setOption(a,b);
}
), this);
}
,
_setOption: function (a, b) {
return (this.options[a] = b, a === "disabled" && this.widget()[b ? "addClass" : "removeClass"](this.widgetBaseClass + "-disabled" + " " + "ui-state-disabled").attr("aria-disabled",b), this);
}
,
enable: function () {
return this._setOption("disabled",! 1);
}
,
disable: function () {
return this._setOption("disabled",! 0);
}
,
_trigger: function (b, c, d) {
var e, f, g = this.options[b];
(d = d || {
}, c = a.Event(c), c.type = (b === this.widgetEventPrefix ? b : this.widgetEventPrefix + b).toLowerCase(), c.target = this.element[0], f = c.originalEvent);
if (f)
for(e in f) e in c || (c[e] = f[e]);
return (this.element.trigger(c,d), ! (a.isFunction(g) && g.call(this.element[0],c,d) === ! 1 || c.isDefaultPrevented()));
}
});
}
)(jQuery);
;
(function (a, b) {
var c = ! 1;
(a(document).mouseup(function (a) {
c = ! 1;
}
), a.widget("ui.mouse",{
options: {
cancel: ":input,option",
distance: 1,
delay: 0},
_mouseInit: function () {
var b = this;
(this.element.bind("mousedown." + this.widgetName,function (a) {
return b._mouseDown(a);
}
).bind("click." + this.widgetName,function (c) {
if (! 0 === a.data(c.target,b.widgetName + ".preventClickEvent"))
return (a.removeData(c.target,b.widgetName + ".preventClickEvent"), c.stopImmediatePropagation(), ! 1);
}
), this.started = ! 1);
}
,
_mouseDestroy: function () {
(this.element.unbind("." + this.widgetName), a(document).unbind("mousemove." + this.widgetName,this._mouseMoveDelegate).unbind("mouseup." + this.widgetName,this._mouseUpDelegate));
}
,
_mouseDown: function (b) {
if (c)
return;
(this._mouseStarted && this._mouseUp(b), this._mouseDownEvent = b);
var d = this, e = b.which == 1, f = typeof this.options.cancel == "string" && b.target.nodeName ? a(b.target).closest(this.options.cancel).length : ! 1;
if (! e || f || ! this._mouseCapture(b))
return ! 0;
(this.mouseDelayMet = ! this.options.delay, this.mouseDelayMet || (this._mouseDelayTimer = setTimeout(function () {
d.mouseDelayMet = ! 0;
}
,this.options.delay)));
if (this._mouseDistanceMet(b) && this._mouseDelayMet(b))
{
this._mouseStarted = this._mouseStart(b) !== ! 1;
if (! this._mouseStarted)
return (b.preventDefault(), ! 0);
}

return (! 0 === a.data(b.target,this.widgetName + ".preventClickEvent") && a.removeData(b.target,this.widgetName + ".preventClickEvent"), this._mouseMoveDelegate = function (a) {
return d._mouseMove(a);
}
, this._mouseUpDelegate = function (a) {
return d._mouseUp(a);
}
, a(document).bind("mousemove." + this.widgetName,this._mouseMoveDelegate).bind("mouseup." + this.widgetName,this._mouseUpDelegate), b.preventDefault(), c = ! 0, ! 0);
}
,
_mouseMove: function (b) {
return ! a.browser.msie || document.documentMode >= 9 || ! ! b.button ? this._mouseStarted ? ((this._mouseDrag(b), b.preventDefault())) : ((this._mouseDistanceMet(b) && this._mouseDelayMet(b) && ((this._mouseStarted = this._mouseStart(this._mouseDownEvent,b) !== ! 1, this._mouseStarted ? this._mouseDrag(b) : this._mouseUp(b))), ! this._mouseStarted)) : this._mouseUp(b);
}
,
_mouseUp: function (b) {
return (a(document).unbind("mousemove." + this.widgetName,this._mouseMoveDelegate).unbind("mouseup." + this.widgetName,this._mouseUpDelegate), this._mouseStarted && ((this._mouseStarted = ! 1, b.target == this._mouseDownEvent.target && a.data(b.target,this.widgetName + ".preventClickEvent",! 0), this._mouseStop(b))), ! 1);
}
,
_mouseDistanceMet: function (a) {
return Math.max(Math.abs(this._mouseDownEvent.pageX - a.pageX),Math.abs(this._mouseDownEvent.pageY - a.pageY)) >= this.options.distance;
}
,
_mouseDelayMet: function (a) {
return this.mouseDelayMet;
}
,
_mouseStart: function (a) {

}
,
_mouseDrag: function (a) {

}
,
_mouseStop: function (a) {

}
,
_mouseCapture: function (a) {
return ! 0;
}
}));
}
)(jQuery);
;
(function (a, b) {
a.ui = a.ui || {
};
var c = /left|center|right/, d = /top|center|bottom/, e = "center", f = {
}, g = a.fn.position, h = a.fn.offset;
(a.fn.position = function (b) {
if (! b || ! b.of)
return g.apply(this,arguments);
b = a.extend({
},b);
var h = a(b.of), i = h[0], j = (b.collision || "flip").split(" "), k = b.offset ? b.offset.split(" ") : [0, 0], l, m, n;
return (i.nodeType === 9 ? ((l = h.width(), m = h.height(), n = {
top: 0,
left: 0})) : i.setTimeout ? ((l = h.width(), m = h.height(), n = {
top: h.scrollTop(),
left: h.scrollLeft()})) : i.preventDefault ? ((b.at = "left top", l = m = 0, n = {
top: b.of.pageY,
left: b.of.pageX})) : ((l = h.outerWidth(), m = h.outerHeight(), n = h.offset())), a.each(["my", "at"],function () {
var a = (b[this] || "").split(" ");
(a.length === 1 && (a = c.test(a[0]) ? a.concat([e]) : d.test(a[0]) ? [e].concat(a) : [e, e]), a[0] = c.test(a[0]) ? a[0] : e, a[1] = d.test(a[1]) ? a[1] : e, b[this] = a);
}
), j.length === 1 && (j[1] = j[0]), k[0] = parseInt(k[0],10) || 0, k.length === 1 && (k[1] = k[0]), k[1] = parseInt(k[1],10) || 0, b.at[0] === "right" ? (n.left += l) : b.at[0] === e && (n.left += l / 2), b.at[1] === "bottom" ? (n.top += m) : b.at[1] === e && (n.top += m / 2), n.left += k[0], n.top += k[1], this.each(function () {
var c = a(this), d = c.outerWidth(), g = c.outerHeight(), h = parseInt(a.curCSS(this,"marginLeft",! 0)) || 0, i = parseInt(a.curCSS(this,"marginTop",! 0)) || 0, o = d + h + (parseInt(a.curCSS(this,"marginRight",! 0)) || 0), p = g + i + (parseInt(a.curCSS(this,"marginBottom",! 0)) || 0), q = a.extend({
},n), r;
(b.my[0] === "right" ? (q.left -= d) : b.my[0] === e && (q.left -= d / 2), b.my[1] === "bottom" ? (q.top -= g) : b.my[1] === e && (q.top -= g / 2), f.fractions || ((q.left = Math.round(q.left), q.top = Math.round(q.top))), r = {
left: q.left - h,
top: q.top - i}, a.each(["left", "top"],function (c, e) {
a.ui.position[j[c]] && a.ui.position[j[c]][e](q,{
targetWidth: l,
targetHeight: m,
elemWidth: d,
elemHeight: g,
collisionPosition: r,
collisionWidth: o,
collisionHeight: p,
offset: k,
my: b.my,
at: b.at});
}
), a.fn.bgiframe && c.bgiframe(), c.offset(a.extend(q,{
using: b.using})));
}
));
}
, a.ui.position = {
fit: {
left: function (b, c) {
var d = a(window), e = c.collisionPosition.left + c.collisionWidth - d.width() - d.scrollLeft();
b.left = e > 0 ? b.left - e : Math.max(b.left - c.collisionPosition.left,b.left);
}
,
top: function (b, c) {
var d = a(window), e = c.collisionPosition.top + c.collisionHeight - d.height() - d.scrollTop();
b.top = e > 0 ? b.top - e : Math.max(b.top - c.collisionPosition.top,b.top);
}
},
flip: {
left: function (b, c) {
if (c.at[0] === e)
return;
var d = a(window), f = c.collisionPosition.left + c.collisionWidth - d.width() - d.scrollLeft(), g = c.my[0] === "left" ? - c.elemWidth : c.my[0] === "right" ? c.elemWidth : 0, h = c.at[0] === "left" ? c.targetWidth : - c.targetWidth, i = - 2 * c.offset[0];
b.left += c.collisionPosition.left < 0 ? g + h + i : f > 0 ? g + h + i : 0;
}
,
top: function (b, c) {
if (c.at[1] === e)
return;
var d = a(window), f = c.collisionPosition.top + c.collisionHeight - d.height() - d.scrollTop(), g = c.my[1] === "top" ? - c.elemHeight : c.my[1] === "bottom" ? c.elemHeight : 0, h = c.at[1] === "top" ? c.targetHeight : - c.targetHeight, i = - 2 * c.offset[1];
b.top += c.collisionPosition.top < 0 ? g + h + i : f > 0 ? g + h + i : 0;
}
}}, a.offset.setOffset || ((a.offset.setOffset = function (b, c) {
/static/.test(a.curCSS(b,"position")) && (b.style.position = "relative");
var d = a(b), e = d.offset(), f = parseInt(a.curCSS(b,"top",! 0),10) || 0, g = parseInt(a.curCSS(b,"left",! 0),10) || 0, h = {
top: c.top - e.top + f,
left: c.left - e.left + g};
"using" in c ? c.using.call(b,h) : d.css(h);
}
, a.fn.offset = function (b) {
var c = this[0];
return ! c || ! c.ownerDocument ? null : b ? this.each(function () {
a.offset.setOffset(this,b);
}
) : h.call(this);
}
)), (function () {
var b = document.getElementsByTagName("body")[0], c = document.createElement("div"), d, e, g, h, i;
(d = document.createElement(b ? "div" : "body"), g = {
visibility: "hidden",
width: 0,
height: 0,
border: 0,
margin: 0,
background: "none"}, b && a.extend(g,{
position: "absolute",
left: "-1000px",
top: "-1000px"}));
for(var j in g) d.style[j] = g[j];
(d.appendChild(c), e = b || document.documentElement, e.insertBefore(d,e.firstChild), c.style.cssText = "position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;", h = a(c).offset(function (a, b) {
return b;
}
).offset(), d.innerHTML = "", e.removeChild(d), i = h.top + h.left + (b ? 2000 : 0), f.fractions = i > 21 && i < 22);
}
)());
}
)(jQuery);
;
((function (a, b) {
var c = 0;
(a.widget("ui.autocomplete",{
options: {
appendTo: "body",
autoFocus: ! 1,
delay: 300,
minLength: 1,
position: {
my: "left top",
at: "left bottom",
collision: "none"},
source: null},
pending: 0,
_create: function () {
var b = this, c = this.element[0].ownerDocument, d;
(this.isMultiLine = this.element.is("textarea"), this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({
role: "textbox",
"aria-autocomplete": "list",
"aria-haspopup": "true"}).bind("keydown.autocomplete",function (c) {
if (b.options.disabled || b.element.propAttr("readOnly"))
return;
d = ! 1;
var e = a.ui.keyCode;
switch (c.keyCode) {
case e.PAGE_UP:
b._move("previousPage",c);
break;
case e.PAGE_DOWN:
b._move("nextPage",c);
break;
case e.UP:
b._keyEvent("previous",c);
break;
case e.DOWN:
b._keyEvent("next",c);
break;
case e.ENTER:

case e.NUMPAD_ENTER:
b.menu.active && ((d = ! 0, c.preventDefault()));
case e.TAB:
if (! b.menu.active)
return;
b.menu.select(c);
break;
case e.ESCAPE:
(b.element.val(b.term), b.close(c));
break;
default:
(clearTimeout(b.searching), b.searching = setTimeout(function () {
b.term != b.element.val() && ((b.selectedItem = null, b.search(null,c)));
}
,b.options.delay));
}

}
).bind("keypress.autocomplete",function (a) {
d && ((d = ! 1, a.preventDefault()));
}
).bind("focus.autocomplete",function () {
if (b.options.disabled)
return;
(b.selectedItem = null, b.previous = b.element.val());
}
).bind("blur.autocomplete",function (a) {
if (b.options.disabled)
return;
(clearTimeout(b.searching), b.closing = setTimeout(function () {
(b.close(a), b._change(a));
}
,150));
}
), this._initSource(), this.menu = a("<ul></ul>").addClass("ui-autocomplete").appendTo(a(this.options.appendTo || "body",c)[0]).mousedown(function (c) {
var d = b.menu.element[0];
(a(c.target).closest(".ui-menu-item").length || setTimeout(function () {
a(document).one("mousedown",function (c) {
c.target !== b.element[0] && c.target !== d && ! a.ui.contains(d,c.target) && b.close();
}
);
}
,1), setTimeout(function () {
clearTimeout(b.closing);
}
,13));
}
).menu({
focus: function (a, c) {
var d = c.item.data("item.autocomplete");
! 1 !== b._trigger("focus",a,{
item: d}) && /^key/.test(a.originalEvent.type) && b.element.val(d.value);
}
,
selected: function (a, d) {
var e = d.item.data("item.autocomplete"), f = b.previous;
(b.element[0] !== c.activeElement && ((b.element.focus(), b.previous = f, setTimeout(function () {
(b.previous = f, b.selectedItem = e);
}
,1))), ! 1 !== b._trigger("select",a,{
item: e}) && b.element.val(e.value), b.term = b.element.val(), b.close(a), b.selectedItem = e);
}
,
blur: function (a, c) {
b.menu.element.is(":visible") && b.element.val() !== b.term && b.element.val(b.term);
}
}).zIndex(this.element.zIndex() + 1).css({
top: 0,
left: 0}).hide().data("menu"), a.fn.bgiframe && this.menu.element.bgiframe(), b.beforeunloadHandler = function () {
b.element.removeAttr("autocomplete");
}
, a(window).bind("beforeunload",b.beforeunloadHandler));
}
,
destroy: function () {
(this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"), this.menu.element.remove(), a(window).unbind("beforeunload",this.beforeunloadHandler), a.Widget.prototype.destroy.call(this));
}
,
_setOption: function (b, c) {
(a.Widget.prototype._setOption.apply(this,arguments), b === "source" && this._initSource(), b === "appendTo" && this.menu.element.appendTo(a(c || "body",this.element[0].ownerDocument)[0]), b === "disabled" && c && this.xhr && this.xhr.abort());
}
,
_initSource: function () {
var b = this, c, d;
a.isArray(this.options.source) ? ((c = this.options.source, this.source = function (b, d) {
d(a.ui.autocomplete.filter(c,b.term));
}
)) : typeof this.options.source == "string" ? ((d = this.options.source, this.source = function (c, e) {
(b.xhr && b.xhr.abort(), b.xhr = a.ajax({
url: d,
data: c,
dataType: "json",
success: function (a, b) {
e(a);
}
,
error: function () {
e([]);
}
}));
}
)) : (this.source = this.options.source);
}
,
search: function (a, b) {
(a = a != null ? a : this.element.val(), this.term = this.element.val());
if (a.length < this.options.minLength)
return this.close(b);
clearTimeout(this.closing);
if (this._trigger("search",b) === ! 1)
return;
return this._search(a);
}
,
_search: function (a) {
(this.pending++, this.element.addClass("ui-autocomplete-loading"), this.source({
term: a},this._response()));
}
,
_response: function () {
var a = this, b = ++c;
return function (d) {
(b === c && a.__response(d), a.pending--, a.pending || a.element.removeClass("ui-autocomplete-loading"));
}
;
}
,
__response: function (a) {
! this.options.disabled && a && a.length ? ((a = this._normalize(a), this._suggest(a), this._trigger("open"))) : this.close();
}
,
close: function (a) {
(clearTimeout(this.closing), this.menu.element.is(":visible") && ((this.menu.element.hide(), this.menu.deactivate(), this._trigger("close",a))));
}
,
_change: function (a) {
this.previous !== this.element.val() && this._trigger("change",a,{
item: this.selectedItem});
}
,
_normalize: function (b) {
return b.length && b[0].label && b[0].value ? b : a.map(b,function (b) {
return typeof b == "string" ? {
label: b,
value: b} : a.extend({
label: b.label || b.value,
value: b.value || b.label},b);
}
);
}
,
_suggest: function (b) {
var c = this.menu.element.empty().zIndex(this.element.zIndex() + 1);
(this._renderMenu(c,b), this.menu.deactivate(), this.menu.refresh(), c.show(), this._resizeMenu(), c.position(a.extend({
of: this.element},this.options.position)), this.options.autoFocus && this.menu.next(new a.Event("mouseover")));
}
,
_resizeMenu: function () {
var a = this.menu.element;
a.outerWidth(Math.max(a.width("").outerWidth() + 1,this.element.outerWidth()));
}
,
_renderMenu: function (b, c) {
var d = this;
a.each(c,function (a, c) {
d._renderItem(b,c);
}
);
}
,
_renderItem: function (b, c) {
return a("<li></li>").data("item.autocomplete",c).append(a("<a></a>").text(c.label)).appendTo(b);
}
,
_move: function (a, b) {
if (! this.menu.element.is(":visible"))
{
this.search(null,b);
return;
}

if (this.menu.first() && /^previous/.test(a) || this.menu.last() && /^next/.test(a))
{
(this.element.val(this.term), this.menu.deactivate());
return;
}

this.menu[a](b);
}
,
widget: function () {
return this.menu.element;
}
,
_keyEvent: function (a, b) {
if (! this.isMultiLine || this.menu.element.is(":visible"))
(this._move(a,b), b.preventDefault());
}
}), a.extend(a.ui.autocomplete,{
escapeRegex: function (a) {
return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");
}
,
filter: function (b, c) {
var d = new RegExp(a.ui.autocomplete.escapeRegex(c), "i");
return a.grep(b,function (a) {
return d.test(a.label || a.value || a);
}
);
}
}));
}
)(jQuery), (function (a) {
a.widget("ui.menu",{
_create: function () {
var b = this;
(this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({
role: "listbox",
"aria-activedescendant": "ui-active-menuitem"}).click(function (c) {
if (! a(c.target).closest(".ui-menu-item a").length)
return;
(c.preventDefault(), b.select(c));
}
), this.refresh());
}
,
refresh: function () {
var b = this, c = this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem");
c.children("a").addClass("ui-corner-all").attr("tabindex",- 1).mouseenter(function (c) {
b.activate(c,a(this).parent());
}
).mouseleave(function () {
b.deactivate();
}
);
}
,
activate: function (a, b) {
this.deactivate();
if (this.hasScroll())
{
var c = b.offset().top - this.element.offset().top, d = this.element.scrollTop(), e = this.element.height();
c < 0 ? this.element.scrollTop(d + c) : c >= e && this.element.scrollTop(d + c - e + b.height());
}

(this.active = b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end(), this._trigger("focus",a,{
item: b}));
}
,
deactivate: function () {
if (! this.active)
return;
(this.active.children("a").removeClass("ui-state-hover").removeAttr("id"), this._trigger("blur"), this.active = null);
}
,
next: function (a) {
this.move("next",".ui-menu-item:first",a);
}
,
previous: function (a) {
this.move("prev",".ui-menu-item:last",a);
}
,
first: function () {
return this.active && ! this.active.prevAll(".ui-menu-item").length;
}
,
last: function () {
return this.active && ! this.active.nextAll(".ui-menu-item").length;
}
,
move: function (a, b, c) {
if (! this.active)
{
this.activate(c,this.element.children(b));
return;
}

var d = this.active[a + "All"](".ui-menu-item").eq(0);
d.length ? this.activate(c,d) : this.activate(c,this.element.children(b));
}
,
nextPage: function (b) {
if (this.hasScroll())
{
if (! this.active || this.last())
{
this.activate(b,this.element.children(".ui-menu-item:first"));
return;
}

var c = this.active.offset().top, d = this.element.height(), e = this.element.children(".ui-menu-item").filter(function () {
var b = a(this).offset().top - c - d + a(this).height();
return b < 10 && b > - 10;
}
);
(e.length || (e = this.element.children(".ui-menu-item:last")), this.activate(b,e));
}
 else
this.activate(b,this.element.children(".ui-menu-item").filter(! this.active || this.last() ? ":first" : ":last"));
}
,
previousPage: function (b) {
if (this.hasScroll())
{
if (! this.active || this.first())
{
this.activate(b,this.element.children(".ui-menu-item:last"));
return;
}

var c = this.active.offset().top, d = this.element.height(), e = this.element.children(".ui-menu-item").filter(function () {
var b = a(this).offset().top - c + d - a(this).height();
return b < 10 && b > - 10;
}
);
(e.length || (e = this.element.children(".ui-menu-item:first")), this.activate(b,e));
}
 else
this.activate(b,this.element.children(".ui-menu-item").filter(! this.active || this.first() ? ":last" : ":first"));
}
,
hasScroll: function () {
return this.element.height() < this.element[a.fn.prop ? "prop" : "attr"]("scrollHeight");
}
,
select: function (a) {
this._trigger("selected",a,{
item: this.active});
}
});
}
)(jQuery));
;
