{"version":3,"sources":["webpack:///./node_modules/vue-i18n/dist/vue-i18n.esm.js"],"names":["numberFormatKeys","warn","msg","err","console","stack","error","isArray","Array","isObject","obj","isBoolean","val","isString","toString","Object","prototype","OBJECT_STRING","isPlainObject","call","isNull","undefined","isFunction","parseArgs","args","len","arguments","length","locale","params","looseClone","JSON","parse","stringify","remove","arr","item","index","indexOf","splice","includes","hasOwnProperty","hasOwn","key","merge","target","arguments$1","output","i","source","looseEqual","a","b","isObjectA","isObjectB","String","isArrayA","isArrayB","every","e","keysA","keys","keysB","extend","Vue","defineProperty","get","this","_i18n","$t","values","i18n","$i18n","_t","apply","_getMessages","concat","$tc","choice","_tc","$te","_te","$d","value","ref","d","$n","n","mixin","beforeCreate","options","$options","__i18n","VueI18n","localeMessages","messages","forEach","resource","mergeLocaleMessage","_i18nWatcher","watchI18nData","rootI18n","$root","root","formatter","fallbackLocale","formatFallbackMessages","silentTranslationWarn","silentFallbackWarn","pluralizationRules","preserveDirectiveContent","localeMessages$1","sharedMessages","sync","_localeWatcher","watchLocale","onComponentInstanceCreated","parent","beforeMount","subscribeDataChanging","_subscribing","beforeDestroy","self","$nextTick","unsubscribeDataChanging","destroyVM","interpolationComponent","name","functional","props","tag","type","Boolean","default","path","required","places","render","h","data","slots","children","onlyHasDefaultPlace","useLegacyPlaces","prop","createParamsFromPlaces","filter","child","text","trim","everyPlace","vnodeHasPlaceAttribute","reduce","assignChildPlace","assignChildIndex","assign","attrs","place","vnode","numberComponent","Number","format","acc","parts","_ntp","map","part","slot","scopedSlots","staticClass","bind","el","binding","assert","t","update","oldVNode","context","localeEqual","oldValue","_localeMessage","getLocaleMessage","unbind","vm","modifiers","preserve","textContent","_vt","_locale","ref$1","ref$2","parseValue","tc","makeParams","push","install","_Vue","installed","version","split","directive","component","strats","config","optionMergeStrategies","parentVal","childVal","BaseFormatter","_caches","create","interpolate","message","tokens","compile","RE_TOKEN_LIST_VALUE","RE_TOKEN_NAMED_VALUE","position","char","sub","isClosed","test","compiled","mode","token","parseInt","APPEND","PUSH","INC_SUB_PATH_DEPTH","PUSH_SUB_PATH","BEFORE_PATH","IN_PATH","BEFORE_IDENT","IN_IDENT","IN_SUB_PATH","IN_SINGLE_QUOTE","IN_DOUBLE_QUOTE","AFTER_PATH","ERROR","pathStateMachine","literalValueRE","isLiteral","exp","stripQuotes","str","charCodeAt","slice","getPathCharType","ch","code","formatSubPath","trimmed","charAt","isNaN","parse$1","c","newChar","transition","action","typeMap","subPathDepth","actions","maybeUnescapeQuote","nextChar","I18nPath","_cache","parsePath","hit","getPathValue","paths","last","availabilities","htmlTagMatcher","linkKeyMatcher","linkKeyPrefixMatcher","bracketsMatcher","defaultModifiers","toLocaleUpperCase","toLocaleLowerCase","substr","defaultFormatter","this$1","window","dateTimeFormats","numberFormats","_vm","_formatter","_modifiers","_missing","missing","_root","_sync","_fallbackRoot","fallbackRoot","_formatFallbackMessages","_silentTranslationWarn","_silentFallbackWarn","_dateTimeFormatters","_numberFormatters","_path","_dataListeners","_componentInstanceCreatedListener","componentInstanceCreatedListener","_preserveDirectiveContent","_warnHtmlInMessage","warnHtmlInMessage","_postTranslation","postTranslation","getChoiceIndex","choicesLength","thisPrototype","getPrototypeOf","prototypeGetChoiceIndex","defaultImpl","_choice","_choicesLength","Math","abs","min","_exist","_checkLocaleMessage","_initVM","prototypeAccessors","configurable","availableLocales","level","fn","pop","ret","join","silent","$destroy","$watch","nextTick","$forceUpdate","deep","$set","immediate","newI18n","_getDateTimeFormats","_getNumberFormats","sort","set","_localeChainCache","fallback","handler","orgLevel","_warnDefault","result","interpolateMode","missingRet","parsedArgs","_render","_isFallbackRoot","_isSilentFallbackWarn","RegExp","_isSilentFallback","_isSilentTranslationWarn","_interpolate","host","visitedLinkStack","pathRet","_link","matches","match","idx","link","linkKeyPrefixMatches","linkPrefix","formatterName","linkPlaceholder","replace","translated","Error","_translate","_createMessageContext","_list","_named","list","named","_appendItemToChain","chain","blocks","follow","_appendLocaleToChain","_appendBlockToChain","block","_getLocaleChain","start","defaults","res","step","_i","predefined","fetchChoice","choices","te","setLocaleMessage","getDateTimeFormat","setDateTimeFormat","_clearDateTimeFormat","mergeDateTimeFormat","id","_localizeDateTime","formats","Intl","DateTimeFormat","_d","getNumberFormat","setNumberFormat","_clearNumberFormat","mergeNumberFormat","_getNumberFormatter","NumberFormat","_n","numberFormat","nf","formatToParts","defineProperties","intlDefined","dateTimeFormat"],"mappings":"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","file":"js/chunk-vendors~02576867.35edf381.js","sourcesContent":["/*!\n * vue-i18n v8.21.1 \n * (c) 2020 kazuya kawaguchi\n * Released under the MIT License.\n */\n/* */\n\n/**\n * constants\n */\n\nvar numberFormatKeys = [\n 'style',\n 'currency',\n 'currencyDisplay',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n 'localeMatcher',\n 'formatMatcher',\n 'unit'\n];\n\n/**\n * utilities\n */\n\nfunction warn (msg, err) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-i18n] ' + msg);\n /* istanbul ignore if */\n if (err) {\n console.warn(err.stack);\n }\n }\n}\n\nfunction error (msg, err) {\n if (typeof console !== 'undefined') {\n console.error('[vue-i18n] ' + msg);\n /* istanbul ignore if */\n if (err) {\n console.error(err.stack);\n }\n }\n}\n\nvar isArray = Array.isArray;\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isBoolean (val) {\n return typeof val === 'boolean'\n}\n\nfunction isString (val) {\n return typeof val === 'string'\n}\n\nvar toString = Object.prototype.toString;\nvar OBJECT_STRING = '[object Object]';\nfunction isPlainObject (obj) {\n return toString.call(obj) === OBJECT_STRING\n}\n\nfunction isNull (val) {\n return val === null || val === undefined\n}\n\nfunction isFunction (val) {\n return typeof val === 'function'\n}\n\nfunction parseArgs () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var locale = null;\n var params = null;\n if (args.length === 1) {\n if (isObject(args[0]) || isArray(args[0])) {\n params = args[0];\n } else if (typeof args[0] === 'string') {\n locale = args[0];\n }\n } else if (args.length === 2) {\n if (typeof args[0] === 'string') {\n locale = args[0];\n }\n /* istanbul ignore if */\n if (isObject(args[1]) || isArray(args[1])) {\n params = args[1];\n }\n }\n\n return { locale: locale, params: params }\n}\n\nfunction looseClone (obj) {\n return JSON.parse(JSON.stringify(obj))\n}\n\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\nfunction includes (arr, item) {\n return !!~arr.indexOf(item)\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\nfunction merge (target) {\n var arguments$1 = arguments;\n\n var output = Object(target);\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments$1[i];\n if (source !== undefined && source !== null) {\n var key = (void 0);\n for (key in source) {\n if (hasOwn(source, key)) {\n if (isObject(source[key])) {\n output[key] = merge(output[key], source[key]);\n } else {\n output[key] = source[key];\n }\n }\n }\n }\n }\n return output\n}\n\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = isArray(a);\n var isArrayB = isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/* */\n\nfunction extend (Vue) {\n if (!Vue.prototype.hasOwnProperty('$i18n')) {\n // $FlowFixMe\n Object.defineProperty(Vue.prototype, '$i18n', {\n get: function get () { return this._i18n }\n });\n }\n\n Vue.prototype.$t = function (key) {\n var values = [], len = arguments.length - 1;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];\n\n var i18n = this.$i18n;\n return i18n._t.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this ].concat( values ))\n };\n\n Vue.prototype.$tc = function (key, choice) {\n var values = [], len = arguments.length - 2;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ];\n\n var i18n = this.$i18n;\n return i18n._tc.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this, choice ].concat( values ))\n };\n\n Vue.prototype.$te = function (key, locale) {\n var i18n = this.$i18n;\n return i18n._te(key, i18n.locale, i18n._getMessages(), locale)\n };\n\n Vue.prototype.$d = function (value) {\n var ref;\n\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n return (ref = this.$i18n).d.apply(ref, [ value ].concat( args ))\n };\n\n Vue.prototype.$n = function (value) {\n var ref;\n\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n return (ref = this.$i18n).n.apply(ref, [ value ].concat( args ))\n };\n}\n\n/* */\n\nvar mixin = {\n beforeCreate: function beforeCreate () {\n var options = this.$options;\n options.i18n = options.i18n || (options.__i18n ? {} : null);\n\n if (options.i18n) {\n if (options.i18n instanceof VueI18n) {\n // init locale messages via custom blocks\n if (options.__i18n) {\n try {\n var localeMessages = options.i18n && options.i18n.messages ? options.i18n.messages : {};\n options.__i18n.forEach(function (resource) {\n localeMessages = merge(localeMessages, JSON.parse(resource));\n });\n Object.keys(localeMessages).forEach(function (locale) {\n options.i18n.mergeLocaleMessage(locale, localeMessages[locale]);\n });\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n error(\"Cannot parse locale messages via custom blocks.\", e);\n }\n }\n }\n this._i18n = options.i18n;\n this._i18nWatcher = this._i18n.watchI18nData();\n } else if (isPlainObject(options.i18n)) {\n var rootI18n = this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n\n ? this.$root.$i18n\n : null;\n // component local i18n\n if (rootI18n) {\n options.i18n.root = this.$root;\n options.i18n.formatter = rootI18n.formatter;\n options.i18n.fallbackLocale = rootI18n.fallbackLocale;\n options.i18n.formatFallbackMessages = rootI18n.formatFallbackMessages;\n options.i18n.silentTranslationWarn = rootI18n.silentTranslationWarn;\n options.i18n.silentFallbackWarn = rootI18n.silentFallbackWarn;\n options.i18n.pluralizationRules = rootI18n.pluralizationRules;\n options.i18n.preserveDirectiveContent = rootI18n.preserveDirectiveContent;\n }\n\n // init locale messages via custom blocks\n if (options.__i18n) {\n try {\n var localeMessages$1 = options.i18n && options.i18n.messages ? options.i18n.messages : {};\n options.__i18n.forEach(function (resource) {\n localeMessages$1 = merge(localeMessages$1, JSON.parse(resource));\n });\n options.i18n.messages = localeMessages$1;\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Cannot parse locale messages via custom blocks.\", e);\n }\n }\n }\n\n var ref = options.i18n;\n var sharedMessages = ref.sharedMessages;\n if (sharedMessages && isPlainObject(sharedMessages)) {\n options.i18n.messages = merge(options.i18n.messages, sharedMessages);\n }\n\n this._i18n = new VueI18n(options.i18n);\n this._i18nWatcher = this._i18n.watchI18nData();\n\n if (options.i18n.sync === undefined || !!options.i18n.sync) {\n this._localeWatcher = this.$i18n.watchLocale();\n }\n\n if (rootI18n) {\n rootI18n.onComponentInstanceCreated(this._i18n);\n }\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Cannot be interpreted 'i18n' option.\");\n }\n }\n } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {\n // root i18n\n this._i18n = this.$root.$i18n;\n } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {\n // parent i18n\n this._i18n = options.parent.$i18n;\n }\n },\n\n beforeMount: function beforeMount () {\n var options = this.$options;\n options.i18n = options.i18n || (options.__i18n ? {} : null);\n\n if (options.i18n) {\n if (options.i18n instanceof VueI18n) {\n // init locale messages via custom blocks\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n } else if (isPlainObject(options.i18n)) {\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Cannot be interpreted 'i18n' option.\");\n }\n }\n } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n }\n },\n\n beforeDestroy: function beforeDestroy () {\n if (!this._i18n) { return }\n\n var self = this;\n this.$nextTick(function () {\n if (self._subscribing) {\n self._i18n.unsubscribeDataChanging(self);\n delete self._subscribing;\n }\n\n if (self._i18nWatcher) {\n self._i18nWatcher();\n self._i18n.destroyVM();\n delete self._i18nWatcher;\n }\n\n if (self._localeWatcher) {\n self._localeWatcher();\n delete self._localeWatcher;\n }\n });\n }\n};\n\n/* */\n\nvar interpolationComponent = {\n name: 'i18n',\n functional: true,\n props: {\n tag: {\n type: [String, Boolean, Object],\n default: 'span'\n },\n path: {\n type: String,\n required: true\n },\n locale: {\n type: String\n },\n places: {\n type: [Array, Object]\n }\n },\n render: function render (h, ref) {\n var data = ref.data;\n var parent = ref.parent;\n var props = ref.props;\n var slots = ref.slots;\n\n var $i18n = parent.$i18n;\n if (!$i18n) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot find VueI18n instance!');\n }\n return\n }\n\n var path = props.path;\n var locale = props.locale;\n var places = props.places;\n var params = slots();\n var children = $i18n.i(\n path,\n locale,\n onlyHasDefaultPlace(params) || places\n ? useLegacyPlaces(params.default, places)\n : params\n );\n\n var tag = (!!props.tag && props.tag !== true) || props.tag === false ? props.tag : 'span';\n return tag ? h(tag, data, children) : children\n }\n};\n\nfunction onlyHasDefaultPlace (params) {\n var prop;\n for (prop in params) {\n if (prop !== 'default') { return false }\n }\n return Boolean(prop)\n}\n\nfunction useLegacyPlaces (children, places) {\n var params = places ? createParamsFromPlaces(places) : {};\n\n if (!children) { return params }\n\n // Filter empty text nodes\n children = children.filter(function (child) {\n return child.tag || child.text.trim() !== ''\n });\n\n var everyPlace = children.every(vnodeHasPlaceAttribute);\n if (process.env.NODE_ENV !== 'production' && everyPlace) {\n warn('`place` attribute is deprecated in next major version. Please switch to Vue slots.');\n }\n\n return children.reduce(\n everyPlace ? assignChildPlace : assignChildIndex,\n params\n )\n}\n\nfunction createParamsFromPlaces (places) {\n if (process.env.NODE_ENV !== 'production') {\n warn('`places` prop is deprecated in next major version. Please switch to Vue slots.');\n }\n\n return Array.isArray(places)\n ? places.reduce(assignChildIndex, {})\n : Object.assign({}, places)\n}\n\nfunction assignChildPlace (params, child) {\n if (child.data && child.data.attrs && child.data.attrs.place) {\n params[child.data.attrs.place] = child;\n }\n return params\n}\n\nfunction assignChildIndex (params, child, index) {\n params[index] = child;\n return params\n}\n\nfunction vnodeHasPlaceAttribute (vnode) {\n return Boolean(vnode.data && vnode.data.attrs && vnode.data.attrs.place)\n}\n\n/* */\n\nvar numberComponent = {\n name: 'i18n-n',\n functional: true,\n props: {\n tag: {\n type: [String, Boolean, Object],\n default: 'span'\n },\n value: {\n type: Number,\n required: true\n },\n format: {\n type: [String, Object]\n },\n locale: {\n type: String\n }\n },\n render: function render (h, ref) {\n var props = ref.props;\n var parent = ref.parent;\n var data = ref.data;\n\n var i18n = parent.$i18n;\n\n if (!i18n) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot find VueI18n instance!');\n }\n return null\n }\n\n var key = null;\n var options = null;\n\n if (isString(props.format)) {\n key = props.format;\n } else if (isObject(props.format)) {\n if (props.format.key) {\n key = props.format.key;\n }\n\n // Filter out number format options only\n options = Object.keys(props.format).reduce(function (acc, prop) {\n var obj;\n\n if (includes(numberFormatKeys, prop)) {\n return Object.assign({}, acc, ( obj = {}, obj[prop] = props.format[prop], obj ))\n }\n return acc\n }, null);\n }\n\n var locale = props.locale || i18n.locale;\n var parts = i18n._ntp(props.value, locale, key, options);\n\n var values = parts.map(function (part, index) {\n var obj;\n\n var slot = data.scopedSlots && data.scopedSlots[part.type];\n return slot ? slot(( obj = {}, obj[part.type] = part.value, obj.index = index, obj.parts = parts, obj )) : part.value\n });\n\n var tag = (!!props.tag && props.tag !== true) || props.tag === false ? props.tag : 'span';\n return tag\n ? h(tag, {\n attrs: data.attrs,\n 'class': data['class'],\n staticClass: data.staticClass\n }, values)\n : values\n }\n};\n\n/* */\n\nfunction bind (el, binding, vnode) {\n if (!assert(el, vnode)) { return }\n\n t(el, binding, vnode);\n}\n\nfunction update (el, binding, vnode, oldVNode) {\n if (!assert(el, vnode)) { return }\n\n var i18n = vnode.context.$i18n;\n if (localeEqual(el, vnode) &&\n (looseEqual(binding.value, binding.oldValue) &&\n looseEqual(el._localeMessage, i18n.getLocaleMessage(i18n.locale)))) { return }\n\n t(el, binding, vnode);\n}\n\nfunction unbind (el, binding, vnode, oldVNode) {\n var vm = vnode.context;\n if (!vm) {\n warn('Vue instance does not exists in VNode context');\n return\n }\n\n var i18n = vnode.context.$i18n || {};\n if (!binding.modifiers.preserve && !i18n.preserveDirectiveContent) {\n el.textContent = '';\n }\n el._vt = undefined;\n delete el['_vt'];\n el._locale = undefined;\n delete el['_locale'];\n el._localeMessage = undefined;\n delete el['_localeMessage'];\n}\n\nfunction assert (el, vnode) {\n var vm = vnode.context;\n if (!vm) {\n warn('Vue instance does not exists in VNode context');\n return false\n }\n\n if (!vm.$i18n) {\n warn('VueI18n instance does not exists in Vue instance');\n return false\n }\n\n return true\n}\n\nfunction localeEqual (el, vnode) {\n var vm = vnode.context;\n return el._locale === vm.$i18n.locale\n}\n\nfunction t (el, binding, vnode) {\n var ref$1, ref$2;\n\n var value = binding.value;\n\n var ref = parseValue(value);\n var path = ref.path;\n var locale = ref.locale;\n var args = ref.args;\n var choice = ref.choice;\n if (!path && !locale && !args) {\n warn('value type not supported');\n return\n }\n\n if (!path) {\n warn('`path` is required in v-t directive');\n return\n }\n\n var vm = vnode.context;\n if (choice != null) {\n el._vt = el.textContent = (ref$1 = vm.$i18n).tc.apply(ref$1, [ path, choice ].concat( makeParams(locale, args) ));\n } else {\n el._vt = el.textContent = (ref$2 = vm.$i18n).t.apply(ref$2, [ path ].concat( makeParams(locale, args) ));\n }\n el._locale = vm.$i18n.locale;\n el._localeMessage = vm.$i18n.getLocaleMessage(vm.$i18n.locale);\n}\n\nfunction parseValue (value) {\n var path;\n var locale;\n var args;\n var choice;\n\n if (isString(value)) {\n path = value;\n } else if (isPlainObject(value)) {\n path = value.path;\n locale = value.locale;\n args = value.args;\n choice = value.choice;\n }\n\n return { path: path, locale: locale, args: args, choice: choice }\n}\n\nfunction makeParams (locale, args) {\n var params = [];\n\n locale && params.push(locale);\n if (args && (Array.isArray(args) || isPlainObject(args))) {\n params.push(args);\n }\n\n return params\n}\n\nvar Vue;\n\nfunction install (_Vue) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && install.installed && _Vue === Vue) {\n warn('already installed.');\n return\n }\n install.installed = true;\n\n Vue = _Vue;\n\n var version = (Vue.version && Number(Vue.version.split('.')[0])) || -1;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && version < 2) {\n warn((\"vue-i18n (\" + (install.version) + \") need to use Vue 2.0 or later (Vue: \" + (Vue.version) + \").\"));\n return\n }\n\n extend(Vue);\n Vue.mixin(mixin);\n Vue.directive('t', { bind: bind, update: update, unbind: unbind });\n Vue.component(interpolationComponent.name, interpolationComponent);\n Vue.component(numberComponent.name, numberComponent);\n\n // use simple mergeStrategies to prevent i18n instance lose '__proto__'\n var strats = Vue.config.optionMergeStrategies;\n strats.i18n = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n };\n}\n\n/* */\n\nvar BaseFormatter = function BaseFormatter () {\n this._caches = Object.create(null);\n};\n\nBaseFormatter.prototype.interpolate = function interpolate (message, values) {\n if (!values) {\n return [message]\n }\n var tokens = this._caches[message];\n if (!tokens) {\n tokens = parse(message);\n this._caches[message] = tokens;\n }\n return compile(tokens, values)\n};\n\n\n\nvar RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nvar RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\n\nfunction parse (format) {\n var tokens = [];\n var position = 0;\n\n var text = '';\n while (position < format.length) {\n var char = format[position++];\n if (char === '{') {\n if (text) {\n tokens.push({ type: 'text', value: text });\n }\n\n text = '';\n var sub = '';\n char = format[position++];\n while (char !== undefined && char !== '}') {\n sub += char;\n char = format[position++];\n }\n var isClosed = char === '}';\n\n var type = RE_TOKEN_LIST_VALUE.test(sub)\n ? 'list'\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n ? 'named'\n : 'unknown';\n tokens.push({ value: sub, type: type });\n } else if (char === '%') {\n // when found rails i18n syntax, skip text capture\n if (format[(position)] !== '{') {\n text += char;\n }\n } else {\n text += char;\n }\n }\n\n text && tokens.push({ type: 'text', value: text });\n\n return tokens\n}\n\nfunction compile (tokens, values) {\n var compiled = [];\n var index = 0;\n\n var mode = Array.isArray(values)\n ? 'list'\n : isObject(values)\n ? 'named'\n : 'unknown';\n if (mode === 'unknown') { return compiled }\n\n while (index < tokens.length) {\n var token = tokens[index];\n switch (token.type) {\n case 'text':\n compiled.push(token.value);\n break\n case 'list':\n compiled.push(values[parseInt(token.value, 10)]);\n break\n case 'named':\n if (mode === 'named') {\n compiled.push((values)[token.value]);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Type of token '\" + (token.type) + \"' and format of value '\" + mode + \"' don't match!\"));\n }\n }\n break\n case 'unknown':\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Detect 'unknown' type of token!\");\n }\n break\n }\n index++;\n }\n\n return compiled\n}\n\n/* */\n\n/**\n * Path parser\n * - Inspired:\n * Vue.js Path parser\n */\n\n// actions\nvar APPEND = 0;\nvar PUSH = 1;\nvar INC_SUB_PATH_DEPTH = 2;\nvar PUSH_SUB_PATH = 3;\n\n// states\nvar BEFORE_PATH = 0;\nvar IN_PATH = 1;\nvar BEFORE_IDENT = 2;\nvar IN_IDENT = 3;\nvar IN_SUB_PATH = 4;\nvar IN_SINGLE_QUOTE = 5;\nvar IN_DOUBLE_QUOTE = 6;\nvar AFTER_PATH = 7;\nvar ERROR = 8;\n\nvar pathStateMachine = [];\n\npathStateMachine[BEFORE_PATH] = {\n 'ws': [BEFORE_PATH],\n 'ident': [IN_IDENT, APPEND],\n '[': [IN_SUB_PATH],\n 'eof': [AFTER_PATH]\n};\n\npathStateMachine[IN_PATH] = {\n 'ws': [IN_PATH],\n '.': [BEFORE_IDENT],\n '[': [IN_SUB_PATH],\n 'eof': [AFTER_PATH]\n};\n\npathStateMachine[BEFORE_IDENT] = {\n 'ws': [BEFORE_IDENT],\n 'ident': [IN_IDENT, APPEND],\n '0': [IN_IDENT, APPEND],\n 'number': [IN_IDENT, APPEND]\n};\n\npathStateMachine[IN_IDENT] = {\n 'ident': [IN_IDENT, APPEND],\n '0': [IN_IDENT, APPEND],\n 'number': [IN_IDENT, APPEND],\n 'ws': [IN_PATH, PUSH],\n '.': [BEFORE_IDENT, PUSH],\n '[': [IN_SUB_PATH, PUSH],\n 'eof': [AFTER_PATH, PUSH]\n};\n\npathStateMachine[IN_SUB_PATH] = {\n \"'\": [IN_SINGLE_QUOTE, APPEND],\n '\"': [IN_DOUBLE_QUOTE, APPEND],\n '[': [IN_SUB_PATH, INC_SUB_PATH_DEPTH],\n ']': [IN_PATH, PUSH_SUB_PATH],\n 'eof': ERROR,\n 'else': [IN_SUB_PATH, APPEND]\n};\n\npathStateMachine[IN_SINGLE_QUOTE] = {\n \"'\": [IN_SUB_PATH, APPEND],\n 'eof': ERROR,\n 'else': [IN_SINGLE_QUOTE, APPEND]\n};\n\npathStateMachine[IN_DOUBLE_QUOTE] = {\n '\"': [IN_SUB_PATH, APPEND],\n 'eof': ERROR,\n 'else': [IN_DOUBLE_QUOTE, APPEND]\n};\n\n/**\n * Check if an expression is a literal value.\n */\n\nvar literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral (exp) {\n return literalValueRE.test(exp)\n}\n\n/**\n * Strip quotes from a string\n */\n\nfunction stripQuotes (str) {\n var a = str.charCodeAt(0);\n var b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27)\n ? str.slice(1, -1)\n : str\n}\n\n/**\n * Determine the type of a character in a keypath.\n */\n\nfunction getPathCharType (ch) {\n if (ch === undefined || ch === null) { return 'eof' }\n\n var code = ch.charCodeAt(0);\n\n switch (code) {\n case 0x5B: // [\n case 0x5D: // ]\n case 0x2E: // .\n case 0x22: // \"\n case 0x27: // '\n return ch\n\n case 0x5F: // _\n case 0x24: // $\n case 0x2D: // -\n return 'ident'\n\n case 0x09: // Tab\n case 0x0A: // Newline\n case 0x0D: // Return\n case 0xA0: // No-break space\n case 0xFEFF: // Byte Order Mark\n case 0x2028: // Line Separator\n case 0x2029: // Paragraph Separator\n return 'ws'\n }\n\n return 'ident'\n}\n\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n */\n\nfunction formatSubPath (path) {\n var trimmed = path.trim();\n // invalid leading 0\n if (path.charAt(0) === '0' && isNaN(path)) { return false }\n\n return isLiteral(trimmed) ? stripQuotes(trimmed) : '*' + trimmed\n}\n\n/**\n * Parse a string path into an array of segments\n */\n\nfunction parse$1 (path) {\n var keys = [];\n var index = -1;\n var mode = BEFORE_PATH;\n var subPathDepth = 0;\n var c;\n var key;\n var newChar;\n var type;\n var transition;\n var action;\n var typeMap;\n var actions = [];\n\n actions[PUSH] = function () {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n\n actions[APPEND] = function () {\n if (key === undefined) {\n key = newChar;\n } else {\n key += newChar;\n }\n };\n\n actions[INC_SUB_PATH_DEPTH] = function () {\n actions[APPEND]();\n subPathDepth++;\n };\n\n actions[PUSH_SUB_PATH] = function () {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = IN_SUB_PATH;\n actions[APPEND]();\n } else {\n subPathDepth = 0;\n if (key === undefined) { return false }\n key = formatSubPath(key);\n if (key === false) {\n return false\n } else {\n actions[PUSH]();\n }\n }\n };\n\n function maybeUnescapeQuote () {\n var nextChar = path[index + 1];\n if ((mode === IN_SINGLE_QUOTE && nextChar === \"'\") ||\n (mode === IN_DOUBLE_QUOTE && nextChar === '\"')) {\n index++;\n newChar = '\\\\' + nextChar;\n actions[APPEND]();\n return true\n }\n }\n\n while (mode !== null) {\n index++;\n c = path[index];\n\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue\n }\n\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap['else'] || ERROR;\n\n if (transition === ERROR) {\n return // parse error\n }\n\n mode = transition[0];\n action = actions[transition[1]];\n if (action) {\n newChar = transition[2];\n newChar = newChar === undefined\n ? c\n : newChar;\n if (action() === false) {\n return\n }\n }\n\n if (mode === AFTER_PATH) {\n return keys\n }\n }\n}\n\n\n\n\n\nvar I18nPath = function I18nPath () {\n this._cache = Object.create(null);\n};\n\n/**\n * External parse that check for a cache hit first\n */\nI18nPath.prototype.parsePath = function parsePath (path) {\n var hit = this._cache[path];\n if (!hit) {\n hit = parse$1(path);\n if (hit) {\n this._cache[path] = hit;\n }\n }\n return hit || []\n};\n\n/**\n * Get path value from path string\n */\nI18nPath.prototype.getPathValue = function getPathValue (obj, path) {\n if (!isObject(obj)) { return null }\n\n var paths = this.parsePath(path);\n if (paths.length === 0) {\n return null\n } else {\n var length = paths.length;\n var last = obj;\n var i = 0;\n while (i < length) {\n var value = last[paths[i]];\n if (value === undefined) {\n return null\n }\n last = value;\n i++;\n }\n\n return last\n }\n};\n\n/* */\n\n\n\nvar htmlTagMatcher = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nvar linkKeyMatcher = /(?:@(?:\\.[a-z]+)?:(?:[\\w\\-_|.]+|\\([\\w\\-_|.]+\\)))/g;\nvar linkKeyPrefixMatcher = /^@(?:\\.([a-z]+))?:/;\nvar bracketsMatcher = /[()]/g;\nvar defaultModifiers = {\n 'upper': function (str) { return str.toLocaleUpperCase(); },\n 'lower': function (str) { return str.toLocaleLowerCase(); },\n 'capitalize': function (str) { return (\"\" + (str.charAt(0).toLocaleUpperCase()) + (str.substr(1))); }\n};\n\nvar defaultFormatter = new BaseFormatter();\n\nvar VueI18n = function VueI18n (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #290\n /* istanbul ignore if */\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n var locale = options.locale || 'en-US';\n var fallbackLocale = options.fallbackLocale === false\n ? false\n : options.fallbackLocale || 'en-US';\n var messages = options.messages || {};\n var dateTimeFormats = options.dateTimeFormats || {};\n var numberFormats = options.numberFormats || {};\n\n this._vm = null;\n this._formatter = options.formatter || defaultFormatter;\n this._modifiers = options.modifiers || {};\n this._missing = options.missing || null;\n this._root = options.root || null;\n this._sync = options.sync === undefined ? true : !!options.sync;\n this._fallbackRoot = options.fallbackRoot === undefined\n ? true\n : !!options.fallbackRoot;\n this._formatFallbackMessages = options.formatFallbackMessages === undefined\n ? false\n : !!options.formatFallbackMessages;\n this._silentTranslationWarn = options.silentTranslationWarn === undefined\n ? false\n : options.silentTranslationWarn;\n this._silentFallbackWarn = options.silentFallbackWarn === undefined\n ? false\n : !!options.silentFallbackWarn;\n this._dateTimeFormatters = {};\n this._numberFormatters = {};\n this._path = new I18nPath();\n this._dataListeners = [];\n this._componentInstanceCreatedListener = options.componentInstanceCreatedListener || null;\n this._preserveDirectiveContent = options.preserveDirectiveContent === undefined\n ? false\n : !!options.preserveDirectiveContent;\n this.pluralizationRules = options.pluralizationRules || {};\n this._warnHtmlInMessage = options.warnHtmlInMessage || 'off';\n this._postTranslation = options.postTranslation || null;\n\n /**\n * @param choice {number} a choice index given by the input to $tc: `$tc('path.to.rule', choiceIndex)`\n * @param choicesLength {number} an overall amount of available choices\n * @returns a final choice index\n */\n this.getChoiceIndex = function (choice, choicesLength) {\n var thisPrototype = Object.getPrototypeOf(this$1);\n if (thisPrototype && thisPrototype.getChoiceIndex) {\n var prototypeGetChoiceIndex = (thisPrototype.getChoiceIndex);\n return (prototypeGetChoiceIndex).call(this$1, choice, choicesLength)\n }\n\n // Default (old) getChoiceIndex implementation - english-compatible\n var defaultImpl = function (_choice, _choicesLength) {\n _choice = Math.abs(_choice);\n\n if (_choicesLength === 2) {\n return _choice\n ? _choice > 1\n ? 1\n : 0\n : 1\n }\n\n return _choice ? Math.min(_choice, 2) : 0\n };\n\n if (this$1.locale in this$1.pluralizationRules) {\n return this$1.pluralizationRules[this$1.locale].apply(this$1, [choice, choicesLength])\n } else {\n return defaultImpl(choice, choicesLength)\n }\n };\n\n\n this._exist = function (message, key) {\n if (!message || !key) { return false }\n if (!isNull(this$1._path.getPathValue(message, key))) { return true }\n // fallback for flat key\n if (message[key]) { return true }\n return false\n };\n\n if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n Object.keys(messages).forEach(function (locale) {\n this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]);\n });\n }\n\n this._initVM({\n locale: locale,\n fallbackLocale: fallbackLocale,\n messages: messages,\n dateTimeFormats: dateTimeFormats,\n numberFormats: numberFormats\n });\n};\n\nvar prototypeAccessors = { vm: { configurable: true },messages: { configurable: true },dateTimeFormats: { configurable: true },numberFormats: { configurable: true },availableLocales: { configurable: true },locale: { configurable: true },fallbackLocale: { configurable: true },formatFallbackMessages: { configurable: true },missing: { configurable: true },formatter: { configurable: true },silentTranslationWarn: { configurable: true },silentFallbackWarn: { configurable: true },preserveDirectiveContent: { configurable: true },warnHtmlInMessage: { configurable: true },postTranslation: { configurable: true } };\n\nVueI18n.prototype._checkLocaleMessage = function _checkLocaleMessage (locale, level, message) {\n var paths = [];\n\n var fn = function (level, locale, message, paths) {\n if (isPlainObject(message)) {\n Object.keys(message).forEach(function (key) {\n var val = message[key];\n if (isPlainObject(val)) {\n paths.push(key);\n paths.push('.');\n fn(level, locale, val, paths);\n paths.pop();\n paths.pop();\n } else {\n paths.push(key);\n fn(level, locale, val, paths);\n paths.pop();\n }\n });\n } else if (isArray(message)) {\n message.forEach(function (item, index) {\n if (isPlainObject(item)) {\n paths.push((\"[\" + index + \"]\"));\n paths.push('.');\n fn(level, locale, item, paths);\n paths.pop();\n paths.pop();\n } else {\n paths.push((\"[\" + index + \"]\"));\n fn(level, locale, item, paths);\n paths.pop();\n }\n });\n } else if (isString(message)) {\n var ret = htmlTagMatcher.test(message);\n if (ret) {\n var msg = \"Detected HTML in message '\" + message + \"' of keypath '\" + (paths.join('')) + \"' at '\" + locale + \"'. Consider component interpolation with '' to avoid XSS. See https://bit.ly/2ZqJzkp\";\n if (level === 'warn') {\n warn(msg);\n } else if (level === 'error') {\n error(msg);\n }\n }\n }\n };\n\n fn(level, locale, message, paths);\n};\n\nVueI18n.prototype._initVM = function _initVM (data) {\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n this._vm = new Vue({ data: data });\n Vue.config.silent = silent;\n};\n\nVueI18n.prototype.destroyVM = function destroyVM () {\n this._vm.$destroy();\n};\n\nVueI18n.prototype.subscribeDataChanging = function subscribeDataChanging (vm) {\n this._dataListeners.push(vm);\n};\n\nVueI18n.prototype.unsubscribeDataChanging = function unsubscribeDataChanging (vm) {\n remove(this._dataListeners, vm);\n};\n\nVueI18n.prototype.watchI18nData = function watchI18nData () {\n var self = this;\n return this._vm.$watch('$data', function () {\n var i = self._dataListeners.length;\n while (i--) {\n Vue.nextTick(function () {\n self._dataListeners[i] && self._dataListeners[i].$forceUpdate();\n });\n }\n }, { deep: true })\n};\n\nVueI18n.prototype.watchLocale = function watchLocale () {\n /* istanbul ignore if */\n if (!this._sync || !this._root) { return null }\n var target = this._vm;\n return this._root.$i18n.vm.$watch('locale', function (val) {\n target.$set(target, 'locale', val);\n target.$forceUpdate();\n }, { immediate: true })\n};\n\nVueI18n.prototype.onComponentInstanceCreated = function onComponentInstanceCreated (newI18n) {\n if (this._componentInstanceCreatedListener) {\n this._componentInstanceCreatedListener(newI18n, this);\n }\n};\n\nprototypeAccessors.vm.get = function () { return this._vm };\n\nprototypeAccessors.messages.get = function () { return looseClone(this._getMessages()) };\nprototypeAccessors.dateTimeFormats.get = function () { return looseClone(this._getDateTimeFormats()) };\nprototypeAccessors.numberFormats.get = function () { return looseClone(this._getNumberFormats()) };\nprototypeAccessors.availableLocales.get = function () { return Object.keys(this.messages).sort() };\n\nprototypeAccessors.locale.get = function () { return this._vm.locale };\nprototypeAccessors.locale.set = function (locale) {\n this._vm.$set(this._vm, 'locale', locale);\n};\n\nprototypeAccessors.fallbackLocale.get = function () { return this._vm.fallbackLocale };\nprototypeAccessors.fallbackLocale.set = function (locale) {\n this._localeChainCache = {};\n this._vm.$set(this._vm, 'fallbackLocale', locale);\n};\n\nprototypeAccessors.formatFallbackMessages.get = function () { return this._formatFallbackMessages };\nprototypeAccessors.formatFallbackMessages.set = function (fallback) { this._formatFallbackMessages = fallback; };\n\nprototypeAccessors.missing.get = function () { return this._missing };\nprototypeAccessors.missing.set = function (handler) { this._missing = handler; };\n\nprototypeAccessors.formatter.get = function () { return this._formatter };\nprototypeAccessors.formatter.set = function (formatter) { this._formatter = formatter; };\n\nprototypeAccessors.silentTranslationWarn.get = function () { return this._silentTranslationWarn };\nprototypeAccessors.silentTranslationWarn.set = function (silent) { this._silentTranslationWarn = silent; };\n\nprototypeAccessors.silentFallbackWarn.get = function () { return this._silentFallbackWarn };\nprototypeAccessors.silentFallbackWarn.set = function (silent) { this._silentFallbackWarn = silent; };\n\nprototypeAccessors.preserveDirectiveContent.get = function () { return this._preserveDirectiveContent };\nprototypeAccessors.preserveDirectiveContent.set = function (preserve) { this._preserveDirectiveContent = preserve; };\n\nprototypeAccessors.warnHtmlInMessage.get = function () { return this._warnHtmlInMessage };\nprototypeAccessors.warnHtmlInMessage.set = function (level) {\n var this$1 = this;\n\n var orgLevel = this._warnHtmlInMessage;\n this._warnHtmlInMessage = level;\n if (orgLevel !== level && (level === 'warn' || level === 'error')) {\n var messages = this._getMessages();\n Object.keys(messages).forEach(function (locale) {\n this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]);\n });\n }\n};\n\nprototypeAccessors.postTranslation.get = function () { return this._postTranslation };\nprototypeAccessors.postTranslation.set = function (handler) { this._postTranslation = handler; };\n\nVueI18n.prototype._getMessages = function _getMessages () { return this._vm.messages };\nVueI18n.prototype._getDateTimeFormats = function _getDateTimeFormats () { return this._vm.dateTimeFormats };\nVueI18n.prototype._getNumberFormats = function _getNumberFormats () { return this._vm.numberFormats };\n\nVueI18n.prototype._warnDefault = function _warnDefault (locale, key, result, vm, values, interpolateMode) {\n if (!isNull(result)) { return result }\n if (this._missing) {\n var missingRet = this._missing.apply(null, [locale, key, vm, values]);\n if (isString(missingRet)) {\n return missingRet\n }\n } else {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n warn(\n \"Cannot translate the value of keypath '\" + key + \"'. \" +\n 'Use the value of keypath as default.'\n );\n }\n }\n\n if (this._formatFallbackMessages) {\n var parsedArgs = parseArgs.apply(void 0, values);\n return this._render(key, interpolateMode, parsedArgs.params, key)\n } else {\n return key\n }\n};\n\nVueI18n.prototype._isFallbackRoot = function _isFallbackRoot (val) {\n return !val && !isNull(this._root) && this._fallbackRoot\n};\n\nVueI18n.prototype._isSilentFallbackWarn = function _isSilentFallbackWarn (key) {\n return this._silentFallbackWarn instanceof RegExp\n ? this._silentFallbackWarn.test(key)\n : this._silentFallbackWarn\n};\n\nVueI18n.prototype._isSilentFallback = function _isSilentFallback (locale, key) {\n return this._isSilentFallbackWarn(key) && (this._isFallbackRoot() || locale !== this.fallbackLocale)\n};\n\nVueI18n.prototype._isSilentTranslationWarn = function _isSilentTranslationWarn (key) {\n return this._silentTranslationWarn instanceof RegExp\n ? this._silentTranslationWarn.test(key)\n : this._silentTranslationWarn\n};\n\nVueI18n.prototype._interpolate = function _interpolate (\n locale,\n message,\n key,\n host,\n interpolateMode,\n values,\n visitedLinkStack\n) {\n if (!message) { return null }\n\n var pathRet = this._path.getPathValue(message, key);\n if (isArray(pathRet) || isPlainObject(pathRet)) { return pathRet }\n\n var ret;\n if (isNull(pathRet)) {\n /* istanbul ignore else */\n if (isPlainObject(message)) {\n ret = message[key];\n if (!(isString(ret) || isFunction(ret))) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) {\n warn((\"Value of key '\" + key + \"' is not a string or function !\"));\n }\n return null\n }\n } else {\n return null\n }\n } else {\n /* istanbul ignore else */\n if (isString(pathRet) || isFunction(pathRet)) {\n ret = pathRet;\n } else {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) {\n warn((\"Value of key '\" + key + \"' is not a string or function!\"));\n }\n return null\n }\n }\n\n // Check for the existence of links within the translated string\n if (isString(ret) && (ret.indexOf('@:') >= 0 || ret.indexOf('@.') >= 0)) {\n ret = this._link(locale, message, ret, host, 'raw', values, visitedLinkStack);\n }\n\n return this._render(ret, interpolateMode, values, key)\n};\n\nVueI18n.prototype._link = function _link (\n locale,\n message,\n str,\n host,\n interpolateMode,\n values,\n visitedLinkStack\n) {\n var ret = str;\n\n // Match all the links within the local\n // We are going to replace each of\n // them with its translation\n var matches = ret.match(linkKeyMatcher);\n for (var idx in matches) {\n // ie compatible: filter custom array\n // prototype method\n if (!matches.hasOwnProperty(idx)) {\n continue\n }\n var link = matches[idx];\n var linkKeyPrefixMatches = link.match(linkKeyPrefixMatcher);\n var linkPrefix = linkKeyPrefixMatches[0];\n var formatterName = linkKeyPrefixMatches[1];\n\n // Remove the leading @:, @.case: and the brackets\n var linkPlaceholder = link.replace(linkPrefix, '').replace(bracketsMatcher, '');\n\n if (includes(visitedLinkStack, linkPlaceholder)) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Circular reference found. \\\"\" + link + \"\\\" is already visited in the chain of \" + (visitedLinkStack.reverse().join(' <- '))));\n }\n return ret\n }\n visitedLinkStack.push(linkPlaceholder);\n\n // Translate the link\n var translated = this._interpolate(\n locale, message, linkPlaceholder, host,\n interpolateMode === 'raw' ? 'string' : interpolateMode,\n interpolateMode === 'raw' ? undefined : values,\n visitedLinkStack\n );\n\n if (this._isFallbackRoot(translated)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(linkPlaceholder)) {\n warn((\"Fall back to translate the link placeholder '\" + linkPlaceholder + \"' with root locale.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n var root = this._root.$i18n;\n translated = root._translate(\n root._getMessages(), root.locale, root.fallbackLocale,\n linkPlaceholder, host, interpolateMode, values\n );\n }\n translated = this._warnDefault(\n locale, linkPlaceholder, translated, host,\n isArray(values) ? values : [values],\n interpolateMode\n );\n\n if (this._modifiers.hasOwnProperty(formatterName)) {\n translated = this._modifiers[formatterName](translated);\n } else if (defaultModifiers.hasOwnProperty(formatterName)) {\n translated = defaultModifiers[formatterName](translated);\n }\n\n visitedLinkStack.pop();\n\n // Replace the link with the translated\n ret = !translated ? ret : ret.replace(link, translated);\n }\n\n return ret\n};\n\nVueI18n.prototype._createMessageContext = function _createMessageContext (values) {\n var _list = isArray(values) ? values : [];\n var _named = isObject(values) ? values : {};\n var list = function (index) { return _list[index]; };\n var named = function (key) { return _named[key]; };\n return {\n list: list,\n named: named\n }\n};\n\nVueI18n.prototype._render = function _render (message, interpolateMode, values, path) {\n if (isFunction(message)) {\n return message(this._createMessageContext(values))\n }\n\n var ret = this._formatter.interpolate(message, values, path);\n\n // If the custom formatter refuses to work - apply the default one\n if (!ret) {\n ret = defaultFormatter.interpolate(message, values, path);\n }\n\n // if interpolateMode is **not** 'string' ('row'),\n // return the compiled data (e.g. ['foo', VNode, 'bar']) with formatter\n return interpolateMode === 'string' && !isString(ret) ? ret.join('') : ret\n};\n\nVueI18n.prototype._appendItemToChain = function _appendItemToChain (chain, item, blocks) {\n var follow = false;\n if (!includes(chain, item)) {\n follow = true;\n if (item) {\n follow = item[item.length - 1] !== '!';\n item = item.replace(/!/g, '');\n chain.push(item);\n if (blocks && blocks[item]) {\n follow = blocks[item];\n }\n }\n }\n return follow\n};\n\nVueI18n.prototype._appendLocaleToChain = function _appendLocaleToChain (chain, locale, blocks) {\n var follow;\n var tokens = locale.split('-');\n do {\n var item = tokens.join('-');\n follow = this._appendItemToChain(chain, item, blocks);\n tokens.splice(-1, 1);\n } while (tokens.length && (follow === true))\n return follow\n};\n\nVueI18n.prototype._appendBlockToChain = function _appendBlockToChain (chain, block, blocks) {\n var follow = true;\n for (var i = 0; (i < block.length) && (isBoolean(follow)); i++) {\n var locale = block[i];\n if (isString(locale)) {\n follow = this._appendLocaleToChain(chain, locale, blocks);\n }\n }\n return follow\n};\n\nVueI18n.prototype._getLocaleChain = function _getLocaleChain (start, fallbackLocale) {\n if (start === '') { return [] }\n\n if (!this._localeChainCache) {\n this._localeChainCache = {};\n }\n\n var chain = this._localeChainCache[start];\n if (!chain) {\n if (!fallbackLocale) {\n fallbackLocale = this.fallbackLocale;\n }\n chain = [];\n\n // first block defined by start\n var block = [start];\n\n // while any intervening block found\n while (isArray(block)) {\n block = this._appendBlockToChain(\n chain,\n block,\n fallbackLocale\n );\n }\n\n // last block defined by default\n var defaults;\n if (isArray(fallbackLocale)) {\n defaults = fallbackLocale;\n } else if (isObject(fallbackLocale)) {\n /* $FlowFixMe */\n if (fallbackLocale['default']) {\n defaults = fallbackLocale['default'];\n } else {\n defaults = null;\n }\n } else {\n defaults = fallbackLocale;\n }\n\n // convert defaults to array\n if (isString(defaults)) {\n block = [defaults];\n } else {\n block = defaults;\n }\n if (block) {\n this._appendBlockToChain(\n chain,\n block,\n null\n );\n }\n this._localeChainCache[start] = chain;\n }\n return chain\n};\n\nVueI18n.prototype._translate = function _translate (\n messages,\n locale,\n fallback,\n key,\n host,\n interpolateMode,\n args\n) {\n var chain = this._getLocaleChain(locale, fallback);\n var res;\n for (var i = 0; i < chain.length; i++) {\n var step = chain[i];\n res =\n this._interpolate(step, messages[step], key, host, interpolateMode, args, [key]);\n if (!isNull(res)) {\n if (step !== locale && process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to translate the keypath '\" + key + \"' with '\" + step + \"' locale.\"));\n }\n return res\n }\n }\n return null\n};\n\nVueI18n.prototype._t = function _t (key, _locale, messages, host) {\n var ref;\n\n var values = [], len = arguments.length - 4;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 4 ];\n if (!key) { return '' }\n\n var parsedArgs = parseArgs.apply(void 0, values);\n var locale = parsedArgs.locale || _locale;\n\n var ret = this._translate(\n messages, locale, this.fallbackLocale, key,\n host, 'string', parsedArgs.params\n );\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to translate the keypath '\" + key + \"' with root locale.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return (ref = this._root).$t.apply(ref, [ key ].concat( values ))\n } else {\n ret = this._warnDefault(locale, key, ret, host, values, 'string');\n if (this._postTranslation && ret !== null && ret !== undefined) {\n ret = this._postTranslation(ret, key);\n }\n return ret\n }\n};\n\nVueI18n.prototype.t = function t (key) {\n var ref;\n\n var values = [], len = arguments.length - 1;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];\n return (ref = this)._t.apply(ref, [ key, this.locale, this._getMessages(), null ].concat( values ))\n};\n\nVueI18n.prototype._i = function _i (key, locale, messages, host, values) {\n var ret =\n this._translate(messages, locale, this.fallbackLocale, key, host, 'raw', values);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n warn((\"Fall back to interpolate the keypath '\" + key + \"' with root locale.\"));\n }\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n.i(key, locale, values)\n } else {\n return this._warnDefault(locale, key, ret, host, [values], 'raw')\n }\n};\n\nVueI18n.prototype.i = function i (key, locale, values) {\n /* istanbul ignore if */\n if (!key) { return '' }\n\n if (!isString(locale)) {\n locale = this.locale;\n }\n\n return this._i(key, locale, this._getMessages(), null, values)\n};\n\nVueI18n.prototype._tc = function _tc (\n key,\n _locale,\n messages,\n host,\n choice\n) {\n var ref;\n\n var values = [], len = arguments.length - 5;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 5 ];\n if (!key) { return '' }\n if (choice === undefined) {\n choice = 1;\n }\n\n var predefined = { 'count': choice, 'n': choice };\n var parsedArgs = parseArgs.apply(void 0, values);\n parsedArgs.params = Object.assign(predefined, parsedArgs.params);\n values = parsedArgs.locale === null ? [parsedArgs.params] : [parsedArgs.locale, parsedArgs.params];\n return this.fetchChoice((ref = this)._t.apply(ref, [ key, _locale, messages, host ].concat( values )), choice)\n};\n\nVueI18n.prototype.fetchChoice = function fetchChoice (message, choice) {\n /* istanbul ignore if */\n if (!message && !isString(message)) { return null }\n var choices = message.split('|');\n\n choice = this.getChoiceIndex(choice, choices.length);\n if (!choices[choice]) { return message }\n return choices[choice].trim()\n};\n\nVueI18n.prototype.tc = function tc (key, choice) {\n var ref;\n\n var values = [], len = arguments.length - 2;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ];\n return (ref = this)._tc.apply(ref, [ key, this.locale, this._getMessages(), null, choice ].concat( values ))\n};\n\nVueI18n.prototype._te = function _te (key, locale, messages) {\n var args = [], len = arguments.length - 3;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 3 ];\n\n var _locale = parseArgs.apply(void 0, args).locale || locale;\n return this._exist(messages[_locale], key)\n};\n\nVueI18n.prototype.te = function te (key, locale) {\n return this._te(key, this.locale, this._getMessages(), locale)\n};\n\nVueI18n.prototype.getLocaleMessage = function getLocaleMessage (locale) {\n return looseClone(this._vm.messages[locale] || {})\n};\n\nVueI18n.prototype.setLocaleMessage = function setLocaleMessage (locale, message) {\n if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);\n }\n this._vm.$set(this._vm.messages, locale, message);\n};\n\nVueI18n.prototype.mergeLocaleMessage = function mergeLocaleMessage (locale, message) {\n if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);\n }\n this._vm.$set(this._vm.messages, locale, merge({}, this._vm.messages[locale] || {}, message));\n};\n\nVueI18n.prototype.getDateTimeFormat = function getDateTimeFormat (locale) {\n return looseClone(this._vm.dateTimeFormats[locale] || {})\n};\n\nVueI18n.prototype.setDateTimeFormat = function setDateTimeFormat (locale, format) {\n this._vm.$set(this._vm.dateTimeFormats, locale, format);\n this._clearDateTimeFormat(locale, format);\n};\n\nVueI18n.prototype.mergeDateTimeFormat = function mergeDateTimeFormat (locale, format) {\n this._vm.$set(this._vm.dateTimeFormats, locale, merge(this._vm.dateTimeFormats[locale] || {}, format));\n this._clearDateTimeFormat(locale, format);\n};\n\nVueI18n.prototype._clearDateTimeFormat = function _clearDateTimeFormat (locale, format) {\n for (var key in format) {\n var id = locale + \"__\" + key;\n\n if (!this._dateTimeFormatters.hasOwnProperty(id)) {\n continue\n }\n\n delete this._dateTimeFormatters[id];\n }\n};\n\nVueI18n.prototype._localizeDateTime = function _localizeDateTime (\n value,\n locale,\n fallback,\n dateTimeFormats,\n key\n) {\n var _locale = locale;\n var formats = dateTimeFormats[_locale];\n\n var chain = this._getLocaleChain(locale, fallback);\n for (var i = 0; i < chain.length; i++) {\n var current = _locale;\n var step = chain[i];\n formats = dateTimeFormats[step];\n _locale = step;\n // fallback locale\n if (isNull(formats) || isNull(formats[key])) {\n if (step !== locale && process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to '\" + step + \"' datetime formats from '\" + current + \"' datetime formats.\"));\n }\n } else {\n break\n }\n }\n\n if (isNull(formats) || isNull(formats[key])) {\n return null\n } else {\n var format = formats[key];\n var id = _locale + \"__\" + key;\n var formatter = this._dateTimeFormatters[id];\n if (!formatter) {\n formatter = this._dateTimeFormatters[id] = new Intl.DateTimeFormat(_locale, format);\n }\n return formatter.format(value)\n }\n};\n\nVueI18n.prototype._d = function _d (value, locale, key) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && !VueI18n.availabilities.dateTimeFormat) {\n warn('Cannot format a Date value due to not supported Intl.DateTimeFormat.');\n return ''\n }\n\n if (!key) {\n return new Intl.DateTimeFormat(locale).format(value)\n }\n\n var ret =\n this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to datetime localization of root: key '\" + key + \"'.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n.d(value, key, locale)\n } else {\n return ret || ''\n }\n};\n\nVueI18n.prototype.d = function d (value) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var locale = this.locale;\n var key = null;\n\n if (args.length === 1) {\n if (isString(args[0])) {\n key = args[0];\n } else if (isObject(args[0])) {\n if (args[0].locale) {\n locale = args[0].locale;\n }\n if (args[0].key) {\n key = args[0].key;\n }\n }\n } else if (args.length === 2) {\n if (isString(args[0])) {\n key = args[0];\n }\n if (isString(args[1])) {\n locale = args[1];\n }\n }\n\n return this._d(value, locale, key)\n};\n\nVueI18n.prototype.getNumberFormat = function getNumberFormat (locale) {\n return looseClone(this._vm.numberFormats[locale] || {})\n};\n\nVueI18n.prototype.setNumberFormat = function setNumberFormat (locale, format) {\n this._vm.$set(this._vm.numberFormats, locale, format);\n this._clearNumberFormat(locale, format);\n};\n\nVueI18n.prototype.mergeNumberFormat = function mergeNumberFormat (locale, format) {\n this._vm.$set(this._vm.numberFormats, locale, merge(this._vm.numberFormats[locale] || {}, format));\n this._clearNumberFormat(locale, format);\n};\n\nVueI18n.prototype._clearNumberFormat = function _clearNumberFormat (locale, format) {\n for (var key in format) {\n var id = locale + \"__\" + key;\n\n if (!this._numberFormatters.hasOwnProperty(id)) {\n continue\n }\n\n delete this._numberFormatters[id];\n }\n};\n\nVueI18n.prototype._getNumberFormatter = function _getNumberFormatter (\n value,\n locale,\n fallback,\n numberFormats,\n key,\n options\n) {\n var _locale = locale;\n var formats = numberFormats[_locale];\n\n var chain = this._getLocaleChain(locale, fallback);\n for (var i = 0; i < chain.length; i++) {\n var current = _locale;\n var step = chain[i];\n formats = numberFormats[step];\n _locale = step;\n // fallback locale\n if (isNull(formats) || isNull(formats[key])) {\n if (step !== locale && process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to '\" + step + \"' number formats from '\" + current + \"' number formats.\"));\n }\n } else {\n break\n }\n }\n\n if (isNull(formats) || isNull(formats[key])) {\n return null\n } else {\n var format = formats[key];\n\n var formatter;\n if (options) {\n // If options specified - create one time number formatter\n formatter = new Intl.NumberFormat(_locale, Object.assign({}, format, options));\n } else {\n var id = _locale + \"__\" + key;\n formatter = this._numberFormatters[id];\n if (!formatter) {\n formatter = this._numberFormatters[id] = new Intl.NumberFormat(_locale, format);\n }\n }\n return formatter\n }\n};\n\nVueI18n.prototype._n = function _n (value, locale, key, options) {\n /* istanbul ignore if */\n if (!VueI18n.availabilities.numberFormat) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot format a Number value due to not supported Intl.NumberFormat.');\n }\n return ''\n }\n\n if (!key) {\n var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);\n return nf.format(value)\n }\n\n var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);\n var ret = formatter && formatter.format(value);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to number localization of root: key '\" + key + \"'.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n.n(value, Object.assign({}, { key: key, locale: locale }, options))\n } else {\n return ret || ''\n }\n};\n\nVueI18n.prototype.n = function n (value) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var locale = this.locale;\n var key = null;\n var options = null;\n\n if (args.length === 1) {\n if (isString(args[0])) {\n key = args[0];\n } else if (isObject(args[0])) {\n if (args[0].locale) {\n locale = args[0].locale;\n }\n if (args[0].key) {\n key = args[0].key;\n }\n\n // Filter out number format options only\n options = Object.keys(args[0]).reduce(function (acc, key) {\n var obj;\n\n if (includes(numberFormatKeys, key)) {\n return Object.assign({}, acc, ( obj = {}, obj[key] = args[0][key], obj ))\n }\n return acc\n }, null);\n }\n } else if (args.length === 2) {\n if (isString(args[0])) {\n key = args[0];\n }\n if (isString(args[1])) {\n locale = args[1];\n }\n }\n\n return this._n(value, locale, key, options)\n};\n\nVueI18n.prototype._ntp = function _ntp (value, locale, key, options) {\n /* istanbul ignore if */\n if (!VueI18n.availabilities.numberFormat) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot format to parts a Number value due to not supported Intl.NumberFormat.');\n }\n return []\n }\n\n if (!key) {\n var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);\n return nf.formatToParts(value)\n }\n\n var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);\n var ret = formatter && formatter.formatToParts(value);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n warn((\"Fall back to format number to parts of root: key '\" + key + \"' .\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n._ntp(value, locale, key, options)\n } else {\n return ret || []\n }\n};\n\nObject.defineProperties( VueI18n.prototype, prototypeAccessors );\n\nvar availabilities;\n// $FlowFixMe\nObject.defineProperty(VueI18n, 'availabilities', {\n get: function get () {\n if (!availabilities) {\n var intlDefined = typeof Intl !== 'undefined';\n availabilities = {\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n };\n }\n\n return availabilities\n }\n});\n\nVueI18n.install = install;\nVueI18n.version = '8.21.1';\n\nexport default VueI18n;\n"],"sourceRoot":""}