/*! Select2 4.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function(n) {
"function" == typeof define && define.amd ? define(["jquery"], n) : "object" == typeof module && module.exports ? module.exports = function(e, t) {
return void 0 === t && (t = "undefined" != typeof window ? require("jquery") : require("jquery")(e)),
n(t),
t
}
: n(jQuery)
}(function(u) {
var e = function() {
if (u && u.fn && u.fn.select2 && u.fn.select2.amd)
var e = u.fn.select2.amd;
var t, n, r, h, o, s, f, g, m, v, y, _, i, a, w;
function b(e, t) {
return i.call(e, t)
}
function l(e, t) {
var n, r, i, o, s, a, l, c, u, d, p, h = t && t.split("/"), f = y.map, g = f && f["*"] || {};
if (e) {
for (s = (e = e.split("/")).length - 1,
y.nodeIdCompat && w.test(e[s]) && (e[s] = e[s].replace(w, "")),
"." === e[0].charAt(0) && h && (e = h.slice(0, h.length - 1).concat(e)),
u = 0; u < e.length; u++)
if ("." === (p = e[u]))
e.splice(u, 1),
u -= 1;
else if (".." === p) {
if (0 === u || 1 === u && ".." === e[2] || ".." === e[u - 1])
continue;
0 < u && (e.splice(u - 1, 2),
u -= 2)
}
e = e.join("/")
}
if ((h || g) && f) {
for (u = (n = e.split("/")).length; 0 < u; u -= 1) {
if (r = n.slice(0, u).join("/"),
h)
for (d = h.length; 0 < d; d -= 1)
if (i = (i = f[h.slice(0, d).join("/")]) && i[r]) {
o = i,
a = u;
break
}
if (o)
break;
!l && g && g[r] && (l = g[r],
c = u)
}
!o && l && (o = l,
a = c),
o && (n.splice(0, a, o),
e = n.join("/"))
}
return e
}
function A(t, n) {
return function() {
var e = a.call(arguments, 0);
return "string" != typeof e[0] && 1 === e.length && e.push(null),
s.apply(h, e.concat([t, n]))
}
}
function x(t) {
return function(e) {
m[t] = e
}
}
function D(e) {
if (b(v, e)) {
var t = v[e];
delete v[e],
_[e] = !0,
o.apply(h, t)
}
if (!b(m, e) && !b(_, e))
throw new Error("No " + e);
return m[e]
}
function c(e) {
var t, n = e ? e.indexOf("!") : -1;
return -1 < n && (t = e.substring(0, n),
e = e.substring(n + 1, e.length)),
[t, e]
}
function S(e) {
return e ? c(e) : []
}
return e && e.requirejs || (e ? n = e : e = {},
m = {},
v = {},
y = {},
_ = {},
i = Object.prototype.hasOwnProperty,
a = [].slice,
w = /\.js$/,
f = function(e, t) {
var n, r = c(e), i = r[0], o = t[1];
return e = r[1],
i && (n = D(i = l(i, o))),
i ? e = n && n.normalize ? n.normalize(e, function(t) {
return function(e) {
return l(e, t)
}
}(o)) : l(e, o) : (i = (r = c(e = l(e, o)))[0],
e = r[1],
i && (n = D(i))),
{
f: i ? i + "!" + e : e,
n: e,
pr: i,
p: n
}
}
,
g = {
require: function(e) {
return A(e)
},
exports: function(e) {
var t = m[e];
return void 0 !== t ? t : m[e] = {}
},
module: function(e) {
return {
id: e,
uri: "",
exports: m[e],
config: function(e) {
return function() {
return y && y.config && y.config[e] || {}
}
}(e)
}
}
},
o = function(e, t, n, r) {
var i, o, s, a, l, c, u, d = [], p = typeof n;
if (c = S(r = r || e),
"undefined" == p || "function" == p) {
for (t = !t.length && n.length ? ["require", "exports", "module"] : t,
l = 0; l < t.length; l += 1)
if ("require" === (o = (a = f(t[l], c)).f))
d[l] = g.require(e);
else if ("exports" === o)
d[l] = g.exports(e),
u = !0;
else if ("module" === o)
i = d[l] = g.module(e);
else if (b(m, o) || b(v, o) || b(_, o))
d[l] = D(o);
else {
if (!a.p)
throw new Error(e + " missing " + o);
a.p.load(a.n, A(r, !0), x(o), {}),
d[l] = m[o]
}
s = n ? n.apply(m[e], d) : void 0,
e && (i && i.exports !== h && i.exports !== m[e] ? m[e] = i.exports : s === h && u || (m[e] = s))
} else
e && (m[e] = n)
}
,
t = n = s = function(e, t, n, r, i) {
if ("string" == typeof e)
return g[e] ? g[e](t) : D(f(e, S(t)).f);
if (!e.splice) {
if ((y = e).deps && s(y.deps, y.callback),
!t)
return;
t.splice ? (e = t,
t = n,
n = null) : e = h
}
return t = t || function() {}
,
"function" == typeof n && (n = r,
r = i),
r ? o(h, e, t, n) : setTimeout(function() {
o(h, e, t, n)
}, 4),
s
}
,
s.config = function(e) {
return s(e)
}
,
t._defined = m,
(r = function(e, t, n) {
if ("string" != typeof e)
throw new Error("See almond README: incorrect module build, no module name");
t.splice || (n = t,
t = []),
b(m, e) || b(v, e) || (v[e] = [e, t, n])
}
).amd = {
jQuery: !0
},
e.requirejs = t,
e.require = n,
e.define = r),
e.define("almond", function() {}),
e.define("jquery", [], function() {
var e = u || $;
return null == e && console && console.error && console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),
e
}),
e.define("select2/utils", ["jquery"], function(o) {
var i = {};
function u(e) {
var t = e.prototype
, n = [];
for (var r in t) {
"function" == typeof t[r] && "constructor" !== r && n.push(r)
}
return n
}
i.Extend = function(e, t) {
var n = {}.hasOwnProperty;
function r() {
this.constructor = e
}
for (var i in t)
n.call(t, i) && (e[i] = t[i]);
return r.prototype = t.prototype,
e.prototype = new r,
e.__super__ = t.prototype,
e
}
,
i.Decorate = function(r, i) {
var e = u(i)
, t = u(r);
function o() {
var e = Array.prototype.unshift
, t = i.prototype.constructor.length
, n = r.prototype.constructor;
0 < t && (e.call(arguments, r.prototype.constructor),
n = i.prototype.constructor),
n.apply(this, arguments)
}
i.displayName = r.displayName,
o.prototype = new function() {
this.constructor = o
}
;
for (var n = 0; n < t.length; n++) {
var s = t[n];
o.prototype[s] = r.prototype[s]
}
function a(e) {
var t = function() {};
e in o.prototype && (t = o.prototype[e]);
var n = i.prototype[e];
return function() {
return Array.prototype.unshift.call(arguments, t),
n.apply(this, arguments)
}
}
for (var l = 0; l < e.length; l++) {
var c = e[l];
o.prototype[c] = a(c)
}
return o
}
;
function e() {
this.listeners = {}
}
e.prototype.on = function(e, t) {
this.listeners = this.listeners || {},
e in this.listeners ? this.listeners[e].push(t) : this.listeners[e] = [t]
}
,
e.prototype.trigger = function(e) {
var t = Array.prototype.slice
, n = t.call(arguments, 1);
this.listeners = this.listeners || {},
null == n && (n = []),
0 === n.length && n.push({}),
(n[0]._type = e)in this.listeners && this.invoke(this.listeners[e], t.call(arguments, 1)),
"*"in this.listeners && this.invoke(this.listeners["*"], arguments)
}
,
e.prototype.invoke = function(e, t) {
for (var n = 0, r = e.length; n < r; n++)
e[n].apply(this, t)
}
,
i.Observable = e,
i.generateChars = function(e) {
for (var t = "", n = 0; n < e; n++) {
t += Math.floor(36 * Math.random()).toString(36)
}
return t
}
,
i.bind = function(e, t) {
return function() {
e.apply(t, arguments)
}
}
,
i._convertData = function(e) {
for (var t in e) {
var n = t.split("-")
, r = e;
if (1 !== n.length) {
for (var i = 0; i < n.length; i++) {
var o = n[i];
(o = o.substring(0, 1).toLowerCase() + o.substring(1))in r || (r[o] = {}),
i == n.length - 1 && (r[o] = e[t]),
r = r[o]
}
delete e[t]
}
}
return e
}
,
i.hasScroll = function(e, t) {
var n = o(t)
, r = t.style.overflowX
, i = t.style.overflowY;
return (r !== i || "hidden" !== i && "visible" !== i) && ("scroll" === r || "scroll" === i || (n.innerHeight() < t.scrollHeight || n.innerWidth() < t.scrollWidth))
}
,
i.escapeMarkup = function(e) {
var t = {
"\\": "\",
"&": "&",
"<": "<",
">": ">",
'"': """,
"'": "'",
"/": "/"
};
return "string" != typeof e ? e : String(e).replace(/[&<>"'\/\\]/g, function(e) {
return t[e]
})
}
,
i.appendMany = function(e, t) {
if ("1.7" === o.fn.jquery.substr(0, 3)) {
var n = o();
o.map(t, function(e) {
n = n.add(e)
}),
t = n
}
e.append(t)
}
,
i.__cache = {};
var n = 0;
return i.GetUniqueElementId = function(e) {
var t = e.getAttribute("data-select2-id");
return null == t && (e.id ? (t = e.id,
e.setAttribute("data-select2-id", t)) : (e.setAttribute("data-select2-id", ++n),
t = n.toString())),
t
}
,
i.StoreData = function(e, t, n) {
var r = i.GetUniqueElementId(e);
i.__cache[r] || (i.__cache[r] = {}),
i.__cache[r][t] = n
}
,
i.GetData = function(e, t) {
var n = i.GetUniqueElementId(e);
return t ? i.__cache[n] && null != i.__cache[n][t] ? i.__cache[n][t] : o(e).data(t) : i.__cache[n]
}
,
i.RemoveData = function(e) {
var t = i.GetUniqueElementId(e);
null != i.__cache[t] && delete i.__cache[t]
}
,
i
}),
e.define("select2/results", ["jquery", "./utils"], function(h, f) {
function r(e, t, n) {
this.$element = e,
this.data = n,
this.options = t,
r.__super__.constructor.call(this)
}
return f.Extend(r, f.Observable),
r.prototype.render = function() {
var e = h('
');
return this.options.get("multiple") && e.attr("aria-multiselectable", "true"),
this.$results = e
}
,
r.prototype.clear = function() {
this.$results.empty()
}
,
r.prototype.displayMessage = function(e) {
var t = this.options.get("escapeMarkup");
this.clear(),
this.hideLoading();
var n = h('')
, r = this.options.get("translations").get(e.message);
n.append(t(r(e.args))),
n[0].className += " select2-results__message",
this.$results.append(n)
}
,
r.prototype.hideMessages = function() {
this.$results.find(".select2-results__message").remove()
}
,
r.prototype.append = function(e) {
this.hideLoading();
var t = [];
if (null != e.results && 0 !== e.results.length) {
e.results = this.sort(e.results);
for (var n = 0; n < e.results.length; n++) {
var r = e.results[n]
, i = this.option(r);
t.push(i)
}
this.$results.append(t)
} else
0 === this.$results.children().length && this.trigger("results:message", {
message: "noResults"
})
}
,
r.prototype.position = function(e, t) {
t.find(".select2-results").append(e)
}
,
r.prototype.sort = function(e) {
return this.options.get("sorter")(e)
}
,
r.prototype.highlightFirstItem = function() {
var e = this.$results.find(".select2-results__option[aria-selected]")
, t = e.filter("[aria-selected=true]");
0 < t.length ? t.first().trigger("mouseenter") : e.first().trigger("mouseenter"),
this.ensureHighlightVisible()
}
,
r.prototype.setClasses = function() {
var t = this;
this.data.current(function(e) {
var r = h.map(e, function(e) {
return e.id.toString()
});
t.$results.find(".select2-results__option[aria-selected]").each(function() {
var e = h(this)
, t = f.GetData(this, "data")
, n = "" + t.id;
null != t.element && t.element.selected || null == t.element && -1 < h.inArray(n, r) ? e.attr("aria-selected", "true") : e.attr("aria-selected", "false")
})
})
}
,
r.prototype.showLoading = function(e) {
this.hideLoading();
var t = {
disabled: !0,
loading: !0,
text: this.options.get("translations").get("searching")(e)
}
, n = this.option(t);
n.className += " loading-results",
this.$results.prepend(n)
}
,
r.prototype.hideLoading = function() {
this.$results.find(".loading-results").remove()
}
,
r.prototype.option = function(e) {
var t = document.createElement("li");
t.className = "select2-results__option";
var n = {
role: "treeitem",
"aria-selected": "false"
}
, r = window.Element.prototype.matches || window.Element.prototype.msMatchesSelector || window.Element.prototype.webkitMatchesSelector;
for (var i in (null != e.element && r.call(e.element, ":disabled") || null == e.element && e.disabled) && (delete n["aria-selected"],
n["aria-disabled"] = "true"),
null == e.id && delete n["aria-selected"],
null != e._resultId && (t.id = e._resultId),
e.title && (t.title = e.title),
e.children && (n.role = "group",
n["aria-label"] = e.text,
delete n["aria-selected"]),
n) {
var o = n[i];
t.setAttribute(i, o)
}
if (e.children) {
var s = h(t)
, a = document.createElement("strong");
a.className = "select2-results__group";
h(a);
this.template(e, a);
for (var l = [], c = 0; c < e.children.length; c++) {
var u = e.children[c]
, d = this.option(u);
l.push(d)
}
var p = h("
", {
class: "select2-results__options select2-results__options--nested"
});
p.append(l),
s.append(a),
s.append(p)
} else
this.template(e, t);
return f.StoreData(t, "data", e),
t
}
,
r.prototype.bind = function(t, e) {
var l = this
, n = t.id + "-results";
this.$results.attr("id", n),
t.on("results:all", function(e) {
l.clear(),
l.append(e.data),
t.isOpen() && (l.setClasses(),
l.highlightFirstItem())
}),
t.on("results:append", function(e) {
l.append(e.data),
t.isOpen() && l.setClasses()
}),
t.on("query", function(e) {
l.hideMessages(),
l.showLoading(e)
}),
t.on("select", function() {
t.isOpen() && (l.setClasses(),
l.options.get("scrollAfterSelect") && l.highlightFirstItem())
}),
t.on("unselect", function() {
t.isOpen() && (l.setClasses(),
l.options.get("scrollAfterSelect") && l.highlightFirstItem())
}),
t.on("open", function() {
l.$results.attr("aria-expanded", "true"),
l.$results.attr("aria-hidden", "false"),
l.setClasses(),
l.ensureHighlightVisible()
}),
t.on("close", function() {
l.$results.attr("aria-expanded", "false"),
l.$results.attr("aria-hidden", "true"),
l.$results.removeAttr("aria-activedescendant")
}),
t.on("results:toggle", function() {
var e = l.getHighlightedResults();
0 !== e.length && e.trigger("mouseup")
}),
t.on("results:select", function() {
var e = l.getHighlightedResults();
if (0 !== e.length) {
var t = f.GetData(e[0], "data");
"true" == e.attr("aria-selected") ? l.trigger("close", {}) : l.trigger("select", {
data: t
})
}
}),
t.on("results:previous", function() {
var e = l.getHighlightedResults()
, t = l.$results.find("[aria-selected]")
, n = t.index(e);
if (!(n <= 0)) {
var r = n - 1;
0 === e.length && (r = 0);
var i = t.eq(r);
i.trigger("mouseenter");
var o = l.$results.offset().top
, s = i.offset().top
, a = l.$results.scrollTop() + (s - o);
0 === r ? l.$results.scrollTop(0) : s - o < 0 && l.$results.scrollTop(a)
}
}),
t.on("results:next", function() {
var e = l.getHighlightedResults()
, t = l.$results.find("[aria-selected]")
, n = t.index(e) + 1;
if (!(n >= t.length)) {
var r = t.eq(n);
r.trigger("mouseenter");
var i = l.$results.offset().top + l.$results.outerHeight(!1)
, o = r.offset().top + r.outerHeight(!1)
, s = l.$results.scrollTop() + o - i;
0 === n ? l.$results.scrollTop(0) : i < o && l.$results.scrollTop(s)
}
}),
t.on("results:focus", function(e) {
e.element.addClass("select2-results__option--highlighted")
}),
t.on("results:message", function(e) {
l.displayMessage(e)
}),
h.fn.mousewheel && this.$results.on("mousewheel", function(e) {
var t = l.$results.scrollTop()
, n = l.$results.get(0).scrollHeight - t + e.deltaY
, r = 0 < e.deltaY && t - e.deltaY <= 0
, i = e.deltaY < 0 && n <= l.$results.height();
r ? (l.$results.scrollTop(0),
e.preventDefault(),
e.stopPropagation()) : i && (l.$results.scrollTop(l.$results.get(0).scrollHeight - l.$results.height()),
e.preventDefault(),
e.stopPropagation())
}),
this.$results.on("mouseup", ".select2-results__option[aria-selected]", function(e) {
var t = h(this)
, n = f.GetData(this, "data");
"true" !== t.attr("aria-selected") ? l.trigger("select", {
originalEvent: e,
data: n
}) : l.options.get("multiple") ? l.trigger("unselect", {
originalEvent: e,
data: n
}) : l.trigger("close", {})
}),
this.$results.on("mouseenter", ".select2-results__option[aria-selected]", function(e) {
var t = f.GetData(this, "data");
l.getHighlightedResults().removeClass("select2-results__option--highlighted"),
l.trigger("results:focus", {
data: t,
element: h(this)
})
})
}
,
r.prototype.getHighlightedResults = function() {
return this.$results.find(".select2-results__option--highlighted")
}
,
r.prototype.destroy = function() {
this.$results.remove()
}
,
r.prototype.ensureHighlightVisible = function() {
var e = this.getHighlightedResults();
if (0 !== e.length) {
var t = this.$results.find("[aria-selected]").index(e)
, n = this.$results.offset().top
, r = e.offset().top
, i = this.$results.scrollTop() + (r - n)
, o = r - n;
i -= 2 * e.outerHeight(!1),
t <= 2 ? this.$results.scrollTop(0) : (o > this.$results.outerHeight() || o < 0) && this.$results.scrollTop(i)
}
}
,
r.prototype.template = function(e, t) {
var n = this.options.get("templateResult")
, r = this.options.get("escapeMarkup")
, i = n(e, t);
null == i ? t.style.display = "none" : "string" == typeof i ? t.innerHTML = r(i) : h(t).append(i)
}
,
r
}),
e.define("select2/keys", [], function() {
return {
BACKSPACE: 8,
TAB: 9,
ENTER: 13,
SHIFT: 16,
CTRL: 17,
ALT: 18,
ESC: 27,
SPACE: 32,
PAGE_UP: 33,
PAGE_DOWN: 34,
END: 35,
HOME: 36,
LEFT: 37,
UP: 38,
RIGHT: 39,
DOWN: 40,
DELETE: 46
}
}),
e.define("select2/selection/base", ["jquery", "../utils", "../keys"], function(n, r, i) {
function o(e, t) {
this.$element = e,
this.options = t,
o.__super__.constructor.call(this)
}
return r.Extend(o, r.Observable),
o.prototype.render = function() {
var e = n('');
return this._tabindex = 0,
null != r.GetData(this.$element[0], "old-tabindex") ? this._tabindex = r.GetData(this.$element[0], "old-tabindex") : null != this.$element.attr("tabindex") && (this._tabindex = this.$element.attr("tabindex")),
e.attr("title", this.$element.attr("title")),
e.attr("tabindex", this._tabindex),
this.$selection = e
}
,
o.prototype.bind = function(e, t) {
var n = this
, r = (e.id,
e.id + "-results");
this.container = e,
this.$selection.on("focus", function(e) {
n.trigger("focus", e)
}),
this.$selection.on("blur", function(e) {
n._handleBlur(e)
}),
this.$selection.on("keydown", function(e) {
n.trigger("keypress", e),
e.which === i.SPACE && e.preventDefault()
}),
e.on("results:focus", function(e) {
n.$selection.attr("aria-activedescendant", e.data._resultId)
}),
e.on("selection:update", function(e) {
n.update(e.data)
}),
e.on("open", function() {
n.$selection.attr("aria-expanded", "true"),
n.$selection.attr("aria-owns", r),
n._attachCloseHandler(e)
}),
e.on("close", function() {
n.$selection.attr("aria-expanded", "false"),
n.$selection.removeAttr("aria-activedescendant"),
n.$selection.removeAttr("aria-owns"),
n.$selection.trigger("focus"),
n._detachCloseHandler(e)
}),
e.on("enable", function() {
n.$selection.attr("tabindex", n._tabindex)
}),
e.on("disable", function() {
n.$selection.attr("tabindex", "-1")
})
}
,
o.prototype._handleBlur = function(e) {
var t = this;
window.setTimeout(function() {
document.activeElement == t.$selection[0] || n.contains(t.$selection[0], document.activeElement) || t.trigger("blur", e)
}, 1)
}
,
o.prototype._attachCloseHandler = function(e) {
n(document.body).on("mousedown.select2." + e.id, function(e) {
var t = n(e.target).closest(".select2");
n(".select2.select2-container--open").each(function() {
n(this);
this != t[0] && r.GetData(this, "element").select2("close")
})
})
}
,
o.prototype._detachCloseHandler = function(e) {
n(document.body).off("mousedown.select2." + e.id)
}
,
o.prototype.position = function(e, t) {
t.find(".selection").append(e)
}
,
o.prototype.destroy = function() {
this._detachCloseHandler(this.container)
}
,
o.prototype.update = function(e) {
throw new Error("The `update` method must be defined in child classes.")
}
,
o
}),
e.define("select2/selection/single", ["jquery", "./base", "../utils", "../keys"], function(e, t, n, r) {
function i() {
i.__super__.constructor.apply(this, arguments)
}
return n.Extend(i, t),
i.prototype.render = function() {
var e = i.__super__.render.call(this);
return e.addClass("select2-selection--single"),
e.html(''),
e
}
,
i.prototype.bind = function(t, e) {
var n = this;
i.__super__.bind.apply(this, arguments);
var r = t.id + "-container";
this.$selection.find(".select2-selection__rendered").attr("id", r).attr("role", "textbox").attr("aria-readonly", "true"),
this.$selection.attr("aria-labelledby", r),
this.$selection.on("mousedown", function(e) {
1 === e.which && n.trigger("toggle", {
originalEvent: e
})
}),
this.$selection.on("focus", function(e) {}),
this.$selection.on("blur", function(e) {}),
t.on("focus", function(e) {
t.isOpen() || n.$selection.trigger("focus")
})
}
,
i.prototype.clear = function() {
var e = this.$selection.find(".select2-selection__rendered");
e.empty(),
e.removeAttr("title")
}
,
i.prototype.display = function(e, t) {
var n = this.options.get("templateSelection");
return this.options.get("escapeMarkup")(n(e, t))
}
,
i.prototype.selectionContainer = function() {
return e("")
}
,
i.prototype.update = function(e) {
if (0 !== e.length) {
var t = e[0]
, n = this.$selection.find(".select2-selection__rendered")
, r = this.display(t, n);
n.empty().append(r),
n.attr("title", t.title || t.text)
} else
this.clear()
}
,
i
}),
e.define("select2/selection/multiple", ["jquery", "./base", "../utils"], function(i, e, a) {
function n(e, t) {
n.__super__.constructor.apply(this, arguments)
}
return a.Extend(n, e),
n.prototype.render = function() {
var e = n.__super__.render.call(this);
return e.addClass("select2-selection--multiple"),
e.html('
'),
e
}
,
n.prototype.bind = function(e, t) {
var r = this;
n.__super__.bind.apply(this, arguments),
this.$selection.on("click", function(e) {
r.trigger("toggle", {
originalEvent: e
})
}),
this.$selection.on("click", ".select2-selection__choice__remove", function(e) {
if (!r.options.get("disabled")) {
var t = i(this).parent()
, n = a.GetData(t[0], "data");
r.trigger("unselect", {
originalEvent: e,
data: n
})
}
})
}
,
n.prototype.clear = function() {
var e = this.$selection.find(".select2-selection__rendered");
e.empty(),
e.removeAttr("title")
}
,
n.prototype.display = function(e, t) {
var n = this.options.get("templateSelection");
return this.options.get("escapeMarkup")(n(e, t))
}
,
n.prototype.selectionContainer = function() {
return i('
×
')
}
,
n.prototype.update = function(e) {
if (this.clear(),
0 !== e.length) {
for (var t = [], n = 0; n < e.length; n++) {
var r = e[n]
, i = this.selectionContainer()
, o = this.display(r, i);
i.append(o),
i.attr("title", r.title || r.text),
a.StoreData(i[0], "data", r),
t.push(i)
}
var s = this.$selection.find(".select2-selection__rendered");
a.appendMany(s, t)
}
}
,
n
}),
e.define("select2/selection/placeholder", ["../utils"], function(e) {
function t(e, t, n) {
this.placeholder = this.normalizePlaceholder(n.get("placeholder")),
e.call(this, t, n)
}
return t.prototype.normalizePlaceholder = function(e, t) {
return "string" == typeof t && (t = {
id: "",
text: t
}),
t
}
,
t.prototype.createPlaceholder = function(e, t) {
var n = this.selectionContainer();
return n.html(this.display(t)),
n.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),
n
}
,
t.prototype.update = function(e, t) {
var n = 1 == t.length && t[0].id != this.placeholder.id;
if (1 < t.length || n)
return e.call(this, t);
this.clear();
var r = this.createPlaceholder(this.placeholder);
this.$selection.find(".select2-selection__rendered").append(r)
}
,
t
}),
e.define("select2/selection/allowClear", ["jquery", "../keys", "../utils"], function(i, r, a) {
function e() {}
return e.prototype.bind = function(e, t, n) {
var r = this;
e.call(this, t, n),
null == this.placeholder && this.options.get("debug") && window.console && console.error && console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),
this.$selection.on("mousedown", ".select2-selection__clear", function(e) {
r._handleClear(e)
}),
t.on("keypress", function(e) {
r._handleKeyboardClear(e, t)
})
}
,
e.prototype._handleClear = function(e, t) {
if (!this.options.get("disabled")) {
var n = this.$selection.find(".select2-selection__clear");
if (0 !== n.length) {
t.stopPropagation();
var r = a.GetData(n[0], "data")
, i = this.$element.val();
this.$element.val(this.placeholder.id);
var o = {
data: r
};
if (this.trigger("clear", o),
o.prevented)
this.$element.val(i);
else {
for (var s = 0; s < r.length; s++)
if (o = {
data: r[s]
},
this.trigger("unselect", o),
o.prevented)
return void this.$element.val(i);
this.$element.trigger("change"),
this.trigger("toggle", {})
}
}
}
}
,
e.prototype._handleKeyboardClear = function(e, t, n) {
n.isOpen() || t.which != r.DELETE && t.which != r.BACKSPACE || this._handleClear(t)
}
,
e.prototype.update = function(e, t) {
if (e.call(this, t),
!(0 < this.$selection.find(".select2-selection__placeholder").length || 0 === t.length)) {
var n = this.options.get("translations").get("removeAllItems")
, r = i('×');
a.StoreData(r[0], "data", t),
this.$selection.find(".select2-selection__rendered").prepend(r)
}
}
,
e
}),
e.define("select2/selection/search", ["jquery", "../utils", "../keys"], function(r, s, a) {
function e(e, t, n) {
e.call(this, t, n)
}
return e.prototype.render = function(e) {
var t = r('');
this.$searchContainer = t,
this.$search = t.find("input");
var n = e.call(this);
return this._transferTabIndex(),
n
}
,
e.prototype.bind = function(e, t, n) {
var r = this;
e.call(this, t, n),
t.on("open", function() {
r.$search.trigger("focus")
}),
t.on("close", function() {
r.$search.val(""),
r.$search.removeAttr("aria-activedescendant"),
r.$search.trigger("focus")
}),
t.on("enable", function() {
r.$search.prop("disabled", !1),
r._transferTabIndex()
}),
t.on("disable", function() {
r.$search.prop("disabled", !0)
}),
t.on("focus", function(e) {
r.$search.trigger("focus")
}),
t.on("results:focus", function(e) {
r.$search.attr("aria-activedescendant", e.id)
}),
this.$selection.on("focusin", ".select2-search--inline", function(e) {
r.trigger("focus", e)
}),
this.$selection.on("focusout", ".select2-search--inline", function(e) {
r._handleBlur(e)
}),
this.$selection.on("keydown", ".select2-search--inline", function(e) {
if (e.stopPropagation(),
r.trigger("keypress", e),
r._keyUpPrevented = e.isDefaultPrevented(),
e.which === a.BACKSPACE && "" === r.$search.val()) {
var t = r.$searchContainer.prev(".select2-selection__choice");
if (0 < t.length) {
var n = s.GetData(t[0], "data");
r.searchRemoveChoice(n),
e.preventDefault()
}
}
});
var i = document.documentMode
, o = i && i <= 11;
this.$selection.on("input.searchcheck", ".select2-search--inline", function(e) {
o ? r.$selection.off("input.search input.searchcheck") : r.$selection.off("keyup.search")
}),
this.$selection.on("keyup.search input.search", ".select2-search--inline", function(e) {
if (o && "input" === e.type)
r.$selection.off("input.search input.searchcheck");
else {
var t = e.which;
t != a.SHIFT && t != a.CTRL && t != a.ALT && t != a.TAB && r.handleSearch(e)
}
})
}
,
e.prototype._transferTabIndex = function(e) {
this.$search.attr("tabindex", this.$selection.attr("tabindex")),
this.$selection.attr("tabindex", "-1")
}
,
e.prototype.createPlaceholder = function(e, t) {
this.$search.attr("placeholder", t.text)
}
,
e.prototype.update = function(e, t) {
var n = this.$search[0] == document.activeElement;
this.$search.attr("placeholder", ""),
e.call(this, t),
this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),
this.resizeSearch(),
n && this.$search.trigger("focus")
}
,
e.prototype.handleSearch = function() {
if (this.resizeSearch(),
!this._keyUpPrevented) {
var e = this.$search.val();
this.trigger("query", {
term: e
})
}
this._keyUpPrevented = !1
}
,
e.prototype.searchRemoveChoice = function(e, t) {
this.trigger("unselect", {
data: t
}),
this.$search.val(t.text),
this.handleSearch()
}
,
e.prototype.resizeSearch = function() {
this.$search.css("width", "25px");
var e = "";
"" !== this.$search.attr("placeholder") ? e = this.$selection.find(".select2-selection__rendered").innerWidth() : e = .75 * (this.$search.val().length + 1) + "em";
this.$search.css("width", e)
}
,
e
}),
e.define("select2/selection/eventRelay", ["jquery"], function(s) {
function e() {}
return e.prototype.bind = function(e, t, n) {
var r = this
, i = ["open", "opening", "close", "closing", "select", "selecting", "unselect", "unselecting", "clear", "clearing"]
, o = ["opening", "closing", "selecting", "unselecting", "clearing"];
e.call(this, t, n),
t.on("*", function(e, t) {
if (-1 !== s.inArray(e, i)) {
t = t || {};
var n = s.Event("select2:" + e, {
params: t
});
r.$element.trigger(n),
-1 !== s.inArray(e, o) && (t.prevented = n.isDefaultPrevented())
}
})
}
,
e
}),
e.define("select2/translation", ["jquery", "require"], function(t, n) {
function r(e) {
this.dict = e || {}
}
return r.prototype.all = function() {
return this.dict
}
,
r.prototype.get = function(e) {
return this.dict[e]
}
,
r.prototype.extend = function(e) {
this.dict = t.extend({}, e.all(), this.dict)
}
,
r._cache = {},
r.loadPath = function(e) {
if (!(e in r._cache)) {
var t = n(e);
r._cache[e] = t
}
return new r(r._cache[e])
}
,
r
}),
e.define("select2/diacritics", [], function() {
return {
"Ⓐ": "A",
"A": "A",
"À": "A",
"Á": "A",
"Â": "A",
"Ầ": "A",
"Ấ": "A",
"Ẫ": "A",
"Ẩ": "A",
"Ã": "A",
"Ā": "A",
"Ă": "A",
"Ằ": "A",
"Ắ": "A",
"Ẵ": "A",
"Ẳ": "A",
"Ȧ": "A",
"Ǡ": "A",
"Ä": "A",
"Ǟ": "A",
"Ả": "A",
"Å": "A",
"Ǻ": "A",
"Ǎ": "A",
"Ȁ": "A",
"Ȃ": "A",
"Ạ": "A",
"Ậ": "A",
"Ặ": "A",
"Ḁ": "A",
"Ą": "A",
"Ⱥ": "A",
"Ɐ": "A",
"Ꜳ": "AA",
"Æ": "AE",
"Ǽ": "AE",
"Ǣ": "AE",
"Ꜵ": "AO",
"Ꜷ": "AU",
"Ꜹ": "AV",
"Ꜻ": "AV",
"Ꜽ": "AY",
"Ⓑ": "B",
"B": "B",
"Ḃ": "B",
"Ḅ": "B",
"Ḇ": "B",
"Ƀ": "B",
"Ƃ": "B",
"Ɓ": "B",
"Ⓒ": "C",
"C": "C",
"Ć": "C",
"Ĉ": "C",
"Ċ": "C",
"Č": "C",
"Ç": "C",
"Ḉ": "C",
"Ƈ": "C",
"Ȼ": "C",
"Ꜿ": "C",
"Ⓓ": "D",
"D": "D",
"Ḋ": "D",
"Ď": "D",
"Ḍ": "D",
"Ḑ": "D",
"Ḓ": "D",
"Ḏ": "D",
"Đ": "D",
"Ƌ": "D",
"Ɗ": "D",
"Ɖ": "D",
"Ꝺ": "D",
"DZ": "DZ",
"DŽ": "DZ",
"Dz": "Dz",
"Dž": "Dz",
"Ⓔ": "E",
"E": "E",
"È": "E",
"É": "E",
"Ê": "E",
"Ề": "E",
"Ế": "E",
"Ễ": "E",
"Ể": "E",
"Ẽ": "E",
"Ē": "E",
"Ḕ": "E",
"Ḗ": "E",
"Ĕ": "E",
"Ė": "E",
"Ë": "E",
"Ẻ": "E",
"Ě": "E",
"Ȅ": "E",
"Ȇ": "E",
"Ẹ": "E",
"Ệ": "E",
"Ȩ": "E",
"Ḝ": "E",
"Ę": "E",
"Ḙ": "E",
"Ḛ": "E",
"Ɛ": "E",
"Ǝ": "E",
"Ⓕ": "F",
"F": "F",
"Ḟ": "F",
"Ƒ": "F",
"Ꝼ": "F",
"Ⓖ": "G",
"G": "G",
"Ǵ": "G",
"Ĝ": "G",
"Ḡ": "G",
"Ğ": "G",
"Ġ": "G",
"Ǧ": "G",
"Ģ": "G",
"Ǥ": "G",
"Ɠ": "G",
"Ꞡ": "G",
"Ᵹ": "G",
"Ꝿ": "G",
"Ⓗ": "H",
"H": "H",
"Ĥ": "H",
"Ḣ": "H",
"Ḧ": "H",
"Ȟ": "H",
"Ḥ": "H",
"Ḩ": "H",
"Ḫ": "H",
"Ħ": "H",
"Ⱨ": "H",
"Ⱶ": "H",
"Ɥ": "H",
"Ⓘ": "I",
"I": "I",
"Ì": "I",
"Í": "I",
"Î": "I",
"Ĩ": "I",
"Ī": "I",
"Ĭ": "I",
"İ": "I",
"Ï": "I",
"Ḯ": "I",
"Ỉ": "I",
"Ǐ": "I",
"Ȉ": "I",
"Ȋ": "I",
"Ị": "I",
"Į": "I",
"Ḭ": "I",
"Ɨ": "I",
"Ⓙ": "J",
"J": "J",
"Ĵ": "J",
"Ɉ": "J",
"Ⓚ": "K",
"K": "K",
"Ḱ": "K",
"Ǩ": "K",
"Ḳ": "K",
"Ķ": "K",
"Ḵ": "K",
"Ƙ": "K",
"Ⱪ": "K",
"Ꝁ": "K",
"Ꝃ": "K",
"Ꝅ": "K",
"Ꞣ": "K",
"Ⓛ": "L",
"L": "L",
"Ŀ": "L",
"Ĺ": "L",
"Ľ": "L",
"Ḷ": "L",
"Ḹ": "L",
"Ļ": "L",
"Ḽ": "L",
"Ḻ": "L",
"Ł": "L",
"Ƚ": "L",
"Ɫ": "L",
"Ⱡ": "L",
"Ꝉ": "L",
"Ꝇ": "L",
"Ꞁ": "L",
"LJ": "LJ",
"Lj": "Lj",
"Ⓜ": "M",
"M": "M",
"Ḿ": "M",
"Ṁ": "M",
"Ṃ": "M",
"Ɱ": "M",
"Ɯ": "M",
"Ⓝ": "N",
"N": "N",
"Ǹ": "N",
"Ń": "N",
"Ñ": "N",
"Ṅ": "N",
"Ň": "N",
"Ṇ": "N",
"Ņ": "N",
"Ṋ": "N",
"Ṉ": "N",
"Ƞ": "N",
"Ɲ": "N",
"Ꞑ": "N",
"Ꞥ": "N",
"NJ": "NJ",
"Nj": "Nj",
"Ⓞ": "O",
"O": "O",
"Ò": "O",
"Ó": "O",
"Ô": "O",
"Ồ": "O",
"Ố": "O",
"Ỗ": "O",
"Ổ": "O",
"Õ": "O",
"Ṍ": "O",
"Ȭ": "O",
"Ṏ": "O",
"Ō": "O",
"Ṑ": "O",
"Ṓ": "O",
"Ŏ": "O",
"Ȯ": "O",
"Ȱ": "O",
"Ö": "O",
"Ȫ": "O",
"Ỏ": "O",
"Ő": "O",
"Ǒ": "O",
"Ȍ": "O",
"Ȏ": "O",
"Ơ": "O",
"Ờ": "O",
"Ớ": "O",
"Ỡ": "O",
"Ở": "O",
"Ợ": "O",
"Ọ": "O",
"Ộ": "O",
"Ǫ": "O",
"Ǭ": "O",
"Ø": "O",
"Ǿ": "O",
"Ɔ": "O",
"Ɵ": "O",
"Ꝋ": "O",
"Ꝍ": "O",
"Œ": "OE",
"Ƣ": "OI",
"Ꝏ": "OO",
"Ȣ": "OU",
"Ⓟ": "P",
"P": "P",
"Ṕ": "P",
"Ṗ": "P",
"Ƥ": "P",
"Ᵽ": "P",
"Ꝑ": "P",
"Ꝓ": "P",
"Ꝕ": "P",
"Ⓠ": "Q",
"Q": "Q",
"Ꝗ": "Q",
"Ꝙ": "Q",
"Ɋ": "Q",
"Ⓡ": "R",
"R": "R",
"Ŕ": "R",
"Ṙ": "R",
"Ř": "R",
"Ȑ": "R",
"Ȓ": "R",
"Ṛ": "R",
"Ṝ": "R",
"Ŗ": "R",
"Ṟ": "R",
"Ɍ": "R",
"Ɽ": "R",
"Ꝛ": "R",
"Ꞧ": "R",
"Ꞃ": "R",
"Ⓢ": "S",
"S": "S",
"ẞ": "S",
"Ś": "S",
"Ṥ": "S",
"Ŝ": "S",
"Ṡ": "S",
"Š": "S",
"Ṧ": "S",
"Ṣ": "S",
"Ṩ": "S",
"Ș": "S",
"Ş": "S",
"Ȿ": "S",
"Ꞩ": "S",
"Ꞅ": "S",
"Ⓣ": "T",
"T": "T",
"Ṫ": "T",
"Ť": "T",
"Ṭ": "T",
"Ț": "T",
"Ţ": "T",
"Ṱ": "T",
"Ṯ": "T",
"Ŧ": "T",
"Ƭ": "T",
"Ʈ": "T",
"Ⱦ": "T",
"Ꞇ": "T",
"Ꜩ": "TZ",
"Ⓤ": "U",
"U": "U",
"Ù": "U",
"Ú": "U",
"Û": "U",
"Ũ": "U",
"Ṹ": "U",
"Ū": "U",
"Ṻ": "U",
"Ŭ": "U",
"Ü": "U",
"Ǜ": "U",
"Ǘ": "U",
"Ǖ": "U",
"Ǚ": "U",
"Ủ": "U",
"Ů": "U",
"Ű": "U",
"Ǔ": "U",
"Ȕ": "U",
"Ȗ": "U",
"Ư": "U",
"Ừ": "U",
"Ứ": "U",
"Ữ": "U",
"Ử": "U",
"Ự": "U",
"Ụ": "U",
"Ṳ": "U",
"Ų": "U",
"Ṷ": "U",
"Ṵ": "U",
"Ʉ": "U",
"Ⓥ": "V",
"V": "V",
"Ṽ": "V",
"Ṿ": "V",
"Ʋ": "V",
"Ꝟ": "V",
"Ʌ": "V",
"Ꝡ": "VY",
"Ⓦ": "W",
"W": "W",
"Ẁ": "W",
"Ẃ": "W",
"Ŵ": "W",
"Ẇ": "W",
"Ẅ": "W",
"Ẉ": "W",
"Ⱳ": "W",
"Ⓧ": "X",
"X": "X",
"Ẋ": "X",
"Ẍ": "X",
"Ⓨ": "Y",
"Y": "Y",
"Ỳ": "Y",
"Ý": "Y",
"Ŷ": "Y",
"Ỹ": "Y",
"Ȳ": "Y",
"Ẏ": "Y",
"Ÿ": "Y",
"Ỷ": "Y",
"Ỵ": "Y",
"Ƴ": "Y",
"Ɏ": "Y",
"Ỿ": "Y",
"Ⓩ": "Z",
"Z": "Z",
"Ź": "Z",
"Ẑ": "Z",
"Ż": "Z",
"Ž": "Z",
"Ẓ": "Z",
"Ẕ": "Z",
"Ƶ": "Z",
"Ȥ": "Z",
"Ɀ": "Z",
"Ⱬ": "Z",
"Ꝣ": "Z",
"ⓐ": "a",
"a": "a",
"ẚ": "a",
"à": "a",
"á": "a",
"â": "a",
"ầ": "a",
"ấ": "a",
"ẫ": "a",
"ẩ": "a",
"ã": "a",
"ā": "a",
"ă": "a",
"ằ": "a",
"ắ": "a",
"ẵ": "a",
"ẳ": "a",
"ȧ": "a",
"ǡ": "a",
"ä": "a",
"ǟ": "a",
"ả": "a",
"å": "a",
"ǻ": "a",
"ǎ": "a",
"ȁ": "a",
"ȃ": "a",
"ạ": "a",
"ậ": "a",
"ặ": "a",
"ḁ": "a",
"ą": "a",
"ⱥ": "a",
"ɐ": "a",
"ꜳ": "aa",
"æ": "ae",
"ǽ": "ae",
"ǣ": "ae",
"ꜵ": "ao",
"ꜷ": "au",
"ꜹ": "av",
"ꜻ": "av",
"ꜽ": "ay",
"ⓑ": "b",
"b": "b",
"ḃ": "b",
"ḅ": "b",
"ḇ": "b",
"ƀ": "b",
"ƃ": "b",
"ɓ": "b",
"ⓒ": "c",
"c": "c",
"ć": "c",
"ĉ": "c",
"ċ": "c",
"č": "c",
"ç": "c",
"ḉ": "c",
"ƈ": "c",
"ȼ": "c",
"ꜿ": "c",
"ↄ": "c",
"ⓓ": "d",
"d": "d",
"ḋ": "d",
"ď": "d",
"ḍ": "d",
"ḑ": "d",
"ḓ": "d",
"ḏ": "d",
"đ": "d",
"ƌ": "d",
"ɖ": "d",
"ɗ": "d",
"ꝺ": "d",
"dz": "dz",
"dž": "dz",
"ⓔ": "e",
"e": "e",
"è": "e",
"é": "e",
"ê": "e",
"ề": "e",
"ế": "e",
"ễ": "e",
"ể": "e",
"ẽ": "e",
"ē": "e",
"ḕ": "e",
"ḗ": "e",
"ĕ": "e",
"ė": "e",
"ë": "e",
"ẻ": "e",
"ě": "e",
"ȅ": "e",
"ȇ": "e",
"ẹ": "e",
"ệ": "e",
"ȩ": "e",
"ḝ": "e",
"ę": "e",
"ḙ": "e",
"ḛ": "e",
"ɇ": "e",
"ɛ": "e",
"ǝ": "e",
"ⓕ": "f",
"f": "f",
"ḟ": "f",
"ƒ": "f",
"ꝼ": "f",
"ⓖ": "g",
"g": "g",
"ǵ": "g",
"ĝ": "g",
"ḡ": "g",
"ğ": "g",
"ġ": "g",
"ǧ": "g",
"ģ": "g",
"ǥ": "g",
"ɠ": "g",
"ꞡ": "g",
"ᵹ": "g",
"ꝿ": "g",
"ⓗ": "h",
"h": "h",
"ĥ": "h",
"ḣ": "h",
"ḧ": "h",
"ȟ": "h",
"ḥ": "h",
"ḩ": "h",
"ḫ": "h",
"ẖ": "h",
"ħ": "h",
"ⱨ": "h",
"ⱶ": "h",
"ɥ": "h",
"ƕ": "hv",
"ⓘ": "i",
"i": "i",
"ì": "i",
"í": "i",
"î": "i",
"ĩ": "i",
"ī": "i",
"ĭ": "i",
"ï": "i",
"ḯ": "i",
"ỉ": "i",
"ǐ": "i",
"ȉ": "i",
"ȋ": "i",
"ị": "i",
"į": "i",
"ḭ": "i",
"ɨ": "i",
"ı": "i",
"ⓙ": "j",
"j": "j",
"ĵ": "j",
"ǰ": "j",
"ɉ": "j",
"ⓚ": "k",
"k": "k",
"ḱ": "k",
"ǩ": "k",
"ḳ": "k",
"ķ": "k",
"ḵ": "k",
"ƙ": "k",
"ⱪ": "k",
"ꝁ": "k",
"ꝃ": "k",
"ꝅ": "k",
"ꞣ": "k",
"ⓛ": "l",
"l": "l",
"ŀ": "l",
"ĺ": "l",
"ľ": "l",
"ḷ": "l",
"ḹ": "l",
"ļ": "l",
"ḽ": "l",
"ḻ": "l",
"ſ": "l",
"ł": "l",
"ƚ": "l",
"ɫ": "l",
"ⱡ": "l",
"ꝉ": "l",
"ꞁ": "l",
"ꝇ": "l",
"lj": "lj",
"ⓜ": "m",
"m": "m",
"ḿ": "m",
"ṁ": "m",
"ṃ": "m",
"ɱ": "m",
"ɯ": "m",
"ⓝ": "n",
"n": "n",
"ǹ": "n",
"ń": "n",
"ñ": "n",
"ṅ": "n",
"ň": "n",
"ṇ": "n",
"ņ": "n",
"ṋ": "n",
"ṉ": "n",
"ƞ": "n",
"ɲ": "n",
"ʼn": "n",
"ꞑ": "n",
"ꞥ": "n",
"nj": "nj",
"ⓞ": "o",
"o": "o",
"ò": "o",
"ó": "o",
"ô": "o",
"ồ": "o",
"ố": "o",
"ỗ": "o",
"ổ": "o",
"õ": "o",
"ṍ": "o",
"ȭ": "o",
"ṏ": "o",
"ō": "o",
"ṑ": "o",
"ṓ": "o",
"ŏ": "o",
"ȯ": "o",
"ȱ": "o",
"ö": "o",
"ȫ": "o",
"ỏ": "o",
"ő": "o",
"ǒ": "o",
"ȍ": "o",
"ȏ": "o",
"ơ": "o",
"ờ": "o",
"ớ": "o",
"ỡ": "o",
"ở": "o",
"ợ": "o",
"ọ": "o",
"ộ": "o",
"ǫ": "o",
"ǭ": "o",
"ø": "o",
"ǿ": "o",
"ɔ": "o",
"ꝋ": "o",
"ꝍ": "o",
"ɵ": "o",
"œ": "oe",
"ƣ": "oi",
"ȣ": "ou",
"ꝏ": "oo",
"ⓟ": "p",
"p": "p",
"ṕ": "p",
"ṗ": "p",
"ƥ": "p",
"ᵽ": "p",
"ꝑ": "p",
"ꝓ": "p",
"ꝕ": "p",
"ⓠ": "q",
"q": "q",
"ɋ": "q",
"ꝗ": "q",
"ꝙ": "q",
"ⓡ": "r",
"r": "r",
"ŕ": "r",
"ṙ": "r",
"ř": "r",
"ȑ": "r",
"ȓ": "r",
"ṛ": "r",
"ṝ": "r",
"ŗ": "r",
"ṟ": "r",
"ɍ": "r",
"ɽ": "r",
"ꝛ": "r",
"ꞧ": "r",
"ꞃ": "r",
"ⓢ": "s",
"s": "s",
"ß": "s",
"ś": "s",
"ṥ": "s",
"ŝ": "s",
"ṡ": "s",
"š": "s",
"ṧ": "s",
"ṣ": "s",
"ṩ": "s",
"ș": "s",
"ş": "s",
"ȿ": "s",
"ꞩ": "s",
"ꞅ": "s",
"ẛ": "s",
"ⓣ": "t",
"t": "t",
"ṫ": "t",
"ẗ": "t",
"ť": "t",
"ṭ": "t",
"ț": "t",
"ţ": "t",
"ṱ": "t",
"ṯ": "t",
"ŧ": "t",
"ƭ": "t",
"ʈ": "t",
"ⱦ": "t",
"ꞇ": "t",
"ꜩ": "tz",
"ⓤ": "u",
"u": "u",
"ù": "u",
"ú": "u",
"û": "u",
"ũ": "u",
"ṹ": "u",
"ū": "u",
"ṻ": "u",
"ŭ": "u",
"ü": "u",
"ǜ": "u",
"ǘ": "u",
"ǖ": "u",
"ǚ": "u",
"ủ": "u",
"ů": "u",
"ű": "u",
"ǔ": "u",
"ȕ": "u",
"ȗ": "u",
"ư": "u",
"ừ": "u",
"ứ": "u",
"ữ": "u",
"ử": "u",
"ự": "u",
"ụ": "u",
"ṳ": "u",
"ų": "u",
"ṷ": "u",
"ṵ": "u",
"ʉ": "u",
"ⓥ": "v",
"v": "v",
"ṽ": "v",
"ṿ": "v",
"ʋ": "v",
"ꝟ": "v",
"ʌ": "v",
"ꝡ": "vy",
"ⓦ": "w",
"w": "w",
"ẁ": "w",
"ẃ": "w",
"ŵ": "w",
"ẇ": "w",
"ẅ": "w",
"ẘ": "w",
"ẉ": "w",
"ⱳ": "w",
"ⓧ": "x",
"x": "x",
"ẋ": "x",
"ẍ": "x",
"ⓨ": "y",
"y": "y",
"ỳ": "y",
"ý": "y",
"ŷ": "y",
"ỹ": "y",
"ȳ": "y",
"ẏ": "y",
"ÿ": "y",
"ỷ": "y",
"ẙ": "y",
"ỵ": "y",
"ƴ": "y",
"ɏ": "y",
"ỿ": "y",
"ⓩ": "z",
"z": "z",
"ź": "z",
"ẑ": "z",
"ż": "z",
"ž": "z",
"ẓ": "z",
"ẕ": "z",
"ƶ": "z",
"ȥ": "z",
"ɀ": "z",
"ⱬ": "z",
"ꝣ": "z",
"Ά": "Α",
"Έ": "Ε",
"Ή": "Η",
"Ί": "Ι",
"Ϊ": "Ι",
"Ό": "Ο",
"Ύ": "Υ",
"Ϋ": "Υ",
"Ώ": "Ω",
"ά": "α",
"έ": "ε",
"ή": "η",
"ί": "ι",
"ϊ": "ι",
"ΐ": "ι",
"ό": "ο",
"ύ": "υ",
"ϋ": "υ",
"ΰ": "υ",
"ώ": "ω",
"ς": "σ",
"’": "'"
}
}),
e.define("select2/data/base", ["../utils"], function(r) {
function n(e, t) {
n.__super__.constructor.call(this)
}
return r.Extend(n, r.Observable),
n.prototype.current = function(e) {
throw new Error("The `current` method must be defined in child classes.")
}
,
n.prototype.query = function(e, t) {
throw new Error("The `query` method must be defined in child classes.")
}
,
n.prototype.bind = function(e, t) {}
,
n.prototype.destroy = function() {}
,
n.prototype.generateResultId = function(e, t) {
var n = e.id + "-result-";
return n += r.generateChars(4),
null != t.id ? n += "-" + t.id.toString() : n += "-" + r.generateChars(4),
n
}
,
n
}),
e.define("select2/data/select", ["./base", "../utils", "jquery"], function(e, a, l) {
function n(e, t) {
this.$element = e,
this.options = t,
n.__super__.constructor.call(this)
}
return a.Extend(n, e),
n.prototype.current = function(e) {
var n = []
, r = this;
this.$element.find(":selected").each(function() {
var e = l(this)
, t = r.item(e);
n.push(t)
}),
e(n)
}
,
n.prototype.select = function(i) {
var o = this;
if (i.selected = !0,
l(i.element).is("option"))
return i.element.selected = !0,
void this.$element.trigger("change");
if (this.$element.prop("multiple"))
this.current(function(e) {
var t = [];
(i = [i]).push.apply(i, e);
for (var n = 0; n < i.length; n++) {
var r = i[n].id;
-1 === l.inArray(r, t) && t.push(r)
}
o.$element.val(t),
o.$element.trigger("change")
});
else {
var e = i.id;
this.$element.val(e),
this.$element.trigger("change")
}
}
,
n.prototype.unselect = function(i) {
var o = this;
if (this.$element.prop("multiple")) {
if (i.selected = !1,
l(i.element).is("option"))
return i.element.selected = !1,
void this.$element.trigger("change");
this.current(function(e) {
for (var t = [], n = 0; n < e.length; n++) {
var r = e[n].id;
r !== i.id && -1 === l.inArray(r, t) && t.push(r)
}
o.$element.val(t),
o.$element.trigger("change")
})
}
}
,
n.prototype.bind = function(e, t) {
var n = this;
(this.container = e).on("select", function(e) {
n.select(e.data)
}),
e.on("unselect", function(e) {
n.unselect(e.data)
})
}
,
n.prototype.destroy = function() {
this.$element.find("*").each(function() {
a.RemoveData(this)
})
}
,
n.prototype.query = function(r, e) {
var i = []
, o = this;
this.$element.children().each(function() {
var e = l(this);
if (e.is("option") || e.is("optgroup")) {
var t = o.item(e)
, n = o.matches(r, t);
null !== n && i.push(n)
}
}),
e({
results: i
})
}
,
n.prototype.addOptions = function(e) {
a.appendMany(this.$element, e)
}
,
n.prototype.option = function(e) {
var t;
e.children ? (t = document.createElement("optgroup")).label = e.text : void 0 !== (t = document.createElement("option")).textContent ? t.textContent = e.text : t.innerText = e.text,
void 0 !== e.id && (t.value = e.id),
e.disabled && (t.disabled = !0),
e.selected && (t.selected = !0),
e.title && (t.title = e.title);
var n = l(t)
, r = this._normalizeItem(e);
return r.element = t,
a.StoreData(t, "data", r),
n
}
,
n.prototype.item = function(e) {
var t = {};
if (null != (t = a.GetData(e[0], "data")))
return t;
if (e.is("option"))
t = {
id: e.val(),
text: e.text(),
disabled: e.prop("disabled"),
selected: e.prop("selected"),
title: e.prop("title")
};
else if (e.is("optgroup")) {
t = {
text: e.prop("label"),
children: [],
title: e.prop("title")
};
for (var n = e.children("option"), r = [], i = 0; i < n.length; i++) {
var o = l(n[i])
, s = this.item(o);
r.push(s)
}
t.children = r
}
return (t = this._normalizeItem(t)).element = e[0],
a.StoreData(e[0], "data", t),
t
}
,
n.prototype._normalizeItem = function(e) {
e !== Object(e) && (e = {
id: e,
text: e
});
return null != (e = l.extend({}, {
text: ""
}, e)).id && (e.id = e.id.toString()),
null != e.text && (e.text = e.text.toString()),
null == e._resultId && e.id && null != this.container && (e._resultId = this.generateResultId(this.container, e)),
l.extend({}, {
selected: !1,
disabled: !1
}, e)
}
,
n.prototype.matches = function(e, t) {
return this.options.get("matcher")(e, t)
}
,
n
}),
e.define("select2/data/array", ["./select", "../utils", "jquery"], function(e, f, g) {
function r(e, t) {
var n = t.get("data") || [];
r.__super__.constructor.call(this, e, t),
this.addOptions(this.convertToOptions(n))
}
return f.Extend(r, e),
r.prototype.select = function(n) {
var e = this.$element.find("option").filter(function(e, t) {
return t.value == n.id.toString()
});
0 === e.length && (e = this.option(n),
this.addOptions(e)),
r.__super__.select.call(this, n)
}
,
r.prototype.convertToOptions = function(e) {
var t = this
, n = this.$element.find("option")
, r = n.map(function() {
return t.item(g(this)).id
}).get()
, i = [];
function o(e) {
return function() {
return g(this).val() == e.id
}
}
for (var s = 0; s < e.length; s++) {
var a = this._normalizeItem(e[s]);
if (0 <= g.inArray(a.id, r)) {
var l = n.filter(o(a))
, c = this.item(l)
, u = g.extend(!0, {}, a, c)
, d = this.option(u);
l.replaceWith(d)
} else {
var p = this.option(a);
if (a.children) {
var h = this.convertToOptions(a.children);
f.appendMany(p, h)
}
i.push(p)
}
}
return i
}
,
r
}),
e.define("select2/data/ajax", ["./array", "../utils", "jquery"], function(e, t, o) {
function n(e, t) {
this.ajaxOptions = this._applyDefaults(t.get("ajax")),
null != this.ajaxOptions.processResults && (this.processResults = this.ajaxOptions.processResults),
n.__super__.constructor.call(this, e, t)
}
return t.Extend(n, e),
n.prototype._applyDefaults = function(e) {
var t = {
data: function(e) {
return o.extend({}, e, {
q: e.term
})
},
transport: function(e, t, n) {
var r = o.ajax(e);
return r.then(t),
r.fail(n),
r
}
};
return o.extend({}, t, e, !0)
}
,
n.prototype.processResults = function(e) {
return e
}
,
n.prototype.query = function(n, r) {
var i = this;
null != this._request && (o.isFunction(this._request.abort) && this._request.abort(),
this._request = null);
var t = o.extend({
type: "GET"
}, this.ajaxOptions);
function e() {
var e = t.transport(t, function(e) {
var t = i.processResults(e, n);
i.options.get("debug") && window.console && console.error && (t && t.results && o.isArray(t.results) || console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),
r(t)
}, function() {
"status"in e && (0 === e.status || "0" === e.status) || i.trigger("results:message", {
message: "errorLoading"
})
});
i._request = e
}
"function" == typeof t.url && (t.url = t.url.call(this.$element, n)),
"function" == typeof t.data && (t.data = t.data.call(this.$element, n)),
this.ajaxOptions.delay && null != n.term ? (this._queryTimeout && window.clearTimeout(this._queryTimeout),
this._queryTimeout = window.setTimeout(e, this.ajaxOptions.delay)) : e()
}
,
n
}),
e.define("select2/data/tags", ["jquery"], function(u) {
function e(e, t, n) {
var r = n.get("tags")
, i = n.get("createTag");
void 0 !== i && (this.createTag = i);
var o = n.get("insertTag");
if (void 0 !== o && (this.insertTag = o),
e.call(this, t, n),
u.isArray(r))
for (var s = 0; s < r.length; s++) {
var a = r[s]
, l = this._normalizeItem(a)
, c = this.option(l);
this.$element.append(c)
}
}
return e.prototype.query = function(e, c, u) {
var d = this;
this._removeOldTags(),
null != c.term && null == c.page ? e.call(this, c, function e(t, n) {
for (var r = t.results, i = 0; i < r.length; i++) {
var o = r[i]
, s = null != o.children && !e({
results: o.children
}, !0);
if ((o.text || "").toUpperCase() === (c.term || "").toUpperCase() || s)
return !n && (t.data = r,
void u(t))
}
if (n)
return !0;
var a = d.createTag(c);
if (null != a) {
var l = d.option(a);
l.attr("data-select2-tag", !0),
d.addOptions([l]),
d.insertTag(r, a)
}
t.results = r,
u(t)
}) : e.call(this, c, u)
}
,
e.prototype.createTag = function(e, t) {
var n = u.trim(t.term);
return "" === n ? null : {
id: n,
text: n
}
}
,
e.prototype.insertTag = function(e, t, n) {
t.unshift(n)
}
,
e.prototype._removeOldTags = function(e) {
this._lastTag;
this.$element.find("option[data-select2-tag]").each(function() {
this.selected || u(this).remove()
})
}
,
e
}),
e.define("select2/data/tokenizer", ["jquery"], function(d) {
function e(e, t, n) {
var r = n.get("tokenizer");
void 0 !== r && (this.tokenizer = r),
e.call(this, t, n)
}
return e.prototype.bind = function(e, t, n) {
e.call(this, t, n),
this.$search = t.dropdown.$search || t.selection.$search || n.find(".select2-search__field")
}
,
e.prototype.query = function(e, t, n) {
var r = this;
t.term = t.term || "";
var i = this.tokenizer(t, this.options, function(e) {
var t = r._normalizeItem(e);
if (!r.$element.find("option").filter(function() {
return d(this).val() === t.id
}).length) {
var n = r.option(t);
n.attr("data-select2-tag", !0),
r._removeOldTags(),
r.addOptions([n])
}
!function(e) {
r.trigger("select", {
data: e
})
}(t)
});
i.term !== t.term && (this.$search.length && (this.$search.val(i.term),
this.$search.trigger("focus")),
t.term = i.term),
e.call(this, t, n)
}
,
e.prototype.tokenizer = function(e, t, n, r) {
for (var i = n.get("tokenSeparators") || [], o = t.term, s = 0, a = this.createTag || function(e) {
return {
id: e.term,
text: e.term
}
}
; s < o.length; ) {
var l = o[s];
if (-1 !== d.inArray(l, i)) {
var c = o.substr(0, s)
, u = a(d.extend({}, t, {
term: c
}));
null != u ? (r(u),
o = o.substr(s + 1) || "",
s = 0) : s++
} else
s++
}
return {
term: o
}
}
,
e
}),
e.define("select2/data/minimumInputLength", [], function() {
function e(e, t, n) {
this.minimumInputLength = n.get("minimumInputLength"),
e.call(this, t, n)
}
return e.prototype.query = function(e, t, n) {
t.term = t.term || "",
t.term.length < this.minimumInputLength ? this.trigger("results:message", {
message: "inputTooShort",
args: {
minimum: this.minimumInputLength,
input: t.term,
params: t
}
}) : e.call(this, t, n)
}
,
e
}),
e.define("select2/data/maximumInputLength", [], function() {
function e(e, t, n) {
this.maximumInputLength = n.get("maximumInputLength"),
e.call(this, t, n)
}
return e.prototype.query = function(e, t, n) {
t.term = t.term || "",
0 < this.maximumInputLength && t.term.length > this.maximumInputLength ? this.trigger("results:message", {
message: "inputTooLong",
args: {
maximum: this.maximumInputLength,
input: t.term,
params: t
}
}) : e.call(this, t, n)
}
,
e
}),
e.define("select2/data/maximumSelectionLength", [], function() {
function e(e, t, n) {
this.maximumSelectionLength = n.get("maximumSelectionLength"),
e.call(this, t, n)
}
return e.prototype.query = function(n, r, i) {
var o = this;
this.current(function(e) {
var t = null != e ? e.length : 0;
0 < o.maximumSelectionLength && t >= o.maximumSelectionLength ? o.trigger("results:message", {
message: "maximumSelected",
args: {
maximum: o.maximumSelectionLength
}
}) : n.call(o, r, i)
})
}
,
e
}),
e.define("select2/dropdown", ["jquery", "./utils"], function(t, e) {
function n(e, t) {
this.$element = e,
this.options = t,
n.__super__.constructor.call(this)
}
return e.Extend(n, e.Observable),
n.prototype.render = function() {
var e = t('');
return e.attr("dir", this.options.get("dir")),
this.$dropdown = e
}
,
n.prototype.bind = function() {}
,
n.prototype.position = function(e, t) {}
,
n.prototype.destroy = function() {
this.$dropdown.remove()
}
,
n
}),
e.define("select2/dropdown/search", ["jquery", "../utils"], function(i, e) {
function t() {}
return t.prototype.render = function(e) {
var t = e.call(this)
, n = i('');
return this.$searchContainer = n,
this.$search = n.find("input"),
t.prepend(n),
t
}
,
t.prototype.bind = function(e, t, n) {
var r = this;
e.call(this, t, n),
this.$search.on("keydown", function(e) {
r.trigger("keypress", e),
r._keyUpPrevented = e.isDefaultPrevented()
}),
this.$search.on("input", function(e) {
i(this).off("keyup")
}),
this.$search.on("keyup input", function(e) {
r.handleSearch(e)
}),
t.on("open", function() {
r.$search.attr("tabindex", 0),
r.$search.trigger("focus"),
window.setTimeout(function() {
r.$search.trigger("focus")
}, 0)
}),
t.on("close", function() {
r.$search.attr("tabindex", -1),
r.$search.val(""),
r.$search.trigger("blur")
}),
t.on("focus", function() {
t.isOpen() || r.$search.trigger("focus")
}),
t.on("results:all", function(e) {
null != e.query.term && "" !== e.query.term || (r.showSearch(e) ? r.$searchContainer.removeClass("select2-search--hide") : r.$searchContainer.addClass("select2-search--hide"))
})
}
,
t.prototype.handleSearch = function(e) {
if (!this._keyUpPrevented) {
var t = this.$search.val();
this.trigger("query", {
term: t
})
}
this._keyUpPrevented = !1
}
,
t.prototype.showSearch = function(e, t) {
return !0
}
,
t
}),
e.define("select2/dropdown/hidePlaceholder", [], function() {
function e(e, t, n, r) {
this.placeholder = this.normalizePlaceholder(n.get("placeholder")),
e.call(this, t, n, r)
}
return e.prototype.append = function(e, t) {
t.results = this.removePlaceholder(t.results),
e.call(this, t)
}
,
e.prototype.normalizePlaceholder = function(e, t) {
return "string" == typeof t && (t = {
id: "",
text: t
}),
t
}
,
e.prototype.removePlaceholder = function(e, t) {
for (var n = t.slice(0), r = t.length - 1; 0 <= r; r--) {
var i = t[r];
this.placeholder.id === i.id && n.splice(r, 1)
}
return n
}
,
e
}),
e.define("select2/dropdown/infiniteScroll", ["jquery"], function(n) {
function e(e, t, n, r) {
this.lastParams = {},
e.call(this, t, n, r),
this.$loadingMore = this.createLoadingMore(),
this.loading = !1
}
return e.prototype.append = function(e, t) {
this.$loadingMore.remove(),
this.loading = !1,
e.call(this, t),
this.showLoadingMore(t) && (this.$results.append(this.$loadingMore),
this.loadMoreIfNeeded())
}
,
e.prototype.bind = function(e, t, n) {
var r = this;
e.call(this, t, n),
t.on("query", function(e) {
r.lastParams = e,
r.loading = !0
}),
t.on("query:append", function(e) {
r.lastParams = e,
r.loading = !0
}),
this.$results.on("scroll", this.loadMoreIfNeeded.bind(this))
}
,
e.prototype.loadMoreIfNeeded = function() {
var e = n.contains(document.documentElement, this.$loadingMore[0]);
if (!this.loading && e) {
var t = this.$results.offset().top + this.$results.outerHeight(!1);
this.$loadingMore.offset().top + this.$loadingMore.outerHeight(!1) <= t + 50 && this.loadMore()
}
}
,
e.prototype.loadMore = function() {
this.loading = !0;
var e = n.extend({}, {
page: 1
}, this.lastParams);
e.page++,
this.trigger("query:append", e)
}
,
e.prototype.showLoadingMore = function(e, t) {
return t.pagination && t.pagination.more
}
,
e.prototype.createLoadingMore = function() {
var e = n('')
, t = this.options.get("translations").get("loadingMore");
return e.html(t(this.lastParams)),
e
}
,
e
}),
e.define("select2/dropdown/attachBody", ["jquery", "../utils"], function(f, a) {
function e(e, t, n) {
this.$dropdownParent = n.get("dropdownParent") || f(document.body),
e.call(this, t, n)
}
return e.prototype.bind = function(e, t, n) {
var r = this
, i = !1;
e.call(this, t, n),
t.on("open", function() {
r._showDropdown(),
r._attachPositioningHandler(t),
i || (i = !0,
t.on("results:all", function() {
r._positionDropdown(),
r._resizeDropdown()
}),
t.on("results:append", function() {
r._positionDropdown(),
r._resizeDropdown()
}))
}),
t.on("close", function() {
r._hideDropdown(),
r._detachPositioningHandler(t)
}),
this.$dropdownContainer.on("mousedown", function(e) {
e.stopPropagation()
})
}
,
e.prototype.destroy = function(e) {
e.call(this),
this.$dropdownContainer.remove()
}
,
e.prototype.position = function(e, t, n) {
t.attr("class", n.attr("class")),
t.removeClass("select2"),
t.addClass("select2-container--open"),
t.css({
position: "absolute",
top: -999999
}),
this.$container = n
}
,
e.prototype.render = function(e) {
var t = f("")
, n = e.call(this);
return t.append(n),
this.$dropdownContainer = t
}
,
e.prototype._hideDropdown = function(e) {
this.$dropdownContainer.detach()
}
,
e.prototype._attachPositioningHandler = function(e, t) {
var n = this
, r = "scroll.select2." + t.id
, i = "resize.select2." + t.id
, o = "orientationchange.select2." + t.id
, s = this.$container.parents().filter(a.hasScroll);
s.each(function() {
a.StoreData(this, "select2-scroll-position", {
x: f(this).scrollLeft(),
y: f(this).scrollTop()
})
}),
s.on(r, function(e) {
var t = a.GetData(this, "select2-scroll-position");
f(this).scrollTop(t.y)
}),
f(window).on(r + " " + i + " " + o, function(e) {
n._positionDropdown(),
n._resizeDropdown()
})
}
,
e.prototype._detachPositioningHandler = function(e, t) {
var n = "scroll.select2." + t.id
, r = "resize.select2." + t.id
, i = "orientationchange.select2." + t.id;
this.$container.parents().filter(a.hasScroll).off(n),
f(window).off(n + " " + r + " " + i)
}
,
e.prototype._positionDropdown = function() {
var e = f(window)
, t = this.$dropdown.hasClass("select2-dropdown--above")
, n = this.$dropdown.hasClass("select2-dropdown--below")
, r = null
, i = this.$container.offset();
i.bottom = i.top + this.$container.outerHeight(!1);
var o = {
height: this.$container.outerHeight(!1)
};
o.top = i.top,
o.bottom = i.top + o.height;
var s = this.$dropdown.outerHeight(!1)
, a = e.scrollTop()
, l = e.scrollTop() + e.height()
, c = a < i.top - s
, u = l > i.bottom + s
, d = {
left: i.left,
top: o.bottom
}
, p = this.$dropdownParent;
"static" === p.css("position") && (p = p.offsetParent());
var h = p.offset();
d.top -= h.top,
d.left -= h.left,
t || n || (r = "below"),
u || !c || t ? !c && u && t && (r = "below") : r = "above",
("above" == r || t && "below" !== r) && (d.top = o.top - h.top - s),
null != r && (this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--" + r),
this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--" + r)),
this.$dropdownContainer.css(d)
}
,
e.prototype._resizeDropdown = function() {
var e = {
width: this.$container.outerWidth(!1) + "px"
};
this.options.get("dropdownAutoWidth") && (e.minWidth = e.width,
e.position = "relative",
e.width = "auto"),
this.$dropdown.css(e)
}
,
e.prototype._showDropdown = function(e) {
this.$dropdownContainer.appendTo(this.$dropdownParent),
this._positionDropdown(),
this._resizeDropdown()
}
,
e
}),
e.define("select2/dropdown/minimumResultsForSearch", [], function() {
function e(e, t, n, r) {
this.minimumResultsForSearch = n.get("minimumResultsForSearch"),
this.minimumResultsForSearch < 0 && (this.minimumResultsForSearch = 1 / 0),
e.call(this, t, n, r)
}
return e.prototype.showSearch = function(e, t) {
return !(function e(t) {
for (var n = 0, r = 0; r < t.length; r++) {
var i = t[r];
i.children ? n += e(i.children) : n++
}
return n
}(t.data.results) < this.minimumResultsForSearch) && e.call(this, t)
}
,
e
}),
e.define("select2/dropdown/selectOnClose", ["../utils"], function(o) {
function e() {}
return e.prototype.bind = function(e, t, n) {
var r = this;
e.call(this, t, n),
t.on("close", function(e) {
r._handleSelectOnClose(e)
})
}
,
e.prototype._handleSelectOnClose = function(e, t) {
if (t && null != t.originalSelect2Event) {
var n = t.originalSelect2Event;
if ("select" === n._type || "unselect" === n._type)
return
}
var r = this.getHighlightedResults();
if (!(r.length < 1)) {
var i = o.GetData(r[0], "data");
null != i.element && i.element.selected || null == i.element && i.selected || this.trigger("select", {
data: i
})
}
}
,
e
}),
e.define("select2/dropdown/closeOnSelect", [], function() {
function e() {}
return e.prototype.bind = function(e, t, n) {
var r = this;
e.call(this, t, n),
t.on("select", function(e) {
r._selectTriggered(e)
}),
t.on("unselect", function(e) {
r._selectTriggered(e)
})
}
,
e.prototype._selectTriggered = function(e, t) {
var n = t.originalEvent;
n && (n.ctrlKey || n.metaKey) || this.trigger("close", {
originalEvent: n,
originalSelect2Event: t
})
}
,
e
}),
e.define("select2/i18n/en", [], function() {
return {
errorLoading: function() {
return "The results could not be loaded."
},
inputTooLong: function(e) {
var t = e.input.length - e.maximum
, n = "Please delete " + t + " character";
return 1 != t && (n += "s"),
n
},
inputTooShort: function(e) {
return "Please enter " + (e.minimum - e.input.length) + " or more characters"
},
loadingMore: function() {
return "Loading more results…"
},
maximumSelected: function(e) {
var t = "You can only select " + e.maximum + " item";
return 1 != e.maximum && (t += "s"),
t
},
noResults: function() {
return "No results found"
},
searching: function() {
return "Searching…"
},
removeAllItems: function() {
return "Remove all items"
}
}
}),
e.define("select2/defaults", ["jquery", "require", "./results", "./selection/single", "./selection/multiple", "./selection/placeholder", "./selection/allowClear", "./selection/search", "./selection/eventRelay", "./utils", "./translation", "./diacritics", "./data/select", "./data/array", "./data/ajax", "./data/tags", "./data/tokenizer", "./data/minimumInputLength", "./data/maximumInputLength", "./data/maximumSelectionLength", "./dropdown", "./dropdown/search", "./dropdown/hidePlaceholder", "./dropdown/infiniteScroll", "./dropdown/attachBody", "./dropdown/minimumResultsForSearch", "./dropdown/selectOnClose", "./dropdown/closeOnSelect", "./i18n/en"], function(f, g, m, v, y, _, $, w, b, A, x, t, D, S, E, C, O, T, q, L, j, I, P, k, R, U, M, z, e) {
function n() {
this.reset()
}
return n.prototype.apply = function(t) {
if (null == (t = f.extend(!0, {}, this.defaults, t)).dataAdapter) {
if (null != t.ajax ? t.dataAdapter = E : null != t.data ? t.dataAdapter = S : t.dataAdapter = D,
0 < t.minimumInputLength && (t.dataAdapter = A.Decorate(t.dataAdapter, T)),
0 < t.maximumInputLength && (t.dataAdapter = A.Decorate(t.dataAdapter, q)),
0 < t.maximumSelectionLength && (t.dataAdapter = A.Decorate(t.dataAdapter, L)),
t.tags && (t.dataAdapter = A.Decorate(t.dataAdapter, C)),
null == t.tokenSeparators && null == t.tokenizer || (t.dataAdapter = A.Decorate(t.dataAdapter, O)),
null != t.query) {
var e = g(t.amdBase + "compat/query");
t.dataAdapter = A.Decorate(t.dataAdapter, e)
}
if (null != t.initSelection) {
var n = g(t.amdBase + "compat/initSelection");
t.dataAdapter = A.Decorate(t.dataAdapter, n)
}
}
if (null == t.resultsAdapter && (t.resultsAdapter = m,
null != t.ajax && (t.resultsAdapter = A.Decorate(t.resultsAdapter, k)),
null != t.placeholder && (t.resultsAdapter = A.Decorate(t.resultsAdapter, P)),
t.selectOnClose && (t.resultsAdapter = A.Decorate(t.resultsAdapter, M))),
null == t.dropdownAdapter) {
if (t.multiple)
t.dropdownAdapter = j;
else {
var r = A.Decorate(j, I);
t.dropdownAdapter = r
}
if (0 !== t.minimumResultsForSearch && (t.dropdownAdapter = A.Decorate(t.dropdownAdapter, U)),
t.closeOnSelect && (t.dropdownAdapter = A.Decorate(t.dropdownAdapter, z)),
null != t.dropdownCssClass || null != t.dropdownCss || null != t.adaptDropdownCssClass) {
var i = g(t.amdBase + "compat/dropdownCss");
t.dropdownAdapter = A.Decorate(t.dropdownAdapter, i)
}
t.dropdownAdapter = A.Decorate(t.dropdownAdapter, R)
}
if (null == t.selectionAdapter) {
if (t.multiple ? t.selectionAdapter = y : t.selectionAdapter = v,
null != t.placeholder && (t.selectionAdapter = A.Decorate(t.selectionAdapter, _)),
t.allowClear && (t.selectionAdapter = A.Decorate(t.selectionAdapter, $)),
t.multiple && (t.selectionAdapter = A.Decorate(t.selectionAdapter, w)),
null != t.containerCssClass || null != t.containerCss || null != t.adaptContainerCssClass) {
var o = g(t.amdBase + "compat/containerCss");
t.selectionAdapter = A.Decorate(t.selectionAdapter, o)
}
t.selectionAdapter = A.Decorate(t.selectionAdapter, b)
}
if ("string" == typeof t.language)
if (0 < t.language.indexOf("-")) {
var s = t.language.split("-")[0];
t.language = [t.language, s]
} else
t.language = [t.language];
if (f.isArray(t.language)) {
var a = new x;
t.language.push("en");
for (var l = t.language, c = 0; c < l.length; c++) {
var u = l[c]
, d = {};
try {
d = x.loadPath(u)
} catch (e) {
try {
u = this.defaults.amdLanguageBase + u,
d = x.loadPath(u)
} catch (e) {
t.debug && window.console && console.warn && console.warn('Select2: The language file for "' + u + '" could not be automatically loaded. A fallback will be used instead.');
continue
}
}
a.extend(d)
}
t.translations = a
} else {
var p = x.loadPath(this.defaults.amdLanguageBase + "en")
, h = new x(t.language);
h.extend(p),
t.translations = h
}
return t
}
,
n.prototype.reset = function() {
function a(e) {
return e.replace(/[^\u0000-\u007E]/g, function(e) {
return t[e] || e
})
}
this.defaults = {
amdBase: "./",
amdLanguageBase: "./i18n/",
closeOnSelect: !0,
debug: !1,
dropdownAutoWidth: !1,
escapeMarkup: A.escapeMarkup,
language: e,
matcher: function e(t, n) {
if ("" === f.trim(t.term))
return n;
if (n.children && 0 < n.children.length) {
for (var r = f.extend(!0, {}, n), i = n.children.length - 1; 0 <= i; i--)
null == e(t, n.children[i]) && r.children.splice(i, 1);
return 0 < r.children.length ? r : e(t, r)
}
var o = a(n.text).toUpperCase()
, s = a(t.term).toUpperCase();
return -1 < o.indexOf(s) ? n : null
},
minimumInputLength: 0,
maximumInputLength: 0,
maximumSelectionLength: 0,
minimumResultsForSearch: 0,
selectOnClose: !1,
scrollAfterSelect: !1,
sorter: function(e) {
return e
},
templateResult: function(e) {
return e.text
},
templateSelection: function(e) {
return e.text
},
theme: "default",
width: "resolve"
}
}
,
n.prototype.set = function(e, t) {
var n = {};
n[f.camelCase(e)] = t;
var r = A._convertData(n);
f.extend(!0, this.defaults, r)
}
,
new n
}),
e.define("select2/options", ["require", "jquery", "./defaults", "./utils"], function(r, d, i, p) {
function e(e, t) {
if (this.options = e,
null != t && this.fromElement(t),
this.options = i.apply(this.options),
t && t.is("input")) {
var n = r(this.get("amdBase") + "compat/inputData");
this.options.dataAdapter = p.Decorate(this.options.dataAdapter, n)
}
}
return e.prototype.fromElement = function(e) {
var t = ["select2"];
null == this.options.multiple && (this.options.multiple = e.prop("multiple")),
null == this.options.disabled && (this.options.disabled = e.prop("disabled")),
null == this.options.language && (e.prop("lang") ? this.options.language = e.prop("lang").toLowerCase() : e.closest("[lang]").prop("lang") && (this.options.language = e.closest("[lang]").prop("lang"))),
null == this.options.dir && (e.prop("dir") ? this.options.dir = e.prop("dir") : e.closest("[dir]").prop("dir") ? this.options.dir = e.closest("[dir]").prop("dir") : this.options.dir = "ltr"),
e.prop("disabled", this.options.disabled),
e.prop("multiple", this.options.multiple),
p.GetData(e[0], "select2Tags") && (this.options.debug && window.console && console.warn && console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),
p.StoreData(e[0], "data", p.GetData(e[0], "select2Tags")),
p.StoreData(e[0], "tags", !0)),
p.GetData(e[0], "ajaxUrl") && (this.options.debug && window.console && console.warn && console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),
e.attr("ajax--url", p.GetData(e[0], "ajaxUrl")),
p.StoreData(e[0], "ajax-Url", p.GetData(e[0], "ajaxUrl")));
var n = {};
function r(e, t) {
return t.toUpperCase()
}
for (var i = 0; i < e[0].attributes.length; i++) {
var o = e[0].attributes[i].name
, s = "data-";
if (o.substr(0, s.length) == s) {
var a = o.substring(s.length)
, l = p.GetData(e[0], a);
n[a.replace(/-([a-z])/g, r)] = l
}
}
d.fn.jquery && "1." == d.fn.jquery.substr(0, 2) && e[0].dataset && (n = d.extend(!0, {}, e[0].dataset, n));
var c = d.extend(!0, {}, p.GetData(e[0]), n);
for (var u in c = p._convertData(c))
-1 < d.inArray(u, t) || (d.isPlainObject(this.options[u]) ? d.extend(this.options[u], c[u]) : this.options[u] = c[u]);
return this
}
,
e.prototype.get = function(e) {
return this.options[e]
}
,
e.prototype.set = function(e, t) {
this.options[e] = t
}
,
e
}),
e.define("select2/core", ["jquery", "./options", "./utils", "./keys"], function(i, c, u, r) {
var d = function(e, t) {
null != u.GetData(e[0], "select2") && u.GetData(e[0], "select2").destroy(),
this.$element = e,
this.id = this._generateId(e),
t = t || {},
this.options = new c(t,e),
d.__super__.constructor.call(this);
var n = e.attr("tabindex") || 0;
u.StoreData(e[0], "old-tabindex", n),
e.attr("tabindex", "-1");
var r = this.options.get("dataAdapter");
this.dataAdapter = new r(e,this.options);
var i = this.render();
this._placeContainer(i);
var o = this.options.get("selectionAdapter");
this.selection = new o(e,this.options),
this.$selection = this.selection.render(),
this.selection.position(this.$selection, i);
var s = this.options.get("dropdownAdapter");
this.dropdown = new s(e,this.options),
this.$dropdown = this.dropdown.render(),
this.dropdown.position(this.$dropdown, i);
var a = this.options.get("resultsAdapter");
this.results = new a(e,this.options,this.dataAdapter),
this.$results = this.results.render(),
this.results.position(this.$results, this.$dropdown);
var l = this;
this._bindAdapters(),
this._registerDomEvents(),
this._registerDataEvents(),
this._registerSelectionEvents(),
this._registerDropdownEvents(),
this._registerResultsEvents(),
this._registerEvents(),
this.dataAdapter.current(function(e) {
l.trigger("selection:update", {
data: e
})
}),
e.addClass("select2-hidden-accessible"),
e.attr("aria-hidden", "true"),
this._syncAttributes(),
u.StoreData(e[0], "select2", this),
e.data("select2", this)
};
return u.Extend(d, u.Observable),
d.prototype._generateId = function(e) {
return "select2-" + (null != e.attr("id") ? e.attr("id") : null != e.attr("name") ? e.attr("name") + "-" + u.generateChars(2) : u.generateChars(4)).replace(/(:|\.|\[|\]|,)/g, "")
}
,
d.prototype._placeContainer = function(e) {
e.insertAfter(this.$element);
var t = this._resolveWidth(this.$element, this.options.get("width"));
null != t && e.css("width", t)
}
,
d.prototype._resolveWidth = function(e, t) {
var n = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;
if ("resolve" == t) {
var r = this._resolveWidth(e, "style");
return null != r ? r : this._resolveWidth(e, "element")
}
if ("element" == t) {
var i = e.outerWidth(!1);
return i <= 0 ? "auto" : i + "px"
}
if ("style" != t)
return "computedstyle" != t ? t : window.getComputedStyle(e[0]).width;
var o = e.attr("style");
if ("string" != typeof o)
return null;
for (var s = o.split(";"), a = 0, l = s.length; a < l; a += 1) {
var c = s[a].replace(/\s/g, "").match(n);
if (null !== c && 1 <= c.length)
return c[1]
}
return null
}
,
d.prototype._bindAdapters = function() {
this.dataAdapter.bind(this, this.$container),
this.selection.bind(this, this.$container),
this.dropdown.bind(this, this.$container),
this.results.bind(this, this.$container)
}
,
d.prototype._registerDomEvents = function() {
var t = this;
this.$element.on("change.select2", function() {
t.dataAdapter.current(function(e) {
t.trigger("selection:update", {
data: e
})
})
}),
this.$element.on("focus.select2", function(e) {
t.trigger("focus", e)
}),
this._syncA = u.bind(this._syncAttributes, this),
this._syncS = u.bind(this._syncSubtree, this),
this.$element[0].attachEvent && this.$element[0].attachEvent("onpropertychange", this._syncA);
var e = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
null != e ? (this._observer = new e(function(e) {
i.each(e, t._syncA),
i.each(e, t._syncS)
}
),
this._observer.observe(this.$element[0], {
attributes: !0,
childList: !0,
subtree: !1
})) : this.$element[0].addEventListener && (this.$element[0].addEventListener("DOMAttrModified", t._syncA, !1),
this.$element[0].addEventListener("DOMNodeInserted", t._syncS, !1),
this.$element[0].addEventListener("DOMNodeRemoved", t._syncS, !1))
}
,
d.prototype._registerDataEvents = function() {
var n = this;
this.dataAdapter.on("*", function(e, t) {
n.trigger(e, t)
})
}
,
d.prototype._registerSelectionEvents = function() {
var n = this
, r = ["toggle", "focus"];
this.selection.on("toggle", function() {
n.toggleDropdown()
}),
this.selection.on("focus", function(e) {
n.focus(e)
}),
this.selection.on("*", function(e, t) {
-1 === i.inArray(e, r) && n.trigger(e, t)
})
}
,
d.prototype._registerDropdownEvents = function() {
var n = this;
this.dropdown.on("*", function(e, t) {
n.trigger(e, t)
})
}
,
d.prototype._registerResultsEvents = function() {
var n = this;
this.results.on("*", function(e, t) {
n.trigger(e, t)
})
}
,
d.prototype._registerEvents = function() {
var n = this;
this.on("open", function() {
n.$container.addClass("select2-container--open")
}),
this.on("close", function() {
n.$container.removeClass("select2-container--open")
}),
this.on("enable", function() {
n.$container.removeClass("select2-container--disabled")
}),
this.on("disable", function() {
n.$container.addClass("select2-container--disabled")
}),
this.on("blur", function() {
n.$container.removeClass("select2-container--focus")
}),
this.on("query", function(t) {
n.isOpen() || n.trigger("open", {}),
this.dataAdapter.query(t, function(e) {
n.trigger("results:all", {
data: e,
query: t
})
})
}),
this.on("query:append", function(t) {
this.dataAdapter.query(t, function(e) {
n.trigger("results:append", {
data: e,
query: t
})
})
}),
this.on("keypress", function(e) {
var t = e.which;
n.isOpen() ? t === r.ESC || t === r.TAB || t === r.UP && e.altKey ? (n.close(),
e.preventDefault()) : t === r.ENTER ? (n.trigger("results:select", {}),
e.preventDefault()) : t === r.SPACE && e.ctrlKey ? (n.trigger("results:toggle", {}),
e.preventDefault()) : t === r.UP ? (n.trigger("results:previous", {}),
e.preventDefault()) : t === r.DOWN && (n.trigger("results:next", {}),
e.preventDefault()) : (t === r.ENTER || t === r.SPACE || t === r.DOWN && e.altKey) && (n.open(),
e.preventDefault())
})
}
,
d.prototype._syncAttributes = function() {
this.options.set("disabled", this.$element.prop("disabled")),
this.options.get("disabled") ? (this.isOpen() && this.close(),
this.trigger("disable", {})) : this.trigger("enable", {})
}
,
d.prototype._syncSubtree = function(e, t) {
var n = !1
, r = this;
if (!e || !e.target || "OPTION" === e.target.nodeName || "OPTGROUP" === e.target.nodeName) {
if (t)
if (t.addedNodes && 0 < t.addedNodes.length)
for (var i = 0; i < t.addedNodes.length; i++) {
t.addedNodes[i].selected && (n = !0)
}
else
t.removedNodes && 0 < t.removedNodes.length && (n = !0);
else
n = !0;
n && this.dataAdapter.current(function(e) {
r.trigger("selection:update", {
data: e
})
})
}
}
,
d.prototype.trigger = function(e, t) {
var n = d.__super__.trigger
, r = {
open: "opening",
close: "closing",
select: "selecting",
unselect: "unselecting",
clear: "clearing"
};
if (void 0 === t && (t = {}),
e in r) {
var i = r[e]
, o = {
prevented: !1,
name: e,
args: t
};
if (n.call(this, i, o),
o.prevented)
return void (t.prevented = !0)
}
n.call(this, e, t)
}
,
d.prototype.toggleDropdown = function() {
this.options.get("disabled") || (this.isOpen() ? this.close() : this.open())
}
,
d.prototype.open = function() {
this.isOpen() || this.trigger("query", {})
}
,
d.prototype.close = function() {
this.isOpen() && this.trigger("close", {})
}
,
d.prototype.isOpen = function() {
return this.$container.hasClass("select2-container--open")
}
,
d.prototype.hasFocus = function() {
return this.$container.hasClass("select2-container--focus")
}
,
d.prototype.focus = function(e) {
this.hasFocus() || (this.$container.addClass("select2-container--focus"),
this.trigger("focus", {}))
}
,
d.prototype.enable = function(e) {
this.options.get("debug") && window.console && console.warn && console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),
null != e && 0 !== e.length || (e = [!0]);
var t = !e[0];
this.$element.prop("disabled", t)
}
,
d.prototype.data = function() {
this.options.get("debug") && 0 < arguments.length && window.console && console.warn && console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');
var t = [];
return this.dataAdapter.current(function(e) {
t = e
}),
t
}
,
d.prototype.val = function(e) {
if (this.options.get("debug") && window.console && console.warn && console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),
null == e || 0 === e.length)
return this.$element.val();
var t = e[0];
i.isArray(t) && (t = i.map(t, function(e) {
return e.toString()
})),
this.$element.val(t).trigger("change")
}
,
d.prototype.destroy = function() {
this.$container.remove(),
this.$element[0].detachEvent && this.$element[0].detachEvent("onpropertychange", this._syncA),
null != this._observer ? (this._observer.disconnect(),
this._observer = null) : this.$element[0].removeEventListener && (this.$element[0].removeEventListener("DOMAttrModified", this._syncA, !1),
this.$element[0].removeEventListener("DOMNodeInserted", this._syncS, !1),
this.$element[0].removeEventListener("DOMNodeRemoved", this._syncS, !1)),
this._syncA = null,
this._syncS = null,
this.$element.off(".select2"),
this.$element.attr("tabindex", u.GetData(this.$element[0], "old-tabindex")),
this.$element.removeClass("select2-hidden-accessible"),
this.$element.attr("aria-hidden", "false"),
u.RemoveData(this.$element[0]),
this.$element.removeData("select2"),
this.dataAdapter.destroy(),
this.selection.destroy(),
this.dropdown.destroy(),
this.results.destroy(),
this.dataAdapter = null,
this.selection = null,
this.dropdown = null,
this.results = null
}
,
d.prototype.render = function() {
var e = i('');
return e.attr("dir", this.options.get("dir")),
this.$container = e,
this.$container.addClass("select2-container--" + this.options.get("theme")),
u.StoreData(e[0], "element", this.$element),
e
}
,
d
}),
e.define("jquery-mousewheel", ["jquery"], function(e) {
return e
}),
e.define("jquery.select2", ["jquery", "jquery-mousewheel", "./select2/core", "./select2/defaults", "./select2/utils"], function(i, e, o, t, s) {
if (null == i.fn.select2) {
var a = ["open", "close", "destroy"];
i.fn.select2 = function(t) {
if ("object" == typeof (t = t || {}))
return this.each(function() {
var e = i.extend(!0, {}, t);
new o(i(this),e)
}),
this;
if ("string" != typeof t)
throw new Error("Invalid arguments for Select2: " + t);
var n, r = Array.prototype.slice.call(arguments, 1);
return this.each(function() {
var e = s.GetData(this, "select2");
null == e && window.console && console.error && console.error("The select2('" + t + "') method was called on an element that is not using Select2."),
n = e[t].apply(e, r)
}),
-1 < i.inArray(t, a) ? this : n
}
}
return null == i.fn.select2.defaults && (i.fn.select2.defaults = t),
o
}),
{
define: e.define,
require: e.require
}
}()
, t = e.require("jquery.select2");
return u.fn.select2.amd = e,
t
});