{"version":3,"file":"commons-b736db456d5ac71b779e.js","mappings":"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","sources":["webpack://norion-landing/./node_modules/@mui/icons-material/esm/Email.js","webpack://norion-landing/./node_modules/react-cookie/es6/CookiesProvider.js","webpack://norion-landing/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://norion-landing/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://norion-landing/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://norion-landing/./node_modules/i18next/dist/esm/i18next.js","webpack://norion-landing/./node_modules/i18next-xhr-backend/dist/esm/i18nextXHRBackend.js","webpack://norion-landing/./node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","webpack://norion-landing/./src/locales/i18n.ts","webpack://norion-landing/./src/layouts/MainLayout/MainLayout.tsx","webpack://norion-landing/./src/pages-components/common/ContactSection/ContactSection.tsx","webpack://norion-landing/./src/pages-components/common/ContactSection/styles.ts","webpack://norion-landing/./src/pages-components/common/TextAndImage/TextAndImage.tsx","webpack://norion-landing/./src/pages-components/common/TextAndImage/styles.ts","webpack://norion-landing/./src/pages-components/common/WroteAboutUs/WroteAboutUs.tsx","webpack://norion-landing/./src/pages-components/common/WroteAboutUs/styles.ts","webpack://norion-landing/./src/pages-components/home/ContactBelt/ContactBelt.tsx","webpack://norion-landing/./src/pages-components/home/ContactBelt/styles.ts","webpack://norion-landing/./src/pages-components/home/Capabilities/Capabilities.tsx","webpack://norion-landing/./src/pages-components/home/Capabilities/styles.ts","webpack://norion-landing/./node_modules/@mui/material/Hidden/withWidth.js","webpack://norion-landing/./node_modules/@mui/material/Hidden/HiddenJs.js","webpack://norion-landing/./node_modules/@mui/material/Hidden/hiddenCssClasses.js","webpack://norion-landing/./node_modules/@mui/material/Hidden/HiddenCss.js","webpack://norion-landing/./node_modules/@mui/material/Hidden/Hidden.js","webpack://norion-landing/./src/pages-components/home/DemocraticAccess/DemocraticAccess.tsx","webpack://norion-landing/./src/pages-components/home/DemocraticAccess/styles.ts","webpack://norion-landing/./node_modules/@mui/icons-material/esm/HelpRounded.js","webpack://norion-landing/./src/pages-components/home/Heading/Heading.tsx","webpack://norion-landing/./src/pages-components/home/Heading/styles.ts","webpack://norion-landing/./src/pages-components/home/HomeLayout/HomeLayout.tsx","webpack://norion-landing/./src/pages-components/home/Tokenization/Tokenization.tsx","webpack://norion-landing/./src/pages-components/home/Tokenization/styles.ts"],"sourcesContent":["import createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z\"\n}), 'Email');","var __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nimport * as React from 'react';\nimport Cookies from 'universal-cookie';\nimport { Provider } from './CookiesContext';\n\nvar CookiesProvider =\n/** @class */\nfunction (_super) {\n __extends(CookiesProvider, _super);\n\n function CookiesProvider(props) {\n var _this = _super.call(this, props) || this;\n\n if (props.cookies) {\n _this.cookies = props.cookies;\n } else {\n _this.cookies = new Cookies();\n }\n\n return _this;\n }\n\n CookiesProvider.prototype.render = function () {\n return React.createElement(Provider, {\n value: this.cookies\n }, this.props.children);\n };\n\n return CookiesProvider;\n}(React.Component);\n\nexport default CookiesProvider;","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}","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 _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 _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 _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread(_objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }]);\n\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n\n if (!listener) {\n delete this.observers[event];\n return;\n }\n\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\n\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\n\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\n\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\n\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\n\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n\n if (value !== undefined) {\n return value;\n }\n\n return getPath(defaultData, key);\n}\n\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n\n return target;\n}\n\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\n\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\n\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}\n\nvar isIE10 = typeof window !== 'undefined' && window.navigator && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\n\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\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n\n return matched;\n}\n\nfunction ownKeys$1(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread$1(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys$1(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys$1(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\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\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\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\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\n if (mix === undefined) return undefined;\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n\n current = current[paths[i]];\n }\n\n return current;\n}\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n\n var _super = _createSuper(ResourceStore);\n\n function ResourceStore(data) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck(this, ResourceStore);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.data = data || {};\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n\n return _this;\n }\n\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var 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\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\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 = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$1(_objectSpread$1({}, pack), resources);\n }\n\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$1(_objectSpread$1({}, {}), 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\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$2(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread$2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys$2(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys$2(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _createSuper$1(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct$1();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _isNativeReflectConstruct$1() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar checkedLoadedFor = {};\n\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n var _super = _createSuper$1(Translator);\n\n function Translator(services) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Translator);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n\n if (key === undefined || key === null) {\n return false;\n }\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\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n return namespace + nsSeparator + key;\n }\n\n return key;\n }\n\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n\n return this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$2(_objectSpread$2({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n }\n\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$2(_objectSpread$2({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$2(_objectSpread$2({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n\n var send = function send(l, k, fallbackValue) {\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, updateMissing ? fallbackValue : resForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, updateMissing ? fallbackValue : resForMissing, updateMissing, options);\n }\n\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) res = this.options.parseMissingKeyHandler(res);\n }\n\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, options, resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$2(_objectSpread$2({}, options), {\n interpolation: _objectSpread$2(_objectSpread$2({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var nestBef;\n\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$2(_objectSpread$2({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n\n return null;\n }\n\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$2({\n i18nResolved: resolved\n }, options) : options, this);\n }\n\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n\n var extracted = _this4.extractFromKey(k, options);\n\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || 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\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKey = key;\n var finalKeys = [finalKey];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n if (needsPluralHandling && needsContextHandling) finalKeys.push(finalKey + pluralSuffix);\n if (needsContextHandling) finalKeys.push(finalKey += \"\".concat(_this4.options.contextSeparator).concat(options.context));\n if (needsPluralHandling) finalKeys.push(finalKey += pluralSuffix);\n }\n\n var possibleKey;\n\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n\n return false;\n }\n }]);\n\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n\n var cleanedLng = _this.formatLanguageCode(code);\n\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n\n var lngOnly = _this.getLanguagePartFromCode(code);\n\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(c) {\n if (!c) return;\n\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', '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};\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n\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\n this.rules = createRules();\n }\n\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\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\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\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\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\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (!rule) {\n return [];\n }\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\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\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n\n return this.getSuffixRetroCompatible(rule, count);\n }\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\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread$3(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys$3(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys$3(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.init(options);\n }\n\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n\n while (match = todo.regex.exec(str)) {\n value = handleFormat(match[1].trim());\n\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(match[1], \" for interpolating \").concat(str));\n\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n\n if (skipOnVariables) {\n todo.regex.lastIndex += safeValue.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n\n replaces++;\n\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n\n var clonedOptions = _objectSpread$3({}, options);\n\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n optionsString = optionsString.replace(/'/g, '\"');\n\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$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\n delete clonedOptions.defaultValue;\n return key;\n }\n\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n\n if (match[0].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\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n }\n }]);\n\n return Interpolator;\n}();\n\nfunction ownKeys$4(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread$4(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys$4(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys$4(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n\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\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\n var _opt$split = opt.split(':'),\n _opt$split2 = _slicedToArray(_opt$split, 2),\n key = _opt$split2[0],\n val = _opt$split2[1];\n\n if (val.trim() === 'false') formatOptions[key.trim()] = false;\n if (val.trim() === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val.trim())) formatOptions[key.trim()] = parseInt(val.trim(), 10);\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val.trim();\n });\n }\n }\n\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\n\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Formatter);\n\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: function number(val, lng, options) {\n return new Intl.NumberFormat(lng, options).format(val);\n },\n currency: function currency(val, lng, options) {\n return new Intl.NumberFormat(lng, _objectSpread$4(_objectSpread$4({}, options), {}, {\n style: 'currency'\n })).format(val);\n },\n datetime: function datetime(val, lng, options) {\n return new Intl.DateTimeFormat(lng, _objectSpread$4({}, options)).format(val);\n },\n relativetime: function relativetime(val, lng, options) {\n return new Intl.RelativeTimeFormat(lng, _objectSpread$4({}, options)).format(val, options.range || 'day');\n },\n list: function list(val, lng, options) {\n return new Intl.ListFormat(lng, _objectSpread$4({}, options)).format(val);\n }\n };\n this.init(options);\n }\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] = fc;\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng, options) {\n var _this = this;\n\n var formats = _format.split(this.formatSeparator);\n\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n\n if (_this.formats[formatName]) {\n var formatted = mem;\n\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$4(_objectSpread$4(_objectSpread$4({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n\n return mem;\n }, value);\n return result;\n }\n }]);\n\n return Formatter;\n}();\n\nfunction ownKeys$5(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread$5(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys$5(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys$5(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _createSuper$2(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct$2();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _isNativeReflectConstruct$2() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction remove(arr, what) {\n var found = arr.indexOf(what);\n\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n var _super = _createSuper$2(Connector);\n\n function Connector(backend, store, services) {\n var _this;\n\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n\n return _this;\n }\n\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n var toLoad = [];\n var pending = [];\n var toLoadLanguages = [];\n var toLoadNamespaces = [];\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ;else if (_this2.state[name] === 1) {\n if (pending.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: toLoadNamespaces\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n remove(q.pending, name);\n if (err) q.errors.push(err);\n\n if (q.pending.length === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = [];\n\n if (q.loaded[l].length) {\n q.loaded[l].forEach(function (ns) {\n if (loaded[l].indexOf(ns) < 0) loaded[l].push(ns);\n });\n }\n });\n q.done = true;\n\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 350;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data && tried < 5) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n\n if (key === undefined || key === null || key === '') return;\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread$5(_objectSpread$5({}, options), {}, {\n isUpdate: isUpdate\n }));\n }\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\n\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n\n return options;\n}\n\nfunction ownKeys$6(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread$6(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys$6(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys$6(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _createSuper$3(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct$3();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _isNativeReflectConstruct$3() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction noop() {}\n\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}\n\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n var _super = _createSuper$3(I18n);\n\n function I18n() {\n var _this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck(this, I18n);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized(_this));\n\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!options.defaultNS && 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\n var defOpts = get();\n this.options = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, defOpts), this.options), transformOptions(options));\n this.options.interpolation = _objectSpread$6({}, this.options.interpolation);\n\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var formatter;\n\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n\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\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n\n return _this2;\n };\n });\n var deferred = defer();\n\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.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\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t);\n callback(err, t);\n };\n\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, usedCallback);\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n\n for (var li = 0; li < _this4.languages.length; li++) {\n var lngInLngs = _this4.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n\n if (_this4.store.hasLanguageSomeTranslations(lngInLngs)) {\n _this4.resolvedLanguage = lngInLngs;\n break;\n }\n }\n };\n\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n\n _this4.translator.changeLanguage(l);\n\n _this4.isLanguageChangingTo = undefined;\n\n _this4.emit('languageChanged', l);\n\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n var options;\n\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread$6({}, opts);\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey = keyPrefix ? \"\".concat(keyPrefix).concat(keySeparator).concat(key) : key;\n return _this5.t(resultKey, options);\n };\n\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n\n var lng = this.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\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n\n return loadState === -1 || loadState === 2;\n };\n\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.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 return rtlLngs.indexOf(this.services.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\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, this.options), options), {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread$6({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n 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\n return I18n;\n}(EventEmitter);\n\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});\n\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\nvar createInstance = instance.createInstance;\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;\nexport default instance;\nexport { changeLanguage, createInstance, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };","import _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _typeof from '@babel/runtime/helpers/esm/typeof';\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\n\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\nfunction addQueryString(url, params) {\n if (params && _typeof(params) === 'object') {\n var queryString = '',\n e = encodeURIComponent; // Must encode data\n\n for (var paramName in params) {\n queryString += '&' + e(paramName) + '=' + e(params[paramName]);\n }\n\n if (!queryString) {\n return url;\n }\n\n url = url + (url.indexOf('?') !== -1 ? '&' : '?') + queryString.slice(1);\n }\n\n return url;\n} // https://gist.github.com/Xeoncross/7663273\n\n\nfunction ajax(url, options, callback, data, cache) {\n if (data && _typeof(data) === 'object') {\n if (!cache) {\n data['_t'] = new Date();\n } // URL encoded form data must be in querystring format\n\n\n data = addQueryString('', data).slice(1);\n }\n\n if (options.queryStringParams) {\n url = addQueryString(url, options.queryStringParams);\n }\n\n try {\n var x;\n\n if (XMLHttpRequest) {\n x = new XMLHttpRequest();\n } else {\n x = new ActiveXObject('MSXML2.XMLHTTP.3.0');\n }\n\n x.open(data ? 'POST' : 'GET', url, 1);\n\n if (!options.crossDomain) {\n x.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n x.withCredentials = !!options.withCredentials;\n\n if (data) {\n x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');\n }\n\n if (x.overrideMimeType) {\n x.overrideMimeType(\"application/json\");\n }\n\n var h = options.customHeaders;\n h = typeof h === 'function' ? h() : h;\n\n if (h) {\n for (var i in h) {\n x.setRequestHeader(i, h[i]);\n }\n }\n\n x.onreadystatechange = function () {\n x.readyState > 3 && callback && callback(x.responseText, x);\n };\n\n x.send(data);\n } catch (e) {\n console && console.log(e);\n }\n}\n\nfunction getDefaults() {\n return {\n loadPath: '/locales/{{lng}}/{{ns}}.json',\n addPath: '/locales/add/{{lng}}/{{ns}}',\n allowMultiLoading: false,\n parse: JSON.parse,\n parsePayload: function parsePayload(namespace, key, fallbackValue) {\n return _defineProperty({}, key, fallbackValue || '');\n },\n crossDomain: false,\n ajax: ajax\n };\n}\n\nvar Backend = /*#__PURE__*/function () {\n function Backend(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Backend);\n\n this.init(services, options);\n this.type = 'backend';\n }\n\n _createClass(Backend, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.services = services;\n this.options = defaults(options, this.options || {}, getDefaults());\n }\n }, {\n key: \"readMulti\",\n value: function readMulti(languages, namespaces, callback) {\n var loadPath = this.options.loadPath;\n\n if (typeof this.options.loadPath === 'function') {\n loadPath = this.options.loadPath(languages, namespaces);\n }\n\n var url = this.services.interpolator.interpolate(loadPath, {\n lng: languages.join('+'),\n ns: namespaces.join('+')\n });\n this.loadUrl(url, callback);\n }\n }, {\n key: \"read\",\n value: function read(language, namespace, callback) {\n var loadPath = this.options.loadPath;\n\n if (typeof this.options.loadPath === 'function') {\n loadPath = this.options.loadPath([language], [namespace]);\n }\n\n var url = this.services.interpolator.interpolate(loadPath, {\n lng: language,\n ns: namespace\n });\n this.loadUrl(url, callback);\n }\n }, {\n key: \"loadUrl\",\n value: function loadUrl(url, callback) {\n var _this = this;\n\n this.options.ajax(url, this.options, function (data, xhr) {\n if (xhr.status >= 500 && xhr.status < 600) return callback('failed loading ' + url, true\n /* retry */\n );\n if (xhr.status >= 400 && xhr.status < 500) return callback('failed loading ' + url, false\n /* no retry */\n );\n var ret, err;\n\n try {\n ret = _this.options.parse(data, url);\n } catch (e) {\n err = 'failed parsing ' + url + ' to json';\n }\n\n if (err) return callback(err, false);\n callback(null, ret);\n });\n }\n }, {\n key: \"create\",\n value: function create(languages, namespace, key, fallbackValue) {\n var _this2 = this;\n\n if (typeof languages === 'string') languages = [languages];\n var payload = this.options.parsePayload(namespace, key, fallbackValue);\n languages.forEach(function (lng) {\n var url = _this2.services.interpolator.interpolate(_this2.options.addPath, {\n lng: lng,\n ns: namespace\n });\n\n _this2.options.ajax(url, _this2.options, function (data, xhr) {//const statusCode = xhr.status.toString();\n // TODO: if statusCode === 4xx do log\n }, payload);\n });\n }\n }]);\n\n return Backend;\n}();\n\nBackend.type = 'backend';\nexport default Backend;","import _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\n\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} // eslint-disable-next-line no-control-regex\n\n\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\nvar serializeCookie = function serializeCookie(name, val, options) {\n var opt = options || {};\n opt.path = opt.path || '/';\n var value = encodeURIComponent(val);\n var str = name + '=' + value;\n\n if (opt.maxAge > 0) {\n var maxAge = opt.maxAge - 0;\n if (isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + opt.expires.toUTCString();\n }\n\n if (opt.httpOnly) str += '; HttpOnly';\n if (opt.secure) str += '; Secure';\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n\n case 'lax':\n str += '; SameSite=Lax';\n break;\n\n case 'strict':\n str += '; SameSite=Strict';\n break;\n\n case 'none':\n str += '; SameSite=None';\n break;\n\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n};\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\n if (minutes) {\n cookieOptions.expires = new Date();\n cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000);\n }\n\n if (domain) cookieOptions.domain = domain;\n document.cookie = serializeCookie(name, encodeURIComponent(value), cookieOptions);\n },\n read: function read(name) {\n var nameEQ = name + '=';\n var ca = document.cookie.split(';');\n\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n\n while (c.charAt(0) === ' ') {\n c = c.substring(1, c.length);\n }\n\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\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\n if (options.lookupCookie && typeof document !== 'undefined') {\n var c = cookie.read(options.lookupCookie);\n if (c) found = c;\n }\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};\nvar querystring = {\n name: 'querystring',\n lookup: function lookup(options) {\n var found;\n\n if (typeof window !== 'undefined') {\n var query = window.location.search.substring(1);\n var params = query.split('&');\n\n for (var i = 0; i < params.length; i++) {\n var pos = params[i].indexOf('=');\n\n if (pos > 0) {\n var key = params[i].substring(0, pos);\n\n if (key === options.lookupQuerystring) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n\n return found;\n }\n};\nvar hasLocalStorageSupport = null;\n\nvar localStorageAvailable = function localStorageAvailable() {\n if (hasLocalStorageSupport !== null) return hasLocalStorageSupport;\n\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\n return hasLocalStorageSupport;\n};\n\nvar localStorage = {\n name: 'localStorage',\n lookup: function lookup(options) {\n var found;\n\n if (options.lookupLocalStorage && localStorageAvailable()) {\n var lng = window.localStorage.getItem(options.lookupLocalStorage);\n if (lng) found = lng;\n }\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};\nvar hasSessionStorageSupport = null;\n\nvar sessionStorageAvailable = function sessionStorageAvailable() {\n if (hasSessionStorageSupport !== null) return hasSessionStorageSupport;\n\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\n return hasSessionStorageSupport;\n};\n\nvar sessionStorage = {\n name: 'sessionStorage',\n lookup: function lookup(options) {\n var found;\n\n if (options.lookupSessionStorage && sessionStorageAvailable()) {\n var lng = window.sessionStorage.getItem(options.lookupSessionStorage);\n if (lng) found = lng;\n }\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};\nvar navigator$1 = {\n name: 'navigator',\n lookup: function lookup(options) {\n var found = [];\n\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\n if (navigator.userLanguage) {\n found.push(navigator.userLanguage);\n }\n\n if (navigator.language) {\n found.push(navigator.language);\n }\n }\n\n return found.length > 0 ? found : undefined;\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\n if (htmlTag && typeof htmlTag.getAttribute === 'function') {\n found = htmlTag.getAttribute('lang');\n }\n\n return found;\n }\n};\nvar path = {\n name: 'path',\n lookup: function lookup(options) {\n var found;\n\n if (typeof window !== 'undefined') {\n var language = window.location.pathname.match(/\\/([a-zA-Z-]*)/g);\n\n if (language instanceof Array) {\n if (typeof options.lookupFromPathIndex === 'number') {\n if (typeof language[options.lookupFromPathIndex] !== 'string') {\n return undefined;\n }\n\n found = language[options.lookupFromPathIndex].replace('/', '');\n } else {\n found = language[0].replace('/', '');\n }\n }\n }\n\n return found;\n }\n};\nvar subdomain = {\n name: 'subdomain',\n lookup: function lookup(options) {\n var found;\n\n if (typeof window !== 'undefined') {\n var language = window.location.href.match(/(?:http[s]*\\:\\/\\/)*(.*?)\\.(?=[^\\/]*\\..{2,5})/gi);\n\n if (language instanceof Array) {\n if (typeof options.lookupFromSubdomainIndex === 'number') {\n found = language[options.lookupFromSubdomainIndex].replace('http://', '').replace('https://', '').replace('.', '');\n } else {\n found = language[0].replace('http://', '').replace('https://', '').replace('.', '');\n }\n }\n }\n\n return found;\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'] //cookieMinutes: 10,\n //cookieDomain: 'myDomain'\n\n };\n}\n\nvar Browser = /*#__PURE__*/function () {\n function Browser(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Browser);\n\n this.type = 'languageDetector';\n this.detectors = {};\n this.init(services, options);\n }\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 this.options = defaults(options, this.options || {}, getDefaults()); // backwards compatibility\n\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\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\n if (lookup && typeof lookup === 'string') lookup = [lookup];\n if (lookup) detected = detected.concat(lookup);\n }\n });\n if (this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0\n\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\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\n return Browser;\n}();\n\nBrowser.type = 'languageDetector';\nexport default Browser;","import i18n from 'i18next';\nimport Backend from 'i18next-xhr-backend';\nimport LanguageDetector from 'i18next-browser-languagedetector';\nimport { initReactI18next } from 'react-i18next';\nimport plLocales from '../../locales/pl/translations.json';\nimport enLocales from '../../locales/en/translations.json';\n\n// ----------------------------------------------------------------------\n\ni18n\n .use(Backend)\n .use(LanguageDetector)\n .use(initReactI18next)\n .init({\n // detection: {\n // cookieDomain: process.env.REACT_APP_COOKIE_DOMAIN,\n // caches: ['cookie', 'localStorage'],\n // },\n resources: {\n pl: { translations: plLocales },\n en: { translations: enLocales },\n },\n // lng: localStorage.getItem('i18next') || 'en', // ? language detector take care of lng\n fallbackLng: 'en',\n debug: process.env.NODE_ENV !== 'production',\n ns: ['translations'],\n defaultNS: 'translations',\n interpolation: {\n escapeValue: false,\n },\n react: {\n useSuspense: false,\n },\n });\n\nexport default i18n;\n","import React, { useEffect } from 'react';\nimport { CookiesProvider } from 'react-cookie';\n// i18n\nimport '../../locales/i18n';\n// hooks\nimport { useTheme } from '@mui/system';\n// components\nimport { Header, Seo, Footer } from 'components';\n// types\nimport { Metadata } from 'types/metadata';\n// pages components\nimport { ContactBelt } from 'pages-components/home';\n\ninterface LayoutProps {\n children: React.ReactNode;\n metadata?: Metadata;\n mainPhoto?: string;\n path?: string;\n userLang?: string;\n locale?: string;\n contact?: boolean;\n}\n\nconst MainLayout = ({\n children,\n metadata,\n mainPhoto,\n userLang,\n locale,\n path,\n contact,\n}: LayoutProps) => {\n const theme = useTheme();\n\n const gradientFillArray = () =>\n theme.palette.gradients.button\n .replace('linear-gradient(to right, ', '')\n .replace(')', '')\n .split(', ');\n const gradientButtonFill = gradientFillArray();\n const windowGlobal = typeof window !== 'undefined' && window;\n const handleSendEventGtm = (event: any) => {\n window.dataLayer.push({ event: 'gatsby-click', targetClick: event?.target });\n };\n\n useEffect(() => {\n if (windowGlobal) {\n if (window.HubSpotConversations && window.gtag) {\n window.HubSpotConversations.on('conversationStarted', (payload: any) => {\n if (window.gtag) {\n window.gtag('event', 'click', { conversationId: payload.conversation.conversationId });\n }\n });\n }\n if (window.dataLayer) {\n window.dataLayer = window.dataLayer || [];\n window.addEventListener('click', handleSendEventGtm);\n }\n }\n return () => {\n if (windowGlobal) {\n if (window.dataLayer) {\n window.removeEventListener('click', handleSendEventGtm);\n }\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <>\n \n \n
\n\n
{children}
\n\n {contact && }\n\n