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