{"version":3,"file":"vue-i18n-Cx9xKRmF.js","sources":["../../node_modules/@intlify/shared/dist/shared.mjs","../../node_modules/@intlify/message-compiler/dist/message-compiler.esm-browser.js","../../node_modules/@intlify/core-base/dist/core-base.mjs","../../node_modules/vue-i18n/dist/vue-i18n.mjs"],"sourcesContent":["/*!\n * shared v9.9.0\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst inBrowser = typeof window !== 'undefined';\nlet mark;\nlet measure;\nif ((process.env.NODE_ENV !== 'production')) {\n const perf = inBrowser && window.performance;\n if (perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n // @ts-ignore browser compat\n perf.clearMeasures) {\n mark = (tag) => {\n perf.mark(tag);\n };\n measure = (name, startTag, endTag) => {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n };\n }\n}\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst makeSymbol = (name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name);\nconst generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source });\nconst friendlyJSONstringify = (json) => JSON.stringify(json)\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n .replace(/\\u0027/g, '\\\\u0027');\nconst isNumber = (val) => typeof val === 'number' && isFinite(val);\nconst isDate = (val) => toTypeString(val) === '[object Date]';\nconst isRegExp = (val) => toTypeString(val) === '[object RegExp]';\nconst isEmptyObject = (val) => isPlainObject(val) && Object.keys(val).length === 0;\nconst assign = Object.assign;\nlet _globalThis;\nconst getGlobalThis = () => {\n // prettier-ignore\n return (_globalThis ||\n (_globalThis =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {}));\n};\nfunction escapeHtml(rawText) {\n return rawText\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n/* eslint-enable */\n/**\n * Useful Utilities By Evan you\n * Modified by kazuya kawaguchi\n * MIT License\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/index.ts\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/codeframe.ts\n */\nconst isArray = Array.isArray;\nconst isFunction = (val) => typeof val === 'function';\nconst isString = (val) => typeof val === 'string';\nconst isBoolean = (val) => typeof val === 'boolean';\nconst isSymbol = (val) => typeof val === 'symbol';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isPromise = (val) => {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst isPlainObject = (val) => {\n if (!isObject(val))\n return false;\n const proto = Object.getPrototypeOf(val);\n return proto === null || proto.constructor === Object;\n};\n// for converting list and named values to displayed strings.\nconst toDisplayString = (val) => {\n return val == null\n ? ''\n : isArray(val) || (isPlainObject(val) && val.toString === objectToString)\n ? JSON.stringify(val, null, 2)\n : String(val);\n};\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\nconst RANGE = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n const lines = source.split(/\\r?\\n/);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + 1;\n if (count >= start) {\n for (let j = i - RANGE; j <= i + RANGE || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(`${line}${' '.repeat(3 - String(line).length)}| ${lines[j]}`);\n const lineLength = lines[j].length;\n if (j === i) {\n // push underline\n const pad = start - (count - lineLength) + 1;\n const length = Math.max(1, end > count ? lineLength - pad : end - start);\n res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));\n }\n else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + '^'.repeat(length));\n }\n count += lineLength + 1;\n }\n }\n break;\n }\n }\n return res.join('\\n');\n}\nfunction incrementer(code) {\n let current = code;\n return () => ++current;\n}\n\nfunction warn(msg, err) {\n if (typeof console !== 'undefined') {\n console.warn(`[intlify] ` + msg);\n /* istanbul ignore if */\n if (err) {\n console.warn(err.stack);\n }\n }\n}\nconst hasWarned = {};\nfunction warnOnce(msg) {\n if (!hasWarned[msg]) {\n hasWarned[msg] = true;\n warn(msg);\n }\n}\n\n/**\n * Event emitter, forked from the below:\n * - original repository url: https://github.com/developit/mitt\n * - code url: https://github.com/developit/mitt/blob/master/src/index.ts\n * - author: Jason Miller (https://github.com/developit)\n * - license: MIT\n */\n/**\n * Create a event emitter\n *\n * @returns An event emitter\n */\nfunction createEmitter() {\n const events = new Map();\n const emitter = {\n events,\n on(event, handler) {\n const handlers = events.get(event);\n const added = handlers && handlers.push(handler);\n if (!added) {\n events.set(event, [handler]);\n }\n },\n off(event, handler) {\n const handlers = events.get(event);\n if (handlers) {\n handlers.splice(handlers.indexOf(handler) >>> 0, 1);\n }\n },\n emit(event, payload) {\n (events.get(event) || [])\n .slice()\n .map(handler => handler(payload));\n (events.get('*') || [])\n .slice()\n .map(handler => handler(event, payload));\n }\n };\n return emitter;\n}\n\nconst isNotObjectOrIsArray = (val) => !isObject(val) || isArray(val);\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nfunction deepCopy(src, des) {\n // src and des should both be objects, and none of them can be a array\n if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {\n throw new Error('Invalid value');\n }\n const stack = [{ src, des }];\n while (stack.length) {\n const { src, des } = stack.pop();\n Object.keys(src).forEach(key => {\n if (isNotObjectOrIsArray(src[key]) || isNotObjectOrIsArray(des[key])) {\n // replace with src[key] when:\n // src[key] or des[key] is not an object, or\n // src[key] or des[key] is an array\n des[key] = src[key];\n }\n else {\n // src[key] and des[key] are both objects, merge them\n stack.push({ src: src[key], des: des[key] });\n }\n });\n }\n}\n\nexport { assign, createEmitter, deepCopy, escapeHtml, format, friendlyJSONstringify, generateCodeFrame, generateFormatCacheKey, getGlobalThis, hasOwn, inBrowser, incrementer, isArray, isBoolean, isDate, isEmptyObject, isFunction, isNumber, isObject, isPlainObject, isPromise, isRegExp, isString, isSymbol, join, makeSymbol, mark, measure, objectToString, toDisplayString, toTypeString, warn, warnOnce };\n","/*!\n * message-compiler v9.9.0\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nconst LOCATION_STUB = {\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 }\n};\nfunction createPosition(line, column, offset) {\n return { line, column, offset };\n}\nfunction createLocation(start, end, source) {\n const loc = { start, end };\n if (source != null) {\n loc.source = source;\n }\n return loc;\n}\n\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst assign = Object.assign;\nconst isString = (val) => typeof val === 'string';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\n\nconst CompileErrorCodes = {\n // tokenizer error codes\n EXPECTED_TOKEN: 1,\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\n UNKNOWN_ESCAPE_SEQUENCE: 4,\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\n UNBALANCED_CLOSING_BRACE: 6,\n UNTERMINATED_CLOSING_BRACE: 7,\n EMPTY_PLACEHOLDER: 8,\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\n INVALID_LINKED_FORMAT: 10,\n // parser error codes\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\n // generator error codes\n UNHANDLED_CODEGEN_NODE_TYPE: 15,\n // minifier error codes\n UNHANDLED_MINIFIER_NODE_TYPE: 16,\n // Special value for higher-order compilers to pick up the last code\n // to avoid collision of error codes. This should always be kept as the last\n // item.\n __EXTEND_POINT__: 17\n};\n/** @internal */\nconst errorMessages = {\n // tokenizer error messages\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\n // parser error messages\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`,\n // generator error messages\n [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`,\n // minimizer error messages\n [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'`\n};\nfunction createCompileError(code, loc, options = {}) {\n const { domain, messages, args } = options;\n const msg = format((messages || errorMessages)[code] || '', ...(args || []))\n ;\n const error = new SyntaxError(String(msg));\n error.code = code;\n if (loc) {\n error.location = loc;\n }\n error.domain = domain;\n return error;\n}\n/** @internal */\nfunction defaultOnError(error) {\n throw error;\n}\n\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nconst detectHtmlTag = (source) => RE_HTML_TAG.test(source);\n\nconst CHAR_SP = ' ';\nconst CHAR_CR = '\\r';\nconst CHAR_LF = '\\n';\nconst CHAR_LS = String.fromCharCode(0x2028);\nconst CHAR_PS = String.fromCharCode(0x2029);\nfunction createScanner(str) {\n const _buf = str;\n let _index = 0;\n let _line = 1;\n let _column = 1;\n let _peekOffset = 0;\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\n const isLF = (index) => _buf[index] === CHAR_LF;\n const isPS = (index) => _buf[index] === CHAR_PS;\n const isLS = (index) => _buf[index] === CHAR_LS;\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\n const index = () => _index;\n const line = () => _line;\n const column = () => _column;\n const peekOffset = () => _peekOffset;\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\n const currentChar = () => charAt(_index);\n const currentPeek = () => charAt(_index + _peekOffset);\n function next() {\n _peekOffset = 0;\n if (isLineEnd(_index)) {\n _line++;\n _column = 0;\n }\n if (isCRLF(_index)) {\n _index++;\n }\n _index++;\n _column++;\n return _buf[_index];\n }\n function peek() {\n if (isCRLF(_index + _peekOffset)) {\n _peekOffset++;\n }\n _peekOffset++;\n return _buf[_index + _peekOffset];\n }\n function reset() {\n _index = 0;\n _line = 1;\n _column = 1;\n _peekOffset = 0;\n }\n function resetPeek(offset = 0) {\n _peekOffset = offset;\n }\n function skipToPeek() {\n const target = _index + _peekOffset;\n // eslint-disable-next-line no-unmodified-loop-condition\n while (target !== _index) {\n next();\n }\n _peekOffset = 0;\n }\n return {\n index,\n line,\n column,\n peekOffset,\n charAt,\n currentChar,\n currentPeek,\n next,\n peek,\n reset,\n resetPeek,\n skipToPeek\n };\n}\n\nconst EOF = undefined;\nconst DOT = '.';\nconst LITERAL_DELIMITER = \"'\";\nconst ERROR_DOMAIN$3 = 'tokenizer';\nfunction createTokenizer(source, options = {}) {\n const location = options.location !== false;\n const _scnr = createScanner(source);\n const currentOffset = () => _scnr.index();\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\n const _initLoc = currentPosition();\n const _initOffset = currentOffset();\n const _context = {\n currentType: 14 /* TokenTypes.EOF */,\n offset: _initOffset,\n startLoc: _initLoc,\n endLoc: _initLoc,\n lastType: 14 /* TokenTypes.EOF */,\n lastOffset: _initOffset,\n lastStartLoc: _initLoc,\n lastEndLoc: _initLoc,\n braceNest: 0,\n inLinked: false,\n text: ''\n };\n const context = () => _context;\n const { onError } = options;\n function emitError(code, pos, offset, ...args) {\n const ctx = context();\n pos.column += offset;\n pos.offset += offset;\n if (onError) {\n const loc = location ? createLocation(ctx.startLoc, pos) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$3,\n args\n });\n onError(err);\n }\n }\n function getToken(context, type, value) {\n context.endLoc = currentPosition();\n context.currentType = type;\n const token = { type };\n if (location) {\n token.loc = createLocation(context.startLoc, context.endLoc);\n }\n if (value != null) {\n token.value = value;\n }\n return token;\n }\n const getEndToken = (context) => getToken(context, 14 /* TokenTypes.EOF */);\n function eat(scnr, ch) {\n if (scnr.currentChar() === ch) {\n scnr.next();\n return ch;\n }\n else {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n return '';\n }\n }\n function peekSpaces(scnr) {\n let buf = '';\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\n buf += scnr.currentPeek();\n scnr.peek();\n }\n return buf;\n }\n function skipSpaces(scnr) {\n const buf = peekSpaces(scnr);\n scnr.skipToPeek();\n return buf;\n }\n function isIdentifierStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n cc === 95 // _\n );\n }\n function isNumberStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function isNamedIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isListIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\n const ret = isNumberStart(ch);\n scnr.resetPeek();\n return ret;\n }\n function isLiteralStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDotStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 8 /* TokenTypes.LinkedAlias */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \".\" /* TokenChars.LinkedDot */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedModifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 9 /* TokenTypes.LinkedDot */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDelimiterStart(scnr, context) {\n const { currentType } = context;\n if (!(currentType === 8 /* TokenTypes.LinkedAlias */ ||\n currentType === 12 /* TokenTypes.LinkedModifier */)) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \":\" /* TokenChars.LinkedDelimiter */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedReferStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 10 /* TokenTypes.LinkedDelimiter */) {\n return false;\n }\n const fn = () => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return isIdentifierStart(scnr.peek());\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"%\" /* TokenChars.Modulo */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \":\" /* TokenChars.LinkedDelimiter */ ||\n ch === \".\" /* TokenChars.LinkedDot */ ||\n ch === CHAR_SP ||\n !ch) {\n return false;\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn();\n }\n else {\n // other characters\n return isIdentifierStart(ch);\n }\n };\n const ret = fn();\n scnr.resetPeek();\n return ret;\n }\n function isPluralStart(scnr) {\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"|\" /* TokenChars.Pipe */;\n scnr.resetPeek();\n return ret;\n }\n function detectModuloStart(scnr) {\n const spaces = peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"%\" /* TokenChars.Modulo */ &&\n scnr.peek() === \"{\" /* TokenChars.BraceLeft */;\n scnr.resetPeek();\n return {\n isModulo: ret,\n hasSpace: spaces.length > 0\n };\n }\n function isTextStart(scnr, reset = true) {\n const fn = (hasSpace = false, prev = '', detectModulo = false) => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return prev === \"%\" /* TokenChars.Modulo */ ? false : hasSpace;\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ || !ch) {\n return prev === \"%\" /* TokenChars.Modulo */ ? true : hasSpace;\n }\n else if (ch === \"%\" /* TokenChars.Modulo */) {\n scnr.peek();\n return fn(hasSpace, \"%\" /* TokenChars.Modulo */, true);\n }\n else if (ch === \"|\" /* TokenChars.Pipe */) {\n return prev === \"%\" /* TokenChars.Modulo */ || detectModulo\n ? true\n : !(prev === CHAR_SP || prev === CHAR_LF);\n }\n else if (ch === CHAR_SP) {\n scnr.peek();\n return fn(true, CHAR_SP, detectModulo);\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn(true, CHAR_LF, detectModulo);\n }\n else {\n return true;\n }\n };\n const ret = fn();\n reset && scnr.resetPeek();\n return ret;\n }\n function takeChar(scnr, fn) {\n const ch = scnr.currentChar();\n if (ch === EOF) {\n return EOF;\n }\n if (fn(ch)) {\n scnr.next();\n return ch;\n }\n return null;\n }\n function takeIdentifierChar(scnr) {\n const closure = (ch) => {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 // $\n );\n };\n return takeChar(scnr, closure);\n }\n function takeDigit(scnr) {\n const closure = (ch) => {\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n };\n return takeChar(scnr, closure);\n }\n function takeHexDigit(scnr) {\n const closure = (ch) => {\n const cc = ch.charCodeAt(0);\n return ((cc >= 48 && cc <= 57) || // 0-9\n (cc >= 65 && cc <= 70) || // A-F\n (cc >= 97 && cc <= 102)); // a-f\n };\n return takeChar(scnr, closure);\n }\n function getDigits(scnr) {\n let ch = '';\n let num = '';\n while ((ch = takeDigit(scnr))) {\n num += ch;\n }\n return num;\n }\n function readModulo(scnr) {\n skipSpaces(scnr);\n const ch = scnr.currentChar();\n if (ch !== \"%\" /* TokenChars.Modulo */) {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n }\n scnr.next();\n return \"%\" /* TokenChars.Modulo */;\n }\n function readText(scnr) {\n let buf = '';\n while (true) {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"}\" /* TokenChars.BraceRight */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n !ch) {\n break;\n }\n else if (ch === \"%\" /* TokenChars.Modulo */) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else {\n break;\n }\n }\n else if (ch === CHAR_SP || ch === CHAR_LF) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else if (isPluralStart(scnr)) {\n break;\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n return buf;\n }\n function readNamedIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let name = '';\n while ((ch = takeIdentifierChar(scnr))) {\n name += ch;\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return name;\n }\n function readListIdentifier(scnr) {\n skipSpaces(scnr);\n let value = '';\n if (scnr.currentChar() === '-') {\n scnr.next();\n value += `-${getDigits(scnr)}`;\n }\n else {\n value += getDigits(scnr);\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return value;\n }\n function readLiteral(scnr) {\n skipSpaces(scnr);\n eat(scnr, `\\'`);\n let ch = '';\n let literal = '';\n const fn = (x) => x !== LITERAL_DELIMITER && x !== CHAR_LF;\n while ((ch = takeChar(scnr, fn))) {\n if (ch === '\\\\') {\n literal += readEscapeSequence(scnr);\n }\n else {\n literal += ch;\n }\n }\n const current = scnr.currentChar();\n if (current === CHAR_LF || current === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\n // TODO: Is it correct really?\n if (current === CHAR_LF) {\n scnr.next();\n eat(scnr, `\\'`);\n }\n return literal;\n }\n eat(scnr, `\\'`);\n return literal;\n }\n function readEscapeSequence(scnr) {\n const ch = scnr.currentChar();\n switch (ch) {\n case '\\\\':\n case `\\'`:\n scnr.next();\n return `\\\\${ch}`;\n case 'u':\n return readUnicodeEscapeSequence(scnr, ch, 4);\n case 'U':\n return readUnicodeEscapeSequence(scnr, ch, 6);\n default:\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\n return '';\n }\n }\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\n eat(scnr, unicode);\n let sequence = '';\n for (let i = 0; i < digits; i++) {\n const ch = takeHexDigit(scnr);\n if (!ch) {\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\n break;\n }\n sequence += ch;\n }\n return `\\\\${unicode}${sequence}`;\n }\n function readInvalidIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let identifiers = '';\n const closure = (ch) => ch !== \"{\" /* TokenChars.BraceLeft */ &&\n ch !== \"}\" /* TokenChars.BraceRight */ &&\n ch !== CHAR_SP &&\n ch !== CHAR_LF;\n while ((ch = takeChar(scnr, closure))) {\n identifiers += ch;\n }\n return identifiers;\n }\n function readLinkedModifier(scnr) {\n let ch = '';\n let name = '';\n while ((ch = takeIdentifierChar(scnr))) {\n name += ch;\n }\n return name;\n }\n function readLinkedRefer(scnr) {\n const fn = (detect = false, buf) => {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"%\" /* TokenChars.Modulo */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \"(\" /* TokenChars.ParenLeft */ ||\n ch === \")\" /* TokenChars.ParenRight */ ||\n !ch) {\n return buf;\n }\n else if (ch === CHAR_SP) {\n return buf;\n }\n else if (ch === CHAR_LF || ch === DOT) {\n buf += ch;\n scnr.next();\n return fn(detect, buf);\n }\n else {\n buf += ch;\n scnr.next();\n return fn(true, buf);\n }\n };\n return fn(false, '');\n }\n function readPlural(scnr) {\n skipSpaces(scnr);\n const plural = eat(scnr, \"|\" /* TokenChars.Pipe */);\n skipSpaces(scnr);\n return plural;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInPlaceholder(scnr, context) {\n let token = null;\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n if (context.braceNest >= 1) {\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 2 /* TokenTypes.BraceLeft */, \"{\" /* TokenChars.BraceLeft */);\n skipSpaces(scnr);\n context.braceNest++;\n return token;\n case \"}\" /* TokenChars.BraceRight */:\n if (context.braceNest > 0 &&\n context.currentType === 2 /* TokenTypes.BraceLeft */) {\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n context.braceNest--;\n context.braceNest > 0 && skipSpaces(scnr);\n if (context.inLinked && context.braceNest === 0) {\n context.inLinked = false;\n }\n return token;\n case \"@\" /* TokenChars.LinkedAlias */:\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = readTokenInLinked(scnr, context) || getEndToken(context);\n context.braceNest = 0;\n return token;\n default:\n let validNamedIdentifier = true;\n let validListIdentifier = true;\n let validLiteral = true;\n if (isPluralStart(scnr)) {\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (context.braceNest > 0 &&\n (context.currentType === 5 /* TokenTypes.Named */ ||\n context.currentType === 6 /* TokenTypes.List */ ||\n context.currentType === 7 /* TokenTypes.Literal */)) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n context.braceNest = 0;\n return readToken(scnr, context);\n }\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\n token = getToken(context, 5 /* TokenTypes.Named */, readNamedIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\n token = getToken(context, 6 /* TokenTypes.List */, readListIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validLiteral = isLiteralStart(scnr, context))) {\n token = getToken(context, 7 /* TokenTypes.Literal */, readLiteral(scnr));\n skipSpaces(scnr);\n return token;\n }\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\n token = getToken(context, 13 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\n skipSpaces(scnr);\n return token;\n }\n break;\n }\n return token;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInLinked(scnr, context) {\n const { currentType } = context;\n let token = null;\n const ch = scnr.currentChar();\n if ((currentType === 8 /* TokenTypes.LinkedAlias */ ||\n currentType === 9 /* TokenTypes.LinkedDot */ ||\n currentType === 12 /* TokenTypes.LinkedModifier */ ||\n currentType === 10 /* TokenTypes.LinkedDelimiter */) &&\n (ch === CHAR_LF || ch === CHAR_SP)) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n switch (ch) {\n case \"@\" /* TokenChars.LinkedAlias */:\n scnr.next();\n token = getToken(context, 8 /* TokenTypes.LinkedAlias */, \"@\" /* TokenChars.LinkedAlias */);\n context.inLinked = true;\n return token;\n case \".\" /* TokenChars.LinkedDot */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 9 /* TokenTypes.LinkedDot */, \".\" /* TokenChars.LinkedDot */);\n case \":\" /* TokenChars.LinkedDelimiter */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 10 /* TokenTypes.LinkedDelimiter */, \":\" /* TokenChars.LinkedDelimiter */);\n default:\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isLinkedDotStart(scnr, context) ||\n isLinkedDelimiterStart(scnr, context)) {\n skipSpaces(scnr);\n return readTokenInLinked(scnr, context);\n }\n if (isLinkedModifierStart(scnr, context)) {\n skipSpaces(scnr);\n return getToken(context, 12 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));\n }\n if (isLinkedReferStart(scnr, context)) {\n skipSpaces(scnr);\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n // scan the placeholder\n return readTokenInPlaceholder(scnr, context) || token;\n }\n else {\n return getToken(context, 11 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));\n }\n }\n if (currentType === 8 /* TokenTypes.LinkedAlias */) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n context.braceNest = 0;\n context.inLinked = false;\n return readToken(scnr, context);\n }\n }\n // TODO: We need refactoring of token parsing ...\n function readToken(scnr, context) {\n let token = { type: 14 /* TokenTypes.EOF */ };\n if (context.braceNest > 0) {\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n }\n if (context.inLinked) {\n return readTokenInLinked(scnr, context) || getEndToken(context);\n }\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n case \"}\" /* TokenChars.BraceRight */:\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\n scnr.next();\n return getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n case \"@\" /* TokenChars.LinkedAlias */:\n return readTokenInLinked(scnr, context) || getEndToken(context);\n default:\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n const { isModulo, hasSpace } = detectModuloStart(scnr);\n if (isModulo) {\n return hasSpace\n ? getToken(context, 0 /* TokenTypes.Text */, readText(scnr))\n : getToken(context, 4 /* TokenTypes.Modulo */, readModulo(scnr));\n }\n if (isTextStart(scnr)) {\n return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));\n }\n break;\n }\n return token;\n }\n function nextToken() {\n const { currentType, offset, startLoc, endLoc } = _context;\n _context.lastType = currentType;\n _context.lastOffset = offset;\n _context.lastStartLoc = startLoc;\n _context.lastEndLoc = endLoc;\n _context.offset = currentOffset();\n _context.startLoc = currentPosition();\n if (_scnr.currentChar() === EOF) {\n return getToken(_context, 14 /* TokenTypes.EOF */);\n }\n return readToken(_scnr, _context);\n }\n return {\n nextToken,\n currentOffset,\n currentPosition,\n context\n };\n}\n\nconst ERROR_DOMAIN$2 = 'parser';\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\n switch (match) {\n case `\\\\\\\\`:\n return `\\\\`;\n case `\\\\\\'`:\n return `\\'`;\n default: {\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\n return String.fromCodePoint(codePoint);\n }\n // invalid ...\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\n return '�';\n }\n }\n}\nfunction createParser(options = {}) {\n const location = options.location !== false;\n const { onError } = options;\n function emitError(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onError) {\n const loc = location ? createLocation(start, end) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$2,\n args\n });\n onError(err);\n }\n }\n function startNode(type, offset, loc) {\n const node = { type };\n if (location) {\n node.start = offset;\n node.end = offset;\n node.loc = { start: loc, end: loc };\n }\n return node;\n }\n function endNode(node, offset, pos, type) {\n if (type) {\n node.type = type;\n }\n if (location) {\n node.end = offset;\n if (node.loc) {\n node.loc.end = pos;\n }\n }\n }\n function parseText(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(3 /* NodeTypes.Text */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseList(tokenizer, index) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(5 /* NodeTypes.List */, offset, loc);\n node.index = parseInt(index, 10);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseNamed(tokenizer, key) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(4 /* NodeTypes.Named */, offset, loc);\n node.key = key;\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLiteral(tokenizer, value) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(9 /* NodeTypes.Literal */, offset, loc);\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinkedModifier(tokenizer) {\n const token = tokenizer.nextToken();\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\n const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);\n if (token.type !== 12 /* TokenTypes.LinkedModifier */) {\n // empty modifier\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\n node.value = '';\n endNode(node, offset, loc);\n return {\n nextConsumeToken: token,\n node\n };\n }\n // check token\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.value = token.value || '';\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node\n };\n }\n function parseLinkedKey(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(7 /* NodeTypes.LinkedKey */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinked(tokenizer) {\n const context = tokenizer.context();\n const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);\n let token = tokenizer.nextToken();\n if (token.type === 9 /* TokenTypes.LinkedDot */) {\n const parsed = parseLinkedModifier(tokenizer);\n linkedNode.modifier = parsed.node;\n token = parsed.nextConsumeToken || tokenizer.nextToken();\n }\n // asset check token\n if (token.type !== 10 /* TokenTypes.LinkedDelimiter */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n token = tokenizer.nextToken();\n // skip brace left\n if (token.type === 2 /* TokenTypes.BraceLeft */) {\n token = tokenizer.nextToken();\n }\n switch (token.type) {\n case 11 /* TokenTypes.LinkedKey */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\n break;\n case 5 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseNamed(tokenizer, token.value || '');\n break;\n case 6 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseList(tokenizer, token.value || '');\n break;\n case 7 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\n break;\n default:\n // empty key\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\n const nextContext = tokenizer.context();\n const emptyLinkedKeyNode = startNode(7 /* NodeTypes.LinkedKey */, nextContext.offset, nextContext.startLoc);\n emptyLinkedKeyNode.value = '';\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\n linkedNode.key = emptyLinkedKeyNode;\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\n return {\n nextConsumeToken: token,\n node: linkedNode\n };\n }\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node: linkedNode\n };\n }\n function parseMessage(tokenizer) {\n const context = tokenizer.context();\n const startOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? tokenizer.currentOffset()\n : context.offset;\n const startLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.endLoc\n : context.startLoc;\n const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);\n node.items = [];\n let nextToken = null;\n do {\n const token = nextToken || tokenizer.nextToken();\n nextToken = null;\n switch (token.type) {\n case 0 /* TokenTypes.Text */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseText(tokenizer, token.value || ''));\n break;\n case 6 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseList(tokenizer, token.value || ''));\n break;\n case 5 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseNamed(tokenizer, token.value || ''));\n break;\n case 7 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseLiteral(tokenizer, token.value || ''));\n break;\n case 8 /* TokenTypes.LinkedAlias */:\n const parsed = parseLinked(tokenizer);\n node.items.push(parsed.node);\n nextToken = parsed.nextConsumeToken || null;\n break;\n }\n } while (context.currentType !== 14 /* TokenTypes.EOF */ &&\n context.currentType !== 1 /* TokenTypes.Pipe */);\n // adjust message node loc\n const endOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastOffset\n : tokenizer.currentOffset();\n const endLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastEndLoc\n : tokenizer.currentPosition();\n endNode(node, endOffset, endLoc);\n return node;\n }\n function parsePlural(tokenizer, offset, loc, msgNode) {\n const context = tokenizer.context();\n let hasEmptyMessage = msgNode.items.length === 0;\n const node = startNode(1 /* NodeTypes.Plural */, offset, loc);\n node.cases = [];\n node.cases.push(msgNode);\n do {\n const msg = parseMessage(tokenizer);\n if (!hasEmptyMessage) {\n hasEmptyMessage = msg.items.length === 0;\n }\n node.cases.push(msg);\n } while (context.currentType !== 14 /* TokenTypes.EOF */);\n if (hasEmptyMessage) {\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseResource(tokenizer) {\n const context = tokenizer.context();\n const { offset, startLoc } = context;\n const msgNode = parseMessage(tokenizer);\n if (context.currentType === 14 /* TokenTypes.EOF */) {\n return msgNode;\n }\n else {\n return parsePlural(tokenizer, offset, startLoc, msgNode);\n }\n }\n function parse(source) {\n const tokenizer = createTokenizer(source, assign({}, options));\n const context = tokenizer.context();\n const node = startNode(0 /* NodeTypes.Resource */, context.offset, context.startLoc);\n if (location && node.loc) {\n node.loc.source = source;\n }\n node.body = parseResource(tokenizer);\n if (options.onCacheKey) {\n node.cacheKey = options.onCacheKey(source);\n }\n // assert whether achieved to EOF\n if (context.currentType !== 14 /* TokenTypes.EOF */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n return { parse };\n}\nfunction getTokenCaption(token) {\n if (token.type === 14 /* TokenTypes.EOF */) {\n return 'EOF';\n }\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\n) {\n const _context = {\n ast,\n helpers: new Set()\n };\n const context = () => _context;\n const helper = (name) => {\n _context.helpers.add(name);\n return name;\n };\n return { context, helper };\n}\nfunction traverseNodes(nodes, transformer) {\n for (let i = 0; i < nodes.length; i++) {\n traverseNode(nodes[i], transformer);\n }\n}\nfunction traverseNode(node, transformer) {\n // TODO: if we need pre-hook of transform, should be implemented to here\n switch (node.type) {\n case 1 /* NodeTypes.Plural */:\n traverseNodes(node.cases, transformer);\n transformer.helper(\"plural\" /* HelperNameMap.PLURAL */);\n break;\n case 2 /* NodeTypes.Message */:\n traverseNodes(node.items, transformer);\n break;\n case 6 /* NodeTypes.Linked */:\n const linked = node;\n traverseNode(linked.key, transformer);\n transformer.helper(\"linked\" /* HelperNameMap.LINKED */);\n transformer.helper(\"type\" /* HelperNameMap.TYPE */);\n break;\n case 5 /* NodeTypes.List */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"list\" /* HelperNameMap.LIST */);\n break;\n case 4 /* NodeTypes.Named */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"named\" /* HelperNameMap.NAMED */);\n break;\n }\n // TODO: if we need post-hook of transform, should be implemented to here\n}\n// transform AST\nfunction transform(ast, options = {} // eslint-disable-line\n) {\n const transformer = createTransformer(ast);\n transformer.helper(\"normalize\" /* HelperNameMap.NORMALIZE */);\n // traverse\n ast.body && traverseNode(ast.body, transformer);\n // set meta information\n const context = transformer.context();\n ast.helpers = Array.from(context.helpers);\n}\n\nfunction optimize(ast) {\n const body = ast.body;\n if (body.type === 2 /* NodeTypes.Message */) {\n optimizeMessageNode(body);\n }\n else {\n body.cases.forEach(c => optimizeMessageNode(c));\n }\n return ast;\n}\nfunction optimizeMessageNode(message) {\n if (message.items.length === 1) {\n const item = message.items[0];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n message.static = item.value;\n delete item.value; // optimization for size\n }\n }\n else {\n const values = [];\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (!(item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */)) {\n break;\n }\n if (item.value == null) {\n break;\n }\n values.push(item.value);\n }\n if (values.length === message.items.length) {\n message.static = join(values);\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n delete item.value; // optimization for size\n }\n }\n }\n }\n}\n\nconst ERROR_DOMAIN$1 = 'minifier';\n/* eslint-disable @typescript-eslint/no-explicit-any */\nfunction minify(node) {\n node.t = node.type;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */:\n const resource = node;\n minify(resource.body);\n resource.b = resource.body;\n delete resource.body;\n break;\n case 1 /* NodeTypes.Plural */:\n const plural = node;\n const cases = plural.cases;\n for (let i = 0; i < cases.length; i++) {\n minify(cases[i]);\n }\n plural.c = cases;\n delete plural.cases;\n break;\n case 2 /* NodeTypes.Message */:\n const message = node;\n const items = message.items;\n for (let i = 0; i < items.length; i++) {\n minify(items[i]);\n }\n message.i = items;\n delete message.items;\n if (message.static) {\n message.s = message.static;\n delete message.static;\n }\n break;\n case 3 /* NodeTypes.Text */:\n case 9 /* NodeTypes.Literal */:\n case 8 /* NodeTypes.LinkedModifier */:\n case 7 /* NodeTypes.LinkedKey */:\n const valueNode = node;\n if (valueNode.value) {\n valueNode.v = valueNode.value;\n delete valueNode.value;\n }\n break;\n case 6 /* NodeTypes.Linked */:\n const linked = node;\n minify(linked.key);\n linked.k = linked.key;\n delete linked.key;\n if (linked.modifier) {\n minify(linked.modifier);\n linked.m = linked.modifier;\n delete linked.modifier;\n }\n break;\n case 5 /* NodeTypes.List */:\n const list = node;\n list.i = list.index;\n delete list.index;\n break;\n case 4 /* NodeTypes.Named */:\n const named = node;\n named.k = named.key;\n delete named.key;\n break;\n default:\n {\n throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, {\n domain: ERROR_DOMAIN$1,\n args: [node.type]\n });\n }\n }\n delete node.type;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst ERROR_DOMAIN = 'parser';\nfunction createCodeGenerator(ast, options) {\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\n const location = options.location !== false;\n const _context = {\n filename,\n code: '',\n column: 1,\n line: 1,\n offset: 0,\n map: undefined,\n breakLineCode,\n needIndent: _needIndent,\n indentLevel: 0\n };\n if (location && ast.loc) {\n _context.source = ast.loc.source;\n }\n const context = () => _context;\n function push(code, node) {\n _context.code += code;\n }\n function _newline(n, withBreakLine = true) {\n const _breakLineCode = withBreakLine ? breakLineCode : '';\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\n }\n function indent(withNewLine = true) {\n const level = ++_context.indentLevel;\n withNewLine && _newline(level);\n }\n function deindent(withNewLine = true) {\n const level = --_context.indentLevel;\n withNewLine && _newline(level);\n }\n function newline() {\n _newline(_context.indentLevel);\n }\n const helper = (key) => `_${key}`;\n const needIndent = () => _context.needIndent;\n return {\n context,\n push,\n indent,\n deindent,\n newline,\n helper,\n needIndent\n };\n}\nfunction generateLinkedNode(generator, node) {\n const { helper } = generator;\n generator.push(`${helper(\"linked\" /* HelperNameMap.LINKED */)}(`);\n generateNode(generator, node.key);\n if (node.modifier) {\n generator.push(`, `);\n generateNode(generator, node.modifier);\n generator.push(`, _type`);\n }\n else {\n generator.push(`, undefined, _type`);\n }\n generator.push(`)`);\n}\nfunction generateMessageNode(generator, node) {\n const { helper, needIndent } = generator;\n generator.push(`${helper(\"normalize\" /* HelperNameMap.NORMALIZE */)}([`);\n generator.indent(needIndent());\n const length = node.items.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.items[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push('])');\n}\nfunction generatePluralNode(generator, node) {\n const { helper, needIndent } = generator;\n if (node.cases.length > 1) {\n generator.push(`${helper(\"plural\" /* HelperNameMap.PLURAL */)}([`);\n generator.indent(needIndent());\n const length = node.cases.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.cases[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push(`])`);\n }\n}\nfunction generateResource(generator, node) {\n if (node.body) {\n generateNode(generator, node.body);\n }\n else {\n generator.push('null');\n }\n}\nfunction generateNode(generator, node) {\n const { helper } = generator;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */:\n generateResource(generator, node);\n break;\n case 1 /* NodeTypes.Plural */:\n generatePluralNode(generator, node);\n break;\n case 2 /* NodeTypes.Message */:\n generateMessageNode(generator, node);\n break;\n case 6 /* NodeTypes.Linked */:\n generateLinkedNode(generator, node);\n break;\n case 8 /* NodeTypes.LinkedModifier */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 7 /* NodeTypes.LinkedKey */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 5 /* NodeTypes.List */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"list\" /* HelperNameMap.LIST */)}(${node.index}))`, node);\n break;\n case 4 /* NodeTypes.Named */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"named\" /* HelperNameMap.NAMED */)}(${JSON.stringify(node.key)}))`, node);\n break;\n case 9 /* NodeTypes.Literal */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 3 /* NodeTypes.Text */:\n generator.push(JSON.stringify(node.value), node);\n break;\n default:\n {\n throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, {\n domain: ERROR_DOMAIN,\n args: [node.type]\n });\n }\n }\n}\n// generate code from AST\nconst generate = (ast, options = {} // eslint-disable-line\n) => {\n const mode = isString(options.mode) ? options.mode : 'normal';\n const filename = isString(options.filename)\n ? options.filename\n : 'message.intl';\n const sourceMap = !!options.sourceMap;\n // prettier-ignore\n const breakLineCode = options.breakLineCode != null\n ? options.breakLineCode\n : mode === 'arrow'\n ? ';'\n : '\\n';\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\n const helpers = ast.helpers || [];\n const generator = createCodeGenerator(ast, {\n mode,\n filename,\n sourceMap,\n breakLineCode,\n needIndent\n });\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\n generator.indent(needIndent);\n if (helpers.length > 0) {\n generator.push(`const { ${join(helpers.map(s => `${s}: _${s}`), ', ')} } = ctx`);\n generator.newline();\n }\n generator.push(`return `);\n generateNode(generator, ast);\n generator.deindent(needIndent);\n generator.push(`}`);\n delete ast.helpers;\n const { code, map } = generator.context();\n return {\n ast,\n code,\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\n };\n};\n\nfunction baseCompile(source, options = {}) {\n const assignedOptions = assign({}, options);\n const jit = !!assignedOptions.jit;\n const enalbeMinify = !!assignedOptions.minify;\n const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize;\n // parse source codes\n const parser = createParser(assignedOptions);\n const ast = parser.parse(source);\n if (!jit) {\n // transform ASTs\n transform(ast, assignedOptions);\n // generate javascript codes\n return generate(ast, assignedOptions);\n }\n else {\n // optimize ASTs\n enambeOptimize && optimize(ast);\n // minimize ASTs\n enalbeMinify && minify(ast);\n // In JIT mode, no ast transform, no code generation.\n return { ast, code: '' };\n }\n}\n\nexport { CompileErrorCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages };\n","/*!\n * core-base v9.9.0\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, isObject, isFunction, isString, isNumber, isPlainObject, assign, join, toDisplayString, isArray, format as format$1, incrementer, isPromise, isBoolean, warn, isRegExp, warnOnce, escapeHtml, inBrowser, mark, measure, isEmptyObject, generateCodeFrame, generateFormatCacheKey, isDate } from '@intlify/shared';\nimport { CompileErrorCodes, createCompileError, detectHtmlTag, defaultOnError, baseCompile as baseCompile$1 } from '@intlify/message-compiler';\nexport { CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\n\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n if (typeof __INTLIFY_JIT_COMPILATION__ !== 'boolean') {\n getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n}\n\nconst pathStateMachine = [];\npathStateMachine[0 /* States.BEFORE_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [0 /* States.BEFORE_PATH */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[1 /* States.IN_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[2 /* States.BEFORE_IDENT */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [2 /* States.BEFORE_IDENT */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */]\n};\npathStateMachine[3 /* States.IN_IDENT */] = {\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */, 1 /* Actions.PUSH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */, 1 /* Actions.PUSH */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */, 1 /* Actions.PUSH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */, 1 /* Actions.PUSH */]\n};\npathStateMachine[4 /* States.IN_SUB_PATH */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [\n 4 /* States.IN_SUB_PATH */,\n 2 /* Actions.INC_SUB_PATH_DEPTH */\n ],\n [\"]\" /* PathCharTypes.RIGHT_BRACKET */]: [1 /* States.IN_PATH */, 3 /* Actions.PUSH_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */]\n};\npathStateMachine[5 /* States.IN_SINGLE_QUOTE */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */]\n};\npathStateMachine[6 /* States.IN_DOUBLE_QUOTE */] = {\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */]\n};\n/**\n * Check if an expression is a literal value.\n */\nconst literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral(exp) {\n return literalValueRE.test(exp);\n}\n/**\n * Strip quotes from a string\n */\nfunction stripQuotes(str) {\n const a = str.charCodeAt(0);\n const b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\n}\n/**\n * Determine the type of a character in a keypath.\n */\nfunction getPathCharType(ch) {\n if (ch === undefined || ch === null) {\n return \"o\" /* PathCharTypes.END_OF_FAIL */;\n }\n const code = ch.charCodeAt(0);\n switch (code) {\n case 0x5b: // [\n case 0x5d: // ]\n case 0x2e: // .\n case 0x22: // \"\n case 0x27: // '\n return ch;\n case 0x5f: // _\n case 0x24: // $\n case 0x2d: // -\n return \"i\" /* PathCharTypes.IDENT */;\n case 0x09: // Tab (HT)\n case 0x0a: // Newline (LF)\n case 0x0d: // Return (CR)\n case 0xa0: // No-break space (NBSP)\n case 0xfeff: // Byte Order Mark (BOM)\n case 0x2028: // Line Separator (LS)\n case 0x2029: // Paragraph Separator (PS)\n return \"w\" /* PathCharTypes.WORKSPACE */;\n }\n return \"i\" /* PathCharTypes.IDENT */;\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 */\nfunction formatSubPath(path) {\n const trimmed = path.trim();\n // invalid leading 0\n if (path.charAt(0) === '0' && isNaN(parseInt(path))) {\n return false;\n }\n return isLiteral(trimmed)\n ? stripQuotes(trimmed)\n : \"*\" /* PathCharTypes.ASTARISK */ + trimmed;\n}\n/**\n * Parse a string path into an array of segments\n */\nfunction parse(path) {\n const keys = [];\n let index = -1;\n let mode = 0 /* States.BEFORE_PATH */;\n let subPathDepth = 0;\n let c;\n let key; // eslint-disable-line\n let newChar;\n let type;\n let transition;\n let action;\n let typeMap;\n const actions = [];\n actions[0 /* Actions.APPEND */] = () => {\n if (key === undefined) {\n key = newChar;\n }\n else {\n key += newChar;\n }\n };\n actions[1 /* Actions.PUSH */] = () => {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n actions[2 /* Actions.INC_SUB_PATH_DEPTH */] = () => {\n actions[0 /* Actions.APPEND */]();\n subPathDepth++;\n };\n actions[3 /* Actions.PUSH_SUB_PATH */] = () => {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = 4 /* States.IN_SUB_PATH */;\n actions[0 /* Actions.APPEND */]();\n }\n else {\n subPathDepth = 0;\n if (key === undefined) {\n return false;\n }\n key = formatSubPath(key);\n if (key === false) {\n return false;\n }\n else {\n actions[1 /* Actions.PUSH */]();\n }\n }\n };\n function maybeUnescapeQuote() {\n const nextChar = path[index + 1];\n if ((mode === 5 /* States.IN_SINGLE_QUOTE */ &&\n nextChar === \"'\" /* PathCharTypes.SINGLE_QUOTE */) ||\n (mode === 6 /* States.IN_DOUBLE_QUOTE */ &&\n nextChar === \"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */)) {\n index++;\n newChar = '\\\\' + nextChar;\n actions[0 /* Actions.APPEND */]();\n return true;\n }\n }\n while (mode !== null) {\n index++;\n c = path[index];\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue;\n }\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap[\"l\" /* PathCharTypes.ELSE */] || 8 /* States.ERROR */;\n // check parse error\n if (transition === 8 /* States.ERROR */) {\n return;\n }\n mode = transition[0];\n if (transition[1] !== undefined) {\n action = actions[transition[1]];\n if (action) {\n newChar = c;\n if (action() === false) {\n return;\n }\n }\n }\n // check parse finish\n if (mode === 7 /* States.AFTER_PATH */) {\n return keys;\n }\n }\n}\n// path token cache\nconst cache = new Map();\n/**\n * key-value message resolver\n *\n * @remarks\n * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveWithKeyValue(obj, path) {\n return isObject(obj) ? obj[path] : null;\n}\n/**\n * message resolver\n *\n * @remarks\n * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveValue(obj, path) {\n // check object\n if (!isObject(obj)) {\n return null;\n }\n // parse path\n let hit = cache.get(path);\n if (!hit) {\n hit = parse(path);\n if (hit) {\n cache.set(path, hit);\n }\n }\n // check hit\n if (!hit) {\n return null;\n }\n // resolve path value\n const len = hit.length;\n let last = obj;\n let i = 0;\n while (i < len) {\n const val = last[hit[i]];\n if (val === undefined) {\n return null;\n }\n if (isFunction(last)) {\n return null;\n }\n last = val;\n i++;\n }\n return last;\n}\n\nconst DEFAULT_MODIFIER = (str) => str;\nconst DEFAULT_MESSAGE = (ctx) => ''; // eslint-disable-line\nconst DEFAULT_MESSAGE_DATA_TYPE = 'text';\nconst DEFAULT_NORMALIZE = (values) => values.length === 0 ? '' : join(values);\nconst DEFAULT_INTERPOLATE = toDisplayString;\nfunction pluralDefault(choice, choicesLength) {\n choice = Math.abs(choice);\n if (choicesLength === 2) {\n // prettier-ignore\n return choice\n ? choice > 1\n ? 1\n : 0\n : 1;\n }\n return choice ? Math.min(choice, 2) : 0;\n}\nfunction getPluralIndex(options) {\n // prettier-ignore\n const index = isNumber(options.pluralIndex)\n ? options.pluralIndex\n : -1;\n // prettier-ignore\n return options.named && (isNumber(options.named.count) || isNumber(options.named.n))\n ? isNumber(options.named.count)\n ? options.named.count\n : isNumber(options.named.n)\n ? options.named.n\n : index\n : index;\n}\nfunction normalizeNamed(pluralIndex, props) {\n if (!props.count) {\n props.count = pluralIndex;\n }\n if (!props.n) {\n props.n = pluralIndex;\n }\n}\nfunction createMessageContext(options = {}) {\n const locale = options.locale;\n const pluralIndex = getPluralIndex(options);\n const pluralRule = isObject(options.pluralRules) &&\n isString(locale) &&\n isFunction(options.pluralRules[locale])\n ? options.pluralRules[locale]\n : pluralDefault;\n const orgPluralRule = isObject(options.pluralRules) &&\n isString(locale) &&\n isFunction(options.pluralRules[locale])\n ? pluralDefault\n : undefined;\n const plural = (messages) => {\n return messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];\n };\n const _list = options.list || [];\n const list = (index) => _list[index];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _named = options.named || {};\n isNumber(options.pluralIndex) && normalizeNamed(pluralIndex, _named);\n const named = (key) => _named[key];\n function message(key) {\n // prettier-ignore\n const msg = isFunction(options.messages)\n ? options.messages(key)\n : isObject(options.messages)\n ? options.messages[key]\n : false;\n return !msg\n ? options.parent\n ? options.parent.message(key) // resolve from parent messages\n : DEFAULT_MESSAGE\n : msg;\n }\n const _modifier = (name) => options.modifiers\n ? options.modifiers[name]\n : DEFAULT_MODIFIER;\n const normalize = isPlainObject(options.processor) && isFunction(options.processor.normalize)\n ? options.processor.normalize\n : DEFAULT_NORMALIZE;\n const interpolate = isPlainObject(options.processor) &&\n isFunction(options.processor.interpolate)\n ? options.processor.interpolate\n : DEFAULT_INTERPOLATE;\n const type = isPlainObject(options.processor) && isString(options.processor.type)\n ? options.processor.type\n : DEFAULT_MESSAGE_DATA_TYPE;\n const linked = (key, ...args) => {\n const [arg1, arg2] = args;\n let type = 'text';\n let modifier = '';\n if (args.length === 1) {\n if (isObject(arg1)) {\n modifier = arg1.modifier || modifier;\n type = arg1.type || type;\n }\n else if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n }\n else if (args.length === 2) {\n if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n if (isString(arg2)) {\n type = arg2 || type;\n }\n }\n const ret = message(key)(ctx);\n const msg = \n // The message in vnode resolved with linked are returned as an array by processor.nomalize\n type === 'vnode' && isArray(ret) && modifier\n ? ret[0]\n : ret;\n return modifier ? _modifier(modifier)(msg, type) : msg;\n };\n const ctx = {\n [\"list\" /* HelperNameMap.LIST */]: list,\n [\"named\" /* HelperNameMap.NAMED */]: named,\n [\"plural\" /* HelperNameMap.PLURAL */]: plural,\n [\"linked\" /* HelperNameMap.LINKED */]: linked,\n [\"message\" /* HelperNameMap.MESSAGE */]: message,\n [\"type\" /* HelperNameMap.TYPE */]: type,\n [\"interpolate\" /* HelperNameMap.INTERPOLATE */]: interpolate,\n [\"normalize\" /* HelperNameMap.NORMALIZE */]: normalize,\n [\"values\" /* HelperNameMap.VALUES */]: assign({}, _list, _named)\n };\n return ctx;\n}\n\nlet devtools = null;\nfunction setDevToolsHook(hook) {\n devtools = hook;\n}\nfunction getDevToolsHook() {\n return devtools;\n}\nfunction initI18nDevTools(i18n, version, meta) {\n // TODO: queue if devtools is undefined\n devtools &&\n devtools.emit(\"i18n:init\" /* IntlifyDevToolsHooks.I18nInit */, {\n timestamp: Date.now(),\n i18n,\n version,\n meta\n });\n}\nconst translateDevTools = /* #__PURE__*/ createDevToolsHook(\"function:translate\" /* IntlifyDevToolsHooks.FunctionTranslate */);\nfunction createDevToolsHook(hook) {\n return (payloads) => devtools && devtools.emit(hook, payloads);\n}\n\nconst CoreWarnCodes = {\n NOT_FOUND_KEY: 1,\n FALLBACK_TO_TRANSLATE: 2,\n CANNOT_FORMAT_NUMBER: 3,\n FALLBACK_TO_NUMBER_FORMAT: 4,\n CANNOT_FORMAT_DATE: 5,\n FALLBACK_TO_DATE_FORMAT: 6,\n EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: 7,\n __EXTEND_POINT__: 8\n};\n/** @internal */\nconst warnMessages = {\n [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`,\n [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`,\n [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,\n [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]: `This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`\n};\nfunction getWarnMessage(code, ...args) {\n return format$1(warnMessages[code], ...args);\n}\n\nconst code = CompileErrorCodes.__EXTEND_POINT__;\nconst inc = incrementer(code);\nconst CoreErrorCodes = {\n INVALID_ARGUMENT: code,\n INVALID_DATE_ARGUMENT: inc(),\n INVALID_ISO_DATE_ARGUMENT: inc(),\n NOT_SUPPORT_NON_STRING_MESSAGE: inc(),\n NOT_SUPPORT_LOCALE_PROMISE_VALUE: inc(),\n NOT_SUPPORT_LOCALE_ASYNC_FUNCTION: inc(),\n NOT_SUPPORT_LOCALE_TYPE: inc(),\n __EXTEND_POINT__: inc() // 25\n};\nfunction createCoreError(code) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages } : undefined);\n}\n/** @internal */\nconst errorMessages = {\n [CoreErrorCodes.INVALID_ARGUMENT]: 'Invalid arguments',\n [CoreErrorCodes.INVALID_DATE_ARGUMENT]: 'The date provided is an invalid Date object.' +\n 'Make sure your Date represents a valid date.',\n [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: 'The argument provided is not a valid ISO date string',\n [CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE]: 'Not support non-string message',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE]: 'cannot support promise value',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION]: 'cannot support async function',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE]: 'cannot support locale type'\n};\n\n/** @internal */\nfunction getLocale(context, options) {\n return options.locale != null\n ? resolveLocale(options.locale)\n : resolveLocale(context.locale);\n}\nlet _resolveLocale;\n/** @internal */\nfunction resolveLocale(locale) {\n if (isString(locale)) {\n return locale;\n }\n else {\n if (isFunction(locale)) {\n if (locale.resolvedOnce && _resolveLocale != null) {\n return _resolveLocale;\n }\n else if (locale.constructor.name === 'Function') {\n const resolve = locale();\n if (isPromise(resolve)) {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);\n }\n return (_resolveLocale = resolve);\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION);\n }\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE);\n }\n }\n}\n/**\n * Fallback with simple implemenation\n *\n * @remarks\n * A fallback locale function implemented with a simple fallback algorithm.\n *\n * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithSimple(ctx, fallback, start // eslint-disable-line @typescript-eslint/no-unused-vars\n) {\n // prettier-ignore\n return [...new Set([\n start,\n ...(isArray(fallback)\n ? fallback\n : isObject(fallback)\n ? Object.keys(fallback)\n : isString(fallback)\n ? [fallback]\n : [start])\n ])];\n}\n/**\n * Fallback with locale chain\n *\n * @remarks\n * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nSee [Fallbacking](../guide/essentials/fallback)\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithLocaleChain(ctx, fallback, start) {\n const startLocale = isString(start) ? start : DEFAULT_LOCALE;\n const context = ctx;\n if (!context.__localeChainCache) {\n context.__localeChainCache = new Map();\n }\n let chain = context.__localeChainCache.get(startLocale);\n if (!chain) {\n chain = [];\n // first block defined by start\n let block = [start];\n // while any intervening block found\n while (isArray(block)) {\n block = appendBlockToChain(chain, block, fallback);\n }\n // prettier-ignore\n // last block defined by default\n const defaults = isArray(fallback) || !isPlainObject(fallback)\n ? fallback\n : fallback['default']\n ? fallback['default']\n : null;\n // convert defaults to array\n block = isString(defaults) ? [defaults] : defaults;\n if (isArray(block)) {\n appendBlockToChain(chain, block, false);\n }\n context.__localeChainCache.set(startLocale, chain);\n }\n return chain;\n}\nfunction appendBlockToChain(chain, block, blocks) {\n let follow = true;\n for (let i = 0; i < block.length && isBoolean(follow); i++) {\n const locale = block[i];\n if (isString(locale)) {\n follow = appendLocaleToChain(chain, block[i], blocks);\n }\n }\n return follow;\n}\nfunction appendLocaleToChain(chain, locale, blocks) {\n let follow;\n const tokens = locale.split('-');\n do {\n const target = tokens.join('-');\n follow = appendItemToChain(chain, target, blocks);\n tokens.splice(-1, 1);\n } while (tokens.length && follow === true);\n return follow;\n}\nfunction appendItemToChain(chain, target, blocks) {\n let follow = false;\n if (!chain.includes(target)) {\n follow = true;\n if (target) {\n follow = target[target.length - 1] !== '!';\n const locale = target.replace(/!/g, '');\n chain.push(locale);\n if ((isArray(blocks) || isPlainObject(blocks)) &&\n blocks[locale] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n follow = blocks[locale];\n }\n }\n }\n return follow;\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Intlify core-base version\n * @internal\n */\nconst VERSION = '9.9.0';\nconst NOT_REOSLVED = -1;\nconst DEFAULT_LOCALE = 'en-US';\nconst MISSING_RESOLVE_VALUE = '';\nconst capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;\nfunction getDefaultLinkedModifiers() {\n return {\n upper: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toUpperCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toUpperCase()\n : val;\n },\n lower: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toLowerCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toLowerCase()\n : val;\n },\n capitalize: (val, type) => {\n // prettier-ignore\n return (type === 'text' && isString(val)\n ? capitalize(val)\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? capitalize(val.children)\n : val);\n }\n };\n}\nlet _compiler;\nfunction registerMessageCompiler(compiler) {\n _compiler = compiler;\n}\nlet _resolver;\n/**\n * Register the message resolver\n *\n * @param resolver - A {@link MessageResolver} function\n *\n * @VueI18nGeneral\n */\nfunction registerMessageResolver(resolver) {\n _resolver = resolver;\n}\nlet _fallbacker;\n/**\n * Register the locale fallbacker\n *\n * @param fallbacker - A {@link LocaleFallbacker} function\n *\n * @VueI18nGeneral\n */\nfunction registerLocaleFallbacker(fallbacker) {\n _fallbacker = fallbacker;\n}\n// Additional Meta for Intlify DevTools\nlet _additionalMeta = null;\n/* #__NO_SIDE_EFFECTS__ */\nconst setAdditionalMeta = (meta) => {\n _additionalMeta = meta;\n};\n/* #__NO_SIDE_EFFECTS__ */\nconst getAdditionalMeta = () => _additionalMeta;\nlet _fallbackContext = null;\nconst setFallbackContext = (context) => {\n _fallbackContext = context;\n};\nconst getFallbackContext = () => _fallbackContext;\n// ID for CoreContext\nlet _cid = 0;\nfunction createCoreContext(options = {}) {\n // setup options\n const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;\n const version = isString(options.version) ? options.version : VERSION;\n const locale = isString(options.locale) || isFunction(options.locale)\n ? options.locale\n : DEFAULT_LOCALE;\n const _locale = isFunction(locale) ? DEFAULT_LOCALE : locale;\n const fallbackLocale = isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n isString(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale;\n const messages = isPlainObject(options.messages)\n ? options.messages\n : { [_locale]: {} };\n const datetimeFormats = isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale]: {} }\n ;\n const numberFormats = isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale]: {} }\n ;\n const modifiers = assign({}, options.modifiers || {}, getDefaultLinkedModifiers());\n const pluralRules = options.pluralRules || {};\n const missing = isFunction(options.missing) ? options.missing : null;\n const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n const fallbackFormat = !!options.fallbackFormat;\n const unresolving = !!options.unresolving;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n const processor = isPlainObject(options.processor) ? options.processor : null;\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n const escapeParameter = !!options.escapeParameter;\n const messageCompiler = isFunction(options.messageCompiler)\n ? options.messageCompiler\n : _compiler;\n if ((process.env.NODE_ENV !== 'production') &&\n !false &&\n !false &&\n isFunction(options.messageCompiler)) {\n warnOnce(getWarnMessage(CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER));\n }\n const messageResolver = isFunction(options.messageResolver)\n ? options.messageResolver\n : _resolver || resolveWithKeyValue;\n const localeFallbacker = isFunction(options.localeFallbacker)\n ? options.localeFallbacker\n : _fallbacker || fallbackWithSimple;\n const fallbackContext = isObject(options.fallbackContext)\n ? options.fallbackContext\n : undefined;\n // setup internal options\n const internalOptions = options;\n const __datetimeFormatters = isObject(internalOptions.__datetimeFormatters)\n ? internalOptions.__datetimeFormatters\n : new Map()\n ;\n const __numberFormatters = isObject(internalOptions.__numberFormatters)\n ? internalOptions.__numberFormatters\n : new Map()\n ;\n const __meta = isObject(internalOptions.__meta) ? internalOptions.__meta : {};\n _cid++;\n const context = {\n version,\n cid: _cid,\n locale,\n fallbackLocale,\n messages,\n modifiers,\n pluralRules,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackFormat,\n unresolving,\n postTranslation,\n processor,\n warnHtmlMessage,\n escapeParameter,\n messageCompiler,\n messageResolver,\n localeFallbacker,\n fallbackContext,\n onWarn,\n __meta\n };\n {\n context.datetimeFormats = datetimeFormats;\n context.numberFormats = numberFormats;\n context.__datetimeFormatters = __datetimeFormatters;\n context.__numberFormatters = __numberFormatters;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n context.__v_emitter =\n internalOptions.__v_emitter != null\n ? internalOptions.__v_emitter\n : undefined;\n }\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n initI18nDevTools(context, version, __meta);\n }\n return context;\n}\n/** @internal */\nfunction isTranslateFallbackWarn(fallback, key) {\n return fallback instanceof RegExp ? fallback.test(key) : fallback;\n}\n/** @internal */\nfunction isTranslateMissingWarn(missing, key) {\n return missing instanceof RegExp ? missing.test(key) : missing;\n}\n/** @internal */\nfunction handleMissing(context, key, locale, missingWarn, type) {\n const { missing, onWarn } = context;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"missing\" /* VueDevToolsTimelineEvents.MISSING */, {\n locale,\n key,\n type,\n groupId: `${type}:${key}`\n });\n }\n }\n if (missing !== null) {\n const ret = missing(context, locale, key, type);\n return isString(ret) ? ret : key;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && isTranslateMissingWarn(missingWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.NOT_FOUND_KEY, { key, locale }));\n }\n return key;\n }\n}\n/** @internal */\nfunction updateFallbackLocale(ctx, locale, fallback) {\n const context = ctx;\n context.__localeChainCache = new Map();\n ctx.localeFallbacker(ctx, fallback, locale);\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nfunction format(ast) {\n const msg = (ctx) => formatParts(ctx, ast);\n return msg;\n}\nfunction formatParts(ctx, ast) {\n const body = ast.b || ast.body;\n if ((body.t || body.type) === 1 /* NodeTypes.Plural */) {\n const plural = body;\n const cases = plural.c || plural.cases;\n return ctx.plural(cases.reduce((messages, c) => [\n ...messages,\n formatMessageParts(ctx, c)\n ], []));\n }\n else {\n return formatMessageParts(ctx, body);\n }\n}\nfunction formatMessageParts(ctx, node) {\n const _static = node.s || node.static;\n if (_static) {\n return ctx.type === 'text'\n ? _static\n : ctx.normalize([_static]);\n }\n else {\n const messages = (node.i || node.items).reduce((acm, c) => [...acm, formatMessagePart(ctx, c)], []);\n return ctx.normalize(messages);\n }\n}\nfunction formatMessagePart(ctx, node) {\n const type = node.t || node.type;\n switch (type) {\n case 3 /* NodeTypes.Text */:\n const text = node;\n return (text.v || text.value);\n case 9 /* NodeTypes.Literal */:\n const literal = node;\n return (literal.v || literal.value);\n case 4 /* NodeTypes.Named */:\n const named = node;\n return ctx.interpolate(ctx.named(named.k || named.key));\n case 5 /* NodeTypes.List */:\n const list = node;\n return ctx.interpolate(ctx.list(list.i != null ? list.i : list.index));\n case 6 /* NodeTypes.Linked */:\n const linked = node;\n const modifier = linked.m || linked.modifier;\n return ctx.linked(formatMessagePart(ctx, linked.k || linked.key), modifier ? formatMessagePart(ctx, modifier) : undefined, ctx.type);\n case 7 /* NodeTypes.LinkedKey */:\n const linkedKey = node;\n return (linkedKey.v || linkedKey.value);\n case 8 /* NodeTypes.LinkedModifier */:\n const linkedModifier = node;\n return (linkedModifier.v || linkedModifier.value);\n default:\n throw new Error(`unhandled node type on format message part: ${type}`);\n }\n}\n\nconst WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`;\nfunction checkHtmlMessage(source, warnHtmlMessage) {\n if (warnHtmlMessage && detectHtmlTag(source)) {\n warn(format$1(WARN_MESSAGE, { source }));\n }\n}\nconst defaultOnCacheKey = (message) => message;\nlet compileCache = Object.create(null);\nfunction clearCompileCache() {\n compileCache = Object.create(null);\n}\nconst isMessageAST = (val) => isObject(val) &&\n (val.t === 0 || val.type === 0) &&\n ('b' in val || 'body' in val);\nfunction baseCompile(message, options = {}) {\n // error detecting on compile\n let detectError = false;\n const onError = options.onError || defaultOnError;\n options.onError = (err) => {\n detectError = true;\n onError(err);\n };\n // compile with mesasge-compiler\n return { ...baseCompile$1(message, options), detectError };\n}\n/* #__NO_SIDE_EFFECTS__ */\nconst compileToFunction = (message, context) => {\n if (!isString(message)) {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE);\n }\n {\n // check HTML message\n const warnHtmlMessage = isBoolean(context.warnHtmlMessage)\n ? context.warnHtmlMessage\n : true;\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(message, warnHtmlMessage);\n // check caches\n const onCacheKey = context.onCacheKey || defaultOnCacheKey;\n const cacheKey = onCacheKey(message);\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compile\n const { code, detectError } = baseCompile(message, context);\n // evaluate function\n const msg = new Function(`return ${code}`)();\n // if occurred compile error, don't cache\n return !detectError\n ? (compileCache[cacheKey] = msg)\n : msg;\n }\n};\nfunction compile(message, context) {\n if (((__INTLIFY_JIT_COMPILATION__ && !__INTLIFY_DROP_MESSAGE_COMPILER__)) &&\n isString(message)) {\n // check HTML message\n const warnHtmlMessage = isBoolean(context.warnHtmlMessage)\n ? context.warnHtmlMessage\n : true;\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(message, warnHtmlMessage);\n // check caches\n const onCacheKey = context.onCacheKey || defaultOnCacheKey;\n const cacheKey = onCacheKey(message);\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compile with JIT mode\n const { ast, detectError } = baseCompile(message, {\n ...context,\n location: (process.env.NODE_ENV !== 'production'),\n jit: true\n });\n // compose message function from AST\n const msg = format(ast);\n // if occurred compile error, don't cache\n return !detectError\n ? (compileCache[cacheKey] = msg)\n : msg;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && !isMessageAST(message)) {\n warn(`the message that is resolve with key '${context.key}' is not supported for jit compilation`);\n return (() => message);\n }\n // AST case (passed from bundler)\n const cacheKey = message.cacheKey;\n if (cacheKey) {\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compose message function from message (AST)\n return (compileCache[cacheKey] =\n format(message));\n }\n else {\n return format(message);\n }\n }\n}\n\nconst NOOP_MESSAGE_FUNCTION = () => '';\nconst isMessageFunction = (val) => isFunction(val);\n// implementation of `translate` function\nfunction translate(context, ...args) {\n const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;\n const [key, options] = parseTranslateArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const escapeParameter = isBoolean(options.escapeParameter)\n ? options.escapeParameter\n : context.escapeParameter;\n const resolvedMessage = !!options.resolvedMessage;\n // prettier-ignore\n const defaultMsgOrKey = isString(options.default) || isBoolean(options.default) // default by function option\n ? !isBoolean(options.default)\n ? options.default\n : (!messageCompiler ? () => key : key)\n : fallbackFormat // default by `fallbackFormat` option\n ? (!messageCompiler ? () => key : key)\n : '';\n const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== '';\n const locale = getLocale(context, options);\n // escape params\n escapeParameter && escapeParams(options);\n // resolve message format\n // eslint-disable-next-line prefer-const\n let [formatScope, targetLocale, message] = !resolvedMessage\n ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn)\n : [\n key,\n locale,\n messages[locale] || {}\n ];\n // NOTE:\n // Fix to work around `ssrTransfrom` bug in Vite.\n // https://github.com/vitejs/vite/issues/4306\n // To get around this, use temporary variables.\n // https://github.com/nuxt/framework/issues/1461#issuecomment-954606243\n let format = formatScope;\n // if you use default message, set it as message format!\n let cacheBaseKey = key;\n if (!resolvedMessage &&\n !(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format))) {\n if (enableDefaultMsg) {\n format = defaultMsgOrKey;\n cacheBaseKey = format;\n }\n }\n // checking message format and target locale\n if (!resolvedMessage &&\n (!(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format)) ||\n !isString(targetLocale))) {\n return unresolving ? NOT_REOSLVED : key;\n }\n // TODO: refactor\n if ((process.env.NODE_ENV !== 'production') && isString(format) && context.messageCompiler == null) {\n warn(`The message format compilation is not supported in this build. ` +\n `Because message compiler isn't included. ` +\n `You need to pre-compilation all message format. ` +\n `So translate function return '${key}'.`);\n return key;\n }\n // setup compile error detecting\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n // compile message format\n const msg = !isMessageFunction(format)\n ? compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError)\n : format;\n // if occurred compile error, return the message format\n if (occurred) {\n return format;\n }\n // evaluate message with context\n const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);\n const msgContext = createMessageContext(ctxOptions);\n const messaged = evaluateMessage(context, msg, msgContext);\n // if use post translation option, proceed it with handler\n const ret = postTranslation\n ? postTranslation(messaged, key)\n : messaged;\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n // prettier-ignore\n const payloads = {\n timestamp: Date.now(),\n key: isString(key)\n ? key\n : isMessageFunction(format)\n ? format.key\n : '',\n locale: targetLocale || (isMessageFunction(format)\n ? format.locale\n : ''),\n format: isString(format)\n ? format\n : isMessageFunction(format)\n ? format.source\n : '',\n message: ret\n };\n payloads.meta = assign({}, context.__meta, getAdditionalMeta() || {});\n translateDevTools(payloads);\n }\n return ret;\n}\nfunction escapeParams(options) {\n if (isArray(options.list)) {\n options.list = options.list.map(item => isString(item) ? escapeHtml(item) : item);\n }\n else if (isObject(options.named)) {\n Object.keys(options.named).forEach(key => {\n if (isString(options.named[key])) {\n options.named[key] = escapeHtml(options.named[key]);\n }\n });\n }\n}\nfunction resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {\n const { messages, onWarn, messageResolver: resolveValue, localeFallbacker } = context;\n const locales = localeFallbacker(context, fallbackLocale, locale); // eslint-disable-line @typescript-eslint/no-explicit-any\n let message = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'translate';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_TRANSLATE, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n message =\n messages[targetLocale] || {};\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-resolve-start';\n endTag = 'intlify-message-resolve-end';\n mark && mark(startTag);\n }\n if ((format = resolveValue(message, key)) === null) {\n // if null, resolve with object key path\n format = message[key]; // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start && format) {\n emitter.emit(\"message-resolve\" /* VueDevToolsTimelineEvents.MESSAGE_RESOLVE */, {\n type: \"message-resolve\" /* VueDevToolsTimelineEvents.MESSAGE_RESOLVE */,\n key,\n message: format,\n time: end - start,\n groupId: `${type}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message resolve', startTag, endTag);\n }\n }\n if (isString(format) || isMessageAST(format) || isMessageFunction(format)) {\n break;\n }\n const missingRet = handleMissing(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n key, targetLocale, missingWarn, type);\n if (missingRet !== key) {\n format = missingRet;\n }\n from = to;\n }\n return [format, targetLocale, message];\n}\nfunction compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError) {\n const { messageCompiler, warnHtmlMessage } = context;\n if (isMessageFunction(format)) {\n const msg = format;\n msg.locale = msg.locale || targetLocale;\n msg.key = msg.key || key;\n return msg;\n }\n if (messageCompiler == null) {\n const msg = (() => format);\n msg.locale = targetLocale;\n msg.key = key;\n return msg;\n }\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-compilation-start';\n endTag = 'intlify-message-compilation-end';\n mark && mark(startTag);\n }\n const msg = messageCompiler(format, getCompileContext(context, targetLocale, cacheBaseKey, format, warnHtmlMessage, onError));\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start) {\n emitter.emit(\"message-compilation\" /* VueDevToolsTimelineEvents.MESSAGE_COMPILATION */, {\n type: \"message-compilation\" /* VueDevToolsTimelineEvents.MESSAGE_COMPILATION */,\n message: format,\n time: end - start,\n groupId: `${'translate'}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message compilation', startTag, endTag);\n }\n }\n msg.locale = targetLocale;\n msg.key = key;\n msg.source = format;\n return msg;\n}\nfunction evaluateMessage(context, msg, msgCtx) {\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-evaluation-start';\n endTag = 'intlify-message-evaluation-end';\n mark && mark(startTag);\n }\n const messaged = msg(msgCtx);\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start) {\n emitter.emit(\"message-evaluation\" /* VueDevToolsTimelineEvents.MESSAGE_EVALUATION */, {\n type: \"message-evaluation\" /* VueDevToolsTimelineEvents.MESSAGE_EVALUATION */,\n value: messaged,\n time: end - start,\n groupId: `${'translate'}:${msg.key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message evaluation', startTag, endTag);\n }\n }\n return messaged;\n}\n/** @internal */\nfunction parseTranslateArgs(...args) {\n const [arg1, arg2, arg3] = args;\n const options = {};\n if (!isString(arg1) &&\n !isNumber(arg1) &&\n !isMessageFunction(arg1) &&\n !isMessageAST(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n // prettier-ignore\n const key = isNumber(arg1)\n ? String(arg1)\n : isMessageFunction(arg1)\n ? arg1\n : arg1;\n if (isNumber(arg2)) {\n options.plural = arg2;\n }\n else if (isString(arg2)) {\n options.default = arg2;\n }\n else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {\n options.named = arg2;\n }\n else if (isArray(arg2)) {\n options.list = arg2;\n }\n if (isNumber(arg3)) {\n options.plural = arg3;\n }\n else if (isString(arg3)) {\n options.default = arg3;\n }\n else if (isPlainObject(arg3)) {\n assign(options, arg3);\n }\n return [key, options];\n}\nfunction getCompileContext(context, locale, key, source, warnHtmlMessage, onError) {\n return {\n locale,\n key,\n warnHtmlMessage,\n onError: (err) => {\n onError && onError(err);\n if ((process.env.NODE_ENV !== 'production')) {\n const _source = getSourceForCodeFrame(source);\n const message = `Message compilation error: ${err.message}`;\n const codeFrame = err.location &&\n _source &&\n generateCodeFrame(_source, err.location.start.offset, err.location.end.offset);\n const emitter = context.__v_emitter;\n if (emitter && _source) {\n emitter.emit(\"compile-error\" /* VueDevToolsTimelineEvents.COMPILE_ERROR */, {\n message: _source,\n error: err.message,\n start: err.location && err.location.start.offset,\n end: err.location && err.location.end.offset,\n groupId: `${'translate'}:${key}`\n });\n }\n console.error(codeFrame ? `${message}\\n${codeFrame}` : message);\n }\n else {\n throw err;\n }\n },\n onCacheKey: (source) => generateFormatCacheKey(locale, key, source)\n };\n}\nfunction getSourceForCodeFrame(source) {\n if (isString(source)) {\n return source;\n }\n else {\n if (source.loc && source.loc.source) {\n return source.loc.source;\n }\n }\n}\nfunction getMessageContextOptions(context, locale, message, options) {\n const { modifiers, pluralRules, messageResolver: resolveValue, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;\n const resolveMessage = (key) => {\n let val = resolveValue(message, key);\n // fallback to root context\n if (val == null && fallbackContext) {\n const [, , message] = resolveMessageFormat(fallbackContext, key, locale, fallbackLocale, fallbackWarn, missingWarn);\n val = resolveValue(message, key);\n }\n if (isString(val) || isMessageAST(val)) {\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n const msg = compileMessageFormat(context, key, locale, val, key, onError);\n return !occurred\n ? msg\n : NOOP_MESSAGE_FUNCTION;\n }\n else if (isMessageFunction(val)) {\n return val;\n }\n else {\n // TODO: should be implemented warning message\n return NOOP_MESSAGE_FUNCTION;\n }\n };\n const ctxOptions = {\n locale,\n modifiers,\n pluralRules,\n messages: resolveMessage\n };\n if (context.processor) {\n ctxOptions.processor = context.processor;\n }\n if (options.list) {\n ctxOptions.list = options.list;\n }\n if (options.named) {\n ctxOptions.named = options.named;\n }\n if (isNumber(options.plural)) {\n ctxOptions.pluralIndex = options.plural;\n }\n return ctxOptions;\n}\n\nconst intlDefined = typeof Intl !== 'undefined';\nconst Availabilities = {\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n};\n\n// implementation of `datetime` function\nfunction datetime(context, ...args) {\n const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __datetimeFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.dateTimeFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_DATE));\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseDateTimeArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.DateTimeFormat(locale, overrides).format(value);\n }\n // resolve format\n let datetimeFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'datetime format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n datetimeFormat =\n datetimeFormats[targetLocale] || {};\n format = datetimeFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __datetimeFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.DateTimeFormat(targetLocale, assign({}, format, overrides));\n __datetimeFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst DATETIME_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n 'formatMatcher',\n 'hour12',\n 'timeZone',\n 'dateStyle',\n 'timeStyle',\n 'calendar',\n 'dayPeriod',\n 'numberingSystem',\n 'hourCycle',\n 'fractionalSecondDigits'\n];\n/** @internal */\nfunction parseDateTimeArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = {};\n let overrides = {};\n let value;\n if (isString(arg1)) {\n // Only allow ISO strings - other date formats are often supported,\n // but may cause different results in different browsers.\n const matches = arg1.match(/(\\d{4}-\\d{2}-\\d{2})(T|\\s)?(.*)/);\n if (!matches) {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n // Some browsers can not parse the iso datetime separated by space,\n // this is a compromise solution by replace the 'T'/' ' with 'T'\n const dateTime = matches[3]\n ? matches[3].trim().startsWith('T')\n ? `${matches[1].trim()}${matches[3].trim()}`\n : `${matches[1].trim()}T${matches[3].trim()}`\n : matches[1].trim();\n value = new Date(dateTime);\n try {\n // This will fail if the date is not valid\n value.toISOString();\n }\n catch (e) {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n }\n else if (isDate(arg1)) {\n if (isNaN(arg1.getTime())) {\n throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);\n }\n value = arg1;\n }\n else if (isNumber(arg1)) {\n value = arg1;\n }\n else {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearDateTimeFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__datetimeFormatters.has(id)) {\n continue;\n }\n context.__datetimeFormatters.delete(id);\n }\n}\n\n// implementation of `number` function\nfunction number(context, ...args) {\n const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __numberFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.numberFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_NUMBER));\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseNumberArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.NumberFormat(locale, overrides).format(value);\n }\n // resolve format\n let numberFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'number format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n numberFormat =\n numberFormats[targetLocale] || {};\n format = numberFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __numberFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.NumberFormat(targetLocale, assign({}, format, overrides));\n __numberFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst NUMBER_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'currencySign',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n 'compactDisplay',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n 'roundingMode',\n 'roundingPriority',\n 'roundingIncrement',\n 'trailingZeroDisplay'\n];\n/** @internal */\nfunction parseNumberArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = {};\n let overrides = {};\n if (!isNumber(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n const value = arg1;\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearNumberFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__numberFormatters.has(id)) {\n continue;\n }\n context.__numberFormatters.delete(id);\n }\n}\n\n{\n initFeatureFlags();\n}\n\nexport { CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compile, compileToFunction, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getLocale, getWarnMessage, handleMissing, initI18nDevTools, isMessageAST, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveLocale, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };\n","/*!\n * vue-i18n v9.9.0\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, incrementer, format, makeSymbol, isPlainObject, isArray, deepCopy, isString, hasOwn, isObject, warn, isBoolean, isRegExp, isFunction, inBrowser, assign, isNumber, createEmitter, isEmptyObject } from '@intlify/shared';\nimport { CoreWarnCodes, CoreErrorCodes, createCompileError, DEFAULT_LOCALE, updateFallbackLocale, setFallbackContext, createCoreContext, clearDateTimeFormat, clearNumberFormat, setAdditionalMeta, getFallbackContext, NOT_REOSLVED, isTranslateFallbackWarn, isTranslateMissingWarn, parseTranslateArgs, translate, MISSING_RESOLVE_VALUE, parseDateTimeArgs, datetime, parseNumberArgs, number, isMessageAST, isMessageFunction, fallbackWithLocaleChain, NUMBER_FORMAT_OPTIONS_KEYS, DATETIME_FORMAT_OPTIONS_KEYS, registerMessageCompiler, compile, compileToFunction, registerMessageResolver, resolveValue, registerLocaleFallbacker, setDevToolsHook } from '@intlify/core-base';\nimport { createVNode, Text, computed, watch, getCurrentInstance, ref, shallowRef, Fragment, defineComponent, h, effectScope, inject, onMounted, onUnmounted, onBeforeMount, isRef } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * Vue I18n Version\n *\n * @remarks\n * Semver format. Same format as the package.json `version` field.\n *\n * @VueI18nGeneral\n */\nconst VERSION = '9.9.0';\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __VUE_I18N_FULL_INSTALL__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;\n }\n if (typeof __VUE_I18N_LEGACY_API__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_LEGACY_API__ = true;\n }\n if (typeof __INTLIFY_JIT_COMPILATION__ !== 'boolean') {\n getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n}\n\nconst code$1 = CoreWarnCodes.__EXTEND_POINT__;\nconst inc$1 = incrementer(code$1);\nconst I18nWarnCodes = {\n FALLBACK_TO_ROOT: code$1,\n NOT_SUPPORTED_PRESERVE: inc$1(),\n NOT_SUPPORTED_FORMATTER: inc$1(),\n NOT_SUPPORTED_PRESERVE_DIRECTIVE: inc$1(),\n NOT_SUPPORTED_GET_CHOICE_INDEX: inc$1(),\n COMPONENT_NAME_LEGACY_COMPATIBLE: inc$1(),\n NOT_FOUND_PARENT_SCOPE: inc$1(),\n IGNORE_OBJ_FLATTEN: inc$1(),\n NOTICE_DROP_ALLOW_COMPOSITION: inc$1() // 17\n};\nconst warnMessages = {\n [I18nWarnCodes.FALLBACK_TO_ROOT]: `Fall back to {type} '{key}' with root locale.`,\n [I18nWarnCodes.NOT_SUPPORTED_PRESERVE]: `Not supported 'preserve'.`,\n [I18nWarnCodes.NOT_SUPPORTED_FORMATTER]: `Not supported 'formatter'.`,\n [I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE]: `Not supported 'preserveDirectiveContent'.`,\n [I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX]: `Not supported 'getChoiceIndex'.`,\n [I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE]: `Component name legacy compatible: '{name}' -> 'i18n'`,\n [I18nWarnCodes.NOT_FOUND_PARENT_SCOPE]: `Not found parent scope. use the global scope.`,\n [I18nWarnCodes.IGNORE_OBJ_FLATTEN]: `Ignore object flatten: '{key}' key has an string value`,\n [I18nWarnCodes.NOTICE_DROP_ALLOW_COMPOSITION]: `'allowComposition' option will be dropped in the next major version. For more information, please see 👉 https://tinyurl.com/2p97mcze`\n};\nfunction getWarnMessage(code, ...args) {\n return format(warnMessages[code], ...args);\n}\n\nconst code = CoreErrorCodes.__EXTEND_POINT__;\nconst inc = incrementer(code);\nconst I18nErrorCodes = {\n // composer module errors\n UNEXPECTED_RETURN_TYPE: code,\n // legacy module errors\n INVALID_ARGUMENT: inc(),\n // i18n module errors\n MUST_BE_CALL_SETUP_TOP: inc(),\n NOT_INSTALLED: inc(),\n NOT_AVAILABLE_IN_LEGACY_MODE: inc(),\n // directive module errors\n REQUIRED_VALUE: inc(),\n INVALID_VALUE: inc(),\n // vue-devtools errors\n CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: inc(),\n NOT_INSTALLED_WITH_PROVIDE: inc(),\n // unexpected error\n UNEXPECTED_ERROR: inc(),\n // not compatible legacy vue-i18n constructor\n NOT_COMPATIBLE_LEGACY_VUE_I18N: inc(),\n // bridge support vue 2.x only\n BRIDGE_SUPPORT_VUE_2_ONLY: inc(),\n // need to define `i18n` option in `allowComposition: true` and `useScope: 'local' at `useI18n``\n MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION: inc(),\n // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly\n NOT_AVAILABLE_COMPOSITION_IN_LEGACY: inc(),\n // for enhancement\n __EXTEND_POINT__: inc() // 40\n};\nfunction createI18nError(code, ...args) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages, args } : undefined);\n}\nconst errorMessages = {\n [I18nErrorCodes.UNEXPECTED_RETURN_TYPE]: 'Unexpected return type in composer',\n [I18nErrorCodes.INVALID_ARGUMENT]: 'Invalid argument',\n [I18nErrorCodes.MUST_BE_CALL_SETUP_TOP]: 'Must be called at the top of a `setup` function',\n [I18nErrorCodes.NOT_INSTALLED]: 'Need to install with `app.use` function',\n [I18nErrorCodes.UNEXPECTED_ERROR]: 'Unexpected error',\n [I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE]: 'Not available in legacy mode',\n [I18nErrorCodes.REQUIRED_VALUE]: `Required in value: {0}`,\n [I18nErrorCodes.INVALID_VALUE]: `Invalid value`,\n [I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN]: `Cannot setup vue-devtools plugin`,\n [I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE]: 'Need to install with `provide` function',\n [I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N]: 'Not compatible legacy VueI18n.',\n [I18nErrorCodes.BRIDGE_SUPPORT_VUE_2_ONLY]: 'vue-i18n-bridge support Vue 2.x only',\n [I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION]: 'Must define ‘i18n’ option or custom block in Composition API with using local scope in Legacy API mode',\n [I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY]: 'Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly'\n};\n\nconst TranslateVNodeSymbol = \n/* #__PURE__*/ makeSymbol('__translateVNode');\nconst DatetimePartsSymbol = /* #__PURE__*/ makeSymbol('__datetimeParts');\nconst NumberPartsSymbol = /* #__PURE__*/ makeSymbol('__numberParts');\nconst EnableEmitter = /* #__PURE__*/ makeSymbol('__enableEmitter');\nconst DisableEmitter = /* #__PURE__*/ makeSymbol('__disableEmitter');\nconst SetPluralRulesSymbol = makeSymbol('__setPluralRules');\nmakeSymbol('__intlifyMeta');\nconst InejctWithOptionSymbol = \n/* #__PURE__*/ makeSymbol('__injectWithOption');\nconst DisposeSymbol = /* #__PURE__*/ makeSymbol('__dispose');\nconst __VUE_I18N_BRIDGE__ = '__VUE_I18N_BRIDGE__';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Transform flat json in obj to normal json in obj\n */\nfunction handleFlatJson(obj) {\n // check obj\n if (!isObject(obj)) {\n return obj;\n }\n for (const key in obj) {\n // check key\n if (!hasOwn(obj, key)) {\n continue;\n }\n // handle for normal json\n if (!key.includes('.')) {\n // recursive process value if value is also a object\n if (isObject(obj[key])) {\n handleFlatJson(obj[key]);\n }\n }\n // handle for flat json, transform to normal json\n else {\n // go to the last object\n const subKeys = key.split('.');\n const lastIndex = subKeys.length - 1;\n let currentObj = obj;\n let hasStringValue = false;\n for (let i = 0; i < lastIndex; i++) {\n if (!(subKeys[i] in currentObj)) {\n currentObj[subKeys[i]] = {};\n }\n if (!isObject(currentObj[subKeys[i]])) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.IGNORE_OBJ_FLATTEN, {\n key: subKeys[i]\n }));\n hasStringValue = true;\n break;\n }\n currentObj = currentObj[subKeys[i]];\n }\n // update last object value, delete old property\n if (!hasStringValue) {\n currentObj[subKeys[lastIndex]] = obj[key];\n delete obj[key];\n }\n // recursive process value if value is also a object\n if (isObject(currentObj[subKeys[lastIndex]])) {\n handleFlatJson(currentObj[subKeys[lastIndex]]);\n }\n }\n }\n return obj;\n}\nfunction getLocaleMessages(locale, options) {\n const { messages, __i18n, messageResolver, flatJson } = options;\n // prettier-ignore\n const ret = (isPlainObject(messages)\n ? messages\n : isArray(__i18n)\n ? {}\n : { [locale]: {} });\n // merge locale messages of i18n custom block\n if (isArray(__i18n)) {\n __i18n.forEach(custom => {\n if ('locale' in custom && 'resource' in custom) {\n const { locale, resource } = custom;\n if (locale) {\n ret[locale] = ret[locale] || {};\n deepCopy(resource, ret[locale]);\n }\n else {\n deepCopy(resource, ret);\n }\n }\n else {\n isString(custom) && deepCopy(JSON.parse(custom), ret);\n }\n });\n }\n // handle messages for flat json\n if (messageResolver == null && flatJson) {\n for (const key in ret) {\n if (hasOwn(ret, key)) {\n handleFlatJson(ret[key]);\n }\n }\n }\n return ret;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getComponentOptions(instance) {\n return instance.type ;\n}\nfunction adjustI18nResources(gl, options, componentOptions // eslint-disable-line @typescript-eslint/no-explicit-any\n) {\n let messages = isObject(options.messages) ? options.messages : {};\n if ('__i18nGlobal' in componentOptions) {\n messages = getLocaleMessages(gl.locale.value, {\n messages,\n __i18n: componentOptions.__i18nGlobal\n });\n }\n // merge locale messages\n const locales = Object.keys(messages);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeLocaleMessage(locale, messages[locale]);\n });\n }\n {\n // merge datetime formats\n if (isObject(options.datetimeFormats)) {\n const locales = Object.keys(options.datetimeFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);\n });\n }\n }\n // merge number formats\n if (isObject(options.numberFormats)) {\n const locales = Object.keys(options.numberFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeNumberFormat(locale, options.numberFormats[locale]);\n });\n }\n }\n }\n}\nfunction createTextNode(key) {\n return createVNode(Text, null, key, 0)\n ;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// extend VNode interface\nconst DEVTOOLS_META = '__INTLIFY_META__';\nconst NOOP_RETURN_ARRAY = () => [];\nconst NOOP_RETURN_FALSE = () => false;\nlet composerID = 0;\nfunction defineCoreMissingHandler(missing) {\n return ((ctx, locale, key, type) => {\n return missing(locale, key, getCurrentInstance() || undefined, type);\n });\n}\n// for Intlify DevTools\n/* #__NO_SIDE_EFFECTS__ */\nconst getMetaInfo = () => {\n const instance = getCurrentInstance();\n let meta = null; // eslint-disable-line @typescript-eslint/no-explicit-any\n return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META])\n ? { [DEVTOOLS_META]: meta } // eslint-disable-line @typescript-eslint/no-explicit-any\n : null;\n};\n/**\n * Create composer interface factory\n *\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction createComposer(options = {}, VueI18nLegacy) {\n const { __root, __injectWithOption } = options;\n const _isGlobal = __root === undefined;\n const flatJson = options.flatJson;\n const _ref = inBrowser ? ref : shallowRef;\n let _inheritLocale = isBoolean(options.inheritLocale)\n ? options.inheritLocale\n : true;\n const _locale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.locale.value\n : isString(options.locale)\n ? options.locale\n : DEFAULT_LOCALE);\n const _fallbackLocale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.fallbackLocale.value\n : isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale.value);\n const _messages = _ref(getLocaleMessages(_locale.value, options));\n // prettier-ignore\n const _datetimeFormats = _ref(isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale.value]: {} })\n ;\n // prettier-ignore\n const _numberFormats = _ref(isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale.value]: {} })\n ;\n // warning suppress options\n // prettier-ignore\n let _missingWarn = __root\n ? __root.missingWarn\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n // prettier-ignore\n let _fallbackWarn = __root\n ? __root.fallbackWarn\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n // prettier-ignore\n let _fallbackRoot = __root\n ? __root.fallbackRoot\n : isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n // configure fall back to root\n let _fallbackFormat = !!options.fallbackFormat;\n // runtime missing\n let _missing = isFunction(options.missing) ? options.missing : null;\n let _runtimeMissing = isFunction(options.missing)\n ? defineCoreMissingHandler(options.missing)\n : null;\n // postTranslation handler\n let _postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n // prettier-ignore\n let _warnHtmlMessage = __root\n ? __root.warnHtmlMessage\n : isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n let _escapeParameter = !!options.escapeParameter;\n // custom linked modifiers\n // prettier-ignore\n const _modifiers = __root\n ? __root.modifiers\n : isPlainObject(options.modifiers)\n ? options.modifiers\n : {};\n // pluralRules\n let _pluralRules = options.pluralRules || (__root && __root.pluralRules);\n // runtime context\n // eslint-disable-next-line prefer-const\n let _context;\n const getCoreContext = () => {\n _isGlobal && setFallbackContext(null);\n const ctxOptions = {\n version: VERSION,\n locale: _locale.value,\n fallbackLocale: _fallbackLocale.value,\n messages: _messages.value,\n modifiers: _modifiers,\n pluralRules: _pluralRules,\n missing: _runtimeMissing === null ? undefined : _runtimeMissing,\n missingWarn: _missingWarn,\n fallbackWarn: _fallbackWarn,\n fallbackFormat: _fallbackFormat,\n unresolving: true,\n postTranslation: _postTranslation === null ? undefined : _postTranslation,\n warnHtmlMessage: _warnHtmlMessage,\n escapeParameter: _escapeParameter,\n messageResolver: options.messageResolver,\n messageCompiler: options.messageCompiler,\n __meta: { framework: 'vue' }\n };\n {\n ctxOptions.datetimeFormats = _datetimeFormats.value;\n ctxOptions.numberFormats = _numberFormats.value;\n ctxOptions.__datetimeFormatters = isPlainObject(_context)\n ? _context.__datetimeFormatters\n : undefined;\n ctxOptions.__numberFormatters = isPlainObject(_context)\n ? _context.__numberFormatters\n : undefined;\n }\n if ((process.env.NODE_ENV !== 'production')) {\n ctxOptions.__v_emitter = isPlainObject(_context)\n ? _context.__v_emitter\n : undefined;\n }\n const ctx = createCoreContext(ctxOptions);\n _isGlobal && setFallbackContext(ctx);\n return ctx;\n };\n _context = getCoreContext();\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n // track reactivity\n function trackReactivityValues() {\n return [\n _locale.value,\n _fallbackLocale.value,\n _messages.value,\n _datetimeFormats.value,\n _numberFormats.value\n ]\n ;\n }\n // locale\n const locale = computed({\n get: () => _locale.value,\n set: val => {\n _locale.value = val;\n _context.locale = _locale.value;\n }\n });\n // fallbackLocale\n const fallbackLocale = computed({\n get: () => _fallbackLocale.value,\n set: val => {\n _fallbackLocale.value = val;\n _context.fallbackLocale = _fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, val);\n }\n });\n // messages\n const messages = computed(() => _messages.value);\n // datetimeFormats\n const datetimeFormats = /* #__PURE__*/ computed(() => _datetimeFormats.value);\n // numberFormats\n const numberFormats = /* #__PURE__*/ computed(() => _numberFormats.value);\n // getPostTranslationHandler\n function getPostTranslationHandler() {\n return isFunction(_postTranslation) ? _postTranslation : null;\n }\n // setPostTranslationHandler\n function setPostTranslationHandler(handler) {\n _postTranslation = handler;\n _context.postTranslation = handler;\n }\n // getMissingHandler\n function getMissingHandler() {\n return _missing;\n }\n // setMissingHandler\n function setMissingHandler(handler) {\n if (handler !== null) {\n _runtimeMissing = defineCoreMissingHandler(handler);\n }\n _missing = handler;\n _context.missing = _runtimeMissing;\n }\n function isResolvedTranslateMessage(type, arg // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n return type !== 'translate' || !arg.resolvedMessage;\n }\n const wrapWithDeps = (fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => {\n trackReactivityValues(); // track reactive dependency\n // NOTE: experimental !!\n let ret;\n try {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(getMetaInfo());\n }\n if (!_isGlobal) {\n _context.fallbackContext = __root\n ? getFallbackContext()\n : undefined;\n }\n ret = fn(_context);\n }\n finally {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(null);\n }\n if (!_isGlobal) {\n _context.fallbackContext = undefined;\n }\n }\n if ((warnType !== 'translate exists' && // for not `te` (e.g `t`)\n isNumber(ret) &&\n ret === NOT_REOSLVED) ||\n (warnType === 'translate exists' && !ret) // for `te`\n ) {\n const [key, arg2] = argumentParser();\n if ((process.env.NODE_ENV !== 'production') &&\n __root &&\n isString(key) &&\n isResolvedTranslateMessage(warnType, arg2)) {\n if (_fallbackRoot &&\n (isTranslateFallbackWarn(_fallbackWarn, key) ||\n isTranslateMissingWarn(_missingWarn, key))) {\n warn(getWarnMessage(I18nWarnCodes.FALLBACK_TO_ROOT, {\n key,\n type: warnType\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const { __v_emitter: emitter } = _context;\n if (emitter && _fallbackRoot) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type: warnType,\n key,\n to: 'global',\n groupId: `${warnType}:${key}`\n });\n }\n }\n }\n return __root && _fallbackRoot\n ? fallbackSuccess(__root)\n : fallbackFail(key);\n }\n else if (successCondition(ret)) {\n return ret;\n }\n else {\n /* istanbul ignore next */\n throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE);\n }\n };\n // t\n function t(...args) {\n return wrapWithDeps(context => Reflect.apply(translate, null, [context, ...args]), () => parseTranslateArgs(...args), 'translate', root => Reflect.apply(root.t, root, [...args]), key => key, val => isString(val));\n }\n // rt\n function rt(...args) {\n const [arg1, arg2, arg3] = args;\n if (arg3 && !isObject(arg3)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n return t(...[arg1, arg2, assign({ resolvedMessage: true }, arg3 || {})]);\n }\n // d\n function d(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => Reflect.apply(root.d, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\n }\n // n\n function n(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => Reflect.apply(root.n, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\n }\n // for custom processor\n function normalize(values) {\n return values.map(val => isString(val) || isNumber(val) || isBoolean(val)\n ? createTextNode(String(val))\n : val);\n }\n const interpolate = (val) => val;\n const processor = {\n normalize,\n interpolate,\n type: 'vnode'\n };\n // translateVNode, using for `i18n-t` component\n function translateVNode(...args) {\n return wrapWithDeps(context => {\n let ret;\n const _context = context;\n try {\n _context.processor = processor;\n ret = Reflect.apply(translate, null, [_context, ...args]);\n }\n finally {\n _context.processor = null;\n }\n return ret;\n }, () => parseTranslateArgs(...args), 'translate', \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n root => root[TranslateVNodeSymbol](...args), key => [createTextNode(key)], val => isArray(val));\n }\n // numberParts, using for `i18n-n` component\n function numberParts(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n root => root[NumberPartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n // datetimeParts, using for `i18n-d` component\n function datetimeParts(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n root => root[DatetimePartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n function setPluralRules(rules) {\n _pluralRules = rules;\n _context.pluralRules = _pluralRules;\n }\n // te\n function te(key, locale) {\n return wrapWithDeps(() => {\n if (!key) {\n return false;\n }\n const targetLocale = isString(locale) ? locale : _locale.value;\n const message = getLocaleMessage(targetLocale);\n const resolved = _context.messageResolver(message, key);\n return (isMessageAST(resolved) ||\n isMessageFunction(resolved) ||\n isString(resolved));\n }, () => [key], 'translate exists', root => {\n return Reflect.apply(root.te, root, [key, locale]);\n }, NOOP_RETURN_FALSE, val => isBoolean(val));\n }\n function resolveMessages(key) {\n let messages = null;\n const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value);\n for (let i = 0; i < locales.length; i++) {\n const targetLocaleMessages = _messages.value[locales[i]] || {};\n const messageValue = _context.messageResolver(targetLocaleMessages, key);\n if (messageValue != null) {\n messages = messageValue;\n break;\n }\n }\n return messages;\n }\n // tm\n function tm(key) {\n const messages = resolveMessages(key);\n // prettier-ignore\n return messages != null\n ? messages\n : __root\n ? __root.tm(key) || {}\n : {};\n }\n // getLocaleMessage\n function getLocaleMessage(locale) {\n return (_messages.value[locale] || {});\n }\n // setLocaleMessage\n function setLocaleMessage(locale, message) {\n if (flatJson) {\n const _message = { [locale]: message };\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n message = _message[locale];\n }\n _messages.value[locale] = message;\n _context.messages = _messages.value;\n }\n // mergeLocaleMessage\n function mergeLocaleMessage(locale, message) {\n _messages.value[locale] = _messages.value[locale] || {};\n const _message = { [locale]: message };\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n message = _message[locale];\n deepCopy(message, _messages.value[locale]);\n _context.messages = _messages.value;\n }\n // getDateTimeFormat\n function getDateTimeFormat(locale) {\n return _datetimeFormats.value[locale] || {};\n }\n // setDateTimeFormat\n function setDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = format;\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // mergeDateTimeFormat\n function mergeDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = assign(_datetimeFormats.value[locale] || {}, format);\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // getNumberFormat\n function getNumberFormat(locale) {\n return _numberFormats.value[locale] || {};\n }\n // setNumberFormat\n function setNumberFormat(locale, format) {\n _numberFormats.value[locale] = format;\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // mergeNumberFormat\n function mergeNumberFormat(locale, format) {\n _numberFormats.value[locale] = assign(_numberFormats.value[locale] || {}, format);\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // for debug\n composerID++;\n // watch root locale & fallbackLocale\n if (__root && inBrowser) {\n watch(__root.locale, (val) => {\n if (_inheritLocale) {\n _locale.value = val;\n _context.locale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n watch(__root.fallbackLocale, (val) => {\n if (_inheritLocale) {\n _fallbackLocale.value = val;\n _context.fallbackLocale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n }\n // define basic composition API!\n const composer = {\n id: composerID,\n locale,\n fallbackLocale,\n get inheritLocale() {\n return _inheritLocale;\n },\n set inheritLocale(val) {\n _inheritLocale = val;\n if (val && __root) {\n _locale.value = __root.locale.value;\n _fallbackLocale.value = __root.fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n },\n get availableLocales() {\n return Object.keys(_messages.value).sort();\n },\n messages,\n get modifiers() {\n return _modifiers;\n },\n get pluralRules() {\n return _pluralRules || {};\n },\n get isGlobal() {\n return _isGlobal;\n },\n get missingWarn() {\n return _missingWarn;\n },\n set missingWarn(val) {\n _missingWarn = val;\n _context.missingWarn = _missingWarn;\n },\n get fallbackWarn() {\n return _fallbackWarn;\n },\n set fallbackWarn(val) {\n _fallbackWarn = val;\n _context.fallbackWarn = _fallbackWarn;\n },\n get fallbackRoot() {\n return _fallbackRoot;\n },\n set fallbackRoot(val) {\n _fallbackRoot = val;\n },\n get fallbackFormat() {\n return _fallbackFormat;\n },\n set fallbackFormat(val) {\n _fallbackFormat = val;\n _context.fallbackFormat = _fallbackFormat;\n },\n get warnHtmlMessage() {\n return _warnHtmlMessage;\n },\n set warnHtmlMessage(val) {\n _warnHtmlMessage = val;\n _context.warnHtmlMessage = val;\n },\n get escapeParameter() {\n return _escapeParameter;\n },\n set escapeParameter(val) {\n _escapeParameter = val;\n _context.escapeParameter = val;\n },\n t,\n getLocaleMessage,\n setLocaleMessage,\n mergeLocaleMessage,\n getPostTranslationHandler,\n setPostTranslationHandler,\n getMissingHandler,\n setMissingHandler,\n [SetPluralRulesSymbol]: setPluralRules\n };\n {\n composer.datetimeFormats = datetimeFormats;\n composer.numberFormats = numberFormats;\n composer.rt = rt;\n composer.te = te;\n composer.tm = tm;\n composer.d = d;\n composer.n = n;\n composer.getDateTimeFormat = getDateTimeFormat;\n composer.setDateTimeFormat = setDateTimeFormat;\n composer.mergeDateTimeFormat = mergeDateTimeFormat;\n composer.getNumberFormat = getNumberFormat;\n composer.setNumberFormat = setNumberFormat;\n composer.mergeNumberFormat = mergeNumberFormat;\n composer[InejctWithOptionSymbol] = __injectWithOption;\n composer[TranslateVNodeSymbol] = translateVNode;\n composer[DatetimePartsSymbol] = datetimeParts;\n composer[NumberPartsSymbol] = numberParts;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n composer[EnableEmitter] = (emitter) => {\n _context.__v_emitter = emitter;\n };\n composer[DisableEmitter] = () => {\n _context.__v_emitter = undefined;\n };\n }\n return composer;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Convert to I18n Composer Options from VueI18n Options\n *\n * @internal\n */\nfunction convertComposerOptions(options) {\n const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;\n const fallbackLocale = isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : locale;\n const missing = isFunction(options.missing) ? options.missing : undefined;\n const missingWarn = isBoolean(options.silentTranslationWarn) ||\n isRegExp(options.silentTranslationWarn)\n ? !options.silentTranslationWarn\n : true;\n const fallbackWarn = isBoolean(options.silentFallbackWarn) ||\n isRegExp(options.silentFallbackWarn)\n ? !options.silentFallbackWarn\n : true;\n const fallbackRoot = isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n const fallbackFormat = !!options.formatFallbackMessages;\n const modifiers = isPlainObject(options.modifiers) ? options.modifiers : {};\n const pluralizationRules = options.pluralizationRules;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : undefined;\n const warnHtmlMessage = isString(options.warnHtmlInMessage)\n ? options.warnHtmlInMessage !== 'off'\n : true;\n const escapeParameter = !!options.escapeParameterHtml;\n const inheritLocale = isBoolean(options.sync) ? options.sync : true;\n if ((process.env.NODE_ENV !== 'production') && options.formatter) {\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\n }\n if ((process.env.NODE_ENV !== 'production') && options.preserveDirectiveContent) {\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\n }\n let messages = options.messages;\n if (isPlainObject(options.sharedMessages)) {\n const sharedMessages = options.sharedMessages;\n const locales = Object.keys(sharedMessages);\n messages = locales.reduce((messages, locale) => {\n const message = messages[locale] || (messages[locale] = {});\n assign(message, sharedMessages[locale]);\n return messages;\n }, (messages || {}));\n }\n const { __i18n, __root, __injectWithOption } = options;\n const datetimeFormats = options.datetimeFormats;\n const numberFormats = options.numberFormats;\n const flatJson = options.flatJson;\n return {\n locale,\n fallbackLocale,\n messages,\n flatJson,\n datetimeFormats,\n numberFormats,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackRoot,\n fallbackFormat,\n modifiers,\n pluralRules: pluralizationRules,\n postTranslation,\n warnHtmlMessage,\n escapeParameter,\n messageResolver: options.messageResolver,\n inheritLocale,\n __i18n,\n __root,\n __injectWithOption\n };\n}\n/**\n * create VueI18n interface factory\n *\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction createVueI18n(options = {}, VueI18nLegacy) {\n {\n const composer = createComposer(convertComposerOptions(options));\n const { __extender } = options;\n // defines VueI18n\n const vueI18n = {\n // id\n id: composer.id,\n // locale\n get locale() {\n return composer.locale.value;\n },\n set locale(val) {\n composer.locale.value = val;\n },\n // fallbackLocale\n get fallbackLocale() {\n return composer.fallbackLocale.value;\n },\n set fallbackLocale(val) {\n composer.fallbackLocale.value = val;\n },\n // messages\n get messages() {\n return composer.messages.value;\n },\n // datetimeFormats\n get datetimeFormats() {\n return composer.datetimeFormats.value;\n },\n // numberFormats\n get numberFormats() {\n return composer.numberFormats.value;\n },\n // availableLocales\n get availableLocales() {\n return composer.availableLocales;\n },\n // formatter\n get formatter() {\n (process.env.NODE_ENV !== 'production') && warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\n // dummy\n return {\n interpolate() {\n return [];\n }\n };\n },\n set formatter(val) {\n (process.env.NODE_ENV !== 'production') && warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\n },\n // missing\n get missing() {\n return composer.getMissingHandler();\n },\n set missing(handler) {\n composer.setMissingHandler(handler);\n },\n // silentTranslationWarn\n get silentTranslationWarn() {\n return isBoolean(composer.missingWarn)\n ? !composer.missingWarn\n : composer.missingWarn;\n },\n set silentTranslationWarn(val) {\n composer.missingWarn = isBoolean(val) ? !val : val;\n },\n // silentFallbackWarn\n get silentFallbackWarn() {\n return isBoolean(composer.fallbackWarn)\n ? !composer.fallbackWarn\n : composer.fallbackWarn;\n },\n set silentFallbackWarn(val) {\n composer.fallbackWarn = isBoolean(val) ? !val : val;\n },\n // modifiers\n get modifiers() {\n return composer.modifiers;\n },\n // formatFallbackMessages\n get formatFallbackMessages() {\n return composer.fallbackFormat;\n },\n set formatFallbackMessages(val) {\n composer.fallbackFormat = val;\n },\n // postTranslation\n get postTranslation() {\n return composer.getPostTranslationHandler();\n },\n set postTranslation(handler) {\n composer.setPostTranslationHandler(handler);\n },\n // sync\n get sync() {\n return composer.inheritLocale;\n },\n set sync(val) {\n composer.inheritLocale = val;\n },\n // warnInHtmlMessage\n get warnHtmlInMessage() {\n return composer.warnHtmlMessage ? 'warn' : 'off';\n },\n set warnHtmlInMessage(val) {\n composer.warnHtmlMessage = val !== 'off';\n },\n // escapeParameterHtml\n get escapeParameterHtml() {\n return composer.escapeParameter;\n },\n set escapeParameterHtml(val) {\n composer.escapeParameter = val;\n },\n // preserveDirectiveContent\n get preserveDirectiveContent() {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\n return true;\n },\n set preserveDirectiveContent(val) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\n },\n // pluralizationRules\n get pluralizationRules() {\n return composer.pluralRules || {};\n },\n // for internal\n __composer: composer,\n // t\n t(...args) {\n const [arg1, arg2, arg3] = args;\n const options = {};\n let list = null;\n let named = null;\n if (!isString(arg1)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n const key = arg1;\n if (isString(arg2)) {\n options.locale = arg2;\n }\n else if (isArray(arg2)) {\n list = arg2;\n }\n else if (isPlainObject(arg2)) {\n named = arg2;\n }\n if (isArray(arg3)) {\n list = arg3;\n }\n else if (isPlainObject(arg3)) {\n named = arg3;\n }\n // return composer.t(key, (list || named || {}) as any, options)\n return Reflect.apply(composer.t, composer, [\n key,\n (list || named || {}),\n options\n ]);\n },\n rt(...args) {\n return Reflect.apply(composer.rt, composer, [...args]);\n },\n // tc\n tc(...args) {\n const [arg1, arg2, arg3] = args;\n const options = { plural: 1 };\n let list = null;\n let named = null;\n if (!isString(arg1)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n const key = arg1;\n if (isString(arg2)) {\n options.locale = arg2;\n }\n else if (isNumber(arg2)) {\n options.plural = arg2;\n }\n else if (isArray(arg2)) {\n list = arg2;\n }\n else if (isPlainObject(arg2)) {\n named = arg2;\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isArray(arg3)) {\n list = arg3;\n }\n else if (isPlainObject(arg3)) {\n named = arg3;\n }\n // return composer.t(key, (list || named || {}) as any, options)\n return Reflect.apply(composer.t, composer, [\n key,\n (list || named || {}),\n options\n ]);\n },\n // te\n te(key, locale) {\n return composer.te(key, locale);\n },\n // tm\n tm(key) {\n return composer.tm(key);\n },\n // getLocaleMessage\n getLocaleMessage(locale) {\n return composer.getLocaleMessage(locale);\n },\n // setLocaleMessage\n setLocaleMessage(locale, message) {\n composer.setLocaleMessage(locale, message);\n },\n // mergeLocaleMessage\n mergeLocaleMessage(locale, message) {\n composer.mergeLocaleMessage(locale, message);\n },\n // d\n d(...args) {\n return Reflect.apply(composer.d, composer, [...args]);\n },\n // getDateTimeFormat\n getDateTimeFormat(locale) {\n return composer.getDateTimeFormat(locale);\n },\n // setDateTimeFormat\n setDateTimeFormat(locale, format) {\n composer.setDateTimeFormat(locale, format);\n },\n // mergeDateTimeFormat\n mergeDateTimeFormat(locale, format) {\n composer.mergeDateTimeFormat(locale, format);\n },\n // n\n n(...args) {\n return Reflect.apply(composer.n, composer, [...args]);\n },\n // getNumberFormat\n getNumberFormat(locale) {\n return composer.getNumberFormat(locale);\n },\n // setNumberFormat\n setNumberFormat(locale, format) {\n composer.setNumberFormat(locale, format);\n },\n // mergeNumberFormat\n mergeNumberFormat(locale, format) {\n composer.mergeNumberFormat(locale, format);\n },\n // getChoiceIndex\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getChoiceIndex(choice, choicesLength) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX));\n return -1;\n }\n };\n vueI18n.__extender = __extender;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n vueI18n.__enableEmitter = (emitter) => {\n const __composer = composer;\n __composer[EnableEmitter] && __composer[EnableEmitter](emitter);\n };\n vueI18n.__disableEmitter = () => {\n const __composer = composer;\n __composer[DisableEmitter] && __composer[DisableEmitter]();\n };\n }\n return vueI18n;\n }\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst baseFormatProps = {\n tag: {\n type: [String, Object]\n },\n locale: {\n type: String\n },\n scope: {\n type: String,\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n validator: (val /* ComponentI18nScope */) => val === 'parent' || val === 'global',\n default: 'parent' /* ComponentI18nScope */\n },\n i18n: {\n type: Object\n }\n};\n\nfunction getInterpolateArg(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n{ slots }, // SetupContext,\nkeys) {\n if (keys.length === 1 && keys[0] === 'default') {\n // default slot with list\n const ret = slots.default ? slots.default() : [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return ret.reduce((slot, current) => {\n return [\n ...slot,\n // prettier-ignore\n ...(current.type === Fragment ? current.children : [current]\n )\n ];\n }, []);\n }\n else {\n // named slots\n return keys.reduce((arg, key) => {\n const slot = slots[key];\n if (slot) {\n arg[key] = slot();\n }\n return arg;\n }, {});\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getFragmentableTag(tag) {\n return Fragment ;\n}\n\nconst TranslationImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-t',\n props: assign({\n keypath: {\n type: String,\n required: true\n },\n plural: {\n type: [Number, String],\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n validator: (val) => isNumber(val) || !isNaN(val)\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const { slots, attrs } = context;\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return () => {\n const keys = Object.keys(slots).filter(key => key !== '_');\n const options = {};\n if (props.locale) {\n options.locale = props.locale;\n }\n if (props.plural !== undefined) {\n options.plural = isString(props.plural) ? +props.plural : props.plural;\n }\n const arg = getInterpolateArg(context, keys);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const children = i18n[TranslateVNodeSymbol](props.keypath, arg, options);\n const assignedAttrs = assign({}, attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return h(tag, assignedAttrs, children);\n };\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Translation Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [TranslationProps](component#translationprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Component Interpolation](../guide/advanced/component)\n *\n * @example\n * ```html\n *
\n * \n * \n * {{ $t('tos') }}\n * \n * \n *
\n * ```\n * ```js\n * import { createApp } from 'vue'\n * import { createI18n } from 'vue-i18n'\n *\n * const messages = {\n * en: {\n * tos: 'Term of Service',\n * term: 'I accept xxx {0}.'\n * },\n * ja: {\n * tos: '利用規約',\n * term: '私は xxx の{0}に同意します。'\n * }\n * }\n *\n * const i18n = createI18n({\n * locale: 'en',\n * messages\n * })\n *\n * const app = createApp({\n * data: {\n * url: '/term'\n * }\n * }).use(i18n).mount('#app')\n * ```\n *\n * @VueI18nComponent\n */\nconst Translation = TranslationImpl;\nconst I18nT = Translation;\n\nfunction isVNode(target) {\n return isArray(target) && !isString(target[0]);\n}\nfunction renderFormatter(props, context, slotKeys, partFormatter) {\n const { slots, attrs } = context;\n return () => {\n const options = { part: true };\n let overrides = {};\n if (props.locale) {\n options.locale = props.locale;\n }\n if (isString(props.format)) {\n options.key = props.format;\n }\n else if (isObject(props.format)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (isString(props.format.key)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options.key = props.format.key;\n }\n // Filter out number format options only\n overrides = Object.keys(props.format).reduce((options, prop) => {\n return slotKeys.includes(prop)\n ? assign({}, options, { [prop]: props.format[prop] }) // eslint-disable-line @typescript-eslint/no-explicit-any\n : options;\n }, {});\n }\n const parts = partFormatter(...[props.value, options, overrides]);\n let children = [options.key];\n if (isArray(parts)) {\n children = parts.map((part, index) => {\n const slot = slots[part.type];\n const node = slot\n ? slot({ [part.type]: part.value, index, parts })\n : [part.value];\n if (isVNode(node)) {\n node[0].key = `${part.type}-${index}`;\n }\n return node;\n });\n }\n else if (isString(parts)) {\n children = [parts];\n }\n const assignedAttrs = assign({}, attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return h(tag, assignedAttrs, children);\n };\n}\n\nconst NumberFormatImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-n',\n props: assign({\n value: {\n type: Number,\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: 'parent',\n __useComponent: true\n });\n return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[NumberPartsSymbol](...args));\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Number Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/number#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.NumberFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-numberformat)\n *\n * @VueI18nComponent\n */\nconst NumberFormat = NumberFormatImpl;\nconst I18nN = NumberFormat;\n\nconst DatetimeFormatImpl = /* #__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-d',\n props: assign({\n value: {\n type: [Number, Date],\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: 'parent',\n __useComponent: true\n });\n return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[DatetimePartsSymbol](...args));\n }\n});\n/**\n * Datetime Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/datetime#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.DateTimeFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-datetimeformat)\n *\n * @VueI18nComponent\n */\nconst DatetimeFormat = DatetimeFormatImpl;\nconst I18nD = DatetimeFormat;\n\nfunction getComposer$2(i18n, instance) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n return (i18nInternal.__getInstance(instance) || i18n.global);\n }\n else {\n const vueI18n = i18nInternal.__getInstance(instance);\n return vueI18n != null\n ? vueI18n.__composer\n : i18n.global.__composer;\n }\n}\nfunction vTDirective(i18n) {\n const _process = (binding) => {\n const { instance, modifiers, value } = binding;\n /* istanbul ignore if */\n if (!instance || !instance.$) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const composer = getComposer$2(i18n, instance.$);\n if ((process.env.NODE_ENV !== 'production') && modifiers.preserve) {\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE));\n }\n const parsedValue = parseValue(value);\n return [\n Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]),\n composer\n ];\n };\n const register = (el, binding) => {\n const [textContent, composer] = _process(binding);\n if (inBrowser && i18n.global === composer) {\n // global scope only\n el.__i18nWatcher = watch(composer.locale, () => {\n binding.instance && binding.instance.$forceUpdate();\n });\n }\n el.__composer = composer;\n el.textContent = textContent;\n };\n const unregister = (el) => {\n if (inBrowser && el.__i18nWatcher) {\n el.__i18nWatcher();\n el.__i18nWatcher = undefined;\n delete el.__i18nWatcher;\n }\n if (el.__composer) {\n el.__composer = undefined;\n delete el.__composer;\n }\n };\n const update = (el, { value }) => {\n if (el.__composer) {\n const composer = el.__composer;\n const parsedValue = parseValue(value);\n el.textContent = Reflect.apply(composer.t, composer, [\n ...makeParams(parsedValue)\n ]);\n }\n };\n const getSSRProps = (binding) => {\n const [textContent] = _process(binding);\n return { textContent };\n };\n return {\n created: register,\n unmounted: unregister,\n beforeUpdate: update,\n getSSRProps\n };\n}\nfunction parseValue(value) {\n if (isString(value)) {\n return { path: value };\n }\n else if (isPlainObject(value)) {\n if (!('path' in value)) {\n throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, 'path');\n }\n return value;\n }\n else {\n throw createI18nError(I18nErrorCodes.INVALID_VALUE);\n }\n}\nfunction makeParams(value) {\n const { path, locale, args, choice, plural } = value;\n const options = {};\n const named = args || {};\n if (isString(locale)) {\n options.locale = locale;\n }\n if (isNumber(choice)) {\n options.plural = choice;\n }\n if (isNumber(plural)) {\n options.plural = plural;\n }\n return [path, named, options];\n}\n\nfunction apply(app, i18n, ...options) {\n const pluginOptions = isPlainObject(options[0])\n ? options[0]\n : {};\n const useI18nComponentName = !!pluginOptions.useI18nComponentName;\n const globalInstall = isBoolean(pluginOptions.globalInstall)\n ? pluginOptions.globalInstall\n : true;\n if ((process.env.NODE_ENV !== 'production') && globalInstall && useI18nComponentName) {\n warn(getWarnMessage(I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE, {\n name: Translation.name\n }));\n }\n if (globalInstall) {\n [!useI18nComponentName ? Translation.name : 'i18n', 'I18nT'].forEach(name => app.component(name, Translation));\n [NumberFormat.name, 'I18nN'].forEach(name => app.component(name, NumberFormat));\n [DatetimeFormat.name, 'I18nD'].forEach(name => app.component(name, DatetimeFormat));\n }\n // install directive\n {\n app.directive('t', vTDirective(i18n));\n }\n}\n\nconst VueDevToolsLabels = {\n [\"vue-devtools-plugin-vue-i18n\" /* VueDevToolsIDs.PLUGIN */]: 'Vue I18n devtools',\n [\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */]: 'I18n Resources',\n [\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */]: 'Vue I18n'\n};\nconst VueDevToolsPlaceholders = {\n [\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */]: 'Search for scopes ...'\n};\nconst VueDevToolsTimelineColors = {\n [\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */]: 0xffcd19\n};\n\nconst VUE_I18N_COMPONENT_TYPES = 'vue-i18n: composer properties';\nlet devtoolsApi;\nasync function enableDevTools(app, i18n) {\n return new Promise((resolve, reject) => {\n try {\n setupDevtoolsPlugin({\n id: \"vue-devtools-plugin-vue-i18n\" /* VueDevToolsIDs.PLUGIN */,\n label: VueDevToolsLabels[\"vue-devtools-plugin-vue-i18n\" /* VueDevToolsIDs.PLUGIN */],\n packageName: 'vue-i18n',\n homepage: 'https://vue-i18n.intlify.dev',\n logo: 'https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png',\n componentStateTypes: [VUE_I18N_COMPONENT_TYPES],\n app: app // eslint-disable-line @typescript-eslint/no-explicit-any\n }, api => {\n devtoolsApi = api;\n api.on.visitComponentTree(({ componentInstance, treeNode }) => {\n updateComponentTreeTags(componentInstance, treeNode, i18n);\n });\n api.on.inspectComponent(({ componentInstance, instanceData }) => {\n if (componentInstance.vnode.el &&\n componentInstance.vnode.el.__VUE_I18N__ &&\n instanceData) {\n if (i18n.mode === 'legacy') {\n // ignore global scope on legacy mode\n if (componentInstance.vnode.el.__VUE_I18N__ !==\n i18n.global.__composer) {\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\n }\n }\n else {\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\n }\n }\n });\n api.addInspector({\n id: \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */,\n label: VueDevToolsLabels[\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */],\n icon: 'language',\n treeFilterPlaceholder: VueDevToolsPlaceholders[\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */]\n });\n api.on.getInspectorTree(payload => {\n if (payload.app === app &&\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */) {\n registerScope(payload, i18n);\n }\n });\n const roots = new Map();\n api.on.getInspectorState(async (payload) => {\n if (payload.app === app &&\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */) {\n api.unhighlightElement();\n inspectScope(payload, i18n);\n if (payload.nodeId === 'global') {\n if (!roots.has(payload.app)) {\n const [root] = await api.getComponentInstances(payload.app);\n roots.set(payload.app, root);\n }\n api.highlightElement(roots.get(payload.app));\n }\n else {\n const instance = getComponentInstance(payload.nodeId, i18n);\n instance && api.highlightElement(instance);\n }\n }\n });\n api.on.editInspectorState(payload => {\n if (payload.app === app &&\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */) {\n editScope(payload, i18n);\n }\n });\n api.addTimelineLayer({\n id: \"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */,\n label: VueDevToolsLabels[\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */],\n color: VueDevToolsTimelineColors[\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */]\n });\n resolve(true);\n });\n }\n catch (e) {\n console.error(e);\n reject(false);\n }\n });\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getI18nScopeLable(instance) {\n return (instance.type.name ||\n instance.type.displayName ||\n instance.type.__file ||\n 'Anonymous');\n}\nfunction updateComponentTreeTags(instance, // eslint-disable-line @typescript-eslint/no-explicit-any\ntreeNode, i18n) {\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n if (instance && instance.vnode.el && instance.vnode.el.__VUE_I18N__) {\n // add custom tags local scope only\n if (instance.vnode.el.__VUE_I18N__ !== global) {\n const tag = {\n label: `i18n (${getI18nScopeLable(instance)} Scope)`,\n textColor: 0x000000,\n backgroundColor: 0xffcd19\n };\n treeNode.tags.push(tag);\n }\n }\n}\nfunction inspectComposer(instanceData, composer) {\n const type = VUE_I18N_COMPONENT_TYPES;\n instanceData.state.push({\n type,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n });\n instanceData.state.push({\n type,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n });\n instanceData.state.push({\n type,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n });\n instanceData.state.push({\n type,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n });\n instanceData.state.push({\n type,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n });\n {\n instanceData.state.push({\n type,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n });\n instanceData.state.push({\n type,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n });\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getLocaleMessageValue(messages) {\n const value = {};\n Object.keys(messages).forEach((key) => {\n const v = messages[key];\n if (isFunction(v) && 'source' in v) {\n value[key] = getMessageFunctionDetails(v);\n }\n else if (isMessageAST(v) && v.loc && v.loc.source) {\n value[key] = v.loc.source;\n }\n else if (isObject(v)) {\n value[key] = getLocaleMessageValue(v);\n }\n else {\n value[key] = v;\n }\n });\n return value;\n}\nconst ESC = {\n '<': '<',\n '>': '>',\n '\"': '"',\n '&': '&'\n};\nfunction escape(s) {\n return s.replace(/[<>\"&]/g, escapeChar);\n}\nfunction escapeChar(a) {\n return ESC[a] || a;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getMessageFunctionDetails(func) {\n const argString = func.source ? `(\"${escape(func.source)}\")` : `(?)`;\n return {\n _custom: {\n type: 'function',\n display: `ƒ ${argString}`\n }\n };\n}\nfunction registerScope(payload, i18n) {\n payload.rootNodes.push({\n id: 'global',\n label: 'Global Scope'\n });\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n for (const [keyInstance, instance] of i18n.__instances) {\n // prettier-ignore\n const composer = i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n if (global === composer) {\n continue;\n }\n payload.rootNodes.push({\n id: composer.id.toString(),\n label: `${getI18nScopeLable(keyInstance)} Scope`\n });\n }\n}\nfunction getComponentInstance(nodeId, i18n) {\n let instance = null;\n if (nodeId !== 'global') {\n for (const [component, composer] of i18n.__instances.entries()) {\n if (composer.id.toString() === nodeId) {\n instance = component;\n break;\n }\n }\n }\n return instance;\n}\nfunction getComposer$1(nodeId, i18n) {\n if (nodeId === 'global') {\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n }\n else {\n const instance = Array.from(i18n.__instances.values()).find(item => item.id.toString() === nodeId);\n if (instance) {\n return i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n }\n else {\n return null;\n }\n }\n}\nfunction inspectScope(payload, i18n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) {\n const composer = getComposer$1(payload.nodeId, i18n);\n if (composer) {\n // TODO:\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n payload.state = makeScopeInspectState(composer);\n }\n return null;\n}\nfunction makeScopeInspectState(composer) {\n const state = {};\n const localeType = 'Locale related info';\n const localeStates = [\n {\n type: localeType,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n },\n {\n type: localeType,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n },\n {\n type: localeType,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n },\n {\n type: localeType,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n }\n ];\n state[localeType] = localeStates;\n const localeMessagesType = 'Locale messages info';\n const localeMessagesStates = [\n {\n type: localeMessagesType,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n }\n ];\n state[localeMessagesType] = localeMessagesStates;\n {\n const datetimeFormatsType = 'Datetime formats info';\n const datetimeFormatsStates = [\n {\n type: datetimeFormatsType,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n }\n ];\n state[datetimeFormatsType] = datetimeFormatsStates;\n const numberFormatsType = 'Datetime formats info';\n const numberFormatsStates = [\n {\n type: numberFormatsType,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n }\n ];\n state[numberFormatsType] = numberFormatsStates;\n }\n return state;\n}\nfunction addTimelineEvent(event, payload) {\n if (devtoolsApi) {\n let groupId;\n if (payload && 'groupId' in payload) {\n groupId = payload.groupId;\n delete payload.groupId;\n }\n devtoolsApi.addTimelineEvent({\n layerId: \"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */,\n event: {\n title: event,\n groupId,\n time: Date.now(),\n meta: {},\n data: payload || {},\n logType: event === \"compile-error\" /* VueDevToolsTimelineEvents.COMPILE_ERROR */\n ? 'error'\n : event === \"fallback\" /* VueDevToolsTimelineEvents.FALBACK */ ||\n event === \"missing\" /* VueDevToolsTimelineEvents.MISSING */\n ? 'warning'\n : 'default'\n }\n });\n }\n}\nfunction editScope(payload, i18n) {\n const composer = getComposer$1(payload.nodeId, i18n);\n if (composer) {\n const [field] = payload.path;\n if (field === 'locale' && isString(payload.state.value)) {\n composer.locale.value = payload.state.value;\n }\n else if (field === 'fallbackLocale' &&\n (isString(payload.state.value) ||\n isArray(payload.state.value) ||\n isObject(payload.state.value))) {\n composer.fallbackLocale.value = payload.state.value;\n }\n else if (field === 'inheritLocale' && isBoolean(payload.state.value)) {\n composer.inheritLocale = payload.state.value;\n }\n }\n}\n\n/**\n * Supports compatibility for legacy vue-i18n APIs\n * This mixin is used when we use vue-i18n@v9.x or later\n */\nfunction defineMixin(vuei18n, composer, i18n) {\n return {\n beforeCreate() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const options = this.$options;\n if (options.i18n) {\n const optionsI18n = options.i18n;\n if (options.__i18n) {\n optionsI18n.__i18n = options.__i18n;\n }\n optionsI18n.__root = composer;\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, optionsI18n);\n }\n else {\n optionsI18n.__injectWithOption = true;\n optionsI18n.__extender = i18n.__vueI18nExtend;\n // atttach local VueI18n instance\n this.$i18n = createVueI18n(optionsI18n);\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else if (options.__i18n) {\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, options);\n }\n else {\n // atttach local VueI18n instance\n this.$i18n = createVueI18n({\n __i18n: options.__i18n,\n __injectWithOption: true,\n __extender: i18n.__vueI18nExtend,\n __root: composer\n });\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else {\n // attach global VueI18n instance\n this.$i18n = vuei18n;\n }\n if (options.__i18nGlobal) {\n adjustI18nResources(composer, options, options);\n }\n // defines vue-i18n legacy APIs\n this.$t = (...args) => this.$i18n.t(...args);\n this.$rt = (...args) => this.$i18n.rt(...args);\n this.$tc = (...args) => this.$i18n.tc(...args);\n this.$te = (key, locale) => this.$i18n.te(key, locale);\n this.$d = (...args) => this.$i18n.d(...args);\n this.$n = (...args) => this.$i18n.n(...args);\n this.$tm = (key) => this.$i18n.tm(key);\n i18n.__setInstance(instance, this.$i18n);\n },\n mounted() {\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$el &&\n this.$i18n) {\n const _vueI18n = this.$i18n;\n this.$el.__VUE_I18N__ = _vueI18n.__composer;\n const emitter = (this.__v_emitter =\n createEmitter());\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n emitter.on('*', addTimelineEvent);\n }\n },\n unmounted() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const _vueI18n = this.$i18n;\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$el &&\n this.$el.__VUE_I18N__) {\n if (this.__v_emitter) {\n this.__v_emitter.off('*', addTimelineEvent);\n delete this.__v_emitter;\n }\n if (this.$i18n) {\n _vueI18n.__disableEmitter && _vueI18n.__disableEmitter();\n delete this.$el.__VUE_I18N__;\n }\n }\n delete this.$t;\n delete this.$rt;\n delete this.$tc;\n delete this.$te;\n delete this.$d;\n delete this.$n;\n delete this.$tm;\n if (_vueI18n.__disposer) {\n _vueI18n.__disposer();\n delete _vueI18n.__disposer;\n delete _vueI18n.__extender;\n }\n i18n.__deleteInstance(instance);\n delete this.$i18n;\n }\n };\n}\nfunction mergeToGlobal(g, options) {\n g.locale = options.locale || g.locale;\n g.fallbackLocale = options.fallbackLocale || g.fallbackLocale;\n g.missing = options.missing || g.missing;\n g.silentTranslationWarn =\n options.silentTranslationWarn || g.silentFallbackWarn;\n g.silentFallbackWarn = options.silentFallbackWarn || g.silentFallbackWarn;\n g.formatFallbackMessages =\n options.formatFallbackMessages || g.formatFallbackMessages;\n g.postTranslation = options.postTranslation || g.postTranslation;\n g.warnHtmlInMessage = options.warnHtmlInMessage || g.warnHtmlInMessage;\n g.escapeParameterHtml = options.escapeParameterHtml || g.escapeParameterHtml;\n g.sync = options.sync || g.sync;\n g.__composer[SetPluralRulesSymbol](options.pluralizationRules || g.pluralizationRules);\n const messages = getLocaleMessages(g.locale, {\n messages: options.messages,\n __i18n: options.__i18n\n });\n Object.keys(messages).forEach(locale => g.mergeLocaleMessage(locale, messages[locale]));\n if (options.datetimeFormats) {\n Object.keys(options.datetimeFormats).forEach(locale => g.mergeDateTimeFormat(locale, options.datetimeFormats[locale]));\n }\n if (options.numberFormats) {\n Object.keys(options.numberFormats).forEach(locale => g.mergeNumberFormat(locale, options.numberFormats[locale]));\n }\n return g;\n}\n\n/**\n * Injection key for {@link useI18n}\n *\n * @remarks\n * The global injection key for I18n instances with `useI18n`. this injection key is used in Web Components.\n * Specify the i18n instance created by {@link createI18n} together with `provide` function.\n *\n * @VueI18nGeneral\n */\nconst I18nInjectionKey = \n/* #__PURE__*/ makeSymbol('global-vue-i18n');\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nfunction createI18n(options = {}, VueI18nLegacy) {\n // prettier-ignore\n const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean(options.legacy)\n ? options.legacy\n : __VUE_I18N_LEGACY_API__;\n // prettier-ignore\n const __globalInjection = isBoolean(options.globalInjection)\n ? options.globalInjection\n : true;\n // prettier-ignore\n const __allowComposition = __VUE_I18N_LEGACY_API__ && __legacyMode\n ? !!options.allowComposition\n : true;\n const __instances = new Map();\n const [globalScope, __global] = createGlobal(options, __legacyMode);\n const symbol = /* #__PURE__*/ makeSymbol((process.env.NODE_ENV !== 'production') ? 'vue-i18n' : '');\n if ((process.env.NODE_ENV !== 'production')) {\n if (__legacyMode && __allowComposition && !false) {\n warn(getWarnMessage(I18nWarnCodes.NOTICE_DROP_ALLOW_COMPOSITION));\n }\n }\n function __getInstance(component) {\n return __instances.get(component) || null;\n }\n function __setInstance(component, instance) {\n __instances.set(component, instance);\n }\n function __deleteInstance(component) {\n __instances.delete(component);\n }\n {\n const i18n = {\n // mode\n get mode() {\n return __VUE_I18N_LEGACY_API__ && __legacyMode\n ? 'legacy'\n : 'composition';\n },\n // allowComposition\n get allowComposition() {\n return __allowComposition;\n },\n // install plugin\n async install(app, ...options) {\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false) {\n app.__VUE_I18N__ = i18n;\n }\n // setup global provider\n app.__VUE_I18N_SYMBOL__ = symbol;\n app.provide(app.__VUE_I18N_SYMBOL__, i18n);\n // set composer & vuei18n extend hook options from plugin options\n if (isPlainObject(options[0])) {\n const opts = options[0];\n i18n.__composerExtend =\n opts.__composerExtend;\n i18n.__vueI18nExtend =\n opts.__vueI18nExtend;\n }\n // global method and properties injection for Composition API\n let globalReleaseHandler = null;\n if (!__legacyMode && __globalInjection) {\n globalReleaseHandler = injectGlobalFields(app, i18n.global);\n }\n // install built-in components and directive\n if (__VUE_I18N_FULL_INSTALL__) {\n apply(app, i18n, ...options);\n }\n // setup mixin for Legacy API\n if (__VUE_I18N_LEGACY_API__ && __legacyMode) {\n app.mixin(defineMixin(__global, __global.__composer, i18n));\n }\n // release global scope\n const unmountApp = app.unmount;\n app.unmount = () => {\n globalReleaseHandler && globalReleaseHandler();\n i18n.dispose();\n unmountApp();\n };\n // setup vue-devtools plugin\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n const ret = await enableDevTools(app, i18n);\n if (!ret) {\n throw createI18nError(I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN);\n }\n const emitter = createEmitter();\n if (__legacyMode) {\n const _vueI18n = __global;\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = __global;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n }\n emitter.on('*', addTimelineEvent);\n }\n },\n // global accessor\n get global() {\n return __global;\n },\n dispose() {\n globalScope.stop();\n },\n // @internal\n __instances,\n // @internal\n __getInstance,\n // @internal\n __setInstance,\n // @internal\n __deleteInstance\n };\n return i18n;\n }\n}\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction useI18n(options = {}) {\n const instance = getCurrentInstance();\n if (instance == null) {\n throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP);\n }\n if (!instance.isCE &&\n instance.appContext.app != null &&\n !instance.appContext.app.__VUE_I18N_SYMBOL__) {\n throw createI18nError(I18nErrorCodes.NOT_INSTALLED);\n }\n const i18n = getI18nInstance(instance);\n const gl = getGlobalComposer(i18n);\n const componentOptions = getComponentOptions(instance);\n const scope = getScope(options, componentOptions);\n if (__VUE_I18N_LEGACY_API__) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (i18n.mode === 'legacy' && !options.__useComponent) {\n if (!i18n.allowComposition) {\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE);\n }\n return useI18nForLegacy(instance, scope, gl, options);\n }\n }\n if (scope === 'global') {\n adjustI18nResources(gl, options, componentOptions);\n return gl;\n }\n if (scope === 'parent') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let composer = getComposer(i18n, instance, options.__useComponent);\n if (composer == null) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(getWarnMessage(I18nWarnCodes.NOT_FOUND_PARENT_SCOPE));\n }\n composer = gl;\n }\n return composer;\n }\n const i18nInternal = i18n;\n let composer = i18nInternal.__getInstance(instance);\n if (composer == null) {\n const composerOptions = assign({}, options);\n if ('__i18n' in componentOptions) {\n composerOptions.__i18n = componentOptions.__i18n;\n }\n if (gl) {\n composerOptions.__root = gl;\n }\n composer = createComposer(composerOptions);\n if (i18nInternal.__composerExtend) {\n composer[DisposeSymbol] =\n i18nInternal.__composerExtend(composer);\n }\n setupLifeCycle(i18nInternal, instance, composer);\n i18nInternal.__setInstance(instance, composer);\n }\n return composer;\n}\n/**\n * Cast to VueI18n legacy compatible type\n *\n * @remarks\n * This API is provided only with [vue-i18n-bridge](https://vue-i18n.intlify.dev/guide/migration/ways.html#what-is-vue-i18n-bridge).\n *\n * The purpose of this function is to convert an {@link I18n} instance created with {@link createI18n | createI18n(legacy: true)} into a `vue-i18n@v8.x` compatible instance of `new VueI18n` in a TypeScript environment.\n *\n * @param i18n - An instance of {@link I18n}\n * @returns A i18n instance which is casted to {@link VueI18n} type\n *\n * @VueI18nTip\n * :new: provided by **vue-i18n-bridge only**\n *\n * @VueI18nGeneral\n */\n/* #__NO_SIDE_EFFECTS__ */\nconst castToVueI18n = (i18n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) => {\n if (!(__VUE_I18N_BRIDGE__ in i18n)) {\n throw createI18nError(I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N);\n }\n return i18n;\n};\nfunction createGlobal(options, legacyMode, VueI18nLegacy // eslint-disable-line @typescript-eslint/no-explicit-any\n) {\n const scope = effectScope();\n {\n const obj = __VUE_I18N_LEGACY_API__ && legacyMode\n ? scope.run(() => createVueI18n(options))\n : scope.run(() => createComposer(options));\n if (obj == null) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n return [scope, obj];\n }\n}\nfunction getI18nInstance(instance) {\n {\n const i18n = inject(!instance.isCE\n ? instance.appContext.app.__VUE_I18N_SYMBOL__\n : I18nInjectionKey);\n /* istanbul ignore if */\n if (!i18n) {\n throw createI18nError(!instance.isCE\n ? I18nErrorCodes.UNEXPECTED_ERROR\n : I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE);\n }\n return i18n;\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getScope(options, componentOptions) {\n // prettier-ignore\n return isEmptyObject(options)\n ? ('__i18n' in componentOptions)\n ? 'local'\n : 'global'\n : !options.useScope\n ? 'local'\n : options.useScope;\n}\nfunction getGlobalComposer(i18n) {\n // prettier-ignore\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer\n ;\n}\nfunction getComposer(i18n, target, useComponent = false) {\n let composer = null;\n const root = target.root;\n let current = getParentComponentInstance(target, useComponent);\n while (current != null) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n composer = i18nInternal.__getInstance(current);\n }\n else {\n if (__VUE_I18N_LEGACY_API__) {\n const vueI18n = i18nInternal.__getInstance(current);\n if (vueI18n != null) {\n composer = vueI18n\n .__composer;\n if (useComponent &&\n composer &&\n !composer[InejctWithOptionSymbol] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n composer = null;\n }\n }\n }\n }\n if (composer != null) {\n break;\n }\n if (root === current) {\n break;\n }\n current = current.parent;\n }\n return composer;\n}\nfunction getParentComponentInstance(target, useComponent = false) {\n if (target == null) {\n return null;\n }\n {\n // if `useComponent: true` will be specified, we get lexical scope owner instance for use-case slots\n return !useComponent\n ? target.parent\n : target.vnode.ctx || target.parent; // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n}\nfunction setupLifeCycle(i18n, target, composer) {\n let emitter = null;\n {\n onMounted(() => {\n // inject composer instance to DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n target.vnode.el) {\n target.vnode.el.__VUE_I18N__ = composer;\n emitter = createEmitter();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n emitter.on('*', addTimelineEvent);\n }\n }, target);\n onUnmounted(() => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n // remove composer instance from DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n target.vnode.el &&\n target.vnode.el.__VUE_I18N__) {\n emitter && emitter.off('*', addTimelineEvent);\n _composer[DisableEmitter] && _composer[DisableEmitter]();\n delete target.vnode.el.__VUE_I18N__;\n }\n i18n.__deleteInstance(target);\n // dispose extended resources\n const dispose = _composer[DisposeSymbol];\n if (dispose) {\n dispose();\n delete _composer[DisposeSymbol];\n }\n }, target);\n }\n}\nfunction useI18nForLegacy(instance, scope, root, options = {} // eslint-disable-line @typescript-eslint/no-explicit-any\n) {\n const isLocalScope = scope === 'local';\n const _composer = shallowRef(null);\n if (isLocalScope &&\n instance.proxy &&\n !(instance.proxy.$options.i18n || instance.proxy.$options.__i18n)) {\n throw createI18nError(I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);\n }\n const _inheritLocale = isBoolean(options.inheritLocale)\n ? options.inheritLocale\n : !isString(options.locale);\n const _locale = ref(\n // prettier-ignore\n !isLocalScope || _inheritLocale\n ? root.locale.value\n : isString(options.locale)\n ? options.locale\n : DEFAULT_LOCALE);\n const _fallbackLocale = ref(\n // prettier-ignore\n !isLocalScope || _inheritLocale\n ? root.fallbackLocale.value\n : isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale.value);\n const _messages = ref(getLocaleMessages(_locale.value, options));\n // prettier-ignore\n const _datetimeFormats = ref(isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale.value]: {} });\n // prettier-ignore\n const _numberFormats = ref(isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale.value]: {} });\n // prettier-ignore\n const _missingWarn = isLocalScope\n ? root.missingWarn\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n // prettier-ignore\n const _fallbackWarn = isLocalScope\n ? root.fallbackWarn\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n // prettier-ignore\n const _fallbackRoot = isLocalScope\n ? root.fallbackRoot\n : isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n // configure fall back to root\n const _fallbackFormat = !!options.fallbackFormat;\n // runtime missing\n const _missing = isFunction(options.missing) ? options.missing : null;\n // postTranslation handler\n const _postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n // prettier-ignore\n const _warnHtmlMessage = isLocalScope\n ? root.warnHtmlMessage\n : isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n const _escapeParameter = !!options.escapeParameter;\n // prettier-ignore\n const _modifiers = isLocalScope\n ? root.modifiers\n : isPlainObject(options.modifiers)\n ? options.modifiers\n : {};\n // pluralRules\n const _pluralRules = options.pluralRules || (isLocalScope && root.pluralRules);\n // track reactivity\n function trackReactivityValues() {\n return [\n _locale.value,\n _fallbackLocale.value,\n _messages.value,\n _datetimeFormats.value,\n _numberFormats.value\n ];\n }\n // locale\n const locale = computed({\n get: () => {\n return _composer.value ? _composer.value.locale.value : _locale.value;\n },\n set: val => {\n if (_composer.value) {\n _composer.value.locale.value = val;\n }\n _locale.value = val;\n }\n });\n // fallbackLocale\n const fallbackLocale = computed({\n get: () => {\n return _composer.value\n ? _composer.value.fallbackLocale.value\n : _fallbackLocale.value;\n },\n set: val => {\n if (_composer.value) {\n _composer.value.fallbackLocale.value = val;\n }\n _fallbackLocale.value = val;\n }\n });\n // messages\n const messages = computed(() => {\n if (_composer.value) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return _composer.value.messages.value;\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return _messages.value;\n }\n });\n const datetimeFormats = computed(() => _datetimeFormats.value);\n const numberFormats = computed(() => _numberFormats.value);\n function getPostTranslationHandler() {\n return _composer.value\n ? _composer.value.getPostTranslationHandler()\n : _postTranslation;\n }\n function setPostTranslationHandler(handler) {\n if (_composer.value) {\n _composer.value.setPostTranslationHandler(handler);\n }\n }\n function getMissingHandler() {\n return _composer.value ? _composer.value.getMissingHandler() : _missing;\n }\n function setMissingHandler(handler) {\n if (_composer.value) {\n _composer.value.setMissingHandler(handler);\n }\n }\n function warpWithDeps(fn) {\n trackReactivityValues();\n return fn();\n }\n function t(...args) {\n return _composer.value\n ? warpWithDeps(() => Reflect.apply(_composer.value.t, null, [...args]))\n : warpWithDeps(() => '');\n }\n function rt(...args) {\n return _composer.value\n ? Reflect.apply(_composer.value.rt, null, [...args])\n : '';\n }\n function d(...args) {\n return _composer.value\n ? warpWithDeps(() => Reflect.apply(_composer.value.d, null, [...args]))\n : warpWithDeps(() => '');\n }\n function n(...args) {\n return _composer.value\n ? warpWithDeps(() => Reflect.apply(_composer.value.n, null, [...args]))\n : warpWithDeps(() => '');\n }\n function tm(key) {\n return _composer.value ? _composer.value.tm(key) : {};\n }\n function te(key, locale) {\n return _composer.value ? _composer.value.te(key, locale) : false;\n }\n function getLocaleMessage(locale) {\n return _composer.value ? _composer.value.getLocaleMessage(locale) : {};\n }\n function setLocaleMessage(locale, message) {\n if (_composer.value) {\n _composer.value.setLocaleMessage(locale, message);\n _messages.value[locale] = message;\n }\n }\n function mergeLocaleMessage(locale, message) {\n if (_composer.value) {\n _composer.value.mergeLocaleMessage(locale, message);\n }\n }\n function getDateTimeFormat(locale) {\n return _composer.value ? _composer.value.getDateTimeFormat(locale) : {};\n }\n function setDateTimeFormat(locale, format) {\n if (_composer.value) {\n _composer.value.setDateTimeFormat(locale, format);\n _datetimeFormats.value[locale] = format;\n }\n }\n function mergeDateTimeFormat(locale, format) {\n if (_composer.value) {\n _composer.value.mergeDateTimeFormat(locale, format);\n }\n }\n function getNumberFormat(locale) {\n return _composer.value ? _composer.value.getNumberFormat(locale) : {};\n }\n function setNumberFormat(locale, format) {\n if (_composer.value) {\n _composer.value.setNumberFormat(locale, format);\n _numberFormats.value[locale] = format;\n }\n }\n function mergeNumberFormat(locale, format) {\n if (_composer.value) {\n _composer.value.mergeNumberFormat(locale, format);\n }\n }\n const wrapper = {\n get id() {\n return _composer.value ? _composer.value.id : -1;\n },\n locale,\n fallbackLocale,\n messages,\n datetimeFormats,\n numberFormats,\n get inheritLocale() {\n return _composer.value ? _composer.value.inheritLocale : _inheritLocale;\n },\n set inheritLocale(val) {\n if (_composer.value) {\n _composer.value.inheritLocale = val;\n }\n },\n get availableLocales() {\n return _composer.value\n ? _composer.value.availableLocales\n : Object.keys(_messages.value);\n },\n get modifiers() {\n return (_composer.value ? _composer.value.modifiers : _modifiers);\n },\n get pluralRules() {\n return (_composer.value ? _composer.value.pluralRules : _pluralRules);\n },\n get isGlobal() {\n return _composer.value ? _composer.value.isGlobal : false;\n },\n get missingWarn() {\n return _composer.value ? _composer.value.missingWarn : _missingWarn;\n },\n set missingWarn(val) {\n if (_composer.value) {\n _composer.value.missingWarn = val;\n }\n },\n get fallbackWarn() {\n return _composer.value ? _composer.value.fallbackWarn : _fallbackWarn;\n },\n set fallbackWarn(val) {\n if (_composer.value) {\n _composer.value.missingWarn = val;\n }\n },\n get fallbackRoot() {\n return _composer.value ? _composer.value.fallbackRoot : _fallbackRoot;\n },\n set fallbackRoot(val) {\n if (_composer.value) {\n _composer.value.fallbackRoot = val;\n }\n },\n get fallbackFormat() {\n return _composer.value ? _composer.value.fallbackFormat : _fallbackFormat;\n },\n set fallbackFormat(val) {\n if (_composer.value) {\n _composer.value.fallbackFormat = val;\n }\n },\n get warnHtmlMessage() {\n return _composer.value\n ? _composer.value.warnHtmlMessage\n : _warnHtmlMessage;\n },\n set warnHtmlMessage(val) {\n if (_composer.value) {\n _composer.value.warnHtmlMessage = val;\n }\n },\n get escapeParameter() {\n return _composer.value\n ? _composer.value.escapeParameter\n : _escapeParameter;\n },\n set escapeParameter(val) {\n if (_composer.value) {\n _composer.value.escapeParameter = val;\n }\n },\n t,\n getPostTranslationHandler,\n setPostTranslationHandler,\n getMissingHandler,\n setMissingHandler,\n rt,\n d,\n n,\n tm,\n te,\n getLocaleMessage,\n setLocaleMessage,\n mergeLocaleMessage,\n getDateTimeFormat,\n setDateTimeFormat,\n mergeDateTimeFormat,\n getNumberFormat,\n setNumberFormat,\n mergeNumberFormat\n };\n function sync(composer) {\n composer.locale.value = _locale.value;\n composer.fallbackLocale.value = _fallbackLocale.value;\n Object.keys(_messages.value).forEach(locale => {\n composer.mergeLocaleMessage(locale, _messages.value[locale]);\n });\n Object.keys(_datetimeFormats.value).forEach(locale => {\n composer.mergeDateTimeFormat(locale, _datetimeFormats.value[locale]);\n });\n Object.keys(_numberFormats.value).forEach(locale => {\n composer.mergeNumberFormat(locale, _numberFormats.value[locale]);\n });\n composer.escapeParameter = _escapeParameter;\n composer.fallbackFormat = _fallbackFormat;\n composer.fallbackRoot = _fallbackRoot;\n composer.fallbackWarn = _fallbackWarn;\n composer.missingWarn = _missingWarn;\n composer.warnHtmlMessage = _warnHtmlMessage;\n }\n onBeforeMount(() => {\n if (instance.proxy == null || instance.proxy.$i18n == null) {\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const composer = (_composer.value = instance.proxy.$i18n\n .__composer);\n if (scope === 'global') {\n _locale.value = composer.locale.value;\n _fallbackLocale.value = composer.fallbackLocale.value;\n _messages.value = composer.messages.value;\n _datetimeFormats.value = composer.datetimeFormats.value;\n _numberFormats.value = composer.numberFormats.value;\n }\n else if (isLocalScope) {\n sync(composer);\n }\n });\n return wrapper;\n}\nconst globalExportProps = [\n 'locale',\n 'fallbackLocale',\n 'availableLocales'\n];\nconst globalExportMethods = ['t', 'rt', 'd', 'n', 'tm', 'te']\n ;\nfunction injectGlobalFields(app, composer) {\n const i18n = Object.create(null);\n globalExportProps.forEach(prop => {\n const desc = Object.getOwnPropertyDescriptor(composer, prop);\n if (!desc) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const wrap = isRef(desc.value) // check computed props\n ? {\n get() {\n return desc.value.value;\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set(val) {\n desc.value.value = val;\n }\n }\n : {\n get() {\n return desc.get && desc.get();\n }\n };\n Object.defineProperty(i18n, prop, wrap);\n });\n app.config.globalProperties.$i18n = i18n;\n globalExportMethods.forEach(method => {\n const desc = Object.getOwnPropertyDescriptor(composer, method);\n if (!desc || !desc.value) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n Object.defineProperty(app.config.globalProperties, `$${method}`, desc);\n });\n const dispose = () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties.$i18n;\n globalExportMethods.forEach(method => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties[`$${method}`];\n });\n };\n return dispose;\n}\n\n{\n initFeatureFlags();\n}\n// register message compiler at vue-i18n\nif (__INTLIFY_JIT_COMPILATION__) {\n registerMessageCompiler(compile);\n}\nelse {\n registerMessageCompiler(compileToFunction);\n}\n// register message resolver at vue-i18n\nregisterMessageResolver(resolveValue);\n// register fallback locale at vue-i18n\nregisterLocaleFallbacker(fallbackWithLocaleChain);\n// NOTE: experimental !!\nif ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n const target = getGlobalThis();\n target.__INTLIFY__ = true;\n setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__);\n}\nif ((process.env.NODE_ENV !== 'production')) ;\n\nexport { DatetimeFormat, I18nD, I18nInjectionKey, I18nN, I18nT, NumberFormat, Translation, VERSION, castToVueI18n, createI18n, useI18n, vTDirective };\n"],"names":["inBrowser","makeSymbol","name","shareable","generateFormatCacheKey","locale","key","source","friendlyJSONstringify","json","isNumber","val","isDate","toTypeString","isRegExp","isEmptyObject","isPlainObject","assign","_globalThis","getGlobalThis","escapeHtml","rawText","hasOwnProperty","hasOwn","obj","isArray","isFunction","isString","isBoolean","isObject","isPromise","objectToString","value","proto","toDisplayString","join","items","separator","str","item","index","incrementer","code","current","warn","msg","err","isNotObjectOrIsArray","deepCopy","src","des","stack","createPosition","line","column","offset","createLocation","start","end","loc","RE_ARGS","format","message","args","match","identifier","CompileErrorCodes","errorMessages","createCompileError","options","domain","messages","error","defaultOnError","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","CHAR_PS","createScanner","_buf","_index","_line","_column","_peekOffset","isCRLF","isLF","isPS","isLS","isLineEnd","peekOffset","charAt","currentChar","currentPeek","next","peek","reset","resetPeek","skipToPeek","target","EOF","DOT","LITERAL_DELIMITER","ERROR_DOMAIN$3","createTokenizer","location","_scnr","currentOffset","currentPosition","_initLoc","_initOffset","_context","context","onError","emitError","pos","ctx","getToken","type","token","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","isNumberStart","isNamedIdentifierStart","currentType","ret","isListIdentifierStart","isLiteralStart","isLinkedDotStart","isLinkedModifierStart","isLinkedDelimiterStart","isLinkedReferStart","fn","isPluralStart","detectModuloStart","spaces","isTextStart","hasSpace","prev","detectModulo","takeChar","takeIdentifierChar","takeDigit","takeHexDigit","getDigits","num","readModulo","readText","readNamedIdentifier","readListIdentifier","readLiteral","literal","x","readEscapeSequence","readUnicodeEscapeSequence","unicode","digits","sequence","i","readInvalidIdentifier","identifiers","closure","readLinkedModifier","readLinkedRefer","detect","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","isModulo","nextToken","startLoc","endLoc","ERROR_DOMAIN$2","KNOWN_ESCAPES","fromEscapeSequence","codePoint4","codePoint6","codePoint","createParser","tokenzer","startNode","node","endNode","parseText","tokenizer","parseList","parseNamed","parseLiteral","parseLinkedModifier","getTokenCaption","parseLinkedKey","parseLinked","linkedNode","parsed","nextContext","emptyLinkedKeyNode","parseMessage","startOffset","endOffset","parsePlural","msgNode","hasEmptyMessage","parseResource","parse","createTransformer","ast","traverseNodes","nodes","transformer","traverseNode","transform","optimize","body","optimizeMessageNode","c","values","ERROR_DOMAIN$1","minify","resource","cases","valueNode","linked","list","named","ERROR_DOMAIN","createCodeGenerator","sourceMap","filename","breakLineCode","_needIndent","push","_newline","n","withBreakLine","_breakLineCode","indent","withNewLine","level","deindent","newline","generateLinkedNode","generator","helper","generateNode","generateMessageNode","needIndent","length","generatePluralNode","generateResource","generate","mode","helpers","s","map","baseCompile","assignedOptions","jit","enalbeMinify","enambeOptimize","initFeatureFlags","pathStateMachine","literalValueRE","isLiteral","exp","stripQuotes","a","b","getPathCharType","formatSubPath","path","trimmed","keys","subPathDepth","newChar","transition","action","typeMap","actions","maybeUnescapeQuote","nextChar","cache","resolveWithKeyValue","resolveValue","hit","len","last","DEFAULT_MODIFIER","DEFAULT_MESSAGE","DEFAULT_MESSAGE_DATA_TYPE","DEFAULT_NORMALIZE","DEFAULT_INTERPOLATE","pluralDefault","choice","choicesLength","getPluralIndex","normalizeNamed","pluralIndex","props","createMessageContext","pluralRule","orgPluralRule","_list","_named","_modifier","normalize","interpolate","arg1","arg2","modifier","devtools","setDevToolsHook","hook","initI18nDevTools","i18n","version","meta","translateDevTools","createDevToolsHook","payloads","CoreWarnCodes","inc","CoreErrorCodes","createCoreError","getLocale","resolveLocale","_resolveLocale","resolve","fallbackWithSimple","fallback","fallbackWithLocaleChain","startLocale","DEFAULT_LOCALE","chain","block","appendBlockToChain","defaults","blocks","follow","appendLocaleToChain","tokens","appendItemToChain","VERSION","NOT_REOSLVED","MISSING_RESOLVE_VALUE","capitalize","getDefaultLinkedModifiers","_compiler","registerMessageCompiler","compiler","_resolver","registerMessageResolver","resolver","_fallbacker","registerLocaleFallbacker","fallbacker","_additionalMeta","setAdditionalMeta","getAdditionalMeta","_fallbackContext","setFallbackContext","getFallbackContext","_cid","createCoreContext","onWarn","_locale","fallbackLocale","datetimeFormats","numberFormats","modifiers","pluralRules","missing","missingWarn","fallbackWarn","fallbackFormat","unresolving","postTranslation","processor","warnHtmlMessage","escapeParameter","messageCompiler","messageResolver","localeFallbacker","fallbackContext","internalOptions","__datetimeFormatters","__numberFormatters","__meta","handleMissing","updateFallbackLocale","formatParts","formatMessageParts","_static","acm","formatMessagePart","text","linkedKey","linkedModifier","defaultOnCacheKey","compileCache","isMessageAST","detectError","__spreadProps","__spreadValues","baseCompile$1","compileToFunction","cacheKey","cached","compile","NOOP_MESSAGE_FUNCTION","isMessageFunction","translate","parseTranslateArgs","resolvedMessage","defaultMsgOrKey","enableDefaultMsg","escapeParams","formatScope","targetLocale","resolveMessageFormat","cacheBaseKey","occurred","compileMessageFormat","ctxOptions","getMessageContextOptions","msgContext","messaged","evaluateMessage","locales","missingRet","getCompileContext","msgCtx","arg3","datetime","overrides","parseDateTimeArgs","part","datetimeFormat","id","formatter","DATETIME_FORMAT_OPTIONS_KEYS","arg4","matches","dateTime","e","clearDateTimeFormat","number","parseNumberArgs","numberFormat","NUMBER_FORMAT_OPTIONS_KEYS","clearNumberFormat","code$1","inc$1","I18nErrorCodes","createI18nError","TranslateVNodeSymbol","DatetimePartsSymbol","NumberPartsSymbol","SetPluralRulesSymbol","InejctWithOptionSymbol","DisposeSymbol","handleFlatJson","subKeys","lastIndex","currentObj","hasStringValue","getLocaleMessages","__i18n","flatJson","custom","getComponentOptions","instance","adjustI18nResources","gl","componentOptions","createTextNode","createVNode","Text","DEVTOOLS_META","NOOP_RETURN_ARRAY","NOOP_RETURN_FALSE","composerID","defineCoreMissingHandler","getCurrentInstance","getMetaInfo","createComposer","VueI18nLegacy","__root","__injectWithOption","_isGlobal","_ref","ref","shallowRef","_inheritLocale","_fallbackLocale","_messages","_datetimeFormats","_numberFormats","_missingWarn","_fallbackWarn","_fallbackRoot","_fallbackFormat","_missing","_runtimeMissing","_postTranslation","_warnHtmlMessage","_escapeParameter","_modifiers","_pluralRules","trackReactivityValues","computed","getPostTranslationHandler","setPostTranslationHandler","handler","getMissingHandler","setMissingHandler","wrapWithDeps","argumentParser","warnType","fallbackSuccess","fallbackFail","successCondition","t","root","rt","d","translateVNode","numberParts","datetimeParts","setPluralRules","rules","te","getLocaleMessage","resolved","resolveMessages","targetLocaleMessages","messageValue","tm","setLocaleMessage","_message","mergeLocaleMessage","getDateTimeFormat","setDateTimeFormat","mergeDateTimeFormat","getNumberFormat","setNumberFormat","mergeNumberFormat","watch","composer","convertComposerOptions","fallbackRoot","pluralizationRules","inheritLocale","sharedMessages","createVueI18n","__extender","vueI18n","baseFormatProps","getInterpolateArg","slots","slot","Fragment","arg","getFragmentableTag","tag","TranslationImpl","defineComponent","attrs","useI18n","children","assignedAttrs","h","Translation","isVNode","renderFormatter","slotKeys","partFormatter","prop","parts","NumberFormatImpl","NumberFormat","DatetimeFormatImpl","DatetimeFormat","getComposer$2","i18nInternal","vTDirective","_process","binding","parsedValue","parseValue","makeParams","el","textContent","apply","app","pluginOptions","useI18nComponentName","defineMixin","vuei18n","optionsI18n","mergeToGlobal","_vueI18n","g","I18nInjectionKey","createI18n","__legacyMode","__globalInjection","__allowComposition","__instances","globalScope","__global","createGlobal","symbol","__getInstance","component","__setInstance","__deleteInstance","__async","opts","globalReleaseHandler","injectGlobalFields","unmountApp","getI18nInstance","getGlobalComposer","scope","getScope","useI18nForLegacy","getComposer","composerOptions","setupLifeCycle","legacyMode","effectScope","inject","useComponent","getParentComponentInstance","onMounted","onUnmounted","_composer","dispose","isLocalScope","warpWithDeps","wrapper","sync","onBeforeMount","globalExportProps","globalExportMethods","desc","wrap","isRef","method"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}