{"version":3,"file":"static/js/966.ba2e66df.chunk.js","mappings":"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","sources":["../node_modules/@coveo/atomic/node_modules/dayjs/dayjs.min.js","../node_modules/@coveo/atomic/node_modules/i18next/dist/esm/i18next.js","../node_modules/@coveo/atomic/node_modules/i18next-http-backend/esm/utils.js","../node_modules/@coveo/atomic/node_modules/cross-fetch/dist/browser-ponyfill.js","../node_modules/@coveo/atomic/node_modules/i18next-http-backend/esm/getFetch.cjs","../node_modules/@coveo/atomic/node_modules/i18next-http-backend/esm/request.js","../node_modules/@coveo/atomic/node_modules/i18next-http-backend/esm/index.js","../node_modules/@coveo/atomic/dist/esm/src/global/environment.ts","../node_modules/@coveo/atomic/dist/esm/src/generated/dayjs-locales-data.ts","../node_modules/@coveo/atomic/dist/esm/src/utils/dayjs-locales.ts","../node_modules/@coveo/atomic/dist/esm/src/components/common/interface/i18n.ts","../node_modules/@coveo/atomic/dist/esm/src/components/common/interface/interface-common.tsx","../node_modules/@coveo/atomic/dist/esm/src/global/focus-visible.ts","../node_modules/@coveo/atomic/node_modules/@stencil/store/dist/index.mjs","../node_modules/@coveo/atomic/dist/esm/src/components/common/interface/store.ts"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t) 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.init(concreteLogger, options);\n }\n init(concreteLogger) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = `${prefix}${this.prefix} ${args[0]}`;\n return this.logger[lvl](args);\n }\n create(moduleName) {\n return new Logger(this.logger, {\n ...{\n prefix: `${this.prefix}:${moduleName}:`\n },\n ...this.options\n });\n }\n clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n}\nvar baseLogger = new Logger();\n\nclass EventEmitter {\n constructor() {\n this.observers = {};\n }\n on(events, listener) {\n events.split(' ').forEach(event => {\n if (!this.observers[event]) this.observers[event] = new Map();\n const numListeners = this.observers[event].get(listener) || 0;\n this.observers[event].set(listener, numListeners + 1);\n });\n return this;\n }\n off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event].delete(listener);\n }\n emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n const cloned = Array.from(this.observers[event].entries());\n cloned.forEach(_ref => {\n let [observer, numTimesAdded] = _ref;\n for (let i = 0; i < numTimesAdded; i++) {\n observer(...args);\n }\n });\n }\n if (this.observers['*']) {\n const cloned = Array.from(this.observers['*'].entries());\n cloned.forEach(_ref2 => {\n let [observer, numTimesAdded] = _ref2;\n for (let i = 0; i < numTimesAdded; i++) {\n observer.apply(observer, [event, ...args]);\n }\n });\n }\n }\n}\n\nfunction defer() {\n let res;\n let rej;\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(m => {\n if (s[m]) t[m] = s[m];\n });\n}\nconst lastOfPathSeparatorRegExp = /###/g;\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(lastOfPathSeparatorRegExp, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n const stack = typeof path !== 'string' ? path : path.split('.');\n let stackIndex = 0;\n while (stackIndex < stack.length - 1) {\n if (canNotTraverseDeeper()) return {};\n const key = cleanKey(stack[stackIndex]);\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n ++stackIndex;\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack[stackIndex])\n };\n}\nfunction setPath(object, path, newValue) {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n if (obj !== undefined || path.length === 1) {\n obj[k] = newValue;\n return;\n }\n let e = path[path.length - 1];\n let p = path.slice(0, path.length - 1);\n let last = getLastOfPath(object, p, Object);\n while (last.obj === undefined && p.length) {\n e = `${p[p.length - 1]}.${e}`;\n p = p.slice(0, p.length - 1);\n last = getLastOfPath(object, p, Object);\n if (last && last.obj && typeof last.obj[`${last.k}.${e}`] !== 'undefined') {\n last.obj = undefined;\n }\n }\n last.obj[`${last.k}.${e}`] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n const {\n obj,\n k\n } = getLastOfPath(object, path);\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n const value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (const prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, s => _entityMap[s]);\n }\n return data;\n}\nclass RegExpCache {\n constructor(capacity) {\n this.capacity = capacity;\n this.regExpMap = new Map();\n this.regExpQueue = [];\n }\n getRegExp(pattern) {\n const regExpFromCache = this.regExpMap.get(pattern);\n if (regExpFromCache !== undefined) {\n return regExpFromCache;\n }\n const regExpNew = new RegExp(pattern);\n if (this.regExpQueue.length === this.capacity) {\n this.regExpMap.delete(this.regExpQueue.shift());\n }\n this.regExpMap.set(pattern, regExpNew);\n this.regExpQueue.push(pattern);\n return regExpNew;\n }\n}\nconst chars = [' ', ',', '?', '!', ';'];\nconst looksLikeObjectPathRegExpCache = new RegExpCache(20);\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0);\n if (possibleChars.length === 0) return true;\n const r = looksLikeObjectPathRegExpCache.getRegExp(`(${possibleChars.map(c => c === '?' ? '\\\\?' : c).join('|')})`);\n let matched = !r.test(key);\n if (!matched) {\n const ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\nfunction deepFind(obj, path) {\n let keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n const tokens = path.split(keySeparator);\n let current = obj;\n for (let i = 0; i < tokens.length;) {\n if (!current || typeof current !== 'object') {\n return undefined;\n }\n let next;\n let nextPath = '';\n for (let j = i; j < tokens.length; ++j) {\n if (j !== i) {\n nextPath += keySeparator;\n }\n nextPath += tokens[j];\n next = current[nextPath];\n if (next !== undefined) {\n if (['string', 'number', 'boolean'].indexOf(typeof next) > -1 && j < tokens.length - 1) {\n continue;\n }\n i += j - i + 1;\n break;\n }\n }\n current = next;\n }\n return current;\n}\nfunction getCleanedCode(code) {\n if (code && code.indexOf('_') > 0) return code.replace('_', '-');\n return code;\n}\n\nclass ResourceStore extends EventEmitter {\n constructor(data) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n super();\n this.data = data || {};\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n if (this.options.ignoreJSONStructure === undefined) {\n this.options.ignoreJSONStructure = true;\n }\n }\n addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n removeNamespaces(ns) {\n const index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n getResource(lng, ns, key) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n let path;\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n } else {\n path = [lng, ns];\n if (key) {\n if (Array.isArray(key)) {\n path.push(...key);\n } else if (typeof key === 'string' && keySeparator) {\n path.push(...key.split(keySeparator));\n } else {\n path.push(key);\n }\n }\n }\n const result = getPath(this.data, path);\n if (!result && !ns && !key && lng.indexOf('.') > -1) {\n lng = path[0];\n ns = path[1];\n key = path.slice(2).join('.');\n }\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n addResource(lng, ns, key, value) {\n let options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n addResources(lng, ns, resources) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (const m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n addResourceBundle(lng, ns, resources, deep, overwrite) {\n let options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false,\n skipCopy: false\n };\n let path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n let pack = getPath(this.data, path) || {};\n if (!options.skipCopy) resources = JSON.parse(JSON.stringify(resources));\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = {\n ...pack,\n ...resources\n };\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return {\n ...{},\n ...this.getResource(lng, ns)\n };\n return this.getResource(lng, ns);\n }\n getDataByLanguage(lng) {\n return this.data[lng];\n }\n hasLanguageSomeTranslations(lng) {\n const data = this.getDataByLanguage(lng);\n const n = data && Object.keys(data) || [];\n return !!n.find(v => data[v] && Object.keys(data[v]).length > 0);\n }\n toJSON() {\n return this.data;\n }\n}\n\nvar postProcessor = {\n processors: {},\n addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle(processors, value, key, options, translator) {\n processors.forEach(processor => {\n if (this.processors[processor]) value = this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nconst checkedLoadedFor = {};\nclass Translator extends EventEmitter {\n constructor(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n super();\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this);\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n this.logger = baseLogger.create('translator');\n }\n changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n exists(key) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n const resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n extractFromKey(key, options) {\n let nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let namespaces = options.ns || this.options.defaultNS || [];\n const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n const m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key,\n namespaces\n };\n }\n const parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key,\n namespaces\n };\n }\n translate(keys, options, lastKey) {\n if (typeof options !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (typeof options === 'object') options = {\n ...options\n };\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n const returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const {\n key,\n namespaces\n } = this.extractFromKey(keys[keys.length - 1], options);\n const namespace = namespaces[namespaces.length - 1];\n const lng = options.lng || this.language;\n const appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n const nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: `${namespace}${nsSeparator}${key}`,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(options)\n };\n }\n return `${namespace}${nsSeparator}${key}`;\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(options)\n };\n }\n return key;\n }\n const resolved = this.resolve(keys, options);\n let res = resolved && resolved.res;\n const resUsedKey = resolved && resolved.usedKey || key;\n const resExactUsedKey = resolved && resolved.exactUsedKey || key;\n const resType = Object.prototype.toString.apply(res);\n const noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n const joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n const handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, {\n ...options,\n ns: namespaces\n }) : `key '${key} (${this.language})' returned an object instead of string.`;\n if (returnDetails) {\n resolved.res = r;\n resolved.usedParams = this.getUsedParamsDetails(options);\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n const resTypeIsArray = resType === '[object Array]';\n const copy = resTypeIsArray ? [] : {};\n const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (const m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n const deepKey = `${newKeyToUse}${keySeparator}${m}`;\n copy[m] = this.translate(deepKey, {\n ...options,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n let usedDefault = false;\n let usedKey = false;\n const needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n const hasDefaultValue = Translator.hasDefaultValue(options);\n const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n const defaultValueSuffixOrdinalFallback = options.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, {\n ordinal: false\n }) : '';\n const needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && this.pluralResolver.shouldUseIntlApi();\n const defaultValue = needsZeroSuffixLookup && options[`defaultValue${this.options.pluralSeparator}zero`] || options[`defaultValue${defaultValueSuffix}`] || options[`defaultValue${defaultValueSuffixOrdinalFallback}`] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n const missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n const fk = this.resolve(key, {\n ...options,\n keySeparator: false\n });\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n let lngs = [];\n const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (let i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n const send = (l, k, specificDefaultValue) => {\n const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (this.options.missingKeyHandler) {\n this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (this.backendConnector && this.backendConnector.saveMissing) {\n this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n this.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(language => {\n const suffixes = this.pluralResolver.getSuffixes(language, options);\n if (needsZeroSuffixLookup && options[`defaultValue${this.options.pluralSeparator}zero`] && suffixes.indexOf(`${this.options.pluralSeparator}zero`) < 0) {\n suffixes.push(`${this.options.pluralSeparator}zero`);\n }\n suffixes.forEach(suffix => {\n send([language], key + suffix, options[`defaultValue${suffix}`] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = `${namespace}:${key}`;\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}:${key}` : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n resolved.usedParams = this.getUsedParamsDetails(options);\n return resolved;\n }\n return res;\n }\n extendTranslation(res, key, options, resolved, lastKey) {\n var _this = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, {\n ...this.options.interpolation.defaultVariables,\n ...options\n }, options.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init({\n ...options,\n ...{\n interpolation: {\n ...this.options.interpolation,\n ...options.interpolation\n }\n }\n });\n const skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n let nestBef;\n if (skipOnVariables) {\n const nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n let data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n const na = res.match(this.interpolator.nestingRegexp);\n const nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = resolved.usedLng;\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`);\n return null;\n }\n return _this.translate(...args, key);\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n const postProcess = options.postProcess || this.options.postProcess;\n const postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? {\n i18nResolved: {\n ...resolved,\n usedParams: this.getUsedParamsDetails(options)\n },\n ...options\n } : options, this);\n }\n return res;\n }\n resolve(keys) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let found;\n let usedKey;\n let exactUsedKey;\n let usedLng;\n let usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(k => {\n if (this.isValidLookup(found)) return;\n const extracted = this.extractFromKey(k, options);\n const key = extracted.key;\n usedKey = key;\n let namespaces = extracted.namespaces;\n if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS);\n const needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n const needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && this.pluralResolver.shouldUseIntlApi();\n const needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n const codes = options.lngs ? options.lngs : this.languageUtils.toResolveHierarchy(options.lng || this.language, options.fallbackLng);\n namespaces.forEach(ns => {\n if (this.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils && this.utils.hasLoadedNamespace && !this.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[`${codes[0]}-${ns}`] = true;\n this.logger.warn(`key \"${usedKey}\" for languages \"${codes.join(', ')}\" won't get resolved as namespace \"${usedNS}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(code => {\n if (this.isValidLookup(found)) return;\n usedLng = code;\n const finalKeys = [key];\n if (this.i18nFormat && this.i18nFormat.addLookupKeys) {\n this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n let pluralSuffix;\n if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, options.count, options);\n const zeroSuffix = `${this.options.pluralSeparator}zero`;\n const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (options.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n const contextKey = `${key}${this.options.contextSeparator}${options.context}`;\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (options.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n let possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!this.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = this.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey,\n exactUsedKey,\n usedLng,\n usedNS\n };\n }\n isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n getResource(code, ns, key) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n getUsedParamsDetails() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const optionsKeys = ['defaultValue', 'ordinal', 'context', 'replace', 'lng', 'lngs', 'fallbackLng', 'ns', 'keySeparator', 'nsSeparator', 'returnObjects', 'returnDetails', 'joinArrays', 'postProcess', 'interpolation'];\n const useOptionsReplaceForData = options.replace && typeof options.replace !== 'string';\n let data = useOptionsReplaceForData ? options.replace : options;\n if (useOptionsReplaceForData && typeof options.count !== 'undefined') {\n data.count = options.count;\n }\n if (this.options.interpolation.defaultVariables) {\n data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n }\n if (!useOptionsReplaceForData) {\n data = {\n ...data\n };\n for (const key of optionsKeys) {\n delete data[key];\n }\n }\n return data;\n }\n static hasDefaultValue(options) {\n const prefix = 'defaultValue';\n for (const option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n}\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nclass LanguageUtil {\n constructor(options) {\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n getScriptPartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return null;\n const p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n getLanguagePartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return code;\n const p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n const specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n let p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(part => part.toLowerCase());\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n getBestMatchFromCodes(codes) {\n if (!codes) return null;\n let found;\n codes.forEach(code => {\n if (found) return;\n const cleanedLng = this.formatLanguageCode(code);\n if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(code => {\n if (found) return;\n const lngOnly = this.getLanguagePartFromCode(code);\n if (this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = this.options.supportedLngs.find(supportedLng => {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf('-') > 0 && lngOnly.indexOf('-') < 0 && supportedLng.substring(0, supportedLng.indexOf('-')) === lngOnly) return supportedLng;\n if (supportedLng.indexOf(lngOnly) === 0 && lngOnly.length > 1) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks.default || [];\n let found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks.default;\n return found || [];\n }\n toResolveHierarchy(code, fallbackCode) {\n const fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n const codes = [];\n const addCode = c => {\n if (!c) return;\n if (this.isSupportedCode(c)) {\n codes.push(c);\n } else {\n this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`);\n }\n };\n if (typeof code === 'string' && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(fc => {\n if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc));\n });\n return codes;\n }\n}\n\nlet sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nlet _rulesPluralsTypes = {\n 1: function (n) {\n return Number(n > 1);\n },\n 2: function (n) {\n return Number(n != 1);\n },\n 3: function (n) {\n return 0;\n },\n 4: function (n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function (n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function (n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function (n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function (n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function (n) {\n return Number(n >= 2);\n },\n 10: function (n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function (n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function (n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function (n) {\n return Number(n !== 0);\n },\n 14: function (n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function (n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function (n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function (n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function (n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function (n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function (n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function (n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function (n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nconst nonIntlVersions = ['v1', 'v2', 'v3'];\nconst intlVersions = ['v4'];\nconst suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n const rules = {};\n sets.forEach(set => {\n set.lngs.forEach(l => {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nclass PluralResolver {\n constructor(languageUtils) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || intlVersions.includes(this.options.compatibilityJSON)) && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n getRule(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(getCleanedCode(code === 'dev' ? 'en' : code), {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (err) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n needsPlural(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n getPluralFormsOfKey(code, key) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`);\n }\n getSuffixes(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`);\n }\n return rule.numbers.map(number => this.getSuffix(code, number, options));\n }\n getSuffix(code, count) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`;\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(`no plural rule found for: ${code}`);\n return '';\n }\n getSuffixRetroCompatible(rule, count) {\n const idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n let suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n const returnSuffix = () => this.options.prepend && suffix.toString() ? this.options.prepend + suffix.toString() : suffix.toString();\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return `_plural_${suffix.toString()}`;\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n shouldUseIntlApi() {\n return !nonIntlVersions.includes(this.options.compatibilityJSON);\n }\n}\n\nfunction deepFindWithDefaults(data, defaultData, key) {\n let keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n let ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n let path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && typeof key === 'string') {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n}\nclass Interpolator {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || (value => value);\n this.init(options);\n }\n init() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n const {\n escape: escape$1,\n escapeValue,\n useRawValueToEscape,\n prefix,\n prefixEscaped,\n suffix,\n suffixEscaped,\n formatSeparator,\n unescapeSuffix,\n unescapePrefix,\n nestingPrefix,\n nestingPrefixEscaped,\n nestingSuffix,\n nestingSuffixEscaped,\n nestingOptionsSeparator,\n maxReplaces,\n alwaysFormat\n } = options.interpolation;\n this.escape = escape$1 !== undefined ? escape$1 : escape;\n this.escapeValue = escapeValue !== undefined ? escapeValue : true;\n this.useRawValueToEscape = useRawValueToEscape !== undefined ? useRawValueToEscape : false;\n this.prefix = prefix ? regexEscape(prefix) : prefixEscaped || '{{';\n this.suffix = suffix ? regexEscape(suffix) : suffixEscaped || '}}';\n this.formatSeparator = formatSeparator || ',';\n this.unescapePrefix = unescapeSuffix ? '' : unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : unescapeSuffix || '';\n this.nestingPrefix = nestingPrefix ? regexEscape(nestingPrefix) : nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = nestingSuffix ? regexEscape(nestingSuffix) : nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = nestingOptionsSeparator || ',';\n this.maxReplaces = maxReplaces || 1000;\n this.alwaysFormat = alwaysFormat !== undefined ? alwaysFormat : false;\n this.resetRegExp();\n }\n reset() {\n if (this.options) this.init(this.options);\n }\n resetRegExp() {\n const getOrResetRegExp = (existingRegExp, pattern) => {\n if (existingRegExp && existingRegExp.source === pattern) {\n existingRegExp.lastIndex = 0;\n return existingRegExp;\n }\n return new RegExp(pattern, 'g');\n };\n this.regexp = getOrResetRegExp(this.regexp, `${this.prefix}(.+?)${this.suffix}`);\n this.regexpUnescape = getOrResetRegExp(this.regexpUnescape, `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`);\n this.nestingRegexp = getOrResetRegExp(this.nestingRegexp, `${this.nestingPrefix}(.+?)${this.nestingSuffix}`);\n }\n interpolate(str, data, lng, options) {\n let match;\n let value;\n let replaces;\n const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n const handleFormat = key => {\n if (key.indexOf(this.formatSeparator) < 0) {\n const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure);\n return this.alwaysFormat ? this.format(path, undefined, lng, {\n ...options,\n ...data,\n interpolationkey: key\n }) : path;\n }\n const p = key.split(this.formatSeparator);\n const k = p.shift().trim();\n const f = p.join(this.formatSeparator).trim();\n return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, {\n ...options,\n ...data,\n interpolationkey: k\n });\n };\n this.resetRegExp();\n const missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n const skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n const todos = [{\n regex: this.regexpUnescape,\n safeValue: val => regexSafe(val)\n }, {\n regex: this.regexp,\n safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val)\n }];\n todos.forEach(todo => {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n const matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n const temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`);\n value = '';\n }\n } else if (typeof value !== 'string' && !this.useRawValueToEscape) {\n value = makeString(value);\n }\n const safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n nest(str, fc) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let match;\n let value;\n let clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n const sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n const c = key.split(new RegExp(`${sep}[ ]*{`));\n let optionsString = `{${c[1]}`;\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n const matchedSingleQuotes = optionsString.match(/'/g);\n const matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = {\n ...inheritedOptions,\n ...clonedOptions\n };\n } catch (e) {\n this.logger.warn(`failed parsing options string in nesting for key ${key}`, e);\n return `${key}${sep}${optionsString}`;\n }\n if (clonedOptions.defaultValue && clonedOptions.defaultValue.indexOf(this.prefix) > -1) delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n let formatters = [];\n clonedOptions = {\n ...options\n };\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n let doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n const r = match[1].split(this.formatSeparator).map(elem => elem.trim());\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`);\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce((v, f) => this.format(v, f, options.lng, {\n ...options,\n interpolationkey: match[1].trim()\n }), value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n}\n\nfunction parseFormatStr(formatStr) {\n let formatName = formatStr.toLowerCase().trim();\n const formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n const p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n const optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n const opts = optStr.split(';');\n opts.forEach(opt => {\n if (!opt) return;\n const [key, ...rest] = opt.split(':');\n const val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName,\n formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n const cache = {};\n return function invokeFormatter(val, lng, options) {\n const key = lng + JSON.stringify(options);\n let formatter = cache[key];\n if (!formatter) {\n formatter = fn(getCleanedCode(lng), options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nclass Formatter {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n currency: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt,\n style: 'currency'\n });\n return val => formatter.format(val);\n }),\n datetime: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.DateTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n relativetime: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.RelativeTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val, opt.range || 'day');\n }),\n list: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.ListFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n })\n };\n this.init(options);\n }\n init(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n const iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n format(value, format, lng) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const formats = format.split(this.formatSeparator);\n const result = formats.reduce((mem, f) => {\n const {\n formatName,\n formatOptions\n } = parseFormatStr(f);\n if (this.formats[formatName]) {\n let formatted = mem;\n try {\n const valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = this.formats[formatName](mem, l, {\n ...formatOptions,\n ...options,\n ...valOptions\n });\n } catch (error) {\n this.logger.warn(error);\n }\n return formatted;\n } else {\n this.logger.warn(`there was no format function for ${formatName}`);\n }\n return mem;\n }, value);\n return result;\n }\n}\n\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nclass Connector extends EventEmitter {\n constructor(backend, store, services) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n super();\n this.backend = backend;\n this.store = store;\n this.services = services;\n this.languageUtils = services.languageUtils;\n this.options = options;\n this.logger = baseLogger.create('backendConnector');\n this.waitingReads = [];\n this.maxParallelReads = options.maxParallelReads || 10;\n this.readingCalls = 0;\n this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n this.state = {};\n this.queue = [];\n if (this.backend && this.backend.init) {\n this.backend.init(services, options.backend, options);\n }\n }\n queueLoad(languages, namespaces, options, callback) {\n const toLoad = {};\n const pending = {};\n const toLoadLanguages = {};\n const toLoadNamespaces = {};\n languages.forEach(lng => {\n let hasAllNamespaces = true;\n namespaces.forEach(ns => {\n const name = `${lng}|${ns}`;\n if (!options.reload && this.store.hasResourceBundle(lng, ns)) {\n this.state[name] = 2;\n } else if (this.state[name] < 0) ; else if (this.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n this.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n loaded(name, err, data) {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data, undefined, undefined, {\n skipCopy: true\n });\n }\n this.state[name] = err ? -1 : 2;\n const loaded = {};\n this.queue.forEach(q => {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(l => {\n if (!loaded[l]) loaded[l] = {};\n const loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(n => {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(q => !q.done);\n }\n read(lng, ns, fcName) {\n let tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n let wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n let callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng,\n ns,\n fcName,\n tried,\n wait,\n callback\n });\n return;\n }\n this.readingCalls++;\n const resolver = (err, data) => {\n this.readingCalls--;\n if (this.waitingReads.length > 0) {\n const next = this.waitingReads.shift();\n this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < this.maxRetries) {\n setTimeout(() => {\n this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n const fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n const r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(data => resolver(null, data)).catch(resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n prepareLoading(languages, namespaces) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n const toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(name => {\n this.loadOne(name);\n });\n }\n load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n loadOne(name) {\n let prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, (err, data) => {\n if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err);\n if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data);\n this.loaded(name, err, data);\n });\n }\n saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n let options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n let clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : () => {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(`did not save key \"${key}\" as the namespace \"${namespace}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n const opts = {\n ...options,\n isUpdate\n };\n const fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n let r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(data => clb(null, data)).catch(clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n}\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: false,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n let ret = {};\n if (typeof args[1] === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (typeof args[2] === 'object' || typeof args[3] === 'object') {\n const options = args[3] || args[2];\n Object.keys(options).forEach(key => {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: value => value,\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(mem => {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nclass I18n extends EventEmitter {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n super();\n this.options = transformOptions(options);\n this.services = {};\n this.logger = baseLogger;\n this.modules = {\n external: []\n };\n bindMemberFunctions(this);\n if (callback && !this.isInitialized && !options.isClone) {\n if (!this.options.initImmediate) {\n this.init(options, callback);\n return this;\n }\n setTimeout(() => {\n this.init(options, callback);\n }, 0);\n }\n }\n init() {\n var _this = this;\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n this.isInitializing = true;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n const defOpts = get();\n this.options = {\n ...defOpts,\n ...this.options,\n ...transformOptions(options)\n };\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = {\n ...defOpts.interpolation,\n ...this.options.interpolation\n };\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n let formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n const lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n const s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this.emit(event, ...args);\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this.emit(event, ...args);\n });\n this.modules.external.forEach(m => {\n if (m.init) m.init(this);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(fcName => {\n this[fcName] = function () {\n return _this.store[fcName](...arguments);\n };\n });\n const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(fcName => {\n this[fcName] = function () {\n _this.store[fcName](...arguments);\n return _this;\n };\n });\n const deferred = defer();\n const load = () => {\n const finish = (err, t) => {\n this.isInitializing = false;\n if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!');\n this.isInitialized = true;\n if (!this.options.isClone) this.logger.log('initialized', this.options);\n this.emit('initialized', this.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (this.languages && this.options.compatibilityAPI !== 'v1' && !this.isInitialized) return finish(null, this.t.bind(this));\n this.changeLanguage(this.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n loadResources(language) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n let usedCallback = callback;\n const usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback();\n const toLoad = [];\n const append = lng => {\n if (!lng) return;\n if (lng === 'cimode') return;\n const lngs = this.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(l => {\n if (l === 'cimode') return;\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(l => append(l));\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(l => append(l));\n }\n this.services.backendConnector.load(toLoad, this.options.ns, e => {\n if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n reloadResources(lngs, ns, callback) {\n const deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, err => {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (let li = 0; li < this.languages.length; li++) {\n const lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n changeLanguage(lng, callback) {\n var _this2 = this;\n this.isLanguageChangingTo = lng;\n const deferred = defer();\n this.emit('languageChanging', lng);\n const setLngProps = l => {\n this.language = l;\n this.languages = this.services.languageUtils.toResolveHierarchy(l);\n this.resolvedLanguage = undefined;\n this.setResolvedLanguage(l);\n };\n const done = (err, l) => {\n if (l) {\n setLngProps(l);\n this.translator.changeLanguage(l);\n this.isLanguageChangingTo = undefined;\n this.emit('languageChanged', l);\n this.logger.log('languageChanged', l);\n } else {\n this.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this2.t(...arguments);\n });\n if (callback) callback(err, function () {\n return _this2.t(...arguments);\n });\n };\n const setLng = lngs => {\n if (!lng && !lngs && this.services.languageDetector) lngs = [];\n const l = typeof lngs === 'string' ? lngs : this.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!this.language) {\n setLngProps(l);\n }\n if (!this.translator.language) this.translator.changeLanguage(l);\n if (this.services.languageDetector && this.services.languageDetector.cacheUserLanguage) this.services.languageDetector.cacheUserLanguage(l);\n }\n this.loadResources(l, err => {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n getFixedT(lng, ns, keyPrefix) {\n var _this3 = this;\n const fixedT = function (key, opts) {\n let options;\n if (typeof opts !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this3.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = {\n ...opts\n };\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n const keySeparator = _this3.options.keySeparator || '.';\n let resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(k => `${options.keyPrefix}${keySeparator}${k}`);\n } else {\n resultKey = options.keyPrefix ? `${options.keyPrefix}${keySeparator}${key}` : key;\n }\n return _this3.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n t() {\n return this.translator && this.translator.translate(...arguments);\n }\n exists() {\n return this.translator && this.translator.exists(...arguments);\n }\n setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n hasLoadedNamespace(ns) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n const lng = options.lng || this.resolvedLanguage || this.languages[0];\n const fallbackLng = this.options ? this.options.fallbackLng : false;\n const lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n const loadNotPending = (l, n) => {\n const loadState = this.services.backendConnector.state[`${l}|${n}`];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n const preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n loadNamespaces(ns, callback) {\n const deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(n => {\n if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n);\n });\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n loadLanguages(lngs, callback) {\n const deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n const preloaded = this.options.preload || [];\n const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0 && this.services.languageUtils.isSupportedCode(lng));\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n const rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n const languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n static createInstance() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n }\n cloneInstance() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n const forkResourceStore = options.forkResourceStore;\n if (forkResourceStore) delete options.forkResourceStore;\n const mergedOptions = {\n ...this.options,\n ...options,\n ...{\n isClone: true\n }\n };\n const clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n const membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(m => {\n clone[m] = this[m];\n });\n clone.services = {\n ...this.services\n };\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n if (forkResourceStore) {\n clone.store = new ResourceStore(this.store.data, mergedOptions);\n clone.services.resourceStore = clone.store;\n }\n clone.translator = new Translator(clone.services, mergedOptions);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit(event, ...args);\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = mergedOptions;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n}\nconst instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nconst createInstance = instance.createInstance;\nconst dir = instance.dir;\nconst init = instance.init;\nconst loadResources = instance.loadResources;\nconst reloadResources = instance.reloadResources;\nconst use = instance.use;\nconst changeLanguage = instance.changeLanguage;\nconst getFixedT = instance.getFixedT;\nconst t = instance.t;\nconst exists = instance.exists;\nconst setDefaultNamespace = instance.setDefaultNamespace;\nconst hasLoadedNamespace = instance.hasLoadedNamespace;\nconst loadNamespaces = instance.loadNamespaces;\nconst loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\nexport function defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\nexport function hasXMLHttpRequest() {\n return typeof XMLHttpRequest === 'function' || (typeof XMLHttpRequest === \"undefined\" ? \"undefined\" : _typeof(XMLHttpRequest)) === 'object';\n}\nfunction isPromise(maybePromise) {\n return !!maybePromise && typeof maybePromise.then === 'function';\n}\nexport function makePromise(maybePromise) {\n if (isPromise(maybePromise)) {\n return maybePromise;\n }\n return Promise.resolve(maybePromise);\n}","// Save global object in a variable\nvar __global__ =\n(typeof globalThis !== 'undefined' && globalThis) ||\n(typeof self !== 'undefined' && self) ||\n(typeof global !== 'undefined' && global);\n// Create an object that extends from __global__ without the fetch function\nvar __globalThis__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = __global__.DOMException\n}\nF.prototype = __global__; // Needed for feature detection on whatwg-fetch's code\nreturn new F();\n})();\n// Wraps whatwg-fetch with a function scope to hijack the global object\n// \"globalThis\" that's going to be patched\n(function(globalThis) {\n\nvar irrelevant = (function (exports) {\n\n var global =\n (typeof globalThis !== 'undefined' && globalThis) ||\n (typeof self !== 'undefined' && self) ||\n (typeof global !== 'undefined' && global);\n\n var support = {\n searchParams: 'URLSearchParams' in global,\n iterable: 'Symbol' in global && 'iterator' in Symbol,\n blob:\n 'FileReader' in global &&\n 'Blob' in global &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in global,\n arrayBuffer: 'ArrayBuffer' in global\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n throw new TypeError('Invalid character in header field name: \"' + name + '\"')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n /*\n fetch-mock wraps the Response object in an ES6 Proxy to\n provide useful test harness features such as flush. However, on\n ES5 browsers without fetch or Proxy support pollyfills must be used;\n the proxy-pollyfill is unable to proxy an attribute unless it exists\n on the object before the Proxy is created. This change ensures\n Response.bodyUsed exists on the instance, while maintaining the\n semantic of setting Request.bodyUsed in the constructor before\n _initBody is called.\n */\n this.bodyUsed = this.bodyUsed;\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n var isConsumed = consumed(this);\n if (isConsumed) {\n return isConsumed\n }\n if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n return Promise.resolve(\n this._bodyArrayBuffer.buffer.slice(\n this._bodyArrayBuffer.byteOffset,\n this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n )\n )\n } else {\n return Promise.resolve(this._bodyArrayBuffer)\n }\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n if (!(this instanceof Request)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n\n if (this.method === 'GET' || this.method === 'HEAD') {\n if (options.cache === 'no-store' || options.cache === 'no-cache') {\n // Search for a '_' parameter in the query string\n var reParamSearch = /([?&])_=[^&]*/;\n if (reParamSearch.test(this.url)) {\n // If it already exists then set the value with the current time\n this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime());\n } else {\n // Otherwise add a new '_' parameter to the end with the current time\n var reQueryString = /\\?/;\n this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime();\n }\n }\n }\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill\n // https://github.com/github/fetch/issues/748\n // https://github.com/zloirock/core-js/issues/751\n preProcessedHeaders\n .split('\\r')\n .map(function(header) {\n return header.indexOf('\\n') === 0 ? header.substr(1, header.length) : header\n })\n .forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!(this instanceof Response)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = options.statusText === undefined ? '' : '' + options.statusText;\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = global.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n setTimeout(function() {\n resolve(new Response(body, options));\n }, 0);\n };\n\n xhr.onerror = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'));\n }, 0);\n };\n\n xhr.ontimeout = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'));\n }, 0);\n };\n\n xhr.onabort = function() {\n setTimeout(function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n }, 0);\n };\n\n function fixUrl(url) {\n try {\n return url === '' && global.location.href ? global.location.href : url\n } catch (e) {\n return url\n }\n }\n\n xhr.open(request.method, fixUrl(request.url), true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr) {\n if (support.blob) {\n xhr.responseType = 'blob';\n } else if (\n support.arrayBuffer &&\n request.headers.get('Content-Type') &&\n request.headers.get('Content-Type').indexOf('application/octet-stream') !== -1\n ) {\n xhr.responseType = 'arraybuffer';\n }\n }\n\n if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers)) {\n Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n xhr.setRequestHeader(name, normalizeValue(init.headers[name]));\n });\n } else {\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n }\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!global.fetch) {\n global.fetch = fetch;\n global.Headers = Headers;\n global.Request = Request;\n global.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n return exports;\n\n})({});\n})(__globalThis__);\n// This is a ponyfill, so...\n__globalThis__.fetch.ponyfill = true;\ndelete __globalThis__.fetch.polyfill;\n// Choose between native implementation (__global__) or custom implementation (__globalThis__)\nvar ctx = __global__.fetch ? __global__ : __globalThis__;\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","var fetchApi\nif (typeof fetch === 'function') {\n if (typeof global !== 'undefined' && global.fetch) {\n fetchApi = global.fetch\n } else if (typeof window !== 'undefined' && window.fetch) {\n fetchApi = window.fetch\n } else {\n fetchApi = fetch\n }\n}\n\nif (typeof require !== 'undefined' && typeof window === 'undefined') {\n var f = fetchApi || require('cross-fetch')\n if (f.default) f = f.default\n exports.default = f\n module.exports = exports.default\n}\n","function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport { hasXMLHttpRequest } from './utils.js';\nimport * as fetchNode from './getFetch.cjs';\nvar fetchApi;\nif (typeof fetch === 'function') {\n if (typeof global !== 'undefined' && global.fetch) {\n fetchApi = global.fetch;\n } else if (typeof window !== 'undefined' && window.fetch) {\n fetchApi = window.fetch;\n } else {\n fetchApi = fetch;\n }\n}\nvar XmlHttpRequestApi;\nif (hasXMLHttpRequest()) {\n if (typeof global !== 'undefined' && global.XMLHttpRequest) {\n XmlHttpRequestApi = global.XMLHttpRequest;\n } else if (typeof window !== 'undefined' && window.XMLHttpRequest) {\n XmlHttpRequestApi = window.XMLHttpRequest;\n }\n}\nvar ActiveXObjectApi;\nif (typeof ActiveXObject === 'function') {\n if (typeof global !== 'undefined' && global.ActiveXObject) {\n ActiveXObjectApi = global.ActiveXObject;\n } else if (typeof window !== 'undefined' && window.ActiveXObject) {\n ActiveXObjectApi = window.ActiveXObject;\n }\n}\nif (!fetchApi && fetchNode && !XmlHttpRequestApi && !ActiveXObjectApi) fetchApi = fetchNode.default || fetchNode;\nif (typeof fetchApi !== 'function') fetchApi = undefined;\nvar addQueryString = function addQueryString(url, params) {\n if (params && _typeof(params) === 'object') {\n var queryString = '';\n for (var paramName in params) {\n queryString += '&' + encodeURIComponent(paramName) + '=' + encodeURIComponent(params[paramName]);\n }\n if (!queryString) return url;\n url = url + (url.indexOf('?') !== -1 ? '&' : '?') + queryString.slice(1);\n }\n return url;\n};\nvar fetchIt = function fetchIt(url, fetchOptions, callback, altFetch) {\n var resolver = function resolver(response) {\n if (!response.ok) return callback(response.statusText || 'Error', {\n status: response.status\n });\n response.text().then(function (data) {\n callback(null, {\n status: response.status,\n data: data\n });\n }).catch(callback);\n };\n if (altFetch) {\n var altResponse = altFetch(url, fetchOptions);\n if (altResponse instanceof Promise) {\n altResponse.then(resolver).catch(callback);\n return;\n }\n }\n if (typeof fetch === 'function') {\n fetch(url, fetchOptions).then(resolver).catch(callback);\n } else {\n fetchApi(url, fetchOptions).then(resolver).catch(callback);\n }\n};\nvar omitFetchOptions = false;\nvar requestWithFetch = function requestWithFetch(options, url, payload, callback) {\n if (options.queryStringParams) {\n url = addQueryString(url, options.queryStringParams);\n }\n var headers = _objectSpread({}, typeof options.customHeaders === 'function' ? options.customHeaders() : options.customHeaders);\n if (typeof window === 'undefined' && typeof global !== 'undefined' && typeof global.process !== 'undefined' && global.process.versions && global.process.versions.node) {\n headers['User-Agent'] = \"i18next-http-backend (node/\".concat(global.process.version, \"; \").concat(global.process.platform, \" \").concat(global.process.arch, \")\");\n }\n if (payload) headers['Content-Type'] = 'application/json';\n var reqOptions = typeof options.requestOptions === 'function' ? options.requestOptions(payload) : options.requestOptions;\n var fetchOptions = _objectSpread({\n method: payload ? 'POST' : 'GET',\n body: payload ? options.stringify(payload) : undefined,\n headers: headers\n }, omitFetchOptions ? {} : reqOptions);\n var altFetch = typeof options.alternateFetch === 'function' && options.alternateFetch.length >= 1 ? options.alternateFetch : undefined;\n try {\n fetchIt(url, fetchOptions, callback, altFetch);\n } catch (e) {\n if (!reqOptions || Object.keys(reqOptions).length === 0 || !e.message || e.message.indexOf('not implemented') < 0) {\n return callback(e);\n }\n try {\n Object.keys(reqOptions).forEach(function (opt) {\n delete fetchOptions[opt];\n });\n fetchIt(url, fetchOptions, callback, altFetch);\n omitFetchOptions = true;\n } catch (err) {\n callback(err);\n }\n }\n};\nvar requestWithXmlHttpRequest = function requestWithXmlHttpRequest(options, url, payload, callback) {\n if (payload && _typeof(payload) === 'object') {\n payload = addQueryString('', payload).slice(1);\n }\n if (options.queryStringParams) {\n url = addQueryString(url, options.queryStringParams);\n }\n try {\n var x;\n if (XmlHttpRequestApi) {\n x = new XmlHttpRequestApi();\n } else {\n x = new ActiveXObjectApi('MSXML2.XMLHTTP.3.0');\n }\n x.open(payload ? 'POST' : 'GET', url, 1);\n if (!options.crossDomain) {\n x.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n x.withCredentials = !!options.withCredentials;\n if (payload) {\n x.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n }\n if (x.overrideMimeType) {\n x.overrideMimeType('application/json');\n }\n var h = options.customHeaders;\n h = typeof h === 'function' ? h() : h;\n if (h) {\n for (var i in h) {\n x.setRequestHeader(i, h[i]);\n }\n }\n x.onreadystatechange = function () {\n x.readyState > 3 && callback(x.status >= 400 ? x.statusText : null, {\n status: x.status,\n data: x.responseText\n });\n };\n x.send(payload);\n } catch (e) {\n console && console.log(e);\n }\n};\nvar request = function request(options, url, payload, callback) {\n if (typeof payload === 'function') {\n callback = payload;\n payload = undefined;\n }\n callback = callback || function () {};\n if (fetchApi && url.indexOf('file:') !== 0) {\n return requestWithFetch(options, url, payload, callback);\n }\n if (hasXMLHttpRequest() || typeof ActiveXObject === 'function') {\n return requestWithXmlHttpRequest(options, url, payload, callback);\n }\n callback(new Error('No fetch and no xhr implementation found!'));\n};\nexport default request;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport { makePromise } from './utils.js';\nimport request from './request.js';\nvar getDefaults = function getDefaults() {\n return {\n loadPath: '/locales/{{lng}}/{{ns}}.json',\n addPath: '/locales/add/{{lng}}/{{ns}}',\n parse: function parse(data) {\n return JSON.parse(data);\n },\n stringify: JSON.stringify,\n parsePayload: function parsePayload(namespace, key, fallbackValue) {\n return _defineProperty({}, key, fallbackValue || '');\n },\n parseLoadPayload: function parseLoadPayload(languages, namespaces) {\n return undefined;\n },\n request: request,\n reloadInterval: typeof window !== 'undefined' ? false : 60 * 60 * 1000,\n customHeaders: {},\n queryStringParams: {},\n crossDomain: false,\n withCredentials: false,\n overrideMimeType: false,\n requestOptions: {\n mode: 'cors',\n credentials: 'same-origin',\n cache: 'default'\n }\n };\n};\nvar Backend = function () {\n function Backend(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n _classCallCheck(this, Backend);\n this.services = services;\n this.options = options;\n this.allOptions = allOptions;\n this.type = 'backend';\n this.init(services, options, allOptions);\n }\n _createClass(Backend, [{\n key: \"init\",\n value: function init(services) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services;\n this.options = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), this.options || {}), options);\n this.allOptions = allOptions;\n if (this.services && this.options.reloadInterval) {\n setInterval(function () {\n return _this.reload();\n }, this.options.reloadInterval);\n }\n }\n }, {\n key: \"readMulti\",\n value: function readMulti(languages, namespaces, callback) {\n this._readAny(languages, languages, namespaces, namespaces, callback);\n }\n }, {\n key: \"read\",\n value: function read(language, namespace, callback) {\n this._readAny([language], language, [namespace], namespace, callback);\n }\n }, {\n key: \"_readAny\",\n value: function _readAny(languages, loadUrlLanguages, namespaces, loadUrlNamespaces, callback) {\n var _this2 = this;\n var loadPath = this.options.loadPath;\n if (typeof this.options.loadPath === 'function') {\n loadPath = this.options.loadPath(languages, namespaces);\n }\n loadPath = makePromise(loadPath);\n loadPath.then(function (resolvedLoadPath) {\n if (!resolvedLoadPath) return callback(null, {});\n var url = _this2.services.interpolator.interpolate(resolvedLoadPath, {\n lng: languages.join('+'),\n ns: namespaces.join('+')\n });\n _this2.loadUrl(url, callback, loadUrlLanguages, loadUrlNamespaces);\n });\n }\n }, {\n key: \"loadUrl\",\n value: function loadUrl(url, callback, languages, namespaces) {\n var _this3 = this;\n var lng = typeof languages === 'string' ? [languages] : languages;\n var ns = typeof namespaces === 'string' ? [namespaces] : namespaces;\n var payload = this.options.parseLoadPayload(lng, ns);\n this.options.request(this.options, url, payload, function (err, res) {\n if (res && (res.status >= 500 && res.status < 600 || !res.status)) return callback('failed loading ' + url + '; status code: ' + res.status, true);\n if (res && res.status >= 400 && res.status < 500) return callback('failed loading ' + url + '; status code: ' + res.status, false);\n if (!res && err && err.message && err.message.indexOf('Failed to fetch') > -1) return callback('failed loading ' + url + ': ' + err.message, true);\n if (err) return callback(err, false);\n var ret, parseErr;\n try {\n if (typeof res.data === 'string') {\n ret = _this3.options.parse(res.data, languages, namespaces);\n } else {\n ret = res.data;\n }\n } catch (e) {\n parseErr = 'failed parsing ' + url + ' to json';\n }\n if (parseErr) return callback(parseErr, false);\n callback(null, ret);\n });\n }\n }, {\n key: \"create\",\n value: function create(languages, namespace, key, fallbackValue, callback) {\n var _this4 = this;\n if (!this.options.addPath) return;\n if (typeof languages === 'string') languages = [languages];\n var payload = this.options.parsePayload(namespace, key, fallbackValue);\n var finished = 0;\n var dataArray = [];\n var resArray = [];\n languages.forEach(function (lng) {\n var addPath = _this4.options.addPath;\n if (typeof _this4.options.addPath === 'function') {\n addPath = _this4.options.addPath(lng, namespace);\n }\n var url = _this4.services.interpolator.interpolate(addPath, {\n lng: lng,\n ns: namespace\n });\n _this4.options.request(_this4.options, url, payload, function (data, res) {\n finished += 1;\n dataArray.push(data);\n resArray.push(res);\n if (finished === languages.length) {\n if (typeof callback === 'function') callback(dataArray, resArray);\n }\n });\n });\n }\n }, {\n key: \"reload\",\n value: function reload() {\n var _this5 = this;\n var _this$services = this.services,\n backendConnector = _this$services.backendConnector,\n languageUtils = _this$services.languageUtils,\n logger = _this$services.logger;\n var currentLanguage = backendConnector.language;\n if (currentLanguage && currentLanguage.toLowerCase() === 'cimode') return;\n var toLoad = [];\n var append = function append(lng) {\n var lngs = languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n append(currentLanguage);\n if (this.allOptions.preload) this.allOptions.preload.forEach(function (l) {\n return append(l);\n });\n toLoad.forEach(function (lng) {\n _this5.allOptions.ns.forEach(function (ns) {\n backendConnector.read(lng, ns, 'read', null, null, function (err, data) {\n if (err) logger.warn(\"loading namespace \".concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) logger.log(\"loaded namespace \".concat(ns, \" for language \").concat(lng), data);\n backendConnector.loaded(\"\".concat(lng, \"|\").concat(ns), err, data);\n });\n });\n });\n }\n }]);\n return Backend;\n}();\nBackend.type = 'backend';\nexport default Backend;","import {VERSION} from '@coveo/headless';\n\nexport interface AtomicEnvironment {\n version: string;\n headlessVersion: string;\n}\n\ndeclare global {\n interface Window {\n [anyGlobalVariable: string]: AtomicEnvironment;\n }\n}\n\nfunction getWindow() {\n return window;\n}\n\nexport function getAtomicEnvironment(): AtomicEnvironment {\n return {\n version: process.env.VERSION!,\n headlessVersion: VERSION,\n };\n}\n\nexport function setCoveoGlobal(globalVariableName: string) {\n if (getWindow()[globalVariableName]) {\n return;\n }\n getWindow()[globalVariableName] = getAtomicEnvironment();\n}\n","export const locales: Record Promise> = {\n af: () => import('dayjs/locale/af'),\n am: () => import('dayjs/locale/am'),\n 'ar-DZ': () => import('dayjs/locale/ar-dz'),\n 'ar-IQ': () => import('dayjs/locale/ar-iq'),\n 'ar-KW': () => import('dayjs/locale/ar-kw'),\n 'ar-LY': () => import('dayjs/locale/ar-ly'),\n 'ar-MA': () => import('dayjs/locale/ar-ma'),\n 'ar-SA': () => import('dayjs/locale/ar-sa'),\n 'ar-TN': () => import('dayjs/locale/ar-tn'),\n ar: () => import('dayjs/locale/ar'),\n az: () => import('dayjs/locale/az'),\n be: () => import('dayjs/locale/be'),\n bg: () => import('dayjs/locale/bg'),\n bi: () => import('dayjs/locale/bi'),\n bm: () => import('dayjs/locale/bm'),\n 'bn-BD': () => import('dayjs/locale/bn-bd'),\n bn: () => import('dayjs/locale/bn'),\n bo: () => import('dayjs/locale/bo'),\n br: () => import('dayjs/locale/br'),\n bs: () => import('dayjs/locale/bs'),\n ca: () => import('dayjs/locale/ca'),\n cs: () => import('dayjs/locale/cs'),\n cv: () => import('dayjs/locale/cv'),\n cy: () => import('dayjs/locale/cy'),\n da: () => import('dayjs/locale/da'),\n 'de-AT': () => import('dayjs/locale/de-at'),\n 'de-CH': () => import('dayjs/locale/de-ch'),\n de: () => import('dayjs/locale/de'),\n dv: () => import('dayjs/locale/dv'),\n el: () => import('dayjs/locale/el'),\n 'en-AU': () => import('dayjs/locale/en-au'),\n 'en-CA': () => import('dayjs/locale/en-ca'),\n 'en-GB': () => import('dayjs/locale/en-gb'),\n 'en-IE': () => import('dayjs/locale/en-ie'),\n 'en-IL': () => import('dayjs/locale/en-il'),\n 'en-IN': () => import('dayjs/locale/en-in'),\n 'en-NZ': () => import('dayjs/locale/en-nz'),\n 'en-SG': () => import('dayjs/locale/en-sg'),\n 'en-TT': () => import('dayjs/locale/en-tt'),\n en: () => import('dayjs/locale/en'),\n eo: () => import('dayjs/locale/eo'),\n 'es-DO': () => import('dayjs/locale/es-do'),\n 'es-MX': () => import('dayjs/locale/es-mx'),\n 'es-PR': () => import('dayjs/locale/es-pr'),\n 'es-US': () => import('dayjs/locale/es-us'),\n es: () => import('dayjs/locale/es'),\n et: () => import('dayjs/locale/et'),\n eu: () => import('dayjs/locale/eu'),\n fa: () => import('dayjs/locale/fa'),\n fi: () => import('dayjs/locale/fi'),\n fo: () => import('dayjs/locale/fo'),\n 'fr-CA': () => import('dayjs/locale/fr-ca'),\n 'fr-CH': () => import('dayjs/locale/fr-ch'),\n fr: () => import('dayjs/locale/fr'),\n fy: () => import('dayjs/locale/fy'),\n ga: () => import('dayjs/locale/ga'),\n gd: () => import('dayjs/locale/gd'),\n gl: () => import('dayjs/locale/gl'),\n 'gom-LATN': () => import('dayjs/locale/gom-latn'),\n gu: () => import('dayjs/locale/gu'),\n he: () => import('dayjs/locale/he'),\n hi: () => import('dayjs/locale/hi'),\n hr: () => import('dayjs/locale/hr'),\n ht: () => import('dayjs/locale/ht'),\n hu: () => import('dayjs/locale/hu'),\n 'hy-AM': () => import('dayjs/locale/hy-am'),\n id: () => import('dayjs/locale/id'),\n is: () => import('dayjs/locale/is'),\n 'it-CH': () => import('dayjs/locale/it-ch'),\n it: () => import('dayjs/locale/it'),\n ja: () => import('dayjs/locale/ja'),\n jv: () => import('dayjs/locale/jv'),\n ka: () => import('dayjs/locale/ka'),\n kk: () => import('dayjs/locale/kk'),\n km: () => import('dayjs/locale/km'),\n kn: () => import('dayjs/locale/kn'),\n ko: () => import('dayjs/locale/ko'),\n ku: () => import('dayjs/locale/ku'),\n ky: () => import('dayjs/locale/ky'),\n lb: () => import('dayjs/locale/lb'),\n lo: () => import('dayjs/locale/lo'),\n lt: () => import('dayjs/locale/lt'),\n lv: () => import('dayjs/locale/lv'),\n me: () => import('dayjs/locale/me'),\n mi: () => import('dayjs/locale/mi'),\n mk: () => import('dayjs/locale/mk'),\n ml: () => import('dayjs/locale/ml'),\n mn: () => import('dayjs/locale/mn'),\n mr: () => import('dayjs/locale/mr'),\n 'ms-MY': () => import('dayjs/locale/ms-my'),\n ms: () => import('dayjs/locale/ms'),\n mt: () => import('dayjs/locale/mt'),\n my: () => import('dayjs/locale/my'),\n nb: () => import('dayjs/locale/nb'),\n ne: () => import('dayjs/locale/ne'),\n 'nl-BE': () => import('dayjs/locale/nl-be'),\n nl: () => import('dayjs/locale/nl'),\n pl: () => import('dayjs/locale/pl'),\n 'pt-BR': () => import('dayjs/locale/pt-br'),\n pt: () => import('dayjs/locale/pt'),\n rn: () => import('dayjs/locale/rn'),\n ro: () => import('dayjs/locale/ro'),\n ru: () => import('dayjs/locale/ru'),\n rw: () => import('dayjs/locale/rw'),\n sd: () => import('dayjs/locale/sd'),\n se: () => import('dayjs/locale/se'),\n si: () => import('dayjs/locale/si'),\n sk: () => import('dayjs/locale/sk'),\n sl: () => import('dayjs/locale/sl'),\n sq: () => import('dayjs/locale/sq'),\n 'sr-CYRL': () => import('dayjs/locale/sr-cyrl'),\n sr: () => import('dayjs/locale/sr'),\n ss: () => import('dayjs/locale/ss'),\n 'sv-FI': () => import('dayjs/locale/sv-fi'),\n sv: () => import('dayjs/locale/sv'),\n sw: () => import('dayjs/locale/sw'),\n ta: () => import('dayjs/locale/ta'),\n te: () => import('dayjs/locale/te'),\n tet: () => import('dayjs/locale/tet'),\n tg: () => import('dayjs/locale/tg'),\n th: () => import('dayjs/locale/th'),\n tk: () => import('dayjs/locale/tk'),\n 'tl-PH': () => import('dayjs/locale/tl-ph'),\n tlh: () => import('dayjs/locale/tlh'),\n tr: () => import('dayjs/locale/tr'),\n tzl: () => import('dayjs/locale/tzl'),\n 'tzm-LATN': () => import('dayjs/locale/tzm-latn'),\n tzm: () => import('dayjs/locale/tzm'),\n 'ug-CN': () => import('dayjs/locale/ug-cn'),\n uk: () => import('dayjs/locale/uk'),\n ur: () => import('dayjs/locale/ur'),\n 'uz-LATN': () => import('dayjs/locale/uz-latn'),\n uz: () => import('dayjs/locale/uz'),\n vi: () => import('dayjs/locale/vi'),\n 'x-PSEUDO': () => import('dayjs/locale/x-pseudo'),\n yo: () => import('dayjs/locale/yo'),\n 'zh-CN': () => import('dayjs/locale/zh-cn'),\n 'zh-HK': () => import('dayjs/locale/zh-hk'),\n 'zh-TW': () => import('dayjs/locale/zh-tw'),\n zh: () => import('dayjs/locale/zh'),\n 'pa-IN': () => import('dayjs/locale/pa-in'),\n 'oc-LNC': () => import('dayjs/locale/oc-lnc'),\n nn: () => import('dayjs/locale/nn'),\n};\n","import dayjs from 'dayjs';\nimport {locales} from '../generated/dayjs-locales-data';\n\nconst warn = (language: string) =>\n console.warn(`Cannot load dayjs locale file file for \"${language}\"`);\n\nconst resolveLanguage = (languageInput: string) => {\n if (locales[languageInput]) {\n return languageInput;\n }\n\n if (languageInput.includes('-')) {\n const regionlessLanguage = languageInput.split('-')[0];\n if (locales[regionlessLanguage]) {\n return regionlessLanguage;\n }\n }\n\n return languageInput;\n};\n\nexport function loadDayjsLocale(languageInput: string) {\n const language = resolveLanguage(languageInput);\n if (!locales[language]) {\n warn(language);\n return;\n }\n\n try {\n locales[language]().then(() => dayjs.locale(language));\n } catch (error) {\n warn(language);\n }\n}\n","import {getAssetPath} from '@stencil/core';\nimport DOMPurify from 'dompurify';\nimport Backend, {HttpBackendOptions} from 'i18next-http-backend';\nimport availableLocales from '../../../generated/availableLocales.json';\nimport {AnyEngineType} from './bindings';\nimport {BaseAtomicInterface} from './interface-common';\n\nexport const i18nTranslationNamespace = 'translation';\nexport type i18nCompatibilityVersion = 'v3' | 'v4';\n\nfunction isI18nLocaleAvailable(locale: string) {\n return availableLocales.includes(locale.toLowerCase());\n}\n\nexport function i18nBackendOptions(\n atomicInterface: BaseAtomicInterface\n): HttpBackendOptions {\n return {\n loadPath: `${getAssetPath(\n atomicInterface.languageAssetsPath\n )}/{{lng}}.json?lng={{lng}}&ns={{ns}}`,\n request: async (_options, url, _payload, callback) => {\n try {\n const [fetchUrl, searchParams] = url.split('?');\n const urlParams = new URLSearchParams(searchParams);\n const lng = urlParams.get('lng')!;\n const ns = urlParams.get('ns')!;\n\n if (!isI18nLocaleAvailable(lng)) {\n throw new Error(`Unsupported locale \"${lng}\"`);\n }\n\n if (ns !== i18nTranslationNamespace) {\n throw new Error(`Unsupported namespace \"${ns}\"`);\n }\n\n const response = await fetch(fetchUrl);\n if (response.status !== 200 && response.status !== 304) {\n throw new Error(\n `Unsuccessful request returned status \"${response.status}\"`\n );\n }\n\n callback(null, {\n status: response.status,\n data: await response.json(),\n });\n } catch (error) {\n callback(error, {status: 404, data: ''});\n }\n },\n };\n}\n\nexport function init18n(atomicInterface: BaseAtomicInterface) {\n return atomicInterface.i18n.use(Backend).init({\n debug: atomicInterface.logLevel === 'debug',\n lng: atomicInterface.language,\n nsSeparator: '___',\n fallbackLng: 'en',\n backend: i18nBackendOptions(atomicInterface),\n interpolation: {\n escape: (str) => DOMPurify.sanitize(str),\n },\n compatibilityJSON: atomicInterface.localizationCompatibilityVersion,\n });\n}\n\ndeclare module 'i18next' {\n interface CustomTypeOptions {\n resources: Record>;\n }\n}\n","import {LogLevel} from '@coveo/headless';\nimport {ComponentInterface, h} from '@stencil/core';\nimport {HTMLStencilElement} from '@stencil/core/internal';\nimport {i18n, TFunction} from 'i18next';\nimport Backend from 'i18next-http-backend';\nimport {setCoveoGlobal} from '../../../global/environment';\nimport {loadFocusVisiblePolyfill} from '../../../global/focus-visible';\nimport {loadDayjsLocale} from '../../../utils/dayjs-locales';\nimport {InitializeEvent} from '../../../utils/initialization-utils';\nimport {\n i18nBackendOptions,\n i18nCompatibilityVersion,\n i18nTranslationNamespace,\n} from '../../common/interface/i18n';\nimport {AnyBindings, AnyEngineType} from './bindings';\nimport {init18n} from './i18n';\n\nexport interface BaseAtomicInterface\n extends ComponentInterface {\n analytics: boolean;\n i18n: i18n;\n engine?: EngineType;\n languageAssetsPath: string;\n iconAssetsPath: string;\n logLevel?: LogLevel;\n language: string;\n host: HTMLStencilElement;\n bindings: AnyBindings;\n error?: Error;\n localizationCompatibilityVersion?: i18nCompatibilityVersion;\n\n updateIconAssetsPath(): void;\n registerFieldsToInclude?: () => void; // Fix: Removed the question mark and added a semicolon.\n}\n\nexport const mismatchedInterfaceAndEnginePropError = (\n interfaceKind: 'search' | 'recommendation',\n configurationName: 'query pipeline' | 'search hub'\n) =>\n `A ${configurationName} is configured on the ${interfaceKind} interface element, but the ${interfaceKind} interface was initialized with an engine. You should only configure the ${configurationName} in the target engine.`;\n\nexport class CommonAtomicInterfaceHelper {\n private i18nPromise!: Promise;\n private hangingComponentsInitialization: InitializeEvent[] = [];\n\n constructor(\n private atomicInterface: BaseAtomicInterface,\n globalVariableName: string\n ) {\n setCoveoGlobal(globalVariableName);\n loadFocusVisiblePolyfill();\n\n const {\n connectedCallback: originalConnectedCallback,\n render: originalRender,\n } = atomicInterface;\n\n atomicInterface.connectedCallback = () => {\n this.i18nPromise = init18n(atomicInterface);\n\n return (\n originalConnectedCallback &&\n originalConnectedCallback.call(atomicInterface)\n );\n };\n\n atomicInterface.render = () => {\n if (atomicInterface.error) {\n return (\n \n );\n }\n\n return originalRender && originalRender.call(atomicInterface);\n };\n }\n\n public onComponentInitializing(event: InitializeEvent) {\n event.preventDefault();\n event.stopPropagation();\n\n if (this.atomicInterface.engine) {\n event.detail(this.atomicInterface.bindings);\n return;\n }\n\n this.hangingComponentsInitialization.push(event);\n }\n\n public async onInitialization(initEngine: () => void) {\n if (this.atomicInterface.engine) {\n this.atomicInterface.engine.logger.warn(\n `The ${this.interfaceTagname} component \"initialize\" has already been called.`,\n this.atomicInterface.host\n );\n return;\n }\n\n this.atomicInterface.updateIconAssetsPath();\n initEngine();\n if (this.atomicInterface.registerFieldsToInclude) {\n this.atomicInterface.registerFieldsToInclude();\n }\n loadDayjsLocale(this.atomicInterface.language);\n await this.i18nPromise;\n this.initComponents();\n }\n\n public onAnalyticsChange() {\n const {engine, analytics} = this.atomicInterface;\n if (!this.engineIsCreated(engine)) {\n return;\n }\n\n if (!analytics) {\n engine.disableAnalytics();\n return;\n }\n\n engine.enableAnalytics();\n }\n\n public onLanguageChange() {\n const {i18n, language} = this.atomicInterface;\n\n loadDayjsLocale(language);\n new Backend(i18n.services, i18nBackendOptions(this.atomicInterface)).read(\n language,\n i18nTranslationNamespace,\n (_: unknown, data: unknown) => {\n i18n.addResourceBundle(\n language,\n i18nTranslationNamespace,\n data,\n true,\n false\n );\n i18n.changeLanguage(language);\n }\n );\n }\n\n public engineIsCreated(engine?: Engine): engine is Engine {\n if (!engine) {\n console.error(\n `You have to call \"initialize\" on the ${this.interfaceTagname} component before modifying the props or calling other public methods.`,\n this.atomicInterface.host\n );\n return false;\n }\n\n return true;\n }\n\n private get interfaceTagname() {\n return this.atomicInterface.host.tagName.toLowerCase();\n }\n\n private initComponents() {\n this.hangingComponentsInitialization.forEach((event) =>\n event.detail(this.atomicInterface.bindings)\n );\n }\n}\n","// Necessary for Safari under version 15.4.\nexport function loadFocusVisiblePolyfill() {\n if (window.applyFocusVisiblePolyfill) {\n return;\n }\n\n try {\n document.body.querySelector(':focus-visible');\n } catch (error) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n import('focus-visible/dist/focus-visible.min.js');\n }\n}\n","import { getRenderingRef, forceUpdate } from '@stencil/core';\n\nconst appendToMap = (map, propName, value) => {\n const items = map.get(propName);\n if (!items) {\n map.set(propName, [value]);\n }\n else if (!items.includes(value)) {\n items.push(value);\n }\n};\nconst debounce = (fn, ms) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n timeoutId = 0;\n fn(...args);\n }, ms);\n };\n};\n\n/**\n * Check if a possible element isConnected.\n * The property might not be there, so we check for it.\n *\n * We want it to return true if isConnected is not a property,\n * otherwise we would remove these elements and would not update.\n *\n * Better leak in Edge than to be useless.\n */\nconst isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;\nconst cleanupElements = debounce((map) => {\n for (let key of map.keys()) {\n map.set(key, map.get(key).filter(isConnected));\n }\n}, 2000);\nconst stencilSubscription = () => {\n if (typeof getRenderingRef !== 'function') {\n // If we are not in a stencil project, we do nothing.\n // This function is not really exported by @stencil/core.\n return {};\n }\n const elmsToUpdate = new Map();\n return {\n dispose: () => elmsToUpdate.clear(),\n get: (propName) => {\n const elm = getRenderingRef();\n if (elm) {\n appendToMap(elmsToUpdate, propName, elm);\n }\n },\n set: (propName) => {\n const elements = elmsToUpdate.get(propName);\n if (elements) {\n elmsToUpdate.set(propName, elements.filter(forceUpdate));\n }\n cleanupElements(elmsToUpdate);\n },\n reset: () => {\n elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));\n cleanupElements(elmsToUpdate);\n },\n };\n};\n\nconst unwrap = (val) => (typeof val === 'function' ? val() : val);\nconst createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {\n const unwrappedState = unwrap(defaultState);\n let states = new Map(Object.entries(unwrappedState !== null && unwrappedState !== void 0 ? unwrappedState : {}));\n const handlers = {\n dispose: [],\n get: [],\n set: [],\n reset: [],\n };\n const reset = () => {\n var _a;\n // When resetting the state, the default state may be a function - unwrap it to invoke it.\n // otherwise, the state won't be properly reset\n states = new Map(Object.entries((_a = unwrap(defaultState)) !== null && _a !== void 0 ? _a : {}));\n handlers.reset.forEach((cb) => cb());\n };\n const dispose = () => {\n // Call first dispose as resetting the state would\n // cause less updates ;)\n handlers.dispose.forEach((cb) => cb());\n reset();\n };\n const get = (propName) => {\n handlers.get.forEach((cb) => cb(propName));\n return states.get(propName);\n };\n const set = (propName, value) => {\n const oldValue = states.get(propName);\n if (shouldUpdate(value, oldValue, propName)) {\n states.set(propName, value);\n handlers.set.forEach((cb) => cb(propName, value, oldValue));\n }\n };\n const state = (typeof Proxy === 'undefined'\n ? {}\n : new Proxy(unwrappedState, {\n get(_, propName) {\n return get(propName);\n },\n ownKeys(_) {\n return Array.from(states.keys());\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n };\n },\n has(_, propName) {\n return states.has(propName);\n },\n set(_, propName, value) {\n set(propName, value);\n return true;\n },\n }));\n const on = (eventName, callback) => {\n handlers[eventName].push(callback);\n return () => {\n removeFromArray(handlers[eventName], callback);\n };\n };\n const onChange = (propName, cb) => {\n const unSet = on('set', (key, newValue) => {\n if (key === propName) {\n cb(newValue);\n }\n });\n // We need to unwrap the defaultState because it might be a function.\n // Otherwise we might not be sending the right reset value.\n const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));\n return () => {\n unSet();\n unReset();\n };\n };\n const use = (...subscriptions) => {\n const unsubs = subscriptions.reduce((unsubs, subscription) => {\n if (subscription.set) {\n unsubs.push(on('set', subscription.set));\n }\n if (subscription.get) {\n unsubs.push(on('get', subscription.get));\n }\n if (subscription.reset) {\n unsubs.push(on('reset', subscription.reset));\n }\n if (subscription.dispose) {\n unsubs.push(on('dispose', subscription.dispose));\n }\n return unsubs;\n }, []);\n return () => unsubs.forEach((unsub) => unsub());\n };\n const forceUpdate = (key) => {\n const oldValue = states.get(key);\n handlers.set.forEach((cb) => cb(key, oldValue, oldValue));\n };\n return {\n state,\n get,\n set,\n on,\n onChange,\n use,\n dispose,\n reset,\n forceUpdate,\n };\n};\nconst removeFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index >= 0) {\n array[index] = array[array.length - 1];\n array.length--;\n }\n};\n\nconst createStore = (defaultState, shouldUpdate) => {\n const map = createObservableMap(defaultState, shouldUpdate);\n map.use(stencilSubscription());\n return map;\n};\n\nexport { createObservableMap, createStore };\n","import {createStore} from '@stencil/store';\nimport {isInDocument} from '../../../utils/utils';\nimport {\n FacetInfo,\n FacetStore,\n FacetType,\n FacetValueFormat,\n} from '../facets/facet-common-store';\nimport {DateFacetValue, NumericFacetValue} from '../types';\nimport {AnyEngineType, CommonStencilStore} from './bindings';\n\nexport interface ResultListInfo {\n focusOnNextNewResult(): void;\n focusOnFirstResultAfterNextSearch(): Promise;\n}\n\nexport type AtomicCommonStoreData = {\n facets: FacetStore;\n numericFacets: FacetStore>;\n dateFacets: FacetStore>;\n categoryFacets: FacetStore;\n loadingFlags: string[];\n iconAssetsPath: string;\n fieldsToInclude: string[];\n facetElements: HTMLElement[];\n resultList?: ResultListInfo;\n};\n\nexport interface AtomicCommonStore\n extends CommonStencilStore {\n getIconAssetsPath(): string;\n setLoadingFlag(flag: string): void;\n unsetLoadingFlag(loadingFlag: string): void;\n hasLoadingFlag(loadingFlag: string): boolean;\n waitUntilAppLoaded(callback: () => void): void;\n isAppLoaded(): boolean;\n getUniqueIDFromEngine(engine: AnyEngineType): string;\n getFacetElements(): HTMLElement[];\n registerFacet(\n facetType: T,\n data: StoreData[T][U] & {facetId: U; element: HTMLElement}\n ): void;\n registerResultList(data: ResultListInfo): void;\n addFieldsToInclude(fields: string[]): void;\n}\n\nexport const isRefineModalFacet = 'is-refine-modal';\n\nexport function createAtomicCommonStore<\n StoreData extends AtomicCommonStoreData,\n>(initialStoreData: StoreData): AtomicCommonStore {\n const stencilStore = createStore(\n initialStoreData\n ) as CommonStencilStore;\n\n const clearExistingFacetElement = (facetType: FacetType, facetId: string) => {\n if (stencilStore.state[facetType][facetId]) {\n stencilStore.state.facetElements =\n stencilStore.state.facetElements.filter(\n (facetElement) => facetElement.getAttribute('facet-id') !== facetId\n );\n }\n };\n\n return {\n ...stencilStore,\n\n registerFacet(\n facetType: T,\n data: StoreData[T][U] & {facetId: U; element: HTMLElement}\n ) {\n if (data.element.getAttribute(isRefineModalFacet) !== null) {\n return;\n }\n\n clearExistingFacetElement(facetType, data.facetId);\n stencilStore.state.facetElements.push(data.element);\n stencilStore.state[facetType][data.facetId] = data;\n },\n\n getIconAssetsPath() {\n return stencilStore.get('iconAssetsPath');\n },\n\n setLoadingFlag(loadingFlag: string) {\n const flags = stencilStore.get('loadingFlags');\n stencilStore.set('loadingFlags', flags.concat(loadingFlag));\n },\n\n unsetLoadingFlag(loadingFlag: string) {\n const flags = stencilStore.get('loadingFlags');\n stencilStore.set(\n 'loadingFlags',\n flags.filter((value) => value !== loadingFlag)\n );\n },\n\n hasLoadingFlag(loadingFlag: string) {\n return stencilStore.get('loadingFlags').indexOf(loadingFlag) !== -1;\n },\n\n registerResultList(data: ResultListInfo) {\n stencilStore.set('resultList', data);\n },\n\n addFieldsToInclude(fields) {\n stencilStore.set('fieldsToInclude', [\n ...stencilStore.get('fieldsToInclude'),\n ...fields,\n ]);\n },\n\n waitUntilAppLoaded(callback: () => void) {\n if (!stencilStore.get('loadingFlags').length) {\n callback();\n } else {\n stencilStore.onChange('loadingFlags', (flags) => {\n if (!flags.length) {\n callback();\n }\n });\n }\n },\n\n isAppLoaded() {\n return !stencilStore.get('loadingFlags').length;\n },\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getUniqueIDFromEngine(_engine: AnyEngineType): string {\n throw new Error(\n 'getUniqueIDFromEngine not implemented at the common store level.'\n );\n },\n\n getFacetElements() {\n return stencilStore\n .get('facetElements')\n .filter((element) => isInDocument(element));\n },\n };\n}\n"],"names":["commonjsGlobal","module","exports","t","e","n","r","i","s","u","a","o","c","f","h","d","l","$","y","M","name","weekdays","split","months","ordinal","m","String","length","Array","join","v","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","p","w","D","ms","Q","toLowerCase","replace","g","S","_","O","args","arguments","b","locale","$L","utc","$u","x","$x","$offset","this","parse","prototype","$d","Date","NaN","test","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","toString","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","format","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","k","forEach","extend","$i","isDayjs","en","Ls","consoleLogger","type","log","output","warn","error","console","Logger","concreteLogger","_classCallCheck2","options","undefined","_createClass2","key","value","prefix","logger","debug","_len","_key","forward","_len2","_key2","_len3","_key3","deprecate","_len4","_key4","lvl","debugOnly","concat","create","moduleName","_objectSpread2","baseLogger","EventEmitter","observers","on","events","listener","_this6","event","Map","numListeners","off","delete","emit","from","entries","_ref","_ref3","_slicedToArray","observer","numTimesAdded","_ref2","_ref4","defer","res","rej","promise","Promise","resolve","reject","makeString","object","lastOfPathSeparatorRegExp","getLastOfPath","path","Empty","cleanKey","indexOf","canNotTraverseDeeper","stack","stackIndex","Object","hasOwnProperty","call","obj","setPath","newValue","_getLastOfPath","last","getPath","_getLastOfPath3","deepExtend","target","source","overwrite","prop","regexEscape","str","_entityMap","escape","data","chars","looksLikeObjectPathRegExpCache","RegExpCache","capacity","regExpMap","regExpQueue","getRegExp","pattern","regExpFromCache","regExpNew","RegExp","shift","push","deepFind","keySeparator","tokens","current","next","nextPath","j","getCleanedCode","code","ResourceStore","_EventEmitter","_this7","ns","defaultNS","_callSuper","ignoreJSONStructure","_inherits","addNamespaces","removeNamespaces","index","splice","getResource","lng","_path","isArray","_toConsumableArray","_path2","result","addResource","silent","addResources","resources","addResourceBundle","deep","skipCopy","pack","JSON","stringify","removeResourceBundle","hasResourceBundle","getResourceBundle","compatibilityAPI","getDataByLanguage","hasLanguageSomeTranslations","keys","find","postProcessor","processors","addPostProcessor","handle","translator","_this8","processor","process","checkedLoadedFor","Translator","_EventEmitter2","services","_this9","copy","_assertThisInitialized","changeLanguage","language","exists","interpolation","resolved","extractFromKey","nsSeparator","namespaces","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","looksLikeObjectPath","possibleChars","filter","map","matched","ki","interpolator","nestingRegexp","parts","translate","lastKey","_this10","overloadTranslationOptionHandler","returnDetails","_this$extractFromKey","namespace","appendNamespaceToCIMode","usedKey","exactUsedKey","usedLng","usedNS","usedParams","getUsedParamsDetails","resUsedKey","resExactUsedKey","resType","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","extendTranslation","usedDefault","needsPluralHandling","count","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","defaultValueSuffixOrdinalFallback","needsZeroSuffixLookup","shouldUseIntlApi","defaultValue","pluralSeparator","isValidLookup","resForMissing","missingKeyNoValueFallbackToKey","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","send","specificDefaultValue","defaultForMissing","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","suffixes","getSuffixes","suffix","appendNamespaceToMissingKey","parseMissingKeyHandler","_this","defaultVariables","skipInterpolation","nestBef","skipOnVariables","nb","interpolate","na","nest","context","reset","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","found","_this11","extracted","fallbackNS","needsContextHandling","codes","utils","hasLoadedNamespace","possibleKey","finalKeys","addLookupKeys","pluralSuffix","zeroSuffix","ordinalPrefix","contextKey","contextSeparator","pop","returnNull","returnEmptyString","resourceStore","useOptionsReplaceForData","_step","_iterator","_createForOfIteratorHelper","done","err","option","capitalize","string","charAt","toUpperCase","LanguageUtil","supportedLngs","getScriptPartFromCode","formatLanguageCode","getLanguagePartFromCode","specialCases","lowerCaseLng","part","cleanCode","isSupportedCode","load","nonExplicitSupportedLngs","getBestMatchFromCodes","_this12","cleanedLng","lngOnly","supportedLng","fallbacks","default","fallbackCode","_this13","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","nonIntlVersions","intlVersions","suffixesOrder","zero","one","two","few","many","other","PluralResolver","compatibilityJSON","includes","Intl","PluralRules","rules","createRules","numbers","plurals","addRule","getRule","needsPlural","rule","resolvedOptions","pluralCategories","getPluralFormsOfKey","_this14","sort","pluralCategory1","pluralCategory2","pluralCategory","prepend","number","select","getSuffixRetroCompatible","_this15","idx","noAbs","simplifyPluralSuffix","returnSuffix","deepFindWithDefaults","defaultData","getPathWithDefaults","Interpolator","escapeValue","_options$interpolatio","escape$1","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapeSuffix","unescapePrefix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","getOrResetRegExp","existingRegExp","lastIndex","regexp","regexpUnescape","replaces","_this16","regexSafe","val","handleFormat","interpolationkey","trim","missingInterpolationHandler","regex","safeValue","todo","exec","matchedVar","temp","clonedOptions","_this17","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","formatters","doReduce","elem","reduce","createCachedFormatter","fn","cache","invokeFormatter","formatter","Formatter","formats","opt","NumberFormat","currency","style","datetime","DateTimeFormat","relativetime","RelativeTimeFormat","range","list","ListFormat","iOpts","addCached","_this18","mem","_parseFormatStr","parseFormatStr","formatStr","formatName","formatOptions","optStr","_opt$split","_opt$split2","_toArray","isNaN","parseInt","formatted","valOptions","formatParams","Connector","_EventEmitter3","backend","store","_this19","waitingReads","maxParallelReads","readingCalls","maxRetries","retryTimeout","state","queue","queueLoad","languages","callback","_this20","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","pendingCount","loaded","errors","q","pushPath","_getLastOfPath2","removePending","loadedKeys","read","fcName","_this21","tried","wait","resolver","setTimeout","bind","then","catch","prepareLoading","_this22","loadOne","_this23","fallbackValue","isUpdate","clb","opts","initImmediate","preload","partialBundledLanguages","ret","tDescription","transformOptions","noop","I18n","_EventEmitter4","_this24","modules","external","bindMemberFunctions","inst","getOwnPropertyNames","getPrototypeOf","isInitialized","isClone","_possibleConstructorReturn","_this25","isInitializing","defOpts","createClassOnDemand","ClassOrObject","lu","languageDetector","detection","_this$store","_this$store2","deferred","finish","initializedStoreOnce","loadResources","_this26","usedCallback","append","resolvedLanguage","setResolvedLanguage","reloadResources","use","Error","li","lngInLngs","_this27","_this2","isLanguageChangingTo","setLngProps","setLng","cacheUserLanguage","async","detect","getFixedT","keyPrefix","_this3","fixedT","rest","resultKey","_this$translator","_this$translator2","setDefaultNamespace","_this28","lastLng","loadNotPending","loadState","precheck","preResult","loadNamespaces","_this29","loadLanguages","_this30","preloaded","newLngs","dir","cloneInstance","_this31","forkResourceStore","mergedOptions","createInstance","instance","_typeof$2","Symbol","iterator","constructor","hasXMLHttpRequest","XMLHttpRequest","__global__","globalThis","self","__globalThis__","F","fetch","DOMException","global","support","Blob","viewClasses","isArrayBufferView","ArrayBuffer","isView","normalizeName","TypeError","normalizeValue","iteratorFor","items","Headers","headers","header","consumed","body","bodyUsed","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","blob","FileReader","readAsArrayBuffer","bufferClone","buf","view","Uint8Array","byteLength","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","isDataView","DataView","_bodyArrayBuffer","rejected","arrayBuffer","isConsumed","byteOffset","text","readBlobAsText","readAsText","readArrayBufferAsText","fromCharCode","formData","decode","json","oldValue","has","thisArg","values","methods","Request","input","url","credentials","method","mode","signal","normalizeMethod","upcased","referrer","reParamSearch","form","bytes","decodeURIComponent","parseHeaders","rawHeaders","substr","line","Response","bodyInit","status","ok","statusText","response","redirectStatuses","redirect","RangeError","location","message","request","aborted","xhr","abortXhr","abort","getAllResponseHeaders","responseURL","responseText","ontimeout","onabort","open","fixUrl","href","withCredentials","responseType","setRequestHeader","addEventListener","onreadystatechange","readyState","removeEventListener","polyfill","ponyfill","ctx","fetchApi","window","commonjsRequire","browserPonyfill","XmlHttpRequestApi","ActiveXObjectApi","ownKeys$1","getOwnPropertySymbols","getOwnPropertyDescriptor","enumerable","_objectSpread$1","_defineProperty$1","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey$1","_toPrimitive$1","_typeof$1","toPrimitive","configurable","writable","ActiveXObject","fetchNode","getFetch","addQueryString","params","queryString","paramName","encodeURIComponent","fetchIt","fetchOptions","altFetch","altResponse","omitFetchOptions","payload","requestWithFetch","queryStringParams","customHeaders","versions","node","version","platform","arch","reqOptions","requestOptions","alternateFetch","requestWithXmlHttpRequest","crossDomain","overrideMimeType","_typeof","ownKeys","_objectSpread","_defineProperty","_defineProperties","props","descriptor","_toPropertyKey","_toPrimitive","Backend","allOptions","_classCallCheck","Constructor","_createClass","protoProps","staticProps","getDefaults","loadPath","addPath","parsePayload","parseLoadPayload","reloadInterval","setInterval","readMulti","_readAny","loadUrlLanguages","loadUrlNamespaces","makePromise","maybePromise","isPromise","resolvedLoadPath","loadUrl","parseErr","_this4","finished","dataArray","resArray","_this5","_this$services","currentLanguage","getWindow","getAtomicEnvironment","headlessVersion","Wo","locales","af","am","arDZ","arIQ","arKW","arLY","arMA","arSA","arTN","ar","az","be","bg","bi","bm","bnBD","bn","bo","br","bs","ca","cs","cv","cy","da","deAT","deCH","de","dv","el","enAU","enCA","enGB","enIE","enIL","enIN","enNZ","enSG","enTT","eo","esDO","esMX","esPR","esUS","es","et","eu","fa","fi","fo","frCA","frCH","fr","fy","ga","gd","gl","gomLATN","gu","he","hi","hr","ht","hu","hyAM","id","is","itCH","it","ja","jv","ka","kk","km","kn","ko","ku","ky","lb","lo","lt","lv","me","mi","mk","ml","mn","mr","msMY","mt","my","ne","nlBE","nl","pl","ptBR","pt","rn","ro","ru","rw","sd","se","si","sk","sl","sq","srCYRL","sr","ss","svFI","sv","sw","ta","te","tet","tg","th","tk","tlPH","tlh","tr","tzl","tzmLATN","tzm","ugCN","uk","ur","uzLATN","uz","vi","xPSEUDO","yo","zhCN","zhHK","zhTW","zh","paIN","ocLNC","nn","loadDayjsLocale","languageInput","resolveLanguage","regionlessLanguage","dayjs","i18nTranslationNamespace","i18nBackendOptions","atomicInterface","getAssetPath","languageAssetsPath","_request","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_options","_payload","_url$split","_url$split2","fetchUrl","searchParams","urlParams","wrap","_callee$","_context","prev","availableLocales","sent","t0","t1","t2","t3","t4","stop","_x","_x2","_x3","_x4","mismatchedInterfaceAndEnginePropError","interfaceKind","configurationName","CommonAtomicInterfaceHelper","globalVariableName","_this32","hangingComponentsInitialization","setCoveoGlobal","loadFocusVisiblePolyfill","applyFocusVisiblePolyfill","document","querySelector","originalConnectedCallback","connectedCallback","originalRender","render","i18nPromise","init18n","i18n","logLevel","DOMPurify","sanitize","localizationCompatibilityVersion","element","host","onComponentInitializing","preventDefault","stopPropagation","engine","detail","bindings","_onInitialization","_callee2","initEngine","_callee2$","_context2","interfaceTagname","abrupt","updateIconAssetsPath","registerFieldsToInclude","initComponents","onInitialization","_x5","onAnalyticsChange","_this$atomicInterface","analytics","engineIsCreated","enableAnalytics","disableAnalytics","onLanguageChange","_this$atomicInterface2","tagName","_this33","isConnected","maybeElement","cleanupElements","debounce","timeoutId","clearTimeout","unwrap","removeFromArray","array","item","createStore","defaultState","shouldUpdate","createObservableMap","unwrappedState","states","handlers","dispose","_a","cb","propName","Proxy","eventName","onChange","unSet","unReset","subscriptions","unsubs","subscription","unsub","forceUpdate","stencilSubscription","getRenderingRef","elmsToUpdate","clear","elm","appendToMap","elements","elms","isRefineModalFacet","createAtomicCommonStore","initialStoreData","stencilStore","registerFacet","facetType","getAttribute","clearExistingFacetElement","facetId","facetElements","facetElement","getIconAssetsPath","setLoadingFlag","loadingFlag","flags","unsetLoadingFlag","hasLoadingFlag","registerResultList","addFieldsToInclude","fields","waitUntilAppLoaded","isAppLoaded","getUniqueIDFromEngine","_engine","getFacetElements","isInDocument"],"sourceRoot":""}