text: function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
  
  /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
  !function (n) {
    "function" == typeof define && define.amd ? define(["jquery"], n) : "object" == (typeof module === "undefined" ? "undefined" : _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, b;
  
      function w(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 && b.test(e[s]) && (e[s] = e[s].replace(b, "")), "." === 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;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) {
            if (r = n.slice(0, u).join("/"), h) for (d = h.length; 0 < d; --d) {
              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 (w(v, e)) {
          var t = v[e];
          delete v[e], _[e] = !0, o.apply(h, t);
        }
  
        if (!w(m, e) && !w(_, 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, b = /\.js$/, f = function f(e, t) {
        var n,
            r,
            i = c(e),
            o = i[0],
            s = t[1];
        return e = i[1], o && (n = D(o = l(o, s))), o ? e = n && n.normalize ? n.normalize(e, (r = s, function (e) {
          return l(e, r);
        })) : l(e, s) : (o = (i = c(e = l(e, s)))[0], e = i[1], o && (n = D(o))), {
          f: o ? o + "!" + e : e,
          n: e,
          pr: o,
          p: n
        };
      }, g = {
        require: function require(e) {
          return A(e);
        },
        exports: function exports(e) {
          var t = m[e];
          return void 0 !== t ? t : m[e] = {};
        },
        module: function module(e) {
          return {
            id: e,
            uri: "",
            exports: m[e],
            config: (t = e, function () {
              return y && y.config && y.config[t] || {};
            })
          };
          var t;
        }
      }, o = function o(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 (w(m, o) || w(v, o) || w(_, 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 s(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 r(e, t, n) {
        if ("string" != typeof e) throw new Error("See almond README: incorrect module build, no module name");
        t.splice || (n = t, t = []), w(m, e) || w(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 t() {};
  
            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 = {
            "\\": "&#92;",
            "&": "&amp;",
            "<": "&lt;",
            ">": "&gt;",
            '"': "&quot;",
            "'": "&#39;",
            "/": "&#47;"
          };
          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], e.removeAttribute("data-select2-id");
        }, 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('<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 = 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: "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 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("<ul></ul>", {
              "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('<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;
        }, o.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");
          });
        }, 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 () {
              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.prototype.isEnabled = function () {
          return !this.isDisabled();
        }, o.prototype.isDisabled = function () {
          return this.options.get("disabled");
        }, 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('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'), 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("<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();
        }, i;
      }), e.define("select2/selection/multiple", ["jquery", "./base", "../utils"], function (i, e, l) {
        function n(e, t) {
          n.__super__.constructor.apply(this, arguments);
        }
  
        return l.Extend(n, e), n.prototype.render = function () {
          var e = n.__super__.render.call(this);
  
          return e.addClass("select2-selection--multiple"), e.html('<ul class="select2-selection__rendered"></ul>'), 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.isDisabled()) {
              var t = i(this).parent(),
                  n = l.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(),
                  o = this.display(r, i);
              i.append(o);
              var s = r.title || r.text;
              s && i.attr("title", s), l.StoreData(i[0], "data", r), t.push(i);
            }
  
            var a = this.$selection.find(".select2-selection__rendered");
            l.appendMany(a, 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.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 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("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(), n;
        }, 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 o = document.documentMode,
              s = o && o <= 11;
          this.$selection.on("input.searchcheck", ".select2-search--inline", function (e) {
            s ? 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 (s && "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;
      }), 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",
          "Ꜳ": "AA",
          "Æ": "AE",
          "Ǽ": "AE",
          "Ǣ": "AE",
          "Ꜵ": "AO",
          "Ꜷ": "AU",
          "Ꜹ": "AV",
          "Ꜻ": "AV",
          "Ꜽ": "AY",
          "Ⓑ": "B",
          "Ｂ": "B",
          "Ḃ": "B",
          "Ḅ": "B",
          "Ḇ": "B",
          "Ƀ": "B",
          "Ƃ": "B",
          "Ɓ": "B",
          "Ⓒ": "C",
          "Ｃ": "C",
          "Ć": "C",
          "Ĉ": "C",
          "Ċ": "C",
          "Č": "C",
          "Ç": "C",
          "Ḉ": "C",
          "Ƈ": "C",
          "Ȼ": "C",
          "Ꜿ": "C",
          "Ⓓ": "D",
          "Ｄ": "D",
          "Ḋ": "D",
          "Ď": "D",
          "Ḍ": "D",
          "Ḑ": "D",
          "Ḓ": "D",
          "Ḏ": "D",
          "Đ": "D",
          "Ƌ": "D",
          "Ɗ": "D",
          "Ɖ": "D",
          "Ꝺ": "D",
          "Ǳ": "DZ",
          "Ǆ": "DZ",
          "ǲ": "Dz",
          "ǅ": "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",
          "Ⓕ": "F",
          "Ｆ": "F",
          "Ḟ": "F",
          "Ƒ": "F",
          "Ꝼ": "F",
          "Ⓖ": "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",
          "Ⓘ": "I",
          "Ｉ": "I",
          "Ì": "I",
          "Í": "I",
          "Î": "I",
          "Ĩ": "I",
          "Ī": "I",
          "Ĭ": "I",
          "İ": "I",
          "Ï": "I",
          "Ḯ": "I",
          "Ỉ": "I",
          "Ǐ": "I",
          "Ȉ": "I",
          "Ȋ": "I",
          "Ị": "I",
          "Į": "I",
          "Ḭ": "I",
          "Ɨ": "I",
          "Ⓙ": "J",
          "Ｊ": "J",
          "Ĵ": "J",
          "Ɉ": "J",
          "Ⓚ": "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",
          "Ǉ": "LJ",
          "ǈ": "Lj",
          "Ⓜ": "M",
          "Ｍ": "M",
          "Ḿ": "M",
          "Ṁ": "M",
          "Ṃ": "M",
          "Ɱ": "M",
          "Ɯ": "M",
          "Ⓝ": "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",
          "Œ": "OE",
          "Ƣ": "OI",
          "Ꝏ": "OO",
          "Ȣ": "OU",
          "Ⓟ": "P",
          "Ｐ": "P",
          "Ṕ": "P",
          "Ṗ": "P",
          "Ƥ": "P",
          "Ᵽ": "P",
          "Ꝑ": "P",
          "Ꝓ": "P",
          "Ꝕ": "P",
          "Ⓠ": "Q",
          "Ｑ": "Q",
          "Ꝗ": "Q",
          "Ꝙ": "Q",
          "Ɋ": "Q",
          "Ⓡ": "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",
          "Ⓣ": "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",
          "Ⓥ": "V",
          "Ｖ": "V",
          "Ṽ": "V",
          "Ṿ": "V",
          "Ʋ": "V",
          "Ꝟ": "V",
          "Ʌ": "V",
          "Ꝡ": "VY",
          "Ⓦ": "W",
          "Ｗ": "W",
          "Ẁ": "W",
          "Ẃ": "W",
          "Ŵ": "W",
          "Ẇ": "W",
          "Ẅ": "W",
          "Ẉ": "W",
          "Ⱳ": "W",
          "Ⓧ": "X",
          "Ｘ": "X",
          "Ẋ": "X",
          "Ẍ": "X",
          "Ⓨ": "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",
          "ⓐ": "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",
          "ⓒ": "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",
          "ǳ": "dz",
          "ǆ": "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",
          "ⓖ": "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",
          "ƕ": "hv",
          "ⓘ": "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",
          "ⓛ": "l",
          "ｌ": "l",
          "ŀ": "l",
          "ĺ": "l",
          "ľ": "l",
          "ḷ": "l",
          "ḹ": "l",
          "ļ": "l",
          "ḽ": "l",
          "ḻ": "l",
          "ſ": "l",
          "ł": "l",
          "ƚ": "l",
          "ɫ": "l",
          "ⱡ": "l",
          "ꝉ": "l",
          "ꞁ": "l",
          "ꝇ": "l",
          "ǉ": "lj",
          "ⓜ": "m",
          "ｍ": "m",
          "ḿ": "m",
          "ṁ": "m",
          "ṃ": "m",
          "ɱ": "m",
          "ɯ": "m",
          "ⓝ": "n",
          "ｎ": "n",
          "ǹ": "n",
          "ń": "n",
          "ñ": "n",
          "ṅ": "n",
          "ň": "n",
          "ṇ": "n",
          "ņ": "n",
          "ṋ": "n",
          "ṉ": "n",
          "ƞ": "n",
          "ɲ": "n",
          "ŉ": "n",
          "ꞑ": "n",
          "ꞥ": "n",
          "ǌ": "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",
          "œ": "oe",
          "ƣ": "oi",
          "ȣ": "ou",
          "ꝏ": "oo",
          "ⓟ": "p",
          "ｐ": "p",
          "ṕ": "p",
          "ṗ": "p",
          "ƥ": "p",
          "ᵽ": "p",
          "ꝑ": "p",
          "ꝓ": "p",
          "ꝕ": "p",
          "ⓠ": "q",
          "ｑ": "q",
          "ɋ": "q",
          "ꝗ": "q",
          "ꝙ": "q",
          "ⓡ": "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",
          "ⓥ": "v",
          "ｖ": "v",
          "ṽ": "v",
          "ṿ": "v",
          "ʋ": "v",
          "ꝟ": "v",
          "ʌ": "v",
          "ꝡ": "vy",
          "ⓦ": "w",
          "ｗ": "w",
          "ẁ": "w",
          "ẃ": "w",
          "ŵ": "w",
          "ẇ": "w",
          "ẅ": "w",
          "ẘ": "w",
          "ẉ": "w",
          "ⱳ": "w",
          "ⓧ": "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",
          "Ά": "Α",
          "Έ": "Ε",
          "Ή": "Η",
          "Ί": "Ι",
          "Ϊ": "Ι",
          "Ό": "Ο",
          "Ύ": "Υ",
          "Ϋ": "Υ",
          "Ώ": "Ω",
          "ά": "α",
          "έ": "ε",
          "ή": "η",
          "ί": "ι",
          "ϊ": "ι",
          "ΐ": "ι",
          "ό": "ο",
          "ύ": "υ",
          "ϋ": "υ",
          "ΰ": "υ",
          "ώ": "ω",
          "ς": "σ",
          "’": "'"
        };
      }), 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("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 === l.inArray(r, t) && t.push(r);
            }
  
            o.$element.val(t), o.$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 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("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 === l.inArray(r, t) && t.push(r);
              }
  
              o.$element.val(t), o.$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 () {
            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) {
          this._dataToConvert = t.get("data") || [], r.__super__.constructor.call(this, e, t);
        }
  
        return f.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(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 data(e) {
              return o.extend({}, e, {
                q: e.term
              });
            },
            transport: function transport(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.$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 i = this;
          t.term = t.term || "";
          var r = this.tokenizer(t, this.options, function (e) {
            var t,
                n = i._normalizeItem(e);
  
            if (!i.$element.find("option").filter(function () {
              return d(this).val() === n.id;
            }).length) {
              var r = i.option(n);
              r.attr("data-select2-tag", !0), i._removeOldTags(), i.addOptions([r]);
            }
  
            t = n, i.trigger("select", {
              data: t
            });
          });
          r.term !== t.term && (this.$search.length && (this.$search.val(r.term), this.$search.trigger("focus")), t.term = r.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.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;
      }), 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();
        }, n;
      }), e.define("select2/dropdown/search", ["jquery", "../utils"], function (o, e) {
        function t() {}
  
        return t.prototype.render = function (e) {
          var t = e.call(this),
              n = o('<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), t;
        }, t.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) {
            o(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.removeClass("select2-search--hide") : r.$searchContainer.addClass("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");
          });
        }, 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('<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;
        }, e;
      }), 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.removeClass("select2"), t.addClass("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,
              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 = {
            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 = 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 errorLoading() {
            return "The results could not be loaded.";
          },
          inputTooLong: function inputTooLong(e) {
            var t = e.input.length - e.maximum,
                n = "Please delete " + t + " character";
            return 1 != t && (n += "s"), n;
          },
          inputTooShort: function inputTooShort(e) {
            return "Please enter " + (e.minimum - e.input.length) + " or more characters";
          },
          loadingMore: function loadingMore() {
            return "Loading more results…";
          },
          maximumSelected: function maximumSelected(e) {
            var t = "You can only select " + e.maximum + " item";
            return 1 != e.maximum && (t += "s"), t;
          },
          noResults: function noResults() {
            return "No results found";
          },
          searching: function searching() {
            return "Searching…";
          },
          removeAllItems: function removeAllItems() {
            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 (c, u, d, p, h, f, g, m, v, y, s, t, _, $, b, w, A, x, D, S, E, C, O, T, q, L, I, j, e) {
        function n() {
          this.reset();
        }
  
        return n.prototype.apply = function (e) {
          if (null == (e = c.extend(!0, {}, this.defaults, e)).dataAdapter) {
            if (null != e.ajax ? e.dataAdapter = b : null != e.data ? e.dataAdapter = $ : e.dataAdapter = _, 0 < e.minimumInputLength && (e.dataAdapter = y.Decorate(e.dataAdapter, x)), 0 < e.maximumInputLength && (e.dataAdapter = y.Decorate(e.dataAdapter, D)), 0 < e.maximumSelectionLength && (e.dataAdapter = y.Decorate(e.dataAdapter, S)), e.tags && (e.dataAdapter = y.Decorate(e.dataAdapter, w)), null == e.tokenSeparators && null == e.tokenizer || (e.dataAdapter = y.Decorate(e.dataAdapter, A)), null != e.query) {
              var t = u(e.amdBase + "compat/query");
              e.dataAdapter = y.Decorate(e.dataAdapter, t);
            }
  
            if (null != e.initSelection) {
              var n = u(e.amdBase + "compat/initSelection");
              e.dataAdapter = y.Decorate(e.dataAdapter, n);
            }
          }
  
          if (null == e.resultsAdapter && (e.resultsAdapter = d, null != e.ajax && (e.resultsAdapter = y.Decorate(e.resultsAdapter, T)), null != e.placeholder && (e.resultsAdapter = y.Decorate(e.resultsAdapter, O)), e.selectOnClose && (e.resultsAdapter = y.Decorate(e.resultsAdapter, I))), null == e.dropdownAdapter) {
            if (e.multiple) e.dropdownAdapter = E;else {
              var r = y.Decorate(E, C);
              e.dropdownAdapter = r;
            }
  
            if (0 !== e.minimumResultsForSearch && (e.dropdownAdapter = y.Decorate(e.dropdownAdapter, L)), e.closeOnSelect && (e.dropdownAdapter = y.Decorate(e.dropdownAdapter, j)), null != e.dropdownCssClass || null != e.dropdownCss || null != e.adaptDropdownCssClass) {
              var i = u(e.amdBase + "compat/dropdownCss");
              e.dropdownAdapter = y.Decorate(e.dropdownAdapter, i);
            }
  
            e.dropdownAdapter = y.Decorate(e.dropdownAdapter, q);
          }
  
          if (null == e.selectionAdapter) {
            if (e.multiple ? e.selectionAdapter = h : e.selectionAdapter = p, null != e.placeholder && (e.selectionAdapter = y.Decorate(e.selectionAdapter, f)), e.allowClear && (e.selectionAdapter = y.Decorate(e.selectionAdapter, g)), e.multiple && (e.selectionAdapter = y.Decorate(e.selectionAdapter, m)), null != e.containerCssClass || null != e.containerCss || null != e.adaptContainerCssClass) {
              var o = u(e.amdBase + "compat/containerCss");
              e.selectionAdapter = y.Decorate(e.selectionAdapter, o);
            }
  
            e.selectionAdapter = y.Decorate(e.selectionAdapter, v);
          }
  
          e.language = this._resolveLanguage(e.language), e.language.push("en");
  
          for (var s = [], a = 0; a < e.language.length; a++) {
            var l = e.language[a];
            -1 === s.indexOf(l) && s.push(l);
          }
  
          return e.language = s, e.translations = this._processTranslations(e.language, e.debug), e;
        }, 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: y.escapeMarkup,
            language: {},
            matcher: function e(t, n) {
              if ("" === c.trim(t.term)) return n;
  
              if (n.children && 0 < n.children.length) {
                for (var r = c.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 sorter(e) {
              return e;
            },
            templateResult: function templateResult(e) {
              return e.text;
            },
            templateSelection: function templateSelection(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"),
              o = t.closest("[lang]").prop("lang"),
              s = Array.prototype.concat.call(this._resolveLanguage(i), this._resolveLanguage(n), this._resolveLanguage(r), this._resolveLanguage(o));
          return e.language = s, e;
        }, n.prototype._resolveLanguage = function (e) {
          if (!e) return [];
          if (c.isEmptyObject(e)) return [];
          if (c.isPlainObject(e)) return [e];
          var t;
          t = c.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 s(), r = 0; r < e.length; r++) {
            var i = new s(),
                o = e[r];
            if ("string" == typeof o) try {
              i = s.loadPath(o);
            } catch (e) {
              try {
                o = this.defaults.amdLanguageBase + o, i = s.loadPath(o);
              } catch (e) {
                t && window.console && console.warn && console.warn('Select2: The language file for "' + o + '" could not be automatically loaded. A fallback will be used instead.');
              }
            } else i = c.isPlainObject(o) ? new s(o) : o;
            n.extend(i);
          }
  
          return n;
        }, n.prototype.set = function (e, t) {
          var n = {};
          n[c.camelCase(e)] = t;
  
          var r = y._convertData(n);
  
          c.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), null != t && (this.options = i.applyFromElement(this.options, 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.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 (o, c, u, r) {
        var d = function d(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) {
            t._syncA(), t._syncS(null, e);
          }), 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 === o.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), 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, 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 : o.isArray(t) && o.each(t, function (e, t) {
                if (r._isChangeMutation(e, t)) return !(n = !0);
              });
            } else n = !0;
            return n;
          }
        }, d.prototype._syncSubtree = function (e, t) {
          var n = this._isChangeMutation(e, t),
              r = this;
  
          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.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.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];
          o.isArray(t) && (t = o.map(t, function (e) {
            return e.toString();
          })), this.$element.val(t).trigger("input").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 = o('<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.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;
  });
  