/*! For license information please see forms-sdk.js.LICENSE.txt */
const setShowForm = (isOpen) => {
const elem = document.querySelector("#form_iti-custom_number")
if (!elem) {
return;
}
elem.style.display = isOpen ? 'block' : 'none';
};
const setLoading = (isOpen) => {
const elem = document.querySelector(".f1t-form")
if (!elem) {
return;
}
if (isOpen) {
elem?.classList?.add('f1t-form-loader')
} else {
elem?.classList?.remove('f1t-form-loader')
}
};
const setError = (isOpen, text) => {
if (isOpen) {
document.querySelector(".f1t-form #iti_form_error").style.display = 'block';
document.querySelector(".f1t-form #iti_form_error p").innerHTML = text;
} else {
document.querySelector(".f1t-form #iti_form_error").style.display = 'none';
document.querySelector(".f1t-form #iti_form_error p").innerHTML = '';
}
};
const emailDomains = {
lang: {
"ru": [
"gmail.com",
"mail.ru",
],
"jp": [
"gmail.com",
"yahoo.co.jp"
],
"fr": [
"mail.fr",
"laposte.net",
"orange.fr",
"sfr.fr",
"free.fr",
"gmx.fr",
"yahoo.fr"
],
"default": [
"gmail.com",
"hotmail.com",
"yahoo.com",
"outlook.com",
"icloud.com",
"msn.com",
"live.com",
"mail.com",
"aol.com",
"googlemail.com",
"me.com",
"ymail.com",
"rocketmail.com",
]
}
}
const getDomainsByCountry = (lang) => {
switch (lang) {
case "ru": return emailDomains.lang.ru;
case "jp": return emailDomains.lang.jp;
case "fr": return emailDomains.lang.fr;
default: return emailDomains.lang.default;
}
};
(() => {
var e = {
436: e => {
var t;
t = () => (() => {
var e = Object.defineProperty,
t = Object.getOwnPropertyDescriptor,
n = Object.getOwnPropertyNames,
i = Object.prototype.hasOwnProperty,
o = {};
((t, n) => {
for (var i in n) {
e(t, i, { get: n[i], enumerable: !0 })
}
})(o, { Iti: () => formFormatter, default: () => b });
var r = [["Afghanistan", "af", "93"], ["Albania", "al", "355"], ["Algeria", "dz", "213"], ["American Samoa", "as", "1", 5, ["684"]], ["Andorra", "ad", "376"], ["Angola", "ao", "244"], ["Anguilla", "ai", "1", 6, ["264"]], ["Antigua & Barbuda", "ag", "1", 7, ["268"]], ["Argentina", "ar", "54"], ["Armenia", "am", "374"], ["Aruba", "aw", "297"], ["Ascension Island", "ac", "247"], ["Australia", "au", "61", 0], ["Austria", "at", "43"], ["Azerbaijan", "az", "994"], ["Bahamas", "bs", "1", 8, ["242"]], ["Bahrain", "bh", "973"], ["Bangladesh", "bd", "880"], ["Barbados", "bb", "1", 9, ["246"]], ["Belarus", "by", "375"], ["Belgium", "be", "32"], ["Belize", "bz", "501"], ["Benin", "bj", "229"], ["Bermuda", "bm", "1", 10, ["441"]], ["Bhutan", "bt", "975"], ["Bolivia", "bo", "591"], ["Bosnia & Herzegovina", "ba", "387"], ["Botswana", "bw", "267"], ["Brazil", "br", "55"], ["British Indian Ocean Territory", "io", "246"], ["British Virgin Islands", "vg", "1", 11, ["284"]], ["Brunei", "bn", "673"], ["Bulgaria", "bg", "359"], ["Burkina Faso", "bf", "226"], ["Burundi", "bi", "257"], ["Cambodia", "kh", "855"], ["Cameroon", "cm", "237"], ["Canada", "ca", "1", 1, ["204", "226", "236", "249", "250", "263", "289", "306", "343", "354", "365", "367", "368", "382", "387", "403", "416", "418", "428", "431", "437", "438", "450", "584", "468", "474", "506", "514", "519", "548", "579", "581", "584", "587", "604", "613", "639", "647", "672", "683", "705", "709", "742", "753", "778", "780", "782", "807", "819", "825", "867", "873", "902", "905"]], ["Cape Verde", "cv", "238"], ["Caribbean Netherlands", "bq", "599", 1, ["3", "4", "7"]], ["Cayman Islands", "ky", "1", 12, ["345"]], ["Central African Republic", "cf", "236"], ["Chad", "td", "235"], ["Chile", "cl", "56"], ["China", "cn", "86"], ["Christmas Island", "cx", "61", 2, ["89164"]], ["Cocos (Keeling) Islands", "cc", "61", 1, ["89162"]], ["Colombia", "co", "57"], ["Comoros", "km", "269"], ["Congo - Brazzaville", "cg", "242"], ["Congo - Kinshasa", "cd", "243"], ["Cook Islands", "ck", "682"], ["Costa Rica", "cr", "506"], ["Côte d’Ivoire", "ci", "225"], ["Croatia", "hr", "385"], ["Cuba", "cu", "53"], ["Curaçao", "cw", "599", 0], ["Cyprus", "cy", "357"], ["Czech Republic", "cz", "420"], ["Denmark", "dk", "45"], ["Djibouti", "dj", "253"], ["Dominica", "dm", "1", 13, ["767"]], ["Dominican Republic", "do", "1", 2, ["809", "829", "849"]], ["Ecuador", "ec", "593"], ["Egypt", "eg", "20"], ["El Salvador", "sv", "503"], ["Equatorial Guinea", "gq", "240"], ["Eritrea", "er", "291"], ["Estonia", "ee", "372"], ["Eswatini", "sz", "268"], ["Ethiopia", "et", "251"], ["Falkland Islands", "fk", "500"], ["Faroe Islands", "fo", "298"], ["Fiji", "fj", "679"], ["Finland", "fi", "358", 0], ["France", "fr", "33"], ["French Guiana", "gf", "594"], ["French Polynesia", "pf", "689"], ["Gabon", "ga", "241"], ["Gambia", "gm", "220"], ["Georgia", "ge", "995"], ["Germany", "de", "49"], ["Ghana", "gh", "233"], ["Gibraltar", "gi", "350"], ["Greece", "gr", "30"], ["Greenland", "gl", "299"], ["Grenada", "gd", "1", 14, ["473"]], ["Guadeloupe", "gp", "590", 0], ["Guam", "gu", "1", 15, ["671"]], ["Guatemala", "gt", "502"], ["Guernsey", "gg", "44", 1, ["1481", "7781", "7839", "7911"]], ["Guinea", "gn", "224"], ["Guinea-Bissau", "gw", "245"], ["Guyana", "gy", "592"], ["Haiti", "ht", "509"], ["Honduras", "hn", "504"], ["Hong Kong", "hk", "852"], ["Hungary", "hu", "36"], ["Iceland", "is", "354"], ["India", "in", "91"], ["Indonesia", "id", "62"], ["Iran", "ir", "98"], ["Iraq", "iq", "964"], ["Ireland", "ie", "353"], ["Isle of Man", "im", "44", 2, ["1624", "74576", "7524", "7924", "7624"]], ["Israel", "il", "972"], ["Italy", "it", "39", 0], ["Jamaica", "jm", "1", 4, ["876", "658"]], ["Japan", "jp", "81"], ["Jersey", "je", "44", 3, ["1534", "7509", "7700", "7797", "7829", "7937"]], ["Jordan", "jo", "962"], ["Kazakhstan", "kz", "7", 1, ["33", "7"]], ["Kenya", "ke", "254"], ["Kiribati", "ki", "686"], ["Kosovo", "xk", "383"], ["Kuwait", "kw", "965"], ["Kyrgyzstan", "kg", "996"], ["Laos", "la", "856"], ["Latvia", "lv", "371"], ["Lebanon", "lb", "961"], ["Lesotho", "ls", "266"], ["Liberia", "lr", "231"], ["Libya", "ly", "218"], ["Liechtenstein", "li", "423"], ["Lithuania", "lt", "370"], ["Luxembourg", "lu", "352"], ["Macau", "mo", "853"], ["Madagascar", "mg", "261"], ["Malawi", "mw", "265"], ["Malaysia", "my", "60"], ["Maldives", "mv", "960"], ["Mali", "ml", "223"], ["Malta", "mt", "356"], ["Marshall Islands", "mh", "692"], ["Martinique", "mq", "596"], ["Mauritania", "mr", "222"], ["Mauritius", "mu", "230"], ["Mayotte", "yt", "262", 1, ["269", "639"]], ["Mexico", "mx", "52"], ["Micronesia", "fm", "691"], ["Moldova", "md", "373"], ["Monaco", "mc", "377"], ["Mongolia", "mn", "976"], ["Montenegro", "me", "382"], ["Montserrat", "ms", "1", 16, ["664"]], ["Morocco", "ma", "212", 0], ["Mozambique", "mz", "258"], ["Myanmar (Burma)", "mm", "95"], ["Namibia", "na", "264"], ["Nauru", "nr", "674"], ["Nepal", "np", "977"], ["Netherlands", "nl", "31"], ["New Caledonia", "nc", "687"], ["New Zealand", "nz", "64"], ["Nicaragua", "ni", "505"], ["Niger", "ne", "227"], ["Nigeria", "ng", "234"], ["Niue", "nu", "683"], ["Norfolk Island", "nf", "672"], ["North Korea", "kp", "850"], ["North Macedonia", "mk", "389"], ["Northern Mariana Islands", "mp", "1", 17, ["670"]], ["Norway", "no", "47", 0], ["Oman", "om", "968"], ["Pakistan", "pk", "92"], ["Palau", "pw", "680"], ["Palestine", "ps", "970"], ["Panama", "pa", "507"], ["Papua New Guinea", "pg", "675"], ["Paraguay", "py", "595"], ["Peru", "pe", "51"], ["Philippines", "ph", "63"], ["Poland", "pl", "48"], ["Portugal", "pt", "351"], ["Puerto Rico", "pr", "1", 3, ["787", "939"]], ["Qatar", "qa", "974"], ["Réunion", "re", "262", 0], ["Romania", "ro", "40"], ["Russia", "ru", "7", 0], ["Rwanda", "rw", "250"], ["Samoa", "ws", "685"], ["San Marino", "sm", "378"], ["São Tomé & Príncipe", "st", "239"], ["Saudi Arabia", "sa", "966"], ["Senegal", "sn", "221"], ["Serbia", "rs", "381"], ["Seychelles", "sc", "248"], ["Sierra Leone", "sl", "232"], ["Singapore", "sg", "65"], ["Sint Maarten", "sx", "1", 21, ["721"]], ["Slovakia", "sk", "421"], ["Slovenia", "si", "386"], ["Solomon Islands", "sb", "677"], ["Somalia", "so", "252"], ["South Africa", "za", "27"], ["South Korea", "kr", "82"], ["South Sudan", "ss", "211"], ["Spain", "es", "34"], ["Sri Lanka", "lk", "94"], ["St Barthélemy", "bl", "590", 1], ["St Helena", "sh", "290"], ["St Kitts & Nevis", "kn", "1", 18, ["869"]], ["St Lucia", "lc", "1", 19, ["758"]], ["St Martin", "mf", "590", 2], ["St Pierre & Miquelon", "pm", "508"], ["St Vincent & Grenadines", "vc", "1", 20, ["784"]], ["Sudan", "sd", "249"], ["Suriname", "sr", "597"], ["Svalbard & Jan Mayen", "sj", "47", 1, ["79"]], ["Sweden", "se", "46"], ["Switzerland", "ch", "41"], ["Syria", "sy", "963"], ["Taiwan", "tw", "886"], ["Tajikistan", "tj", "992"], ["Tanzania", "tz", "255"], ["Thailand", "th", "66"], ["Timor-Leste", "tl", "670"], ["Togo", "tg", "228"], ["Tokelau", "tk", "690"], ["Tonga", "to", "676"], ["Trinidad & Tobago", "tt", "1", 22, ["868"]], ["Tunisia", "tn", "216"], ["Turkey", "tr", "90"], ["Turkmenistan", "tm", "993"], ["Turks & Caicos Islands", "tc", "1", 23, ["649"]], ["Tuvalu", "tv", "688"], ["Uganda", "ug", "256"], ["Ukraine", "ua", "380"], ["United Arab Emirates", "ae", "971"], ["United Kingdom", "gb", "44", 0], ["United States", "us", "1", 0], ["Uruguay", "uy", "598"], ["US Virgin Islands", "vi", "1", 24, ["340"]], ["Uzbekistan", "uz", "998"], ["Vanuatu", "vu", "678"], ["Vatican City", "va", "39", 1, ["06698"]], ["Venezuela", "ve", "58"], ["Vietnam", "vn", "84"], ["Wallis & Futuna", "wf", "681"], ["Western Sahara", "eh", "212", 1, ["5288", "5289"]], ["Yemen", "ye", "967"], ["Zambia", "zm", "260"], ["Zimbabwe", "zw", "263"], ["Åland Islands", "ax", "358", 1, ["18"]]],
countryPhoneCodes = [];
for (let e = 0; e < r.length; e++) {
const t = r[e];
countryPhoneCodes[e] = {
name: t[0],
iso2: t[1],
dialCode: t[2],
priority: t[3] || 0,
areaCodes: t[4] || null,
nodeById: {}
}
}
var a = countryPhoneCodes,
l = 0,
u = {
allowDropdown: !0,
autoPlaceholder: "polite",
countrySearch: !0,
containerClass: "",
customPlaceholder: null,
dropdownContainer: null,
excludeCountries: [],
fixDropdownWidth: !0,
formatAsYouType: !0,
formatOnDisplay: !0,
geoIpLookup: null,
hiddenInput: null,
i18n: {},
initialCountry: "",
nationalMode: !0,
onlyCountries: [],
placeholderNumberType: "MOBILE",
preferredCountries: [],
showFlags: !0,
showSelectedDialCode: !1,
strictMode: !1,
useFullscreenPopup: "undefined" != typeof navigator && "undefined" != typeof window && (/Android.+Mobile|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) || window.innerWidth <= 500),
utilsScript: ""
},
c = ["800", "822", "833", "844", "855", "866", "877", "880", "881", "882", "883", "884", "885", "886", "887", "888", "889"],
d = e => e.replace(/\D/g, ""),
h = (e = "") => e.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase(), p = e => {
const t = d(e);
if ("1" === t.charAt(0)) {
const e = t.substr(1, 3);
return -1 !== c.indexOf(e)
}
return !1
}, f = (e, t) => e.name < t.name ? -1 : e.name > t.name ? 1 : 0, m = (e, t, n) => {
const i = document.createElement(e);
return t && Object.entries(t).forEach((([e, t]) => i.setAttribute(e, t))), n && n.appendChild(i), i
}, g = e => {
const { instances: t } = window.intlTelInputGlobals;
Object.values(t).forEach((t => t[e]()))
}, formFormatter = class {
id;
promise;
telInput;
activeItem;
highlightedItem;
options;
hadInitialPlaceholder;
isRTL;
selectedCountryData;
countries;
dialCodeMaxLen;
dialCodeToIso2Map;
dialCodes;
preferredCountries;
countryContainer;
selectedCountry;
selectedCountryInner;
selectedCountryA11yText;
selectedDialCode;
dropdownArrow;
dropdownContent;
searchInput;
searchResultsA11yText;
countryList;
dropdown;
hiddenInput;
hiddenInputCountry;
maxCoreNumberLength;
defaultCountry;
_handleHiddenInputSubmit;
_handleLabelClick;
_handleClickSelectedCountry;
_handleCountryContainerKeydown;
_handleInputEvent;
_handleKeydownEvent;
_handleWindowScroll;
_handleMouseoverCountryList;
_handleClickCountryList;
_handleClickOffToClose;
_handleKeydownOnDropdown;
_handleSearchChange;
resolveAutoCountryPromise;
rejectAutoCountryPromise;
resolveUtilsScriptPromise;
rejectUtilsScriptPromise;
constructor(e, t = {}) {
this.id = l++,
this.telInput = e,
this.activeItem = null,
this.highlightedItem = null,
this.options = Object.assign({}, u, t),
this.hadInitialPlaceholder = Boolean(e.getAttribute("placeholder"))
}
_init() {
this.options.useFullscreenPopup && (this.options.fixDropdownWidth = !1),
this.options.countrySearch && !this.options.useFullscreenPopup && (this.options.fixDropdownWidth = !0);
const e = this.options.allowDropdown && !this.options.showSelectedDialCode;
!this.options.showFlags && e && (this.options.showFlags = !0),
this.options.useFullscreenPopup &&
!this.options.dropdownContainer && (this.options.dropdownContainer = document.body),
this.isRTL = !!this.telInput.closest("[dir=rtl]");
const t = new Promise(((e, t) => {
this.resolveAutoCountryPromise = e,
this.rejectAutoCountryPromise = t
})),
n = new Promise(((e, t) => {
this.resolveUtilsScriptPromise = e,
this.rejectUtilsScriptPromise = t
}));
this.promise = Promise.all([t, n]),
this.selectedCountryData = {},
this._processCountryData(),
this._generateMarkup(),
this._setInitialState(),
this._initListeners(),
this._initRequests()
}
_processCountryData() {
this._processAllCountries(),
this._processDialCodes(),
this._processPreferredCountries(),
this._translateCountryNames(),
(this.options.onlyCountries.length || this.options.i18n) && this.countries.sort(f)
}
_addToDialCodeMap(e, t, n) {
t.length > this.dialCodeMaxLen && (this.dialCodeMaxLen = t.length), this.dialCodeToIso2Map.hasOwnProperty(t) || (this.dialCodeToIso2Map[t] = []);
for (let n = 0; n < this.dialCodeToIso2Map[t].length; n++) if (this.dialCodeToIso2Map[t][n] === e) return;
const i = void 0 !== n ? n : this.dialCodeToIso2Map[t].length;
this.dialCodeToIso2Map[t][i] = e
}
_processAllCountries() {
const { onlyCountries: e, excludeCountries: t } = this.options;
if (e.length) {
const t = e.map((e => e.toLowerCase()));
this.countries = a.filter((e => t.indexOf(e.iso2) > -1))
} else if (t.length) {
const e = t.map((e => e.toLowerCase()));
this.countries = a.filter((t => -1 === e.indexOf(t.iso2)))
} else this.countries = a
}
_translateCountryNames() {
for (let e = 0; e < this.countries.length; e++) {
const t = this.countries[e].iso2.toLowerCase();
this.options.i18n.hasOwnProperty(t) && (this.countries[e].name = this.options.i18n[t])
}
console.log({ _translateCountryNames: true })
}
_processDialCodes() {
this.dialCodes = {}, this.dialCodeMaxLen = 0, this.dialCodeToIso2Map = {};
for (let e = 0; e < this.countries.length; e++) {
const t = this.countries[e];
this.dialCodes[t.dialCode] || (this.dialCodes[t.dialCode] = !0), this._addToDialCodeMap(t.iso2, t.dialCode, t.priority)
}
for (let e = 0; e < this.countries.length; e++) {
const t = this.countries[e];
if (t.areaCodes) {
const e = this.dialCodeToIso2Map[t.dialCode][0];
for (let n = 0; n < t.areaCodes.length; n++) {
const i = t.areaCodes[n];
for (let n = 1; n < i.length; n++) {
const o = t.dialCode + i.substr(0, n);
this._addToDialCodeMap(e, o), this._addToDialCodeMap(t.iso2, o)
}
this._addToDialCodeMap(t.iso2, t.dialCode + i)
}
}
}
}
_processPreferredCountries() {
this.preferredCountries = [];
for (let e = 0; e < this.options.preferredCountries.length; e++) {
const t = this.options.preferredCountries[e].toLowerCase(), n = this._getCountryData(t, !0);
n && this.preferredCountries.push(n)
}
}
_generateMarkup() {
this.telInput.classList.add("iti__tel-input"),
this.telInput.hasAttribute("autocomplete") ||
this.telInput.form &&
this.telInput.form.hasAttribute("autocomplete") ||
this.telInput.setAttribute("autocomplete", "off");
const {
allowDropdown: e,
showSelectedDialCode: t,
showFlags: n,
containerClass: i,
hiddenInput: o,
dropdownContainer: r,
fixDropdownWidth: s,
useFullscreenPopup: a,
countrySearch: l,
i18n: u
} = this.options;
let c = "iti";
e && (c += " iti--allow-dropdown"), t && (c += " iti--show-selected-dial-code"), n && (c += " iti--show-flags"), i && (c += ` ${i}`), a || (c += " iti--inline-dropdown");
const d = m("div", { class: c });
if (this.telInput.parentNode?.insertBefore(d, this.telInput), (n || t) && (this.countryContainer = m("div", { class: "iti__country-container" }, d), this.selectedCountry = m("button", {
type: "button",
class: "iti__selected-country", ...e && {
"aria-expanded": "false",
"aria-label": this.options.i18n.selectedCountryAriaLabel || "Selected country",
"aria-haspopup": l ? "true" : "listbox",
"aria-controls": l ? `iti-${this.id}__dropdown-content` : `iti-${this.id}__country-listbox`, ...l ? { role: "combobox" } : {}
}
},
this.countryContainer), this.selectedCountryInner = m("div", null, this.selectedCountry), this.selectedCountryA11yText = m("span", { class: "iti__a11y-text" }, this.selectedCountryInner)), d.appendChild(this.telInput), this.selectedCountry && this.telInput.disabled && this.selectedCountry.setAttribute("aria-disabled", "true"), t && (this.selectedDialCode = m("div", { class: "iti__selected-dial-code" }, this.selectedCountry)), e) {
this.telInput.disabled || this.selectedCountry.setAttribute("tabindex", "0"), this.dropdownArrow = m("div", {
class: "iti__arrow",
"aria-hidden": "true"
}, this.selectedCountry);
const e = s ? "" : "iti--flexible-dropdown-width";
if (this.dropdownContent = m("div", {
id: `iti-${this.id}__dropdown-content`,
class: `iti__dropdown-content iti__hide ${e}`
}), l && (this.searchInput = m("input", {
type: "text",
class: "iti__search-input",
placeholder: u.searchPlaceholder || "Search",
role: "combobox",
"aria-expanded": "true",
"aria-label": u.searchPlaceholder || "Search",
"aria-controls": `iti-${this.id}__country-listbox`,
"aria-autocomplete": "list",
autocomplete: "off"
}, this.dropdownContent), this.searchResultsA11yText = m("span", { class: "iti__a11y-text" }, this.dropdownContent)), this.countryList = m("ul", {
class: "iti__country-list",
id: `iti-${this.id}__country-listbox`,
role: "listbox",
"aria-label": u.countryListAriaLabel || "List of countries"
}, this.dropdownContent), this.preferredCountries.length && !l && (this._appendListItems(this.preferredCountries, "iti__preferred", !0), m("li", {
class: "iti__divider",
"aria-hidden": "true"
}, this.countryList)), this._appendListItems(this.countries, "iti__standard"), l && this._updateSearchResultsText(), r) {
let e = "iti iti--container";
e += a ? " iti--fullscreen-popup" : " iti--inline-dropdown", l && (e += " iti--country-search"), this.dropdown = m("div", { class: e }), this.dropdown.appendChild(this.dropdownContent)
} else this.countryContainer.appendChild(this.dropdownContent)
}
if (o) {
const e = o(this.telInput.getAttribute("name") || "");
e.phone && (this.hiddenInput = m("input", {
type: "hidden",
name: e.phone
}), d.appendChild(this.hiddenInput)), e.country && (this.hiddenInputCountry = m("input", {
type: "hidden",
name: e.country
}), d.appendChild(this.hiddenInputCountry))
}
}
_appendListItems(e, t, n) {
for (let i = 0; i < e.length; i++) {
const o = e[i], r = n ? "-preferred" : "", s = m("li", {
id: `iti-${this.id}__item-${o.iso2}${r}`,
class: `iti__country ${t}`,
tabindex: "-1",
role: "option",
"data-dial-code": o.dialCode,
"data-country-code": o.iso2,
"aria-selected": "false"
}, this.countryList);
o.nodeById[this.id] = s;
let a = "";
this.options.showFlags && (a += `
`), a += `${o.name}`, a += `+${o.dialCode}`, s.insertAdjacentHTML("beforeend", a)
}
}
_setInitialState(e = !1) {
const t = this.telInput.getAttribute("value"), n = this.telInput.value,
i = !t || "+" !== t.charAt(0) || n && "+" === n.charAt(0) ? n : t, o = this._getDialCode(i),
r = p(i), { initialCountry: s } = this.options;
if (o && !r) this._updateCountryFromNumber(i); else if ("auto" !== s || e) {
const e = s ? s.toLowerCase() : "";
e && this._getCountryData(e, !0) ? this._setCountry(e) : o && r ? this._setCountry("us") : this._setCountry()
}
i && this._updateValFromNumber(i)
}
_initListeners() {
this._initTelInputListeners(), this.options.allowDropdown && this._initDropdownListeners(), (this.hiddenInput || this.hiddenInputCountry) && this.telInput.form && this._initHiddenInputListener()
}
_initHiddenInputListener() {
this._handleHiddenInputSubmit = () => {
this.hiddenInput && (this.hiddenInput.value = this.getNumber()), this.hiddenInputCountry && (this.hiddenInputCountry.value = this.getSelectedCountryData().iso2 || "")
}, this.telInput.form?.addEventListener("submit", this._handleHiddenInputSubmit)
}
_initDropdownListeners() {
this._handleLabelClick = e => {
this.dropdownContent.classList.contains("iti__hide") ? this.telInput.focus() : e.preventDefault()
};
const e = this.telInput.closest("label");
e && e.addEventListener("click", this._handleLabelClick), this._handleClickSelectedCountry = () => {
!this.dropdownContent.classList.contains("iti__hide") || this.telInput.disabled || this.telInput.readOnly || this._openDropdown()
}, this.selectedCountry.addEventListener("click", this._handleClickSelectedCountry), this._handleCountryContainerKeydown = e => {
this.dropdownContent.classList.contains("iti__hide") && ["ArrowUp", "ArrowDown", " ", "Enter"].includes(e.key) && (e.preventDefault(), e.stopPropagation(), this._openDropdown()), "Tab" === e.key && this._closeDropdown()
}, this.countryContainer.addEventListener("keydown", this._handleCountryContainerKeydown)
}
_initRequests() {
this.options.utilsScript && !window.intlTelInputUtils ? window.intlTelInputGlobals.documentReady() ? window.intlTelInputGlobals.loadUtils(this.options.utilsScript) : window.addEventListener("load", (() => {
window.intlTelInputGlobals.loadUtils(this.options.utilsScript)
})) : this.resolveUtilsScriptPromise(), "auto" !== this.options.initialCountry || this.selectedCountryData.iso2 ? this.resolveAutoCountryPromise() : this._loadAutoCountry()
}
_loadAutoCountry() {
window.intlTelInputGlobals.autoCountry
? this.handleAutoCountry()
: window.intlTelInputGlobals.startedLoadingAutoCountry ||
(window.intlTelInputGlobals.startedLoadingAutoCountry = !0,
"function" == typeof this.options.geoIpLookup && this.options.geoIpLookup(((e = "") => {
const t = e.toLowerCase();
t && this._getCountryData(t, !0)
? (window.intlTelInputGlobals.autoCountry = t, setTimeout((() => g("handleAutoCountry"))))
: (this._setInitialState(!0), g("rejectAutoCountryPromise"))
}), (() => {
this._setInitialState(!0), g("rejectAutoCountryPromise")
})))
}
_initTelInputListeners() {
const { strictMode: e, formatAsYouType: t } = this.options;
let n = !1;
this._handleInputEvent = i => {
this._updateCountryFromNumber(this.telInput.value) && this._triggerCountryChange();
const o = i && i.data && /[^+0-9]/.test(i.data),
r = i && "insertFromPaste" === i.inputType && this.telInput.value;
if (o || r && !e ? n = !0 : /[^+0-9]/.test(this.telInput.value) || (n = !1), t && !n) {
const e = this.telInput.selectionStart || 0,
t = this.telInput.value.substring(0, e).replace(/[^+0-9]/g, "").length,
n = i && "deleteContentForward" === i.inputType, o = this._formatNumberAsYouType(),
r = ((e, t, n, i) => {
if (0 === n && !i) return 0;
let o = 0;
for (let n = 0; n < t.length; n++) {
if (/[+0-9]/.test(t[n]) && o++, o === e && !i) return n + 1;
if (i && o === e + 1) return n
}
return t.length
})(t, o, e, n);
this.telInput.value = o, this.telInput.setSelectionRange(r, r)
}
}, this.telInput.addEventListener("input", this._handleInputEvent), e && (this._handleKeydownEvent = e => {
if (1 === e.key.length && !e.altKey && !e.ctrlKey && !e.metaKey) {
const t = 0 === this.telInput.selectionStart && "+" === e.key,
n = /^[0-9]$/.test(e.key), i = t || n, o = this._getFullNumber(),
r = window.intlTelInputUtils.getCoreNumber(o, this.selectedCountryData.iso2),
s = this.maxCoreNumberLength && r.length >= this.maxCoreNumberLength;
i && !s || e.preventDefault()
}
}, this.telInput.addEventListener("keydown", this._handleKeydownEvent))
}
_cap(e) {
const t = parseInt(this.telInput.getAttribute("maxlength") || "", 10);
return t && e.length > t ? e.substr(0, t) : e
}
_trigger(e) {
const t = new Event(e, { bubbles: !0, cancelable: !0 });
this.telInput.dispatchEvent(t)
}
_openDropdown() {
const { fixDropdownWidth: e, countrySearch: t } = this.options;
if (e && (this.dropdownContent.style.width = `${this.telInput.offsetWidth}px`), this.dropdownContent.classList.remove("iti__hide"), this.selectedCountry.setAttribute("aria-expanded", "true"), this._setDropdownPosition(), this.activeItem && !t) this._highlightListItem(this.activeItem, !1), this._scrollTo(this.activeItem, !0); else {
const e = this.countryList.firstElementChild;
e && (this._highlightListItem(e, !1), this.countryList.scrollTop = 0), t && this.searchInput.focus()
}
this._bindDropdownListeners(), this.dropdownArrow.classList.add("iti__arrow--up"), this._trigger("open:countrydropdown")
}
_setDropdownPosition() {
if (this.options.dropdownContainer && this.options.dropdownContainer.appendChild(this.dropdown), !this.options.useFullscreenPopup) {
const i = this.telInput.getBoundingClientRect(), o = document.documentElement.scrollTop,
r = i.top + o, s = this.dropdownContent.offsetHeight,
a = r + this.telInput.offsetHeight + s < o + window.innerHeight, l = r - s > o,
u = !this.options.countrySearch && !a && l;
if (e = this.dropdownContent, t = "iti__dropdown-content--dropup", (n = u) && !e.classList.contains(t) ? e.classList.add(t) : !n && e.classList.contains(t) && e.classList.remove(t), this.options.dropdownContainer) {
const e = u ? 0 : this.telInput.offsetHeight;
this.dropdown.style.top = `${r + e}px`, this.dropdown.style.left = `${i.left + document.body.scrollLeft}px`, this._handleWindowScroll = () => this._closeDropdown(), window.addEventListener("scroll", this._handleWindowScroll)
}
}
var e, t, n
}
_bindDropdownListeners() {
this._handleMouseoverCountryList = e => {
const t = e.target?.closest(".iti__country");
t && this._highlightListItem(t, !1)
}, this.countryList.addEventListener("mouseover", this._handleMouseoverCountryList), this._handleClickCountryList = e => {
const t = e.target?.closest(".iti__country");
t && this._selectListItem(t)
}, this.countryList.addEventListener("click", this._handleClickCountryList);
let e = !0;
this._handleClickOffToClose = () => {
e || this._closeDropdown(), e = !1
}, document.documentElement.addEventListener("click", this._handleClickOffToClose);
let t = "", n = null;
if (this._handleKeydownOnDropdown = e => {
["ArrowUp", "ArrowDown", "Enter", "Escape"].includes(e.key) && (e.preventDefault(), e.stopPropagation(), "ArrowUp" === e.key || "ArrowDown" === e.key ? this._handleUpDownKey(e.key) : "Enter" === e.key ? this._handleEnterKey() : "Escape" === e.key && this._closeDropdown()), !this.options.countrySearch && /^[a-zA-ZÀ-ÿа-яА-Я ]$/.test(e.key) && (e.stopPropagation(), n && clearTimeout(n), t += e.key.toLowerCase(), this._searchForCountry(t), n = setTimeout((() => {
t = ""
}), 1e3))
}, document.addEventListener("keydown", this._handleKeydownOnDropdown), this.options.countrySearch) {
const e = () => {
const e = this.searchInput.value.trim();
e ? this._filterCountries(e) : this._filterCountries("", !0)
};
let t = null;
this._handleSearchChange = () => {
t && clearTimeout(t), t = setTimeout((() => {
e(), t = null
}), 100)
}, this.searchInput.addEventListener("input", this._handleSearchChange), this.searchInput.addEventListener("click", (e => e.stopPropagation()))
}
}
_filterCountries(e, t = !1) {
let n = !0;
this.countryList.innerHTML = "";
const i = h(e);
for (let e = 0; e < this.countries.length; e++) {
const o = this.countries[e], r = h(o.name), s = `+${o.dialCode}`;
if (t || r.includes(i) || s.includes(i) || o.iso2.includes(i)) {
const e = o.nodeById[this.id];
e && this.countryList.appendChild(e), n && (this._highlightListItem(e, !1), n = !1)
}
}
this.countryList.scrollTop = 0, this._updateSearchResultsText()
}
_updateSearchResultsText() {
const { i18n: e } = this.options, t = this.countryList.childElementCount;
let n;
n = 0 === t ? e.zeroSearchResults || "No results found" : 1 === t ? e.oneSearchResult || "1 result found" : e.multipleSearchResults ? e.multipleSearchResults.replace("${count}", t.toString()) : `${t} results found`, this.searchResultsA11yText.textContent = n
}
_handleUpDownKey(e) {
let t = "ArrowUp" === e ? this.highlightedItem?.previousElementSibling : this.highlightedItem?.nextElementSibling;
if (t ? t.classList.contains("iti__divider") && (t = "ArrowUp" === e ? t.previousElementSibling : t.nextElementSibling) : this.countryList.childElementCount > 1 && (t = "ArrowUp" === e ? this.countryList.lastElementChild : this.countryList.firstElementChild), t) {
this._scrollTo(t, !1);
const e = !this.options.countrySearch;
this._highlightListItem(t, e)
}
}
_handleEnterKey() {
this.highlightedItem && this._selectListItem(this.highlightedItem)
}
_searchForCountry(e) {
for (let t = 0; t < this.countries.length; t++) {
const n = this.countries[t];
if (n.name.substr(0, e.length).toLowerCase() === e) {
const e = n.nodeById[this.id];
this._highlightListItem(e, !1), this._scrollTo(e, !0);
break
}
}
}
_updateValFromNumber(e) {
let t = e;
if (this.options.formatOnDisplay && window.intlTelInputUtils && this.selectedCountryData) {
const e = this.options.nationalMode || "+" !== t.charAt(0) && !this.options.showSelectedDialCode, {
NATIONAL: n,
INTERNATIONAL: i
} = window.intlTelInputUtils.numberFormat, o = e ? n : i;
t = window.intlTelInputUtils.formatNumber(t, this.selectedCountryData.iso2, o)
}
t = this._beforeSetNumber(t), this.telInput.value = t
}
_updateCountryFromNumber(e) {
const t = e.indexOf("+");
let n = t ? e.substring(t) : e;
const i = this.selectedCountryData.dialCode;
n && "1" === i && "+" !== n.charAt(0) && ("1" !== n.charAt(0) && (n = `1${n}`), n = `+${n}`), this.options.showSelectedDialCode && i && "+" !== n.charAt(0) && (n = `+${i}${n}`);
const o = this._getDialCode(n, !0), r = d(n);
let s = null;
if (o) {
const e = this.dialCodeToIso2Map[d(o)],
t = -1 !== e.indexOf(this.selectedCountryData.iso2) && r.length <= o.length - 1;
if (!("1" === i && p(r) || t)) for (let t = 0; t < e.length; t++) if (e[t]) {
s = e[t];
break
}
} else "+" === n.charAt(0) && r.length ? s = "" : n && "+" !== n || this.selectedCountryData.iso2 || (s = this.defaultCountry);
return null !== s && this._setCountry(s)
}
_highlightListItem(e, t) {
const n = this.highlightedItem;
n && (n.classList.remove("iti__highlight"), n.setAttribute("aria-selected", "false")), this.highlightedItem = e, this.highlightedItem.classList.add("iti__highlight"), this.highlightedItem.setAttribute("aria-selected", "true"), this.selectedCountry.setAttribute("aria-activedescendant", e.getAttribute("id") || ""), this.options.countrySearch && this.searchInput.setAttribute("aria-activedescendant", e.getAttribute("id") || ""), t && this.highlightedItem.focus()
}
_getCountryData(e, t) {
for (let t = 0; t < this.countries.length; t++) if (this.countries[t].iso2 === e) return this.countries[t];
if (t) return null;
throw new Error(`No country data for '${e}'`)
}
_setCountry(e) {
const {
allowDropdown: t,
showSelectedDialCode: n,
showFlags: i,
countrySearch: o,
i18n: r
} = this.options, s = this.selectedCountryData.iso2 ? this.selectedCountryData : {};
if (this.selectedCountryData = e && this._getCountryData(e, !1) || {}, this.selectedCountryData.iso2 && (this.defaultCountry = this.selectedCountryData.iso2), this.selectedCountryInner) {
let t = "", n = "";
e ? i && (t = `iti__flag iti__${e}`, n = `${this.selectedCountryData.name} +${this.selectedCountryData.dialCode}`) : (t = "iti__flag iti__globe", n = r.noCountrySelected || "No country selected"), this.selectedCountryInner.className = t, this.selectedCountryA11yText.textContent = n
}
if (this._setSelectedCountryTitleAttribute(e, n), n) {
const e = this.selectedCountryData.dialCode ? `+${this.selectedCountryData.dialCode}` : "";
this.selectedDialCode.innerHTML = e;
const t = this.selectedCountry.offsetWidth || this._getHiddenSelectedCountryWidth();
this.isRTL ? this.telInput.style.paddingRight = `${t + 6}px` : this.telInput.style.paddingLeft = `${t + 6}px`
}
if (this._updatePlaceholder(), this._updateMaxLength(), t && !o) {
const t = this.activeItem;
if (t && (t.classList.remove("iti__active"), t.setAttribute("aria-selected", "false")), e) {
const t = this.countryList.querySelector(`#iti-${this.id}__item-${e}-preferred`) || this.countryList.querySelector(`#iti-${this.id}__item-${e}`);
t && (t.setAttribute("aria-selected", "true"), t.classList.add("iti__active"), this.activeItem = t)
}
}
return s.iso2 !== e
}
_updateMaxLength() {
if (this.options.strictMode && window.intlTelInputUtils) if (this.selectedCountryData.iso2) {
const e = window.intlTelInputUtils.numberType[this.options.placeholderNumberType];
let t = window.intlTelInputUtils.getExampleNumber(this.selectedCountryData.iso2, !1, e, !0),
n = t;
for (; window.intlTelInputUtils.isPossibleNumber(t, this.selectedCountryData.iso2);) n = t, t += "0";
const i = window.intlTelInputUtils.getCoreNumber(n, this.selectedCountryData.iso2);
this.maxCoreNumberLength = i.length
} else this.maxCoreNumberLength = null
}
_setSelectedCountryTitleAttribute(e = null, t) {
if (!this.selectedCountry) return;
let n;
n = e && !t ? `${this.selectedCountryData.name}: +${this.selectedCountryData.dialCode}` : e ? this.selectedCountryData.name : "Unknown", this.selectedCountry.setAttribute("title", n)
}
_getHiddenSelectedCountryWidth() {
if (this.telInput.parentNode) {
const e = this.telInput.parentNode.cloneNode(!1);
e.style.visibility = "hidden", document.body.appendChild(e);
const t = this.countryContainer.cloneNode();
e.appendChild(t);
const n = this.selectedCountry.cloneNode(!0);
t.appendChild(n);
const i = n.offsetWidth;
return document.body.removeChild(e), i
}
return 0
}
_updatePlaceholder() {
const {
autoPlaceholder: e,
placeholderNumberType: t,
nationalMode: n,
customPlaceholder: i
} = this.options, o = "aggressive" === e || !this.hadInitialPlaceholder && "polite" === e;
if (window.intlTelInputUtils && o) {
const e = window.intlTelInputUtils.numberType[t];
let o = this.selectedCountryData.iso2 ? window.intlTelInputUtils.getExampleNumber(this.selectedCountryData.iso2, n, e) : "";
o = this._beforeSetNumber(o), "function" == typeof i && (o = i(o, this.selectedCountryData)), this.telInput.setAttribute("placeholder", o)
}
}
_selectListItem(e) {
const t = this._setCountry(e.getAttribute("data-country-code"));
this._closeDropdown(), this._updateDialCode(e.getAttribute("data-dial-code")), this.telInput.focus(), t && this._triggerCountryChange()
}
_closeDropdown() {
this.dropdownContent.classList.add("iti__hide"), this.selectedCountry.setAttribute("aria-expanded", "false"), this.selectedCountry.removeAttribute("aria-activedescendant"), this.highlightedItem && this.highlightedItem.setAttribute("aria-selected", "false"), this.options.countrySearch && this.searchInput.removeAttribute("aria-activedescendant"), this.dropdownArrow.classList.remove("iti__arrow--up"), document.removeEventListener("keydown", this._handleKeydownOnDropdown), this.options.countrySearch && this.searchInput.removeEventListener("input", this._handleSearchChange), document.documentElement.removeEventListener("click", this._handleClickOffToClose), this.countryList.removeEventListener("mouseover", this._handleMouseoverCountryList), this.countryList.removeEventListener("click", this._handleClickCountryList), this.options.dropdownContainer && (this.options.useFullscreenPopup || window.removeEventListener("scroll", this._handleWindowScroll), this.dropdown.parentNode && this.dropdown.parentNode.removeChild(this.dropdown)), this._trigger("close:countrydropdown")
}
_scrollTo(e, t) {
const n = this.countryList, i = document.documentElement.scrollTop, o = n.offsetHeight,
r = n.getBoundingClientRect().top + i, s = r + o, a = e.offsetHeight,
l = e.getBoundingClientRect().top + i, u = l + a;
let c = l - r + n.scrollTop;
const d = o / 2 - a / 2;
if (l < r) t && (c -= d), n.scrollTop = c; else if (u > s) {
t && (c += d);
const e = o - a;
n.scrollTop = c - e
}
}
_updateDialCode(e) {
const t = this.telInput.value, n = `+${e}`;
let i;
if ("+" === t.charAt(0)) {
const e = this._getDialCode(t);
i = e ? t.replace(e, n) : n, this.telInput.value = i
}
}
_getDialCode(e, t) {
let n = "";
if ("+" === e.charAt(0)) {
let i = "";
for (let o = 0; o < e.length; o++) {
const r = e.charAt(o);
if (!isNaN(parseInt(r, 10))) {
if (i += r, t) this.dialCodeToIso2Map[i] && (n = e.substr(0, o + 1)); else if (this.dialCodes[i]) {
n = e.substr(0, o + 1);
break
}
if (i.length === this.dialCodeMaxLen) break
}
}
}
return n
}
_getFullNumber() {
const e = this.telInput.value.trim(), { dialCode: t } = this.selectedCountryData;
let n;
const i = d(e);
return n = this.options.showSelectedDialCode && !this.options.nationalMode && "+" !== e.charAt(0) && t && i ? `+${t}` : "", n + e
}
_beforeSetNumber(e) {
let t = e;
if (this.options.showSelectedDialCode) {
let e = this._getDialCode(t);
if (e) {
e = `+${this.selectedCountryData.dialCode}`;
const n = " " === t[e.length] || "-" === t[e.length] ? e.length + 1 : e.length;
t = t.substr(n)
}
}
return this._cap(t)
}
_triggerCountryChange() {
this._trigger("countrychange")
}
_formatNumberAsYouType() {
const e = this._getFullNumber(),
t = window.intlTelInputUtils ? window.intlTelInputUtils.formatNumberAsYouType(e, this.selectedCountryData.iso2) : e, { dialCode: n } = this.selectedCountryData;
return this.options.showSelectedDialCode && !this.options.nationalMode && "+" !== this.telInput.value.charAt(0) && t.includes(`+${n}`) ? (t.split(`+${n}`)[1] || "").trim() : t
}
handleAutoCountry() {
"auto" === this.options.initialCountry && window.intlTelInputGlobals.autoCountry && (this.defaultCountry = window.intlTelInputGlobals.autoCountry, this.telInput.value || this.setCountry(this.defaultCountry), this.resolveAutoCountryPromise())
}
handleUtils() {
window.intlTelInputUtils && (this.telInput.value && this._updateValFromNumber(this.telInput.value), this.selectedCountryData.iso2 && (this._updatePlaceholder(), this._updateMaxLength())), this.resolveUtilsScriptPromise()
}
destroy() {
if (this.options.allowDropdown) {
this._closeDropdown(), this.selectedCountry.removeEventListener("click", this._handleClickSelectedCountry), this.countryContainer.removeEventListener("keydown", this._handleCountryContainerKeydown);
const e = this.telInput.closest("label");
e && e.removeEventListener("click", this._handleLabelClick)
}
const { form: e } = this.telInput;
this._handleHiddenInputSubmit && e && e.removeEventListener("submit", this._handleHiddenInputSubmit), this.telInput.removeEventListener("input", this._handleInputEvent), this._handleKeydownEvent && this.telInput.removeEventListener("keydown", this._handleKeydownEvent), this.telInput.removeAttribute("data-intl-tel-input-id");
const t = this.telInput.parentNode;
t?.parentNode?.insertBefore(this.telInput, t), t?.parentNode?.removeChild(t), delete window.intlTelInputGlobals.instances[this.id]
}
getExtension() {
return window.intlTelInputUtils ? window.intlTelInputUtils.getExtension(this._getFullNumber(), this.selectedCountryData.iso2) : ""
}
getNumber(e) {
if (window.intlTelInputUtils) {
const { iso2: t } = this.selectedCountryData;
return window.intlTelInputUtils.formatNumber(this._getFullNumber(), t, e)
}
return ""
}
getNumberType() {
return window.intlTelInputUtils ? window.intlTelInputUtils.getNumberType(this._getFullNumber(), this.selectedCountryData.iso2) : -99
}
getSelectedCountryData() {
return this.selectedCountryData
}
getValidationError() {
if (window.intlTelInputUtils) {
const { iso2: e } = this.selectedCountryData;
return window.intlTelInputUtils.getValidationError(this._getFullNumber(), e)
}
return -99
}
isValidNumber(e = !0) {
const t = this._getFullNumber();
return !/\p{L}/u.test(t) && (window.intlTelInputUtils ? window.intlTelInputUtils.isPossibleNumber(t, this.selectedCountryData.iso2, e) : null)
}
isValidNumberPrecise() {
const e = this._getFullNumber();
return !/\p{L}/u.test(e) && (window.intlTelInputUtils ? window.intlTelInputUtils.isValidNumber(e, this.selectedCountryData.iso2) : null)
}
setCountry(e) {
const t = e.toLowerCase();
this.selectedCountryData.iso2 !== t && (this._setCountry(t), this._updateDialCode(this.selectedCountryData.dialCode), this._triggerCountryChange())
}
setNumber(e) {
const t = this._updateCountryFromNumber(e);
this._updateValFromNumber(e), t && this._triggerCountryChange()
}
setPlaceholderNumberType(e) {
this.options.placeholderNumberType = e, this._updatePlaceholder()
}
};
if ("object" == typeof window) {
const e = {
defaults: u,
documentReady: () => "complete" === document.readyState,
getCountryData: () => a,
getInstance: t => {
const n = t.getAttribute("data-intl-tel-input-id");
return n ? e.instances[n] : null
},
instances: {},
loadUtils: e => window.intlTelInputUtils || window.intlTelInputGlobals.startedLoadingUtilsScript ? null : (window.intlTelInputGlobals.startedLoadingUtilsScript = !0, new Promise(((t, n) => ((e, t, n) => {
const i = document.createElement("script");
i.onload = () => {
g("handleUtils"), t && t()
}, i.onerror = () => {
g("rejectUtilsScriptPromise"), n && n()
}, i.className = "iti-load-utils", i.async = !0, i.src = e, document.body.appendChild(i)
})(e, t, n)))),
version: "21.1.3"
};
window.intlTelInputGlobals = e
}
var v, b = (inputPhoneElement, phoneFormatConfig) => {
const formFormatterInstance = new formFormatter(inputPhoneElement, phoneFormatConfig);
return formFormatterInstance._init(),
inputPhoneElement.setAttribute("data-intl-tel-input-id", formFormatterInstance.id.toString()),
window.intlTelInputGlobals.instances[formFormatterInstance.id] = formFormatterInstance, formFormatterInstance
};
return v = o, ((o, r, s, a) => {
if (r && "object" == typeof r || "function" == typeof r) for (let s of n(r)) i.call(o, s) || undefined === s || e(o, s, {
get: () => r[s],
enumerable: !(a = t(r, s)) || a.enumerable
});
return o
})(e({}, "__esModule", { value: !0 }), v)
})().default, e.exports ? e.exports = t() : window.intlTelInput = t()
}, 250: (e, t, n) => {
var i, o = n(692);
(i = o).passGen = function (e) {
e = i.extend({}, i.passGen.options, e);
var t, n, o = "", r = "";
t = {
numeric: "0123456789",
lowercase: "abcdefghijklmnopqrstuvwxyz",
uppercase: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
special: "~!@#$%^&*()-+[]{}<>?"
}, i.each(t, (function (t, n) {
e[t] && (o += n)
}));
for (var s = 0; s < e.length; s++) n = Math.floor(Math.random() * o.length), r += o[n];
return r
}, i.passGen.options = { length: 10, numeric: !0, lowercase: !0, uppercase: !0, special: !1 }
}, 692: function (e, t) {
var n;
!function (t, n) {
"use strict";
"object" == typeof e.exports ? e.exports = t.document ? n(t, !0) : function (e) {
if (!e.document) throw new Error("jQuery requires a window with a document");
return n(e)
} : n(t)
}("undefined" != typeof window ? window : this, (function (i, o) {
"use strict";
var r = [], s = Object.getPrototypeOf, a = r.slice, l = r.flat ? function (e) {
return r.flat.call(e)
} : function (e) {
return r.concat.apply([], e)
}, u = r.push, c = r.indexOf, d = {}, h = d.toString, p = d.hasOwnProperty, f = p.toString,
m = f.call(Object), g = {}, y = function (e) {
return "function" == typeof e && "number" != typeof e.nodeType && "function" != typeof e.item
}, v = function (e) {
return null != e && e === e.window
}, b = i.document, w = { type: !0, src: !0, nonce: !0, noModule: !0 };
function C(e, t, n) {
var i, o, r = (n = n || b).createElement("script");
if (r.text = e, t) for (i in w) (o = t[i] || t.getAttribute && t.getAttribute(i)) && r.setAttribute(i, o);
n.head.appendChild(r).parentNode.removeChild(r)
}
function x(e) {
return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? d[h.call(e)] || "object" : typeof e
}
var _ = "3.7.1", T = /HTML$/i, S = function (e, t) {
return new S.fn.init(e, t)
};
function k(e) {
var t = !!e && "length" in e && e.length, n = x(e);
return !y(e) && !v(e) && ("array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e)
}
function I(e, t) {
return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
}
S.fn = S.prototype = {
jquery: _, constructor: S, length: 0, toArray: function () {
return a.call(this)
}, get: function (e) {
return null == e ? a.call(this) : e < 0 ? this[e + this.length] : this[e]
}, pushStack: function (e) {
var t = S.merge(this.constructor(), e);
return t.prevObject = this, t
}, each: function (e) {
return S.each(this, e)
}, map: function (e) {
return this.pushStack(S.map(this, (function (t, n) {
return e.call(t, n, t)
})))
}, slice: function () {
return this.pushStack(a.apply(this, arguments))
}, first: function () {
return this.eq(0)
}, last: function () {
return this.eq(-1)
}, even: function () {
return this.pushStack(S.grep(this, (function (e, t) {
return (t + 1) % 2
})))
}, odd: function () {
return this.pushStack(S.grep(this, (function (e, t) {
return t % 2
})))
}, eq: function (e) {
var t = this.length, n = +e + (e < 0 ? t : 0);
return this.pushStack(n >= 0 && n < t ? [this[n]] : [])
}, end: function () {
return this.prevObject || this.constructor()
}, push: u, sort: r.sort, splice: r.splice
}, S.extend = S.fn.extend = function () {
var e, t, n, i, o, r, s = arguments[0] || {}, a = 1, l = arguments.length, u = !1;
for ("boolean" == typeof s && (u = s, s = arguments[a] || {}, a++), "object" == typeof s || y(s) || (s = {}), a === l && (s = this, a--); a < l; a++) if (null != (e = arguments[a])) for (t in e) i = e[t], "__proto__" !== t && s !== i && (u && i && (S.isPlainObject(i) || (o = Array.isArray(i))) ? (n = s[t], r = o && !Array.isArray(n) ? [] : o || S.isPlainObject(n) ? n : {}, o = !1, s[t] = S.extend(u, r, i)) : void 0 !== i && (s[t] = i));
return s
}, S.extend({
expando: "jQuery" + (_ + Math.random()).replace(/\D/g, ""), isReady: !0, error: function (e) {
throw new Error(e)
}, noop: function () {
}, isPlainObject: function (e) {
var t, n;
return !(!e || "[object Object]" !== h.call(e) || (t = s(e)) && ("function" != typeof (n = p.call(t, "constructor") && t.constructor) || f.call(n) !== m))
}, isEmptyObject: function (e) {
var t;
for (t in e) return !1;
return !0
}, globalEval: function (e, t, n) {
C(e, { nonce: t && t.nonce }, n)
}, each: function (e, t) {
var n, i = 0;
if (k(e)) for (n = e.length; i < n && !1 !== t.call(e[i], i, e[i]); i++); else for (i in e) if (!1 === t.call(e[i], i, e[i])) break;
return e
}, text: function (e) {
var t, n = "", i = 0, o = e.nodeType;
if (!o) for (; t = e[i++];) n += S.text(t);
return 1 === o || 11 === o ? e.textContent : 9 === o ? e.documentElement.textContent : 3 === o || 4 === o ? e.nodeValue : n
}, makeArray: function (e, t) {
var n = t || [];
return null != e && (k(Object(e)) ? S.merge(n, "string" == typeof e ? [e] : e) : u.call(n, e)), n
}, inArray: function (e, t, n) {
return null == t ? -1 : c.call(t, e, n)
}, isXMLDoc: function (e) {
var t = e && e.namespaceURI, n = e && (e.ownerDocument || e).documentElement;
return !T.test(t || n && n.nodeName || "HTML")
}, merge: function (e, t) {
for (var n = +t.length, i = 0, o = e.length; i < n; i++) e[o++] = t[i];
return e.length = o, e
}, grep: function (e, t, n) {
for (var i = [], o = 0, r = e.length, s = !n; o < r; o++) !t(e[o], o) !== s && i.push(e[o]);
return i
}, map: function (e, t, n) {
var i, o, r = 0, s = [];
if (k(e)) for (i = e.length; r < i; r++) null != (o = t(e[r], r, n)) && s.push(o); else for (r in e) null != (o = t(e[r], r, n)) && s.push(o);
return l(s)
}, guid: 1, support: g
}), "function" == typeof Symbol && (S.fn[Symbol.iterator] = r[Symbol.iterator]), S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), (function (e, t) {
d["[object " + t + "]"] = t.toLowerCase()
}));
var D = r.pop, L = r.sort, A = r.splice, E = "[\\x20\\t\\r\\n\\f]",
N = new RegExp("^" + E + "+|((?:^|[^\\\\])(?:\\\\.)*)" + E + "+$", "g");
S.contains = function (e, t) {
var n = t && t.parentNode;
return e === n || !(!n || 1 !== n.nodeType || !(e.contains ? e.contains(n) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(n)))
};
var M = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;
function j(e, t) {
return t ? "\0" === e ? "�" : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " " : "\\" + e
}
S.escapeSelector = function (e) {
return (e + "").replace(M, j)
};
var P = b, O = u;
!function () {
var e, t, n, o, s, l, u, d, h, f, m = O, y = S.expando, v = 0, b = 0, w = ee(), C = ee(), x = ee(),
_ = ee(), T = function (e, t) {
return e === t && (s = !0), 0
},
k = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
M = "(?:\\\\[\\da-fA-F]{1,6}" + E + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
j = "\\[" + E + "*(" + M + ")(?:" + E + "*([*^$|!~]?=)" + E + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + M + "))|)" + E + "*\\]",
q = ":(" + M + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + j + ")*)|.*)\\)|)",
H = new RegExp(E + "+", "g"), R = new RegExp("^" + E + "*," + E + "*"),
F = new RegExp("^" + E + "*([>+~]|" + E + ")" + E + "*"), $ = new RegExp(E + "|>"),
U = new RegExp(q), B = new RegExp("^" + M + "$"), W = {
ID: new RegExp("^#(" + M + ")"),
CLASS: new RegExp("^\\.(" + M + ")"),
TAG: new RegExp("^(" + M + "|[*])"),
ATTR: new RegExp("^" + j),
PSEUDO: new RegExp("^" + q),
CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + E + "*(even|odd|(([+-]|)(\\d*)n|)" + E + "*(?:([+-]|)" + E + "*(\\d+)|))" + E + "*\\)|)", "i"),
bool: new RegExp("^(?:" + k + ")$", "i"),
needsContext: new RegExp("^" + E + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + E + "*((?:-\\d)?\\d*)" + E + "*\\)|)(?=[^-]|$)", "i")
}, G = /^(?:input|select|textarea|button)$/i, z = /^h\d$/i, K = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
J = /[+~]/, V = new RegExp("\\\\[\\da-fA-F]{1,6}" + E + "?|\\\\([^\\r\\n\\f])", "g"),
X = function (e, t) {
var n = "0x" + e.slice(1) - 65536;
return t || (n < 0 ? String.fromCharCode(n + 65536) : String.fromCharCode(n >> 10 | 55296, 1023 & n | 56320))
}, Y = function () {
le()
}, Q = he((function (e) {
return !0 === e.disabled && I(e, "fieldset")
}), { dir: "parentNode", next: "legend" });
try {
m.apply(r = a.call(P.childNodes), P.childNodes), r[P.childNodes.length].nodeType
} catch (e) {
m = {
apply: function (e, t) {
O.apply(e, a.call(t))
}, call: function (e) {
O.apply(e, a.call(arguments, 1))
}
}
}
function Z(e, t, n, i) {
var o, r, s, a, u, c, p, f = t && t.ownerDocument, v = t ? t.nodeType : 9;
if (n = n || [], "string" != typeof e || !e || 1 !== v && 9 !== v && 11 !== v) return n;
if (!i && (le(t), t = t || l, d)) {
if (11 !== v && (u = K.exec(e))) if (o = u[1]) {
if (9 === v) {
if (!(s = t.getElementById(o))) return n;
if (s.id === o) return m.call(n, s), n
} else if (f && (s = f.getElementById(o)) && Z.contains(t, s) && s.id === o) return m.call(n, s), n
} else {
if (u[2]) return m.apply(n, t.getElementsByTagName(e)), n;
if ((o = u[3]) && t.getElementsByClassName) return m.apply(n, t.getElementsByClassName(o)), n
}
if (!(_[e + " "] || h && h.test(e))) {
if (p = e, f = t, 1 === v && ($.test(e) || F.test(e))) {
for ((f = J.test(e) && ae(t.parentNode) || t) == t && g.scope || ((a = t.getAttribute("id")) ? a = S.escapeSelector(a) : t.setAttribute("id", a = y)), r = (c = ce(e)).length; r--;) c[r] = (a ? "#" + a : ":scope") + " " + de(c[r]);
p = c.join(",")
}
try {
return m.apply(n, f.querySelectorAll(p)), n
} catch (t) {
_(e, !0)
} finally {
a === y && t.removeAttribute("id")
}
}
}
return ve(e.replace(N, "$1"), t, n, i)
}
function ee() {
var e = [];
return function n(i, o) {
return e.push(i + " ") > t.cacheLength && delete n[e.shift()], n[i + " "] = o
}
}
function te(e) {
return e[y] = !0, e
}
function ne(e) {
var t = l.createElement("fieldset");
try {
return !!e(t)
} catch (e) {
return !1
} finally {
t.parentNode && t.parentNode.removeChild(t), t = null
}
}
function ie(e) {
return function (t) {
return I(t, "input") && t.type === e
}
}
function oe(e) {
return function (t) {
return (I(t, "input") || I(t, "button")) && t.type === e
}
}
function re(e) {
return function (t) {
return "form" in t ? t.parentNode && !1 === t.disabled ? "label" in t ? "label" in t.parentNode ? t.parentNode.disabled === e : t.disabled === e : t.isDisabled === e || t.isDisabled !== !e && Q(t) === e : t.disabled === e : "label" in t && t.disabled === e
}
}
function se(e) {
return te((function (t) {
return t = +t, te((function (n, i) {
for (var o, r = e([], n.length, t), s = r.length; s--;) n[o = r[s]] && (n[o] = !(i[o] = n[o]))
}))
}))
}
function ae(e) {
return e && void 0 !== e.getElementsByTagName && e
}
function le(e) {
var n, i = e ? e.ownerDocument || e : P;
return i != l && 9 === i.nodeType && i.documentElement ? (u = (l = i).documentElement, d = !S.isXMLDoc(l), f = u.matches || u.webkitMatchesSelector || u.msMatchesSelector, u.msMatchesSelector && P != l && (n = l.defaultView) && n.top !== n && n.addEventListener("unload", Y), g.getById = ne((function (e) {
return u.appendChild(e).id = S.expando, !l.getElementsByName || !l.getElementsByName(S.expando).length
})), g.disconnectedMatch = ne((function (e) {
return f.call(e, "*")
})), g.scope = ne((function () {
return l.querySelectorAll(":scope")
})), g.cssHas = ne((function () {
try {
return l.querySelector(":has(*,:jqfake)"), !1
} catch (e) {
return !0
}
})), g.getById ? (t.filter.ID = function (e) {
var t = e.replace(V, X);
return function (e) {
return e.getAttribute("id") === t
}
}, t.find.ID = function (e, t) {
if (void 0 !== t.getElementById && d) {
var n = t.getElementById(e);
return n ? [n] : []
}
}) : (t.filter.ID = function (e) {
var t = e.replace(V, X);
return function (e) {
var n = void 0 !== e.getAttributeNode && e.getAttributeNode("id");
return n && n.value === t
}
}, t.find.ID = function (e, t) {
if (void 0 !== t.getElementById && d) {
var n, i, o, r = t.getElementById(e);
if (r) {
if ((n = r.getAttributeNode("id")) && n.value === e) return [r];
for (o = t.getElementsByName(e), i = 0; r = o[i++];) if ((n = r.getAttributeNode("id")) && n.value === e) return [r]
}
return []
}
}), t.find.TAG = function (e, t) {
return void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e) : t.querySelectorAll(e)
}, t.find.CLASS = function (e, t) {
if (void 0 !== t.getElementsByClassName && d) return t.getElementsByClassName(e)
}, h = [], ne((function (e) {
var t;
u.appendChild(e).innerHTML = "", e.querySelectorAll("[selected]").length || h.push("\\[" + E + "*(?:value|" + k + ")"), e.querySelectorAll("[id~=" + y + "-]").length || h.push("~="), e.querySelectorAll("a#" + y + "+*").length || h.push(".#.+[+~]"), e.querySelectorAll(":checked").length || h.push(":checked"), (t = l.createElement("input")).setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), u.appendChild(e).disabled = !0, 2 !== e.querySelectorAll(":disabled").length && h.push(":enabled", ":disabled"), (t = l.createElement("input")).setAttribute("name", ""), e.appendChild(t), e.querySelectorAll("[name='']").length || h.push("\\[" + E + "*name" + E + "*=" + E + "*(?:''|\"\")")
})), g.cssHas || h.push(":has"), h = h.length && new RegExp(h.join("|")), T = function (e, t) {
if (e === t) return s = !0, 0;
var n = !e.compareDocumentPosition - !t.compareDocumentPosition;
return n || (1 & (n = (e.ownerDocument || e) == (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !g.sortDetached && t.compareDocumentPosition(e) === n ? e === l || e.ownerDocument == P && Z.contains(P, e) ? -1 : t === l || t.ownerDocument == P && Z.contains(P, t) ? 1 : o ? c.call(o, e) - c.call(o, t) : 0 : 4 & n ? -1 : 1)
}, l) : l
}
for (e in Z.matches = function (e, t) {
return Z(e, null, null, t)
}, Z.matchesSelector = function (e, t) {
if (le(e), d && !_[t + " "] && (!h || !h.test(t))) try {
var n = f.call(e, t);
if (n || g.disconnectedMatch || e.document && 11 !== e.document.nodeType) return n
} catch (e) {
_(t, !0)
}
return Z(t, l, null, [e]).length > 0
}, Z.contains = function (e, t) {
return (e.ownerDocument || e) != l && le(e), S.contains(e, t)
}, Z.attr = function (e, n) {
(e.ownerDocument || e) != l && le(e);
var i = t.attrHandle[n.toLowerCase()],
o = i && p.call(t.attrHandle, n.toLowerCase()) ? i(e, n, !d) : void 0;
return void 0 !== o ? o : e.getAttribute(n)
}, Z.error = function (e) {
throw new Error("Syntax error, unrecognized expression: " + e)
}, S.uniqueSort = function (e) {
var t, n = [], i = 0, r = 0;
if (s = !g.sortStable, o = !g.sortStable && a.call(e, 0), L.call(e, T), s) {
for (; t = e[r++];) t === e[r] && (i = n.push(r));
for (; i--;) A.call(e, n[i], 1)
}
return o = null, e
}, S.fn.uniqueSort = function () {
return this.pushStack(S.uniqueSort(a.apply(this)))
}, t = S.expr = {
cacheLength: 50,
createPseudo: te,
match: W,
attrHandle: {},
find: {},
relative: {
">": { dir: "parentNode", first: !0 },
" ": { dir: "parentNode" },
"+": { dir: "previousSibling", first: !0 },
"~": { dir: "previousSibling" }
},
preFilter: {
ATTR: function (e) {
return e[1] = e[1].replace(V, X), e[3] = (e[3] || e[4] || e[5] || "").replace(V, X), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4)
}, CHILD: function (e) {
return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || Z.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && Z.error(e[0]), e
}, PSEUDO: function (e) {
var t, n = !e[6] && e[2];
return W.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && U.test(n) && (t = ce(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3))
}
},
filter: {
TAG: function (e) {
var t = e.replace(V, X).toLowerCase();
return "*" === e ? function () {
return !0
} : function (e) {
return I(e, t)
}
}, CLASS: function (e) {
var t = w[e + " "];
return t || (t = new RegExp("(^|" + E + ")" + e + "(" + E + "|$)")) && w(e, (function (e) {
return t.test("string" == typeof e.className && e.className || void 0 !== e.getAttribute && e.getAttribute("class") || "")
}))
}, ATTR: function (e, t, n) {
return function (i) {
var o = Z.attr(i, e);
return null == o ? "!=" === t : !t || (o += "", "=" === t ? o === n : "!=" === t ? o !== n : "^=" === t ? n && 0 === o.indexOf(n) : "*=" === t ? n && o.indexOf(n) > -1 : "$=" === t ? n && o.slice(-n.length) === n : "~=" === t ? (" " + o.replace(H, " ") + " ").indexOf(n) > -1 : "|=" === t && (o === n || o.slice(0, n.length + 1) === n + "-"))
}
}, CHILD: function (e, t, n, i, o) {
var r = "nth" !== e.slice(0, 3), s = "last" !== e.slice(-4), a = "of-type" === t;
return 1 === i && 0 === o ? function (e) {
return !!e.parentNode
} : function (t, n, l) {
var u, c, d, h, p, f = r !== s ? "nextSibling" : "previousSibling",
m = t.parentNode, g = a && t.nodeName.toLowerCase(), b = !l && !a, w = !1;
if (m) {
if (r) {
for (; f;) {
for (d = t; d = d[f];) if (a ? I(d, g) : 1 === d.nodeType) return !1;
p = f = "only" === e && !p && "nextSibling"
}
return !0
}
if (p = [s ? m.firstChild : m.lastChild], s && b) {
for (w = (h = (u = (c = m[y] || (m[y] = {}))[e] || [])[0] === v && u[1]) && u[2], d = h && m.childNodes[h]; d = ++h && d && d[f] || (w = h = 0) || p.pop();) if (1 === d.nodeType && ++w && d === t) {
c[e] = [v, h, w];
break
}
} else if (b && (w = h = (u = (c = t[y] || (t[y] = {}))[e] || [])[0] === v && u[1]), !1 === w) for (; (d = ++h && d && d[f] || (w = h = 0) || p.pop()) && (!(a ? I(d, g) : 1 === d.nodeType) || !++w || (b && ((c = d[y] || (d[y] = {}))[e] = [v, w]), d !== t)););
return (w -= o) === i || w % i == 0 && w / i >= 0
}
}
}, PSEUDO: function (e, n) {
var i,
o = t.pseudos[e] || t.setFilters[e.toLowerCase()] || Z.error("unsupported pseudo: " + e);
return o[y] ? o(n) : o.length > 1 ? (i = [e, e, "", n], t.setFilters.hasOwnProperty(e.toLowerCase()) ? te((function (e, t) {
for (var i, r = o(e, n), s = r.length; s--;) e[i = c.call(e, r[s])] = !(t[i] = r[s])
})) : function (e) {
return o(e, 0, i)
}) : o
}
},
pseudos: {
not: te((function (e) {
var t = [], n = [], i = ye(e.replace(N, "$1"));
return i[y] ? te((function (e, t, n, o) {
for (var r, s = i(e, null, o, []), a = e.length; a--;) (r = s[a]) && (e[a] = !(t[a] = r))
})) : function (e, o, r) {
return t[0] = e, i(t, null, r, n), t[0] = null, !n.pop()
}
})), has: te((function (e) {
return function (t) {
return Z(e, t).length > 0
}
})), contains: te((function (e) {
return e = e.replace(V, X), function (t) {
return (t.textContent || S.text(t)).indexOf(e) > -1
}
})), lang: te((function (e) {
return B.test(e || "") || Z.error("unsupported lang: " + e), e = e.replace(V, X).toLowerCase(), function (t) {
var n;
do {
if (n = d ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang")) return (n = n.toLowerCase()) === e || 0 === n.indexOf(e + "-")
} while ((t = t.parentNode) && 1 === t.nodeType);
return !1
}
})), target: function (e) {
var t = i.location && i.location.hash;
return t && t.slice(1) === e.id
}, root: function (e) {
return e === u
}, focus: function (e) {
return e === function () {
try {
return l.activeElement
} catch (e) {
}
}() && l.hasFocus() && !!(e.type || e.href || ~e.tabIndex)
}, enabled: re(!1), disabled: re(!0), checked: function (e) {
return I(e, "input") && !!e.checked || I(e, "option") && !!e.selected
}, selected: function (e) {
return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected
}, empty: function (e) {
for (e = e.firstChild; e; e = e.nextSibling) if (e.nodeType < 6) return !1;
return !0
}, parent: function (e) {
return !t.pseudos.empty(e)
}, header: function (e) {
return z.test(e.nodeName)
}, input: function (e) {
return G.test(e.nodeName)
}, button: function (e) {
return I(e, "input") && "button" === e.type || I(e, "button")
}, text: function (e) {
var t;
return I(e, "input") && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase())
}, first: se((function () {
return [0]
})), last: se((function (e, t) {
return [t - 1]
})), eq: se((function (e, t, n) {
return [n < 0 ? n + t : n]
})), even: se((function (e, t) {
for (var n = 0; n < t; n += 2) e.push(n);
return e
})), odd: se((function (e, t) {
for (var n = 1; n < t; n += 2) e.push(n);
return e
})), lt: se((function (e, t, n) {
var i;
for (i = n < 0 ? n + t : n > t ? t : n; --i >= 0;) e.push(i);
return e
})), gt: se((function (e, t, n) {
for (var i = n < 0 ? n + t : n; ++i < t;) e.push(i);
return e
}))
}
}, t.pseudos.nth = t.pseudos.eq, {
radio: !0,
checkbox: !0,
file: !0,
password: !0,
image: !0
}) t.pseudos[e] = ie(e);
for (e in { submit: !0, reset: !0 }) t.pseudos[e] = oe(e);
function ue() {
}
function ce(e, n) {
var i, o, r, s, a, l, u, c = C[e + " "];
if (c) return n ? 0 : c.slice(0);
for (a = e, l = [], u = t.preFilter; a;) {
for (s in i && !(o = R.exec(a)) || (o && (a = a.slice(o[0].length) || a), l.push(r = [])), i = !1, (o = F.exec(a)) && (i = o.shift(), r.push({
value: i,
type: o[0].replace(N, " ")
}), a = a.slice(i.length)), t.filter) !(o = W[s].exec(a)) || u[s] && !(o = u[s](o)) || (i = o.shift(), r.push({
value: i,
type: s,
matches: o
}), a = a.slice(i.length));
if (!i) break
}
return n ? a.length : a ? Z.error(e) : C(e, l).slice(0)
}
function de(e) {
for (var t = 0, n = e.length, i = ""; t < n; t++) i += e[t].value;
return i
}
function he(e, t, n) {
var i = t.dir, o = t.next, r = o || i, s = n && "parentNode" === r, a = b++;
return t.first ? function (t, n, o) {
for (; t = t[i];) if (1 === t.nodeType || s) return e(t, n, o);
return !1
} : function (t, n, l) {
var u, c, d = [v, a];
if (l) {
for (; t = t[i];) if ((1 === t.nodeType || s) && e(t, n, l)) return !0
} else for (; t = t[i];) if (1 === t.nodeType || s) if (c = t[y] || (t[y] = {}), o && I(t, o)) t = t[i] || t; else {
if ((u = c[r]) && u[0] === v && u[1] === a) return d[2] = u[2];
if (c[r] = d, d[2] = e(t, n, l)) return !0
}
return !1
}
}
function pe(e) {
return e.length > 1 ? function (t, n, i) {
for (var o = e.length; o--;) if (!e[o](t, n, i)) return !1;
return !0
} : e[0]
}
function fe(e, t, n, i, o) {
for (var r, s = [], a = 0, l = e.length, u = null != t; a < l; a++) (r = e[a]) && (n && !n(r, i, o) || (s.push(r), u && t.push(a)));
return s
}
function me(e, t, n, i, o, r) {
return i && !i[y] && (i = me(i)), o && !o[y] && (o = me(o, r)), te((function (r, s, a, l) {
var u, d, h, p, f = [], g = [], y = s.length, v = r || function (e, t, n) {
for (var i = 0, o = t.length; i < o; i++) Z(e, t[i], n);
return n
}(t || "*", a.nodeType ? [a] : a, []), b = !e || !r && t ? v : fe(v, f, e, a, l);
if (n ? n(b, p = o || (r ? e : y || i) ? [] : s, a, l) : p = b, i) for (u = fe(p, g), i(u, [], a, l), d = u.length; d--;) (h = u[d]) && (p[g[d]] = !(b[g[d]] = h));
if (r) {
if (o || e) {
if (o) {
for (u = [], d = p.length; d--;) (h = p[d]) && u.push(b[d] = h);
o(null, p = [], u, l)
}
for (d = p.length; d--;) (h = p[d]) && (u = o ? c.call(r, h) : f[d]) > -1 && (r[u] = !(s[u] = h))
}
} else p = fe(p === s ? p.splice(y, p.length) : p), o ? o(null, s, p, l) : m.apply(s, p)
}))
}
function ge(e) {
for (var i, o, r, s = e.length, a = t.relative[e[0].type], l = a || t.relative[" "], u = a ? 1 : 0, d = he((function (e) {
return e === i
}), l, !0), h = he((function (e) {
return c.call(i, e) > -1
}), l, !0), p = [function (e, t, o) {
var r = !a && (o || t != n) || ((i = t).nodeType ? d(e, t, o) : h(e, t, o));
return i = null, r
}]; u < s; u++) if (o = t.relative[e[u].type]) p = [he(pe(p), o)]; else {
if ((o = t.filter[e[u].type].apply(null, e[u].matches))[y]) {
for (r = ++u; r < s && !t.relative[e[r].type]; r++);
return me(u > 1 && pe(p), u > 1 && de(e.slice(0, u - 1).concat({ value: " " === e[u - 2].type ? "*" : "" })).replace(N, "$1"), o, u < r && ge(e.slice(u, r)), r < s && ge(e = e.slice(r)), r < s && de(e))
}
p.push(o)
}
return pe(p)
}
function ye(e, i) {
var o, r = [], s = [], a = x[e + " "];
if (!a) {
for (i || (i = ce(e)), o = i.length; o--;) (a = ge(i[o]))[y] ? r.push(a) : s.push(a);
a = x(e, function (e, i) {
var o = i.length > 0, r = e.length > 0, s = function (s, a, u, c, h) {
var p, f, g, y = 0, b = "0", w = s && [], C = [], x = n,
_ = s || r && t.find.TAG("*", h), T = v += null == x ? 1 : Math.random() || .1,
k = _.length;
for (h && (n = a == l || a || h); b !== k && null != (p = _[b]); b++) {
if (r && p) {
for (f = 0, a || p.ownerDocument == l || (le(p), u = !d); g = e[f++];) if (g(p, a || l, u)) {
m.call(c, p);
break
}
h && (v = T)
}
o && ((p = !g && p) && y--, s && w.push(p))
}
if (y += b, o && b !== y) {
for (f = 0; g = i[f++];) g(w, C, a, u);
if (s) {
if (y > 0) for (; b--;) w[b] || C[b] || (C[b] = D.call(c));
C = fe(C)
}
m.apply(c, C), h && !s && C.length > 0 && y + i.length > 1 && S.uniqueSort(c)
}
return h && (v = T, n = x), w
};
return o ? te(s) : s
}(s, r)), a.selector = e
}
return a
}
function ve(e, n, i, o) {
var r, s, a, l, u, c = "function" == typeof e && e, h = !o && ce(e = c.selector || e);
if (i = i || [], 1 === h.length) {
if ((s = h[0] = h[0].slice(0)).length > 2 && "ID" === (a = s[0]).type && 9 === n.nodeType && d && t.relative[s[1].type]) {
if (!(n = (t.find.ID(a.matches[0].replace(V, X), n) || [])[0])) return i;
c && (n = n.parentNode), e = e.slice(s.shift().value.length)
}
for (r = W.needsContext.test(e) ? 0 : s.length; r-- && (a = s[r], !t.relative[l = a.type]);) if ((u = t.find[l]) && (o = u(a.matches[0].replace(V, X), J.test(s[0].type) && ae(n.parentNode) || n))) {
if (s.splice(r, 1), !(e = o.length && de(s))) return m.apply(i, o), i;
break
}
}
return (c || ye(e, h))(o, n, !d, i, !n || J.test(e) && ae(n.parentNode) || n), i
}
ue.prototype = t.filters = t.pseudos, t.setFilters = new ue, g.sortStable = y.split("").sort(T).join("") === y, le(), g.sortDetached = ne((function (e) {
return 1 & e.compareDocumentPosition(l.createElement("fieldset"))
})), S.find = Z, S.expr[":"] = S.expr.pseudos, S.unique = S.uniqueSort, Z.compile = ye, Z.select = ve, Z.setDocument = le, Z.tokenize = ce, Z.escape = S.escapeSelector, Z.getText = S.text, Z.isXML = S.isXMLDoc, Z.selectors = S.expr, Z.support = S.support, Z.uniqueSort = S.uniqueSort
}();
var q = function (e, t, n) {
for (var i = [], o = void 0 !== n; (e = e[t]) && 9 !== e.nodeType;) if (1 === e.nodeType) {
if (o && S(e).is(n)) break;
i.push(e)
}
return i
}, H = function (e, t) {
for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e);
return n
}, R = S.expr.match.needsContext, F = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;
function $(e, t, n) {
return y(t) ? S.grep(e, (function (e, i) {
return !!t.call(e, i, e) !== n
})) : t.nodeType ? S.grep(e, (function (e) {
return e === t !== n
})) : "string" != typeof t ? S.grep(e, (function (e) {
return c.call(t, e) > -1 !== n
})) : S.filter(t, e, n)
}
S.filter = function (e, t, n) {
var i = t[0];
return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === i.nodeType ? S.find.matchesSelector(i, e) ? [i] : [] : S.find.matches(e, S.grep(t, (function (e) {
return 1 === e.nodeType
})))
}, S.fn.extend({
find: function (e) {
var t, n, i = this.length, o = this;
if ("string" != typeof e) return this.pushStack(S(e).filter((function () {
for (t = 0; t < i; t++) if (S.contains(o[t], this)) return !0
})));
for (n = this.pushStack([]), t = 0; t < i; t++) S.find(e, o[t], n);
return i > 1 ? S.uniqueSort(n) : n
}, filter: function (e) {
return this.pushStack($(this, e || [], !1))
}, not: function (e) {
return this.pushStack($(this, e || [], !0))
}, is: function (e) {
return !!$(this, "string" == typeof e && R.test(e) ? S(e) : e || [], !1).length
}
});
var U, B = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;
(S.fn.init = function (e, t, n) {
var i, o;
if (!e) return this;
if (n = n || U, "string" == typeof e) {
if (!(i = "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 ? [null, e, null] : B.exec(e)) || !i[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e);
if (i[1]) {
if (t = t instanceof S ? t[0] : t, S.merge(this, S.parseHTML(i[1], t && t.nodeType ? t.ownerDocument || t : b, !0)), F.test(i[1]) && S.isPlainObject(t)) for (i in t) y(this[i]) ? this[i](t[i]) : this.attr(i, t[i]);
return this
}
return (o = b.getElementById(i[2])) && (this[0] = o, this.length = 1), this
}
return e.nodeType ? (this[0] = e, this.length = 1, this) : y(e) ? void 0 !== n.ready ? n.ready(e) : e(S) : S.makeArray(e, this)
}).prototype = S.fn, U = S(b);
var W = /^(?:parents|prev(?:Until|All))/, G = { children: !0, contents: !0, next: !0, prev: !0 };
function z(e, t) {
for (; (e = e[t]) && 1 !== e.nodeType;);
return e
}
S.fn.extend({
has: function (e) {
var t = S(e, this), n = t.length;
return this.filter((function () {
for (var e = 0; e < n; e++) if (S.contains(this, t[e])) return !0
}))
}, closest: function (e, t) {
var n, i = 0, o = this.length, r = [], s = "string" != typeof e && S(e);
if (!R.test(e)) for (; i < o; i++) for (n = this[i]; n && n !== t; n = n.parentNode) if (n.nodeType < 11 && (s ? s.index(n) > -1 : 1 === n.nodeType && S.find.matchesSelector(n, e))) {
r.push(n);
break
}
return this.pushStack(r.length > 1 ? S.uniqueSort(r) : r)
}, index: function (e) {
return e ? "string" == typeof e ? c.call(S(e), this[0]) : c.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
}, add: function (e, t) {
return this.pushStack(S.uniqueSort(S.merge(this.get(), S(e, t))))
}, addBack: function (e) {
return this.add(null == e ? this.prevObject : this.prevObject.filter(e))
}
}), S.each({
parent: function (e) {
var t = e.parentNode;
return t && 11 !== t.nodeType ? t : null
}, parents: function (e) {
return q(e, "parentNode")
}, parentsUntil: function (e, t, n) {
return q(e, "parentNode", n)
}, next: function (e) {
return z(e, "nextSibling")
}, prev: function (e) {
return z(e, "previousSibling")
}, nextAll: function (e) {
return q(e, "nextSibling")
}, prevAll: function (e) {
return q(e, "previousSibling")
}, nextUntil: function (e, t, n) {
return q(e, "nextSibling", n)
}, prevUntil: function (e, t, n) {
return q(e, "previousSibling", n)
}, siblings: function (e) {
return H((e.parentNode || {}).firstChild, e)
}, children: function (e) {
return H(e.firstChild)
}, contents: function (e) {
return null != e.contentDocument && s(e.contentDocument) ? e.contentDocument : (I(e, "template") && (e = e.content || e), S.merge([], e.childNodes))
}
}, (function (e, t) {
S.fn[e] = function (n, i) {
var o = S.map(this, t, n);
return "Until" !== e.slice(-5) && (i = n), i && "string" == typeof i && (o = S.filter(i, o)), this.length > 1 && (G[e] || S.uniqueSort(o), W.test(e) && o.reverse()), this.pushStack(o)
}
}));
var K = /[^\x20\t\r\n\f]+/g;
function J(e) {
return e
}
function V(e) {
throw e
}
function X(e, t, n, i) {
var o;
try {
e && y(o = e.promise) ? o.call(e).done(t).fail(n) : e && y(o = e.then) ? o.call(e, t, n) : t.apply(void 0, [e].slice(i))
} catch (e) {
n.apply(void 0, [e])
}
}
S.Callbacks = function (e) {
e = "string" == typeof e ? function (e) {
var t = {};
return S.each(e.match(K) || [], (function (e, n) {
t[n] = !0
})), t
}(e) : S.extend({}, e);
var t, n, i, o, r = [], s = [], a = -1, l = function () {
for (o = o || e.once, i = t = !0; s.length; a = -1) for (n = s.shift(); ++a < r.length;) !1 === r[a].apply(n[0], n[1]) && e.stopOnFalse && (a = r.length, n = !1);
e.memory || (n = !1), t = !1, o && (r = n ? [] : "")
}, u = {
add: function () {
return r && (n && !t && (a = r.length - 1, s.push(n)), function t(n) {
S.each(n, (function (n, i) {
y(i) ? e.unique && u.has(i) || r.push(i) : i && i.length && "string" !== x(i) && t(i)
}))
}(arguments), n && !t && l()), this
}, remove: function () {
return S.each(arguments, (function (e, t) {
for (var n; (n = S.inArray(t, r, n)) > -1;) r.splice(n, 1), n <= a && a--
})), this
}, has: function (e) {
return e ? S.inArray(e, r) > -1 : r.length > 0
}, empty: function () {
return r && (r = []), this
}, disable: function () {
return o = s = [], r = n = "", this
}, disabled: function () {
return !r
}, lock: function () {
return o = s = [], n || t || (r = n = ""), this
}, locked: function () {
return !!o
}, fireWith: function (e, n) {
return o || (n = [e, (n = n || []).slice ? n.slice() : n], s.push(n), t || l()), this
}, fire: function () {
return u.fireWith(this, arguments), this
}, fired: function () {
return !!i
}
};
return u
}, S.extend({
Deferred: function (e) {
var t = [["notify", "progress", S.Callbacks("memory"), S.Callbacks("memory"), 2], ["resolve", "done", S.Callbacks("once memory"), S.Callbacks("once memory"), 0, "resolved"], ["reject", "fail", S.Callbacks("once memory"), S.Callbacks("once memory"), 1, "rejected"]],
n = "pending", o = {
state: function () {
return n
}, always: function () {
return r.done(arguments).fail(arguments), this
}, catch: function (e) {
return o.then(null, e)
}, pipe: function () {
var e = arguments;
return S.Deferred((function (n) {
S.each(t, (function (t, i) {
var o = y(e[i[4]]) && e[i[4]];
r[i[1]]((function () {
var e = o && o.apply(this, arguments);
e && y(e.promise) ? e.promise().progress(n.notify).done(n.resolve).fail(n.reject) : n[i[0] + "With"](this, o ? [e] : arguments)
}))
})), e = null
})).promise()
}, then: function (e, n, o) {
var r = 0;
function s(e, t, n, o) {
return function () {
var a = this, l = arguments, u = function () {
var i, u;
if (!(e < r)) {
if ((i = n.apply(a, l)) === t.promise()) throw new TypeError("Thenable self-resolution");
u = i && ("object" == typeof i || "function" == typeof i) && i.then, y(u) ? o ? u.call(i, s(r, t, J, o), s(r, t, V, o)) : (r++, u.call(i, s(r, t, J, o), s(r, t, V, o), s(r, t, J, t.notifyWith))) : (n !== J && (a = void 0, l = [i]), (o || t.resolveWith)(a, l))
}
}, c = o ? u : function () {
try {
u()
} catch (i) {
S.Deferred.exceptionHook && S.Deferred.exceptionHook(i, c.error), e + 1 >= r && (n !== V && (a = void 0, l = [i]), t.rejectWith(a, l))
}
};
e ? c() : (S.Deferred.getErrorHook ? c.error = S.Deferred.getErrorHook() : S.Deferred.getStackHook && (c.error = S.Deferred.getStackHook()), i.setTimeout(c))
}
}
return S.Deferred((function (i) {
t[0][3].add(s(0, i, y(o) ? o : J, i.notifyWith)), t[1][3].add(s(0, i, y(e) ? e : J)), t[2][3].add(s(0, i, y(n) ? n : V))
})).promise()
}, promise: function (e) {
return null != e ? S.extend(e, o) : o
}
}, r = {};
return S.each(t, (function (e, i) {
var s = i[2], a = i[5];
o[i[1]] = s.add, a && s.add((function () {
n = a
}), t[3 - e][2].disable, t[3 - e][3].disable, t[0][2].lock, t[0][3].lock), s.add(i[3].fire), r[i[0]] = function () {
return r[i[0] + "With"](this === r ? void 0 : this, arguments), this
}, r[i[0] + "With"] = s.fireWith
})), o.promise(r), e && e.call(r, r), r
}, when: function (e) {
var t = arguments.length, n = t, i = Array(n), o = a.call(arguments), r = S.Deferred(),
s = function (e) {
return function (n) {
i[e] = this, o[e] = arguments.length > 1 ? a.call(arguments) : n, --t || r.resolveWith(i, o)
}
};
if (t <= 1 && (X(e, r.done(s(n)).resolve, r.reject, !t), "pending" === r.state() || y(o[n] && o[n].then))) return r.then();
for (; n--;) X(o[n], s(n), r.reject);
return r.promise()
}
});
var Y = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
S.Deferred.exceptionHook = function (e, t) {
i.console && i.console.warn && e && Y.test(e.name) && i.console.warn("jQuery.Deferred exception: " + e.message, e.stack, t)
}, S.readyException = function (e) {
i.setTimeout((function () {
throw e
}))
};
var Q = S.Deferred();
function Z() {
b.removeEventListener("DOMContentLoaded", Z), i.removeEventListener("load", Z), S.ready()
}
S.fn.ready = function (e) {
return Q.then(e).catch((function (e) {
S.readyException(e)
})), this
}, S.extend({
isReady: !1, readyWait: 1, ready: function (e) {
(!0 === e ? --S.readyWait : S.isReady) || (S.isReady = !0, !0 !== e && --S.readyWait > 0 || Q.resolveWith(b, [S]))
}
}), S.ready.then = Q.then, "complete" === b.readyState || "loading" !== b.readyState && !b.documentElement.doScroll ? i.setTimeout(S.ready) : (b.addEventListener("DOMContentLoaded", Z), i.addEventListener("load", Z));
var ee = function (e, t, n, i, o, r, s) {
var a = 0, l = e.length, u = null == n;
if ("object" === x(n)) for (a in o = !0, n) ee(e, t, a, n[a], !0, r, s); else if (void 0 !== i && (o = !0, y(i) || (s = !0), u && (s ? (t.call(e, i), t = null) : (u = t, t = function (e, t, n) {
return u.call(S(e), n)
})), t)) for (; a < l; a++) t(e[a], n, s ? i : i.call(e[a], a, t(e[a], n)));
return o ? e : u ? t.call(e) : l ? t(e[0], n) : r
}, te = /^-ms-/, ne = /-([a-z])/g;
function ie(e, t) {
return t.toUpperCase()
}
function oe(e) {
return e.replace(te, "ms-").replace(ne, ie)
}
var re = function (e) {
return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType
};
function se() {
this.expando = S.expando + se.uid++
}
se.uid = 1, se.prototype = {
cache: function (e) {
var t = e[this.expando];
return t || (t = {}, re(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, {
value: t,
configurable: !0
}))), t
}, set: function (e, t, n) {
var i, o = this.cache(e);
if ("string" == typeof t) o[oe(t)] = n; else for (i in t) o[oe(i)] = t[i];
return o
}, get: function (e, t) {
return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][oe(t)]
}, access: function (e, t, n) {
return void 0 === t || t && "string" == typeof t && void 0 === n ? this.get(e, t) : (this.set(e, t, n), void 0 !== n ? n : t)
}, remove: function (e, t) {
var n, i = e[this.expando];
if (void 0 !== i) {
if (void 0 !== t) {
n = (t = Array.isArray(t) ? t.map(oe) : (t = oe(t)) in i ? [t] : t.match(K) || []).length;
for (; n--;) delete i[t[n]]
}
(void 0 === t || S.isEmptyObject(i)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando])
}
}, hasData: function (e) {
var t = e[this.expando];
return void 0 !== t && !S.isEmptyObject(t)
}
};
var ae = new se, le = new se, ue = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, ce = /[A-Z]/g;
function de(e, t, n) {
var i;
if (void 0 === n && 1 === e.nodeType) if (i = "data-" + t.replace(ce, "-$&").toLowerCase(), "string" == typeof (n = e.getAttribute(i))) {
try {
n = function (e) {
return "true" === e || "false" !== e && ("null" === e ? null : e === +e + "" ? +e : ue.test(e) ? JSON.parse(e) : e)
}(n)
} catch (e) {
}
le.set(e, t, n)
} else n = void 0;
return n
}
S.extend({
hasData: function (e) {
return le.hasData(e) || ae.hasData(e)
}, data: function (e, t, n) {
return le.access(e, t, n)
}, removeData: function (e, t) {
le.remove(e, t)
}, _data: function (e, t, n) {
return ae.access(e, t, n)
}, _removeData: function (e, t) {
ae.remove(e, t)
}
}), S.fn.extend({
data: function (e, t) {
var n, i, o, r = this[0], s = r && r.attributes;
if (void 0 === e) {
if (this.length && (o = le.get(r), 1 === r.nodeType && !ae.get(r, "hasDataAttrs"))) {
for (n = s.length; n--;) s[n] && 0 === (i = s[n].name).indexOf("data-") && (i = oe(i.slice(5)), de(r, i, o[i]));
ae.set(r, "hasDataAttrs", !0)
}
return o
}
return "object" == typeof e ? this.each((function () {
le.set(this, e)
})) : ee(this, (function (t) {
var n;
if (r && void 0 === t) return void 0 !== (n = le.get(r, e)) || void 0 !== (n = de(r, e)) ? n : void 0;
this.each((function () {
le.set(this, e, t)
}))
}), null, t, arguments.length > 1, null, !0)
}, removeData: function (e) {
return this.each((function () {
le.remove(this, e)
}))
}
}), S.extend({
queue: function (e, t, n) {
var i;
if (e) return t = (t || "fx") + "queue", i = ae.get(e, t), n && (!i || Array.isArray(n) ? i = ae.access(e, t, S.makeArray(n)) : i.push(n)), i || []
}, dequeue: function (e, t) {
t = t || "fx";
var n = S.queue(e, t), i = n.length, o = n.shift(), r = S._queueHooks(e, t);
"inprogress" === o && (o = n.shift(), i--), o && ("fx" === t && n.unshift("inprogress"), delete r.stop, o.call(e, (function () {
S.dequeue(e, t)
}), r)), !i && r && r.empty.fire()
}, _queueHooks: function (e, t) {
var n = t + "queueHooks";
return ae.get(e, n) || ae.access(e, n, {
empty: S.Callbacks("once memory").add((function () {
ae.remove(e, [t + "queue", n])
}))
})
}
}), S.fn.extend({
queue: function (e, t) {
var n = 2;
return "string" != typeof e && (t = e, e = "fx", n--), arguments.length < n ? S.queue(this[0], e) : void 0 === t ? this : this.each((function () {
var n = S.queue(this, e, t);
S._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && S.dequeue(this, e)
}))
}, dequeue: function (e) {
return this.each((function () {
S.dequeue(this, e)
}))
}, clearQueue: function (e) {
return this.queue(e || "fx", [])
}, promise: function (e, t) {
var n, i = 1, o = S.Deferred(), r = this, s = this.length, a = function () {
--i || o.resolveWith(r, [r])
};
for ("string" != typeof e && (t = e, e = void 0), e = e || "fx"; s--;) (n = ae.get(r[s], e + "queueHooks")) && n.empty && (i++, n.empty.add(a));
return a(), o.promise(t)
}
});
var he = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
pe = new RegExp("^(?:([+-])=|)(" + he + ")([a-z%]*)$", "i"),
fe = ["Top", "Right", "Bottom", "Left"], me = b.documentElement, ge = function (e) {
return S.contains(e.ownerDocument, e)
}, ye = { composed: !0 };
me.getRootNode && (ge = function (e) {
return S.contains(e.ownerDocument, e) || e.getRootNode(ye) === e.ownerDocument
});
var ve = function (e, t) {
return "none" === (e = t || e).style.display || "" === e.style.display && ge(e) && "none" === S.css(e, "display")
};
function be(e, t, n, i) {
var o, r, s = 20, a = i ? function () {
return i.cur()
} : function () {
return S.css(e, t, "")
}, l = a(), u = n && n[3] || (S.cssNumber[t] ? "" : "px"),
c = e.nodeType && (S.cssNumber[t] || "px" !== u && +l) && pe.exec(S.css(e, t));
if (c && c[3] !== u) {
for (l /= 2, u = u || c[3], c = +l || 1; s--;) S.style(e, t, c + u), (1 - r) * (1 - (r = a() / l || .5)) <= 0 && (s = 0), c /= r;
c *= 2, S.style(e, t, c + u), n = n || []
}
return n && (c = +c || +l || 0, o = n[1] ? c + (n[1] + 1) * n[2] : +n[2], i && (i.unit = u, i.start = c, i.end = o)), o
}
var we = {};
function Ce(e) {
var t, n = e.ownerDocument, i = e.nodeName, o = we[i];
return o || (t = n.body.appendChild(n.createElement(i)), o = S.css(t, "display"), t.parentNode.removeChild(t), "none" === o && (o = "block"), we[i] = o, o)
}
function xe(e, t) {
for (var n, i, o = [], r = 0, s = e.length; r < s; r++) (i = e[r]).style && (n = i.style.display, t ? ("none" === n && (o[r] = ae.get(i, "display") || null, o[r] || (i.style.display = "")), "" === i.style.display && ve(i) && (o[r] = Ce(i))) : "none" !== n && (o[r] = "none", ae.set(i, "display", n)));
for (r = 0; r < s; r++) null != o[r] && (e[r].style.display = o[r]);
return e
}
S.fn.extend({
show: function () {
return xe(this, !0)
}, hide: function () {
return xe(this)
}, toggle: function (e) {
return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each((function () {
ve(this) ? S(this).show() : S(this).hide()
}))
}
});
var _e, Te, Se = /^(?:checkbox|radio)$/i, ke = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i,
Ie = /^$|^module$|\/(?:java|ecma)script/i;
_e = b.createDocumentFragment().appendChild(b.createElement("div")), (Te = b.createElement("input")).setAttribute("type", "radio"), Te.setAttribute("checked", "checked"), Te.setAttribute("name", "t"), _e.appendChild(Te), g.checkClone = _e.cloneNode(!0).cloneNode(!0).lastChild.checked, _e.innerHTML = "", g.noCloneChecked = !!_e.cloneNode(!0).lastChild.defaultValue, _e.innerHTML = "", g.option = !!_e.lastChild;
var De = {
thead: [1, ""],
col: [2, ""],
tr: [2, ""],
td: [3, ""],
_default: [0, "", ""]
};
function Le(e, t) {
var n;
return n = void 0 !== e.getElementsByTagName ? e.getElementsByTagName(t || "*") : void 0 !== e.querySelectorAll ? e.querySelectorAll(t || "*") : [], void 0 === t || t && I(e, t) ? S.merge([e], n) : n
}
function Ae(e, t) {
for (var n = 0, i = e.length; n < i; n++) ae.set(e[n], "globalEval", !t || ae.get(t[n], "globalEval"))
}
De.tbody = De.tfoot = De.colgroup = De.caption = De.thead, De.th = De.td, g.option || (De.optgroup = De.option = [1, ""]);
var Ee = /<|?\w+;/;
function Ne(e, t, n, i, o) {
for (var r, s, a, l, u, c, d = t.createDocumentFragment(), h = [], p = 0, f = e.length; p < f; p++) if ((r = e[p]) || 0 === r) if ("object" === x(r)) S.merge(h, r.nodeType ? [r] : r); else if (Ee.test(r)) {
for (s = s || d.appendChild(t.createElement("div")), a = (ke.exec(r) || ["", ""])[1].toLowerCase(), l = De[a] || De._default, s.innerHTML = l[1] + S.htmlPrefilter(r) + l[2], c = l[0]; c--;) s = s.lastChild;
S.merge(h, s.childNodes), (s = d.firstChild).textContent = ""
} else h.push(t.createTextNode(r));
for (d.textContent = "", p = 0; r = h[p++];) if (i && S.inArray(r, i) > -1) o && o.push(r); else if (u = ge(r), s = Le(d.appendChild(r), "script"), u && Ae(s), n) for (c = 0; r = s[c++];) Ie.test(r.type || "") && n.push(r);
return d
}
var Me = /^([^.]*)(?:\.(.+)|)/;
function je() {
return !0
}
function Pe() {
return !1
}
function Oe(e, t, n, i, o, r) {
var s, a;
if ("object" == typeof t) {
for (a in "string" != typeof n && (i = i || n, n = void 0), t) Oe(e, a, n, i, t[a], r);
return e
}
if (null == i && null == o ? (o = n, i = n = void 0) : null == o && ("string" == typeof n ? (o = i, i = void 0) : (o = i, i = n, n = void 0)), !1 === o) o = Pe; else if (!o) return e;
return 1 === r && (s = o, o = function (e) {
return S().off(e), s.apply(this, arguments)
}, o.guid = s.guid || (s.guid = S.guid++)), e.each((function () {
S.event.add(this, t, o, i, n)
}))
}
function qe(e, t, n) {
n ? (ae.set(e, t, !1), S.event.add(e, t, {
namespace: !1, handler: function (e) {
var n, i = ae.get(this, t);
if (1 & e.isTrigger && this[t]) {
if (i) (S.event.special[t] || {}).delegateType && e.stopPropagation(); else if (i = a.call(arguments), ae.set(this, t, i), this[t](), n = ae.get(this, t), ae.set(this, t, !1), i !== n) return e.stopImmediatePropagation(), e.preventDefault(), n
} else i && (ae.set(this, t, S.event.trigger(i[0], i.slice(1), this)), e.stopPropagation(), e.isImmediatePropagationStopped = je)
}
})) : void 0 === ae.get(e, t) && S.event.add(e, t, je)
}
S.event = {
global: {}, add: function (e, t, n, i, o) {
var r, s, a, l, u, c, d, h, p, f, m, g = ae.get(e);
if (re(e)) for (n.handler && (n = (r = n).handler, o = r.selector), o && S.find.matchesSelector(me, o), n.guid || (n.guid = S.guid++), (l = g.events) || (l = g.events = Object.create(null)), (s = g.handle) || (s = g.handle = function (t) {
return void 0 !== S && S.event.triggered !== t.type ? S.event.dispatch.apply(e, arguments) : void 0
}), u = (t = (t || "").match(K) || [""]).length; u--;) p = m = (a = Me.exec(t[u]) || [])[1], f = (a[2] || "").split(".").sort(), p && (d = S.event.special[p] || {}, p = (o ? d.delegateType : d.bindType) || p, d = S.event.special[p] || {}, c = S.extend({
type: p,
origType: m,
data: i,
handler: n,
guid: n.guid,
selector: o,
needsContext: o && S.expr.match.needsContext.test(o),
namespace: f.join(".")
}, r), (h = l[p]) || ((h = l[p] = []).delegateCount = 0, d.setup && !1 !== d.setup.call(e, i, f, s) || e.addEventListener && e.addEventListener(p, s)), d.add && (d.add.call(e, c), c.handler.guid || (c.handler.guid = n.guid)), o ? h.splice(h.delegateCount++, 0, c) : h.push(c), S.event.global[p] = !0)
}, remove: function (e, t, n, i, o) {
var r, s, a, l, u, c, d, h, p, f, m, g = ae.hasData(e) && ae.get(e);
if (g && (l = g.events)) {
for (u = (t = (t || "").match(K) || [""]).length; u--;) if (p = m = (a = Me.exec(t[u]) || [])[1], f = (a[2] || "").split(".").sort(), p) {
for (d = S.event.special[p] || {}, h = l[p = (i ? d.delegateType : d.bindType) || p] || [], a = a[2] && new RegExp("(^|\\.)" + f.join("\\.(?:.*\\.|)") + "(\\.|$)"), s = r = h.length; r--;) c = h[r], !o && m !== c.origType || n && n.guid !== c.guid || a && !a.test(c.namespace) || i && i !== c.selector && ("**" !== i || !c.selector) || (h.splice(r, 1), c.selector && h.delegateCount--, d.remove && d.remove.call(e, c));
s && !h.length && (d.teardown && !1 !== d.teardown.call(e, f, g.handle) || S.removeEvent(e, p, g.handle), delete l[p])
} else for (p in l) S.event.remove(e, p + t[u], n, i, !0);
S.isEmptyObject(l) && ae.remove(e, "handle events")
}
}, dispatch: function (e) {
var t, n, i, o, r, s, a = new Array(arguments.length), l = S.event.fix(e),
u = (ae.get(this, "events") || Object.create(null))[l.type] || [],
c = S.event.special[l.type] || {};
for (a[0] = l, t = 1; t < arguments.length; t++) a[t] = arguments[t];
if (l.delegateTarget = this, !c.preDispatch || !1 !== c.preDispatch.call(this, l)) {
for (s = S.event.handlers.call(this, l, u), t = 0; (o = s[t++]) && !l.isPropagationStopped();) for (l.currentTarget = o.elem, n = 0; (r = o.handlers[n++]) && !l.isImmediatePropagationStopped();) l.rnamespace && !1 !== r.namespace && !l.rnamespace.test(r.namespace) || (l.handleObj = r, l.data = r.data, void 0 !== (i = ((S.event.special[r.origType] || {}).handle || r.handler).apply(o.elem, a)) && !1 === (l.result = i) && (l.preventDefault(), l.stopPropagation()));
return c.postDispatch && c.postDispatch.call(this, l), l.result
}
}, handlers: function (e, t) {
var n, i, o, r, s, a = [], l = t.delegateCount, u = e.target;
if (l && u.nodeType && !("click" === e.type && e.button >= 1)) for (; u !== this; u = u.parentNode || this) if (1 === u.nodeType && ("click" !== e.type || !0 !== u.disabled)) {
for (r = [], s = {}, n = 0; n < l; n++) void 0 === s[o = (i = t[n]).selector + " "] && (s[o] = i.needsContext ? S(o, this).index(u) > -1 : S.find(o, this, null, [u]).length), s[o] && r.push(i);
r.length && a.push({ elem: u, handlers: r })
}
return u = this, l < t.length && a.push({ elem: u, handlers: t.slice(l) }), a
}, addProp: function (e, t) {
Object.defineProperty(S.Event.prototype, e, {
enumerable: !0,
configurable: !0,
get: y(t) ? function () {
if (this.originalEvent) return t(this.originalEvent)
} : function () {
if (this.originalEvent) return this.originalEvent[e]
},
set: function (t) {
Object.defineProperty(this, e, {
enumerable: !0,
configurable: !0,
writable: !0,
value: t
})
}
})
}, fix: function (e) {
return e[S.expando] ? e : new S.Event(e)
}, special: {
load: { noBubble: !0 }, click: {
setup: function (e) {
var t = this || e;
return Se.test(t.type) && t.click && I(t, "input") && qe(t, "click", !0), !1
}, trigger: function (e) {
var t = this || e;
return Se.test(t.type) && t.click && I(t, "input") && qe(t, "click"), !0
}, _default: function (e) {
var t = e.target;
return Se.test(t.type) && t.click && I(t, "input") && ae.get(t, "click") || I(t, "a")
}
}, beforeunload: {
postDispatch: function (e) {
void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result)
}
}
}
}, S.removeEvent = function (e, t, n) {
e.removeEventListener && e.removeEventListener(t, n)
}, S.Event = function (e, t) {
if (!(this instanceof S.Event)) return new S.Event(e, t);
e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? je : Pe, this.target = e.target && 3 === e.target.nodeType ? e.target.parentNode : e.target, this.currentTarget = e.currentTarget, this.relatedTarget = e.relatedTarget) : this.type = e, t && S.extend(this, t), this.timeStamp = e && e.timeStamp || Date.now(), this[S.expando] = !0
}, S.Event.prototype = {
constructor: S.Event,
isDefaultPrevented: Pe,
isPropagationStopped: Pe,
isImmediatePropagationStopped: Pe,
isSimulated: !1,
preventDefault: function () {
var e = this.originalEvent;
this.isDefaultPrevented = je, e && !this.isSimulated && e.preventDefault()
},
stopPropagation: function () {
var e = this.originalEvent;
this.isPropagationStopped = je, e && !this.isSimulated && e.stopPropagation()
},
stopImmediatePropagation: function () {
var e = this.originalEvent;
this.isImmediatePropagationStopped = je, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation()
}
}, S.each({
altKey: !0,
bubbles: !0,
cancelable: !0,
changedTouches: !0,
ctrlKey: !0,
detail: !0,
eventPhase: !0,
metaKey: !0,
pageX: !0,
pageY: !0,
shiftKey: !0,
view: !0,
char: !0,
code: !0,
charCode: !0,
key: !0,
keyCode: !0,
button: !0,
buttons: !0,
clientX: !0,
clientY: !0,
offsetX: !0,
offsetY: !0,
pointerId: !0,
pointerType: !0,
screenX: !0,
screenY: !0,
targetTouches: !0,
toElement: !0,
touches: !0,
which: !0
}, S.event.addProp), S.each({ focus: "focusin", blur: "focusout" }, (function (e, t) {
function n(e) {
if (b.documentMode) {
var n = ae.get(this, "handle"), i = S.event.fix(e);
i.type = "focusin" === e.type ? "focus" : "blur", i.isSimulated = !0, n(e), i.target === i.currentTarget && n(i)
} else S.event.simulate(t, e.target, S.event.fix(e))
}
S.event.special[e] = {
setup: function () {
var i;
if (qe(this, e, !0), !b.documentMode) return !1;
(i = ae.get(this, t)) || this.addEventListener(t, n), ae.set(this, t, (i || 0) + 1)
}, trigger: function () {
return qe(this, e), !0
}, teardown: function () {
var e;
if (!b.documentMode) return !1;
(e = ae.get(this, t) - 1) ? ae.set(this, t, e) : (this.removeEventListener(t, n), ae.remove(this, t))
}, _default: function (t) {
return ae.get(t.target, e)
}, delegateType: t
}, S.event.special[t] = {
setup: function () {
var i = this.ownerDocument || this.document || this, o = b.documentMode ? this : i,
r = ae.get(o, t);
r || (b.documentMode ? this.addEventListener(t, n) : i.addEventListener(e, n, !0)), ae.set(o, t, (r || 0) + 1)
}, teardown: function () {
var i = this.ownerDocument || this.document || this, o = b.documentMode ? this : i,
r = ae.get(o, t) - 1;
r ? ae.set(o, t, r) : (b.documentMode ? this.removeEventListener(t, n) : i.removeEventListener(e, n, !0), ae.remove(o, t))
}
}
})), S.each({
mouseenter: "mouseover",
mouseleave: "mouseout",
pointerenter: "pointerover",
pointerleave: "pointerout"
}, (function (e, t) {
S.event.special[e] = {
delegateType: t, bindType: t, handle: function (e) {
var n, i = e.relatedTarget, o = e.handleObj;
return i && (i === this || S.contains(this, i)) || (e.type = o.origType, n = o.handler.apply(this, arguments), e.type = t), n
}
}
})), S.fn.extend({
on: function (e, t, n, i) {
return Oe(this, e, t, n, i)
}, one: function (e, t, n, i) {
return Oe(this, e, t, n, i, 1)
}, off: function (e, t, n) {
var i, o;
if (e && e.preventDefault && e.handleObj) return i = e.handleObj, S(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace : i.origType, i.selector, i.handler), this;
if ("object" == typeof e) {
for (o in e) this.off(o, t, e[o]);
return this
}
return !1 !== t && "function" != typeof t || (n = t, t = void 0), !1 === n && (n = Pe), this.each((function () {
S.event.remove(this, e, n, t)
}))
}
});
var He = /