JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr/*! For license information please see choices.min.js.LICENSE.txt */ ! function() { var e = { 282: function(e, t, i) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.clearChoices = t.activateChoices = t.filterChoices = t.addChoice = void 0; var n = i(883); t.addChoice = function(e) { var t = e.value, i = e.label, o = e.id, r = e.groupId, s = e.disabled, a = e.elementId, c = e.customProperties, l = e.placeholder, h = e.keyCode; return { type: n.ACTION_TYPES.ADD_CHOICE, value: t, label: i, id: o, groupId: r, disabled: s, elementId: a, customProperties: c, placeholder: l, keyCode: h } }, t.filterChoices = function(e) { return { type: n.ACTION_TYPES.FILTER_CHOICES, results: e } }, t.activateChoices = function(e) { return void 0 === e && (e = !0), { type: n.ACTION_TYPES.ACTIVATE_CHOICES, active: e } }, t.clearChoices = function() { return { type: n.ACTION_TYPES.CLEAR_CHOICES } } }, 783: function(e, t, i) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.addGroup = void 0; var n = i(883); t.addGroup = function(e) { var t = e.value, i = e.id, o = e.active, r = e.disabled; return { type: n.ACTION_TYPES.ADD_GROUP, value: t, id: i, active: o, disabled: r } } }, 464: function(e, t, i) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.highlightItem = t.removeItem = t.addItem = void 0; var n = i(883); t.addItem = function(e) { var t = e.value, i = e.label, o = e.id, r = e.choiceId, s = e.groupId, a = e.customProperties, c = e.placeholder, l = e.keyCode; return { type: n.ACTION_TYPES.ADD_ITEM, value: t, label: i, id: o, choiceId: r, groupId: s, customProperties: a, placeholder: c, keyCode: l } }, t.removeItem = function(e, t) { return { type: n.ACTION_TYPES.REMOVE_ITEM, id: e, choiceId: t } }, t.highlightItem = function(e, t) { return { type: n.ACTION_TYPES.HIGHLIGHT_ITEM, id: e, highlighted: t } } }, 137: function(e, t, i) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.setIsLoading = t.resetTo = t.clearAll = void 0; var n = i(883); t.clearAll = function() { return { type: n.ACTION_TYPES.CLEAR_ALL } }, t.resetTo = function(e) { return { type: n.ACTION_TYPES.RESET_TO, state: e } }, t.setIsLoading = function(e) { return { type: n.ACTION_TYPES.SET_IS_LOADING, isLoading: e } } }, 373: function(e, t, i) { "use strict"; var n = this && this.__spreadArray || function(e, t, i) { if (i || 2 === arguments.length) for (var n, o = 0, r = t.length; o < r; o++) !n && o in t || (n || (n = Array.prototype.slice.call(t, 0, o)), n[o] = t[o]); return e.concat(n || Array.prototype.slice.call(t)) }, o = this && this.__importDefault || function(e) { return e && e.__esModule ? e : { default: e } }; Object.defineProperty(t, "__esModule", { value: !0 }); var r = o(i(996)), s = o(i(70)), a = i(282), c = i(783), l = i(464), h = i(137), u = i(520), d = i(883), p = i(789), f = i(799), m = i(655), v = o(i(744)), _ = o(i(686)), g = "-ms-scroll-limit" in document.documentElement.style && "-ms-ime-align" in document.documentElement.style, y = {}, E = function() { function e(t, i) { var o = this; void 0 === t && (t = "[data-choice]"), void 0 === i && (i = {}), this.config = r.default.all([p.DEFAULT_CONFIG, e.defaults.options, i], { arrayMerge: function(e, t) { return n([], t, !0) } }); var s = (0, f.diff)(this.config, p.DEFAULT_CONFIG); s.length && console.warn("Unknown config option(s) passed", s.join(", ")); var a = "string" == typeof t ? document.querySelector(t) : t; if (!(a instanceof HTMLInputElement || a instanceof HTMLSelectElement)) throw TypeError("Expected one of the following types text|select-one|select-multiple"); if (this._isTextElement = a.type === d.TEXT_TYPE, this._isSelectOneElement = a.type === d.SELECT_ONE_TYPE, this._isSelectMultipleElement = a.type === d.SELECT_MULTIPLE_TYPE, this._isSelectElement = this._isSelectOneElement || this._isSelectMultipleElement, this.config.searchEnabled = this._isSelectMultipleElement || this.config.searchEnabled, ["auto", "always"].includes("".concat(this.config.renderSelectedChoices)) || (this.config.renderSelectedChoices = "auto"), i.addItemFilter && "function" != typeof i.addItemFilter) { var c = i.addItemFilter instanceof RegExp ? i.addItemFilter : new RegExp(i.addItemFilter); this.config.addItemFilter = c.test.bind(c) } if (this._isTextElement ? this.passedElement = new u.WrappedInput({ element: a, classNames: this.config.classNames, delimiter: this.config.delimiter }) : this.passedElement = new u.WrappedSelect({ element: a, classNames: this.config.classNames, template: function(e) { return o._templates.option(e) } }), this.initialised = !1, this._store = new v.default, this._initialState = m.defaultState, this._currentState = m.defaultState, this._prevState = m.defaultState, this._currentValue = "", this._canSearch = !!this.config.searchEnabled, this._isScrollingOnIe = !1, this._highlightPosition = 0, this._wasTap = !0, this._placeholderValue = this._generatePlaceholderValue(), this._baseId = (0, f.generateId)(this.passedElement.element, "choices-"), this._direction = this.passedElement.dir, !this._direction) { var l = window.getComputedStyle(this.passedElement.element).direction; l !== window.getComputedStyle(document.documentElement).direction && (this._direction = l) } if (this._idNames = { itemChoice: "item-choice" }, this._isSelectElement && (this._presetGroups = this.passedElement.optionGroups, this._presetOptions = this.passedElement.options), this._presetChoices = this.config.choices, this._presetItems = this.config.items, this.passedElement.value && this._isTextElement) { var h = this.passedElement.value.split(this.config.delimiter); this._presetItems = this._presetItems.concat(h) } if (this.passedElement.options && this.passedElement.options.forEach((function(e) { o._presetChoices.push({ value: e.value, label: e.innerHTML, selected: !!e.selected, disabled: e.disabled || e.parentNode.disabled, placeholder: "" === e.value || e.hasAttribute("placeholder"), customProperties: e.dataset["custom-properties"] }) })), this._render = this._render.bind(this), this._onFocus = this._onFocus.bind(this), this._onBlur = this._onBlur.bind(this), this._onKeyUp = this._onKeyUp.bind(this), this._onKeyDown = this._onKeyDown.bind(this), this._onClick = this._onClick.bind(this), this._onTouchMove = this._onTouchMove.bind(this), this._onTouchEnd = this._onTouchEnd.bind(this), this._onMouseDown = this._onMouseDown.bind(this), this._onMouseOver = this._onMouseOver.bind(this), this._onFormReset = this._onFormReset.bind(this), this._onSelectKey = this._onSelectKey.bind(this), this._onEnterKey = this._onEnterKey.bind(this), this._onEscapeKey = this._onEscapeKey.bind(this), this._onDirectionKey = this._onDirectionKey.bind(this), this._onDeleteKey = this._onDeleteKey.bind(this), this.passedElement.isActive) return this.config.silent || console.warn("Trying to initialise Choices on element already initialised", { element: t }), void(this.initialised = !0); this.init() } return Object.defineProperty(e, "defaults", { get: function() { return Object.preventExtensions({ get options() { return y }, get templates() { return _.default } }) }, enumerable: !1, configurable: !0 }), e.prototype.init = function() { if (!this.initialised) { this._createTemplates(), this._createElements(), this._createStructure(), this._store.subscribe(this._render), this._render(), this._addEventListeners(), (!this.config.addItems || this.passedElement.element.hasAttribute("disabled")) && this.disable(), this.initialised = !0; var e = this.config.callbackOnInit; e && "function" == typeof e && e.call(this) } }, e.prototype.destroy = function() { this.initialised && (this._removeEventListeners(), this.passedElement.reveal(), this.containerOuter.unwrap(this.passedElement.element), this.clearStore(), this._isSelectElement && (this.passedElement.options = this._presetOptions), this._templates = _.default, this.initialised = !1) }, e.prototype.enable = function() { return this.passedElement.isDisabled && this.passedElement.enable(), this.containerOuter.isDisabled && (this._addEventListeners(), this.input.enable(), this.containerOuter.enable()), this }, e.prototype.disable = function() { return this.passedElement.isDisabled || this.passedElement.disable(), this.containerOuter.isDisabled || (this._removeEventListeners(), this.input.disable(), this.containerOuter.disable()), this }, e.prototype.highlightItem = function(e, t) { if (void 0 === t && (t = !0), !e || !e.id) return this; var i = e.id, n = e.groupId, o = void 0 === n ? -1 : n, r = e.value, s = void 0 === r ? "" : r, a = e.label, c = void 0 === a ? "" : a, h = o >= 0 ? this._store.getGroupById(o) : null; return this._store.dispatch((0, l.highlightItem)(i, !0)), t && this.passedElement.triggerEvent(d.EVENTS.highlightItem, { id: i, value: s, label: c, groupValue: h && h.value ? h.value : null }), this }, e.prototype.unhighlightItem = function(e) { if (!e || !e.id) return this; var t = e.id, i = e.groupId, n = void 0 === i ? -1 : i, o = e.value, r = void 0 === o ? "" : o, s = e.label, a = void 0 === s ? "" : s, c = n >= 0 ? this._store.getGroupById(n) : null; return this._store.dispatch((0, l.highlightItem)(t, !1)), this.passedElement.triggerEvent(d.EVENTS.highlightItem, { id: t, value: r, label: a, groupValue: c && c.value ? c.value : null }), this }, e.prototype.highlightAll = function() { var e = this; return this._store.items.forEach((function(t) { return e.highlightItem(t) })), this }, e.prototype.unhighlightAll = function() { var e = this; return this._store.items.forEach((function(t) { return e.unhighlightItem(t) })), this }, e.prototype.removeActiveItemsByValue = function(e) { var t = this; return this._store.activeItems.filter((function(t) { return t.value === e })).forEach((function(e) { return t._removeItem(e) })), this }, e.prototype.removeActiveItems = function(e) { var t = this; return this._store.activeItems.filter((function(t) { return t.id !== e })).forEach((function(e) { return t._removeItem(e) })), this }, e.prototype.removeHighlightedItems = function(e) { var t = this; return void 0 === e && (e = !1), this._store.highlightedActiveItems.forEach((function(i) { t._removeItem(i), e && t._triggerChange(i.value) })), this }, e.prototype.showDropdown = function(e) { var t = this; return this.dropdown.isActive || requestAnimationFrame((function() { t.dropdown.show(), t.containerOuter.open(t.dropdown.distanceFromTopWindow), !e && t._canSearch && t.input.focus(), t.passedElement.triggerEvent(d.EVENTS.showDropdown, {}) })), this }, e.prototype.hideDropdown = function(e) { var t = this; return this.dropdown.isActive ? (requestAnimationFrame((function() { t.dropdown.hide(), t.containerOuter.close(), !e && t._canSearch && (t.input.removeActiveDescendant(), t.input.blur()), t.passedElement.triggerEvent(d.EVENTS.hideDropdown, {}) })), this) : this }, e.prototype.getValue = function(e) { void 0 === e && (e = !1); var t = this._store.activeItems.reduce((function(t, i) { var n = e ? i.value : i; return t.push(n), t }), []); return this._isSelectOneElement ? t[0] : t }, e.prototype.setValue = function(e) { var t = this; return this.initialised ? (e.forEach((function(e) { return t._setChoiceOrItem(e) })), this) : this }, e.prototype.setChoiceByValue = function(e) { var t = this; return !this.initialised || this._isTextElement || (Array.isArray(e) ? e : [e]).forEach((function(e) { return t._findAndSelectChoiceByValue(e) })), this }, e.prototype.setChoices = function(e, t, i, n) { var o = this; if (void 0 === e && (e = []), void 0 === t && (t = "value"), void 0 === i && (i = "label"), void 0 === n && (n = !1), !this.initialised) throw new ReferenceError("setChoices was called on a non-initialized instance of Choices"); if (!this._isSelectElement) throw new TypeError("setChoices can't be used with INPUT based Choices"); if ("string" != typeof t || !t) throw new TypeError("value parameter must be a name of 'value' field in passed objects"); if (n && this.clearChoices(), "function" == typeof e) { var r = e(this); if ("function" == typeof Promise && r instanceof Promise) return new Promise((function(e) { return requestAnimationFrame(e) })).then((function() { return o._handleLoadingState(!0) })).then((function() { return r })).then((function(e) { return o.setChoices(e, t, i, n) })).catch((function(e) { o.config.silent || console.error(e) })).then((function() { return o._handleLoadingState(!1) })).then((function() { return o })); if (!Array.isArray(r)) throw new TypeError(".setChoices first argument function must return either array of choices or Promise, got: ".concat(typeof r)); return this.setChoices(r, t, i, !1) } if (!Array.isArray(e)) throw new TypeError(".setChoices must be called either with array of choices with a function resulting into Promise of array of choices"); return this.containerOuter.removeLoadingState(), this._startLoading(), e.forEach((function(e) { if (e.choices) o._addGroup({ id: e.id ? parseInt("".concat(e.id), 10) : null, group: e, valueKey: t, labelKey: i }); else { var n = e; o._addChoice({ value: n[t], label: n[i], isSelected: !!n.selected, isDisabled: !!n.disabled, placeholder: !!n.placeholder, customProperties: n.customProperties }) } })), this._stopLoading(), this }, e.prototype.clearChoices = function() { return this._store.dispatch((0, a.clearChoices)()), this }, e.prototype.clearStore = function() { return this._store.dispatch((0, h.clearAll)()), this }, e.prototype.clearInput = function() { var e = !this._isSelectOneElement; return this.input.clear(e), !this._isTextElement && this._canSearch && (this._isSearching = !1, this._store.dispatch((0, a.activateChoices)(!0))), this }, e.prototype._render = function() { if (!this._store.isLoading()) { this._currentState = this._store.state; var e = this._currentState.choices !== this._prevState.choices || this._currentState.groups !== this._prevState.groups || this._currentState.items !== this._prevState.items, t = this._isSelectElement, i = this._currentState.items !== this._prevState.items; e && (t && this._renderChoices(), i && this._renderItems(), this._prevState = this._currentState) } }, e.prototype._renderChoices = function() { var e = this, t = this._store, i = t.activeGroups, n = t.activeChoices, o = document.createDocumentFragment(); if (this.choiceList.clear(), this.config.resetScrollPosition && requestAnimationFrame((function() { return e.choiceList.scrollToTop() })), i.length >= 1 && !this._isSearching) { var r = n.filter((function(e) { return !0 === e.placeholder && -1 === e.groupId })); r.length >= 1 && (o = this._createChoicesFragment(r, o)), o = this._createGroupsFragment(i, n, o) } else n.length >= 1 && (o = this._createChoicesFragment(n, o)); if (o.childNodes && o.childNodes.length > 0) { var s = this._store.activeItems, a = this._canAddItem(s, this.input.value); if (a.response) this.choiceList.append(o), this._highlightChoice(); else { var c = this._getTemplate("notice", a.notice); this.choiceList.append(c) } } else { var l = void 0; c = void 0, this._isSearching ? (c = "function" == typeof this.config.noResultsText ? this.config.noResultsText() : this.config.noResultsText, l = this._getTemplate("notice", c, "no-results")) : (c = "function" == typeof this.config.noChoicesText ? this.config.noChoicesText() : this.config.noChoicesText, l = this._getTemplate("notice", c, "no-choices")), this.choiceList.append(l) } }, e.prototype._renderItems = function() { var e = this._store.activeItems || []; this.itemList.clear(); var t = this._createItemsFragment(e); t.childNodes && this.itemList.append(t) }, e.prototype._createGroupsFragment = function(e, t, i) { var n = this; return void 0 === i && (i = document.createDocumentFragment()), this.config.shouldSort && e.sort(this.config.sorter), e.forEach((function(e) { var o = function(e) { return t.filter((function(t) { return n._isSelectOneElement ? t.groupId === e.id : t.groupId === e.id && ("always" === n.config.renderSelectedChoices || !t.selected) })) }(e); if (o.length >= 1) { var r = n._getTemplate("choiceGroup", e); i.appendChild(r), n._createChoicesFragment(o, i, !0) } })), i }, e.prototype._createChoicesFragment = function(e, t, i) { var o = this; void 0 === t && (t = document.createDocumentFragment()), void 0 === i && (i = !1); var r = this.config, s = r.renderSelectedChoices, a = r.searchResultLimit, c = r.renderChoiceLimit, l = this._isSearching ? f.sortByScore : this.config.sorter, h = function(e) { if ("auto" !== s || o._isSelectOneElement || !e.selected) { var i = o._getTemplate("choice", e, o.config.itemSelectText); t.appendChild(i) } }, u = e; "auto" !== s || this._isSelectOneElement || (u = e.filter((function(e) { return !e.selected }))); var d = u.reduce((function(e, t) { return t.placeholder ? e.placeholderChoices.push(t) : e.normalChoices.push(t), e }), { placeholderChoices: [], normalChoices: [] }), p = d.placeholderChoices, m = d.normalChoices; (this.config.shouldSort || this._isSearching) && m.sort(l); var v = u.length, _ = this._isSelectOneElement ? n(n([], p, !0), m, !0) : m; this._isSearching ? v = a : c && c > 0 && !i && (v = c); for (var g = 0; g < v; g += 1) _[g] && h(_[g]); return t }, e.prototype._createItemsFragment = function(e, t) { var i = this; void 0 === t && (t = document.createDocumentFragment()); var n = this.config, o = n.shouldSortItems, r = n.sorter, s = n.removeItemButton; return o && !this._isSelectOneElement && e.sort(r), this._isTextElement ? this.passedElement.value = e.map((function(e) { return e.value })).join(this.config.delimiter) : this.passedElement.options = e, e.forEach((function(e) { var n = i._getTemplate("item", e, s); t.appendChild(n) })), t }, e.prototype._triggerChange = function(e) { null != e && this.passedElement.triggerEvent(d.EVENTS.change, { value: e }) }, e.prototype._selectPlaceholderChoice = function(e) { this._addItem({ value: e.value, label: e.label, choiceId: e.id, groupId: e.groupId, placeholder: e.placeholder }), this._triggerChange(e.value) }, e.prototype._handleButtonAction = function(e, t) { if (e && t && this.config.removeItems && this.config.removeItemButton) { var i = t.parentNode && t.parentNode.dataset.id, n = i && e.find((function(e) { return e.id === parseInt(i, 10) })); n && (this._removeItem(n), this._triggerChange(n.value), this._isSelectOneElement && this._store.placeholderChoice && this._selectPlaceholderChoice(this._store.placeholderChoice)) } }, e.prototype._handleItemAction = function(e, t, i) { var n = this; if (void 0 === i && (i = !1), e && t && this.config.removeItems && !this._isSelectOneElement) { var o = t.dataset.id; e.forEach((function(e) { e.id !== parseInt("".concat(o), 10) || e.highlighted ? !i && e.highlighted && n.unhighlightItem(e) : n.highlightItem(e) })), this.input.focus() } }, e.prototype._handleChoiceAction = function(e, t) { if (e && t) { var i = t.dataset.id, n = i && this._store.getChoiceById(i); if (n) { var o = e[0] && e[0].keyCode ? e[0].keyCode : void 0, r = this.dropdown.isActive; n.keyCode = o, this.passedElement.triggerEvent(d.EVENTS.choice, { choice: n }), n.selected || n.disabled || this._canAddItem(e, n.value).response && (this._addItem({ value: n.value, label: n.label, choiceId: n.id, groupId: n.groupId, customProperties: n.customProperties, placeholder: n.placeholder, keyCode: n.keyCode }), this._triggerChange(n.value)), this.clearInput(), r && this._isSelectOneElement && (this.hideDropdown(!0), this.containerOuter.focus()) } } }, e.prototype._handleBackspace = function(e) { if (this.config.removeItems && e) { var t = e[e.length - 1], i = e.some((function(e) { return e.highlighted })); this.config.editItems && !i && t ? (this.input.value = t.value, this.input.setWidth(), this._removeItem(t), this._triggerChange(t.value)) : (i || this.highlightItem(t, !1), this.removeHighlightedItems(!0)) } }, e.prototype._startLoading = function() { this._store.dispatch((0, h.setIsLoading)(!0)) }, e.prototype._stopLoading = function() { this._store.dispatch((0, h.setIsLoading)(!1)) }, e.prototype._handleLoadingState = function(e) { void 0 === e && (e = !0); var t = this.itemList.getChild(".".concat(this.config.classNames.placeholder)); e ? (this.disable(), this.containerOuter.addLoadingState(), this._isSelectOneElement ? t ? t.innerHTML = this.config.loadingText : (t = this._getTemplate("placeholder", this.config.loadingText)) && this.itemList.append(t) : this.input.placeholder = this.config.loadingText) : (this.enable(), this.containerOuter.removeLoadingState(), this._isSelectOneElement ? t && (t.innerHTML = this._placeholderValue || "") : this.input.placeholder = this._placeholderValue || "") }, e.prototype._handleSearch = function(e) { if (e && this.input.isFocussed) { var t = this._store.choices, i = this.config, n = i.searchFloor, o = i.searchChoices, r = t.some((function(e) { return !e.active })); if (e && e.length >= n) { var s = o ? this._searchChoices(e) : 0; this.passedElement.triggerEvent(d.EVENTS.search, { value: e, resultCount: s }) } else r && (this._isSearching = !1, this._store.dispatch((0, a.activateChoices)(!0))) } }, e.prototype._canAddItem = function(e, t) { var i = !0, n = "function" == typeof this.config.addItemText ? this.config.addItemText(t) : this.config.addItemText; if (!this._isSelectOneElement) { var o = (0, f.existsInArray)(e, t); this.config.maxItemCount > 0 && this.config.maxItemCount <= e.length && (i = !1, n = "function" == typeof this.config.maxItemText ? this.config.maxItemText(this.config.maxItemCount) : this.config.maxItemText), !this.config.duplicateItemsAllowed && o && i && (i = !1, n = "function" == typeof this.config.uniqueItemText ? this.config.uniqueItemText(t) : this.config.uniqueItemText), this._isTextElement && this.config.addItems && i && "function" == typeof this.config.addItemFilter && !this.config.addItemFilter(t) && (i = !1, n = "function" == typeof this.config.customAddItemText ? this.config.customAddItemText(t) : this.config.customAddItemText) } return { response: i, notice: n } }, e.prototype._searchChoices = function(e) { var t = "string" == typeof e ? e.trim() : e, i = "string" == typeof this._currentValue ? this._currentValue.trim() : this._currentValue; if (t.length < 1 && t === "".concat(i, " ")) return 0; var o = this._store.searchableChoices, r = t, c = n([], this.config.searchFields, !0), l = Object.assign(this.config.fuseOptions, { keys: c, includeMatches: !0 }), h = new s.default(o, l).search(r); return this._currentValue = t, this._highlightPosition = 0, this._isSearching = !0, this._store.dispatch((0, a.filterChoices)(h)), h.length }, e.prototype._addEventListeners = function() { var e = document.documentElement; e.addEventListener("touchend", this._onTouchEnd, !0), this.containerOuter.element.addEventListener("keydown", this._onKeyDown, !0), this.containerOuter.element.addEventListener("mousedown", this._onMouseDown, !0), e.addEventListener("click", this._onClick, { passive: !0 }), e.addEventListener("touchmove", this._onTouchMove, { passive: !0 }), this.dropdown.element.addEventListener("mouseover", this._onMouseOver, { passive: !0 }), this._isSelectOneElement && (this.containerOuter.element.addEventListener("focus", this._onFocus, { passive: !0 }), this.containerOuter.element.addEventListener("blur", this._onBlur, { passive: !0 })), this.input.element.addEventListener("keyup", this._onKeyUp, { passive: !0 }), this.input.element.addEventListener("focus", this._onFocus, { passive: !0 }), this.input.element.addEventListener("blur", this._onBlur, { passive: !0 }), this.input.element.form && this.input.element.form.addEventListener("reset", this._onFormReset, { passive: !0 }), this.input.addEventListeners() }, e.prototype._removeEventListeners = function() { var e = document.documentElement; e.removeEventListener("touchend", this._onTouchEnd, !0), this.containerOuter.element.removeEventListener("keydown", this._onKeyDown, !0), this.containerOuter.element.removeEventListener("mousedown", this._onMouseDown, !0), e.removeEventListener("click", this._onClick), e.removeEventListener("touchmove", this._onTouchMove), this.dropdown.element.removeEventListener("mouseover", this._onMouseOver), this._isSelectOneElement && (this.containerOuter.element.removeEventListener("focus", this._onFocus), this.containerOuter.element.removeEventListener("blur", this._onBlur)), this.input.element.removeEventListener("keyup", this._onKeyUp), this.input.element.removeEventListener("focus", this._onFocus), this.input.element.removeEventListener("blur", this._onBlur), this.input.element.form && this.input.element.form.removeEventListener("reset", this._onFormReset), this.input.removeEventListeners() }, e.prototype._onKeyDown = function(e) { var t = e.keyCode, i = this._store.activeItems, n = this.input.isFocussed, o = this.dropdown.isActive, r = this.itemList.hasChildren(), s = String.fromCharCode(t), a = /[a-zA-Z0-9-_ ]/.test(s), c = d.KEY_CODES.BACK_KEY, l = d.KEY_CODES.DELETE_KEY, h = d.KEY_CODES.ENTER_KEY, u = d.KEY_CODES.A_KEY, p = d.KEY_CODES.ESC_KEY, f = d.KEY_CODES.UP_KEY, m = d.KEY_CODES.DOWN_KEY, v = d.KEY_CODES.PAGE_UP_KEY, _ = d.KEY_CODES.PAGE_DOWN_KEY; switch (this._isTextElement || o || !a || (this.showDropdown(), this.input.isFocussed || (this.input.value += s.toLowerCase())), t) { case u: return this._onSelectKey(e, r); case h: return this._onEnterKey(e, i, o); case p: return this._onEscapeKey(o); case f: case v: case m: case _: return this._onDirectionKey(e, o); case l: case c: return this._onDeleteKey(e, i, n) } }, e.prototype._onKeyUp = function(e) { var t = e.target, i = e.keyCode, n = this.input.value, o = this._store.activeItems, r = this._canAddItem(o, n), s = d.KEY_CODES.BACK_KEY, c = d.KEY_CODES.DELETE_KEY; if (this._isTextElement) if (r.notice && n) { var l = this._getTemplate("notice", r.notice); this.dropdown.element.innerHTML = l.outerHTML, this.showDropdown(!0) } else this.hideDropdown(!0); else { var h = (i === s || i === c) && t && !t.value, u = !this._isTextElement && this._isSearching, p = this._canSearch && r.response; h && u ? (this._isSearching = !1, this._store.dispatch((0, a.activateChoices)(!0))) : p && this._handleSearch(this.input.value) } this._canSearch = this.config.searchEnabled }, e.prototype._onSelectKey = function(e, t) { var i = e.ctrlKey, n = e.metaKey; (i || n) && t && (this._canSearch = !1, this.config.removeItems && !this.input.value && this.input.element === document.activeElement && this.highlightAll()) }, e.prototype._onEnterKey = function(e, t, i) { var n = e.target, o = d.KEY_CODES.ENTER_KEY, r = n && n.hasAttribute("data-button"); if (this._isTextElement && n && n.value) { var s = this.input.value; this._canAddItem(t, s).response && (this.hideDropdown(!0), this._addItem({ value: s }), this._triggerChange(s), this.clearInput()) } if (r && (this._handleButtonAction(t, n), e.preventDefault()), i) { var a = this.dropdown.getChild(".".concat(this.config.classNames.highlightedState)); a && (t[0] && (t[0].keyCode = o), this._handleChoiceAction(t, a)), e.preventDefault() } else this._isSelectOneElement && (this.showDropdown(), e.preventDefault()) }, e.prototype._onEscapeKey = function(e) { e && (this.hideDropdown(!0), this.containerOuter.focus()) }, e.prototype._onDirectionKey = function(e, t) { var i = e.keyCode, n = e.metaKey, o = d.KEY_CODES.DOWN_KEY, r = d.KEY_CODES.PAGE_UP_KEY, s = d.KEY_CODES.PAGE_DOWN_KEY; if (t || this._isSelectOneElement) { this.showDropdown(), this._canSearch = !1; var a = i === o || i === s ? 1 : -1, c = "[data-choice-selectable]", l = void 0; if (n || i === s || i === r) l = a > 0 ? this.dropdown.element.querySelector("".concat(c, ":last-of-type")) : this.dropdown.element.querySelector(c); else { var h = this.dropdown.element.querySelector(".".concat(this.config.classNames.highlightedState)); l = h ? (0, f.getAdjacentEl)(h, c, a) : this.dropdown.element.querySelector(c) } l && ((0, f.isScrolledIntoView)(l, this.choiceList.element, a) || this.choiceList.scrollToChildElement(l, a), this._highlightChoice(l)), e.preventDefault() } }, e.prototype._onDeleteKey = function(e, t, i) { var n = e.target; this._isSelectOneElement || n.value || !i || (this._handleBackspace(t), e.preventDefault()) }, e.prototype._onTouchMove = function() { this._wasTap && (this._wasTap = !1) }, e.prototype._onTouchEnd = function(e) { var t = (e || e.touches[0]).target; this._wasTap && this.containerOuter.element.contains(t) && ((t === this.containerOuter.element || t === this.containerInner.element) && (this._isTextElement ? this.input.focus() : this._isSelectMultipleElement && this.showDropdown()), e.stopPropagation()), this._wasTap = !0 }, e.prototype._onMouseDown = function(e) { var t = e.target; if (t instanceof HTMLElement) { if (g && this.choiceList.element.contains(t)) { var i = this.choiceList.element.firstElementChild, n = "ltr" === this._direction ? e.offsetX >= i.offsetWidth : e.offsetX < i.offsetLeft; this._isScrollingOnIe = n } if (t !== this.input.element) { var o = t.closest("[data-button],[data-item],[data-choice]"); if (o instanceof HTMLElement) { var r = e.shiftKey, s = this._store.activeItems, a = o.dataset; "button" in a ? this._handleButtonAction(s, o) : "item" in a ? this._handleItemAction(s, o, r) : "choice" in a && this._handleChoiceAction(s, o) } e.preventDefault() } } }, e.prototype._onMouseOver = function(e) { var t = e.target; t instanceof HTMLElement && "choice" in t.dataset && this._highlightChoice(t) }, e.prototype._onClick = function(e) { var t = e.target; this.containerOuter.element.contains(t) ? this.dropdown.isActive || this.containerOuter.isDisabled ? this._isSelectOneElement && t !== this.input.element && !this.dropdown.element.contains(t) && this.hideDropdown() : this._isTextElement ? document.activeElement !== this.input.element && this.input.focus() : (this.showDropdown(), this.containerOuter.focus()) : (this._store.highlightedActiveItems.length > 0 && this.unhighlightAll(), this.containerOuter.removeFocusState(), this.hideDropdown(!0)) }, e.prototype._onFocus = function(e) { var t, i = this, n = e.target; n && this.containerOuter.element.contains(n) && ((t = {})[d.TEXT_TYPE] = function() { n === i.input.element && i.containerOuter.addFocusState() }, t[d.SELECT_ONE_TYPE] = function() { i.containerOuter.addFocusState(), n === i.input.element && i.showDropdown(!0) }, t[d.SELECT_MULTIPLE_TYPE] = function() { n === i.input.element && (i.showDropdown(!0), i.containerOuter.addFocusState()) }, t)[this.passedElement.element.type]() }, e.prototype._onBlur = function(e) { var t, i = this, n = e.target; if (n && this.containerOuter.element.contains(n) && !this._isScrollingOnIe) { var o = this._store.activeItems.some((function(e) { return e.highlighted })); ((t = {})[d.TEXT_TYPE] = function() { n === i.input.element && (i.containerOuter.removeFocusState(), o && i.unhighlightAll(), i.hideDropdown(!0)) }, t[d.SELECT_ONE_TYPE] = function() { i.containerOuter.removeFocusState(), (n === i.input.element || n === i.containerOuter.element && !i._canSearch) && i.hideDropdown(!0) }, t[d.SELECT_MULTIPLE_TYPE] = function() { n === i.input.element && (i.containerOuter.removeFocusState(), i.hideDropdown(!0), o && i.unhighlightAll()) }, t)[this.passedElement.element.type]() } else this._isScrollingOnIe = !1, this.input.element.focus() }, e.prototype._onFormReset = function() { this._store.dispatch((0, h.resetTo)(this._initialState)) }, e.prototype._highlightChoice = function(e) { var t = this; void 0 === e && (e = null); var i = Array.from(this.dropdown.element.querySelectorAll("[data-choice-selectable]")); if (i.length) { var n = e; Array.from(this.dropdown.element.querySelectorAll(".".concat(this.config.classNames.highlightedState))).forEach((function(e) { e.classList.remove(t.config.classNames.highlightedState), e.setAttribute("aria-selected", "false") })), n ? this._highlightPosition = i.indexOf(n) : (n = i.length > this._highlightPosition ? i[this._highlightPosition] : i[i.length - 1]) || (n = i[0]), n.classList.add(this.config.classNames.highlightedState), n.setAttribute("aria-selected", "true"), this.passedElement.triggerEvent(d.EVENTS.highlightChoice, { el: n }), this.dropdown.isActive && (this.input.setActiveDescendant(n.id), this.containerOuter.setActiveDescendant(n.id)) } }, e.prototype._addItem = function(e) { var t = e.value, i = e.label, n = void 0 === i ? null : i, o = e.choiceId, r = void 0 === o ? -1 : o, s = e.groupId, a = void 0 === s ? -1 : s, c = e.customProperties, h = void 0 === c ? {} : c, u = e.placeholder, p = void 0 !== u && u, f = e.keyCode, m = void 0 === f ? -1 : f, v = "string" == typeof t ? t.trim() : t, _ = this._store.items, g = n || v, y = r || -1, E = a >= 0 ? this._store.getGroupById(a) : null, b = _ ? _.length + 1 : 1; this.config.prependValue && (v = this.config.prependValue + v.toString()), this.config.appendValue && (v += this.config.appendValue.toString()), this._store.dispatch((0, l.addItem)({ value: v, label: g, id: b, choiceId: y, groupId: a, customProperties: h, placeholder: p, keyCode: m })), this._isSelectOneElement && this.removeActiveItems(b), this.passedElement.triggerEvent(d.EVENTS.addItem, { id: b, value: v, label: g, customProperties: h, groupValue: E && E.value ? E.value : null, keyCode: m }) }, e.prototype._removeItem = function(e) { var t = e.id, i = e.value, n = e.label, o = e.customProperties, r = e.choiceId, s = e.groupId, a = s && s >= 0 ? this._store.getGroupById(s) : null; t && r && (this._store.dispatch((0, l.removeItem)(t, r)), this.passedElement.triggerEvent(d.EVENTS.removeItem, { id: t, value: i, label: n, customProperties: o, groupValue: a && a.value ? a.value : null })) }, e.prototype._addChoice = function(e) { var t = e.value, i = e.label, n = void 0 === i ? null : i, o = e.isSelected, r = void 0 !== o && o, s = e.isDisabled, c = void 0 !== s && s, l = e.groupId, h = void 0 === l ? -1 : l, u = e.customProperties, d = void 0 === u ? {} : u, p = e.placeholder, f = void 0 !== p && p, m = e.keyCode, v = void 0 === m ? -1 : m; if (null != t) { var _ = this._store.choices, g = n || t, y = _ ? _.length + 1 : 1, E = "".concat(this._baseId, "-").concat(this._idNames.itemChoice, "-").concat(y); this._store.dispatch((0, a.addChoice)({ id: y, groupId: h, elementId: E, value: t, label: g, disabled: c, customProperties: d, placeholder: f, keyCode: v })), r && this._addItem({ value: t, label: g, choiceId: y, customProperties: d, placeholder: f, keyCode: v }) } }, e.prototype._addGroup = function(e) { var t = this, i = e.group, n = e.id, o = e.valueKey, r = void 0 === o ? "value" : o, s = e.labelKey, a = void 0 === s ? "label" : s, l = (0, f.isType)("Object", i) ? i.choices : Array.from(i.getElementsByTagName("OPTION")), h = n || Math.floor((new Date).valueOf() * Math.random()), u = !!i.disabled && i.disabled; l ? (this._store.dispatch((0, c.addGroup)({ value: i.label, id: h, active: !0, disabled: u })), l.forEach((function(e) { var i = e.disabled || e.parentNode && e.parentNode.disabled; t._addChoice({ value: e[r], label: (0, f.isType)("Object", e) ? e[a] : e.innerHTML, isSelected: e.selected, isDisabled: i, groupId: h, customProperties: e.customProperties, placeholder: e.placeholder }) }))) : this._store.dispatch((0, c.addGroup)({ value: i.label, id: i.id, active: !1, disabled: i.disabled })) }, e.prototype._getTemplate = function(e) { for (var t, i = [], o = 1; o < arguments.length; o++) i[o - 1] = arguments[o]; var r = this.config.classNames; return (t = this._templates[e]).call.apply(t, n([this, r], i, !1)) }, e.prototype._createTemplates = function() { var e = this.config.callbackOnCreateTemplates, t = {}; e && "function" == typeof e && (t = e.call(this, f.strToEl)), this._templates = (0, r.default)(_.default, t) }, e.prototype._createElements = function() { this.containerOuter = new u.Container({ element: this._getTemplate("containerOuter", this._direction, this._isSelectElement, this._isSelectOneElement, this.config.searchEnabled, this.passedElement.element.type), classNames: this.config.classNames, type: this.passedElement.element.type, position: this.config.position }), this.containerInner = new u.Container({ element: this._getTemplate("containerInner"), classNames: this.config.classNames, type: this.passedElement.element.type, position: this.config.position }), this.input = new u.Input({ element: this._getTemplate("input", this._placeholderValue), classNames: this.config.classNames, type: this.passedElement.element.type, preventPaste: !this.config.paste }), this.choiceList = new u.List({ element: this._getTemplate("choiceList", this._isSelectOneElement) }), this.itemList = new u.List({ element: this._getTemplate("itemList", this._isSelectOneElement) }), this.dropdown = new u.Dropdown({ element: this._getTemplate("dropdown"), classNames: this.config.classNames, type: this.passedElement.element.type }) }, e.prototype._createStructure = function() { this.passedElement.conceal(), this.containerInner.wrap(this.passedElement.element), this.containerOuter.wrap(this.containerInner.element), this._isSelectOneElement ? this.input.placeholder = this.config.searchPlaceholderValue || "" : this._placeholderValue && (this.input.placeholder = this._placeholderValue, this.input.setWidth()), this.containerOuter.element.appendChild(this.containerInner.element), this.containerOuter.element.appendChild(this.dropdown.element), this.containerInner.element.appendChild(this.itemList.element), this._isTextElement || this.dropdown.element.appendChild(this.choiceList.element), this._isSelectOneElement ? this.config.searchEnabled && this.dropdown.element.insertBefore(this.input.element, this.dropdown.element.firstChild) : this.containerInner.element.appendChild(this.input.element), this._isSelectElement && (this._highlightPosition = 0, this._isSearching = !1, this._startLoading(), this._presetGroups.length ? this._addPredefinedGroups(this._presetGroups) : this._addPredefinedChoices(this._presetChoices), this._stopLoading()), this._isTextElement && this._addPredefinedItems(this._presetItems) }, e.prototype._addPredefinedGroups = function(e) { var t = this, i = this.passedElement.placeholderOption; i && i.parentNode && "SELECT" === i.parentNode.tagName && this._addChoice({ value: i.value, label: i.innerHTML, isSelected: i.selected, isDisabled: i.disabled, placeholder: !0 }), e.forEach((function(e) { return t._addGroup({ group: e, id: e.id || null }) })) }, e.prototype._addPredefinedChoices = function(e) { var t = this; this.config.shouldSort && e.sort(this.config.sorter); var i = e.some((function(e) { return e.selected })), n = e.findIndex((function(e) { return void 0 === e.disabled || !e.disabled })); e.forEach((function(e, o) { var r = e.value, s = void 0 === r ? "" : r, a = e.label, c = e.customProperties, l = e.placeholder; if (t._isSelectElement) if (e.choices) t._addGroup({ group: e, id: e.id || null }); else { var h = !(!t._isSelectOneElement || i || o !== n) || e.selected, u = e.disabled; t._addChoice({ value: s, label: a, isSelected: !!h, isDisabled: !!u, placeholder: !!l, customProperties: c }) } else t._addChoice({ value: s, label: a, isSelected: !!e.selected, isDisabled: !!e.disabled, placeholder: !!e.placeholder, customProperties: c }) })) }, e.prototype._addPredefinedItems = function(e) { var t = this; e.forEach((function(e) { "object" == typeof e && e.value && t._addItem({ value: e.value, label: e.label, choiceId: e.id, customProperties: e.customProperties, placeholder: e.placeholder }), "string" == typeof e && t._addItem({ value: e }) })) }, e.prototype._setChoiceOrItem = function(e) { var t = this; ({ object: function() { e.value && (t._isTextElement ? t._addItem({ value: e.value, label: e.label, choiceId: e.id, customProperties: e.customProperties, placeholder: e.placeholder }) : t._addChoice({ value: e.value, label: e.label, isSelected: !0, isDisabled: !1, customProperties: e.customProperties, placeholder: e.placeholder })) }, string: function() { t._isTextElement ? t._addItem({ value: e }) : t._addChoice({ value: e, label: e, isSelected: !0, isDisabled: !1 }) } })[(0, f.getType)(e).toLowerCase()]() }, e.prototype._findAndSelectChoiceByValue = function(e) { var t = this, i = this._store.choices.find((function(i) { return t.config.valueComparer(i.value, e) })); i && !i.selected && this._addItem({ value: i.value, label: i.label, choiceId: i.id, groupId: i.groupId, customProperties: i.customProperties, placeholder: i.placeholder, keyCode: i.keyCode }) }, e.prototype._generatePlaceholderValue = function() { if (this._isSelectElement && this.passedElement.placeholderOption) { var e = this.passedElement.placeholderOption; return e ? e.text : null } var t = this.config, i = t.placeholder, n = t.placeholderValue, o = this.passedElement.element.dataset; if (i) { if (n) return n; if (o.placeholder) return o.placeholder } return null }, e }(); t.default = E }, 613: function(e, t, i) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }); var n = i(799), o = i(883), r = function() { function e(e) { var t = e.element, i = e.type, n = e.classNames, o = e.position; this.element = t, this.classNames = n, this.type = i, this.position = o, this.isOpen = !1, this.isFlipped = !1, this.isFocussed = !1, this.isDisabled = !1, this.isLoading = !1, this._onFocus = this._onFocus.bind(this), this._onBlur = this._onBlur.bind(this) } return e.prototype.addEventListeners = function() { this.element.addEventListener("focus", this._onFocus), this.element.addEventListener("blur", this._onBlur) }, e.prototype.removeEventListeners = function() { this.element.removeEventListener("focus", this._onFocus), this.element.removeEventListener("blur", this._onBlur) }, e.prototype.shouldFlip = function(e) { if ("number" != typeof e) return !1; var t = !1; return "auto" === this.position ? t = !window.matchMedia("(min-height: ".concat(e + 1, "px)")).matches : "top" === this.position && (t = !0), t }, e.prototype.setActiveDescendant = function(e) { this.element.setAttribute("aria-activedescendant", e) }, e.prototype.removeActiveDescendant = function() { this.element.removeAttribute("aria-activedescendant") }, e.prototype.open = function(e) { this.element.classList.add(this.classNames.openState), this.element.setAttribute("aria-expanded", "true"), this.isOpen = !0, this.shouldFlip(e) && (this.element.classList.add(this.classNames.flippedState), this.isFlipped = !0) }, e.prototype.close = function() { this.element.classList.remove(this.classNames.openState), this.element.setAttribute("aria-expanded", "false"), this.removeActiveDescendant(), this.isOpen = !1, this.isFlipped && (this.element.classList.remove(this.classNames.flippedState), this.isFlipped = !1) }, e.prototype.focus = function() { this.isFocussed || this.element.focus() }, e.prototype.addFocusState = function() { this.element.classList.add(this.classNames.focusState) }, e.prototype.removeFocusState = function() { this.element.classList.remove(this.classNames.focusState) }, e.prototype.enable = function() { this.element.classList.remove(this.classNames.disabledState), this.element.removeAttribute("aria-disabled"), this.type === o.SELECT_ONE_TYPE && this.element.setAttribute("tabindex", "0"), this.isDisabled = !1 }, e.prototype.disable = function() { this.element.classList.add(this.classNames.disabledState), this.element.setAttribute("aria-disabled", "true"), this.type === o.SELECT_ONE_TYPE && this.element.setAttribute("tabindex", "-1"), this.isDisabled = !0 }, e.prototype.wrap = function(e) { (0, n.wrap)(e, this.element) }, e.prototype.unwrap = function(e) { this.element.parentNode && (this.element.parentNode.insertBefore(e, this.element), this.element.parentNode.removeChild(this.element)) }, e.prototype.addLoadingState = function() { this.element.classList.add(this.classNames.loadingState), this.element.setAttribute("aria-busy", "true"), this.isLoading = !0 }, e.prototype.removeLoadingState = function() { this.element.classList.remove(this.classNames.loadingState), this.element.removeAttribute("aria-busy"), this.isLoading = !1 }, e.prototype._onFocus = function() { this.isFocussed = !0 }, e.prototype._onBlur = function() { this.isFocussed = !1 }, e }(); t.default = r }, 217: function(e, t) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }); var i = function() { function e(e) { var t = e.element, i = e.type, n = e.classNames; this.element = t, this.classNames = n, this.type = i, this.isActive = !1 } return Object.defineProperty(e.prototype, "distanceFromTopWindow", { get: function() { return this.element.getBoundingClientRect().bottom }, enumerable: !1, configurable: !0 }), e.prototype.getChild = function(e) { return this.element.querySelector(e) }, e.prototype.show = function() { return this.element.classList.add(this.classNames.activeState), this.element.setAttribute("aria-expanded", "true"), this.isActive = !0, this }, e.prototype.hide = function() { return this.element.classList.remove(this.classNames.activeState), this.element.setAttribute("aria-expanded", "false"), this.isActive = !1, this }, e }(); t.default = i }, 520: function(e, t, i) { "use strict"; var n = this && this.__importDefault || function(e) { return e && e.__esModule ? e : { default: e } }; Object.defineProperty(t, "__esModule", { value: !0 }), t.WrappedSelect = t.WrappedInput = t.List = t.Input = t.Container = t.Dropdown = void 0; var o = n(i(217)); t.Dropdown = o.default; var r = n(i(613)); t.Container = r.default; var s = n(i(11)); t.Input = s.default; var a = n(i(624)); t.List = a.default; var c = n(i(541)); t.WrappedInput = c.default; var l = n(i(982)); t.WrappedSelect = l.default }, 11: function(e, t, i) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }); var n = i(799), o = i(883), r = function() { function e(e) { var t = e.element, i = e.type, n = e.classNames, o = e.preventPaste; this.element = t, this.type = i, this.classNames = n, this.preventPaste = o, this.isFocussed = this.element.isEqualNode(document.activeElement), this.isDisabled = t.disabled, this._onPaste = this._onPaste.bind(this), this._onInput = this._onInput.bind(this), this._onFocus = this._onFocus.bind(this), this._onBlur = this._onBlur.bind(this) } return Object.defineProperty(e.prototype, "placeholder", { set: function(e) { this.element.placeholder = e }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "value", { get: function() { return (0, n.sanitise)(this.element.value) }, set: function(e) { this.element.value = e }, enumerable: !1, configurable: !0 }), e.prototype.addEventListeners = function() { this.element.addEventListener("paste", this._onPaste), this.element.addEventListener("input", this._onInput, { passive: !0 }), this.element.addEventListener("focus", this._onFocus, { passive: !0 }), this.element.addEventListener("blur", this._onBlur, { passive: !0 }) }, e.prototype.removeEventListeners = function() { this.element.removeEventListener("input", this._onInput), this.element.removeEventListener("paste", this._onPaste), this.element.removeEventListener("focus", this._onFocus), this.element.removeEventListener("blur", this._onBlur) }, e.prototype.enable = function() { this.element.removeAttribute("disabled"), this.isDisabled = !1 }, e.prototype.disable = function() { this.element.setAttribute("disabled", ""), this.isDisabled = !0 }, e.prototype.focus = function() { this.isFocussed || this.element.focus() }, e.prototype.blur = function() { this.isFocussed && this.element.blur() }, e.prototype.clear = function(e) { return void 0 === e && (e = !0), this.element.value && (this.element.value = ""), e && this.setWidth(), this }, e.prototype.setWidth = function() { var e = this.element, t = e.style, i = e.value, n = e.placeholder; t.minWidth = "".concat(n.length + 1, "ch"), t.width = "".concat(i.length + 1, "ch") }, e.prototype.setActiveDescendant = function(e) { this.element.setAttribute("aria-activedescendant", e) }, e.prototype.removeActiveDescendant = function() { this.element.removeAttribute("aria-activedescendant") }, e.prototype._onInput = function() { this.type !== o.SELECT_ONE_TYPE && this.setWidth() }, e.prototype._onPaste = function(e) { this.preventPaste && e.preventDefault() }, e.prototype._onFocus = function() { this.isFocussed = !0 }, e.prototype._onBlur = function() { this.isFocussed = !1 }, e }(); t.default = r }, 624: function(e, t, i) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }); var n = i(883), o = function() { function e(e) { var t = e.element; this.element = t, this.scrollPos = this.element.scrollTop, this.height = this.element.offsetHeight } return e.prototype.clear = function() { this.element.innerHTML = "" }, e.prototype.append = function(e) { this.element.appendChild(e) }, e.prototype.getChild = function(e) { return this.element.querySelector(e) }, e.prototype.hasChildren = function() { return this.element.hasChildNodes() }, e.prototype.scrollToTop = function() { this.element.scrollTop = 0 }, e.prototype.scrollToChildElement = function(e, t) { var i = this; if (e) { var n = this.element.offsetHeight, o = this.element.scrollTop + n, r = e.offsetHeight, s = e.offsetTop + r, a = t > 0 ? this.element.scrollTop + s - o : e.offsetTop; requestAnimationFrame((function() { i._animateScroll(a, t) })) } }, e.prototype._scrollDown = function(e, t, i) { var n = (i - e) / t, o = n > 1 ? n : 1; this.element.scrollTop = e + o }, e.prototype._scrollUp = function(e, t, i) { var n = (e - i) / t, o = n > 1 ? n : 1; this.element.scrollTop = e - o }, e.prototype._animateScroll = function(e, t) { var i = this, o = n.SCROLLING_SPEED, r = this.element.scrollTop, s = !1; t > 0 ? (this._scrollDown(r, o, e), r < e && (s = !0)) : (this._scrollUp(r, o, e), r > e && (s = !0)), s && requestAnimationFrame((function() { i._animateScroll(e, t) })) }, e }(); t.default = o }, 730: function(e, t, i) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }); var n = i(799), o = function() { function e(e) { var t = e.element, i = e.classNames; if (this.element = t, this.classNames = i, !(t instanceof HTMLInputElement || t instanceof HTMLSelectElement)) throw new TypeError("Invalid element passed"); this.isDisabled = !1 } return Object.defineProperty(e.prototype, "isActive", { get: function() { return "active" === this.element.dataset.choice }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "dir", { get: function() { return this.element.dir }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "value", { get: function() { return this.element.value }, set: function(e) { this.element.value = e }, enumerable: !1, configurable: !0 }), e.prototype.conceal = function() { this.element.classList.add(this.classNames.input), this.element.hidden = !0, this.element.tabIndex = -1; var e = this.element.getAttribute("style"); e && this.element.setAttribute("data-choice-orig-style", e), this.element.setAttribute("data-choice", "active") }, e.prototype.reveal = function() { this.element.classList.remove(this.classNames.input), this.element.hidden = !1, this.element.removeAttribute("tabindex"); var e = this.element.getAttribute("data-choice-orig-style"); e ? (this.element.removeAttribute("data-choice-orig-style"), this.element.setAttribute("style", e)) : this.element.removeAttribute("style"), this.element.removeAttribute("data-choice"), this.element.value = this.element.value }, e.prototype.enable = function() { this.element.removeAttribute("disabled"), this.element.disabled = !1, this.isDisabled = !1 }, e.prototype.disable = function() { this.element.setAttribute("disabled", ""), this.element.disabled = !0, this.isDisabled = !0 }, e.prototype.triggerEvent = function(e, t) { (0, n.dispatchEvent)(this.element, e, t) }, e }(); t.default = o }, 541: function(e, t, i) { "use strict"; var n, o = this && this.__extends || (n = function(e, t) { return n = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e, t) { e.__proto__ = t } || function(e, t) { for (var i in t) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]) }, n(e, t) }, function(e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Class extends value " + String(t) + " is not a constructor or null"); function i() { this.constructor = e } n(e, t), e.prototype = null === t ? Object.create(t) : (i.prototype = t.prototype, new i) }), r = this && this.__importDefault || function(e) { return e && e.__esModule ? e : { default: e } }; Object.defineProperty(t, "__esModule", { value: !0 }); var s = function(e) { function t(t) { var i = t.element, n = t.classNames, o = t.delimiter, r = e.call(this, { element: i, classNames: n }) || this; return r.delimiter = o, r } return o(t, e), Object.defineProperty(t.prototype, "value", { get: function() { return this.element.value }, set: function(e) { this.element.setAttribute("value", e), this.element.value = e }, enumerable: !1, configurable: !0 }), t }(r(i(730)).default); t.default = s }, 982: function(e, t, i) { "use strict"; var n, o = this && this.__extends || (n = function(e, t) { return n = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e, t) { e.__proto__ = t } || function(e, t) { for (var i in t) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]) }, n(e, t) }, function(e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Class extends value " + String(t) + " is not a constructor or null"); function i() { this.constructor = e } n(e, t), e.prototype = null === t ? Object.create(t) : (i.prototype = t.prototype, new i) }), r = this && this.__importDefault || function(e) { return e && e.__esModule ? e : { default: e } }; Object.defineProperty(t, "__esModule", { value: !0 }); var s = function(e) { function t(t) { var i = t.element, n = t.classNames, o = t.template, r = e.call(this, { element: i, classNames: n }) || this; return r.template = o, r } return o(t, e), Object.defineProperty(t.prototype, "placeholderOption", { get: function() { return this.element.querySelector('option[value=""]') || this.element.querySelector("option[placeholder]") }, enumerable: !1, configurable: !0 }), Object.defineProperty(t.prototype, "optionGroups", { get: function() { return Array.from(this.element.getElementsByTagName("OPTGROUP")) }, enumerable: !1, configurable: !0 }), Object.defineProperty(t.prototype, "options", { get: function() { return Array.from(this.element.options) }, set: function(e) { var t = this, i = document.createDocumentFragment(); e.forEach((function(e) { return n = e, o = t.template(n), void i.appendChild(o); var n, o })), this.appendDocFragment(i) }, enumerable: !1, configurable: !0 }), t.prototype.appendDocFragment = function(e) { this.element.innerHTML = "", this.element.appendChild(e) }, t }(r(i(730)).default); t.default = s }, 883: function(e, t) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.SCROLLING_SPEED = t.SELECT_MULTIPLE_TYPE = t.SELECT_ONE_TYPE = t.TEXT_TYPE = t.KEY_CODES = t.ACTION_TYPES = t.EVENTS = void 0, t.EVENTS = { showDropdown: "showDropdown", hideDropdown: "hideDropdown", change: "change", choice: "choice", search: "search", addItem: "addItem", removeItem: "removeItem", highlightItem: "highlightItem", highlightChoice: "highlightChoice", unhighlightItem: "unhighlightItem" }, t.ACTION_TYPES = { ADD_CHOICE: "ADD_CHOICE", FILTER_CHOICES: "FILTER_CHOICES", ACTIVATE_CHOICES: "ACTIVATE_CHOICES", CLEAR_CHOICES: "CLEAR_CHOICES", ADD_GROUP: "ADD_GROUP", ADD_ITEM: "ADD_ITEM", REMOVE_ITEM: "REMOVE_ITEM", HIGHLIGHT_ITEM: "HIGHLIGHT_ITEM", CLEAR_ALL: "CLEAR_ALL", RESET_TO: "RESET_TO", SET_IS_LOADING: "SET_IS_LOADING" }, t.KEY_CODES = { BACK_KEY: 46, DELETE_KEY: 8, ENTER_KEY: 13, A_KEY: 65, ESC_KEY: 27, UP_KEY: 38, DOWN_KEY: 40, PAGE_UP_KEY: 33, PAGE_DOWN_KEY: 34 }, t.TEXT_TYPE = "text", t.SELECT_ONE_TYPE = "select-one", t.SELECT_MULTIPLE_TYPE = "select-multiple", t.SCROLLING_SPEED = 4 }, 789: function(e, t, i) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.DEFAULT_CONFIG = t.DEFAULT_CLASSNAMES = void 0; var n = i(799); t.DEFAULT_CLASSNAMES = { containerOuter: "choices", containerInner: "choices__inner", input: "choices__input", inputCloned: "choices__input--cloned", list: "choices__list", listItems: "choices__list--multiple", listSingle: "choices__list--single", listDropdown: "choices__list--dropdown", item: "choices__item", itemSelectable: "choices__item--selectable", itemDisabled: "choices__item--disabled", itemChoice: "choices__item--choice", placeholder: "choices__placeholder", group: "choices__group", groupHeading: "choices__heading", button: "choices__button", activeState: "is-active", focusState: "is-focused", openState: "is-open", disabledState: "is-disabled", highlightedState: "is-highlighted", selectedState: "is-selected", flippedState: "is-flipped", loadingState: "is-loading", noResults: "has-no-results", noChoices: "has-no-choices" }, t.DEFAULT_CONFIG = { items: [], choices: [], silent: !1, renderChoiceLimit: -1, maxItemCount: -1, addItems: !0, addItemFilter: null, removeItems: !0, removeItemButton: !1, editItems: !1, duplicateItemsAllowed: !0, delimiter: ",", paste: !0, searchEnabled: !0, searchChoices: !0, searchFloor: 1, searchResultLimit: 4, searchFields: ["label", "value"], position: "auto", resetScrollPosition: !0, shouldSort: !0, shouldSortItems: !1, sorter: n.sortByAlpha, placeholder: !0, placeholderValue: null, searchPlaceholderValue: null, prependValue: null, appendValue: null, renderSelectedChoices: "auto", loadingText: "Loading...", noResultsText: "No results found", noChoicesText: "No choices to choose from", itemSelectText: "Press to select", uniqueItemText: "Only unique values can be added", customAddItemText: "Only values matching specific conditions can be added", addItemText: function(e) { return 'Press Enter to add "'.concat((0, n.sanitise)(e), '"') }, maxItemText: function(e) { return "Only ".concat(e, " values can be added") }, valueComparer: function(e, t) { return e === t }, fuseOptions: { includeScore: !0 }, callbackOnInit: null, callbackOnCreateTemplates: null, classNames: t.DEFAULT_CLASSNAMES } }, 799: function(e, t) { "use strict"; var i; Object.defineProperty(t, "__esModule", { value: !0 }), t.diff = t.cloneObject = t.existsInArray = t.dispatchEvent = t.sortByScore = t.sortByAlpha = t.strToEl = t.sanitise = t.isScrolledIntoView = t.getAdjacentEl = t.wrap = t.isType = t.getType = t.generateId = t.generateChars = t.getRandomNumber = void 0, t.getRandomNumber = function(e, t) { return Math.floor(Math.random() * (t - e) + e) }, t.generateChars = function(e) { return Array.from({ length: e }, (function() { return (0, t.getRandomNumber)(0, 36).toString(36) })).join("") }, t.generateId = function(e, i) { var n = e.id || e.name && "".concat(e.name, "-").concat((0, t.generateChars)(2)) || (0, t.generateChars)(4); return n = n.replace(/(:|\.|\[|\]|,)/g, ""), "".concat(i, "-").concat(n) }, t.getType = function(e) { return Object.prototype.toString.call(e).slice(8, -1) }, t.isType = function(e, i) { return null != i && (0, t.getType)(i) === e }, t.wrap = function(e, t) { return void 0 === t && (t = document.createElement("div")), e.parentNode && (e.nextSibling ? e.parentNode.insertBefore(t, e.nextSibling) : e.parentNode.appendChild(t)), t.appendChild(e) }, t.getAdjacentEl = function(e, t, i) { void 0 === i && (i = 1); for (var n = "".concat(i > 0 ? "next" : "previous", "ElementSibling"), o = e[n]; o;) { if (o.matches(t)) return o; o = o[n] } return o }, t.isScrolledIntoView = function(e, t, i) { return void 0 === i && (i = 1), !!e && (i > 0 ? t.scrollTop + t.offsetHeight >= e.offsetTop + e.offsetHeight : e.offsetTop >= t.scrollTop) }, t.sanitise = function(e) { return "string" != typeof e ? e : e.replace(/&/g, "&").replace(/>/g, "&rt;").replace(/ -1 ? e.map((function(e) { var t = e; return t.id === parseInt("".concat(s.choiceId), 10) && (t.selected = !0), t })) : e; case "REMOVE_ITEM": var a = n; return a.choiceId && a.choiceId > -1 ? e.map((function(e) { var t = e; return t.id === parseInt("".concat(a.choiceId), 10) && (t.selected = !1), t })) : e; case "FILTER_CHOICES": var c = n; return e.map((function(e) { var t = e; return t.active = c.results.some((function(e) { var i = e.item, n = e.score; return i.id === t.id && (t.score = n, !0) })), t })); case "ACTIVATE_CHOICES": var l = n; return e.map((function(e) { var t = e; return t.active = l.active, t })); case "CLEAR_CHOICES": return t.defaultState; default: return e } } }, 871: function(e, t) { "use strict"; var i = this && this.__spreadArray || function(e, t, i) { if (i || 2 === arguments.length) for (var n, o = 0, r = t.length; o < r; o++) !n && o in t || (n || (n = Array.prototype.slice.call(t, 0, o)), n[o] = t[o]); return e.concat(n || Array.prototype.slice.call(t)) }; Object.defineProperty(t, "__esModule", { value: !0 }), t.defaultState = void 0, t.defaultState = [], t.default = function(e, n) { switch (void 0 === e && (e = t.defaultState), void 0 === n && (n = {}), n.type) { case "ADD_GROUP": var o = n; return i(i([], e, !0), [{ id: o.id, value: o.value, active: o.active, disabled: o.disabled }], !1); case "CLEAR_CHOICES": return []; default: return e } } }, 655: function(e, t, i) { "use strict"; var n = this && this.__importDefault || function(e) { return e && e.__esModule ? e : { default: e } }; Object.defineProperty(t, "__esModule", { value: !0 }), t.defaultState = void 0; var o = i(857), r = n(i(52)), s = n(i(871)), a = n(i(273)), c = n(i(502)), l = i(799); t.defaultState = { groups: [], items: [], choices: [], loading: !1 }; var h = (0, o.combineReducers)({ items: r.default, groups: s.default, choices: a.default, loading: c.default }); t.default = function(e, i) { var n = e; if ("CLEAR_ALL" === i.type) n = t.defaultState; else if ("RESET_TO" === i.type) return (0, l.cloneObject)(i.state); return h(n, i) } }, 52: function(e, t) { "use strict"; var i = this && this.__spreadArray || function(e, t, i) { if (i || 2 === arguments.length) for (var n, o = 0, r = t.length; o < r; o++) !n && o in t || (n || (n = Array.prototype.slice.call(t, 0, o)), n[o] = t[o]); return e.concat(n || Array.prototype.slice.call(t)) }; Object.defineProperty(t, "__esModule", { value: !0 }), t.defaultState = void 0, t.defaultState = [], t.default = function(e, n) { switch (void 0 === e && (e = t.defaultState), void 0 === n && (n = {}), n.type) { case "ADD_ITEM": var o = n; return i(i([], e, !0), [{ id: o.id, choiceId: o.choiceId, groupId: o.groupId, value: o.value, label: o.label, active: !0, highlighted: !1, customProperties: o.customProperties, placeholder: o.placeholder || !1, keyCode: null }], !1).map((function(e) { var t = e; return t.highlighted = !1, t })); case "REMOVE_ITEM": return e.map((function(e) { var t = e; return t.id === n.id && (t.active = !1), t })); case "HIGHLIGHT_ITEM": var r = n; return e.map((function(e) { var t = e; return t.id === r.id && (t.highlighted = r.highlighted), t })); default: return e } } }, 502: function(e, t) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.defaultState = void 0, t.defaultState = !1, t.default = function(e, i) { return void 0 === e && (e = t.defaultState), void 0 === i && (i = {}), "SET_IS_LOADING" === i.type ? i.isLoading : e } }, 744: function(e, t, i) { "use strict"; var n = this && this.__spreadArray || function(e, t, i) { if (i || 2 === arguments.length) for (var n, o = 0, r = t.length; o < r; o++) !n && o in t || (n || (n = Array.prototype.slice.call(t, 0, o)), n[o] = t[o]); return e.concat(n || Array.prototype.slice.call(t)) }, o = this && this.__importDefault || function(e) { return e && e.__esModule ? e : { default: e } }; Object.defineProperty(t, "__esModule", { value: !0 }); var r = i(857), s = o(i(655)), a = function() { function e() { this._store = (0, r.createStore)(s.default, window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()) } return e.prototype.subscribe = function(e) { this._store.subscribe(e) }, e.prototype.dispatch = function(e) { this._store.dispatch(e) }, Object.defineProperty(e.prototype, "state", { get: function() { return this._store.getState() }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "items", { get: function() { return this.state.items }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "activeItems", { get: function() { return this.items.filter((function(e) { return !0 === e.active })) }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "highlightedActiveItems", { get: function() { return this.items.filter((function(e) { return e.active && e.highlighted })) }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "choices", { get: function() { return this.state.choices }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "activeChoices", { get: function() { return this.choices.filter((function(e) { return !0 === e.active })) }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "selectableChoices", { get: function() { return this.choices.filter((function(e) { return !0 !== e.disabled })) }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "searchableChoices", { get: function() { return this.selectableChoices.filter((function(e) { return !0 !== e.placeholder })) }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "placeholderChoice", { get: function() { return n([], this.choices, !0).reverse().find((function(e) { return !0 === e.placeholder })) }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "groups", { get: function() { return this.state.groups }, enumerable: !1, configurable: !0 }), Object.defineProperty(e.prototype, "activeGroups", { get: function() { var e = this.groups, t = this.choices; return e.filter((function(e) { var i = !0 === e.active && !1 === e.disabled, n = t.some((function(e) { return !0 === e.active && !1 === e.disabled })); return i && n }), []) }, enumerable: !1, configurable: !0 }), e.prototype.isLoading = function() { return this.state.loading }, e.prototype.getChoiceById = function(e) { return this.activeChoices.find((function(t) { return t.id === parseInt(e, 10) })) }, e.prototype.getGroupById = function(e) { return this.groups.find((function(t) { return t.id === e })) }, e }(); t.default = a }, 686: function(e, t) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }); var i = { containerOuter: function(e, t, i, n, o, r) { var s = e.containerOuter, a = Object.assign(document.createElement("div"), { className: s }); return a.dataset.type = r, t && (a.dir = t), n && (a.tabIndex = 0), i && (a.setAttribute("role", o ? "combobox" : "listbox"), o && a.setAttribute("aria-autocomplete", "list")), a.setAttribute("aria-haspopup", "true"), a.setAttribute("aria-expanded", "false"), a }, containerInner: function(e) { var t = e.containerInner; return Object.assign(document.createElement("div"), { className: t }) }, itemList: function(e, t) { var i = e.list, n = e.listSingle, o = e.listItems; return Object.assign(document.createElement("div"), { className: "".concat(i, " ").concat(t ? n : o) }) }, placeholder: function(e, t) { var i = e.placeholder; return Object.assign(document.createElement("div"), { className: i, innerHTML: t }) }, item: function(e, t, i) { var n = e.item, o = e.button, r = e.highlightedState, s = e.itemSelectable, a = e.placeholder, c = t.id, l = t.value, h = t.label, u = t.customProperties, d = t.active, p = t.disabled, f = t.highlighted, m = t.placeholder, v = Object.assign(document.createElement("div"), { className: n, innerHTML: h }); if (Object.assign(v.dataset, { item: "", id: c, value: l, customProperties: u }), d && v.setAttribute("aria-selected", "true"), p && v.setAttribute("aria-disabled", "true"), m && v.classList.add(a), v.classList.add(f ? r : s), i) { p && v.classList.remove(s), v.dataset.deletable = ""; var _ = "Remove item", g = Object.assign(document.createElement("button"), { type: "button", className: o, innerHTML: _ }); g.setAttribute("aria-label", "".concat(_, ": '").concat(l, "'")), g.dataset.button = "", v.appendChild(g) } return v }, choiceList: function(e, t) { var i = e.list, n = Object.assign(document.createElement("div"), { className: i }); return t || n.setAttribute("aria-multiselectable", "true"), n.setAttribute("role", "listbox"), n }, choiceGroup: function(e, t) { var i = e.group, n = e.groupHeading, o = e.itemDisabled, r = t.id, s = t.value, a = t.disabled, c = Object.assign(document.createElement("div"), { className: "".concat(i, " ").concat(a ? o : "") }); return c.setAttribute("role", "group"), Object.assign(c.dataset, { group: "", id: r, value: s }), a && c.setAttribute("aria-disabled", "true"), c.appendChild(Object.assign(document.createElement("div"), { className: n, innerHTML: s })), c }, choice: function(e, t, i) { var n = e.item, o = e.itemChoice, r = e.itemSelectable, s = e.selectedState, a = e.itemDisabled, c = e.placeholder, l = t.id, h = t.value, u = t.label, d = t.groupId, p = t.elementId, f = t.disabled, m = t.selected, v = t.placeholder, _ = Object.assign(document.createElement("div"), { id: p, innerHTML: u, className: "".concat(n, " ").concat(o) }); return m && _.classList.add(s), v && _.classList.add(c), _.setAttribute("role", d && d > 0 ? "treeitem" : "option"), Object.assign(_.dataset, { choice: "", id: l, value: h, selectText: i }), f ? (_.classList.add(a), _.dataset.choiceDisabled = "", _.setAttribute("aria-disabled", "true")) : (_.classList.add(r), _.dataset.choiceSelectable = ""), _ }, input: function(e, t) { var i = e.input, n = e.inputCloned, o = Object.assign(document.createElement("input"), { type: "text", className: "".concat(i, " ").concat(n), autocomplete: "off", autocapitalize: "off", spellcheck: !1 }); return o.setAttribute("role", "textbox"), o.setAttribute("aria-autocomplete", "list"), o.setAttribute("aria-label", t), o }, dropdown: function(e) { var t = e.list, i = e.listDropdown, n = document.createElement("div"); return n.classList.add(t, i), n.setAttribute("aria-expanded", "false"), n }, notice: function(e, t, i) { var n = e.item, o = e.itemChoice, r = e.noResults, s = e.noChoices; void 0 === i && (i = ""); var a = [n, o]; return "no-choices" === i ? a.push(s) : "no-results" === i && a.push(r), Object.assign(document.createElement("div"), { innerHTML: t, className: a.join(" ") }) }, option: function(e) { var t = e.label, i = e.value, n = e.customProperties, o = e.active, r = e.disabled, s = new Option(t, i, !1, o); return n && (s.dataset.customProperties = "".concat(n)), s.disabled = !!r, s } }; t.default = i }, 996: function(e) { "use strict"; var t = function(e) { return function(e) { return !!e && "object" == typeof e }(e) && ! function(e) { var t = Object.prototype.toString.call(e); return "[object RegExp]" === t || "[object Date]" === t || function(e) { return e.$$typeof === i }(e) }(e) }, i = "function" == typeof Symbol && Symbol.for ? Symbol.for("react.element") : 60103; function n(e, t) { return !1 !== t.clone && t.isMergeableObject(e) ? a((i = e, Array.isArray(i) ? [] : {}), e, t) : e; var i } function o(e, t, i) { return e.concat(t).map((function(e) { return n(e, i) })) } function r(e) { return Object.keys(e).concat(function(e) { return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(e).filter((function(t) { return e.propertyIsEnumerable(t) })) : [] }(e)) } function s(e, t) { try { return t in e } catch (e) { return !1 } } function a(e, i, c) { (c = c || {}).arrayMerge = c.arrayMerge || o, c.isMergeableObject = c.isMergeableObject || t, c.cloneUnlessOtherwiseSpecified = n; var l = Array.isArray(i); return l === Array.isArray(e) ? l ? c.arrayMerge(e, i, c) : function(e, t, i) { var o = {}; return i.isMergeableObject(e) && r(e).forEach((function(t) { o[t] = n(e[t], i) })), r(t).forEach((function(r) { (function(e, t) { return s(e, t) && !(Object.hasOwnProperty.call(e, t) && Object.propertyIsEnumerable.call(e, t)) })(e, r) || (s(e, r) && i.isMergeableObject(t[r]) ? o[r] = function(e, t) { if (!t.customMerge) return a; var i = t.customMerge(e); return "function" == typeof i ? i : a }(r, i)(e[r], t[r], i) : o[r] = n(t[r], i)) })), o }(e, i, c) : n(i, c) } a.all = function(e, t) { if (!Array.isArray(e)) throw new Error("first argument should be an array"); return e.reduce((function(e, i) { return a(e, i, t) }), {}) }; var c = a; e.exports = c }, 70: function(e) { e.exports = function(e) { var t = {}; function i(n) { if (t[n]) return t[n].exports; var o = t[n] = { i: n, l: !1, exports: {} }; return e[n].call(o.exports, o, o.exports, i), o.l = !0, o.exports } return i.m = e, i.c = t, i.d = function(e, t, n) { i.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: n }) }, i.r = function(e) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }) }, i.t = function(e, t) { if (1 & t && (e = i(e)), 8 & t) return e; if (4 & t && "object" == typeof e && e && e.__esModule) return e; var n = Object.create(null); if (i.r(n), Object.defineProperty(n, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e) for (var o in e) i.d(n, o, function(t) { return e[t] }.bind(null, o)); return n }, i.n = function(e) { var t = e && e.__esModule ? function() { return e.default } : function() { return e }; return i.d(t, "a", t), t }, i.o = function(e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, i.p = "", i(i.s = 1) }([function(e, t) { e.exports = function(e) { return Array.isArray ? Array.isArray(e) : "[object Array]" === Object.prototype.toString.call(e) } }, function(e, t, i) { function n(e) { return (n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { return typeof e } : function(e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } function o(e, t) { for (var i = 0; i < t.length; i++) { var n = t[i]; n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n) } } var r = i(2), s = i(8), a = i(0), c = function() { function e(t, i) { var n = i.location, o = void 0 === n ? 0 : n, r = i.distance, a = void 0 === r ? 100 : r, c = i.threshold, l = void 0 === c ? .6 : c, h = i.maxPatternLength, u = void 0 === h ? 32 : h, d = i.caseSensitive, p = void 0 !== d && d, f = i.tokenSeparator, m = void 0 === f ? / +/g : f, v = i.findAllMatches, _ = void 0 !== v && v, g = i.minMatchCharLength, y = void 0 === g ? 1 : g, E = i.id, b = void 0 === E ? null : E, S = i.keys, I = void 0 === S ? [] : S, O = i.shouldSort, C = void 0 === O || O, T = i.getFn, A = void 0 === T ? s : T, L = i.sortFn, w = void 0 === L ? function(e, t) { return e.score - t.score } : L, P = i.tokenize, D = void 0 !== P && P, N = i.matchAllTokens, M = void 0 !== N && N, x = i.includeMatches, j = void 0 !== x && x, F = i.includeScore, k = void 0 !== F && F, K = i.verbose, Y = void 0 !== K && K; ! function(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this.options = { location: o, distance: a, threshold: l, maxPatternLength: u, isCaseSensitive: p, tokenSeparator: m, findAllMatches: _, minMatchCharLength: y, id: b, keys: I, includeMatches: j, includeScore: k, shouldSort: C, getFn: A, sortFn: w, verbose: Y, tokenize: D, matchAllTokens: M }, this.setCollection(t) } var t, i; return t = e, (i = [{ key: "setCollection", value: function(e) { return this.list = e, e } }, { key: "search", value: function(e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : { limit: !1 }; this._log('---------\nSearch pattern: "'.concat(e, '"')); var i = this._prepareSearchers(e), n = i.tokenSearchers, o = i.fullSearcher, r = this._search(n, o), s = r.weights, a = r.results; return this._computeScore(s, a), this.options.shouldSort && this._sort(a), t.limit && "number" == typeof t.limit && (a = a.slice(0, t.limit)), this._format(a) } }, { key: "_prepareSearchers", value: function() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "", t = []; if (this.options.tokenize) for (var i = e.split(this.options.tokenSeparator), n = 0, o = i.length; n < o; n += 1) t.push(new r(i[n], this.options)); return { tokenSearchers: t, fullSearcher: new r(e, this.options) } } }, { key: "_search", value: function() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [], t = arguments.length > 1 ? arguments[1] : void 0, i = this.list, n = {}, o = []; if ("string" == typeof i[0]) { for (var r = 0, s = i.length; r < s; r += 1) this._analyze({ key: "", value: i[r], record: r, index: r }, { resultMap: n, results: o, tokenSearchers: e, fullSearcher: t }); return { weights: null, results: o } } for (var a = {}, c = 0, l = i.length; c < l; c += 1) for (var h = i[c], u = 0, d = this.options.keys.length; u < d; u += 1) { var p = this.options.keys[u]; if ("string" != typeof p) { if (a[p.name] = { weight: 1 - p.weight || 1 }, p.weight <= 0 || p.weight > 1) throw new Error("Key weight has to be > 0 and <= 1"); p = p.name } else a[p] = { weight: 1 }; this._analyze({ key: p, value: this.options.getFn(h, p), record: h, index: c }, { resultMap: n, results: o, tokenSearchers: e, fullSearcher: t }) } return { weights: a, results: o } } }, { key: "_analyze", value: function(e, t) { var i = e.key, n = e.arrayIndex, o = void 0 === n ? -1 : n, r = e.value, s = e.record, c = e.index, l = t.tokenSearchers, h = void 0 === l ? [] : l, u = t.fullSearcher, d = void 0 === u ? [] : u, p = t.resultMap, f = void 0 === p ? {} : p, m = t.results, v = void 0 === m ? [] : m; if (null != r) { var _ = !1, g = -1, y = 0; if ("string" == typeof r) { this._log("\nKey: ".concat("" === i ? "-" : i)); var E = d.search(r); if (this._log('Full text: "'.concat(r, '", score: ').concat(E.score)), this.options.tokenize) { for (var b = r.split(this.options.tokenSeparator), S = [], I = 0; I < h.length; I += 1) { var O = h[I]; this._log('\nPattern: "'.concat(O.pattern, '"')); for (var C = !1, T = 0; T < b.length; T += 1) { var A = b[T], L = O.search(A), w = {}; L.isMatch ? (w[A] = L.score, _ = !0, C = !0, S.push(L.score)) : (w[A] = 1, this.options.matchAllTokens || S.push(1)), this._log('Token: "'.concat(A, '", score: ').concat(w[A])) } C && (y += 1) } g = S[0]; for (var P = S.length, D = 1; D < P; D += 1) g += S[D]; g /= P, this._log("Token score average:", g) } var N = E.score; g > -1 && (N = (N + g) / 2), this._log("Score average:", N); var M = !this.options.tokenize || !this.options.matchAllTokens || y >= h.length; if (this._log("\nCheck Matches: ".concat(M)), (_ || E.isMatch) && M) { var x = f[c]; x ? x.output.push({ key: i, arrayIndex: o, value: r, score: N, matchedIndices: E.matchedIndices }) : (f[c] = { item: s, output: [{ key: i, arrayIndex: o, value: r, score: N, matchedIndices: E.matchedIndices }] }, v.push(f[c])) } } else if (a(r)) for (var j = 0, F = r.length; j < F; j += 1) this._analyze({ key: i, arrayIndex: j, value: r[j], record: s, index: c }, { resultMap: f, results: v, tokenSearchers: h, fullSearcher: d }) } } }, { key: "_computeScore", value: function(e, t) { this._log("\n\nComputing score:\n"); for (var i = 0, n = t.length; i < n; i += 1) { for (var o = t[i].output, r = o.length, s = 1, a = 1, c = 0; c < r; c += 1) { var l = e ? e[o[c].key].weight : 1, h = (1 === l ? o[c].score : o[c].score || .001) * l; 1 !== l ? a = Math.min(a, h) : (o[c].nScore = h, s *= h) } t[i].score = 1 === a ? s : a, this._log(t[i]) } } }, { key: "_sort", value: function(e) { this._log("\n\nSorting...."), e.sort(this.options.sortFn) } }, { key: "_format", value: function(e) { var t = []; if (this.options.verbose) { var i = []; this._log("\n\nOutput:\n\n", JSON.stringify(e, (function(e, t) { if ("object" === n(t) && null !== t) { if (-1 !== i.indexOf(t)) return; i.push(t) } return t }))), i = null } var o = []; this.options.includeMatches && o.push((function(e, t) { var i = e.output; t.matches = []; for (var n = 0, o = i.length; n < o; n += 1) { var r = i[n]; if (0 !== r.matchedIndices.length) { var s = { indices: r.matchedIndices, value: r.value }; r.key && (s.key = r.key), r.hasOwnProperty("arrayIndex") && r.arrayIndex > -1 && (s.arrayIndex = r.arrayIndex), t.matches.push(s) } } })), this.options.includeScore && o.push((function(e, t) { t.score = e.score })); for (var r = 0, s = e.length; r < s; r += 1) { var a = e[r]; if (this.options.id && (a.item = this.options.getFn(a.item, this.options.id)[0]), o.length) { for (var c = { item: a.item }, l = 0, h = o.length; l < h; l += 1) o[l](a, c); t.push(c) } else t.push(a.item) } return t } }, { key: "_log", value: function() { var e; this.options.verbose && (e = console).log.apply(e, arguments) } }]) && o(t.prototype, i), e }(); e.exports = c }, function(e, t, i) { function n(e, t) { for (var i = 0; i < t.length; i++) { var n = t[i]; n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n) } } var o = i(3), r = i(4), s = i(7), a = function() { function e(t, i) { var n = i.location, o = void 0 === n ? 0 : n, r = i.distance, a = void 0 === r ? 100 : r, c = i.threshold, l = void 0 === c ? .6 : c, h = i.maxPatternLength, u = void 0 === h ? 32 : h, d = i.isCaseSensitive, p = void 0 !== d && d, f = i.tokenSeparator, m = void 0 === f ? / +/g : f, v = i.findAllMatches, _ = void 0 !== v && v, g = i.minMatchCharLength, y = void 0 === g ? 1 : g; ! function(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this.options = { location: o, distance: a, threshold: l, maxPatternLength: u, isCaseSensitive: p, tokenSeparator: m, findAllMatches: _, minMatchCharLength: y }, this.pattern = this.options.isCaseSensitive ? t : t.toLowerCase(), this.pattern.length <= u && (this.patternAlphabet = s(this.pattern)) } var t, i; return t = e, (i = [{ key: "search", value: function(e) { if (this.options.isCaseSensitive || (e = e.toLowerCase()), this.pattern === e) return { isMatch: !0, score: 0, matchedIndices: [ [0, e.length - 1] ] }; var t = this.options, i = t.maxPatternLength, n = t.tokenSeparator; if (this.pattern.length > i) return o(e, this.pattern, n); var s = this.options, a = s.location, c = s.distance, l = s.threshold, h = s.findAllMatches, u = s.minMatchCharLength; return r(e, this.pattern, this.patternAlphabet, { location: a, distance: c, threshold: l, findAllMatches: h, minMatchCharLength: u }) } }]) && n(t.prototype, i), e }(); e.exports = a }, function(e, t) { var i = /[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g; e.exports = function(e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : / +/g, o = new RegExp(t.replace(i, "\\$&").replace(n, "|")), r = e.match(o), s = !!r, a = []; if (s) for (var c = 0, l = r.length; c < l; c += 1) { var h = r[c]; a.push([e.indexOf(h), h.length - 1]) } return { score: s ? .5 : 1, isMatch: s, matchedIndices: a } } }, function(e, t, i) { var n = i(5), o = i(6); e.exports = function(e, t, i, r) { for (var s = r.location, a = void 0 === s ? 0 : s, c = r.distance, l = void 0 === c ? 100 : c, h = r.threshold, u = void 0 === h ? .6 : h, d = r.findAllMatches, p = void 0 !== d && d, f = r.minMatchCharLength, m = void 0 === f ? 1 : f, v = a, _ = e.length, g = u, y = e.indexOf(t, v), E = t.length, b = [], S = 0; S < _; S += 1) b[S] = 0; if (-1 !== y) { var I = n(t, { errors: 0, currentLocation: y, expectedLocation: v, distance: l }); if (g = Math.min(I, g), -1 !== (y = e.lastIndexOf(t, v + E))) { var O = n(t, { errors: 0, currentLocation: y, expectedLocation: v, distance: l }); g = Math.min(O, g) } } y = -1; for (var C = [], T = 1, A = E + _, L = 1 << (E <= 31 ? E - 1 : 30), w = 0; w < E; w += 1) { for (var P = 0, D = A; P < D;) n(t, { errors: w, currentLocation: v + D, expectedLocation: v, distance: l }) <= g ? P = D : A = D, D = Math.floor((A - P) / 2 + P); A = D; var N = Math.max(1, v - D + 1), M = p ? _ : Math.min(v + D, _) + E, x = Array(M + 2); x[M + 1] = (1 << w) - 1; for (var j = M; j >= N; j -= 1) { var F = j - 1, k = i[e.charAt(F)]; if (k && (b[F] = 1), x[j] = (x[j + 1] << 1 | 1) & k, 0 !== w && (x[j] |= (C[j + 1] | C[j]) << 1 | 1 | C[j + 1]), x[j] & L && (T = n(t, { errors: w, currentLocation: F, expectedLocation: v, distance: l })) <= g) { if (g = T, (y = F) <= v) break; N = Math.max(1, 2 * v - y) } } if (n(t, { errors: w + 1, currentLocation: v, expectedLocation: v, distance: l }) > g) break; C = x } return { isMatch: y >= 0, score: 0 === T ? .001 : T, matchedIndices: o(b, m) } } }, function(e, t) { e.exports = function(e, t) { var i = t.errors, n = void 0 === i ? 0 : i, o = t.currentLocation, r = void 0 === o ? 0 : o, s = t.expectedLocation, a = void 0 === s ? 0 : s, c = t.distance, l = void 0 === c ? 100 : c, h = n / e.length, u = Math.abs(a - r); return l ? h + u / l : u ? 1 : h } }, function(e, t) { e.exports = function() { for (var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [], t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1, i = [], n = -1, o = -1, r = 0, s = e.length; r < s; r += 1) { var a = e[r]; a && -1 === n ? n = r : a || -1 === n || ((o = r - 1) - n + 1 >= t && i.push([n, o]), n = -1) } return e[r - 1] && r - n >= t && i.push([n, r - 1]), i } }, function(e, t) { e.exports = function(e) { for (var t = {}, i = e.length, n = 0; n < i; n += 1) t[e.charAt(n)] = 0; for (var o = 0; o < i; o += 1) t[e.charAt(o)] |= 1 << i - o - 1; return t } }, function(e, t, i) { var n = i(0); e.exports = function(e, t) { return function e(t, i, o) { if (i) { var r = i.indexOf("."), s = i, a = null; - 1 !== r && (s = i.slice(0, r), a = i.slice(r + 1)); var c = t[s]; if (null != c) if (a || "string" != typeof c && "number" != typeof c) if (n(c)) for (var l = 0, h = c.length; l < h; l += 1) e(c[l], a, o); else a && e(c, a, o); else o.push(c.toString()) } else o.push(t); return o }(e, t, []) } }]) }, 857: function(e, t, i) { "use strict"; function n(e, t, i) { return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = i, e } function o(e, t) { var i = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter((function(t) { return Object.getOwnPropertyDescriptor(e, t).enumerable }))), i.push.apply(i, n) } return i } function r(e) { for (var t = 1; t < arguments.length; t++) { var i = null != arguments[t] ? arguments[t] : {}; t % 2 ? o(Object(i), !0).forEach((function(t) { n(e, t, i[t]) })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) : o(Object(i)).forEach((function(t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)) })) } return e } function s(e) { return "Minified Redux error #" + e + "; visit https://redux.js.org/Errors?code=" + e + " for the full message or use the non-minified dev environment for full errors. " } i.r(t), i.d(t, { __DO_NOT_USE__ActionTypes: function() { return l }, applyMiddleware: function() { return v }, bindActionCreators: function() { return f }, combineReducers: function() { return d }, compose: function() { return m }, createStore: function() { return u } }); var a = "function" == typeof Symbol && Symbol.observable || "@@observable", c = function() { return Math.random().toString(36).substring(7).split("").join(".") }, l = { INIT: "@@redux/INIT" + c(), REPLACE: "@@redux/REPLACE" + c(), PROBE_UNKNOWN_ACTION: function() { return "@@redux/PROBE_UNKNOWN_ACTION" + c() } }; function h(e) { if ("object" != typeof e || null === e) return !1; for (var t = e; null !== Object.getPrototypeOf(t);) t = Object.getPrototypeOf(t); return Object.getPrototypeOf(e) === t } function u(e, t, i) { var n; if ("function" == typeof t && "function" == typeof i || "function" == typeof i && "function" == typeof arguments[3]) throw new Error(s(0)); if ("function" == typeof t && void 0 === i && (i = t, t = void 0), void 0 !== i) { if ("function" != typeof i) throw new Error(s(1)); return i(u)(e, t) } if ("function" != typeof e) throw new Error(s(2)); var o = e, r = t, c = [], d = c, p = !1; function f() { d === c && (d = c.slice()) } function m() { if (p) throw new Error(s(3)); return r } function v(e) { if ("function" != typeof e) throw new Error(s(4)); if (p) throw new Error(s(5)); var t = !0; return f(), d.push(e), function() { if (t) { if (p) throw new Error(s(6)); t = !1, f(); var i = d.indexOf(e); d.splice(i, 1), c = null } } } function _(e) { if (!h(e)) throw new Error(s(7)); if (void 0 === e.type) throw new Error(s(8)); if (p) throw new Error(s(9)); try { p = !0, r = o(r, e) } finally { p = !1 } for (var t = c = d, i = 0; i < t.length; i++)(0, t[i])(); return e } function g(e) { if ("function" != typeof e) throw new Error(s(10)); o = e, _({ type: l.REPLACE }) } function y() { var e, t = v; return (e = { subscribe: function(e) { if ("object" != typeof e || null === e) throw new Error(s(11)); function i() { e.next && e.next(m()) } return i(), { unsubscribe: t(i) } } })[a] = function() { return this }, e } return _({ type: l.INIT }), (n = { dispatch: _, subscribe: v, getState: m, replaceReducer: g })[a] = y, n } function d(e) { for (var t = Object.keys(e), i = {}, n = 0; n < t.length; n++) { var o = t[n]; "function" == typeof e[o] && (i[o] = e[o]) } var r, a = Object.keys(i); try { ! function(e) { Object.keys(e).forEach((function(t) { var i = e[t]; if (void 0 === i(void 0, { type: l.INIT })) throw new Error(s(12)); if (void 0 === i(void 0, { type: l.PROBE_UNKNOWN_ACTION() })) throw new Error(s(13)) })) }(i) } catch (e) { r = e } return function(e, t) { if (void 0 === e && (e = {}), r) throw r; for (var n = !1, o = {}, c = 0; c < a.length; c++) { var l = a[c], h = i[l], u = e[l], d = h(u, t); if (void 0 === d) throw t && t.type, new Error(s(14)); o[l] = d, n = n || d !== u } return (n = n || a.length !== Object.keys(e).length) ? o : e } } function p(e, t) { return function() { return t(e.apply(this, arguments)) } } function f(e, t) { if ("function" == typeof e) return p(e, t); if ("object" != typeof e || null === e) throw new Error(s(16)); var i = {}; for (var n in e) { var o = e[n]; "function" == typeof o && (i[n] = p(o, t)) } return i } function m() { for (var e = arguments.length, t = new Array(e), i = 0; i < e; i++) t[i] = arguments[i]; return 0 === t.length ? function(e) { return e } : 1 === t.length ? t[0] : t.reduce((function(e, t) { return function() { return e(t.apply(void 0, arguments)) } })) } function v() { for (var e = arguments.length, t = new Array(e), i = 0; i < e; i++) t[i] = arguments[i]; return function(e) { return function() { var i = e.apply(void 0, arguments), n = function() { throw new Error(s(15)) }, o = { getState: i.getState, dispatch: function() { return n.apply(void 0, arguments) } }, a = t.map((function(e) { return e(o) })); return n = m.apply(void 0, a)(i.dispatch), r(r({}, i), {}, { dispatch: n }) } } } } }, t = {}; function i(n) { var o = t[n]; if (void 0 !== o) return o.exports; var r = t[n] = { exports: {} }; return e[n].call(r.exports, r, r.exports, i), r.exports } i.d = function(e, t) { for (var n in t) i.o(t, n) && !i.o(e, n) && Object.defineProperty(e, n, { enumerable: !0, get: t[n] }) }, i.o = function(e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, i.r = function(e) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }) }; var n = i(373); window.Choices = n.default }();