{"version":3,"file":"js/456-3c2b62cc16f618efd66f.js","mappings":"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","sources":["webpack://sunseasons24/./node_modules/react/cjs/react.production.min.js","webpack://sunseasons24/./node_modules/react/index.js","webpack://sunseasons24/./node_modules/void-elements/index.js","webpack://sunseasons24/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://sunseasons24/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://sunseasons24/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://sunseasons24/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://sunseasons24/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://sunseasons24/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://sunseasons24/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://sunseasons24/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://sunseasons24/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://sunseasons24/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://sunseasons24/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://sunseasons24/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://sunseasons24/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://sunseasons24/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://sunseasons24/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://sunseasons24/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://sunseasons24/./node_modules/@babel/runtime/helpers/esm/toArray.js","webpack://sunseasons24/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://sunseasons24/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://sunseasons24/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://sunseasons24/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://sunseasons24/./node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","webpack://sunseasons24/./node_modules/i18next/dist/esm/i18next.js","webpack://sunseasons24/./node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://sunseasons24/./node_modules/react-i18next/dist/es/utils.js","webpack://sunseasons24/./node_modules/react-i18next/dist/es/unescape.js","webpack://sunseasons24/./node_modules/react-i18next/dist/es/defaults.js","webpack://sunseasons24/./node_modules/react-i18next/dist/es/i18nInstance.js","webpack://sunseasons24/./node_modules/react-i18next/dist/es/TransWithoutContext.js","webpack://sunseasons24/./node_modules/react-i18next/dist/es/initReactI18next.js","webpack://sunseasons24/./node_modules/react-i18next/dist/es/context.js","webpack://sunseasons24/./node_modules/react-i18next/dist/es/Trans.js","webpack://sunseasons24/./node_modules/react-i18next/dist/es/useTranslation.js","webpack://sunseasons24/./node_modules/react-i18next/dist/es/withTranslation.js","webpack://sunseasons24/./node_modules/react-i18next/dist/es/I18nextProvider.js"],"sourcesContent":["/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1 arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\n\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\nfunction defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\n\n// eslint-disable-next-line no-control-regex\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\nvar serializeCookie = function serializeCookie(name, val, options) {\n var opt = options || {};\n opt.path = opt.path || '/';\n var value = encodeURIComponent(val);\n var str = \"\".concat(name, \"=\").concat(value);\n if (opt.maxAge > 0) {\n var maxAge = opt.maxAge - 0;\n if (Number.isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += \"; Max-Age=\".concat(Math.floor(maxAge));\n }\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n str += \"; Domain=\".concat(opt.domain);\n }\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n str += \"; Path=\".concat(opt.path);\n }\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n str += \"; Expires=\".concat(opt.expires.toUTCString());\n }\n if (opt.httpOnly) str += '; HttpOnly';\n if (opt.secure) str += '; Secure';\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n return str;\n};\nvar cookie = {\n create: function create(name, value, minutes, domain) {\n var cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n path: '/',\n sameSite: 'strict'\n };\n if (minutes) {\n cookieOptions.expires = new Date();\n cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000);\n }\n if (domain) cookieOptions.domain = domain;\n document.cookie = serializeCookie(name, encodeURIComponent(value), cookieOptions);\n },\n read: function read(name) {\n var nameEQ = \"\".concat(name, \"=\");\n var ca = document.cookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) === ' ') {\n c = c.substring(1, c.length);\n }\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n },\n remove: function remove(name) {\n this.create(name, '', -1);\n }\n};\nvar cookie$1 = {\n name: 'cookie',\n lookup: function lookup(options) {\n var found;\n if (options.lookupCookie && typeof document !== 'undefined') {\n var c = cookie.read(options.lookupCookie);\n if (c) found = c;\n }\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupCookie && typeof document !== 'undefined') {\n cookie.create(options.lookupCookie, lng, options.cookieMinutes, options.cookieDomain, options.cookieOptions);\n }\n }\n};\n\nvar querystring = {\n name: 'querystring',\n lookup: function lookup(options) {\n var found;\n if (typeof window !== 'undefined') {\n var search = window.location.search;\n if (!window.location.search && window.location.hash && window.location.hash.indexOf('?') > -1) {\n search = window.location.hash.substring(window.location.hash.indexOf('?'));\n }\n var query = search.substring(1);\n var params = query.split('&');\n for (var i = 0; i < params.length; i++) {\n var pos = params[i].indexOf('=');\n if (pos > 0) {\n var key = params[i].substring(0, pos);\n if (key === options.lookupQuerystring) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n return found;\n }\n};\n\nvar hasLocalStorageSupport = null;\nvar localStorageAvailable = function localStorageAvailable() {\n if (hasLocalStorageSupport !== null) return hasLocalStorageSupport;\n try {\n hasLocalStorageSupport = window !== 'undefined' && window.localStorage !== null;\n var testKey = 'i18next.translate.boo';\n window.localStorage.setItem(testKey, 'foo');\n window.localStorage.removeItem(testKey);\n } catch (e) {\n hasLocalStorageSupport = false;\n }\n return hasLocalStorageSupport;\n};\nvar localStorage = {\n name: 'localStorage',\n lookup: function lookup(options) {\n var found;\n if (options.lookupLocalStorage && localStorageAvailable()) {\n var lng = window.localStorage.getItem(options.lookupLocalStorage);\n if (lng) found = lng;\n }\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupLocalStorage && localStorageAvailable()) {\n window.localStorage.setItem(options.lookupLocalStorage, lng);\n }\n }\n};\n\nvar hasSessionStorageSupport = null;\nvar sessionStorageAvailable = function sessionStorageAvailable() {\n if (hasSessionStorageSupport !== null) return hasSessionStorageSupport;\n try {\n hasSessionStorageSupport = window !== 'undefined' && window.sessionStorage !== null;\n var testKey = 'i18next.translate.boo';\n window.sessionStorage.setItem(testKey, 'foo');\n window.sessionStorage.removeItem(testKey);\n } catch (e) {\n hasSessionStorageSupport = false;\n }\n return hasSessionStorageSupport;\n};\nvar sessionStorage = {\n name: 'sessionStorage',\n lookup: function lookup(options) {\n var found;\n if (options.lookupSessionStorage && sessionStorageAvailable()) {\n var lng = window.sessionStorage.getItem(options.lookupSessionStorage);\n if (lng) found = lng;\n }\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupSessionStorage && sessionStorageAvailable()) {\n window.sessionStorage.setItem(options.lookupSessionStorage, lng);\n }\n }\n};\n\nvar navigator$1 = {\n name: 'navigator',\n lookup: function lookup(options) {\n var found = [];\n if (typeof navigator !== 'undefined') {\n if (navigator.languages) {\n // chrome only; not an array, so can't use .push.apply instead of iterating\n for (var i = 0; i < navigator.languages.length; i++) {\n found.push(navigator.languages[i]);\n }\n }\n if (navigator.userLanguage) {\n found.push(navigator.userLanguage);\n }\n if (navigator.language) {\n found.push(navigator.language);\n }\n }\n return found.length > 0 ? found : undefined;\n }\n};\n\nvar htmlTag = {\n name: 'htmlTag',\n lookup: function lookup(options) {\n var found;\n var htmlTag = options.htmlTag || (typeof document !== 'undefined' ? document.documentElement : null);\n if (htmlTag && typeof htmlTag.getAttribute === 'function') {\n found = htmlTag.getAttribute('lang');\n }\n return found;\n }\n};\n\nvar path = {\n name: 'path',\n lookup: function lookup(options) {\n var found;\n if (typeof window !== 'undefined') {\n var language = window.location.pathname.match(/\\/([a-zA-Z-]*)/g);\n if (language instanceof Array) {\n if (typeof options.lookupFromPathIndex === 'number') {\n if (typeof language[options.lookupFromPathIndex] !== 'string') {\n return undefined;\n }\n found = language[options.lookupFromPathIndex].replace('/', '');\n } else {\n found = language[0].replace('/', '');\n }\n }\n }\n return found;\n }\n};\n\nvar subdomain = {\n name: 'subdomain',\n lookup: function lookup(options) {\n // If given get the subdomain index else 1\n var lookupFromSubdomainIndex = typeof options.lookupFromSubdomainIndex === 'number' ? options.lookupFromSubdomainIndex + 1 : 1;\n // get all matches if window.location. is existing\n // first item of match is the match itself and the second is the first group macht which sould be the first subdomain match\n // is the hostname no public domain get the or option of localhost\n var language = typeof window !== 'undefined' && window.location && window.location.hostname && window.location.hostname.match(/^(\\w{2,5})\\.(([a-z0-9-]{1,63}\\.[a-z]{2,6})|localhost)/i);\n\n // if there is no match (null) return undefined\n if (!language) return undefined;\n // return the given group match\n return language[lookupFromSubdomainIndex];\n }\n};\n\nfunction getDefaults() {\n return {\n order: ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag'],\n lookupQuerystring: 'lng',\n lookupCookie: 'i18next',\n lookupLocalStorage: 'i18nextLng',\n lookupSessionStorage: 'i18nextLng',\n // cache user language\n caches: ['localStorage'],\n excludeCacheFor: ['cimode'],\n // cookieMinutes: 10,\n // cookieDomain: 'myDomain'\n\n convertDetectedLanguage: function convertDetectedLanguage(l) {\n return l;\n }\n };\n}\nvar Browser = /*#__PURE__*/function () {\n function Browser(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Browser);\n this.type = 'languageDetector';\n this.detectors = {};\n this.init(services, options);\n }\n _createClass(Browser, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services || {\n languageUtils: {}\n }; // this way the language detector can be used without i18next\n this.options = defaults(options, this.options || {}, getDefaults());\n if (typeof this.options.convertDetectedLanguage === 'string' && this.options.convertDetectedLanguage.indexOf('15897') > -1) {\n this.options.convertDetectedLanguage = function (l) {\n return l.replace('-', '_');\n };\n }\n\n // backwards compatibility\n if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex;\n this.i18nOptions = i18nOptions;\n this.addDetector(cookie$1);\n this.addDetector(querystring);\n this.addDetector(localStorage);\n this.addDetector(sessionStorage);\n this.addDetector(navigator$1);\n this.addDetector(htmlTag);\n this.addDetector(path);\n this.addDetector(subdomain);\n }\n }, {\n key: \"addDetector\",\n value: function addDetector(detector) {\n this.detectors[detector.name] = detector;\n }\n }, {\n key: \"detect\",\n value: function detect(detectionOrder) {\n var _this = this;\n if (!detectionOrder) detectionOrder = this.options.order;\n var detected = [];\n detectionOrder.forEach(function (detectorName) {\n if (_this.detectors[detectorName]) {\n var lookup = _this.detectors[detectorName].lookup(_this.options);\n if (lookup && typeof lookup === 'string') lookup = [lookup];\n if (lookup) detected = detected.concat(lookup);\n }\n });\n detected = detected.map(function (d) {\n return _this.options.convertDetectedLanguage(d);\n });\n if (this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0\n return detected.length > 0 ? detected[0] : null; // a little backward compatibility\n }\n }, {\n key: \"cacheUserLanguage\",\n value: function cacheUserLanguage(lng, caches) {\n var _this2 = this;\n if (!caches) caches = this.options.caches;\n if (!caches) return;\n if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return;\n caches.forEach(function (cacheName) {\n if (_this2.detectors[cacheName]) _this2.detectors[cacheName].cacheUserLanguage(lng, _this2.options);\n });\n }\n }]);\n return Browser;\n}();\nBrowser.type = 'languageDetector';\n\nexport { Browser as default };\n","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _toArray from '@babel/runtime/helpers/esm/toArray';\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Logger);\n this.init(concreteLogger, options);\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 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 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 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 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$6(_objectSpread$6({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n this.observers = {};\n }\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\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 if (!listener) {\n delete this.observers[event];\n return;\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 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 if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\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}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\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 if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\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 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 if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (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 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 return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n var _super = _createSuper$3(ResourceStore);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck(this, ResourceStore);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\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 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 ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\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 if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\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 = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\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 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 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 if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$5(_objectSpread$5({}, pack), resources);\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 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$5(_objectSpread$5({}, {}), 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: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\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 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\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n var _super = _createSuper$2(Translator);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Translator);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\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 if (key === undefined || key === null) {\n return false;\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 var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\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 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 if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (_typeof(options) === 'object') options = _objectSpread$4({}, options);\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: \"\".concat(namespace).concat(nsSeparator).concat(key),\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return key;\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 if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\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$4(_objectSpread$4({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n 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, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, 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 var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\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 var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).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 res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), {\n interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\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 if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = resolved.usedLng;\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\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 var extracted = _this4.extractFromKey(k, options);\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 needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && 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 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 _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 codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\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, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n var possibleKey;\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 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 return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\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 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 return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : 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 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 if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\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 var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\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 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 fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\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', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\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};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\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}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n _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 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\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 return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction deepFindWithDefaults(data, defaultData, key) {\n var keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n var ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && typeof key === 'string') {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n}\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\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 var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = deepFindWithDefaults(data, defaultData, key, _this.options.keySeparator, _this.options.ignoreJSONStructure);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\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(deepFindWithDefaults(data, defaultData, k, _this.options.keySeparator, _this.options.ignoreJSONStructure), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? 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 while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\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 (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions;\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 var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, 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 delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n clonedOptions = _objectSpread$3({}, options);\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n var doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.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 value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray(_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Formatter);\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, opt), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val, opt.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n _createClass(Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng) {\n var _this = this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var formats = _format.split(this.formatSeparator);\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n if (_this.formats[formatName]) {\n var formatted = mem;\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n return mem;\n }, value);\n return result;\n }\n }]);\n return Formatter;\n}();\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n var _super = _createSuper$1(Connector);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck(this, Connector);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\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.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\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 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[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\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 if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(function (n) {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n this.readingCalls++;\n var resolver = function resolver(err, data) {\n _this3.readingCalls--;\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n var fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n var r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return resolver(null, data);\n })[\"catch\"](resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(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 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 _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 var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {};\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 if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n var opts = _objectSpread$1(_objectSpread$1({}, options), {}, {\n isUpdate: isUpdate\n });\n var fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n var r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return clb(null, data);\n })[\"catch\"](clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n 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 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 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 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: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n var _super = _createSuper(I18n);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck(this, I18n);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized(_this));\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n var defOpts = get();\n this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options));\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation);\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\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 if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _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 this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\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 if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\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 (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _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 _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\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 if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\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 if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\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 if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n _this4.setResolvedLanguage(l);\n };\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\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 var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(function (k) {\n return \"\".concat(options.keyPrefix).concat(keySeparator).concat(k);\n });\n } else {\n resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n }\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\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 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 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = options.lng || this.resolvedLanguage || 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 var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(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 if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\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.resolvedLanguage || (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', 'ckb'];\n var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\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 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 key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\n_defineProperty(I18n, \"createInstance\", function () {\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});\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nvar createInstance = instance.createInstance;\nvar dir = instance.dir;\nvar init = instance.init;\nvar loadResources = instance.loadResources;\nvar reloadResources = instance.reloadResources;\nvar use = instance.use;\nvar changeLanguage = instance.changeLanguage;\nvar getFixedT = instance.getFixedT;\nvar t = instance.t;\nvar exists = instance.exists;\nvar setDefaultNamespace = instance.setDefaultNamespace;\nvar hasLoadedNamespace = instance.hasLoadedNamespace;\nvar loadNamespaces = instance.loadNamespaces;\nvar loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","import e from\"void-elements\";var t=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;function n(n){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=n.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(e[i[1]]||\"/\"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=n.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?n.slice(4,s):\"\"}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,\"\"];o.indexOf(\"=\")>-1&&(l=o.split(\"=\")),r.attrs[l[0]]=l[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,i=/^\\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(a,\"\")+\"\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf(\"<\")){var u=e.indexOf(\"<\");c.push({type:\"text\",content:-1===u?e:e.substring(0,u)})}return e.replace(r,function(r,s){if(m){if(r!==\"\")return;m=!1}var u,f=\"/\"!==r.charAt(1),h=r.startsWith(\"\\x3c!--\"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,\"tag\"===(a=n(r)).type&&t.components[a.name]&&(a.type=\"component\",m=!0),a.voidElement||m||!d||\"<\"===d||a.children.push({type:\"text\",content:e.slice(p,e.indexOf(\"<\",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&\"<\"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf(\"<\",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=\" \"),(x>-1&&l+u.length>=0||\" \"!==g)&&u.push({type:\"text\",content:g})}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a(\"\",t)},\"\")}};export default c;\n//# sourceMappingURL=html-parse-stringify.module.js.map\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}\n\nvar loadedClb = function loadedClb(i18n, cb) {\n return 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\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, loadedClb(i18n, cb));\n}\nexport function loadLanguages(i18n, lng, ns, cb) {\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (i18n.options.ns.indexOf(n) < 0) i18n.options.ns.push(n);\n });\n i18n.loadLanguages(lng, loadedClb(i18n, cb));\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 lng: options.lng,\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}","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 _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 { unescape } from './unescape.js';\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};\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}","var i18nInstance;\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\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 { isValidElement, cloneElement, createElement } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { warn, warnOnce } from './utils.js';\nimport { getDefaults } from './defaults.js';\nimport { getI18n } from './i18nInstance.js';\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 i18n = i18nFromProps || 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 || 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}","import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\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 { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport var I18nContext = createContext();\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 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 _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"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 } from 'react';\nimport { nodesToString, Trans as TransWithoutContext } from './TransWithoutContext.js';\nimport { getI18n, I18nContext } from './context.js';\nexport { nodesToString };\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, _excluded);\n\n var _ref2 = useContext(I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n var t = tFromProps || i18n && i18n.t.bind(i18n);\n return TransWithoutContext(_objectSpread({\n children: children,\n count: count,\n parent: parent,\n i18nKey: i18nKey,\n context: context,\n tOptions: tOptions,\n values: values,\n defaults: defaults,\n components: components,\n ns: ns || t && t.ns || defaultNSFromContext || i18n && i18n.options && i18n.options.defaultNS,\n i18n: i18n,\n t: tFromProps,\n shouldUnescape: shouldUnescape\n }, additionalProps));\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\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.js';\nimport { warnOnce, loadNamespaces, loadLanguages, hasLoadedNamespace } from './utils.js';\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, optsOrDefaultValue) {\n if (typeof optsOrDefaultValue === 'string') return optsOrDefaultValue;\n if (optsOrDefaultValue && _typeof(optsOrDefaultValue) === 'object' && typeof optsOrDefaultValue.defaultValue === 'string') return optsOrDefaultValue.defaultValue;\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(props.lng || 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 if (props.lng) joinedNS = \"\".concat(props.lng).concat(joinedNS);\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 if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n } else {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\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 if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, function () {\n return resolve();\n });\n } else {\n loadNamespaces(i18n, namespaces, function () {\n return resolve();\n });\n }\n });\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.js';\nimport { getDisplayName } from './utils.js';\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}","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context.js';\nexport function I18nextProvider(_ref) {\n var i18n = _ref.i18n,\n defaultNS = _ref.defaultNS,\n children = _ref.children;\n var value = useMemo(function () {\n return {\n i18n: i18n,\n defaultNS: defaultNS\n };\n }, [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value: value\n }, children);\n}"],"names":["l","Symbol","for","n","p","q","r","t","u","v","w","x","y","z","iterator","B","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","C","Object","assign","D","E","a","b","e","this","props","context","refs","updater","F","G","prototype","isReactComponent","setState","Error","forceUpdate","H","constructor","isPureReactComponent","I","Array","isArray","J","hasOwnProperty","K","current","L","key","ref","__self","__source","M","d","c","k","h","call","g","arguments","length","children","f","m","defaultProps","$$typeof","type","_owner","O","P","Q","replace","escape","toString","R","N","push","A","next","done","value","String","keys","join","S","T","_status","_result","then","default","U","V","transition","W","ReactCurrentDispatcher","ReactCurrentBatchConfig","ReactCurrentOwner","exports","Children","map","forEach","apply","count","toArray","only","Component","Fragment","Profiler","PureComponent","StrictMode","Suspense","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","cloneElement","createContext","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","_context","createElement","createFactory","bind","createRef","forwardRef","render","isValidElement","lazy","_payload","_init","memo","compare","startTransition","unstable_act","useCallback","useContext","useDebugValue","useDeferredValue","useEffect","useId","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useSyncExternalStore","useTransition","version","module","_arrayLikeToArray","arr","len","i","arr2","_arrayWithHoles","_assertThisInitialized","self","ReferenceError","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","descriptor","enumerable","configurable","writable","defineProperty","_createClass","protoProps","staticProps","_defineProperty","obj","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_inherits","subClass","superClass","create","_iterableToArray","iter","from","_nonIterableRest","_objectWithoutProperties","source","excluded","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","_objectWithoutPropertiesLoose","sourceKeys","_possibleConstructorReturn","_setPrototypeOf","_slicedToArray","arrayWithHoles","_i","_s","_e","_x","_r","_arr","_n","_d","err","unsupportedIterableToArray","nonIterableRest","_toArray","_toPropertyKey","arg","input","hint","prim","toPrimitive","undefined","res","Number","_typeof","_unsupportedIterableToArray","minLen","slice","name","test","each","fieldContentRegExp","cookie","minutes","domain","cookieOptions","path","sameSite","expires","Date","setTime","getTime","document","val","options","opt","encodeURIComponent","str","concat","maxAge","isNaN","Math","floor","toUTCString","httpOnly","secure","toLowerCase","serializeCookie","nameEQ","ca","split","charAt","substring","cookie$1","lookup","found","lookupCookie","cacheUserLanguage","lng","cookieMinutes","cookieDomain","querystring","window","search","location","hash","params","pos","lookupQuerystring","hasLocalStorageSupport","localStorageAvailable","localStorage","testKey","setItem","removeItem","lookupLocalStorage","getItem","hasSessionStorageSupport","sessionStorageAvailable","sessionStorage","lookupSessionStorage","navigator$1","navigator","languages","userLanguage","language","htmlTag","documentElement","getAttribute","pathname","match","lookupFromPathIndex","subdomain","lookupFromSubdomainIndex","hostname","Browser","services","detectors","init","i18nOptions","languageUtils","prop","defaults","order","caches","excludeCacheFor","convertDetectedLanguage","lookupFromUrlIndex","addDetector","detector","detectionOrder","_this","detected","detectorName","getBestMatchFromCodes","_this2","cacheName","ownKeys$6","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","_objectSpread$6","getOwnPropertyDescriptors","defineProperties","consoleLogger","log","args","output","warn","error","console","baseLogger","Logger","concreteLogger","prefix","logger","debug","bool","_len","_key","forward","_len2","_key2","_len3","_key3","_len4","_key4","lvl","debugOnly","moduleName","EventEmitter","observers","events","listener","event","observer","defer","rej","promise","Promise","resolve","reject","makeString","getLastOfPath","Empty","cleanKey","canNotTraverseDeeper","stack","shift","setPath","newValue","_getLastOfPath","getPath","_getLastOfPath3","deepExtend","overwrite","regexEscape","_entityMap","data","s","isIE10","userAgentData","userAgent","chars","deepFind","keySeparator","paths","j","mix","endsWith","joinedPath","ownKeys$5","_objectSpread$5","_createSuper$3","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_isNativeReflectConstruct$3","result","Super","NewTarget","ResourceStore","_EventEmitter","_super","ns","defaultNS","ignoreJSONStructure","index","splice","silent","addNamespaces","emit","resources","addResource","deep","pack","hasResourceBundle","removeNamespaces","getResource","compatibilityAPI","getDataByLanguage","find","postProcessor","processors","addPostProcessor","handle","translator","processor","process","ownKeys$4","_objectSpread$4","_createSuper$2","_isNativeReflectConstruct$2","checkedLoadedFor","Translator","copy","interpolation","resolved","nsSeparator","namespaces","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","possibleChars","RegExp","matched","ki","looksLikeObjectPath","interpolator","nestingRegexp","parts","lastKey","overloadTranslationOptionHandler","returnDetails","_this$extractFromKey","extractFromKey","namespace","appendNamespaceToCIMode","usedKey","exactUsedKey","usedLng","usedNS","resUsedKey","resExactUsedKey","resType","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","translate","extendTranslation","usedDefault","needsPluralHandling","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","defaultValue","isValidLookup","resForMissing","missingKeyNoValueFallbackToKey","updateMissing","fk","lngs","fallbackLngs","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","send","specificDefaultValue","defaultForMissing","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","getSuffixes","suffix","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","parse","defaultVariables","skipInterpolation","nestBef","skipOnVariables","nb","interpolate","na","nest","reset","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","_this4","extracted","fallbackNS","needsZeroSuffixLookup","ordinal","shouldUseIntlApi","needsContextHandling","codes","utils","hasLoadedNamespace","code","possibleKey","finalKeys","addLookupKeys","pluralSuffix","zeroSuffix","pluralSeparator","contextKey","contextSeparator","pop","returnNull","returnEmptyString","resourceStore","option","capitalize","string","toUpperCase","LanguageUtil","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","part","cleanCode","load","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","isSupportedCode","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","deprecatedJsonVersions","suffixesOrder","zero","one","two","few","many","other","PluralResolver","rules","compatibilityJSON","Intl","PluralRules","set","numbers","plurals","_unused","rule","getRule","resolvedOptions","pluralCategories","sort","pluralCategory1","pluralCategory2","pluralCategory","prepend","number","select","getSuffixRetroCompatible","idx","noAbs","abs","simplifyPluralSuffix","returnSuffix","includes","ownKeys$3","_objectSpread$3","deepFindWithDefaults","defaultData","getPathWithDefaults","Interpolator","format","escapeValue","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","handleFormat","interpolationkey","trim","missingInterpolationHandler","regex","safeValue","todo","exec","matchedVar","temp","lastIndex","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","JSON","formatters","doReduce","elem","reduce","ownKeys$2","_objectSpread$2","createCachedFormatter","fn","cache","stringify","formatter","Formatter","formats","NumberFormat","currency","style","datetime","DateTimeFormat","relativetime","RelativeTimeFormat","range","list","ListFormat","_format","mem","_parseFormatStr","formatStr","formatName","formatOptions","optStr","_opt$split","_opt$split2","parseInt","parseFormatStr","formatted","valOptions","formatParams","locale","ownKeys$1","_objectSpread$1","_createSuper$1","_isNativeReflectConstruct$1","Connector","backend","store","waitingReads","maxParallelReads","readingCalls","maxRetries","retryTimeout","state","queue","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","pendingCount","loaded","errors","addResourceBundle","_getLastOfPath2","removePending","loadedKeys","fcName","tried","wait","resolver","read","setTimeout","queueLoad","loadOne","prepareLoading","_this5","fallbackValue","isUpdate","clb","opts","get","initImmediate","preload","partialBundledLanguages","ret","tDescription","transformOptions","ownKeys","_objectSpread","_createSuper","_isNativeReflectConstruct","noop","I18n","inst","modules","external","getOwnPropertyNames","isInitialized","isClone","defOpts","createClassOnDemand","ClassOrObject","lu","on","languageDetector","detection","_this2$store","_this2$store2","deferred","finish","initializedStoreOnce","changeLanguage","usedCallback","append","resolvedLanguage","setResolvedLanguage","li","lngInLngs","hasLanguageSomeTranslations","isLanguageChangingTo","setLngProps","setLng","loadResources","async","detect","keyPrefix","fixedT","rest","resultKey","_this$translator","_this$translator2","exists","_this6","lastLng","loadNotPending","loadState","precheck","preResult","_this7","preloaded","newLngs","_this8","mergedOptions","clone","createInstance","dir","reloadResources","use","getFixedT","setDefaultNamespace","loadNamespaces","loadLanguages","voidElement","attrs","startsWith","comment","content","components","_console","alreadyWarned","warnOnce","loadedClb","i18n","cb","initialized","off","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","i18nInstance","defaultOptions","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transWrapTextNodes","transKeepBasicHtmlNodesFor","useSuspense","unescape","text","getDefaults","_excluded","_excluded2","hasChildren","node","checkLength","base","getChildren","getAsArray","nodesToString","stringNode","childrenArray","keepArray","child","childIndex","childPropsCount","shouldKeepChild","childChildren","i18nIsDynamicList","renderNodes","targetString","combinedTOpts","shouldUnescape","emptyChildrenButNeedsHandling","getData","childs","ast","renderInner","rootReactNode","mappedChildren","mapAST","every","hasValidReactChildren","pushTranslatedJSX","inner","isVoid","dummy","reactNode","astNode","reactNodes","newTarget","translationContent","tmp","isElement","isValidTranslationWithChildren","isEmptyTransWithHTML","isKnownComponent","_inner","parseFloat","_inner3","_inner4","wrapTextNodes","_content","Trans","_ref","parent","i18nKey","_ref$tOptions","tOptions","values","i18nFromProps","tFromProps","additionalProps","reactI18nextOptions","react","hashTransKey","interpolationOverride","useAsParent","defaultTransParent","initReactI18next","setDefaults","setI18n","ReportNamespaces","usedNamespaces","_ref2","i18nFromContext","defaultNSFromContext","usePrevious","ignore","reportNamespaces","notReadyT","optsOrDefaultValue","retNotReady","ready","addUsedNamespaces","oldI18nextHasLoadedNamespace","getT","nsMode","_useState","_useState2","setT","joinedNS","previousJoinedNS","boundReset","isInitial","withTranslation","WrappedComponent","I18nextWithTranslation","forwardedRef","_useTranslation","_useTranslation2","passDownProps","tReady","withRef","displayName","I18nextProvider"],"sourceRoot":""}