0% found this document useful (0 votes)
9 views118 pages

paid membership

The document is a JavaScript file for Select2 version 4.1.0-beta.0, a jQuery-based replacement for select boxes. It includes various functions and methods for managing dependencies, extending functionalities, and handling events within the Select2 framework. The code also defines utility functions for rendering results and managing data associated with the Select2 elements.

Uploaded by

Thanh Thao
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views118 pages

paid membership

The document is a JavaScript file for Select2 version 4.1.0-beta.0, a jQuery-based replacement for select boxes. It includes various functions and methods for managing dependencies, extending functionalities, and handling events within the Select2 framework. The code also defines utility functions for rendering results and managing data associated with the Select2 elements.

Uploaded by

Thanh Thao
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 118

/*! Select2 4.1.0-beta.0 | 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),

: 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, s, o, 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, s, o, a, l, c, u, d, p, h = t && t.split("/"), f = y.map, g = f && f["*"] || {};

if (e) {

for (o = (e = e.split("/")).length - 1,

y.nodeIdCompat && w.test(e[o]) && (e[o] = e[o].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]) {

s = i,

a = u;

break

if (s)

break;

!l && g && g[r] && (l = g[r],

c = u)

!s && l && (s = l,

a = c),

s && (n.splice(0, a, s),

e = n.join("/"))

return e

function x(t, n) {

return function() {

var e = a.call(arguments, 0);

return "string" != typeof e[0] && 1 === e.length && e.push(null),

o.apply(h, e.concat([t, n]))


}

function A(t) {

return function(e) {

m[t] = e

function D(e) {

if (b(v, e)) {

var t = v[e];

delete v[e],

_[e] = !0,

s.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], s = t[1];

return e = r[1],

i && (n = D(i = l(i, s))),

i ? e = n && n.normalize ? n.normalize(e, function(t) {

return function(e) {

return l(e, t)

}(s)) : l(e, s) : (i = (r = c(e = l(e, s)))[0],

e = r[1],

i && (n = D(i))),

f: i ? i + "!" + e : e,

n: e,

pr: i,

p: n

g={

require: function(e) {

return x(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)

},

s = function(e, t, n, r) {

var i, s, o, 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" === (s = (a = f(t[l], c)).f))

d[l] = g.require(e);

else if ("exports" === s)

d[l] = g.exports(e),

u = !0;

else if ("module" === s)

i = d[l] = g.module(e);

else if (b(m, s) || b(v, s) || b(_, s))

d[l] = D(s);

else {

if (!a.p)

throw new Error(e + " missing " + s);


a.p.load(a.n, x(r, !0), A(s), {}),

d[l] = m[s]

o = n ? n.apply(m[e], d) : void 0,

e && (i && i.exports !== h && i.exports !== m[e] ? m[e] = i.exports : o === h && u || (m[e] =
o))

} else

e && (m[e] = n)

t = n = o = 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 && o(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 ? s(h, e, t, n) : setTimeout(function() {

s(h, e, t, n)

}, 4),

,
o.config = function(e) {

return o(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.define("select2/utils", ["jquery"], function(s) {

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,

i.Decorate = function(r, i) {

var e = u(i)

, t = u(r);

function s() {

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,

s.prototype = new function() {

this.constructor = s
}

for (var n = 0; n < t.length; n++) {

var o = t[n];

s.prototype[o] = r.prototype[o]

function a(e) {

var t = function() {};

e in s.prototype && (t = s.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];

s.prototype[c] = a(c)

return s

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 s = n[i];

(s = s.substring(0, 1).toLowerCase() + s.substring(1))in r || (r[s] = {}),

i == n.length - 1 && (r[s] = e[t]),

r = r[s]

delete e[t]

return e

i.hasScroll = function(e, t) {

var n = s(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 = {

"\\": "&#92;",

"&": "&amp;",

"<": "&lt;",

">": "&gt;",

'"': "&quot;",

"'": "&#39;",

"/": "&#47;"
};

return "string" != typeof e ? e : String(e).replace(/[&<>"'\/\\]/g, function(e) {

return t[e]

})

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())),

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] : s(e).data(t) : i.__cache[n]

i.RemoveData = function(e) {

var t = i.GetUniqueElementId(e);

null != i.__cache[t] && delete i.__cache[t],

e.removeAttribute("data-select2-id")
}

i.copyNonInternalCssClasses = function(e, t) {

var n = e.getAttribute("class").trim().split(/\s+/);

n = n.filter(function(e) {

return 0 === e.indexOf("select2-")

});

var r = t.getAttribute("class").trim().split(/\s+/);

r = r.filter(function(e) {

return 0 !== e.indexOf("select2-")

});

var i = n.concat(r);

e.setAttribute("class", i.join(" "))

}),

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('<ul class="select2-results__options" role="listbox"></ul>');

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('<li role="alert" aria-live="assertive" class="select2-results__option"></li>')

, 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 = e.map(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 < r.indexOf(n) ?
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: "option",

"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 s = n[i];

t.setAttribute(i, s)

if (e.children) {

var o = 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("<ul></ul>", {

class: "select2-results__options select2-results__options--nested"

});

p.append(l),

o.append(a),

o.append(p)

} else
this.template(e, t);

return f.StoreData(t, "data", e),

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 s = l.$results.offset().top

, o = i.offset().top

, a = l.$results.scrollTop() + (o - s);

0 === r ? l.$results.scrollTop(0) : o - s < 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)

, s = r.offset().top + r.outerHeight(!1)

, o = l.$results.scrollTop() + s - i;

0 === n ? l.$results.scrollTop(0) : i < s && l.$results.scrollTop(o)

}),

t.on("results:focus", function(e) {

e.element[0].classList.add("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)

, s = r - n;

i -= 2 * e.outerHeight(!1),

t <= 2 ? this.$results.scrollTop(0) : (s > this.$results.outerHeight() || s < 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)

}),

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 s(e, t) {

this.$element = e,

this.options = t,

s.__super__.constructor.call(this)

return r.Extend(s, r.Observable),

s.prototype.render = function() {

var e = n('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-


expanded="false"></span>');

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),

e.attr("aria-disabled", "false"),

this.$selection = e

s.prototype.bind = function(e, t) {

var n = this

, r = 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),

n.$selection.attr("aria-disabled", "false")

}),

e.on("disable", function() {

n.$selection.attr("tabindex", "-1"),

n.$selection.attr("aria-disabled", "true")

})

s.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)

s.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() {
this != t[0] && r.GetData(this, "element").select2("close")

})

})

s.prototype._detachCloseHandler = function(e) {

n(document.body).off("mousedown.select2." + e.id)

s.prototype.position = function(e, t) {

t.find(".selection").append(e)

s.prototype.destroy = function() {

this._detachCloseHandler(this.container)

s.prototype.update = function(e) {

throw new Error("The `update` method must be defined in child classes.")

s.prototype.isEnabled = function() {

return !this.isDisabled()

s.prototype.isDisabled = function() {

return this.options.get("disabled")

}),
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[0].classList.add("select2-selection--single"),

e.html('<span class="select2-selection__rendered"></span><span class="select2-


selection__arrow" role="presentation"><b role="presentation"></b></span>'),

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("<span></span>")

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);

var i = t.title || t.text;

i ? n.attr("title", i) : n.removeAttr("title")

} else

this.clear()

}),

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[0].classList.add("select2-selection--multiple"),

e.html('<ul class="select2-selection__rendered"></ul>'),

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.isDisabled()) {

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('<li class="select2-selection__choice"><span class="select2-


selection__choice__remove" role="presentation">&times;</span></li>')

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()

, s = this.display(r, i);

i.append(s);

var o = r.title || r.text;

o && i.attr("title", o),

a.StoreData(i[0], "data", r),

t.push(i)

this.$selection.find(".select2-selection__rendered").append(t)

}
,

}),

e.define("select2/selection/placeholder", [], function() {

function e(e, t, n) {

this.placeholder = this.normalizePlaceholder(n.get("placeholder")),

e.call(this, t, n)

return e.prototype.normalizePlaceholder = function(e, t) {

return "string" == typeof t && (t = {

id: "",

text: t

}),

e.prototype.createPlaceholder = function(e, t) {

var n = this.selectionContainer();

return n.html(this.display(t)),

n[0].classList.add("select2-selection__placeholder"),

n[0].classList.remove("select2-selection__choice"),

e.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)
}

}),

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.isDisabled()) {

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 s = {

data: r

};

if (this.trigger("clear", s),
s.prevented)

this.$element.val(i);

else {

for (var o = 0; o < r.length; o++)

if (s = {

data: r[o]

},

this.trigger("unselect", s),

s.prevented)

return void this.$element.val(i);

this.$element.trigger("input").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('<span class="select2-selection__clear" title="' + n() + '">&times;</span>');

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, a, l) {

function e(e, t, n) {

e.call(this, t, n)

return e.prototype.render = function(e) {

var t = r('<li class="select2-search select2-search--inline"><input class="select2-


search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off"
autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></li>');

this.$searchContainer = t,

this.$search = t.find("input");

var n = e.call(this);

return this._transferTabIndex(),

e.prototype.bind = function(e, t, n) {

var r = this

, i = t.id + "-results";

e.call(this, t, n),

t.on("open", function() {

r.$search.attr("aria-controls", i),

r.$search.trigger("focus")

}),

t.on("close", function() {

r.$search.val(""),

r.$search.removeAttr("aria-controls"),

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) {

e.data._resultId ? r.$search.attr("aria-activedescendant", e.data._resultId) : r.


$search.removeAttr("aria-activedescendant")

}),

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 === l.BACKSPACE && "" === r.$search.val()) {

var t = r.$searchContainer.prev(".select2-selection__choice");

if (0 < t.length) {

var n = a.GetData(t[0], "data");

r.searchRemoveChoice(n),

e.preventDefault()

}
}),

this.$selection.on("click", ".select2-search--inline", function(e) {

r.$search.val() && e.stopPropagation()

});

var s = document.documentMode

, o = s && s <= 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 != l.SHIFT && t != l.CTRL && t != l.ALT && t != l.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").width() : e = .75 * (this.$search.val().length + 1) + "em";

this.$search.css("width", e)
}

}),

e.define("select2/selection/selectionCss", ["../utils"], function(r) {

function e() {}

return e.prototype.render = function(e) {

var t = e.call(this)

, n = this.options.get("selectionCssClass") || "";

return -1 !== n.indexOf(":all:") && (n = n.replace(":all:", ""),

r.copyNonInternalCssClasses(t[0], this.$element[0])),

t.addClass(n),

}),

e.define("select2/selection/eventRelay", ["jquery"], function(o) {

function e() {}

return e.prototype.bind = function(e, t, n) {

var r = this

, i = ["open", "opening", "close", "closing", "select", "selecting", "unselect", "unselecting",


"clear", "clearing"]

, s = ["opening", "closing", "selecting", "unselecting", "clearing"];

e.call(this, t, n),

t.on("*", function(e, t) {

if (-1 !== i.indexOf(e)) {

t = t || {};

var n = o.Event("select2:" + e, {

params: t

});
r.$element.trigger(n),

-1 !== s.indexOf(e) && (t.prevented = n.isDefaultPrevented())

})

}),

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])


}

}),

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),

}),

e.define("select2/data/select", ["./base", "../utils", "jquery"], function(e, l, c) {

function n(e, t) {

this.$element = e,

this.options = t,

n.__super__.constructor.call(this)

return l.Extend(n, e),

n.prototype.current = function(e) {

var t = this;

e(Array.prototype.map.call(this.$element[0].querySelectorAll(":checked"), function(e) {

return t.item(c(e))

}))

n.prototype.select = function(i) {

var s = this;

if (i.selected = !0,

null != i.element && "option" === i.element.tagName.toLowerCase())

return i.element.selected = !0,

void this.$element.trigger("input").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 === t.indexOf(r) && t.push(r)

s.$element.val(t),

s.$element.trigger("input").trigger("change")

});

else {

var e = i.id;

this.$element.val(e),

this.$element.trigger("input").trigger("change")

n.prototype.unselect = function(i) {

var s = this;

if (this.$element.prop("multiple")) {

if (i.selected = !1,

null != i.element && "option" === i.element.tagName.toLowerCase())

return i.element.selected = !1,

void this.$element.trigger("input").trigger("change");

this.current(function(e) {

for (var t = [], n = 0; n < e.length; n++) {

var r = e[n].id;

r !== i.id && -1 === t.indexOf(r) && t.push(r)

s.$element.val(t),

s.$element.trigger("input").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() {

l.RemoveData(this)

})

n.prototype.query = function(r, e) {

var i = []

, s = this;

this.$element.children().each(function() {

if ("option" === this.tagName.toLowerCase() || "optgroup" ===


this.tagName.toLowerCase()) {

var e = c(this)

, t = s.item(e)

, n = s.matches(r, t);

null !== n && i.push(n)

}),

e({
results: i

})

n.prototype.addOptions = function(e) {

this.$element.append(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 = this._normalizeItem(e);

return n.element = t,

l.StoreData(t, "data", n),

c(t)

n.prototype.item = function(e) {

var t = {};

if (null != (t = l.GetData(e[0], "data")))

return t;

var n = e[0];

if ("option" === n.tagName.toLowerCase())

t={

id: e.val(),

text: e.text(),
disabled: e.prop("disabled"),

selected: e.prop("selected"),

title: e.prop("title")

};

else if ("optgroup" === n.tagName.toLowerCase()) {

t={

text: e.prop("label"),

children: [],

title: e.prop("title")

};

for (var r = e.children("option"), i = [], s = 0; s < r.length; s++) {

var o = c(r[s])

, a = this.item(o);

i.push(a)

t.children = i

return (t = this._normalizeItem(t)).element = e[0],

l.StoreData(e[0], "data", t),

n.prototype._normalizeItem = function(e) {

e !== Object(e) && (e = {

id: e,

text: e

});

return null != (e = c.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)),

c.extend({}, {

selected: !1,

disabled: !1

}, e)

n.prototype.matches = function(e, t) {

return this.options.get("matcher")(e, t)

}),

e.define("select2/data/array", ["./select", "../utils", "jquery"], function(e, t, f) {

function r(e, t) {

this._dataToConvert = t.get("data") || [],

r.__super__.constructor.call(this, e, t)

return t.Extend(r, e),

r.prototype.bind = function(e, t) {

r.__super__.bind.call(this, e, t),

this.addOptions(this.convertToOptions(this._dataToConvert))

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(f(this)).id

}).get()

, i = [];

function s(e) {

return function() {

return f(this).val() == e.id

for (var o = 0; o < e.length; o++) {

var a = this._normalizeItem(e[o]);

if (0 <= r.indexOf(a.id)) {

var l = n.filter(s(a))

, c = this.item(l)

, u = f.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);

p.append(h)

i.push(p)

}
}

return i

}),

e.define("select2/data/ajax", ["./array", "../utils", "jquery"], function(e, t, s) {

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 s.extend({}, e, {

q: e.term

})

},

transport: function(e, t, n) {

var r = s.ajax(e);

return r.then(t),

r.fail(n),

};

return s.extend({}, t, e, !0)

,
n.prototype.processResults = function(e) {

return e

n.prototype.query = function(n, r) {

var i = this;

null != this._request && (s.isFunction(this._request.abort) && this._request.abort(),

this._request = null);

var t = s.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 &&


Array.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(t) {

function e(e, t, n) {

var r = n.get("tags")

, i = n.get("createTag");

void 0 !== i && (this.createTag = i);

var s = n.get("insertTag");

if (void 0 !== s && (this.insertTag = s),

e.call(this, t, n),

Array.isArray(r))

for (var o = 0; o < r.length; o++) {

var a = r[o]

, 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 s = r[i]

, o = null != s.children && !e({

results: s.children

}, !0);

if ((s.text || "").toUpperCase() === (c.term || "").toUpperCase() || o)

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) {

if (null == t.term)

return null;

var n = t.term.trim();

return "" === n ? null : {

id: n,

text: n

e.prototype.insertTag = function(e, t, n) {

t.unshift(n)

e.prototype._removeOldTags = function(e) {

this.$element.find("option[data-select2-tag]").each(function() {

this.selected || t(this).remove()
})

}),

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") || [], s = t.term, o = 0, a = this.createTag || function(e)


{

return {

id: e.term,

text: e.term

; o < s.length; ) {

var l = s[o];

if (-1 !== i.indexOf(l)) {

var c = s.substr(0, o)

, u = a(d.extend({}, t, {

term: c

}));

null != u ? (r(u),

s = s.substr(o + 1) || "",

o = 0) : o++

} else

o++

}
return {

term: s

}),

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.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.define("select2/data/maximumSelectionLength", [], function() {

function e(e, t, n) {

this.maximumSelectionLength = n.get("maximumSelectionLength"),

e.call(this, t, n)

return e.prototype.bind = function(e, t, n) {

var r = this;

e.call(this, t, n),

t.on("select", function() {

r._checkIfMaximumSelected()

})

e.prototype.query = function(e, t, n) {

var r = this;

this._checkIfMaximumSelected(function() {
e.call(r, t, n)

})

e.prototype._checkIfMaximumSelected = function(e, n) {

var r = this;

this.current(function(e) {

var t = null != e ? e.length : 0;

0 < r.maximumSelectionLength && t >= r.maximumSelectionLength ?


r.trigger("results:message", {

message: "maximumSelected",

args: {

maximum: r.maximumSelectionLength

}) : n && n()

})

}),

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('<span class="select2-dropdown"><span class="select2-results"></span></span>');

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()

}),

e.define("select2/dropdown/search", ["jquery"], function(s) {

function e() {}

return e.prototype.render = function(e) {

var t = e.call(this)

, n = s('<span class="select2-search select2-search--dropdown"><input class="select2-


search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off"
autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>');

return this.$searchContainer = n,

this.$search = n.find("input"),

t.prepend(n),

e.prototype.bind = function(e, t, n) {

var r = this

, i = t.id + "-results";

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) {

s(this).off("keyup")

}),

this.$search.on("keyup input", function(e) {

r.handleSearch(e)

}),

t.on("open", function() {

r.$search.attr("tabindex", 0),

r.$search.attr("aria-controls", i),

r.$search.trigger("focus"),

window.setTimeout(function() {

r.$search.trigger("focus")

}, 0)

}),

t.on("close", function() {

r.$search.attr("tabindex", -1),

r.$search.removeAttr("aria-controls"),

r.$search.removeAttr("aria-activedescendant"),

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[0].classList.remove("select2-search--hide") : r.
$searchContainer[0].classList.add("select2-search--hide"))

}),

t.on("results:focus", function(e) {
e.data._resultId ? r.$search.attr("aria-activedescendant", e.data._resultId) : r.
$search.removeAttr("aria-activedescendant")

})

e.prototype.handleSearch = function(e) {

if (!this._keyUpPrevented) {

var t = this.$search.val();

this.trigger("query", {

term: t

})

this._keyUpPrevented = !1

e.prototype.showSearch = function(e, t) {

return !0

}),

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

}),

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.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('<li class="select2-results__option select2-results__option--load-


more"role="option" aria-disabled="true"></li>')

, t = this.options.get("translations").get("loadingMore");

return e.html(t(this.lastParams)),

}),

e.define("select2/dropdown/attachBody", ["jquery", "../utils"], function(f, a) {

function e(e, t, n) {

this.$dropdownParent = f(n.get("dropdownParent") || document.body),

e.call(this, t, n)

return e.prototype.bind = function(e, t, n) {

var r = this;

e.call(this, t, n),

t.on("open", function() {

r._showDropdown(),

r._attachPositioningHandler(t),

r._bindContainerResultHandlers(t)

}),

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[0].classList.remove("select2"),

t[0].classList.add("select2-container--open"),

t.css({

position: "absolute",

top: -999999

}),

this.$container = n

e.prototype.render = function(e) {

var t = f("<span></span>")

, n = e.call(this);

return t.append(n),

this.$dropdownContainer = t

,
e.prototype._hideDropdown = function(e) {

this.$dropdownContainer.detach()

e.prototype._bindContainerResultHandlers = function(e, t) {

if (!this._containerResultsHandlersBound) {

var n = this;

t.on("results:all", function() {

n._positionDropdown(),

n._resizeDropdown()

}),

t.on("results:append", function() {

n._positionDropdown(),

n._resizeDropdown()

}),

t.on("results:message", function() {

n._positionDropdown(),

n._resizeDropdown()

}),

t.on("select", function() {

n._positionDropdown(),

n._resizeDropdown()

}),

t.on("unselect", function() {

n._positionDropdown(),

n._resizeDropdown()

}),

this._containerResultsHandlersBound = !0

,
e.prototype._attachPositioningHandler = function(e, t) {

var n = this

, r = "scroll.select2." + t.id

, i = "resize.select2." + t.id

, s = "orientationchange.select2." + t.id

, o = this.$container.parents().filter(a.hasScroll);

o.each(function() {

a.StoreData(this, "select2-scroll-position", {

x: f(this).scrollLeft(),

y: f(this).scrollTop()

})

}),

o.on(r, function(e) {

var t = a.GetData(this, "select2-scroll-position");

f(this).scrollTop(t.y)

}),

f(window).on(r + " " + i + " " + s, 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[0].classList.contains("select2-dropdown--above")

, n = this.$dropdown[0].classList.contains("select2-dropdown--below")

, r = null

, i = this.$container.offset();

i.bottom = i.top + this.$container.outerHeight(!1);

var s = {

height: this.$container.outerHeight(!1)

};

s.top = i.top,

s.bottom = i.top + s.height;

var o = this.$dropdown.outerHeight(!1)

, a = e.scrollTop()

, l = e.scrollTop() + e.height()

, c = a < i.top - o

, u = l > i.bottom + o

,d={

left: i.left,

top: s.bottom

, p = this.$dropdownParent;

"static" === p.css("position") && (p = p.offsetParent());

var h = {

top: 0,

left: 0

};

(f.contains(document.body, p[0]) || p[0].isConnected) && (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 = s.top - h.top - o),

null != r && (this.$dropdown[0].classList.remove("select2-dropdown--below"),

this.$dropdown[0].classList.remove("select2-dropdown--above"),

this.$dropdown[0].classList.add("select2-dropdown--" + r),

this.$container[0].classList.remove("select2-container--below"),

this.$container[0].classList.remove("select2-container--above"),

this.$container[0].classList.add("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.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.define("select2/dropdown/selectOnClose", ["../utils"], function(s) {

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 = s.GetData(r[0], "data");

null != i.element && i.element.selected || null == i.element && i.selected ||


this.trigger("select", {

data: i

})

}),

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.define("select2/dropdown/dropdownCss", ["../utils"], function(r) {

function e() {}

return e.prototype.render = function(e) {

var t = e.call(this)

, n = this.options.get("dropdownCssClass") || "";

return -1 !== n.indexOf(":all:") && (n = n.replace(":all:", ""),

r.copyNonInternalCssClasses(t[0], this.$element[0])),

t.addClass(n),

}),

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"),

},

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"),

},

noResults: function() {

return "No results found"

},

searching: function() {

return "Searching…"

},

removeAllItems: function() {

return "Remove all items"

}),

e.define("select2/defaults", ["jquery", "./results", "./selection/single", "./selection/multiple",


"./selection/placeholder", "./selection/allowClear", "./selection/search", "./selection/selectionCss",
"./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", "./dropdown/dropdownCss", "./i18n/en"], function(l, s, o, a, c, u, d, p,
h, f, g, t, m, v, y, _, w, $, b, x, A, D, S, C, E, O, L, T, q, e) {

function n() {

this.reset()

return n.prototype.apply = function(e) {

if (null == (e = l.extend(!0, {}, this.defaults, e)).dataAdapter && (null != e.ajax ?


e.dataAdapter = y : null != e.data ? e.dataAdapter = v : e.dataAdapter = m,
0 < e.minimumInputLength && (e.dataAdapter = f.Decorate(e.dataAdapter, $)),

0 < e.maximumInputLength && (e.dataAdapter = f.Decorate(e.dataAdapter, b)),

0 < e.maximumSelectionLength && (e.dataAdapter = f.Decorate(e.dataAdapter, x)),

e.tags && (e.dataAdapter = f.Decorate(e.dataAdapter, _)),

null == e.tokenSeparators && null == e.tokenizer || (e.dataAdapter =


f.Decorate(e.dataAdapter, w))),

null == e.resultsAdapter && (e.resultsAdapter = s,

null != e.ajax && (e.resultsAdapter = f.Decorate(e.resultsAdapter, C)),

null != e.placeholder && (e.resultsAdapter = f.Decorate(e.resultsAdapter, S)),

e.selectOnClose && (e.resultsAdapter = f.Decorate(e.resultsAdapter, L))),

null == e.dropdownAdapter) {

if (e.multiple)

e.dropdownAdapter = A;

else {

var t = f.Decorate(A, D);

e.dropdownAdapter = t

0 !== e.minimumResultsForSearch && (e.dropdownAdapter =


f.Decorate(e.dropdownAdapter, O)),

e.closeOnSelect && (e.dropdownAdapter = f.Decorate(e.dropdownAdapter, T)),

null == e.dropdownCssClass && null == e.dropdownCss && null ==


e.adaptDropdownCssClass || (e.dropdownAdapter = f.Decorate(e.dropdownAdapter, q)),

e.dropdownAdapter = f.Decorate(e.dropdownAdapter, E)

null == e.selectionAdapter && (e.multiple ? e.selectionAdapter = a : e.selectionAdapter = o,

null != e.placeholder && (e.selectionAdapter = f.Decorate(e.selectionAdapter, c)),

e.allowClear && (e.selectionAdapter = f.Decorate(e.selectionAdapter, u)),

e.multiple && (e.selectionAdapter = f.Decorate(e.selectionAdapter, d)),

null == e.containerCssClass && null == e.containerCss && null == e.adaptContainerCssClass


|| (e.selectionAdapter = f.Decorate(e.selectionAdapter, p)),

e.selectionAdapter = f.Decorate(e.selectionAdapter, h)),

e.language = this._resolveLanguage(e.language),
e.language.push("en");

for (var n = [], r = 0; r < e.language.length; r++) {

var i = e.language[r];

-1 === n.indexOf(i) && n.push(i)

return e.language = n,

e.translations = this._processTranslations(e.language, e.debug),

n.prototype.reset = function() {

function a(e) {

return e.replace(/[^\u0000-\u007E]/g, function(e) {

return t[e] || e

})

this.defaults = {

amdLanguageBase: "./i18n/",

closeOnSelect: !0,

debug: !1,

dropdownAutoWidth: !1,

escapeMarkup: f.escapeMarkup,

language: {},

matcher: function e(t, n) {

if (null == t.term || "" === t.term.trim())

return n;

if (n.children && 0 < n.children.length) {

for (var r = l.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 s = a(n.text).toUpperCase()

, o = a(t.term).toUpperCase();

return -1 < s.indexOf(o) ? 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.applyFromElement = function(e, t) {

var n = e.language

, r = this.defaults.language

, i = t.prop("lang")

, s = t.closest("[lang]").prop("lang")

, o = Array.prototype.concat.call(this._resolveLanguage(i), this._resolveLanguage(n),
this._resolveLanguage(r), this._resolveLanguage(s));
return e.language = o,

n.prototype._resolveLanguage = function(e) {

if (!e)

return [];

if (l.isEmptyObject(e))

return [];

if (l.isPlainObject(e))

return [e];

var t;

t = Array.isArray(e) ? e : [e];

for (var n = [], r = 0; r < t.length; r++)

if (n.push(t[r]),

"string" == typeof t[r] && 0 < t[r].indexOf("-")) {

var i = t[r].split("-")[0];

n.push(i)

return n

n.prototype._processTranslations = function(e, t) {

for (var n = new g, r = 0; r < e.length; r++) {

var i = new g

, s = e[r];

if ("string" == typeof s)

try {

i = g.loadPath(s)

} catch (e) {

try {
s = this.defaults.amdLanguageBase + s,

i = g.loadPath(s)

} catch (e) {

t && window.console && console.warn && console.warn('Select2: The language


file for "' + s + '" could not be automatically loaded. A fallback will be used instead.')

else

i = l.isPlainObject(s) ? new g(s) : s;

n.extend(i)

return n

n.prototype.set = function(e, t) {

var n = {};

n[l.camelCase(e)] = t;

var r = f._convertData(n);

l.extend(!0, this.defaults, r)

new n

}),

e.define("select2/options", ["jquery", "./defaults", "./utils"], function(d, n, p) {

function e(e, t) {

this.options = e,

null != t && this.fromElement(t),

null != t && (this.options = n.applyFromElement(this.options, t)),

this.options = n.apply(this.options)

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.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 s = e[0].attributes[i].name

, o = "data-";

if (s.substr(0, o.length) == o) {

var a = s.substring(o.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 < t.indexOf(u) || (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.define("select2/core", ["jquery", "./options", "./utils", "./keys"], function(t, 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 s = this.options.get("selectionAdapter");

this.selection = new s(e,this.options),

this.$selection = this.selection.render(),

this.selection.position(this.$selection, i);

var o = this.options.get("dropdownAdapter");

this.dropdown = new o(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[0].classList.add("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 s = e.attr("style");

if ("string" != typeof s)

return null;

for (var o = s.split(";"), a = 0, l = o.length; a < l; a += 1) {

var c = o[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._observer = new window.MutationObserver(function(e) {

t._syncA(),

t._syncS(e)

),

this._observer.observe(this.$element[0], {
attributes: !0,

childList: !0,

subtree: !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 === r.indexOf(e) && 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[0].classList.add("select2-container--open")

}),

this.on("close", function() {

n.$container[0].classList.remove("select2-container--open")

}),

this.on("enable", function() {

n.$container[0].classList.remove("select2-container--disabled")

}),

this.on("disable", function() {

n.$container[0].classList.add("select2-container--disabled")

}),

this.on("blur", function() {

n.$container[0].classList.remove("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),

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.isDisabled() ? (this.isOpen() && this.close(),

this.trigger("disable", {})) : this.trigger("enable", {})

}
,

d.prototype._isChangeMutation = function(e) {

var t = this;

if (e.addedNodes && 0 < e.addedNodes.length)

for (var n = 0; n < e.addedNodes.length; n++) {

if (e.addedNodes[n].selected)

return !0

else {

if (e.removedNodes && 0 < e.removedNodes.length)

return !0;

if (Array.isArray(e))

return e.some(function(e) {

return t._isChangeMutation(e)

})

return !1

d.prototype._syncSubtree = function(e) {

var t = this._isChangeMutation(e)

, n = this;

t && this.dataAdapter.current(function(e) {

n.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]

,s={

prevented: !1,

name: e,

args: t

};

if (n.call(this, i, s),

s.prevented)

return void (t.prevented = !0)

n.call(this, e, t)

d.prototype.toggleDropdown = function() {

this.isDisabled() || (this.isOpen() ? this.close() : this.open())

d.prototype.open = function() {

this.isOpen() || this.isDisabled() || this.trigger("query", {})

d.prototype.close = function(e) {
this.isOpen() && this.trigger("close", {

originalEvent: e

})

d.prototype.isEnabled = function() {

return !this.isDisabled()

d.prototype.isDisabled = function() {

return this.options.get("disabled")

d.prototype.isOpen = function() {

return this.$container[0].classList.contains("select2-container--open")

d.prototype.hasFocus = function() {

return this.$container[0].classList.contains("select2-container--focus")

d.prototype.focus = function(e) {

this.hasFocus() || (this.$container[0].classList.add("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

}),

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];

Array.isArray(t) && (t = t.map(function(e) {

return e.toString()

})),

this.$element.val(t).trigger("input").trigger("change")

d.prototype.destroy = function() {

this.$container.remove(),

this._observer.disconnect(),

this._observer = null,

this._syncA = null,
this._syncS = null,

this.$element.off(".select2"),

this.$element.attr("tabindex", u.GetData(this.$element[0], "old-tabindex")),

this.$element[0].classList.remove("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 = t('<span class="select2 select2-container"><span class="selection"></span><span


class="dropdown-wrapper" aria-hidden="true"></span></span>');

return e.attr("dir", this.options.get("dir")),

this.$container = e,

this.$container[0].classList.add("select2-container--" + this.options.get("theme")),

u.StoreData(e[0], "element", this.$element),

}),

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, s, t, o) {

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 s(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 = o.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 < a.indexOf(t) ? this : n

return null == i.fn.select2.defaults && (i.fn.select2.defaults = t),

}),

define: e.define,

require: e.require

}()
, t = e.require("jquery.select2");

return u.fn.select2.amd = e,

});

You might also like