{"version":3,"file":"vendor.i18next.js?t=1743534124474","mappings":"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","sources":["webpack://@linte/hub-client/../../../node_modules/.pnpm/i18next@19.9.2/node_modules/i18next/dist/esm/i18next.js","webpack://@linte/hub-client/../../../node_modules/.pnpm/react-i18next@11.18.6_i18next@19.9.2_react-dom@17.0.2_react@17.0.2/node_modules/react-i18next/dist/es/Trans.js","webpack://@linte/hub-client/../../../node_modules/.pnpm/react-i18next@11.18.6_i18next@19.9.2_react-dom@17.0.2_react@17.0.2/node_modules/react-i18next/dist/es/unescape.js","webpack://@linte/hub-client/../../../node_modules/.pnpm/react-i18next@11.18.6_i18next@19.9.2_react-dom@17.0.2_react@17.0.2/node_modules/react-i18next/dist/es/context.js","webpack://@linte/hub-client/../../../node_modules/.pnpm/react-i18next@11.18.6_i18next@19.9.2_react-dom@17.0.2_react@17.0.2/node_modules/react-i18next/dist/es/useTranslation.js","webpack://@linte/hub-client/../../../node_modules/.pnpm/react-i18next@11.18.6_i18next@19.9.2_react-dom@17.0.2_react@17.0.2/node_modules/react-i18next/dist/es/utils.js","webpack://@linte/hub-client/../../../node_modules/.pnpm/react-i18next@11.18.6_i18next@19.9.2_react-dom@17.0.2_react@17.0.2/node_modules/react-i18next/dist/es/withTranslation.js"],"sourcesContent":["import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _objectSpread from '@babel/runtime/helpers/esm/objectSpread';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\n\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var 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 }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }, this.options));\n }\n }]);\n\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n\n if (!listener) {\n delete this.observers[event];\n return;\n }\n\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function 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\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (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(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\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 var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n\n if (value !== undefined) {\n return value;\n }\n\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var 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\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, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n\n function ResourceStore(data) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck(this, ResourceStore);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ResourceStore).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.data = data || {};\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n return _this;\n }\n\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n return getPath(this.data, path);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n\n for (var 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\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread({}, pack, resources);\n }\n\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread({}, {}, this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nvar checkedLoadedFor = {};\n\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n function Translator(services) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Translator);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Translator).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS;\n\n if (nsSeparator && key.indexOf(nsSeparator) > -1) {\n var m = key.match(this.interpolator.nestingRegexp);\n\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n\n var 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\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n return namespace + nsSeparator + key;\n }\n\n return key;\n }\n\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n return this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, options) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n }\n\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread({}, options, {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\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 var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread({}, 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\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var 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\n var send = function send(l, k, fallbackValue) {\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, updateMissing ? fallbackValue : res, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, updateMissing ? fallbackValue : res, updateMissing, options);\n }\n\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if (usedKey && this.options.parseMissingKeyHandler) res = this.options.parseMissingKeyHandler(res);\n }\n\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, options, resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread({}, options, {\n interpolation: _objectSpread({}, this.options.interpolation, options.interpolation)\n }));\n var skipOnVariables = options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var nestBef;\n\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread({}, this.options.interpolation.defaultVariables, data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n\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\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n\n return null;\n }\n\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread({\n i18nResolved: resolved\n }, options) : options, this);\n }\n\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n\n var extracted = _this4.extractFromKey(k, options);\n\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsContextHandling = options.context !== undefined && typeof options.context === 'string' && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(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\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKey = key;\n var finalKeys = [finalKey];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count);\n if (needsPluralHandling && needsContextHandling) finalKeys.push(finalKey + pluralSuffix);\n if (needsContextHandling) finalKeys.push(finalKey += \"\".concat(_this4.options.contextSeparator).concat(options.context));\n if (needsPluralHandling) finalKeys.push(finalKey += pluralSuffix);\n }\n\n var possibleKey;\n\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var 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 }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n\n for (var 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\n return false;\n }\n }]);\n\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n this.whitelist = this.options.supportedLngs || false;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var 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 }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\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\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isWhitelisted\",\n value: function isWhitelisted(code) {\n this.logger.deprecate('languageUtils.isWhitelisted', 'function \"isWhitelisted\" will be renamed to \"isSupportedCode\" in the next major - please make sure to rename it\\'s usage asap.');\n return this.isSupportedCode(code);\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n\n var cleanedLng = _this.formatLanguageCode(code);\n\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n\n var lngOnly = _this.getLanguagePartFromCode(code);\n\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function 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 var 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 }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(c) {\n if (!c) return;\n\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n\n if (typeof code === 'string' && 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\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n\n return LanguageUtil;\n}();\n\nvar 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', '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', 'kk', '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}];\nvar _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};\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.rules = createRules();\n }\n\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var rule = this.getRule(code);\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n return this.getSuffixes(code).map(function (suffix) {\n return key + suffix;\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n\n var rule = this.getRule(code);\n\n if (!rule) {\n return [];\n }\n\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var _this2 = this;\n\n var rule = this.getRule(code);\n\n if (rule) {\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\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\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(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\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }]);\n\n return PluralResolver;\n}();\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.init(options);\n }\n\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng) : path;\n }\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, options);\n };\n\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n\n while (match = todo.regex.exec(str)) {\n value = handleFormat(match[1].trim());\n\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(match[1], \" for interpolating \").concat(str));\n\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n str = str.replace(match[0], todo.safeValue(value));\n todo.regex.lastIndex = 0;\n replaces++;\n\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n\n var clonedOptions = _objectSpread({}, options);\n\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n optionsString = optionsString.replace(/'/g, '\"');\n\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread({}, inheritedOptions, clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n\n delete clonedOptions.defaultValue;\n return key;\n }\n\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n\n if (match[0].includes(this.formatSeparator) && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\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\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, options);\n }, value.trim());\n }\n\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n }\n }]);\n\n return Interpolator;\n}();\n\nfunction remove(arr, what) {\n var found = arr.indexOf(what);\n\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n function Connector(backend, store, services) {\n var _this;\n\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Connector).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\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.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n\n return _this;\n }\n\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n var toLoad = [];\n var pending = [];\n var toLoadLanguages = [];\n var toLoadNamespaces = [];\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: toLoadNamespaces\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n remove(q.pending, name);\n if (err) q.errors.push(err);\n\n if (q.pending.length === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = [];\n\n if (q.loaded[l].length) {\n q.loaded[l].forEach(function (ns) {\n if (loaded[l].indexOf(ns) < 0) loaded[l].push(ns);\n });\n }\n });\n q.done = true;\n\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(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 350;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data && tried < 5) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n\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\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(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\n if (key === undefined || key === null || key === '') return;\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread({}, options, {\n isUpdate: isUpdate\n }));\n }\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n whitelist: false,\n nonExplicitWhitelist: 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: true,\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 var 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\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: false\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\n if (options.whitelist) {\n if (options.whitelist && options.whitelist.indexOf('cimode') < 0) {\n options.whitelist = options.whitelist.concat(['cimode']);\n }\n\n options.supportedLngs = options.whitelist;\n }\n\n if (options.nonExplicitWhitelist) {\n options.nonExplicitSupportedLngs = options.nonExplicitWhitelist;\n }\n\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n\n return options;\n}\n\nfunction noop() {}\n\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n function I18n() {\n var _this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck(this, I18n);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(I18n).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (options.whitelist && !options.supportedLngs) {\n this.logger.deprecate('whitelist', 'option \"whitelist\" will be renamed to \"supportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n\n if (options.nonExplicitWhitelist && !options.nonExplicitSupportedLngs) {\n this.logger.deprecate('whitelist', 'options \"nonExplicitWhitelist\" will be renamed to \"nonExplicitSupportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n\n this.options = _objectSpread({}, get(), this.options, transformOptions(options));\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\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\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var 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 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\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\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\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\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\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n\n return _this2;\n };\n });\n var deferred = defer();\n\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t);\n callback(err, t);\n };\n\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, usedCallback);\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var 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, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function 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\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n\n var done = function done(err, l) {\n if (l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n\n _this4.translator.changeLanguage(l);\n\n _this4.isLanguageChangingTo = undefined;\n\n _this4.emit('languageChanged', l);\n\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(lngs) {\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n\n if (l) {\n if (!_this4.language) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n }\n\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\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 this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n var options;\n\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\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, 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 return _this5.t(key, options);\n };\n\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n\n fixedT.ns = ns;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\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\n var lng = this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n\n return loadState === -1 || loadState === 2;\n };\n\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.languages && this.languages.length > 0 ? this.languages[0] : this.language;\n if (!lng) return 'rtl';\n var 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'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) >= 0 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"createInstance\",\n value: function createInstance() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _objectSpread({}, this.options, options, {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\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\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }]);\n\n return I18n;\n}(EventEmitter);\n\nvar i18next = new I18n();\n\nexport default i18next;\n","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"format\"],\n _excluded2 = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useContext, isValidElement, cloneElement, createElement } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { getI18n, I18nContext, getDefaults } from './context';\nimport { warn, warnOnce } from './utils';\n\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n var base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\n\nfunction getChildren(node) {\n if (!node) return [];\n return node.props ? node.props.children : node.children;\n}\n\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(function (child) {\n return isValidElement(child);\n });\n}\n\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\n\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\n\nexport function nodesToString(children, i18nOptions) {\n if (!children) return '';\n var stringNode = '';\n var childrenArray = getAsArray(children);\n var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];\n childrenArray.forEach(function (child, childIndex) {\n if (typeof child === 'string') {\n stringNode += \"\".concat(child);\n } else if (isValidElement(child)) {\n var childPropsCount = Object.keys(child.props).length;\n var shouldKeepChild = keepArray.indexOf(child.type) > -1;\n var childChildren = child.props.children;\n\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += \"<\".concat(child.type, \"/>\");\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (child.props.i18nIsDynamicList) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += \"<\".concat(child.type, \">\").concat(childChildren, \"\");\n } else {\n var content = nodesToString(childChildren, i18nOptions);\n stringNode += \"<\".concat(childIndex, \">\").concat(content, \"\");\n }\n } else if (child === null) {\n warn(\"Trans: the passed in value is invalid - seems you passed in a null child.\");\n } else if (_typeof(child) === 'object') {\n var format = child.format,\n clone = _objectWithoutProperties(child, _excluded);\n\n var keys = Object.keys(clone);\n\n if (keys.length === 1) {\n var value = format ? \"\".concat(keys[0], \", \").concat(format) : keys[0];\n stringNode += \"{{\".concat(value, \"}}\");\n } else {\n warn(\"react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.\", child);\n }\n } else {\n warn(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\", child);\n }\n });\n return stringNode;\n}\n\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling) return [targetString];\n var data = {};\n\n function getData(childs) {\n var childrenArray = getAsArray(childs);\n childrenArray.forEach(function (child) {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if (_typeof(child) === 'object' && !isValidElement(child)) Object.assign(data, child);\n });\n }\n\n getData(children);\n var ast = HTML.parse(\"<0>\".concat(targetString, \"\"));\n\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\n\n function renderInner(child, node, rootReactNode) {\n var childs = getChildren(child);\n var mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;\n }\n\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) child.children = inner;\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), isVoid ? undefined : inner));\n }\n\n function mapAST(reactNode, astNode, rootReactNode) {\n var reactNodes = getAsArray(reactNode);\n var astNodes = getAsArray(astNode);\n return astNodes.reduce(function (mem, node, i) {\n var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n\n if (node.type === 'tag') {\n var tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n var child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n var isElement = isValidElement(child);\n var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement;\n var isKnownComponent = _typeof(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n\n if (typeof child === 'string') {\n var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n var inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n var _inner = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), _inner));\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n var _inner2 = renderInner(child, node, rootReactNode);\n\n pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }));\n } else {\n var _inner3 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _inner3));\n }\n } else if (node.voidElement) {\n mem.push(\"<\".concat(node.name, \" />\"));\n } else {\n var _inner4 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(\"<\".concat(node.name, \">\").concat(_inner4, \"\"));\n }\n } else if (_typeof(child) === 'object' && !isElement) {\n var content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else if (node.children.length === 1 && translationContent) {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), translationContent));\n } else {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n })));\n }\n } else if (node.type === 'text') {\n var wrapTextNodes = i18nOptions.transWrapTextNodes;\n\n var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _content));\n } else {\n mem.push(_content);\n }\n }\n\n return mem;\n }, []);\n }\n\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\n\nexport function Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = _objectWithoutProperties(_ref, _excluded2);\n\n var _ref2 = useContext(I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n if (context) tOptions.context = context;\n\n var reactI18nextOptions = _objectSpread(_objectSpread({}, getDefaults()), i18n.options && i18n.options.react);\n\n var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n var hashTransKey = reactI18nextOptions.hashTransKey;\n var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);\n var interpolationOverride = values ? tOptions.interpolation : {\n interpolation: _objectSpread(_objectSpread({}, tOptions.interpolation), {}, {\n prefix: '#$?',\n suffix: '?$#'\n })\n };\n\n var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\n });\n\n var translation = key ? t(key, combinedTOpts) : defaultValue;\n var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}","var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nvar htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nexport var unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createContext } from 'react';\nimport { unescape } from './unescape';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape: unescape\n};\nvar i18nInstance;\nexport var I18nContext = createContext();\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils';\n\nvar usePrevious = function usePrevious(value, ignore) {\n var ref = useRef();\n useEffect(function () {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\n\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var joinedNS = namespaces.join();\n var previousJoinedNS = usePrevious(joinedNS);\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, joinedNS]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n, keyPrefix]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\n}","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"forwardedRef\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createElement, forwardRef as forwardRefReact } from 'react';\nimport { useTranslation } from './useTranslation';\nimport { getDisplayName } from './utils';\nexport function withTranslation(ns) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function Extend(WrappedComponent) {\n function I18nextWithTranslation(_ref) {\n var forwardedRef = _ref.forwardedRef,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var _useTranslation = useTranslation(ns, _objectSpread(_objectSpread({}, rest), {}, {\n keyPrefix: options.keyPrefix\n })),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n var passDownProps = _objectSpread(_objectSpread({}, rest), {}, {\n t: t,\n i18n: i18n,\n tReady: ready\n });\n\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n\n return createElement(WrappedComponent, passDownProps);\n }\n\n I18nextWithTranslation.displayName = \"withI18nextTranslation(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n\n var forwardRef = function forwardRef(props, ref) {\n return createElement(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\n }));\n };\n\n return options.withRef ? forwardRefReact(forwardRef) : I18nextWithTranslation;\n };\n}"],"names":["consoleLogger","type","log","args","this","output","warn","error","console","apply","baseLogger","Logger","concreteLogger","options","arguments","length","undefined","init","key","value","prefix","logger","debug","bool","_len","Array","_key","forward","_len2","_key2","_len3","_key3","_len4","_key4","lvl","debugOnly","concat","moduleName","EventEmitter","observers","events","listener","_this","split","forEach","event","push","filter","l","observer","defer","res","rej","promise","Promise","resolve","reject","makeString","object","getLastOfPath","path","Empty","cleanKey","indexOf","replace","canNotTraverseDeeper","stack","shift","Object","prototype","hasOwnProperty","call","obj","k","setPath","newValue","_getLastOfPath","getPath","_getLastOfPath3","getPathWithDefaults","data","defaultData","deepExtend","target","source","overwrite","prop","String","regexEscape","str","_entityMap","escape","s","isIE10","window","navigator","userAgent","ResourceStore","_EventEmitter","ns","defaultNS","keySeparator","index","splice","lng","silent","addNamespaces","emit","resources","m","toString","addResource","deep","pack","hasResourceBundle","removeNamespaces","getResource","compatibilityAPI","postProcessor","processors","addPostProcessor","module","name","handle","translator","processor","process","checkedLoadedFor","Translator","services","a","t","create","language","interpolation","resolved","nsSeparator","namespaces","match","interpolator","nestingRegexp","parts","join","keys","lastKey","_this2","overloadTranslationOptionHandler","isArray","_this$extractFromKey","extractFromKey","namespace","appendNamespaceToCIMode","toLowerCase","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","copy","newKeyToUse","deepKey","translate","extendTranslation","usedDefault","needsPluralHandling","count","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","defaultValue","isValidLookup","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","i","toResolveHierarchy","send","fallbackValue","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","getSuffixes","suffix","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","parse","usedLng","usedNS","skipInterpolation","nestBef","skipOnVariables","nb","defaultVariables","interpolate","na","nest","context","reset","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","found","_this4","extracted","fallbackNS","needsContextHandling","codes","utils","hasLoadedNamespace","code","pluralSuffix","possibleKey","finalKey","finalKeys","addLookupKeys","contextSeparator","pop","returnNull","returnEmptyString","resourceStore","option","substring","capitalize","string","charAt","toUpperCase","slice","LanguageUtil","whitelist","supportedLngs","p","formatLanguageCode","specialCases","lowerCaseLng","map","part","cleanCode","deprecate","isSupportedCode","load","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","lngOnly","find","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","c","fc","sets","nr","_rulesPluralsTypes","n","Number","PluralResolver","rules","set","numbers","plurals","rule","getRule","number","idx","noAbs","Math","abs","simplifyPluralSuffix","returnSuffix","prepend","compatibilityJSON","Interpolator","format","escapeValue","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexp","RegExp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","val","handleFormat","trim","f","missingInterpolationHandler","regex","safeValue","todo","exec","temp","lastIndex","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","JSON","e","formatters","doReduce","includes","test","r","elem","reduce","v","Connector","backend","store","state","queue","languages","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","loaded","errors","err","addResourceBundle","q","_getLastOfPath2","arr","what","remove","done","fcName","tried","wait","setTimeout","read","queueLoad","loadOne","prepareLoading","_this5","isUpdate","transformOptions","nonExplicitWhitelist","noop","I18n","modules","external","isInitialized","isClone","initImmediate","createClassOnDemand","ClassOrObject","preload","pluralSeparator","partialBundledLanguages","ret","tDescription","_format","lu","bind","on","languageDetector","detection","_this2$store","_this2$store2","deferred","finish","changeLanguage","usedCallback","append","Error","isLanguageChangingTo","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","async","detect","fixedT","opts","rest","_this$translator","_this$translator2","exists","_this6","lastLng","loadNotPending","loadState","precheck","preResult","_this7","preloaded","newLngs","_this8","mergedOptions","clone","_excluded","_excluded2","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","getOwnPropertyDescriptors","defineProperties","defineProperty","hasChildren","node","checkLength","base","props","children","getChildren","getAsArray","nodesToString","i18nOptions","stringNode","childrenArray","keepArray","transSupportBasicHtmlNodes","transKeepBasicHtmlNodesFor","child","childIndex","isValidElement","childPropsCount","shouldKeepChild","childChildren","i18nIsDynamicList","content","Trans","_ref","parent","i18nKey","_ref$tOptions","tOptions","values","defaults","components","i18nFromProps","i18n","tFromProps","shouldUnescape","additionalProps","_ref2","useContext","i18nFromContext","defaultNSFromContext","reactI18nextOptions","react","transEmptyNodeValue","hashTransKey","interpolationOverride","combinedTOpts","targetString","emptyChildrenButNeedsHandling","getData","childs","assign","ast","renderInner","rootReactNode","mappedChildren","mapAST","every","hasValidReactChildren","pushTranslatedJSX","inner","mem","isVoid","dummy","cloneElement","reactNode","astNode","reactNodes","newTarget","translationContent","tmp","parseInt","attrs","isElement","isValidTranslationWithChildren","voidElement","isEmptyTransWithHTML","isKnownComponent","_inner","isNaN","parseFloat","createElement","_inner3","_inner4","wrapTextNodes","transWrapTextNodes","_content","unescape","renderNodes","useAsParent","defaultTransParent","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","i18nInstance","defaultOptions","bindI18n","bindI18nStore","useSuspense","text","I18nContext","createContext","getDefaults","ReportNamespaces","usedNamespaces","getI18n","initReactI18next","instance","setDefaults","setI18n","usePrevious","ignore","ref","useRef","useEffect","current","useTranslation","reportNamespaces","notReadyT","retNotReady","ready","keyPrefix","addUsedNamespaces","initializedStoreOnce","getT","getFixedT","nsMode","_useState","useState","_useState2","setT","joinedNS","previousJoinedNS","isMounted","boundReset","off","isInitial","_console","alreadyWarned","warnOnce","Date","loadNamespaces","cb","initialized","ignoreJSONStructure","oldI18nextHasLoadedNamespace","getDisplayName","Component","displayName","withTranslation","WrappedComponent","I18nextWithTranslation","forwardedRef","_useTranslation","_useTranslation2","passDownProps","tReady","withRef","forwardRef"],"sourceRoot":""}