@dialpad/dialtone 9.118.0 → 9.119.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/tokens/doc.json +21305 -21305
  2. package/dist/vue2/dialtone-vue.cjs +1 -1
  3. package/dist/vue2/dialtone-vue.js +357 -359
  4. package/dist/vue2/dialtone-vue.js.map +1 -1
  5. package/dist/vue2/lib/rich-text-editor/rich-text-editor.cjs +1 -1
  6. package/dist/vue2/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  7. package/dist/vue2/lib/rich-text-editor/rich-text-editor.js +12 -12
  8. package/dist/vue2/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  9. package/dist/vue2/lib/scrollbar-directive/scrollbar.cjs +1 -1
  10. package/dist/vue2/lib/scrollbar-directive/scrollbar.cjs.map +1 -1
  11. package/dist/vue2/lib/scrollbar-directive/scrollbar.js +17 -11
  12. package/dist/vue2/lib/scrollbar-directive/scrollbar.js.map +1 -1
  13. package/dist/vue2/types/directives/scrollbar_directive/scrollbar.d.ts.map +1 -1
  14. package/dist/vue2/types/index.d.ts +0 -1
  15. package/dist/vue3/lib/scrollbar-directive/scrollbar.cjs +1 -1
  16. package/dist/vue3/lib/scrollbar-directive/scrollbar.cjs.map +1 -1
  17. package/dist/vue3/lib/scrollbar-directive/scrollbar.js +14 -8
  18. package/dist/vue3/lib/scrollbar-directive/scrollbar.js.map +1 -1
  19. package/dist/vue3/types/directives/scrollbar_directive/scrollbar.d.ts.map +1 -1
  20. package/package.json +6 -6
  21. package/dist/vue2/localization/dp-DP.cjs +0 -11
  22. package/dist/vue2/localization/dp-DP.cjs.map +0 -1
  23. package/dist/vue2/localization/dp-DP.js +0 -14
  24. package/dist/vue2/localization/dp-DP.js.map +0 -1
  25. package/dist/vue2/localization/en-US.cjs +0 -11
  26. package/dist/vue2/localization/en-US.cjs.map +0 -1
  27. package/dist/vue2/localization/en-US.js +0 -14
  28. package/dist/vue2/localization/en-US.js.map +0 -1
  29. package/dist/vue2/localization/es-LA.cjs +0 -11
  30. package/dist/vue2/localization/es-LA.cjs.map +0 -1
  31. package/dist/vue2/localization/es-LA.js +0 -14
  32. package/dist/vue2/localization/es-LA.js.map +0 -1
  33. package/dist/vue2/localization/index.cjs +0 -6
  34. package/dist/vue2/localization/index.cjs.map +0 -1
  35. package/dist/vue2/localization/index.js +0 -4882
  36. package/dist/vue2/localization/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../node_modules/.pnpm/@dialpad+i18n-services@1.2.0-beta.v6_@vue+composition-api@1.7.2_vue@2.7.16__vue-demi@0.14.10__mhmlxdkldth7o4rz6wxyywv7w4/node_modules/@dialpad/i18n-services/dist/bundle-D0MjWrl5.js","../../../../node_modules/.pnpm/@dialpad+i18n-services@1.2.0-beta.v6_@vue+composition-api@1.7.2_vue@2.7.16__vue-demi@0.14.10__mhmlxdkldth7o4rz6wxyywv7w4/node_modules/@dialpad/i18n-services/dist/locale-manager.js","../../../../node_modules/.pnpm/@dialpad+i18n-services@1.2.0-beta.v6_@vue+composition-api@1.7.2_vue@2.7.16__vue-demi@0.14.10__mhmlxdkldth7o4rz6wxyywv7w4/node_modules/@dialpad/i18n-services/dist/bundle-source.js","../../../../node_modules/.pnpm/@dialpad+i18n-vue2@1.0.2-beta.v8_vue-demi@0.14.10_@vue+composition-api@1.7.2_vue@2.7.16__vue@2.7.16__vue@2.7.16/node_modules/@dialpad/i18n-vue2/dist/i18n-vue2.js","../../localization/index.js"],"sourcesContent":["/**\n * The `FluentType` class is the base of Fluent's type system.\n *\n * Fluent types wrap JavaScript values and store additional configuration for\n * them, which can then be used in the `toString` method together with a proper\n * `Intl` formatter.\n */\nclass FluentType {\n /**\n * Create a `FluentType` instance.\n *\n * @param value The JavaScript value to wrap.\n */\n constructor(value) {\n this.value = value;\n }\n /**\n * Unwrap the raw value stored by this `FluentType`.\n */\n valueOf() {\n return this.value;\n }\n}\n/**\n * A `FluentType` representing no correct value.\n */\nclass FluentNone extends FluentType {\n /**\n * Create an instance of `FluentNone` with an optional fallback value.\n * @param value The fallback value of this `FluentNone`.\n */\n constructor(value = \"???\") {\n super(value);\n }\n /**\n * Format this `FluentNone` to the fallback string.\n */\n toString(scope) {\n return `{${this.value}}`;\n }\n}\n/**\n * A `FluentType` representing a number.\n *\n * A `FluentNumber` instance stores the number value of the number it\n * represents. It may also store an option bag of options which will be passed\n * to `Intl.NumerFormat` when the `FluentNumber` is formatted to a string.\n */\nclass FluentNumber extends FluentType {\n /**\n * Create an instance of `FluentNumber` with options to the\n * `Intl.NumberFormat` constructor.\n *\n * @param value The number value of this `FluentNumber`.\n * @param opts Options which will be passed to `Intl.NumberFormat`.\n */\n constructor(value, opts = {}) {\n super(value);\n this.opts = opts;\n }\n /**\n * Format this `FluentNumber` to a string.\n */\n toString(scope) {\n try {\n const nf = scope.memoizeIntlObject(Intl.NumberFormat, this.opts);\n return nf.format(this.value);\n }\n catch (err) {\n scope.reportError(err);\n return this.value.toString(10);\n }\n }\n}\n/**\n * A `FluentType` representing a date and time.\n *\n * A `FluentDateTime` instance stores the number value of the date it\n * represents, as a numerical timestamp in milliseconds. It may also store an\n * option bag of options which will be passed to `Intl.DateTimeFormat` when the\n * `FluentDateTime` is formatted to a string.\n */\nclass FluentDateTime extends FluentType {\n /**\n * Create an instance of `FluentDateTime` with options to the\n * `Intl.DateTimeFormat` constructor.\n *\n * @param value The number value of this `FluentDateTime`, in milliseconds.\n * @param opts Options which will be passed to `Intl.DateTimeFormat`.\n */\n constructor(value, opts = {}) {\n super(value);\n this.opts = opts;\n }\n /**\n * Format this `FluentDateTime` to a string.\n */\n toString(scope) {\n try {\n const dtf = scope.memoizeIntlObject(Intl.DateTimeFormat, this.opts);\n return dtf.format(this.value);\n }\n catch (err) {\n scope.reportError(err);\n return new Date(this.value).toISOString();\n }\n }\n}\n\n/* global Intl */\n/**\n * @overview\n *\n * The role of the Fluent resolver is to format a `Pattern` to an instance of\n * `FluentValue`. For performance reasons, primitive strings are considered\n * such instances, too.\n *\n * Translations can contain references to other messages or variables,\n * conditional logic in form of select expressions, traits which describe their\n * grammatical features, and can use Fluent builtins which make use of the\n * `Intl` formatters to format numbers and dates into the bundle's languages.\n * See the documentation of the Fluent syntax for more information.\n *\n * In case of errors the resolver will try to salvage as much of the\n * translation as possible. In rare situations where the resolver didn't know\n * how to recover from an error it will return an instance of `FluentNone`.\n *\n * All expressions resolve to an instance of `FluentValue`. The caller should\n * use the `toString` method to convert the instance to a native value.\n *\n * Functions in this file pass around an instance of the `Scope` class, which\n * stores the data required for successful resolution and error recovery.\n */\n// The maximum number of placeables which can be expanded in a single call to\n// `formatPattern`. The limit protects against the Billion Laughs and Quadratic\n// Blowup attacks. See https://msdn.microsoft.com/en-us/magazine/ee335713.aspx.\nconst MAX_PLACEABLES = 100;\n// Unicode bidi isolation characters.\nconst FSI = \"\\u2068\";\nconst PDI = \"\\u2069\";\n// Helper: match a variant key to the given selector.\nfunction match(scope, selector, key) {\n if (key === selector) {\n // Both are strings.\n return true;\n }\n // XXX Consider comparing options too, e.g. minimumFractionDigits.\n if (key instanceof FluentNumber &&\n selector instanceof FluentNumber &&\n key.value === selector.value) {\n return true;\n }\n if (selector instanceof FluentNumber && typeof key === \"string\") {\n let category = scope\n .memoizeIntlObject(Intl.PluralRules, selector.opts)\n .select(selector.value);\n if (key === category) {\n return true;\n }\n }\n return false;\n}\n// Helper: resolve the default variant from a list of variants.\nfunction getDefault(scope, variants, star) {\n if (variants[star]) {\n return resolvePattern(scope, variants[star].value);\n }\n scope.reportError(new RangeError(\"No default\"));\n return new FluentNone();\n}\n// Helper: resolve arguments to a call expression.\nfunction getArguments(scope, args) {\n const positional = [];\n const named = Object.create(null);\n for (const arg of args) {\n if (arg.type === \"narg\") {\n named[arg.name] = resolveExpression(scope, arg.value);\n }\n else {\n positional.push(resolveExpression(scope, arg));\n }\n }\n return { positional, named };\n}\n// Resolve an expression to a Fluent type.\nfunction resolveExpression(scope, expr) {\n switch (expr.type) {\n case \"str\":\n return expr.value;\n case \"num\":\n return new FluentNumber(expr.value, {\n minimumFractionDigits: expr.precision\n });\n case \"var\":\n return resolveVariableReference(scope, expr);\n case \"mesg\":\n return resolveMessageReference(scope, expr);\n case \"term\":\n return resolveTermReference(scope, expr);\n case \"func\":\n return resolveFunctionReference(scope, expr);\n case \"select\":\n return resolveSelectExpression(scope, expr);\n default:\n return new FluentNone();\n }\n}\n// Resolve a reference to a variable.\nfunction resolveVariableReference(scope, { name }) {\n let arg;\n if (scope.params) {\n // We're inside a TermReference. It's OK to reference undefined parameters.\n if (Object.prototype.hasOwnProperty.call(scope.params, name)) {\n arg = scope.params[name];\n }\n else {\n return new FluentNone(`$${name}`);\n }\n }\n else if (scope.args\n && Object.prototype.hasOwnProperty.call(scope.args, name)) {\n // We're in the top-level Pattern or inside a MessageReference. Missing\n // variables references produce ReferenceErrors.\n arg = scope.args[name];\n }\n else {\n scope.reportError(new ReferenceError(`Unknown variable: $${name}`));\n return new FluentNone(`$${name}`);\n }\n // Return early if the argument already is an instance of FluentType.\n if (arg instanceof FluentType) {\n return arg;\n }\n // Convert the argument to a Fluent type.\n switch (typeof arg) {\n case \"string\":\n return arg;\n case \"number\":\n return new FluentNumber(arg);\n case \"object\":\n if (arg instanceof Date) {\n return new FluentDateTime(arg.getTime());\n }\n // eslint-disable-next-line no-fallthrough\n default:\n scope.reportError(new TypeError(`Variable type not supported: $${name}, ${typeof arg}`));\n return new FluentNone(`$${name}`);\n }\n}\n// Resolve a reference to another message.\nfunction resolveMessageReference(scope, { name, attr }) {\n const message = scope.bundle._messages.get(name);\n if (!message) {\n scope.reportError(new ReferenceError(`Unknown message: ${name}`));\n return new FluentNone(name);\n }\n if (attr) {\n const attribute = message.attributes[attr];\n if (attribute) {\n return resolvePattern(scope, attribute);\n }\n scope.reportError(new ReferenceError(`Unknown attribute: ${attr}`));\n return new FluentNone(`${name}.${attr}`);\n }\n if (message.value) {\n return resolvePattern(scope, message.value);\n }\n scope.reportError(new ReferenceError(`No value: ${name}`));\n return new FluentNone(name);\n}\n// Resolve a call to a Term with key-value arguments.\nfunction resolveTermReference(scope, { name, attr, args }) {\n const id = `-${name}`;\n const term = scope.bundle._terms.get(id);\n if (!term) {\n scope.reportError(new ReferenceError(`Unknown term: ${id}`));\n return new FluentNone(id);\n }\n if (attr) {\n const attribute = term.attributes[attr];\n if (attribute) {\n // Every TermReference has its own variables.\n scope.params = getArguments(scope, args).named;\n const resolved = resolvePattern(scope, attribute);\n scope.params = null;\n return resolved;\n }\n scope.reportError(new ReferenceError(`Unknown attribute: ${attr}`));\n return new FluentNone(`${id}.${attr}`);\n }\n scope.params = getArguments(scope, args).named;\n const resolved = resolvePattern(scope, term.value);\n scope.params = null;\n return resolved;\n}\n// Resolve a call to a Function with positional and key-value arguments.\nfunction resolveFunctionReference(scope, { name, args }) {\n // Some functions are built-in. Others may be provided by the runtime via\n // the `FluentBundle` constructor.\n let func = scope.bundle._functions[name];\n if (!func) {\n scope.reportError(new ReferenceError(`Unknown function: ${name}()`));\n return new FluentNone(`${name}()`);\n }\n if (typeof func !== \"function\") {\n scope.reportError(new TypeError(`Function ${name}() is not callable`));\n return new FluentNone(`${name}()`);\n }\n try {\n let resolved = getArguments(scope, args);\n return func(resolved.positional, resolved.named);\n }\n catch (err) {\n scope.reportError(err);\n return new FluentNone(`${name}()`);\n }\n}\n// Resolve a select expression to the member object.\nfunction resolveSelectExpression(scope, { selector, variants, star }) {\n let sel = resolveExpression(scope, selector);\n if (sel instanceof FluentNone) {\n return getDefault(scope, variants, star);\n }\n // Match the selector against keys of each variant, in order.\n for (const variant of variants) {\n const key = resolveExpression(scope, variant.key);\n if (match(scope, sel, key)) {\n return resolvePattern(scope, variant.value);\n }\n }\n return getDefault(scope, variants, star);\n}\n// Resolve a pattern (a complex string with placeables).\nfunction resolveComplexPattern(scope, ptn) {\n if (scope.dirty.has(ptn)) {\n scope.reportError(new RangeError(\"Cyclic reference\"));\n return new FluentNone();\n }\n // Tag the pattern as dirty for the purpose of the current resolution.\n scope.dirty.add(ptn);\n const result = [];\n // Wrap interpolations with Directional Isolate Formatting characters\n // only when the pattern has more than one element.\n const useIsolating = scope.bundle._useIsolating && ptn.length > 1;\n for (const elem of ptn) {\n if (typeof elem === \"string\") {\n result.push(scope.bundle._transform(elem));\n continue;\n }\n scope.placeables++;\n if (scope.placeables > MAX_PLACEABLES) {\n scope.dirty.delete(ptn);\n // This is a fatal error which causes the resolver to instantly bail out\n // on this pattern. The length check protects against excessive memory\n // usage, and throwing protects against eating up the CPU when long\n // placeables are deeply nested.\n throw new RangeError(`Too many placeables expanded: ${scope.placeables}, ` +\n `max allowed is ${MAX_PLACEABLES}`);\n }\n if (useIsolating) {\n result.push(FSI);\n }\n result.push(resolveExpression(scope, elem).toString(scope));\n if (useIsolating) {\n result.push(PDI);\n }\n }\n scope.dirty.delete(ptn);\n return result.join(\"\");\n}\n// Resolve a simple or a complex Pattern to a FluentString (which is really the\n// string primitive).\nfunction resolvePattern(scope, value) {\n // Resolve a simple pattern.\n if (typeof value === \"string\") {\n return scope.bundle._transform(value);\n }\n return resolveComplexPattern(scope, value);\n}\n\nclass Scope {\n constructor(bundle, errors, args) {\n /** The Set of patterns already encountered during this resolution.\n * Used to detect and prevent cyclic resolutions. */\n this.dirty = new WeakSet();\n /** A dict of parameters passed to a TermReference. */\n this.params = null;\n /** The running count of placeables resolved so far. Used to detect the\n * Billion Laughs and Quadratic Blowup attacks. */\n this.placeables = 0;\n this.bundle = bundle;\n this.errors = errors;\n this.args = args;\n }\n reportError(error) {\n if (!this.errors || !(error instanceof Error)) {\n throw error;\n }\n this.errors.push(error);\n }\n memoizeIntlObject(ctor, opts) {\n let cache = this.bundle._intls.get(ctor);\n if (!cache) {\n cache = {};\n this.bundle._intls.set(ctor, cache);\n }\n let id = JSON.stringify(opts);\n if (!cache[id]) {\n cache[id] = new ctor(this.bundle.locales, opts);\n }\n return cache[id];\n }\n}\n\n/**\n * @overview\n *\n * The FTL resolver ships with a number of functions built-in.\n *\n * Each function take two arguments:\n * - args - an array of positional args\n * - opts - an object of key-value args\n *\n * Arguments to functions are guaranteed to already be instances of\n * `FluentValue`. Functions must return `FluentValues` as well.\n */\nfunction values(opts, allowed) {\n const unwrapped = Object.create(null);\n for (const [name, opt] of Object.entries(opts)) {\n if (allowed.includes(name)) {\n unwrapped[name] = opt.valueOf();\n }\n }\n return unwrapped;\n}\nconst NUMBER_ALLOWED = [\n \"unitDisplay\",\n \"currencyDisplay\",\n \"useGrouping\",\n \"minimumIntegerDigits\",\n \"minimumFractionDigits\",\n \"maximumFractionDigits\",\n \"minimumSignificantDigits\",\n \"maximumSignificantDigits\",\n];\n/**\n * The implementation of the `NUMBER()` builtin available to translations.\n *\n * Translations may call the `NUMBER()` builtin in order to specify formatting\n * options of a number. For example:\n *\n * pi = The value of π is {NUMBER($pi, maximumFractionDigits: 2)}.\n *\n * The implementation expects an array of `FluentValues` representing the\n * positional arguments, and an object of named `FluentValues` representing the\n * named parameters.\n *\n * The following options are recognized:\n *\n * unitDisplay\n * currencyDisplay\n * useGrouping\n * minimumIntegerDigits\n * minimumFractionDigits\n * maximumFractionDigits\n * minimumSignificantDigits\n * maximumSignificantDigits\n *\n * Other options are ignored.\n *\n * @param args The positional arguments passed to this `NUMBER()`.\n * @param opts The named argments passed to this `NUMBER()`.\n */\nfunction NUMBER(args, opts) {\n let arg = args[0];\n if (arg instanceof FluentNone) {\n return new FluentNone(`NUMBER(${arg.valueOf()})`);\n }\n if (arg instanceof FluentNumber) {\n return new FluentNumber(arg.valueOf(), {\n ...arg.opts,\n ...values(opts, NUMBER_ALLOWED)\n });\n }\n if (arg instanceof FluentDateTime) {\n return new FluentNumber(arg.valueOf(), {\n ...values(opts, NUMBER_ALLOWED)\n });\n }\n throw new TypeError(\"Invalid argument to NUMBER\");\n}\nconst DATETIME_ALLOWED = [\n \"dateStyle\",\n \"timeStyle\",\n \"fractionalSecondDigits\",\n \"dayPeriod\",\n \"hour12\",\n \"weekday\",\n \"era\",\n \"year\",\n \"month\",\n \"day\",\n \"hour\",\n \"minute\",\n \"second\",\n \"timeZoneName\",\n];\n/**\n * The implementation of the `DATETIME()` builtin available to translations.\n *\n * Translations may call the `DATETIME()` builtin in order to specify\n * formatting options of a number. For example:\n *\n * now = It's {DATETIME($today, month: \"long\")}.\n *\n * The implementation expects an array of `FluentValues` representing the\n * positional arguments, and an object of named `FluentValues` representing the\n * named parameters.\n *\n * The following options are recognized:\n *\n * dateStyle\n * timeStyle\n * fractionalSecondDigits\n * dayPeriod\n * hour12\n * weekday\n * era\n * year\n * month\n * day\n * hour\n * minute\n * second\n * timeZoneName\n *\n * Other options are ignored.\n *\n * @param args The positional arguments passed to this `DATETIME()`.\n * @param opts The named argments passed to this `DATETIME()`.\n */\nfunction DATETIME(args, opts) {\n let arg = args[0];\n if (arg instanceof FluentNone) {\n return new FluentNone(`DATETIME(${arg.valueOf()})`);\n }\n if (arg instanceof FluentDateTime) {\n return new FluentDateTime(arg.valueOf(), {\n ...arg.opts,\n ...values(opts, DATETIME_ALLOWED)\n });\n }\n if (arg instanceof FluentNumber) {\n return new FluentDateTime(arg.valueOf(), {\n ...values(opts, DATETIME_ALLOWED)\n });\n }\n throw new TypeError(\"Invalid argument to DATETIME\");\n}\n\nconst cache = new Map();\nfunction getMemoizerForLocale(locales) {\n const stringLocale = Array.isArray(locales) ? locales.join(\" \") : locales;\n let memoizer = cache.get(stringLocale);\n if (memoizer === undefined) {\n memoizer = new Map();\n cache.set(stringLocale, memoizer);\n }\n return memoizer;\n}\n\n/**\n * Message bundles are single-language stores of translation resources. They are\n * responsible for formatting message values and attributes to strings.\n */\nclass FluentBundle {\n /**\n * Create an instance of `FluentBundle`.\n *\n * The `locales` argument is used to instantiate `Intl` formatters used by\n * translations. The `options` object can be used to configure the bundle.\n *\n * Examples:\n *\n * let bundle = new FluentBundle([\"en-US\", \"en\"]);\n *\n * let bundle = new FluentBundle(locales, {useIsolating: false});\n *\n * let bundle = new FluentBundle(locales, {\n * useIsolating: true,\n * functions: {\n * NODE_ENV: () => process.env.NODE_ENV\n * }\n * });\n *\n * Available options:\n *\n * - `functions` - an object of additional functions available to\n * translations as builtins.\n *\n * - `useIsolating` - boolean specifying whether to use Unicode isolation\n * marks (FSI, PDI) for bidi interpolations. Default: `true`.\n *\n * - `transform` - a function used to transform string parts of patterns.\n */\n constructor(locales, { functions, useIsolating = true, transform = (v) => v } = {}) {\n this._terms = new Map();\n this._messages = new Map();\n this.locales = Array.isArray(locales) ? locales : [locales];\n this._functions = {\n NUMBER,\n DATETIME,\n ...functions\n };\n this._useIsolating = useIsolating;\n this._transform = transform;\n this._intls = getMemoizerForLocale(locales);\n }\n /**\n * Check if a message is present in the bundle.\n *\n * @param id - The identifier of the message to check.\n */\n hasMessage(id) {\n return this._messages.has(id);\n }\n /**\n * Return a raw unformatted message object from the bundle.\n *\n * Raw messages are `{value, attributes}` shapes containing translation units\n * called `Patterns`. `Patterns` are implementation-specific; they should be\n * treated as black boxes and formatted with `FluentBundle.formatPattern`.\n *\n * @param id - The identifier of the message to check.\n */\n getMessage(id) {\n return this._messages.get(id);\n }\n /**\n * Add a translation resource to the bundle.\n *\n * The translation resource must be an instance of `FluentResource`.\n *\n * let res = new FluentResource(\"foo = Foo\");\n * bundle.addResource(res);\n * bundle.getMessage(\"foo\");\n * // → {value: .., attributes: {..}}\n *\n * Available options:\n *\n * - `allowOverrides` - boolean specifying whether it's allowed to override\n * an existing message or term with a new value. Default: `false`.\n *\n * @param res - FluentResource object.\n * @param options\n */\n addResource(res, { allowOverrides = false } = {}) {\n const errors = [];\n for (let i = 0; i < res.body.length; i++) {\n let entry = res.body[i];\n if (entry.id.startsWith(\"-\")) {\n // Identifiers starting with a dash (-) define terms. Terms are private\n // and cannot be retrieved from FluentBundle.\n if (allowOverrides === false && this._terms.has(entry.id)) {\n errors.push(new Error(`Attempt to override an existing term: \"${entry.id}\"`));\n continue;\n }\n this._terms.set(entry.id, entry);\n }\n else {\n if (allowOverrides === false && this._messages.has(entry.id)) {\n errors.push(new Error(`Attempt to override an existing message: \"${entry.id}\"`));\n continue;\n }\n this._messages.set(entry.id, entry);\n }\n }\n return errors;\n }\n /**\n * Format a `Pattern` to a string.\n *\n * Format a raw `Pattern` into a string. `args` will be used to resolve\n * references to variables passed as arguments to the translation.\n *\n * In case of errors `formatPattern` will try to salvage as much of the\n * translation as possible and will still return a string. For performance\n * reasons, the encountered errors are not returned but instead are appended\n * to the `errors` array passed as the third argument.\n *\n * let errors = [];\n * bundle.addResource(\n * new FluentResource(\"hello = Hello, {$name}!\"));\n *\n * let hello = bundle.getMessage(\"hello\");\n * if (hello.value) {\n * bundle.formatPattern(hello.value, {name: \"Jane\"}, errors);\n * // Returns \"Hello, Jane!\" and `errors` is empty.\n *\n * bundle.formatPattern(hello.value, undefined, errors);\n * // Returns \"Hello, {$name}!\" and `errors` is now:\n * // [<ReferenceError: Unknown variable: name>]\n * }\n *\n * If `errors` is omitted, the first encountered error will be thrown.\n */\n formatPattern(pattern, args = null, errors = null) {\n // Resolve a simple pattern without creating a scope. No error handling is\n // required; by definition simple patterns don't have placeables.\n if (typeof pattern === \"string\") {\n return this._transform(pattern);\n }\n // Resolve a complex pattern.\n let scope = new Scope(this, errors, args);\n try {\n let value = resolveComplexPattern(scope, pattern);\n return value.toString(scope);\n }\n catch (err) {\n if (scope.errors && err instanceof Error) {\n scope.errors.push(err);\n return new FluentNone().toString(scope);\n }\n throw err;\n }\n }\n}\n\nexport { FluentBundle };\n//# sourceMappingURL=bundle-D0MjWrl5.js.map\n","import { computed, shallowRef, getCurrentInstance, watchEffect, defineComponent, h } from 'vue';\nimport { FluentBundle } from './bundle-D0MjWrl5.js';\n\n/*\n * Base CachedIterable class.\n */\nclass CachedIterable extends Array {\n /**\n * Create a `CachedIterable` instance from an iterable or, if another\n * instance of `CachedIterable` is passed, return it without any\n * modifications.\n *\n * @param {Iterable} iterable\n * @returns {CachedIterable}\n */\n static from(iterable) {\n if (iterable instanceof this) {\n return iterable;\n }\n\n return new this(iterable);\n }\n}\n\n/*\n * CachedSyncIterable caches the elements yielded by an iterable.\n *\n * It can be used to iterate over an iterable many times without depleting the\n * iterable.\n */\nclass CachedSyncIterable extends CachedIterable {\n /**\n * Create an `CachedSyncIterable` instance.\n *\n * @param {Iterable} iterable\n * @returns {CachedSyncIterable}\n */\n constructor(iterable) {\n super();\n\n if (Symbol.iterator in Object(iterable)) {\n this.iterator = iterable[Symbol.iterator]();\n } else {\n throw new TypeError(\"Argument must implement the iteration protocol.\");\n }\n }\n\n [Symbol.iterator]() {\n const cached = this;\n let cur = 0;\n\n return {\n next() {\n if (cached.length <= cur) {\n cached.push(cached.iterator.next());\n }\n return cached[cur++];\n }\n };\n }\n\n /**\n * This method allows user to consume the next element from the iterator\n * into the cache.\n *\n * @param {number} count - number of elements to consume\n */\n touchNext(count = 1) {\n let idx = 0;\n while (idx++ < count) {\n const last = this[this.length - 1];\n if (last && last.done) {\n break;\n }\n this.push(this.iterator.next());\n }\n // Return the last cached {value, done} object to allow the calling\n // code to decide if it needs to call touchNext again.\n return this[this.length - 1];\n }\n}\n\n/**\n * Synchronously map an identifier or an array of identifiers to the best\n * `FluentBundle` instance(s).\n *\n * @param bundles - An iterable of bundles to sift through.\n * @param ids - An id or ids to map.\n */\nfunction mapBundleSync(bundles, ids) {\n if (!Array.isArray(ids)) {\n return getBundleForId(bundles, ids);\n }\n return ids.map(id => getBundleForId(bundles, id));\n}\n/*\n * Find the best `FluentBundle` with the translation for `id`.\n */\nfunction getBundleForId(bundles, id) {\n for (const bundle of bundles) {\n if (bundle.hasMessage(id)) {\n return bundle;\n }\n }\n return null;\n}\n\n// src/composition.ts\nfunction inheritBundle(locale, parent) {\n const bundle = new FluentBundle(locale, {\n functions: parent._functions,\n useIsolating: parent._useIsolating,\n transform: parent._transform\n });\n bundle._terms = new Map(parent._terms);\n bundle._messages = new Map(parent._messages);\n return bundle;\n}\n\n// src/util/warn.ts\nfunction assert(condition, message) {\n if (!condition)\n throw new Error(`[fluent-vue] ${message}`);\n}\nfunction warn(message, ...args) {\n console.warn(`[fluent-vue] ${message}`, ...args);\n}\n\n// src/TranslationContext.ts\nvar TranslationContext = class {\n constructor(bundles, options) {\n this.options = options;\n this.format = (key, value) => {\n const context = this.getBundle(key);\n const message = this.getMessage(context, key);\n return this._format(context, message, value) ?? key;\n };\n this.formatAttrs = (key, value) => {\n const context = this.getBundle(key);\n const message = this.getMessage(context, key);\n return this._formatAttrs(context, message, value) ?? {};\n };\n this.formatWithAttrs = (key, value) => {\n const context = this.getBundle(key);\n const message = this.getMessage(context, key);\n const formatValue = this._format(context, message, value);\n return {\n value: formatValue ?? key,\n attributes: this._formatAttrs(context, message, value) ?? {},\n hasValue: formatValue !== null\n };\n };\n this.$t = this.format;\n this.$ta = this.formatAttrs;\n this.bundles = bundles;\n }\n getBundle(key) {\n return mapBundleSync(this.bundles.value, key);\n }\n getMessage(bundle, key) {\n const message = bundle == null ? void 0 : bundle.getMessage(key);\n if (message === void 0) {\n this.options.warnMissing(key);\n return null;\n }\n return message;\n }\n formatPattern(bundle, key, message, value) {\n const errors = [];\n const mappedValue = value;\n if (mappedValue != null && this.options.mapVariable != null) {\n for (const [key2, variable] of Object.entries(mappedValue)) {\n const mappedVariable = this.options.mapVariable(variable);\n if (mappedVariable != null)\n mappedValue[key2] = mappedVariable;\n }\n }\n const formatted = bundle.formatPattern(message, mappedValue, errors);\n for (const error of errors)\n warn(`Error when formatting message with key [${key}]`, error);\n return formatted;\n }\n _format(context, message, value) {\n if (context === null || message === null || message.value === null)\n return null;\n return this.formatPattern(context, message.id, message.value, value);\n }\n _formatAttrs(context, message, value) {\n if (context === null || message === null)\n return null;\n const result = {};\n for (const [attrName, attrValue] of Object.entries(message.attributes))\n result[attrName] = this.formatPattern(context, message.id, attrValue, value);\n return result;\n }\n};\n\n// src/getContext.ts\nfunction* flatMap(iterable, mapper) {\n for (const item of iterable)\n yield* mapper(item);\n}\nfunction getContext(rootContext, instance, fromSetup = false) {\n if (instance == null)\n return rootContext;\n const options = instance.$options;\n if (options._fluent != null)\n return options._fluent;\n const context = getMergedContext(rootContext, options.fluent);\n const isServer = typeof window === \"undefined\";\n if (!fromSetup && !isServer)\n options._fluent = context;\n return context;\n}\nfunction getMergedContext(rootContext, fluent) {\n if (fluent == null)\n return rootContext;\n const overriddenBundles = computed(\n () => CachedSyncIterable.from(\n flatMap(rootContext.bundles.value, (parentBundle) => Object.entries(fluent).map(([locale, resources]) => {\n const locales = locale.split(/[\\s+,]/);\n const matchingLocales = parentBundle.locales.filter((bundleLocale) => locales.includes(bundleLocale));\n if (matchingLocales.length === 0)\n return parentBundle;\n const bundle = inheritBundle(locales, parentBundle);\n bundle.addResource(resources, { allowOverrides: true });\n return bundle;\n }))\n )\n );\n return new TranslationContext(overriddenBundles, rootContext.options);\n}\n\n// src/symbols.ts\nvar RootContextSymbol = Symbol(\"root-context\");\n\nvar __create$1 = Object.create;\nvar __defProp$1 = Object.defineProperty;\nvar __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames$1 = Object.getOwnPropertyNames;\nvar __getProtoOf$1 = Object.getPrototypeOf;\nvar __hasOwnProp$1 = Object.prototype.hasOwnProperty;\nvar __esm$1 = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames$1(fn)[0]])(fn = 0)), res;\n};\nvar __commonJS$1 = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames$1(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps$1 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames$1(from))\n if (!__hasOwnProp$1.call(to, key) && key !== except)\n __defProp$1(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc$1(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM$1 = (mod, isNodeMode, target2) => (target2 = mod != null ? __create$1(__getProtoOf$1(mod)) : {}, __copyProps$1(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n __defProp$1(target2, \"default\", { value: mod, enumerable: true }) ,\n mod\n));\n\n// ../../node_modules/.pnpm/tsup@8.3.5_@microsoft+api-extractor@7.48.1_@types+node@22.10.5__jiti@2.4.2_postcss@8.4.49_tsx_s7k37zks4wtn7x2grzma6lrsfa/node_modules/tsup/assets/esm_shims.js\nvar init_esm_shims$1 = __esm$1({\n \"../../node_modules/.pnpm/tsup@8.3.5_@microsoft+api-extractor@7.48.1_@types+node@22.10.5__jiti@2.4.2_postcss@8.4.49_tsx_s7k37zks4wtn7x2grzma6lrsfa/node_modules/tsup/assets/esm_shims.js\"() {\n }\n});\n\n// ../../node_modules/.pnpm/rfdc@1.4.1/node_modules/rfdc/index.js\nvar require_rfdc = __commonJS$1({\n \"../../node_modules/.pnpm/rfdc@1.4.1/node_modules/rfdc/index.js\"(exports, module) {\n init_esm_shims$1();\n module.exports = rfdc2;\n function copyBuffer(cur) {\n if (cur instanceof Buffer) {\n return Buffer.from(cur);\n }\n return new cur.constructor(cur.buffer.slice(), cur.byteOffset, cur.length);\n }\n function rfdc2(opts) {\n opts = opts || {};\n if (opts.circles) return rfdcCircles(opts);\n const constructorHandlers = /* @__PURE__ */ new Map();\n constructorHandlers.set(Date, (o) => new Date(o));\n constructorHandlers.set(Map, (o, fn) => new Map(cloneArray(Array.from(o), fn)));\n constructorHandlers.set(Set, (o, fn) => new Set(cloneArray(Array.from(o), fn)));\n if (opts.constructorHandlers) {\n for (const handler2 of opts.constructorHandlers) {\n constructorHandlers.set(handler2[0], handler2[1]);\n }\n }\n let handler = null;\n return opts.proto ? cloneProto : clone;\n function cloneArray(a, fn) {\n const keys = Object.keys(a);\n const a2 = new Array(keys.length);\n for (let i = 0; i < keys.length; i++) {\n const k = keys[i];\n const cur = a[k];\n if (typeof cur !== \"object\" || cur === null) {\n a2[k] = cur;\n } else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) {\n a2[k] = handler(cur, fn);\n } else if (ArrayBuffer.isView(cur)) {\n a2[k] = copyBuffer(cur);\n } else {\n a2[k] = fn(cur);\n }\n }\n return a2;\n }\n function clone(o) {\n if (typeof o !== \"object\" || o === null) return o;\n if (Array.isArray(o)) return cloneArray(o, clone);\n if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) {\n return handler(o, clone);\n }\n const o2 = {};\n for (const k in o) {\n if (Object.hasOwnProperty.call(o, k) === false) continue;\n const cur = o[k];\n if (typeof cur !== \"object\" || cur === null) {\n o2[k] = cur;\n } else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) {\n o2[k] = handler(cur, clone);\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur);\n } else {\n o2[k] = clone(cur);\n }\n }\n return o2;\n }\n function cloneProto(o) {\n if (typeof o !== \"object\" || o === null) return o;\n if (Array.isArray(o)) return cloneArray(o, cloneProto);\n if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) {\n return handler(o, cloneProto);\n }\n const o2 = {};\n for (const k in o) {\n const cur = o[k];\n if (typeof cur !== \"object\" || cur === null) {\n o2[k] = cur;\n } else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) {\n o2[k] = handler(cur, cloneProto);\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur);\n } else {\n o2[k] = cloneProto(cur);\n }\n }\n return o2;\n }\n }\n function rfdcCircles(opts) {\n const refs = [];\n const refsNew = [];\n const constructorHandlers = /* @__PURE__ */ new Map();\n constructorHandlers.set(Date, (o) => new Date(o));\n constructorHandlers.set(Map, (o, fn) => new Map(cloneArray(Array.from(o), fn)));\n constructorHandlers.set(Set, (o, fn) => new Set(cloneArray(Array.from(o), fn)));\n if (opts.constructorHandlers) {\n for (const handler2 of opts.constructorHandlers) {\n constructorHandlers.set(handler2[0], handler2[1]);\n }\n }\n let handler = null;\n return opts.proto ? cloneProto : clone;\n function cloneArray(a, fn) {\n const keys = Object.keys(a);\n const a2 = new Array(keys.length);\n for (let i = 0; i < keys.length; i++) {\n const k = keys[i];\n const cur = a[k];\n if (typeof cur !== \"object\" || cur === null) {\n a2[k] = cur;\n } else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) {\n a2[k] = handler(cur, fn);\n } else if (ArrayBuffer.isView(cur)) {\n a2[k] = copyBuffer(cur);\n } else {\n const index = refs.indexOf(cur);\n if (index !== -1) {\n a2[k] = refsNew[index];\n } else {\n a2[k] = fn(cur);\n }\n }\n }\n return a2;\n }\n function clone(o) {\n if (typeof o !== \"object\" || o === null) return o;\n if (Array.isArray(o)) return cloneArray(o, clone);\n if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) {\n return handler(o, clone);\n }\n const o2 = {};\n refs.push(o);\n refsNew.push(o2);\n for (const k in o) {\n if (Object.hasOwnProperty.call(o, k) === false) continue;\n const cur = o[k];\n if (typeof cur !== \"object\" || cur === null) {\n o2[k] = cur;\n } else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) {\n o2[k] = handler(cur, clone);\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur);\n } else {\n const i = refs.indexOf(cur);\n if (i !== -1) {\n o2[k] = refsNew[i];\n } else {\n o2[k] = clone(cur);\n }\n }\n }\n refs.pop();\n refsNew.pop();\n return o2;\n }\n function cloneProto(o) {\n if (typeof o !== \"object\" || o === null) return o;\n if (Array.isArray(o)) return cloneArray(o, cloneProto);\n if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) {\n return handler(o, cloneProto);\n }\n const o2 = {};\n refs.push(o);\n refsNew.push(o2);\n for (const k in o) {\n const cur = o[k];\n if (typeof cur !== \"object\" || cur === null) {\n o2[k] = cur;\n } else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) {\n o2[k] = handler(cur, cloneProto);\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur);\n } else {\n const i = refs.indexOf(cur);\n if (i !== -1) {\n o2[k] = refsNew[i];\n } else {\n o2[k] = cloneProto(cur);\n }\n }\n }\n refs.pop();\n refsNew.pop();\n return o2;\n }\n }\n }\n});\n\n// src/index.ts\ninit_esm_shims$1();\n\n// src/constants.ts\ninit_esm_shims$1();\n\n// src/env.ts\ninit_esm_shims$1();\nvar isBrowser = typeof navigator !== \"undefined\";\nvar target = typeof window !== \"undefined\" ? window : typeof globalThis !== \"undefined\" ? globalThis : typeof global !== \"undefined\" ? global : {};\nvar _a$1;\ntypeof navigator !== \"undefined\" && ((_a$1 = navigator.userAgent) == null ? void 0 : _a$1.toLowerCase().includes(\"electron\"));\n\n// src/general.ts\ninit_esm_shims$1();\nvar import_rfdc = __toESM$1(require_rfdc());\nvar classifyRE = /(?:^|[-_/])(\\w)/g;\nfunction toUpper(_, c) {\n return c ? c.toUpperCase() : \"\";\n}\nfunction classify(str) {\n return str && `${str}`.replace(classifyRE, toUpper);\n}\nfunction basename(filename, ext) {\n let normalizedFilename = filename.replace(/^[a-z]:/i, \"\").replace(/\\\\/g, \"/\");\n if (normalizedFilename.endsWith(`index${ext}`)) {\n normalizedFilename = normalizedFilename.replace(`/index${ext}`, ext);\n }\n const lastSlashIndex = normalizedFilename.lastIndexOf(\"/\");\n const baseNameWithExt = normalizedFilename.substring(lastSlashIndex + 1);\n {\n const extIndex = baseNameWithExt.lastIndexOf(ext);\n return baseNameWithExt.substring(0, extIndex);\n }\n}\nvar deepClone = (0, import_rfdc.default)({ circles: true });\n\nconst DEBOUNCE_DEFAULTS = {\n trailing: true\n};\nfunction debounce(fn, wait = 25, options = {}) {\n options = { ...DEBOUNCE_DEFAULTS, ...options };\n if (!Number.isFinite(wait)) {\n throw new TypeError(\"Expected `wait` to be a finite number\");\n }\n let leadingValue;\n let timeout;\n let resolveList = [];\n let currentPromise;\n let trailingArgs;\n const applyFn = (_this, args) => {\n currentPromise = _applyPromised(fn, _this, args);\n currentPromise.finally(() => {\n currentPromise = null;\n if (options.trailing && trailingArgs && !timeout) {\n const promise = applyFn(_this, trailingArgs);\n trailingArgs = null;\n return promise;\n }\n });\n return currentPromise;\n };\n return function(...args) {\n if (currentPromise) {\n if (options.trailing) {\n trailingArgs = args;\n }\n return currentPromise;\n }\n return new Promise((resolve) => {\n const shouldCallNow = !timeout && options.leading;\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n timeout = null;\n const promise = options.leading ? leadingValue : applyFn(this, args);\n for (const _resolve of resolveList) {\n _resolve(promise);\n }\n resolveList = [];\n }, wait);\n if (shouldCallNow) {\n leadingValue = applyFn(this, args);\n resolve(leadingValue);\n } else {\n resolveList.push(resolve);\n }\n });\n };\n}\nasync function _applyPromised(fn, _this, args) {\n return await fn.apply(_this, args);\n}\n\nfunction flatHooks(configHooks, hooks = {}, parentName) {\n for (const key in configHooks) {\n const subHook = configHooks[key];\n const name = parentName ? `${parentName}:${key}` : key;\n if (typeof subHook === \"object\" && subHook !== null) {\n flatHooks(subHook, hooks, name);\n } else if (typeof subHook === \"function\") {\n hooks[name] = subHook;\n }\n }\n return hooks;\n}\nconst defaultTask = { run: (function_) => function_() };\nconst _createTask = () => defaultTask;\nconst createTask = typeof console.createTask !== \"undefined\" ? console.createTask : _createTask;\nfunction serialTaskCaller(hooks, args) {\n const name = args.shift();\n const task = createTask(name);\n return hooks.reduce(\n (promise, hookFunction) => promise.then(() => task.run(() => hookFunction(...args))),\n Promise.resolve()\n );\n}\nfunction parallelTaskCaller(hooks, args) {\n const name = args.shift();\n const task = createTask(name);\n return Promise.all(hooks.map((hook) => task.run(() => hook(...args))));\n}\nfunction callEachWith(callbacks, arg0) {\n for (const callback of [...callbacks]) {\n callback(arg0);\n }\n}\n\nclass Hookable {\n constructor() {\n this._hooks = {};\n this._before = void 0;\n this._after = void 0;\n this._deprecatedMessages = void 0;\n this._deprecatedHooks = {};\n this.hook = this.hook.bind(this);\n this.callHook = this.callHook.bind(this);\n this.callHookWith = this.callHookWith.bind(this);\n }\n hook(name, function_, options = {}) {\n if (!name || typeof function_ !== \"function\") {\n return () => {\n };\n }\n const originalName = name;\n let dep;\n while (this._deprecatedHooks[name]) {\n dep = this._deprecatedHooks[name];\n name = dep.to;\n }\n if (dep && !options.allowDeprecated) {\n let message = dep.message;\n if (!message) {\n message = `${originalName} hook has been deprecated` + (dep.to ? `, please use ${dep.to}` : \"\");\n }\n if (!this._deprecatedMessages) {\n this._deprecatedMessages = /* @__PURE__ */ new Set();\n }\n if (!this._deprecatedMessages.has(message)) {\n console.warn(message);\n this._deprecatedMessages.add(message);\n }\n }\n if (!function_.name) {\n try {\n Object.defineProperty(function_, \"name\", {\n get: () => \"_\" + name.replace(/\\W+/g, \"_\") + \"_hook_cb\",\n configurable: true\n });\n } catch {\n }\n }\n this._hooks[name] = this._hooks[name] || [];\n this._hooks[name].push(function_);\n return () => {\n if (function_) {\n this.removeHook(name, function_);\n function_ = void 0;\n }\n };\n }\n hookOnce(name, function_) {\n let _unreg;\n let _function = (...arguments_) => {\n if (typeof _unreg === \"function\") {\n _unreg();\n }\n _unreg = void 0;\n _function = void 0;\n return function_(...arguments_);\n };\n _unreg = this.hook(name, _function);\n return _unreg;\n }\n removeHook(name, function_) {\n if (this._hooks[name]) {\n const index = this._hooks[name].indexOf(function_);\n if (index !== -1) {\n this._hooks[name].splice(index, 1);\n }\n if (this._hooks[name].length === 0) {\n delete this._hooks[name];\n }\n }\n }\n deprecateHook(name, deprecated) {\n this._deprecatedHooks[name] = typeof deprecated === \"string\" ? { to: deprecated } : deprecated;\n const _hooks = this._hooks[name] || [];\n delete this._hooks[name];\n for (const hook of _hooks) {\n this.hook(name, hook);\n }\n }\n deprecateHooks(deprecatedHooks) {\n Object.assign(this._deprecatedHooks, deprecatedHooks);\n for (const name in deprecatedHooks) {\n this.deprecateHook(name, deprecatedHooks[name]);\n }\n }\n addHooks(configHooks) {\n const hooks = flatHooks(configHooks);\n const removeFns = Object.keys(hooks).map(\n (key) => this.hook(key, hooks[key])\n );\n return () => {\n for (const unreg of removeFns.splice(0, removeFns.length)) {\n unreg();\n }\n };\n }\n removeHooks(configHooks) {\n const hooks = flatHooks(configHooks);\n for (const key in hooks) {\n this.removeHook(key, hooks[key]);\n }\n }\n removeAllHooks() {\n for (const key in this._hooks) {\n delete this._hooks[key];\n }\n }\n callHook(name, ...arguments_) {\n arguments_.unshift(name);\n return this.callHookWith(serialTaskCaller, name, ...arguments_);\n }\n callHookParallel(name, ...arguments_) {\n arguments_.unshift(name);\n return this.callHookWith(parallelTaskCaller, name, ...arguments_);\n }\n callHookWith(caller, name, ...arguments_) {\n const event = this._before || this._after ? { name, args: arguments_, context: {} } : void 0;\n if (this._before) {\n callEachWith(this._before, event);\n }\n const result = caller(\n name in this._hooks ? [...this._hooks[name]] : [],\n arguments_\n );\n if (result instanceof Promise) {\n return result.finally(() => {\n if (this._after && event) {\n callEachWith(this._after, event);\n }\n });\n }\n if (this._after && event) {\n callEachWith(this._after, event);\n }\n return result;\n }\n beforeEach(function_) {\n this._before = this._before || [];\n this._before.push(function_);\n return () => {\n if (this._before !== void 0) {\n const index = this._before.indexOf(function_);\n if (index !== -1) {\n this._before.splice(index, 1);\n }\n }\n };\n }\n afterEach(function_) {\n this._after = this._after || [];\n this._after.push(function_);\n return () => {\n if (this._after !== void 0) {\n const index = this._after.indexOf(function_);\n if (index !== -1) {\n this._after.splice(index, 1);\n }\n }\n };\n }\n}\nfunction createHooks() {\n return new Hookable();\n}\n\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __esm = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target22) => (target22 = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n __defProp(target22, \"default\", { value: mod, enumerable: true }) ,\n mod\n));\n\n// ../../node_modules/.pnpm/tsup@8.3.5_@microsoft+api-extractor@7.48.1_@types+node@22.10.5__jiti@2.4.2_postcss@8.4.49_tsx_s7k37zks4wtn7x2grzma6lrsfa/node_modules/tsup/assets/esm_shims.js\nvar init_esm_shims = __esm({\n \"../../node_modules/.pnpm/tsup@8.3.5_@microsoft+api-extractor@7.48.1_@types+node@22.10.5__jiti@2.4.2_postcss@8.4.49_tsx_s7k37zks4wtn7x2grzma6lrsfa/node_modules/tsup/assets/esm_shims.js\"() {\n }\n});\n\n// ../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/lib/speakingurl.js\nvar require_speakingurl = __commonJS({\n \"../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/lib/speakingurl.js\"(exports, module) {\n init_esm_shims();\n (function(root) {\n var charMap = {\n // latin\n \"\\xC0\": \"A\",\n \"\\xC1\": \"A\",\n \"\\xC2\": \"A\",\n \"\\xC3\": \"A\",\n \"\\xC4\": \"Ae\",\n \"\\xC5\": \"A\",\n \"\\xC6\": \"AE\",\n \"\\xC7\": \"C\",\n \"\\xC8\": \"E\",\n \"\\xC9\": \"E\",\n \"\\xCA\": \"E\",\n \"\\xCB\": \"E\",\n \"\\xCC\": \"I\",\n \"\\xCD\": \"I\",\n \"\\xCE\": \"I\",\n \"\\xCF\": \"I\",\n \"\\xD0\": \"D\",\n \"\\xD1\": \"N\",\n \"\\xD2\": \"O\",\n \"\\xD3\": \"O\",\n \"\\xD4\": \"O\",\n \"\\xD5\": \"O\",\n \"\\xD6\": \"Oe\",\n \"\\u0150\": \"O\",\n \"\\xD8\": \"O\",\n \"\\xD9\": \"U\",\n \"\\xDA\": \"U\",\n \"\\xDB\": \"U\",\n \"\\xDC\": \"Ue\",\n \"\\u0170\": \"U\",\n \"\\xDD\": \"Y\",\n \"\\xDE\": \"TH\",\n \"\\xDF\": \"ss\",\n \"\\xE0\": \"a\",\n \"\\xE1\": \"a\",\n \"\\xE2\": \"a\",\n \"\\xE3\": \"a\",\n \"\\xE4\": \"ae\",\n \"\\xE5\": \"a\",\n \"\\xE6\": \"ae\",\n \"\\xE7\": \"c\",\n \"\\xE8\": \"e\",\n \"\\xE9\": \"e\",\n \"\\xEA\": \"e\",\n \"\\xEB\": \"e\",\n \"\\xEC\": \"i\",\n \"\\xED\": \"i\",\n \"\\xEE\": \"i\",\n \"\\xEF\": \"i\",\n \"\\xF0\": \"d\",\n \"\\xF1\": \"n\",\n \"\\xF2\": \"o\",\n \"\\xF3\": \"o\",\n \"\\xF4\": \"o\",\n \"\\xF5\": \"o\",\n \"\\xF6\": \"oe\",\n \"\\u0151\": \"o\",\n \"\\xF8\": \"o\",\n \"\\xF9\": \"u\",\n \"\\xFA\": \"u\",\n \"\\xFB\": \"u\",\n \"\\xFC\": \"ue\",\n \"\\u0171\": \"u\",\n \"\\xFD\": \"y\",\n \"\\xFE\": \"th\",\n \"\\xFF\": \"y\",\n \"\\u1E9E\": \"SS\",\n // language specific\n // Arabic\n \"\\u0627\": \"a\",\n \"\\u0623\": \"a\",\n \"\\u0625\": \"i\",\n \"\\u0622\": \"aa\",\n \"\\u0624\": \"u\",\n \"\\u0626\": \"e\",\n \"\\u0621\": \"a\",\n \"\\u0628\": \"b\",\n \"\\u062A\": \"t\",\n \"\\u062B\": \"th\",\n \"\\u062C\": \"j\",\n \"\\u062D\": \"h\",\n \"\\u062E\": \"kh\",\n \"\\u062F\": \"d\",\n \"\\u0630\": \"th\",\n \"\\u0631\": \"r\",\n \"\\u0632\": \"z\",\n \"\\u0633\": \"s\",\n \"\\u0634\": \"sh\",\n \"\\u0635\": \"s\",\n \"\\u0636\": \"dh\",\n \"\\u0637\": \"t\",\n \"\\u0638\": \"z\",\n \"\\u0639\": \"a\",\n \"\\u063A\": \"gh\",\n \"\\u0641\": \"f\",\n \"\\u0642\": \"q\",\n \"\\u0643\": \"k\",\n \"\\u0644\": \"l\",\n \"\\u0645\": \"m\",\n \"\\u0646\": \"n\",\n \"\\u0647\": \"h\",\n \"\\u0648\": \"w\",\n \"\\u064A\": \"y\",\n \"\\u0649\": \"a\",\n \"\\u0629\": \"h\",\n \"\\uFEFB\": \"la\",\n \"\\uFEF7\": \"laa\",\n \"\\uFEF9\": \"lai\",\n \"\\uFEF5\": \"laa\",\n // Persian additional characters than Arabic\n \"\\u06AF\": \"g\",\n \"\\u0686\": \"ch\",\n \"\\u067E\": \"p\",\n \"\\u0698\": \"zh\",\n \"\\u06A9\": \"k\",\n \"\\u06CC\": \"y\",\n // Arabic diactrics\n \"\\u064E\": \"a\",\n \"\\u064B\": \"an\",\n \"\\u0650\": \"e\",\n \"\\u064D\": \"en\",\n \"\\u064F\": \"u\",\n \"\\u064C\": \"on\",\n \"\\u0652\": \"\",\n // Arabic numbers\n \"\\u0660\": \"0\",\n \"\\u0661\": \"1\",\n \"\\u0662\": \"2\",\n \"\\u0663\": \"3\",\n \"\\u0664\": \"4\",\n \"\\u0665\": \"5\",\n \"\\u0666\": \"6\",\n \"\\u0667\": \"7\",\n \"\\u0668\": \"8\",\n \"\\u0669\": \"9\",\n // Persian numbers\n \"\\u06F0\": \"0\",\n \"\\u06F1\": \"1\",\n \"\\u06F2\": \"2\",\n \"\\u06F3\": \"3\",\n \"\\u06F4\": \"4\",\n \"\\u06F5\": \"5\",\n \"\\u06F6\": \"6\",\n \"\\u06F7\": \"7\",\n \"\\u06F8\": \"8\",\n \"\\u06F9\": \"9\",\n // Burmese consonants\n \"\\u1000\": \"k\",\n \"\\u1001\": \"kh\",\n \"\\u1002\": \"g\",\n \"\\u1003\": \"ga\",\n \"\\u1004\": \"ng\",\n \"\\u1005\": \"s\",\n \"\\u1006\": \"sa\",\n \"\\u1007\": \"z\",\n \"\\u1005\\u103B\": \"za\",\n \"\\u100A\": \"ny\",\n \"\\u100B\": \"t\",\n \"\\u100C\": \"ta\",\n \"\\u100D\": \"d\",\n \"\\u100E\": \"da\",\n \"\\u100F\": \"na\",\n \"\\u1010\": \"t\",\n \"\\u1011\": \"ta\",\n \"\\u1012\": \"d\",\n \"\\u1013\": \"da\",\n \"\\u1014\": \"n\",\n \"\\u1015\": \"p\",\n \"\\u1016\": \"pa\",\n \"\\u1017\": \"b\",\n \"\\u1018\": \"ba\",\n \"\\u1019\": \"m\",\n \"\\u101A\": \"y\",\n \"\\u101B\": \"ya\",\n \"\\u101C\": \"l\",\n \"\\u101D\": \"w\",\n \"\\u101E\": \"th\",\n \"\\u101F\": \"h\",\n \"\\u1020\": \"la\",\n \"\\u1021\": \"a\",\n // consonant character combos\n \"\\u103C\": \"y\",\n \"\\u103B\": \"ya\",\n \"\\u103D\": \"w\",\n \"\\u103C\\u103D\": \"yw\",\n \"\\u103B\\u103D\": \"ywa\",\n \"\\u103E\": \"h\",\n // independent vowels\n \"\\u1027\": \"e\",\n \"\\u104F\": \"-e\",\n \"\\u1023\": \"i\",\n \"\\u1024\": \"-i\",\n \"\\u1009\": \"u\",\n \"\\u1026\": \"-u\",\n \"\\u1029\": \"aw\",\n \"\\u101E\\u103C\\u1031\\u102C\": \"aw\",\n \"\\u102A\": \"aw\",\n // numbers\n \"\\u1040\": \"0\",\n \"\\u1041\": \"1\",\n \"\\u1042\": \"2\",\n \"\\u1043\": \"3\",\n \"\\u1044\": \"4\",\n \"\\u1045\": \"5\",\n \"\\u1046\": \"6\",\n \"\\u1047\": \"7\",\n \"\\u1048\": \"8\",\n \"\\u1049\": \"9\",\n // virama and tone marks which are silent in transliteration\n \"\\u1039\": \"\",\n \"\\u1037\": \"\",\n \"\\u1038\": \"\",\n // Czech\n \"\\u010D\": \"c\",\n \"\\u010F\": \"d\",\n \"\\u011B\": \"e\",\n \"\\u0148\": \"n\",\n \"\\u0159\": \"r\",\n \"\\u0161\": \"s\",\n \"\\u0165\": \"t\",\n \"\\u016F\": \"u\",\n \"\\u017E\": \"z\",\n \"\\u010C\": \"C\",\n \"\\u010E\": \"D\",\n \"\\u011A\": \"E\",\n \"\\u0147\": \"N\",\n \"\\u0158\": \"R\",\n \"\\u0160\": \"S\",\n \"\\u0164\": \"T\",\n \"\\u016E\": \"U\",\n \"\\u017D\": \"Z\",\n // Dhivehi\n \"\\u0780\": \"h\",\n \"\\u0781\": \"sh\",\n \"\\u0782\": \"n\",\n \"\\u0783\": \"r\",\n \"\\u0784\": \"b\",\n \"\\u0785\": \"lh\",\n \"\\u0786\": \"k\",\n \"\\u0787\": \"a\",\n \"\\u0788\": \"v\",\n \"\\u0789\": \"m\",\n \"\\u078A\": \"f\",\n \"\\u078B\": \"dh\",\n \"\\u078C\": \"th\",\n \"\\u078D\": \"l\",\n \"\\u078E\": \"g\",\n \"\\u078F\": \"gn\",\n \"\\u0790\": \"s\",\n \"\\u0791\": \"d\",\n \"\\u0792\": \"z\",\n \"\\u0793\": \"t\",\n \"\\u0794\": \"y\",\n \"\\u0795\": \"p\",\n \"\\u0796\": \"j\",\n \"\\u0797\": \"ch\",\n \"\\u0798\": \"tt\",\n \"\\u0799\": \"hh\",\n \"\\u079A\": \"kh\",\n \"\\u079B\": \"th\",\n \"\\u079C\": \"z\",\n \"\\u079D\": \"sh\",\n \"\\u079E\": \"s\",\n \"\\u079F\": \"d\",\n \"\\u07A0\": \"t\",\n \"\\u07A1\": \"z\",\n \"\\u07A2\": \"a\",\n \"\\u07A3\": \"gh\",\n \"\\u07A4\": \"q\",\n \"\\u07A5\": \"w\",\n \"\\u07A6\": \"a\",\n \"\\u07A7\": \"aa\",\n \"\\u07A8\": \"i\",\n \"\\u07A9\": \"ee\",\n \"\\u07AA\": \"u\",\n \"\\u07AB\": \"oo\",\n \"\\u07AC\": \"e\",\n \"\\u07AD\": \"ey\",\n \"\\u07AE\": \"o\",\n \"\\u07AF\": \"oa\",\n \"\\u07B0\": \"\",\n // Georgian https://en.wikipedia.org/wiki/Romanization_of_Georgian\n // National system (2002)\n \"\\u10D0\": \"a\",\n \"\\u10D1\": \"b\",\n \"\\u10D2\": \"g\",\n \"\\u10D3\": \"d\",\n \"\\u10D4\": \"e\",\n \"\\u10D5\": \"v\",\n \"\\u10D6\": \"z\",\n \"\\u10D7\": \"t\",\n \"\\u10D8\": \"i\",\n \"\\u10D9\": \"k\",\n \"\\u10DA\": \"l\",\n \"\\u10DB\": \"m\",\n \"\\u10DC\": \"n\",\n \"\\u10DD\": \"o\",\n \"\\u10DE\": \"p\",\n \"\\u10DF\": \"zh\",\n \"\\u10E0\": \"r\",\n \"\\u10E1\": \"s\",\n \"\\u10E2\": \"t\",\n \"\\u10E3\": \"u\",\n \"\\u10E4\": \"p\",\n \"\\u10E5\": \"k\",\n \"\\u10E6\": \"gh\",\n \"\\u10E7\": \"q\",\n \"\\u10E8\": \"sh\",\n \"\\u10E9\": \"ch\",\n \"\\u10EA\": \"ts\",\n \"\\u10EB\": \"dz\",\n \"\\u10EC\": \"ts\",\n \"\\u10ED\": \"ch\",\n \"\\u10EE\": \"kh\",\n \"\\u10EF\": \"j\",\n \"\\u10F0\": \"h\",\n // Greek\n \"\\u03B1\": \"a\",\n \"\\u03B2\": \"v\",\n \"\\u03B3\": \"g\",\n \"\\u03B4\": \"d\",\n \"\\u03B5\": \"e\",\n \"\\u03B6\": \"z\",\n \"\\u03B7\": \"i\",\n \"\\u03B8\": \"th\",\n \"\\u03B9\": \"i\",\n \"\\u03BA\": \"k\",\n \"\\u03BB\": \"l\",\n \"\\u03BC\": \"m\",\n \"\\u03BD\": \"n\",\n \"\\u03BE\": \"ks\",\n \"\\u03BF\": \"o\",\n \"\\u03C0\": \"p\",\n \"\\u03C1\": \"r\",\n \"\\u03C3\": \"s\",\n \"\\u03C4\": \"t\",\n \"\\u03C5\": \"y\",\n \"\\u03C6\": \"f\",\n \"\\u03C7\": \"x\",\n \"\\u03C8\": \"ps\",\n \"\\u03C9\": \"o\",\n \"\\u03AC\": \"a\",\n \"\\u03AD\": \"e\",\n \"\\u03AF\": \"i\",\n \"\\u03CC\": \"o\",\n \"\\u03CD\": \"y\",\n \"\\u03AE\": \"i\",\n \"\\u03CE\": \"o\",\n \"\\u03C2\": \"s\",\n \"\\u03CA\": \"i\",\n \"\\u03B0\": \"y\",\n \"\\u03CB\": \"y\",\n \"\\u0390\": \"i\",\n \"\\u0391\": \"A\",\n \"\\u0392\": \"B\",\n \"\\u0393\": \"G\",\n \"\\u0394\": \"D\",\n \"\\u0395\": \"E\",\n \"\\u0396\": \"Z\",\n \"\\u0397\": \"I\",\n \"\\u0398\": \"TH\",\n \"\\u0399\": \"I\",\n \"\\u039A\": \"K\",\n \"\\u039B\": \"L\",\n \"\\u039C\": \"M\",\n \"\\u039D\": \"N\",\n \"\\u039E\": \"KS\",\n \"\\u039F\": \"O\",\n \"\\u03A0\": \"P\",\n \"\\u03A1\": \"R\",\n \"\\u03A3\": \"S\",\n \"\\u03A4\": \"T\",\n \"\\u03A5\": \"Y\",\n \"\\u03A6\": \"F\",\n \"\\u03A7\": \"X\",\n \"\\u03A8\": \"PS\",\n \"\\u03A9\": \"O\",\n \"\\u0386\": \"A\",\n \"\\u0388\": \"E\",\n \"\\u038A\": \"I\",\n \"\\u038C\": \"O\",\n \"\\u038E\": \"Y\",\n \"\\u0389\": \"I\",\n \"\\u038F\": \"O\",\n \"\\u03AA\": \"I\",\n \"\\u03AB\": \"Y\",\n // Latvian\n \"\\u0101\": \"a\",\n // 'č': 'c', // duplicate\n \"\\u0113\": \"e\",\n \"\\u0123\": \"g\",\n \"\\u012B\": \"i\",\n \"\\u0137\": \"k\",\n \"\\u013C\": \"l\",\n \"\\u0146\": \"n\",\n // 'š': 's', // duplicate\n \"\\u016B\": \"u\",\n // 'ž': 'z', // duplicate\n \"\\u0100\": \"A\",\n // 'Č': 'C', // duplicate\n \"\\u0112\": \"E\",\n \"\\u0122\": \"G\",\n \"\\u012A\": \"I\",\n \"\\u0136\": \"k\",\n \"\\u013B\": \"L\",\n \"\\u0145\": \"N\",\n // 'Š': 'S', // duplicate\n \"\\u016A\": \"U\",\n // 'Ž': 'Z', // duplicate\n // Macedonian\n \"\\u040C\": \"Kj\",\n \"\\u045C\": \"kj\",\n \"\\u0409\": \"Lj\",\n \"\\u0459\": \"lj\",\n \"\\u040A\": \"Nj\",\n \"\\u045A\": \"nj\",\n \"\\u0422\\u0441\": \"Ts\",\n \"\\u0442\\u0441\": \"ts\",\n // Polish\n \"\\u0105\": \"a\",\n \"\\u0107\": \"c\",\n \"\\u0119\": \"e\",\n \"\\u0142\": \"l\",\n \"\\u0144\": \"n\",\n // 'ó': 'o', // duplicate\n \"\\u015B\": \"s\",\n \"\\u017A\": \"z\",\n \"\\u017C\": \"z\",\n \"\\u0104\": \"A\",\n \"\\u0106\": \"C\",\n \"\\u0118\": \"E\",\n \"\\u0141\": \"L\",\n \"\\u0143\": \"N\",\n \"\\u015A\": \"S\",\n \"\\u0179\": \"Z\",\n \"\\u017B\": \"Z\",\n // Ukranian\n \"\\u0404\": \"Ye\",\n \"\\u0406\": \"I\",\n \"\\u0407\": \"Yi\",\n \"\\u0490\": \"G\",\n \"\\u0454\": \"ye\",\n \"\\u0456\": \"i\",\n \"\\u0457\": \"yi\",\n \"\\u0491\": \"g\",\n // Romanian\n \"\\u0103\": \"a\",\n \"\\u0102\": \"A\",\n \"\\u0219\": \"s\",\n \"\\u0218\": \"S\",\n // 'ş': 's', // duplicate\n // 'Ş': 'S', // duplicate\n \"\\u021B\": \"t\",\n \"\\u021A\": \"T\",\n \"\\u0163\": \"t\",\n \"\\u0162\": \"T\",\n // Russian https://en.wikipedia.org/wiki/Romanization_of_Russian\n // ICAO\n \"\\u0430\": \"a\",\n \"\\u0431\": \"b\",\n \"\\u0432\": \"v\",\n \"\\u0433\": \"g\",\n \"\\u0434\": \"d\",\n \"\\u0435\": \"e\",\n \"\\u0451\": \"yo\",\n \"\\u0436\": \"zh\",\n \"\\u0437\": \"z\",\n \"\\u0438\": \"i\",\n \"\\u0439\": \"i\",\n \"\\u043A\": \"k\",\n \"\\u043B\": \"l\",\n \"\\u043C\": \"m\",\n \"\\u043D\": \"n\",\n \"\\u043E\": \"o\",\n \"\\u043F\": \"p\",\n \"\\u0440\": \"r\",\n \"\\u0441\": \"s\",\n \"\\u0442\": \"t\",\n \"\\u0443\": \"u\",\n \"\\u0444\": \"f\",\n \"\\u0445\": \"kh\",\n \"\\u0446\": \"c\",\n \"\\u0447\": \"ch\",\n \"\\u0448\": \"sh\",\n \"\\u0449\": \"sh\",\n \"\\u044A\": \"\",\n \"\\u044B\": \"y\",\n \"\\u044C\": \"\",\n \"\\u044D\": \"e\",\n \"\\u044E\": \"yu\",\n \"\\u044F\": \"ya\",\n \"\\u0410\": \"A\",\n \"\\u0411\": \"B\",\n \"\\u0412\": \"V\",\n \"\\u0413\": \"G\",\n \"\\u0414\": \"D\",\n \"\\u0415\": \"E\",\n \"\\u0401\": \"Yo\",\n \"\\u0416\": \"Zh\",\n \"\\u0417\": \"Z\",\n \"\\u0418\": \"I\",\n \"\\u0419\": \"I\",\n \"\\u041A\": \"K\",\n \"\\u041B\": \"L\",\n \"\\u041C\": \"M\",\n \"\\u041D\": \"N\",\n \"\\u041E\": \"O\",\n \"\\u041F\": \"P\",\n \"\\u0420\": \"R\",\n \"\\u0421\": \"S\",\n \"\\u0422\": \"T\",\n \"\\u0423\": \"U\",\n \"\\u0424\": \"F\",\n \"\\u0425\": \"Kh\",\n \"\\u0426\": \"C\",\n \"\\u0427\": \"Ch\",\n \"\\u0428\": \"Sh\",\n \"\\u0429\": \"Sh\",\n \"\\u042A\": \"\",\n \"\\u042B\": \"Y\",\n \"\\u042C\": \"\",\n \"\\u042D\": \"E\",\n \"\\u042E\": \"Yu\",\n \"\\u042F\": \"Ya\",\n // Serbian\n \"\\u0452\": \"dj\",\n \"\\u0458\": \"j\",\n // 'љ': 'lj', // duplicate\n // 'њ': 'nj', // duplicate\n \"\\u045B\": \"c\",\n \"\\u045F\": \"dz\",\n \"\\u0402\": \"Dj\",\n \"\\u0408\": \"j\",\n // 'Љ': 'Lj', // duplicate\n // 'Њ': 'Nj', // duplicate\n \"\\u040B\": \"C\",\n \"\\u040F\": \"Dz\",\n // Slovak\n \"\\u013E\": \"l\",\n \"\\u013A\": \"l\",\n \"\\u0155\": \"r\",\n \"\\u013D\": \"L\",\n \"\\u0139\": \"L\",\n \"\\u0154\": \"R\",\n // Turkish\n \"\\u015F\": \"s\",\n \"\\u015E\": \"S\",\n \"\\u0131\": \"i\",\n \"\\u0130\": \"I\",\n // 'ç': 'c', // duplicate\n // 'Ç': 'C', // duplicate\n // 'ü': 'u', // duplicate, see langCharMap\n // 'Ü': 'U', // duplicate, see langCharMap\n // 'ö': 'o', // duplicate, see langCharMap\n // 'Ö': 'O', // duplicate, see langCharMap\n \"\\u011F\": \"g\",\n \"\\u011E\": \"G\",\n // Vietnamese\n \"\\u1EA3\": \"a\",\n \"\\u1EA2\": \"A\",\n \"\\u1EB3\": \"a\",\n \"\\u1EB2\": \"A\",\n \"\\u1EA9\": \"a\",\n \"\\u1EA8\": \"A\",\n \"\\u0111\": \"d\",\n \"\\u0110\": \"D\",\n \"\\u1EB9\": \"e\",\n \"\\u1EB8\": \"E\",\n \"\\u1EBD\": \"e\",\n \"\\u1EBC\": \"E\",\n \"\\u1EBB\": \"e\",\n \"\\u1EBA\": \"E\",\n \"\\u1EBF\": \"e\",\n \"\\u1EBE\": \"E\",\n \"\\u1EC1\": \"e\",\n \"\\u1EC0\": \"E\",\n \"\\u1EC7\": \"e\",\n \"\\u1EC6\": \"E\",\n \"\\u1EC5\": \"e\",\n \"\\u1EC4\": \"E\",\n \"\\u1EC3\": \"e\",\n \"\\u1EC2\": \"E\",\n \"\\u1ECF\": \"o\",\n \"\\u1ECD\": \"o\",\n \"\\u1ECC\": \"o\",\n \"\\u1ED1\": \"o\",\n \"\\u1ED0\": \"O\",\n \"\\u1ED3\": \"o\",\n \"\\u1ED2\": \"O\",\n \"\\u1ED5\": \"o\",\n \"\\u1ED4\": \"O\",\n \"\\u1ED9\": \"o\",\n \"\\u1ED8\": \"O\",\n \"\\u1ED7\": \"o\",\n \"\\u1ED6\": \"O\",\n \"\\u01A1\": \"o\",\n \"\\u01A0\": \"O\",\n \"\\u1EDB\": \"o\",\n \"\\u1EDA\": \"O\",\n \"\\u1EDD\": \"o\",\n \"\\u1EDC\": \"O\",\n \"\\u1EE3\": \"o\",\n \"\\u1EE2\": \"O\",\n \"\\u1EE1\": \"o\",\n \"\\u1EE0\": \"O\",\n \"\\u1EDE\": \"o\",\n \"\\u1EDF\": \"o\",\n \"\\u1ECB\": \"i\",\n \"\\u1ECA\": \"I\",\n \"\\u0129\": \"i\",\n \"\\u0128\": \"I\",\n \"\\u1EC9\": \"i\",\n \"\\u1EC8\": \"i\",\n \"\\u1EE7\": \"u\",\n \"\\u1EE6\": \"U\",\n \"\\u1EE5\": \"u\",\n \"\\u1EE4\": \"U\",\n \"\\u0169\": \"u\",\n \"\\u0168\": \"U\",\n \"\\u01B0\": \"u\",\n \"\\u01AF\": \"U\",\n \"\\u1EE9\": \"u\",\n \"\\u1EE8\": \"U\",\n \"\\u1EEB\": \"u\",\n \"\\u1EEA\": \"U\",\n \"\\u1EF1\": \"u\",\n \"\\u1EF0\": \"U\",\n \"\\u1EEF\": \"u\",\n \"\\u1EEE\": \"U\",\n \"\\u1EED\": \"u\",\n \"\\u1EEC\": \"\\u01B0\",\n \"\\u1EF7\": \"y\",\n \"\\u1EF6\": \"y\",\n \"\\u1EF3\": \"y\",\n \"\\u1EF2\": \"Y\",\n \"\\u1EF5\": \"y\",\n \"\\u1EF4\": \"Y\",\n \"\\u1EF9\": \"y\",\n \"\\u1EF8\": \"Y\",\n \"\\u1EA1\": \"a\",\n \"\\u1EA0\": \"A\",\n \"\\u1EA5\": \"a\",\n \"\\u1EA4\": \"A\",\n \"\\u1EA7\": \"a\",\n \"\\u1EA6\": \"A\",\n \"\\u1EAD\": \"a\",\n \"\\u1EAC\": \"A\",\n \"\\u1EAB\": \"a\",\n \"\\u1EAA\": \"A\",\n // 'ă': 'a', // duplicate\n // 'Ă': 'A', // duplicate\n \"\\u1EAF\": \"a\",\n \"\\u1EAE\": \"A\",\n \"\\u1EB1\": \"a\",\n \"\\u1EB0\": \"A\",\n \"\\u1EB7\": \"a\",\n \"\\u1EB6\": \"A\",\n \"\\u1EB5\": \"a\",\n \"\\u1EB4\": \"A\",\n \"\\u24EA\": \"0\",\n \"\\u2460\": \"1\",\n \"\\u2461\": \"2\",\n \"\\u2462\": \"3\",\n \"\\u2463\": \"4\",\n \"\\u2464\": \"5\",\n \"\\u2465\": \"6\",\n \"\\u2466\": \"7\",\n \"\\u2467\": \"8\",\n \"\\u2468\": \"9\",\n \"\\u2469\": \"10\",\n \"\\u246A\": \"11\",\n \"\\u246B\": \"12\",\n \"\\u246C\": \"13\",\n \"\\u246D\": \"14\",\n \"\\u246E\": \"15\",\n \"\\u246F\": \"16\",\n \"\\u2470\": \"17\",\n \"\\u2471\": \"18\",\n \"\\u2472\": \"18\",\n \"\\u2473\": \"18\",\n \"\\u24F5\": \"1\",\n \"\\u24F6\": \"2\",\n \"\\u24F7\": \"3\",\n \"\\u24F8\": \"4\",\n \"\\u24F9\": \"5\",\n \"\\u24FA\": \"6\",\n \"\\u24FB\": \"7\",\n \"\\u24FC\": \"8\",\n \"\\u24FD\": \"9\",\n \"\\u24FE\": \"10\",\n \"\\u24FF\": \"0\",\n \"\\u24EB\": \"11\",\n \"\\u24EC\": \"12\",\n \"\\u24ED\": \"13\",\n \"\\u24EE\": \"14\",\n \"\\u24EF\": \"15\",\n \"\\u24F0\": \"16\",\n \"\\u24F1\": \"17\",\n \"\\u24F2\": \"18\",\n \"\\u24F3\": \"19\",\n \"\\u24F4\": \"20\",\n \"\\u24B6\": \"A\",\n \"\\u24B7\": \"B\",\n \"\\u24B8\": \"C\",\n \"\\u24B9\": \"D\",\n \"\\u24BA\": \"E\",\n \"\\u24BB\": \"F\",\n \"\\u24BC\": \"G\",\n \"\\u24BD\": \"H\",\n \"\\u24BE\": \"I\",\n \"\\u24BF\": \"J\",\n \"\\u24C0\": \"K\",\n \"\\u24C1\": \"L\",\n \"\\u24C2\": \"M\",\n \"\\u24C3\": \"N\",\n \"\\u24C4\": \"O\",\n \"\\u24C5\": \"P\",\n \"\\u24C6\": \"Q\",\n \"\\u24C7\": \"R\",\n \"\\u24C8\": \"S\",\n \"\\u24C9\": \"T\",\n \"\\u24CA\": \"U\",\n \"\\u24CB\": \"V\",\n \"\\u24CC\": \"W\",\n \"\\u24CD\": \"X\",\n \"\\u24CE\": \"Y\",\n \"\\u24CF\": \"Z\",\n \"\\u24D0\": \"a\",\n \"\\u24D1\": \"b\",\n \"\\u24D2\": \"c\",\n \"\\u24D3\": \"d\",\n \"\\u24D4\": \"e\",\n \"\\u24D5\": \"f\",\n \"\\u24D6\": \"g\",\n \"\\u24D7\": \"h\",\n \"\\u24D8\": \"i\",\n \"\\u24D9\": \"j\",\n \"\\u24DA\": \"k\",\n \"\\u24DB\": \"l\",\n \"\\u24DC\": \"m\",\n \"\\u24DD\": \"n\",\n \"\\u24DE\": \"o\",\n \"\\u24DF\": \"p\",\n \"\\u24E0\": \"q\",\n \"\\u24E1\": \"r\",\n \"\\u24E2\": \"s\",\n \"\\u24E3\": \"t\",\n \"\\u24E4\": \"u\",\n \"\\u24E6\": \"v\",\n \"\\u24E5\": \"w\",\n \"\\u24E7\": \"x\",\n \"\\u24E8\": \"y\",\n \"\\u24E9\": \"z\",\n // symbols\n \"\\u201C\": '\"',\n \"\\u201D\": '\"',\n \"\\u2018\": \"'\",\n \"\\u2019\": \"'\",\n \"\\u2202\": \"d\",\n \"\\u0192\": \"f\",\n \"\\u2122\": \"(TM)\",\n \"\\xA9\": \"(C)\",\n \"\\u0153\": \"oe\",\n \"\\u0152\": \"OE\",\n \"\\xAE\": \"(R)\",\n \"\\u2020\": \"+\",\n \"\\u2120\": \"(SM)\",\n \"\\u2026\": \"...\",\n \"\\u02DA\": \"o\",\n \"\\xBA\": \"o\",\n \"\\xAA\": \"a\",\n \"\\u2022\": \"*\",\n \"\\u104A\": \",\",\n \"\\u104B\": \".\",\n // currency\n \"$\": \"USD\",\n \"\\u20AC\": \"EUR\",\n \"\\u20A2\": \"BRN\",\n \"\\u20A3\": \"FRF\",\n \"\\xA3\": \"GBP\",\n \"\\u20A4\": \"ITL\",\n \"\\u20A6\": \"NGN\",\n \"\\u20A7\": \"ESP\",\n \"\\u20A9\": \"KRW\",\n \"\\u20AA\": \"ILS\",\n \"\\u20AB\": \"VND\",\n \"\\u20AD\": \"LAK\",\n \"\\u20AE\": \"MNT\",\n \"\\u20AF\": \"GRD\",\n \"\\u20B1\": \"ARS\",\n \"\\u20B2\": \"PYG\",\n \"\\u20B3\": \"ARA\",\n \"\\u20B4\": \"UAH\",\n \"\\u20B5\": \"GHS\",\n \"\\xA2\": \"cent\",\n \"\\xA5\": \"CNY\",\n \"\\u5143\": \"CNY\",\n \"\\u5186\": \"YEN\",\n \"\\uFDFC\": \"IRR\",\n \"\\u20A0\": \"EWE\",\n \"\\u0E3F\": \"THB\",\n \"\\u20A8\": \"INR\",\n \"\\u20B9\": \"INR\",\n \"\\u20B0\": \"PF\",\n \"\\u20BA\": \"TRY\",\n \"\\u060B\": \"AFN\",\n \"\\u20BC\": \"AZN\",\n \"\\u043B\\u0432\": \"BGN\",\n \"\\u17DB\": \"KHR\",\n \"\\u20A1\": \"CRC\",\n \"\\u20B8\": \"KZT\",\n \"\\u0434\\u0435\\u043D\": \"MKD\",\n \"z\\u0142\": \"PLN\",\n \"\\u20BD\": \"RUB\",\n \"\\u20BE\": \"GEL\"\n };\n var lookAheadCharArray = [\n // burmese\n \"\\u103A\",\n // Dhivehi\n \"\\u07B0\"\n ];\n var diatricMap = {\n // Burmese\n // dependent vowels\n \"\\u102C\": \"a\",\n \"\\u102B\": \"a\",\n \"\\u1031\": \"e\",\n \"\\u1032\": \"e\",\n \"\\u102D\": \"i\",\n \"\\u102E\": \"i\",\n \"\\u102D\\u102F\": \"o\",\n \"\\u102F\": \"u\",\n \"\\u1030\": \"u\",\n \"\\u1031\\u102B\\u1004\\u103A\": \"aung\",\n \"\\u1031\\u102C\": \"aw\",\n \"\\u1031\\u102C\\u103A\": \"aw\",\n \"\\u1031\\u102B\": \"aw\",\n \"\\u1031\\u102B\\u103A\": \"aw\",\n \"\\u103A\": \"\\u103A\",\n // this is special case but the character will be converted to latin in the code\n \"\\u1000\\u103A\": \"et\",\n \"\\u102D\\u102F\\u1000\\u103A\": \"aik\",\n \"\\u1031\\u102C\\u1000\\u103A\": \"auk\",\n \"\\u1004\\u103A\": \"in\",\n \"\\u102D\\u102F\\u1004\\u103A\": \"aing\",\n \"\\u1031\\u102C\\u1004\\u103A\": \"aung\",\n \"\\u1005\\u103A\": \"it\",\n \"\\u100A\\u103A\": \"i\",\n \"\\u1010\\u103A\": \"at\",\n \"\\u102D\\u1010\\u103A\": \"eik\",\n \"\\u102F\\u1010\\u103A\": \"ok\",\n \"\\u103D\\u1010\\u103A\": \"ut\",\n \"\\u1031\\u1010\\u103A\": \"it\",\n \"\\u1012\\u103A\": \"d\",\n \"\\u102D\\u102F\\u1012\\u103A\": \"ok\",\n \"\\u102F\\u1012\\u103A\": \"ait\",\n \"\\u1014\\u103A\": \"an\",\n \"\\u102C\\u1014\\u103A\": \"an\",\n \"\\u102D\\u1014\\u103A\": \"ein\",\n \"\\u102F\\u1014\\u103A\": \"on\",\n \"\\u103D\\u1014\\u103A\": \"un\",\n \"\\u1015\\u103A\": \"at\",\n \"\\u102D\\u1015\\u103A\": \"eik\",\n \"\\u102F\\u1015\\u103A\": \"ok\",\n \"\\u103D\\u1015\\u103A\": \"ut\",\n \"\\u1014\\u103A\\u102F\\u1015\\u103A\": \"nub\",\n \"\\u1019\\u103A\": \"an\",\n \"\\u102D\\u1019\\u103A\": \"ein\",\n \"\\u102F\\u1019\\u103A\": \"on\",\n \"\\u103D\\u1019\\u103A\": \"un\",\n \"\\u101A\\u103A\": \"e\",\n \"\\u102D\\u102F\\u101C\\u103A\": \"ol\",\n \"\\u1009\\u103A\": \"in\",\n \"\\u1036\": \"an\",\n \"\\u102D\\u1036\": \"ein\",\n \"\\u102F\\u1036\": \"on\",\n // Dhivehi\n \"\\u07A6\\u0787\\u07B0\": \"ah\",\n \"\\u07A6\\u0781\\u07B0\": \"ah\"\n };\n var langCharMap = {\n \"en\": {},\n // default language\n \"az\": {\n // Azerbaijani\n \"\\xE7\": \"c\",\n \"\\u0259\": \"e\",\n \"\\u011F\": \"g\",\n \"\\u0131\": \"i\",\n \"\\xF6\": \"o\",\n \"\\u015F\": \"s\",\n \"\\xFC\": \"u\",\n \"\\xC7\": \"C\",\n \"\\u018F\": \"E\",\n \"\\u011E\": \"G\",\n \"\\u0130\": \"I\",\n \"\\xD6\": \"O\",\n \"\\u015E\": \"S\",\n \"\\xDC\": \"U\"\n },\n \"cs\": {\n // Czech\n \"\\u010D\": \"c\",\n \"\\u010F\": \"d\",\n \"\\u011B\": \"e\",\n \"\\u0148\": \"n\",\n \"\\u0159\": \"r\",\n \"\\u0161\": \"s\",\n \"\\u0165\": \"t\",\n \"\\u016F\": \"u\",\n \"\\u017E\": \"z\",\n \"\\u010C\": \"C\",\n \"\\u010E\": \"D\",\n \"\\u011A\": \"E\",\n \"\\u0147\": \"N\",\n \"\\u0158\": \"R\",\n \"\\u0160\": \"S\",\n \"\\u0164\": \"T\",\n \"\\u016E\": \"U\",\n \"\\u017D\": \"Z\"\n },\n \"fi\": {\n // Finnish\n // 'å': 'a', duplicate see charMap/latin\n // 'Å': 'A', duplicate see charMap/latin\n \"\\xE4\": \"a\",\n // ok\n \"\\xC4\": \"A\",\n // ok\n \"\\xF6\": \"o\",\n // ok\n \"\\xD6\": \"O\"\n // ok\n },\n \"hu\": {\n // Hungarian\n \"\\xE4\": \"a\",\n // ok\n \"\\xC4\": \"A\",\n // ok\n // 'á': 'a', duplicate see charMap/latin\n // 'Á': 'A', duplicate see charMap/latin\n \"\\xF6\": \"o\",\n // ok\n \"\\xD6\": \"O\",\n // ok\n // 'ő': 'o', duplicate see charMap/latin\n // 'Ő': 'O', duplicate see charMap/latin\n \"\\xFC\": \"u\",\n \"\\xDC\": \"U\",\n \"\\u0171\": \"u\",\n \"\\u0170\": \"U\"\n },\n \"lt\": {\n // Lithuanian\n \"\\u0105\": \"a\",\n \"\\u010D\": \"c\",\n \"\\u0119\": \"e\",\n \"\\u0117\": \"e\",\n \"\\u012F\": \"i\",\n \"\\u0161\": \"s\",\n \"\\u0173\": \"u\",\n \"\\u016B\": \"u\",\n \"\\u017E\": \"z\",\n \"\\u0104\": \"A\",\n \"\\u010C\": \"C\",\n \"\\u0118\": \"E\",\n \"\\u0116\": \"E\",\n \"\\u012E\": \"I\",\n \"\\u0160\": \"S\",\n \"\\u0172\": \"U\",\n \"\\u016A\": \"U\"\n },\n \"lv\": {\n // Latvian\n \"\\u0101\": \"a\",\n \"\\u010D\": \"c\",\n \"\\u0113\": \"e\",\n \"\\u0123\": \"g\",\n \"\\u012B\": \"i\",\n \"\\u0137\": \"k\",\n \"\\u013C\": \"l\",\n \"\\u0146\": \"n\",\n \"\\u0161\": \"s\",\n \"\\u016B\": \"u\",\n \"\\u017E\": \"z\",\n \"\\u0100\": \"A\",\n \"\\u010C\": \"C\",\n \"\\u0112\": \"E\",\n \"\\u0122\": \"G\",\n \"\\u012A\": \"i\",\n \"\\u0136\": \"k\",\n \"\\u013B\": \"L\",\n \"\\u0145\": \"N\",\n \"\\u0160\": \"S\",\n \"\\u016A\": \"u\",\n \"\\u017D\": \"Z\"\n },\n \"pl\": {\n // Polish\n \"\\u0105\": \"a\",\n \"\\u0107\": \"c\",\n \"\\u0119\": \"e\",\n \"\\u0142\": \"l\",\n \"\\u0144\": \"n\",\n \"\\xF3\": \"o\",\n \"\\u015B\": \"s\",\n \"\\u017A\": \"z\",\n \"\\u017C\": \"z\",\n \"\\u0104\": \"A\",\n \"\\u0106\": \"C\",\n \"\\u0118\": \"e\",\n \"\\u0141\": \"L\",\n \"\\u0143\": \"N\",\n \"\\xD3\": \"O\",\n \"\\u015A\": \"S\",\n \"\\u0179\": \"Z\",\n \"\\u017B\": \"Z\"\n },\n \"sv\": {\n // Swedish\n // 'å': 'a', duplicate see charMap/latin\n // 'Å': 'A', duplicate see charMap/latin\n \"\\xE4\": \"a\",\n // ok\n \"\\xC4\": \"A\",\n // ok\n \"\\xF6\": \"o\",\n // ok\n \"\\xD6\": \"O\"\n // ok\n },\n \"sk\": {\n // Slovak\n \"\\xE4\": \"a\",\n \"\\xC4\": \"A\"\n },\n \"sr\": {\n // Serbian\n \"\\u0459\": \"lj\",\n \"\\u045A\": \"nj\",\n \"\\u0409\": \"Lj\",\n \"\\u040A\": \"Nj\",\n \"\\u0111\": \"dj\",\n \"\\u0110\": \"Dj\"\n },\n \"tr\": {\n // Turkish\n \"\\xDC\": \"U\",\n \"\\xD6\": \"O\",\n \"\\xFC\": \"u\",\n \"\\xF6\": \"o\"\n }\n };\n var symbolMap = {\n \"ar\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"la-nihaya\",\n \"\\u2665\": \"hob\",\n \"&\": \"wa\",\n \"|\": \"aw\",\n \"<\": \"aqal-men\",\n \">\": \"akbar-men\",\n \"\\u2211\": \"majmou\",\n \"\\xA4\": \"omla\"\n },\n \"az\": {},\n \"ca\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"infinit\",\n \"\\u2665\": \"amor\",\n \"&\": \"i\",\n \"|\": \"o\",\n \"<\": \"menys que\",\n \">\": \"mes que\",\n \"\\u2211\": \"suma dels\",\n \"\\xA4\": \"moneda\"\n },\n \"cs\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"nekonecno\",\n \"\\u2665\": \"laska\",\n \"&\": \"a\",\n \"|\": \"nebo\",\n \"<\": \"mensi nez\",\n \">\": \"vetsi nez\",\n \"\\u2211\": \"soucet\",\n \"\\xA4\": \"mena\"\n },\n \"de\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"unendlich\",\n \"\\u2665\": \"Liebe\",\n \"&\": \"und\",\n \"|\": \"oder\",\n \"<\": \"kleiner als\",\n \">\": \"groesser als\",\n \"\\u2211\": \"Summe von\",\n \"\\xA4\": \"Waehrung\"\n },\n \"dv\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"kolunulaa\",\n \"\\u2665\": \"loabi\",\n \"&\": \"aai\",\n \"|\": \"noonee\",\n \"<\": \"ah vure kuda\",\n \">\": \"ah vure bodu\",\n \"\\u2211\": \"jumula\",\n \"\\xA4\": \"faisaa\"\n },\n \"en\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"infinity\",\n \"\\u2665\": \"love\",\n \"&\": \"and\",\n \"|\": \"or\",\n \"<\": \"less than\",\n \">\": \"greater than\",\n \"\\u2211\": \"sum\",\n \"\\xA4\": \"currency\"\n },\n \"es\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"infinito\",\n \"\\u2665\": \"amor\",\n \"&\": \"y\",\n \"|\": \"u\",\n \"<\": \"menos que\",\n \">\": \"mas que\",\n \"\\u2211\": \"suma de los\",\n \"\\xA4\": \"moneda\"\n },\n \"fa\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"bi-nahayat\",\n \"\\u2665\": \"eshgh\",\n \"&\": \"va\",\n \"|\": \"ya\",\n \"<\": \"kamtar-az\",\n \">\": \"bishtar-az\",\n \"\\u2211\": \"majmooe\",\n \"\\xA4\": \"vahed\"\n },\n \"fi\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"aarettomyys\",\n \"\\u2665\": \"rakkaus\",\n \"&\": \"ja\",\n \"|\": \"tai\",\n \"<\": \"pienempi kuin\",\n \">\": \"suurempi kuin\",\n \"\\u2211\": \"summa\",\n \"\\xA4\": \"valuutta\"\n },\n \"fr\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"infiniment\",\n \"\\u2665\": \"Amour\",\n \"&\": \"et\",\n \"|\": \"ou\",\n \"<\": \"moins que\",\n \">\": \"superieure a\",\n \"\\u2211\": \"somme des\",\n \"\\xA4\": \"monnaie\"\n },\n \"ge\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"usasruloba\",\n \"\\u2665\": \"siqvaruli\",\n \"&\": \"da\",\n \"|\": \"an\",\n \"<\": \"naklebi\",\n \">\": \"meti\",\n \"\\u2211\": \"jami\",\n \"\\xA4\": \"valuta\"\n },\n \"gr\": {},\n \"hu\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"vegtelen\",\n \"\\u2665\": \"szerelem\",\n \"&\": \"es\",\n \"|\": \"vagy\",\n \"<\": \"kisebb mint\",\n \">\": \"nagyobb mint\",\n \"\\u2211\": \"szumma\",\n \"\\xA4\": \"penznem\"\n },\n \"it\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"infinito\",\n \"\\u2665\": \"amore\",\n \"&\": \"e\",\n \"|\": \"o\",\n \"<\": \"minore di\",\n \">\": \"maggiore di\",\n \"\\u2211\": \"somma\",\n \"\\xA4\": \"moneta\"\n },\n \"lt\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"begalybe\",\n \"\\u2665\": \"meile\",\n \"&\": \"ir\",\n \"|\": \"ar\",\n \"<\": \"maziau nei\",\n \">\": \"daugiau nei\",\n \"\\u2211\": \"suma\",\n \"\\xA4\": \"valiuta\"\n },\n \"lv\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"bezgaliba\",\n \"\\u2665\": \"milestiba\",\n \"&\": \"un\",\n \"|\": \"vai\",\n \"<\": \"mazak neka\",\n \">\": \"lielaks neka\",\n \"\\u2211\": \"summa\",\n \"\\xA4\": \"valuta\"\n },\n \"my\": {\n \"\\u2206\": \"kwahkhyaet\",\n \"\\u221E\": \"asaonasme\",\n \"\\u2665\": \"akhyait\",\n \"&\": \"nhin\",\n \"|\": \"tho\",\n \"<\": \"ngethaw\",\n \">\": \"kyithaw\",\n \"\\u2211\": \"paungld\",\n \"\\xA4\": \"ngwekye\"\n },\n \"mk\": {},\n \"nl\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"oneindig\",\n \"\\u2665\": \"liefde\",\n \"&\": \"en\",\n \"|\": \"of\",\n \"<\": \"kleiner dan\",\n \">\": \"groter dan\",\n \"\\u2211\": \"som\",\n \"\\xA4\": \"valuta\"\n },\n \"pl\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"nieskonczonosc\",\n \"\\u2665\": \"milosc\",\n \"&\": \"i\",\n \"|\": \"lub\",\n \"<\": \"mniejsze niz\",\n \">\": \"wieksze niz\",\n \"\\u2211\": \"suma\",\n \"\\xA4\": \"waluta\"\n },\n \"pt\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"infinito\",\n \"\\u2665\": \"amor\",\n \"&\": \"e\",\n \"|\": \"ou\",\n \"<\": \"menor que\",\n \">\": \"maior que\",\n \"\\u2211\": \"soma\",\n \"\\xA4\": \"moeda\"\n },\n \"ro\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"infinit\",\n \"\\u2665\": \"dragoste\",\n \"&\": \"si\",\n \"|\": \"sau\",\n \"<\": \"mai mic ca\",\n \">\": \"mai mare ca\",\n \"\\u2211\": \"suma\",\n \"\\xA4\": \"valuta\"\n },\n \"ru\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"beskonechno\",\n \"\\u2665\": \"lubov\",\n \"&\": \"i\",\n \"|\": \"ili\",\n \"<\": \"menshe\",\n \">\": \"bolshe\",\n \"\\u2211\": \"summa\",\n \"\\xA4\": \"valjuta\"\n },\n \"sk\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"nekonecno\",\n \"\\u2665\": \"laska\",\n \"&\": \"a\",\n \"|\": \"alebo\",\n \"<\": \"menej ako\",\n \">\": \"viac ako\",\n \"\\u2211\": \"sucet\",\n \"\\xA4\": \"mena\"\n },\n \"sr\": {},\n \"tr\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"sonsuzluk\",\n \"\\u2665\": \"ask\",\n \"&\": \"ve\",\n \"|\": \"veya\",\n \"<\": \"kucuktur\",\n \">\": \"buyuktur\",\n \"\\u2211\": \"toplam\",\n \"\\xA4\": \"para birimi\"\n },\n \"uk\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"bezkinechnist\",\n \"\\u2665\": \"lubov\",\n \"&\": \"i\",\n \"|\": \"abo\",\n \"<\": \"menshe\",\n \">\": \"bilshe\",\n \"\\u2211\": \"suma\",\n \"\\xA4\": \"valjuta\"\n },\n \"vn\": {\n \"\\u2206\": \"delta\",\n \"\\u221E\": \"vo cuc\",\n \"\\u2665\": \"yeu\",\n \"&\": \"va\",\n \"|\": \"hoac\",\n \"<\": \"nho hon\",\n \">\": \"lon hon\",\n \"\\u2211\": \"tong\",\n \"\\xA4\": \"tien te\"\n }\n };\n var uricChars = [\";\", \"?\", \":\", \"@\", \"&\", \"=\", \"+\", \"$\", \",\", \"/\"].join(\"\");\n var uricNoSlashChars = [\";\", \"?\", \":\", \"@\", \"&\", \"=\", \"+\", \"$\", \",\"].join(\"\");\n var markChars = [\".\", \"!\", \"~\", \"*\", \"'\", \"(\", \")\"].join(\"\");\n var getSlug = function getSlug2(input, opts) {\n var separator = \"-\";\n var result = \"\";\n var diatricString = \"\";\n var convertSymbols = true;\n var customReplacements = {};\n var maintainCase;\n var titleCase;\n var truncate;\n var uricFlag;\n var uricNoSlashFlag;\n var markFlag;\n var symbol;\n var langChar;\n var lucky;\n var i;\n var ch;\n var l;\n var lastCharWasSymbol;\n var lastCharWasDiatric;\n var allowedChars = \"\";\n if (typeof input !== \"string\") {\n return \"\";\n }\n if (typeof opts === \"string\") {\n separator = opts;\n }\n symbol = symbolMap.en;\n langChar = langCharMap.en;\n if (typeof opts === \"object\") {\n maintainCase = opts.maintainCase || false;\n customReplacements = opts.custom && typeof opts.custom === \"object\" ? opts.custom : customReplacements;\n truncate = +opts.truncate > 1 && opts.truncate || false;\n uricFlag = opts.uric || false;\n uricNoSlashFlag = opts.uricNoSlash || false;\n markFlag = opts.mark || false;\n convertSymbols = opts.symbols === false || opts.lang === false ? false : true;\n separator = opts.separator || separator;\n if (uricFlag) {\n allowedChars += uricChars;\n }\n if (uricNoSlashFlag) {\n allowedChars += uricNoSlashChars;\n }\n if (markFlag) {\n allowedChars += markChars;\n }\n symbol = opts.lang && symbolMap[opts.lang] && convertSymbols ? symbolMap[opts.lang] : convertSymbols ? symbolMap.en : {};\n langChar = opts.lang && langCharMap[opts.lang] ? langCharMap[opts.lang] : opts.lang === false || opts.lang === true ? {} : langCharMap.en;\n if (opts.titleCase && typeof opts.titleCase.length === \"number\" && Array.prototype.toString.call(opts.titleCase)) {\n opts.titleCase.forEach(function(v) {\n customReplacements[v + \"\"] = v + \"\";\n });\n titleCase = true;\n } else {\n titleCase = !!opts.titleCase;\n }\n if (opts.custom && typeof opts.custom.length === \"number\" && Array.prototype.toString.call(opts.custom)) {\n opts.custom.forEach(function(v) {\n customReplacements[v + \"\"] = v + \"\";\n });\n }\n Object.keys(customReplacements).forEach(function(v) {\n var r;\n if (v.length > 1) {\n r = new RegExp(\"\\\\b\" + escapeChars(v) + \"\\\\b\", \"gi\");\n } else {\n r = new RegExp(escapeChars(v), \"gi\");\n }\n input = input.replace(r, customReplacements[v]);\n });\n for (ch in customReplacements) {\n allowedChars += ch;\n }\n }\n allowedChars += separator;\n allowedChars = escapeChars(allowedChars);\n input = input.replace(/(^\\s+|\\s+$)/g, \"\");\n lastCharWasSymbol = false;\n lastCharWasDiatric = false;\n for (i = 0, l = input.length; i < l; i++) {\n ch = input[i];\n if (isReplacedCustomChar(ch, customReplacements)) {\n lastCharWasSymbol = false;\n } else if (langChar[ch]) {\n ch = lastCharWasSymbol && langChar[ch].match(/[A-Za-z0-9]/) ? \" \" + langChar[ch] : langChar[ch];\n lastCharWasSymbol = false;\n } else if (ch in charMap) {\n if (i + 1 < l && lookAheadCharArray.indexOf(input[i + 1]) >= 0) {\n diatricString += ch;\n ch = \"\";\n } else if (lastCharWasDiatric === true) {\n ch = diatricMap[diatricString] + charMap[ch];\n diatricString = \"\";\n } else {\n ch = lastCharWasSymbol && charMap[ch].match(/[A-Za-z0-9]/) ? \" \" + charMap[ch] : charMap[ch];\n }\n lastCharWasSymbol = false;\n lastCharWasDiatric = false;\n } else if (ch in diatricMap) {\n diatricString += ch;\n ch = \"\";\n if (i === l - 1) {\n ch = diatricMap[diatricString];\n }\n lastCharWasDiatric = true;\n } else if (\n // process symbol chars\n symbol[ch] && !(uricFlag && uricChars.indexOf(ch) !== -1) && !(uricNoSlashFlag && uricNoSlashChars.indexOf(ch) !== -1)\n ) {\n ch = lastCharWasSymbol || result.substr(-1).match(/[A-Za-z0-9]/) ? separator + symbol[ch] : symbol[ch];\n ch += input[i + 1] !== void 0 && input[i + 1].match(/[A-Za-z0-9]/) ? separator : \"\";\n lastCharWasSymbol = true;\n } else {\n if (lastCharWasDiatric === true) {\n ch = diatricMap[diatricString] + ch;\n diatricString = \"\";\n lastCharWasDiatric = false;\n } else if (lastCharWasSymbol && (/[A-Za-z0-9]/.test(ch) || result.substr(-1).match(/A-Za-z0-9]/))) {\n ch = \" \" + ch;\n }\n lastCharWasSymbol = false;\n }\n result += ch.replace(new RegExp(\"[^\\\\w\\\\s\" + allowedChars + \"_-]\", \"g\"), separator);\n }\n if (titleCase) {\n result = result.replace(/(\\w)(\\S*)/g, function(_, i2, r) {\n var j = i2.toUpperCase() + (r !== null ? r : \"\");\n return Object.keys(customReplacements).indexOf(j.toLowerCase()) < 0 ? j : j.toLowerCase();\n });\n }\n result = result.replace(/\\s+/g, separator).replace(new RegExp(\"\\\\\" + separator + \"+\", \"g\"), separator).replace(new RegExp(\"(^\\\\\" + separator + \"+|\\\\\" + separator + \"+$)\", \"g\"), \"\");\n if (truncate && result.length > truncate) {\n lucky = result.charAt(truncate) === separator;\n result = result.slice(0, truncate);\n if (!lucky) {\n result = result.slice(0, result.lastIndexOf(separator));\n }\n }\n if (!maintainCase && !titleCase) {\n result = result.toLowerCase();\n }\n return result;\n };\n var createSlug = function createSlug2(opts) {\n return function getSlugWithConfig(input) {\n return getSlug(input, opts);\n };\n };\n var escapeChars = function escapeChars2(input) {\n return input.replace(/[-\\\\^$*+?.()|[\\]{}\\/]/g, \"\\\\$&\");\n };\n var isReplacedCustomChar = function(ch, customReplacements) {\n for (var c in customReplacements) {\n if (customReplacements[c] === ch) {\n return true;\n }\n }\n };\n if (typeof module !== \"undefined\" && module.exports) {\n module.exports = getSlug;\n module.exports.createSlug = createSlug;\n } else if (typeof define !== \"undefined\" && define.amd) {\n define([], function() {\n return getSlug;\n });\n } else {\n try {\n if (root.getSlug || root.createSlug) {\n throw \"speakingurl: globals exists /(getSlug|createSlug)/\";\n } else {\n root.getSlug = getSlug;\n root.createSlug = createSlug;\n }\n } catch (e) {\n }\n }\n })(exports);\n }\n});\n\n// ../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/index.js\nvar require_speakingurl2 = __commonJS({\n \"../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/index.js\"(exports, module) {\n init_esm_shims();\n module.exports = require_speakingurl();\n }\n});\n\n// src/index.ts\ninit_esm_shims();\n\n// src/core/index.ts\ninit_esm_shims();\n\n// src/compat/index.ts\ninit_esm_shims();\n\n// src/ctx/index.ts\ninit_esm_shims();\n\n// src/ctx/api.ts\ninit_esm_shims();\n\n// src/core/component-highlighter/index.ts\ninit_esm_shims();\n\n// src/core/component/state/bounding-rect.ts\ninit_esm_shims();\n\n// src/core/component/utils/index.ts\ninit_esm_shims();\nfunction getComponentTypeName(options) {\n var _a25;\n const name = options.name || options._componentTag || options.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ || options.__name;\n if (name === \"index\" && ((_a25 = options.__file) == null ? void 0 : _a25.endsWith(\"index.vue\"))) {\n return \"\";\n }\n return name;\n}\nfunction getComponentFileName(options) {\n const file = options.__file;\n if (file)\n return classify(basename(file, \".vue\"));\n}\nfunction saveComponentGussedName(instance, name) {\n instance.type.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ = name;\n return name;\n}\nfunction getAppRecord(instance) {\n if (instance.__VUE_DEVTOOLS_NEXT_APP_RECORD__)\n return instance.__VUE_DEVTOOLS_NEXT_APP_RECORD__;\n else if (instance.root)\n return instance.appContext.app.__VUE_DEVTOOLS_NEXT_APP_RECORD__;\n}\nfunction isFragment(instance) {\n var _a25, _b25;\n const subTreeType = (_a25 = instance.subTree) == null ? void 0 : _a25.type;\n const appRecord = getAppRecord(instance);\n if (appRecord) {\n return ((_b25 = appRecord == null ? void 0 : appRecord.types) == null ? void 0 : _b25.Fragment) === subTreeType;\n }\n return false;\n}\nfunction getInstanceName(instance) {\n var _a25, _b25, _c;\n const name = getComponentTypeName((instance == null ? void 0 : instance.type) || {});\n if (name)\n return name;\n if ((instance == null ? void 0 : instance.root) === instance)\n return \"Root\";\n for (const key in (_b25 = (_a25 = instance.parent) == null ? void 0 : _a25.type) == null ? void 0 : _b25.components) {\n if (instance.parent.type.components[key] === (instance == null ? void 0 : instance.type))\n return saveComponentGussedName(instance, key);\n }\n for (const key in (_c = instance.appContext) == null ? void 0 : _c.components) {\n if (instance.appContext.components[key] === (instance == null ? void 0 : instance.type))\n return saveComponentGussedName(instance, key);\n }\n const fileName = getComponentFileName((instance == null ? void 0 : instance.type) || {});\n if (fileName)\n return fileName;\n return \"Anonymous Component\";\n}\nfunction getUniqueComponentId(instance) {\n var _a25, _b25, _c;\n const appId = (_c = (_b25 = (_a25 = instance == null ? void 0 : instance.appContext) == null ? void 0 : _a25.app) == null ? void 0 : _b25.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__) != null ? _c : 0;\n const instanceId = instance === (instance == null ? void 0 : instance.root) ? \"root\" : instance.uid;\n return `${appId}:${instanceId}`;\n}\nfunction getComponentInstance(appRecord, instanceId) {\n instanceId = instanceId || `${appRecord.id}:root`;\n const instance = appRecord.instanceMap.get(instanceId);\n return instance || appRecord.instanceMap.get(\":root\");\n}\n\n// src/core/component/state/bounding-rect.ts\nfunction createRect() {\n const rect = {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n get width() {\n return rect.right - rect.left;\n },\n get height() {\n return rect.bottom - rect.top;\n }\n };\n return rect;\n}\nvar range;\nfunction getTextRect(node) {\n if (!range)\n range = document.createRange();\n range.selectNode(node);\n return range.getBoundingClientRect();\n}\nfunction getFragmentRect(vnode) {\n const rect = createRect();\n if (!vnode.children)\n return rect;\n for (let i = 0, l = vnode.children.length; i < l; i++) {\n const childVnode = vnode.children[i];\n let childRect;\n if (childVnode.component) {\n childRect = getComponentBoundingRect(childVnode.component);\n } else if (childVnode.el) {\n const el = childVnode.el;\n if (el.nodeType === 1 || el.getBoundingClientRect)\n childRect = el.getBoundingClientRect();\n else if (el.nodeType === 3 && el.data.trim())\n childRect = getTextRect(el);\n }\n if (childRect)\n mergeRects(rect, childRect);\n }\n return rect;\n}\nfunction mergeRects(a, b) {\n if (!a.top || b.top < a.top)\n a.top = b.top;\n if (!a.bottom || b.bottom > a.bottom)\n a.bottom = b.bottom;\n if (!a.left || b.left < a.left)\n a.left = b.left;\n if (!a.right || b.right > a.right)\n a.right = b.right;\n return a;\n}\nvar DEFAULT_RECT = {\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n width: 0,\n height: 0\n};\nfunction getComponentBoundingRect(instance) {\n const el = instance.subTree.el;\n if (typeof window === \"undefined\") {\n return DEFAULT_RECT;\n }\n if (isFragment(instance))\n return getFragmentRect(instance.subTree);\n else if ((el == null ? void 0 : el.nodeType) === 1)\n return el == null ? void 0 : el.getBoundingClientRect();\n else if (instance.subTree.component)\n return getComponentBoundingRect(instance.subTree.component);\n else\n return DEFAULT_RECT;\n}\n\n// src/core/component/tree/el.ts\ninit_esm_shims();\nfunction getRootElementsFromComponentInstance(instance) {\n if (isFragment(instance))\n return getFragmentRootElements(instance.subTree);\n if (!instance.subTree)\n return [];\n return [instance.subTree.el];\n}\nfunction getFragmentRootElements(vnode) {\n if (!vnode.children)\n return [];\n const list = [];\n vnode.children.forEach((childVnode) => {\n if (childVnode.component)\n list.push(...getRootElementsFromComponentInstance(childVnode.component));\n else if (childVnode == null ? void 0 : childVnode.el)\n list.push(childVnode.el);\n });\n return list;\n}\n\n// src/core/component-highlighter/index.ts\nvar CONTAINER_ELEMENT_ID = \"__vue-devtools-component-inspector__\";\nvar CARD_ELEMENT_ID = \"__vue-devtools-component-inspector__card__\";\nvar COMPONENT_NAME_ELEMENT_ID = \"__vue-devtools-component-inspector__name__\";\nvar INDICATOR_ELEMENT_ID = \"__vue-devtools-component-inspector__indicator__\";\nvar containerStyles = {\n display: \"block\",\n zIndex: 2147483640,\n position: \"fixed\",\n backgroundColor: \"#42b88325\",\n border: \"1px solid #42b88350\",\n borderRadius: \"5px\",\n transition: \"all 0.1s ease-in\",\n pointerEvents: \"none\"\n};\nvar cardStyles = {\n fontFamily: \"Arial, Helvetica, sans-serif\",\n padding: \"5px 8px\",\n borderRadius: \"4px\",\n textAlign: \"left\",\n position: \"absolute\",\n left: 0,\n color: \"#e9e9e9\",\n fontSize: \"14px\",\n fontWeight: 600,\n lineHeight: \"24px\",\n backgroundColor: \"#42b883\",\n boxShadow: \"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)\"\n};\nvar indicatorStyles = {\n display: \"inline-block\",\n fontWeight: 400,\n fontStyle: \"normal\",\n fontSize: \"12px\",\n opacity: 0.7\n};\nfunction getContainerElement() {\n return document.getElementById(CONTAINER_ELEMENT_ID);\n}\nfunction getCardElement() {\n return document.getElementById(CARD_ELEMENT_ID);\n}\nfunction getIndicatorElement() {\n return document.getElementById(INDICATOR_ELEMENT_ID);\n}\nfunction getNameElement() {\n return document.getElementById(COMPONENT_NAME_ELEMENT_ID);\n}\nfunction getStyles(bounds) {\n return {\n left: `${Math.round(bounds.left * 100) / 100}px`,\n top: `${Math.round(bounds.top * 100) / 100}px`,\n width: `${Math.round(bounds.width * 100) / 100}px`,\n height: `${Math.round(bounds.height * 100) / 100}px`\n };\n}\nfunction create(options) {\n var _a25;\n const containerEl = document.createElement(\"div\");\n containerEl.id = (_a25 = options.elementId) != null ? _a25 : CONTAINER_ELEMENT_ID;\n Object.assign(containerEl.style, {\n ...containerStyles,\n ...getStyles(options.bounds),\n ...options.style\n });\n const cardEl = document.createElement(\"span\");\n cardEl.id = CARD_ELEMENT_ID;\n Object.assign(cardEl.style, {\n ...cardStyles,\n top: options.bounds.top < 35 ? 0 : \"-35px\"\n });\n const nameEl = document.createElement(\"span\");\n nameEl.id = COMPONENT_NAME_ELEMENT_ID;\n nameEl.innerHTML = `&lt;${options.name}&gt;&nbsp;&nbsp;`;\n const indicatorEl = document.createElement(\"i\");\n indicatorEl.id = INDICATOR_ELEMENT_ID;\n indicatorEl.innerHTML = `${Math.round(options.bounds.width * 100) / 100} x ${Math.round(options.bounds.height * 100) / 100}`;\n Object.assign(indicatorEl.style, indicatorStyles);\n cardEl.appendChild(nameEl);\n cardEl.appendChild(indicatorEl);\n containerEl.appendChild(cardEl);\n document.body.appendChild(containerEl);\n return containerEl;\n}\nfunction update(options) {\n const containerEl = getContainerElement();\n const cardEl = getCardElement();\n const nameEl = getNameElement();\n const indicatorEl = getIndicatorElement();\n if (containerEl) {\n Object.assign(containerEl.style, {\n ...containerStyles,\n ...getStyles(options.bounds)\n });\n Object.assign(cardEl.style, {\n top: options.bounds.top < 35 ? 0 : \"-35px\"\n });\n nameEl.innerHTML = `&lt;${options.name}&gt;&nbsp;&nbsp;`;\n indicatorEl.innerHTML = `${Math.round(options.bounds.width * 100) / 100} x ${Math.round(options.bounds.height * 100) / 100}`;\n }\n}\nfunction highlight(instance) {\n const bounds = getComponentBoundingRect(instance);\n if (!bounds.width && !bounds.height)\n return;\n const name = getInstanceName(instance);\n const container = getContainerElement();\n container ? update({ bounds, name }) : create({ bounds, name });\n}\nfunction unhighlight() {\n const el = getContainerElement();\n if (el)\n el.style.display = \"none\";\n}\nvar inspectInstance = null;\nfunction inspectFn(e) {\n const target22 = e.target;\n if (target22) {\n const instance = target22.__vueParentComponent;\n if (instance) {\n inspectInstance = instance;\n const el = instance.vnode.el;\n if (el) {\n const bounds = getComponentBoundingRect(instance);\n const name = getInstanceName(instance);\n const container = getContainerElement();\n container ? update({ bounds, name }) : create({ bounds, name });\n }\n }\n }\n}\nfunction selectComponentFn(e, cb) {\n e.preventDefault();\n e.stopPropagation();\n if (inspectInstance) {\n const uniqueComponentId = getUniqueComponentId(inspectInstance);\n cb(uniqueComponentId);\n }\n}\nvar inspectComponentHighLighterSelectFn = null;\nfunction cancelInspectComponentHighLighter() {\n unhighlight();\n window.removeEventListener(\"mouseover\", inspectFn);\n window.removeEventListener(\"click\", inspectComponentHighLighterSelectFn, true);\n inspectComponentHighLighterSelectFn = null;\n}\nfunction inspectComponentHighLighter() {\n window.addEventListener(\"mouseover\", inspectFn);\n return new Promise((resolve) => {\n function onSelect(e) {\n e.preventDefault();\n e.stopPropagation();\n selectComponentFn(e, (id) => {\n window.removeEventListener(\"click\", onSelect, true);\n inspectComponentHighLighterSelectFn = null;\n window.removeEventListener(\"mouseover\", inspectFn);\n const el = getContainerElement();\n if (el)\n el.style.display = \"none\";\n resolve(JSON.stringify({ id }));\n });\n }\n inspectComponentHighLighterSelectFn = onSelect;\n window.addEventListener(\"click\", onSelect, true);\n });\n}\nfunction scrollToComponent(options) {\n const instance = getComponentInstance(activeAppRecord.value, options.id);\n if (instance) {\n const [el] = getRootElementsFromComponentInstance(instance);\n if (typeof el.scrollIntoView === \"function\") {\n el.scrollIntoView({\n behavior: \"smooth\"\n });\n } else {\n const bounds = getComponentBoundingRect(instance);\n const scrollTarget = document.createElement(\"div\");\n const styles = {\n ...getStyles(bounds),\n position: \"absolute\"\n };\n Object.assign(scrollTarget.style, styles);\n document.body.appendChild(scrollTarget);\n scrollTarget.scrollIntoView({\n behavior: \"smooth\"\n });\n setTimeout(() => {\n document.body.removeChild(scrollTarget);\n }, 2e3);\n }\n setTimeout(() => {\n const bounds = getComponentBoundingRect(instance);\n if (bounds.width || bounds.height) {\n const name = getInstanceName(instance);\n const el2 = getContainerElement();\n el2 ? update({ name, bounds }) : create({ ...options, name, bounds });\n setTimeout(() => {\n if (el2)\n el2.style.display = \"none\";\n }, 1500);\n }\n }, 1200);\n }\n}\n\n// src/core/component-inspector/index.ts\ninit_esm_shims();\nvar _a, _b;\n(_b = (_a = target).__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__) != null ? _b : _a.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__ = true;\nfunction waitForInspectorInit(cb) {\n let total = 0;\n const timer = setInterval(() => {\n if (target.__VUE_INSPECTOR__) {\n clearInterval(timer);\n total += 30;\n cb();\n }\n if (total >= /* 5s */\n 5e3)\n clearInterval(timer);\n }, 30);\n}\nfunction setupInspector() {\n const inspector = target.__VUE_INSPECTOR__;\n const _openInEditor = inspector.openInEditor;\n inspector.openInEditor = async (...params) => {\n inspector.disable();\n _openInEditor(...params);\n };\n}\nfunction getComponentInspector() {\n return new Promise((resolve) => {\n function setup() {\n setupInspector();\n resolve(target.__VUE_INSPECTOR__);\n }\n if (!target.__VUE_INSPECTOR__) {\n waitForInspectorInit(() => {\n setup();\n });\n } else {\n setup();\n }\n });\n}\n\n// src/core/component/state/editor.ts\ninit_esm_shims();\n\n// src/shared/stub-vue.ts\ninit_esm_shims();\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\" /* IS_READONLY */]);\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\" /* RAW */]);\n }\n return !!(value && value[\"__v_isReactive\" /* IS_REACTIVE */]);\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\" /* RAW */];\n return raw ? toRaw(raw) : observed;\n}\n\n// src/core/component/state/editor.ts\nvar StateEditor = class {\n constructor() {\n this.refEditor = new RefStateEditor();\n }\n set(object, path, value, cb) {\n const sections = Array.isArray(path) ? path : path.split(\".\");\n while (sections.length > 1) {\n const section = sections.shift();\n if (object instanceof Map)\n object = object.get(section);\n if (object instanceof Set)\n object = Array.from(object.values())[section];\n else object = object[section];\n if (this.refEditor.isRef(object))\n object = this.refEditor.get(object);\n }\n const field = sections[0];\n const item = this.refEditor.get(object)[field];\n if (cb) {\n cb(object, field, value);\n } else {\n if (this.refEditor.isRef(item))\n this.refEditor.set(item, value);\n else object[field] = value;\n }\n }\n get(object, path) {\n const sections = Array.isArray(path) ? path : path.split(\".\");\n for (let i = 0; i < sections.length; i++) {\n if (object instanceof Map)\n object = object.get(sections[i]);\n else\n object = object[sections[i]];\n if (this.refEditor.isRef(object))\n object = this.refEditor.get(object);\n if (!object)\n return void 0;\n }\n return object;\n }\n has(object, path, parent = false) {\n if (typeof object === \"undefined\")\n return false;\n const sections = Array.isArray(path) ? path.slice() : path.split(\".\");\n const size = !parent ? 1 : 2;\n while (object && sections.length > size) {\n const section = sections.shift();\n object = object[section];\n if (this.refEditor.isRef(object))\n object = this.refEditor.get(object);\n }\n return object != null && Object.prototype.hasOwnProperty.call(object, sections[0]);\n }\n createDefaultSetCallback(state) {\n return (object, field, value) => {\n if (state.remove || state.newKey) {\n if (Array.isArray(object))\n object.splice(field, 1);\n else if (toRaw(object) instanceof Map)\n object.delete(field);\n else if (toRaw(object) instanceof Set)\n object.delete(Array.from(object.values())[field]);\n else Reflect.deleteProperty(object, field);\n }\n if (!state.remove) {\n const target22 = object[state.newKey || field];\n if (this.refEditor.isRef(target22))\n this.refEditor.set(target22, value);\n else if (toRaw(object) instanceof Map)\n object.set(state.newKey || field, value);\n else if (toRaw(object) instanceof Set)\n object.add(value);\n else\n object[state.newKey || field] = value;\n }\n };\n }\n};\nvar RefStateEditor = class {\n set(ref, value) {\n if (isRef(ref)) {\n ref.value = value;\n } else {\n if (ref instanceof Set && Array.isArray(value)) {\n ref.clear();\n value.forEach((v) => ref.add(v));\n return;\n }\n const currentKeys = Object.keys(value);\n if (ref instanceof Map) {\n const previousKeysSet2 = new Set(ref.keys());\n currentKeys.forEach((key) => {\n ref.set(key, Reflect.get(value, key));\n previousKeysSet2.delete(key);\n });\n previousKeysSet2.forEach((key) => ref.delete(key));\n return;\n }\n const previousKeysSet = new Set(Object.keys(ref));\n currentKeys.forEach((key) => {\n Reflect.set(ref, key, Reflect.get(value, key));\n previousKeysSet.delete(key);\n });\n previousKeysSet.forEach((key) => Reflect.deleteProperty(ref, key));\n }\n }\n get(ref) {\n return isRef(ref) ? ref.value : ref;\n }\n isRef(ref) {\n return isRef(ref) || isReactive(ref);\n }\n};\n\n// src/core/open-in-editor/index.ts\ninit_esm_shims();\n\n// src/ctx/state.ts\ninit_esm_shims();\n\n// src/core/timeline/storage.ts\ninit_esm_shims();\nvar TIMELINE_LAYERS_STATE_STORAGE_ID = \"__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS_STATE__\";\nfunction getTimelineLayersStateFromStorage() {\n if (!isBrowser || typeof localStorage === \"undefined\" || localStorage === null) {\n return {\n recordingState: false,\n mouseEventEnabled: false,\n keyboardEventEnabled: false,\n componentEventEnabled: false,\n performanceEventEnabled: false,\n selected: \"\"\n };\n }\n const state = localStorage.getItem(TIMELINE_LAYERS_STATE_STORAGE_ID);\n return state ? JSON.parse(state) : {\n recordingState: false,\n mouseEventEnabled: false,\n keyboardEventEnabled: false,\n componentEventEnabled: false,\n performanceEventEnabled: false,\n selected: \"\"\n };\n}\n\n// src/ctx/hook.ts\ninit_esm_shims();\n\n// src/ctx/inspector.ts\ninit_esm_shims();\n\n// src/ctx/timeline.ts\ninit_esm_shims();\nvar _a2, _b2;\n(_b2 = (_a2 = target).__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS) != null ? _b2 : _a2.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS = [];\nvar devtoolsTimelineLayers = new Proxy(target.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS, {\n get(target22, prop, receiver) {\n return Reflect.get(target22, prop, receiver);\n }\n});\nfunction addTimelineLayer(options, descriptor) {\n devtoolsState.timelineLayersState[descriptor.id] = false;\n devtoolsTimelineLayers.push({\n ...options,\n descriptorId: descriptor.id,\n appRecord: getAppRecord(descriptor.app)\n });\n}\n\n// src/ctx/inspector.ts\nvar _a3, _b3;\n(_b3 = (_a3 = target).__VUE_DEVTOOLS_KIT_INSPECTOR__) != null ? _b3 : _a3.__VUE_DEVTOOLS_KIT_INSPECTOR__ = [];\nvar devtoolsInspector = new Proxy(target.__VUE_DEVTOOLS_KIT_INSPECTOR__, {\n get(target22, prop, receiver) {\n return Reflect.get(target22, prop, receiver);\n }\n});\nvar callInspectorUpdatedHook = debounce(() => {\n devtoolsContext.hooks.callHook(\"sendInspectorToClient\" /* SEND_INSPECTOR_TO_CLIENT */, getActiveInspectors());\n});\nfunction addInspector(inspector, descriptor) {\n var _a25, _b25;\n devtoolsInspector.push({\n options: inspector,\n descriptor,\n treeFilterPlaceholder: (_a25 = inspector.treeFilterPlaceholder) != null ? _a25 : \"Search tree...\",\n stateFilterPlaceholder: (_b25 = inspector.stateFilterPlaceholder) != null ? _b25 : \"Search state...\",\n treeFilter: \"\",\n selectedNodeId: \"\",\n appRecord: getAppRecord(descriptor.app)\n });\n callInspectorUpdatedHook();\n}\nfunction getActiveInspectors() {\n return devtoolsInspector.filter((inspector) => inspector.descriptor.app === activeAppRecord.value.app).filter((inspector) => inspector.descriptor.id !== \"components\").map((inspector) => {\n var _a25;\n const descriptor = inspector.descriptor;\n const options = inspector.options;\n return {\n id: options.id,\n label: options.label,\n logo: descriptor.logo,\n icon: `custom-ic-baseline-${(_a25 = options == null ? void 0 : options.icon) == null ? void 0 : _a25.replace(/_/g, \"-\")}`,\n packageName: descriptor.packageName,\n homepage: descriptor.homepage,\n pluginId: descriptor.id\n };\n });\n}\nfunction getInspector(id, app) {\n return devtoolsInspector.find((inspector) => inspector.options.id === id && (app ? inspector.descriptor.app === app : true));\n}\nfunction createDevToolsCtxHooks() {\n const hooks2 = createHooks();\n hooks2.hook(\"addInspector\" /* ADD_INSPECTOR */, ({ inspector, plugin }) => {\n addInspector(inspector, plugin.descriptor);\n });\n const debounceSendInspectorTree = debounce(async ({ inspectorId, plugin }) => {\n var _a25;\n if (!inspectorId || !((_a25 = plugin == null ? void 0 : plugin.descriptor) == null ? void 0 : _a25.app) || devtoolsState.highPerfModeEnabled)\n return;\n const inspector = getInspector(inspectorId, plugin.descriptor.app);\n const _payload = {\n app: plugin.descriptor.app,\n inspectorId,\n filter: (inspector == null ? void 0 : inspector.treeFilter) || \"\",\n rootNodes: []\n };\n await new Promise((resolve) => {\n hooks2.callHookWith(async (callbacks) => {\n await Promise.all(callbacks.map((cb) => cb(_payload)));\n resolve();\n }, \"getInspectorTree\" /* GET_INSPECTOR_TREE */);\n });\n hooks2.callHookWith(async (callbacks) => {\n await Promise.all(callbacks.map((cb) => cb({\n inspectorId,\n rootNodes: _payload.rootNodes\n })));\n }, \"sendInspectorTreeToClient\" /* SEND_INSPECTOR_TREE_TO_CLIENT */);\n }, 120);\n hooks2.hook(\"sendInspectorTree\" /* SEND_INSPECTOR_TREE */, debounceSendInspectorTree);\n const debounceSendInspectorState = debounce(async ({ inspectorId, plugin }) => {\n var _a25;\n if (!inspectorId || !((_a25 = plugin == null ? void 0 : plugin.descriptor) == null ? void 0 : _a25.app) || devtoolsState.highPerfModeEnabled)\n return;\n const inspector = getInspector(inspectorId, plugin.descriptor.app);\n const _payload = {\n app: plugin.descriptor.app,\n inspectorId,\n nodeId: (inspector == null ? void 0 : inspector.selectedNodeId) || \"\",\n state: null\n };\n const ctx = {\n currentTab: `custom-inspector:${inspectorId}`\n };\n if (_payload.nodeId) {\n await new Promise((resolve) => {\n hooks2.callHookWith(async (callbacks) => {\n await Promise.all(callbacks.map((cb) => cb(_payload, ctx)));\n resolve();\n }, \"getInspectorState\" /* GET_INSPECTOR_STATE */);\n });\n }\n hooks2.callHookWith(async (callbacks) => {\n await Promise.all(callbacks.map((cb) => cb({\n inspectorId,\n nodeId: _payload.nodeId,\n state: _payload.state\n })));\n }, \"sendInspectorStateToClient\" /* SEND_INSPECTOR_STATE_TO_CLIENT */);\n }, 120);\n hooks2.hook(\"sendInspectorState\" /* SEND_INSPECTOR_STATE */, debounceSendInspectorState);\n hooks2.hook(\"customInspectorSelectNode\" /* CUSTOM_INSPECTOR_SELECT_NODE */, ({ inspectorId, nodeId, plugin }) => {\n const inspector = getInspector(inspectorId, plugin.descriptor.app);\n if (!inspector)\n return;\n inspector.selectedNodeId = nodeId;\n });\n hooks2.hook(\"timelineLayerAdded\" /* TIMELINE_LAYER_ADDED */, ({ options, plugin }) => {\n addTimelineLayer(options, plugin.descriptor);\n });\n hooks2.hook(\"timelineEventAdded\" /* TIMELINE_EVENT_ADDED */, ({ options, plugin }) => {\n var _a25;\n const internalLayerIds = [\"performance\", \"component-event\", \"keyboard\", \"mouse\"];\n if (devtoolsState.highPerfModeEnabled || !((_a25 = devtoolsState.timelineLayersState) == null ? void 0 : _a25[plugin.descriptor.id]) && !internalLayerIds.includes(options.layerId))\n return;\n hooks2.callHookWith(async (callbacks) => {\n await Promise.all(callbacks.map((cb) => cb(options)));\n }, \"sendTimelineEventToClient\" /* SEND_TIMELINE_EVENT_TO_CLIENT */);\n });\n hooks2.hook(\"getComponentInstances\" /* GET_COMPONENT_INSTANCES */, async ({ app }) => {\n const appRecord = app.__VUE_DEVTOOLS_NEXT_APP_RECORD__;\n if (!appRecord)\n return null;\n const appId = appRecord.id.toString();\n const instances = [...appRecord.instanceMap].filter(([key]) => key.split(\":\")[0] === appId).map(([, instance]) => instance);\n return instances;\n });\n hooks2.hook(\"getComponentBounds\" /* GET_COMPONENT_BOUNDS */, async ({ instance }) => {\n const bounds = getComponentBoundingRect(instance);\n return bounds;\n });\n hooks2.hook(\"getComponentName\" /* GET_COMPONENT_NAME */, ({ instance }) => {\n const name = getInstanceName(instance);\n return name;\n });\n hooks2.hook(\"componentHighlight\" /* COMPONENT_HIGHLIGHT */, ({ uid }) => {\n const instance = activeAppRecord.value.instanceMap.get(uid);\n if (instance) {\n highlight(instance);\n }\n });\n hooks2.hook(\"componentUnhighlight\" /* COMPONENT_UNHIGHLIGHT */, () => {\n unhighlight();\n });\n return hooks2;\n}\n\n// src/ctx/state.ts\nvar _a4, _b4;\n(_b4 = (_a4 = target).__VUE_DEVTOOLS_KIT_APP_RECORDS__) != null ? _b4 : _a4.__VUE_DEVTOOLS_KIT_APP_RECORDS__ = [];\nvar _a5, _b5;\n(_b5 = (_a5 = target).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__) != null ? _b5 : _a5.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ = {};\nvar _a6, _b6;\n(_b6 = (_a6 = target).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__) != null ? _b6 : _a6.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ = \"\";\nvar _a7, _b7;\n(_b7 = (_a7 = target).__VUE_DEVTOOLS_KIT_CUSTOM_TABS__) != null ? _b7 : _a7.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__ = [];\nvar _a8, _b8;\n(_b8 = (_a8 = target).__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__) != null ? _b8 : _a8.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__ = [];\nvar STATE_KEY = \"__VUE_DEVTOOLS_KIT_GLOBAL_STATE__\";\nfunction initStateFactory() {\n return {\n connected: false,\n clientConnected: false,\n vitePluginDetected: true,\n appRecords: [],\n activeAppRecordId: \"\",\n tabs: [],\n commands: [],\n highPerfModeEnabled: true,\n devtoolsClientDetected: {},\n perfUniqueGroupId: 0,\n timelineLayersState: getTimelineLayersStateFromStorage()\n };\n}\nvar _a9, _b9;\n(_b9 = (_a9 = target)[STATE_KEY]) != null ? _b9 : _a9[STATE_KEY] = initStateFactory();\nvar callStateUpdatedHook = debounce((state) => {\n devtoolsContext.hooks.callHook(\"devtoolsStateUpdated\" /* DEVTOOLS_STATE_UPDATED */, { state });\n});\ndebounce((state, oldState) => {\n devtoolsContext.hooks.callHook(\"devtoolsConnectedUpdated\" /* DEVTOOLS_CONNECTED_UPDATED */, { state, oldState });\n});\nvar devtoolsAppRecords = new Proxy(target.__VUE_DEVTOOLS_KIT_APP_RECORDS__, {\n get(_target, prop, receiver) {\n if (prop === \"value\")\n return target.__VUE_DEVTOOLS_KIT_APP_RECORDS__;\n return target.__VUE_DEVTOOLS_KIT_APP_RECORDS__[prop];\n }\n});\nvar activeAppRecord = new Proxy(target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__, {\n get(_target, prop, receiver) {\n if (prop === \"value\")\n return target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__;\n else if (prop === \"id\")\n return target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__;\n return target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__[prop];\n }\n});\nfunction updateAllStates() {\n callStateUpdatedHook({\n ...target[STATE_KEY],\n appRecords: devtoolsAppRecords.value,\n activeAppRecordId: activeAppRecord.id,\n tabs: target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__,\n commands: target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__\n });\n}\nfunction setActiveAppRecord(app) {\n target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ = app;\n updateAllStates();\n}\nfunction setActiveAppRecordId(id) {\n target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ = id;\n updateAllStates();\n}\nvar devtoolsState = new Proxy(target[STATE_KEY], {\n get(target22, property) {\n if (property === \"appRecords\") {\n return devtoolsAppRecords;\n } else if (property === \"activeAppRecordId\") {\n return activeAppRecord.id;\n } else if (property === \"tabs\") {\n return target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__;\n } else if (property === \"commands\") {\n return target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;\n }\n return target[STATE_KEY][property];\n },\n deleteProperty(target22, property) {\n delete target22[property];\n return true;\n },\n set(target22, property, value) {\n target22[property] = value;\n target[STATE_KEY][property] = value;\n return true;\n }\n});\nfunction openInEditor(options = {}) {\n var _a25, _b25, _c;\n const { file, host, baseUrl = window.location.origin, line = 0, column = 0 } = options;\n if (file) {\n if (host === \"chrome-extension\") {\n const fileName = file.replace(/\\\\/g, \"\\\\\\\\\");\n const _baseUrl = (_b25 = (_a25 = window.VUE_DEVTOOLS_CONFIG) == null ? void 0 : _a25.openInEditorHost) != null ? _b25 : \"/\";\n fetch(`${_baseUrl}__open-in-editor?file=${encodeURI(file)}`).then((response) => {\n if (!response.ok) {\n const msg = `Opening component ${fileName} failed`;\n console.log(`%c${msg}`, \"color:red\");\n }\n });\n } else if (devtoolsState.vitePluginDetected) {\n const _baseUrl = (_c = target.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__) != null ? _c : baseUrl;\n target.__VUE_INSPECTOR__.openInEditor(_baseUrl, file, line, column);\n }\n }\n}\n\n// src/core/plugin/index.ts\ninit_esm_shims();\n\n// src/api/index.ts\ninit_esm_shims();\n\n// src/api/v6/index.ts\ninit_esm_shims();\n\n// src/core/plugin/plugin-settings.ts\ninit_esm_shims();\n\n// src/ctx/plugin.ts\ninit_esm_shims();\nvar _a10, _b10;\n(_b10 = (_a10 = target).__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__) != null ? _b10 : _a10.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__ = [];\nvar devtoolsPluginBuffer = new Proxy(target.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__, {\n get(target22, prop, receiver) {\n return Reflect.get(target22, prop, receiver);\n }\n});\n\n// src/core/plugin/plugin-settings.ts\nfunction _getSettings(settings) {\n const _settings = {};\n Object.keys(settings).forEach((key) => {\n _settings[key] = settings[key].defaultValue;\n });\n return _settings;\n}\nfunction getPluginLocalKey(pluginId) {\n return `__VUE_DEVTOOLS_NEXT_PLUGIN_SETTINGS__${pluginId}__`;\n}\nfunction getPluginSettingsOptions(pluginId) {\n var _a25, _b25, _c;\n const item = (_b25 = (_a25 = devtoolsPluginBuffer.find((item2) => {\n var _a26;\n return item2[0].id === pluginId && !!((_a26 = item2[0]) == null ? void 0 : _a26.settings);\n })) == null ? void 0 : _a25[0]) != null ? _b25 : null;\n return (_c = item == null ? void 0 : item.settings) != null ? _c : null;\n}\nfunction getPluginSettings(pluginId, fallbackValue) {\n var _a25, _b25, _c;\n const localKey = getPluginLocalKey(pluginId);\n if (localKey) {\n const localSettings = localStorage.getItem(localKey);\n if (localSettings) {\n return JSON.parse(localSettings);\n }\n }\n if (pluginId) {\n const item = (_b25 = (_a25 = devtoolsPluginBuffer.find((item2) => item2[0].id === pluginId)) == null ? void 0 : _a25[0]) != null ? _b25 : null;\n return _getSettings((_c = item == null ? void 0 : item.settings) != null ? _c : {});\n }\n return _getSettings(fallbackValue);\n}\nfunction initPluginSettings(pluginId, settings) {\n const localKey = getPluginLocalKey(pluginId);\n const localSettings = localStorage.getItem(localKey);\n if (!localSettings) {\n localStorage.setItem(localKey, JSON.stringify(_getSettings(settings)));\n }\n}\nfunction setPluginSettings(pluginId, key, value) {\n const localKey = getPluginLocalKey(pluginId);\n const localSettings = localStorage.getItem(localKey);\n const parsedLocalSettings = JSON.parse(localSettings || \"{}\");\n const updated = {\n ...parsedLocalSettings,\n [key]: value\n };\n localStorage.setItem(localKey, JSON.stringify(updated));\n devtoolsContext.hooks.callHookWith((callbacks) => {\n callbacks.forEach((cb) => cb({\n pluginId,\n key,\n oldValue: parsedLocalSettings[key],\n newValue: value,\n settings: updated\n }));\n }, \"setPluginSettings\" /* SET_PLUGIN_SETTINGS */);\n}\n\n// src/hook/index.ts\ninit_esm_shims();\n\n// src/types/index.ts\ninit_esm_shims();\n\n// src/types/app.ts\ninit_esm_shims();\n\n// src/types/command.ts\ninit_esm_shims();\n\n// src/types/component.ts\ninit_esm_shims();\n\n// src/types/hook.ts\ninit_esm_shims();\n\n// src/types/inspector.ts\ninit_esm_shims();\n\n// src/types/plugin.ts\ninit_esm_shims();\n\n// src/types/router.ts\ninit_esm_shims();\n\n// src/types/tab.ts\ninit_esm_shims();\n\n// src/types/timeline.ts\ninit_esm_shims();\n\n// src/hook/index.ts\nvar _a11, _b11;\nvar devtoolsHooks = (_b11 = (_a11 = target).__VUE_DEVTOOLS_HOOK) != null ? _b11 : _a11.__VUE_DEVTOOLS_HOOK = createHooks();\nvar on = {\n vueAppInit(fn) {\n devtoolsHooks.hook(\"app:init\" /* APP_INIT */, fn);\n },\n vueAppUnmount(fn) {\n devtoolsHooks.hook(\"app:unmount\" /* APP_UNMOUNT */, fn);\n },\n vueAppConnected(fn) {\n devtoolsHooks.hook(\"app:connected\" /* APP_CONNECTED */, fn);\n },\n componentAdded(fn) {\n return devtoolsHooks.hook(\"component:added\" /* COMPONENT_ADDED */, fn);\n },\n componentEmit(fn) {\n return devtoolsHooks.hook(\"component:emit\" /* COMPONENT_EMIT */, fn);\n },\n componentUpdated(fn) {\n return devtoolsHooks.hook(\"component:updated\" /* COMPONENT_UPDATED */, fn);\n },\n componentRemoved(fn) {\n return devtoolsHooks.hook(\"component:removed\" /* COMPONENT_REMOVED */, fn);\n },\n setupDevtoolsPlugin(fn) {\n devtoolsHooks.hook(\"devtools-plugin:setup\" /* SETUP_DEVTOOLS_PLUGIN */, fn);\n },\n perfStart(fn) {\n return devtoolsHooks.hook(\"perf:start\" /* PERFORMANCE_START */, fn);\n },\n perfEnd(fn) {\n return devtoolsHooks.hook(\"perf:end\" /* PERFORMANCE_END */, fn);\n }\n};\nvar hook = {\n on,\n setupDevToolsPlugin(pluginDescriptor, setupFn) {\n return devtoolsHooks.callHook(\"devtools-plugin:setup\" /* SETUP_DEVTOOLS_PLUGIN */, pluginDescriptor, setupFn);\n }\n};\n\n// src/api/v6/index.ts\nvar DevToolsV6PluginAPI = class {\n constructor({ plugin, ctx }) {\n this.hooks = ctx.hooks;\n this.plugin = plugin;\n }\n get on() {\n return {\n // component inspector\n visitComponentTree: (handler) => {\n this.hooks.hook(\"visitComponentTree\" /* VISIT_COMPONENT_TREE */, handler);\n },\n inspectComponent: (handler) => {\n this.hooks.hook(\"inspectComponent\" /* INSPECT_COMPONENT */, handler);\n },\n editComponentState: (handler) => {\n this.hooks.hook(\"editComponentState\" /* EDIT_COMPONENT_STATE */, handler);\n },\n // custom inspector\n getInspectorTree: (handler) => {\n this.hooks.hook(\"getInspectorTree\" /* GET_INSPECTOR_TREE */, handler);\n },\n getInspectorState: (handler) => {\n this.hooks.hook(\"getInspectorState\" /* GET_INSPECTOR_STATE */, handler);\n },\n editInspectorState: (handler) => {\n this.hooks.hook(\"editInspectorState\" /* EDIT_INSPECTOR_STATE */, handler);\n },\n // timeline\n inspectTimelineEvent: (handler) => {\n this.hooks.hook(\"inspectTimelineEvent\" /* INSPECT_TIMELINE_EVENT */, handler);\n },\n timelineCleared: (handler) => {\n this.hooks.hook(\"timelineCleared\" /* TIMELINE_CLEARED */, handler);\n },\n // settings\n setPluginSettings: (handler) => {\n this.hooks.hook(\"setPluginSettings\" /* SET_PLUGIN_SETTINGS */, handler);\n }\n };\n }\n // component inspector\n notifyComponentUpdate(instance) {\n var _a25;\n if (devtoolsState.highPerfModeEnabled) {\n return;\n }\n const inspector = getActiveInspectors().find((i) => i.packageName === this.plugin.descriptor.packageName);\n if (inspector == null ? void 0 : inspector.id) {\n if (instance) {\n const args = [\n instance.appContext.app,\n instance.uid,\n (_a25 = instance.parent) == null ? void 0 : _a25.uid,\n instance\n ];\n devtoolsHooks.callHook(\"component:updated\" /* COMPONENT_UPDATED */, ...args);\n } else {\n devtoolsHooks.callHook(\"component:updated\" /* COMPONENT_UPDATED */);\n }\n this.hooks.callHook(\"sendInspectorState\" /* SEND_INSPECTOR_STATE */, { inspectorId: inspector.id, plugin: this.plugin });\n }\n }\n // custom inspector\n addInspector(options) {\n this.hooks.callHook(\"addInspector\" /* ADD_INSPECTOR */, { inspector: options, plugin: this.plugin });\n if (this.plugin.descriptor.settings) {\n initPluginSettings(options.id, this.plugin.descriptor.settings);\n }\n }\n sendInspectorTree(inspectorId) {\n if (devtoolsState.highPerfModeEnabled) {\n return;\n }\n this.hooks.callHook(\"sendInspectorTree\" /* SEND_INSPECTOR_TREE */, { inspectorId, plugin: this.plugin });\n }\n sendInspectorState(inspectorId) {\n if (devtoolsState.highPerfModeEnabled) {\n return;\n }\n this.hooks.callHook(\"sendInspectorState\" /* SEND_INSPECTOR_STATE */, { inspectorId, plugin: this.plugin });\n }\n selectInspectorNode(inspectorId, nodeId) {\n this.hooks.callHook(\"customInspectorSelectNode\" /* CUSTOM_INSPECTOR_SELECT_NODE */, { inspectorId, nodeId, plugin: this.plugin });\n }\n visitComponentTree(payload) {\n return this.hooks.callHook(\"visitComponentTree\" /* VISIT_COMPONENT_TREE */, payload);\n }\n // timeline\n now() {\n if (devtoolsState.highPerfModeEnabled) {\n return 0;\n }\n return Date.now();\n }\n addTimelineLayer(options) {\n this.hooks.callHook(\"timelineLayerAdded\" /* TIMELINE_LAYER_ADDED */, { options, plugin: this.plugin });\n }\n addTimelineEvent(options) {\n if (devtoolsState.highPerfModeEnabled) {\n return;\n }\n this.hooks.callHook(\"timelineEventAdded\" /* TIMELINE_EVENT_ADDED */, { options, plugin: this.plugin });\n }\n // settings\n getSettings(pluginId) {\n return getPluginSettings(pluginId != null ? pluginId : this.plugin.descriptor.id, this.plugin.descriptor.settings);\n }\n // utilities\n getComponentInstances(app) {\n return this.hooks.callHook(\"getComponentInstances\" /* GET_COMPONENT_INSTANCES */, { app });\n }\n getComponentBounds(instance) {\n return this.hooks.callHook(\"getComponentBounds\" /* GET_COMPONENT_BOUNDS */, { instance });\n }\n getComponentName(instance) {\n return this.hooks.callHook(\"getComponentName\" /* GET_COMPONENT_NAME */, { instance });\n }\n highlightElement(instance) {\n const uid = instance.__VUE_DEVTOOLS_NEXT_UID__;\n return this.hooks.callHook(\"componentHighlight\" /* COMPONENT_HIGHLIGHT */, { uid });\n }\n unhighlightElement() {\n return this.hooks.callHook(\"componentUnhighlight\" /* COMPONENT_UNHIGHLIGHT */);\n }\n};\n\n// src/api/index.ts\nvar DevToolsPluginAPI = DevToolsV6PluginAPI;\n\n// src/core/plugin/components.ts\ninit_esm_shims();\n\n// src/core/component/state/index.ts\ninit_esm_shims();\n\n// src/core/component/state/process.ts\ninit_esm_shims();\n\n// src/core/component/state/constants.ts\ninit_esm_shims();\nvar UNDEFINED = \"__vue_devtool_undefined__\";\nvar INFINITY = \"__vue_devtool_infinity__\";\nvar NEGATIVE_INFINITY = \"__vue_devtool_negative_infinity__\";\nvar NAN = \"__vue_devtool_nan__\";\n\n// src/core/component/state/util.ts\ninit_esm_shims();\n\n// src/core/component/state/is.ts\ninit_esm_shims();\n\n// src/core/component/state/util.ts\nvar tokenMap = {\n [UNDEFINED]: \"undefined\",\n [NAN]: \"NaN\",\n [INFINITY]: \"Infinity\",\n [NEGATIVE_INFINITY]: \"-Infinity\"\n};\nObject.entries(tokenMap).reduce((acc, [key, value]) => {\n acc[value] = key;\n return acc;\n}, {});\n\n// src/core/component/tree/walker.ts\ninit_esm_shims();\n\n// src/core/component/tree/filter.ts\ninit_esm_shims();\n\n// src/core/timeline/index.ts\ninit_esm_shims();\n\n// src/core/timeline/perf.ts\ninit_esm_shims();\n\n// src/core/vm/index.ts\ninit_esm_shims();\n\n// src/core/plugin/index.ts\nvar _a12, _b12;\n(_b12 = (_a12 = target).__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__) != null ? _b12 : _a12.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__ = /* @__PURE__ */ new Set();\nfunction setupDevToolsPlugin(pluginDescriptor, setupFn) {\n return hook.setupDevToolsPlugin(pluginDescriptor, setupFn);\n}\nfunction callDevToolsPluginSetupFn(plugin, app) {\n const [pluginDescriptor, setupFn] = plugin;\n if (pluginDescriptor.app !== app)\n return;\n const api = new DevToolsPluginAPI({\n plugin: {\n setupFn,\n descriptor: pluginDescriptor\n },\n ctx: devtoolsContext\n });\n if (pluginDescriptor.packageName === \"vuex\") {\n api.on.editInspectorState((payload) => {\n api.sendInspectorState(payload.inspectorId);\n });\n }\n setupFn(api);\n}\nfunction registerDevToolsPlugin(app, options) {\n if (target.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.has(app)) {\n return;\n }\n if (devtoolsState.highPerfModeEnabled && !(options == null ? void 0 : options.inspectingComponent)) {\n return;\n }\n target.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.add(app);\n devtoolsPluginBuffer.forEach((plugin) => {\n callDevToolsPluginSetupFn(plugin, app);\n });\n}\n\n// src/core/router/index.ts\ninit_esm_shims();\n\n// src/ctx/router.ts\ninit_esm_shims();\nvar ROUTER_KEY = \"__VUE_DEVTOOLS_ROUTER__\";\nvar ROUTER_INFO_KEY = \"__VUE_DEVTOOLS_ROUTER_INFO__\";\nvar _a13, _b13;\n(_b13 = (_a13 = target)[ROUTER_INFO_KEY]) != null ? _b13 : _a13[ROUTER_INFO_KEY] = {\n currentRoute: null,\n routes: []\n};\nvar _a14, _b14;\n(_b14 = (_a14 = target)[ROUTER_KEY]) != null ? _b14 : _a14[ROUTER_KEY] = {};\nnew Proxy(target[ROUTER_INFO_KEY], {\n get(target22, property) {\n return target[ROUTER_INFO_KEY][property];\n }\n});\nnew Proxy(target[ROUTER_KEY], {\n get(target22, property) {\n if (property === \"value\") {\n return target[ROUTER_KEY];\n }\n }\n});\n\n// src/core/router/index.ts\nfunction getRoutes(router) {\n const routesMap = /* @__PURE__ */ new Map();\n return ((router == null ? void 0 : router.getRoutes()) || []).filter((i) => !routesMap.has(i.path) && routesMap.set(i.path, 1));\n}\nfunction filterRoutes(routes) {\n return routes.map((item) => {\n let { path, name, children, meta } = item;\n if (children == null ? void 0 : children.length)\n children = filterRoutes(children);\n return {\n path,\n name,\n children,\n meta\n };\n });\n}\nfunction filterCurrentRoute(route) {\n if (route) {\n const { fullPath, hash, href, path, name, matched, params, query } = route;\n return {\n fullPath,\n hash,\n href,\n path,\n name,\n params,\n query,\n matched: filterRoutes(matched)\n };\n }\n return route;\n}\nfunction normalizeRouterInfo(appRecord, activeAppRecord2) {\n function init() {\n var _a25;\n const router = (_a25 = appRecord.app) == null ? void 0 : _a25.config.globalProperties.$router;\n const currentRoute = filterCurrentRoute(router == null ? void 0 : router.currentRoute.value);\n const routes = filterRoutes(getRoutes(router));\n const c = console.warn;\n console.warn = () => {\n };\n target[ROUTER_INFO_KEY] = {\n currentRoute: currentRoute ? deepClone(currentRoute) : {},\n routes: deepClone(routes)\n };\n target[ROUTER_KEY] = router;\n console.warn = c;\n }\n init();\n hook.on.componentUpdated(debounce(() => {\n var _a25;\n if (((_a25 = activeAppRecord2.value) == null ? void 0 : _a25.app) !== appRecord.app)\n return;\n init();\n if (devtoolsState.highPerfModeEnabled)\n return;\n devtoolsContext.hooks.callHook(\"routerInfoUpdated\" /* ROUTER_INFO_UPDATED */, { state: target[ROUTER_INFO_KEY] });\n }, 200));\n}\n\n// src/ctx/api.ts\nfunction createDevToolsApi(hooks2) {\n return {\n // get inspector tree\n async getInspectorTree(payload) {\n const _payload = {\n ...payload,\n app: activeAppRecord.value.app,\n rootNodes: []\n };\n await new Promise((resolve) => {\n hooks2.callHookWith(async (callbacks) => {\n await Promise.all(callbacks.map((cb) => cb(_payload)));\n resolve();\n }, \"getInspectorTree\" /* GET_INSPECTOR_TREE */);\n });\n return _payload.rootNodes;\n },\n // get inspector state\n async getInspectorState(payload) {\n const _payload = {\n ...payload,\n app: activeAppRecord.value.app,\n state: null\n };\n const ctx = {\n currentTab: `custom-inspector:${payload.inspectorId}`\n };\n await new Promise((resolve) => {\n hooks2.callHookWith(async (callbacks) => {\n await Promise.all(callbacks.map((cb) => cb(_payload, ctx)));\n resolve();\n }, \"getInspectorState\" /* GET_INSPECTOR_STATE */);\n });\n return _payload.state;\n },\n // edit inspector state\n editInspectorState(payload) {\n const stateEditor2 = new StateEditor();\n const _payload = {\n ...payload,\n app: activeAppRecord.value.app,\n set: (obj, path = payload.path, value = payload.state.value, cb) => {\n stateEditor2.set(obj, path, value, cb || stateEditor2.createDefaultSetCallback(payload.state));\n }\n };\n hooks2.callHookWith((callbacks) => {\n callbacks.forEach((cb) => cb(_payload));\n }, \"editInspectorState\" /* EDIT_INSPECTOR_STATE */);\n },\n // send inspector state\n sendInspectorState(inspectorId) {\n const inspector = getInspector(inspectorId);\n hooks2.callHook(\"sendInspectorState\" /* SEND_INSPECTOR_STATE */, { inspectorId, plugin: {\n descriptor: inspector.descriptor,\n setupFn: () => ({})\n } });\n },\n // inspect component inspector\n inspectComponentInspector() {\n return inspectComponentHighLighter();\n },\n // cancel inspect component inspector\n cancelInspectComponentInspector() {\n return cancelInspectComponentHighLighter();\n },\n // get component render code\n getComponentRenderCode(id) {\n const instance = getComponentInstance(activeAppRecord.value, id);\n if (instance)\n return !((instance == null ? void 0 : instance.type) instanceof Function) ? instance.render.toString() : instance.type.toString();\n },\n // scroll to component\n scrollToComponent(id) {\n return scrollToComponent({ id });\n },\n // open in editor\n openInEditor,\n // get vue inspector\n getVueInspector: getComponentInspector,\n // toggle app\n toggleApp(id, options) {\n const appRecord = devtoolsAppRecords.value.find((record) => record.id === id);\n if (appRecord) {\n setActiveAppRecordId(id);\n setActiveAppRecord(appRecord);\n normalizeRouterInfo(appRecord, activeAppRecord);\n callInspectorUpdatedHook();\n registerDevToolsPlugin(appRecord.app, options);\n }\n },\n // inspect dom\n inspectDOM(instanceId) {\n const instance = getComponentInstance(activeAppRecord.value, instanceId);\n if (instance) {\n const [el] = getRootElementsFromComponentInstance(instance);\n if (el) {\n target.__VUE_DEVTOOLS_INSPECT_DOM_TARGET__ = el;\n }\n }\n },\n updatePluginSettings(pluginId, key, value) {\n setPluginSettings(pluginId, key, value);\n },\n getPluginSettings(pluginId) {\n return {\n options: getPluginSettingsOptions(pluginId),\n values: getPluginSettings(pluginId)\n };\n }\n };\n}\n\n// src/ctx/env.ts\ninit_esm_shims();\nvar _a15, _b15;\n(_b15 = (_a15 = target).__VUE_DEVTOOLS_ENV__) != null ? _b15 : _a15.__VUE_DEVTOOLS_ENV__ = {\n vitePluginDetected: false\n};\n\n// src/ctx/index.ts\nvar hooks = createDevToolsCtxHooks();\nvar _a16, _b16;\n(_b16 = (_a16 = target).__VUE_DEVTOOLS_KIT_CONTEXT__) != null ? _b16 : _a16.__VUE_DEVTOOLS_KIT_CONTEXT__ = {\n hooks,\n get state() {\n return {\n ...devtoolsState,\n activeAppRecordId: activeAppRecord.id,\n activeAppRecord: activeAppRecord.value,\n appRecords: devtoolsAppRecords.value\n };\n },\n api: createDevToolsApi(hooks)\n};\nvar devtoolsContext = target.__VUE_DEVTOOLS_KIT_CONTEXT__;\n\n// src/core/app/index.ts\ninit_esm_shims();\n__toESM(require_speakingurl2());\nvar _a17, _b17;\n(_b17 = (_a17 = target).__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__) != null ? _b17 : _a17.__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__ = {\n id: 0,\n appIds: /* @__PURE__ */ new Set()\n};\n\n// src/core/high-perf-mode/index.ts\ninit_esm_shims();\nfunction toggleHighPerfMode(state) {\n devtoolsState.highPerfModeEnabled = state != null ? state : !devtoolsState.highPerfModeEnabled;\n if (!state && activeAppRecord.value) {\n registerDevToolsPlugin(activeAppRecord.value.app);\n }\n}\n\n// src/core/component/state/format.ts\ninit_esm_shims();\n\n// src/core/component/state/reviver.ts\ninit_esm_shims();\n\n// src/core/devtools-client/detected.ts\ninit_esm_shims();\nfunction updateDevToolsClientDetected(params) {\n devtoolsState.devtoolsClientDetected = {\n ...devtoolsState.devtoolsClientDetected,\n ...params\n };\n const devtoolsClientVisible = Object.values(devtoolsState.devtoolsClientDetected).some(Boolean);\n toggleHighPerfMode(!devtoolsClientVisible);\n}\nvar _a18, _b18;\n(_b18 = (_a18 = target).__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__) != null ? _b18 : _a18.__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__ = updateDevToolsClientDetected;\n\n// src/messaging/index.ts\ninit_esm_shims();\n\n// src/messaging/presets/index.ts\ninit_esm_shims();\n\n// src/messaging/presets/broadcast-channel/index.ts\ninit_esm_shims();\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/index.js\ninit_esm_shims();\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/class-registry.js\ninit_esm_shims();\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/registry.js\ninit_esm_shims();\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/double-indexed-kv.js\ninit_esm_shims();\nvar DoubleIndexedKV = class {\n constructor() {\n this.keyToValue = /* @__PURE__ */ new Map();\n this.valueToKey = /* @__PURE__ */ new Map();\n }\n set(key, value) {\n this.keyToValue.set(key, value);\n this.valueToKey.set(value, key);\n }\n getByKey(key) {\n return this.keyToValue.get(key);\n }\n getByValue(value) {\n return this.valueToKey.get(value);\n }\n clear() {\n this.keyToValue.clear();\n this.valueToKey.clear();\n }\n};\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/registry.js\nvar Registry = class {\n constructor(generateIdentifier) {\n this.generateIdentifier = generateIdentifier;\n this.kv = new DoubleIndexedKV();\n }\n register(value, identifier) {\n if (this.kv.getByValue(value)) {\n return;\n }\n if (!identifier) {\n identifier = this.generateIdentifier(value);\n }\n this.kv.set(identifier, value);\n }\n clear() {\n this.kv.clear();\n }\n getIdentifier(value) {\n return this.kv.getByValue(value);\n }\n getValue(identifier) {\n return this.kv.getByKey(identifier);\n }\n};\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/class-registry.js\nvar ClassRegistry = class extends Registry {\n constructor() {\n super((c) => c.name);\n this.classToAllowedProps = /* @__PURE__ */ new Map();\n }\n register(value, options) {\n if (typeof options === \"object\") {\n if (options.allowProps) {\n this.classToAllowedProps.set(value, options.allowProps);\n }\n super.register(value, options.identifier);\n } else {\n super.register(value, options);\n }\n }\n getAllowedProps(value) {\n return this.classToAllowedProps.get(value);\n }\n};\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/custom-transformer-registry.js\ninit_esm_shims();\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/util.js\ninit_esm_shims();\nfunction valuesOfObj(record) {\n if (\"values\" in Object) {\n return Object.values(record);\n }\n const values = [];\n for (const key in record) {\n if (record.hasOwnProperty(key)) {\n values.push(record[key]);\n }\n }\n return values;\n}\nfunction find(record, predicate) {\n const values = valuesOfObj(record);\n if (\"find\" in values) {\n return values.find(predicate);\n }\n const valuesNotNever = values;\n for (let i = 0; i < valuesNotNever.length; i++) {\n const value = valuesNotNever[i];\n if (predicate(value)) {\n return value;\n }\n }\n return void 0;\n}\nfunction forEach(record, run) {\n Object.entries(record).forEach(([key, value]) => run(value, key));\n}\nfunction includes(arr, value) {\n return arr.indexOf(value) !== -1;\n}\nfunction findArr(record, predicate) {\n for (let i = 0; i < record.length; i++) {\n const value = record[i];\n if (predicate(value)) {\n return value;\n }\n }\n return void 0;\n}\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/custom-transformer-registry.js\nvar CustomTransformerRegistry = class {\n constructor() {\n this.transfomers = {};\n }\n register(transformer) {\n this.transfomers[transformer.name] = transformer;\n }\n findApplicable(v) {\n return find(this.transfomers, (transformer) => transformer.isApplicable(v));\n }\n findByName(name) {\n return this.transfomers[name];\n }\n};\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/plainer.js\ninit_esm_shims();\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/is.js\ninit_esm_shims();\nvar getType = (payload) => Object.prototype.toString.call(payload).slice(8, -1);\nvar isUndefined = (payload) => typeof payload === \"undefined\";\nvar isNull = (payload) => payload === null;\nvar isPlainObject2 = (payload) => {\n if (typeof payload !== \"object\" || payload === null)\n return false;\n if (payload === Object.prototype)\n return false;\n if (Object.getPrototypeOf(payload) === null)\n return true;\n return Object.getPrototypeOf(payload) === Object.prototype;\n};\nvar isEmptyObject = (payload) => isPlainObject2(payload) && Object.keys(payload).length === 0;\nvar isArray = (payload) => Array.isArray(payload);\nvar isString = (payload) => typeof payload === \"string\";\nvar isNumber = (payload) => typeof payload === \"number\" && !isNaN(payload);\nvar isBoolean = (payload) => typeof payload === \"boolean\";\nvar isRegExp = (payload) => payload instanceof RegExp;\nvar isMap = (payload) => payload instanceof Map;\nvar isSet = (payload) => payload instanceof Set;\nvar isSymbol = (payload) => getType(payload) === \"Symbol\";\nvar isDate = (payload) => payload instanceof Date && !isNaN(payload.valueOf());\nvar isError = (payload) => payload instanceof Error;\nvar isNaNValue = (payload) => typeof payload === \"number\" && isNaN(payload);\nvar isPrimitive2 = (payload) => isBoolean(payload) || isNull(payload) || isUndefined(payload) || isNumber(payload) || isString(payload) || isSymbol(payload);\nvar isBigint = (payload) => typeof payload === \"bigint\";\nvar isInfinite = (payload) => payload === Infinity || payload === -Infinity;\nvar isTypedArray = (payload) => ArrayBuffer.isView(payload) && !(payload instanceof DataView);\nvar isURL = (payload) => payload instanceof URL;\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/pathstringifier.js\ninit_esm_shims();\nvar escapeKey = (key) => key.replace(/\\./g, \"\\\\.\");\nvar stringifyPath = (path) => path.map(String).map(escapeKey).join(\".\");\nvar parsePath = (string) => {\n const result = [];\n let segment = \"\";\n for (let i = 0; i < string.length; i++) {\n let char = string.charAt(i);\n const isEscapedDot = char === \"\\\\\" && string.charAt(i + 1) === \".\";\n if (isEscapedDot) {\n segment += \".\";\n i++;\n continue;\n }\n const isEndOfSegment = char === \".\";\n if (isEndOfSegment) {\n result.push(segment);\n segment = \"\";\n continue;\n }\n segment += char;\n }\n const lastSegment = segment;\n result.push(lastSegment);\n return result;\n};\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/transformer.js\ninit_esm_shims();\nfunction simpleTransformation(isApplicable, annotation, transform, untransform) {\n return {\n isApplicable,\n annotation,\n transform,\n untransform\n };\n}\nvar simpleRules = [\n simpleTransformation(isUndefined, \"undefined\", () => null, () => void 0),\n simpleTransformation(isBigint, \"bigint\", (v) => v.toString(), (v) => {\n if (typeof BigInt !== \"undefined\") {\n return BigInt(v);\n }\n console.error(\"Please add a BigInt polyfill.\");\n return v;\n }),\n simpleTransformation(isDate, \"Date\", (v) => v.toISOString(), (v) => new Date(v)),\n simpleTransformation(isError, \"Error\", (v, superJson) => {\n const baseError = {\n name: v.name,\n message: v.message\n };\n superJson.allowedErrorProps.forEach((prop) => {\n baseError[prop] = v[prop];\n });\n return baseError;\n }, (v, superJson) => {\n const e = new Error(v.message);\n e.name = v.name;\n e.stack = v.stack;\n superJson.allowedErrorProps.forEach((prop) => {\n e[prop] = v[prop];\n });\n return e;\n }),\n simpleTransformation(isRegExp, \"regexp\", (v) => \"\" + v, (regex) => {\n const body = regex.slice(1, regex.lastIndexOf(\"/\"));\n const flags = regex.slice(regex.lastIndexOf(\"/\") + 1);\n return new RegExp(body, flags);\n }),\n simpleTransformation(\n isSet,\n \"set\",\n // (sets only exist in es6+)\n // eslint-disable-next-line es5/no-es6-methods\n (v) => [...v.values()],\n (v) => new Set(v)\n ),\n simpleTransformation(isMap, \"map\", (v) => [...v.entries()], (v) => new Map(v)),\n simpleTransformation((v) => isNaNValue(v) || isInfinite(v), \"number\", (v) => {\n if (isNaNValue(v)) {\n return \"NaN\";\n }\n if (v > 0) {\n return \"Infinity\";\n } else {\n return \"-Infinity\";\n }\n }, Number),\n simpleTransformation((v) => v === 0 && 1 / v === -Infinity, \"number\", () => {\n return \"-0\";\n }, Number),\n simpleTransformation(isURL, \"URL\", (v) => v.toString(), (v) => new URL(v))\n];\nfunction compositeTransformation(isApplicable, annotation, transform, untransform) {\n return {\n isApplicable,\n annotation,\n transform,\n untransform\n };\n}\nvar symbolRule = compositeTransformation((s, superJson) => {\n if (isSymbol(s)) {\n const isRegistered = !!superJson.symbolRegistry.getIdentifier(s);\n return isRegistered;\n }\n return false;\n}, (s, superJson) => {\n const identifier = superJson.symbolRegistry.getIdentifier(s);\n return [\"symbol\", identifier];\n}, (v) => v.description, (_, a, superJson) => {\n const value = superJson.symbolRegistry.getValue(a[1]);\n if (!value) {\n throw new Error(\"Trying to deserialize unknown symbol\");\n }\n return value;\n});\nvar constructorToName = [\n Int8Array,\n Uint8Array,\n Int16Array,\n Uint16Array,\n Int32Array,\n Uint32Array,\n Float32Array,\n Float64Array,\n Uint8ClampedArray\n].reduce((obj, ctor) => {\n obj[ctor.name] = ctor;\n return obj;\n}, {});\nvar typedArrayRule = compositeTransformation(isTypedArray, (v) => [\"typed-array\", v.constructor.name], (v) => [...v], (v, a) => {\n const ctor = constructorToName[a[1]];\n if (!ctor) {\n throw new Error(\"Trying to deserialize unknown typed array\");\n }\n return new ctor(v);\n});\nfunction isInstanceOfRegisteredClass(potentialClass, superJson) {\n if (potentialClass == null ? void 0 : potentialClass.constructor) {\n const isRegistered = !!superJson.classRegistry.getIdentifier(potentialClass.constructor);\n return isRegistered;\n }\n return false;\n}\nvar classRule = compositeTransformation(isInstanceOfRegisteredClass, (clazz, superJson) => {\n const identifier = superJson.classRegistry.getIdentifier(clazz.constructor);\n return [\"class\", identifier];\n}, (clazz, superJson) => {\n const allowedProps = superJson.classRegistry.getAllowedProps(clazz.constructor);\n if (!allowedProps) {\n return { ...clazz };\n }\n const result = {};\n allowedProps.forEach((prop) => {\n result[prop] = clazz[prop];\n });\n return result;\n}, (v, a, superJson) => {\n const clazz = superJson.classRegistry.getValue(a[1]);\n if (!clazz) {\n throw new Error(`Trying to deserialize unknown class '${a[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);\n }\n return Object.assign(Object.create(clazz.prototype), v);\n});\nvar customRule = compositeTransformation((value, superJson) => {\n return !!superJson.customTransformerRegistry.findApplicable(value);\n}, (value, superJson) => {\n const transformer = superJson.customTransformerRegistry.findApplicable(value);\n return [\"custom\", transformer.name];\n}, (value, superJson) => {\n const transformer = superJson.customTransformerRegistry.findApplicable(value);\n return transformer.serialize(value);\n}, (v, a, superJson) => {\n const transformer = superJson.customTransformerRegistry.findByName(a[1]);\n if (!transformer) {\n throw new Error(\"Trying to deserialize unknown custom value\");\n }\n return transformer.deserialize(v);\n});\nvar compositeRules = [classRule, symbolRule, customRule, typedArrayRule];\nvar transformValue = (value, superJson) => {\n const applicableCompositeRule = findArr(compositeRules, (rule) => rule.isApplicable(value, superJson));\n if (applicableCompositeRule) {\n return {\n value: applicableCompositeRule.transform(value, superJson),\n type: applicableCompositeRule.annotation(value, superJson)\n };\n }\n const applicableSimpleRule = findArr(simpleRules, (rule) => rule.isApplicable(value, superJson));\n if (applicableSimpleRule) {\n return {\n value: applicableSimpleRule.transform(value, superJson),\n type: applicableSimpleRule.annotation\n };\n }\n return void 0;\n};\nvar simpleRulesByAnnotation = {};\nsimpleRules.forEach((rule) => {\n simpleRulesByAnnotation[rule.annotation] = rule;\n});\nvar untransformValue = (json, type, superJson) => {\n if (isArray(type)) {\n switch (type[0]) {\n case \"symbol\":\n return symbolRule.untransform(json, type, superJson);\n case \"class\":\n return classRule.untransform(json, type, superJson);\n case \"custom\":\n return customRule.untransform(json, type, superJson);\n case \"typed-array\":\n return typedArrayRule.untransform(json, type, superJson);\n default:\n throw new Error(\"Unknown transformation: \" + type);\n }\n } else {\n const transformation = simpleRulesByAnnotation[type];\n if (!transformation) {\n throw new Error(\"Unknown transformation: \" + type);\n }\n return transformation.untransform(json, superJson);\n }\n};\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/accessDeep.js\ninit_esm_shims();\nvar getNthKey = (value, n) => {\n if (n > value.size)\n throw new Error(\"index out of bounds\");\n const keys = value.keys();\n while (n > 0) {\n keys.next();\n n--;\n }\n return keys.next().value;\n};\nfunction validatePath(path) {\n if (includes(path, \"__proto__\")) {\n throw new Error(\"__proto__ is not allowed as a property\");\n }\n if (includes(path, \"prototype\")) {\n throw new Error(\"prototype is not allowed as a property\");\n }\n if (includes(path, \"constructor\")) {\n throw new Error(\"constructor is not allowed as a property\");\n }\n}\nvar getDeep = (object, path) => {\n validatePath(path);\n for (let i = 0; i < path.length; i++) {\n const key = path[i];\n if (isSet(object)) {\n object = getNthKey(object, +key);\n } else if (isMap(object)) {\n const row = +key;\n const type = +path[++i] === 0 ? \"key\" : \"value\";\n const keyOfRow = getNthKey(object, row);\n switch (type) {\n case \"key\":\n object = keyOfRow;\n break;\n case \"value\":\n object = object.get(keyOfRow);\n break;\n }\n } else {\n object = object[key];\n }\n }\n return object;\n};\nvar setDeep = (object, path, mapper) => {\n validatePath(path);\n if (path.length === 0) {\n return mapper(object);\n }\n let parent = object;\n for (let i = 0; i < path.length - 1; i++) {\n const key = path[i];\n if (isArray(parent)) {\n const index = +key;\n parent = parent[index];\n } else if (isPlainObject2(parent)) {\n parent = parent[key];\n } else if (isSet(parent)) {\n const row = +key;\n parent = getNthKey(parent, row);\n } else if (isMap(parent)) {\n const isEnd = i === path.length - 2;\n if (isEnd) {\n break;\n }\n const row = +key;\n const type = +path[++i] === 0 ? \"key\" : \"value\";\n const keyOfRow = getNthKey(parent, row);\n switch (type) {\n case \"key\":\n parent = keyOfRow;\n break;\n case \"value\":\n parent = parent.get(keyOfRow);\n break;\n }\n }\n }\n const lastKey = path[path.length - 1];\n if (isArray(parent)) {\n parent[+lastKey] = mapper(parent[+lastKey]);\n } else if (isPlainObject2(parent)) {\n parent[lastKey] = mapper(parent[lastKey]);\n }\n if (isSet(parent)) {\n const oldValue = getNthKey(parent, +lastKey);\n const newValue = mapper(oldValue);\n if (oldValue !== newValue) {\n parent.delete(oldValue);\n parent.add(newValue);\n }\n }\n if (isMap(parent)) {\n const row = +path[path.length - 2];\n const keyToRow = getNthKey(parent, row);\n const type = +lastKey === 0 ? \"key\" : \"value\";\n switch (type) {\n case \"key\": {\n const newKey = mapper(keyToRow);\n parent.set(newKey, parent.get(keyToRow));\n if (newKey !== keyToRow) {\n parent.delete(keyToRow);\n }\n break;\n }\n case \"value\": {\n parent.set(keyToRow, mapper(parent.get(keyToRow)));\n break;\n }\n }\n }\n return object;\n};\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/plainer.js\nfunction traverse(tree, walker2, origin = []) {\n if (!tree) {\n return;\n }\n if (!isArray(tree)) {\n forEach(tree, (subtree, key) => traverse(subtree, walker2, [...origin, ...parsePath(key)]));\n return;\n }\n const [nodeValue, children] = tree;\n if (children) {\n forEach(children, (child, key) => {\n traverse(child, walker2, [...origin, ...parsePath(key)]);\n });\n }\n walker2(nodeValue, origin);\n}\nfunction applyValueAnnotations(plain, annotations, superJson) {\n traverse(annotations, (type, path) => {\n plain = setDeep(plain, path, (v) => untransformValue(v, type, superJson));\n });\n return plain;\n}\nfunction applyReferentialEqualityAnnotations(plain, annotations) {\n function apply(identicalPaths, path) {\n const object = getDeep(plain, parsePath(path));\n identicalPaths.map(parsePath).forEach((identicalObjectPath) => {\n plain = setDeep(plain, identicalObjectPath, () => object);\n });\n }\n if (isArray(annotations)) {\n const [root, other] = annotations;\n root.forEach((identicalPath) => {\n plain = setDeep(plain, parsePath(identicalPath), () => plain);\n });\n if (other) {\n forEach(other, apply);\n }\n } else {\n forEach(annotations, apply);\n }\n return plain;\n}\nvar isDeep = (object, superJson) => isPlainObject2(object) || isArray(object) || isMap(object) || isSet(object) || isInstanceOfRegisteredClass(object, superJson);\nfunction addIdentity(object, path, identities) {\n const existingSet = identities.get(object);\n if (existingSet) {\n existingSet.push(path);\n } else {\n identities.set(object, [path]);\n }\n}\nfunction generateReferentialEqualityAnnotations(identitites, dedupe) {\n const result = {};\n let rootEqualityPaths = void 0;\n identitites.forEach((paths) => {\n if (paths.length <= 1) {\n return;\n }\n if (!dedupe) {\n paths = paths.map((path) => path.map(String)).sort((a, b) => a.length - b.length);\n }\n const [representativePath, ...identicalPaths] = paths;\n if (representativePath.length === 0) {\n rootEqualityPaths = identicalPaths.map(stringifyPath);\n } else {\n result[stringifyPath(representativePath)] = identicalPaths.map(stringifyPath);\n }\n });\n if (rootEqualityPaths) {\n if (isEmptyObject(result)) {\n return [rootEqualityPaths];\n } else {\n return [rootEqualityPaths, result];\n }\n } else {\n return isEmptyObject(result) ? void 0 : result;\n }\n}\nvar walker = (object, identities, superJson, dedupe, path = [], objectsInThisPath = [], seenObjects = /* @__PURE__ */ new Map()) => {\n var _a25;\n const primitive = isPrimitive2(object);\n if (!primitive) {\n addIdentity(object, path, identities);\n const seen = seenObjects.get(object);\n if (seen) {\n return dedupe ? {\n transformedValue: null\n } : seen;\n }\n }\n if (!isDeep(object, superJson)) {\n const transformed2 = transformValue(object, superJson);\n const result2 = transformed2 ? {\n transformedValue: transformed2.value,\n annotations: [transformed2.type]\n } : {\n transformedValue: object\n };\n if (!primitive) {\n seenObjects.set(object, result2);\n }\n return result2;\n }\n if (includes(objectsInThisPath, object)) {\n return {\n transformedValue: null\n };\n }\n const transformationResult = transformValue(object, superJson);\n const transformed = (_a25 = transformationResult == null ? void 0 : transformationResult.value) != null ? _a25 : object;\n const transformedValue = isArray(transformed) ? [] : {};\n const innerAnnotations = {};\n forEach(transformed, (value, index) => {\n if (index === \"__proto__\" || index === \"constructor\" || index === \"prototype\") {\n throw new Error(`Detected property ${index}. This is a prototype pollution risk, please remove it from your object.`);\n }\n const recursiveResult = walker(value, identities, superJson, dedupe, [...path, index], [...objectsInThisPath, object], seenObjects);\n transformedValue[index] = recursiveResult.transformedValue;\n if (isArray(recursiveResult.annotations)) {\n innerAnnotations[index] = recursiveResult.annotations;\n } else if (isPlainObject2(recursiveResult.annotations)) {\n forEach(recursiveResult.annotations, (tree, key) => {\n innerAnnotations[escapeKey(index) + \".\" + key] = tree;\n });\n }\n });\n const result = isEmptyObject(innerAnnotations) ? {\n transformedValue,\n annotations: !!transformationResult ? [transformationResult.type] : void 0\n } : {\n transformedValue,\n annotations: !!transformationResult ? [transformationResult.type, innerAnnotations] : innerAnnotations\n };\n if (!primitive) {\n seenObjects.set(object, result);\n }\n return result;\n};\n\n// ../../node_modules/.pnpm/copy-anything@3.0.5/node_modules/copy-anything/dist/index.js\ninit_esm_shims();\n\n// ../../node_modules/.pnpm/is-what@4.1.16/node_modules/is-what/dist/index.js\ninit_esm_shims();\nfunction getType2(payload) {\n return Object.prototype.toString.call(payload).slice(8, -1);\n}\nfunction isArray2(payload) {\n return getType2(payload) === \"Array\";\n}\nfunction isPlainObject3(payload) {\n if (getType2(payload) !== \"Object\")\n return false;\n const prototype = Object.getPrototypeOf(payload);\n return !!prototype && prototype.constructor === Object && prototype === Object.prototype;\n}\n\n// ../../node_modules/.pnpm/copy-anything@3.0.5/node_modules/copy-anything/dist/index.js\nfunction assignProp(carry, key, newVal, originalObject, includeNonenumerable) {\n const propType = {}.propertyIsEnumerable.call(originalObject, key) ? \"enumerable\" : \"nonenumerable\";\n if (propType === \"enumerable\")\n carry[key] = newVal;\n if (includeNonenumerable && propType === \"nonenumerable\") {\n Object.defineProperty(carry, key, {\n value: newVal,\n enumerable: false,\n writable: true,\n configurable: true\n });\n }\n}\nfunction copy(target22, options = {}) {\n if (isArray2(target22)) {\n return target22.map((item) => copy(item, options));\n }\n if (!isPlainObject3(target22)) {\n return target22;\n }\n const props = Object.getOwnPropertyNames(target22);\n const symbols = Object.getOwnPropertySymbols(target22);\n return [...props, ...symbols].reduce((carry, key) => {\n if (isArray2(options.props) && !options.props.includes(key)) {\n return carry;\n }\n const val = target22[key];\n const newVal = copy(val, options);\n assignProp(carry, key, newVal, target22, options.nonenumerable);\n return carry;\n }, {});\n}\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/index.js\nvar SuperJSON = class {\n /**\n * @param dedupeReferentialEqualities If true, SuperJSON will make sure only one instance of referentially equal objects are serialized and the rest are replaced with `null`.\n */\n constructor({ dedupe = false } = {}) {\n this.classRegistry = new ClassRegistry();\n this.symbolRegistry = new Registry((s) => {\n var _a25;\n return (_a25 = s.description) != null ? _a25 : \"\";\n });\n this.customTransformerRegistry = new CustomTransformerRegistry();\n this.allowedErrorProps = [];\n this.dedupe = dedupe;\n }\n serialize(object) {\n const identities = /* @__PURE__ */ new Map();\n const output = walker(object, identities, this, this.dedupe);\n const res = {\n json: output.transformedValue\n };\n if (output.annotations) {\n res.meta = {\n ...res.meta,\n values: output.annotations\n };\n }\n const equalityAnnotations = generateReferentialEqualityAnnotations(identities, this.dedupe);\n if (equalityAnnotations) {\n res.meta = {\n ...res.meta,\n referentialEqualities: equalityAnnotations\n };\n }\n return res;\n }\n deserialize(payload) {\n const { json, meta } = payload;\n let result = copy(json);\n if (meta == null ? void 0 : meta.values) {\n result = applyValueAnnotations(result, meta.values, this);\n }\n if (meta == null ? void 0 : meta.referentialEqualities) {\n result = applyReferentialEqualityAnnotations(result, meta.referentialEqualities);\n }\n return result;\n }\n stringify(object) {\n return JSON.stringify(this.serialize(object));\n }\n parse(string) {\n return this.deserialize(JSON.parse(string));\n }\n registerClass(v, options) {\n this.classRegistry.register(v, options);\n }\n registerSymbol(v, identifier) {\n this.symbolRegistry.register(v, identifier);\n }\n registerCustom(transformer, name) {\n this.customTransformerRegistry.register({\n name,\n ...transformer\n });\n }\n allowErrorProps(...props) {\n this.allowedErrorProps.push(...props);\n }\n};\nSuperJSON.defaultInstance = new SuperJSON();\nSuperJSON.serialize = SuperJSON.defaultInstance.serialize.bind(SuperJSON.defaultInstance);\nSuperJSON.deserialize = SuperJSON.defaultInstance.deserialize.bind(SuperJSON.defaultInstance);\nSuperJSON.stringify = SuperJSON.defaultInstance.stringify.bind(SuperJSON.defaultInstance);\nSuperJSON.parse = SuperJSON.defaultInstance.parse.bind(SuperJSON.defaultInstance);\nSuperJSON.registerClass = SuperJSON.defaultInstance.registerClass.bind(SuperJSON.defaultInstance);\nSuperJSON.registerSymbol = SuperJSON.defaultInstance.registerSymbol.bind(SuperJSON.defaultInstance);\nSuperJSON.registerCustom = SuperJSON.defaultInstance.registerCustom.bind(SuperJSON.defaultInstance);\nSuperJSON.allowErrorProps = SuperJSON.defaultInstance.allowErrorProps.bind(SuperJSON.defaultInstance);\n\n// src/messaging/presets/broadcast-channel/context.ts\ninit_esm_shims();\n\n// src/messaging/presets/electron/index.ts\ninit_esm_shims();\n\n// src/messaging/presets/electron/client.ts\ninit_esm_shims();\n\n// src/messaging/presets/electron/context.ts\ninit_esm_shims();\n\n// src/messaging/presets/electron/proxy.ts\ninit_esm_shims();\n\n// src/messaging/presets/electron/server.ts\ninit_esm_shims();\n\n// src/messaging/presets/extension/index.ts\ninit_esm_shims();\n\n// src/messaging/presets/extension/client.ts\ninit_esm_shims();\n\n// src/messaging/presets/extension/context.ts\ninit_esm_shims();\n\n// src/messaging/presets/extension/proxy.ts\ninit_esm_shims();\n\n// src/messaging/presets/extension/server.ts\ninit_esm_shims();\n\n// src/messaging/presets/iframe/index.ts\ninit_esm_shims();\n\n// src/messaging/presets/iframe/client.ts\ninit_esm_shims();\n\n// src/messaging/presets/iframe/context.ts\ninit_esm_shims();\n\n// src/messaging/presets/iframe/server.ts\ninit_esm_shims();\n\n// src/messaging/presets/vite/index.ts\ninit_esm_shims();\n\n// src/messaging/presets/vite/client.ts\ninit_esm_shims();\n\n// src/messaging/presets/vite/context.ts\ninit_esm_shims();\n\n// src/messaging/presets/vite/server.ts\ninit_esm_shims();\n\n// src/messaging/presets/ws/index.ts\ninit_esm_shims();\n\n// src/messaging/presets/ws/client.ts\ninit_esm_shims();\n\n// src/messaging/presets/ws/context.ts\ninit_esm_shims();\n\n// src/messaging/presets/ws/server.ts\ninit_esm_shims();\n\n// src/messaging/index.ts\nvar _a19, _b19;\n(_b19 = (_a19 = target).__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__) != null ? _b19 : _a19.__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__ = [];\nvar _a20, _b20;\n(_b20 = (_a20 = target).__VUE_DEVTOOLS_KIT_RPC_CLIENT__) != null ? _b20 : _a20.__VUE_DEVTOOLS_KIT_RPC_CLIENT__ = null;\nvar _a21, _b21;\n(_b21 = (_a21 = target).__VUE_DEVTOOLS_KIT_RPC_SERVER__) != null ? _b21 : _a21.__VUE_DEVTOOLS_KIT_RPC_SERVER__ = null;\nvar _a22, _b22;\n(_b22 = (_a22 = target).__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__) != null ? _b22 : _a22.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__ = null;\nvar _a23, _b23;\n(_b23 = (_a23 = target).__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__) != null ? _b23 : _a23.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__ = null;\nvar _a24, _b24;\n(_b24 = (_a24 = target).__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__) != null ? _b24 : _a24.__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__ = null;\n\n// src/shared/index.ts\ninit_esm_shims();\n\n// src/shared/env.ts\ninit_esm_shims();\n\n// src/shared/time.ts\ninit_esm_shims();\n\n// src/shared/util.ts\ninit_esm_shims();\n\n// src/core/component/state/replacer.ts\ninit_esm_shims();\n\n// src/core/component/state/custom.ts\ninit_esm_shims();\n\n// src/shared/transfer.ts\ninit_esm_shims();\n\n// src/devtools/pseudoLocalize.ts\nvar ASCII = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\";\nvar ACCENTED_ASCII = \"\\xE2\\u1E03\\u0107\\u1E0B\\xE8\\u1E1F\\u011D\\u1E2B\\xED\\u0135\\u01E9\\u013A\\u1E41\\u0144\\u014F\\u1E57\\u024B\\u0155\\u015B\\u1E6D\\u016F\\u1E7F\\u1E98\\u1E8B\\u1E8F\\u1E93\\u1E00\\u1E02\\u1E08\\u1E0A\\u1E14\\u1E1E\\u1E20\\u1E22\\u1E2C\\u0134\\u1E34\\u013B\\u1E3E\\u014A\\xD5\\u1E54\\u024A\\u0154\\u1E60\\u1E6E\\u0168\\u1E7C\\u1E84\\u1E8C\\u0178\\u01B5\";\nfunction pseudoLocalize(str, options) {\n let finalString = \"\";\n if (options.prefix)\n finalString += options.prefix;\n for (let i = 0; i < str.length; i++) {\n const character = str[i];\n const convertedCharacter = options.accents ? ACCENTED_ASCII[ASCII.indexOf(character)] ?? character : character;\n finalString += convertedCharacter;\n }\n if (options.suffix)\n finalString += options.suffix;\n return finalString;\n}\n\n// src/devtools/plugin.ts\nfunction registerFluentVueDevtools(app, options, fluent) {\n let currentPseudoLocalize;\n const missingTranslations = /* @__PURE__ */ new Map();\n const oldWarnMissing = options.warnMissing;\n options.warnMissing = (key) => {\n const instance = getCurrentInstance();\n oldWarnMissing(key);\n if (!instance)\n return;\n missingTranslations.set(instance, missingTranslations.get(instance) ?? /* @__PURE__ */ new Set());\n missingTranslations.get(instance).add(key);\n };\n const hookedBundles = /* @__PURE__ */ new WeakSet();\n watchEffect(() => {\n const bundles = fluent.bundles;\n for (const bundle of bundles) {\n if (hookedBundles.has(bundle))\n continue;\n const userTransform = bundle._transform;\n bundle._transform = (str) => {\n if (userTransform != null)\n str = userTransform(str);\n if (currentPseudoLocalize != null)\n str = currentPseudoLocalize(str);\n return str;\n };\n hookedBundles.add(bundle);\n }\n }, { flush: \"sync\" });\n const cleanBundles = computed(() => {\n return [...fluent.bundles].map((bundle) => {\n const newBundle = new FluentBundle(bundle.locales, {\n functions: bundle._functions,\n useIsolating: bundle._useIsolating\n });\n newBundle._terms = bundle._terms;\n newBundle._messages = bundle._messages;\n return newBundle;\n });\n });\n setupDevToolsPlugin({\n id: \"fluent-vue\",\n label: \"fluent-vue\",\n packageName: \"fluent-vue\",\n homepage: \"https://fluent-vue.demivan.me\",\n logo: \"https://fluent-vue.demivan.me/assets/logo.svg\",\n componentStateTypes: [\"fluent-vue\"],\n app,\n settings: {\n components: {\n label: \"Components\"\n },\n // Use option as a header\n showLocalized: {\n defaultValue: true,\n label: \"Mark localized\",\n description: \"Mark localized components in component tree\",\n type: \"boolean\"\n },\n markMissing: {\n defaultValue: true,\n label: \"Mark missing\",\n description: \"Mark missing translations in component tree\",\n type: \"boolean\"\n },\n showI18n: {\n defaultValue: true,\n label: \"Mark i18n\",\n description: \"Mark i18n components in component tree\",\n type: \"boolean\"\n },\n pseudo: {\n label: \"Pseudolocalization\"\n },\n // Use option as a header\n pseudoEnable: {\n defaultValue: false,\n label: \"Enable\",\n description: \"Enable pseudolocalization\",\n type: \"boolean\"\n },\n pseudoAccents: {\n defaultValue: true,\n label: \"Accents\",\n description: \"Enable pseudolocalization accents\",\n type: \"boolean\"\n },\n pseudoPrefix: {\n label: \"Prefix\",\n type: \"text\",\n description: \"Prefix to wrap translation\",\n defaultValue: \"[\"\n },\n pseudoSuffix: {\n label: \"Suffix\",\n type: \"text\",\n description: \"Suffix to wrap translation\",\n defaultValue: \"]\"\n }\n }\n }, (api) => {\n api.on.visitComponentTree(({ treeNode, componentInstance }) => {\n var _a;\n const settings = api.getSettings();\n if (settings.showI18n && treeNode.name === options.componentName) {\n treeNode.tags.push({\n label: \"fluent-vue\",\n textColor: 0,\n backgroundColor: 4307075\n });\n }\n if (settings.showLocalized && ((_a = componentInstance == null ? void 0 : componentInstance.proxy) == null ? void 0 : _a.$options.fluent) != null) {\n treeNode.tags.push({\n label: \"localized\",\n textColor: 0,\n backgroundColor: 4307075\n });\n }\n const missing = missingTranslations.get(componentInstance);\n if (settings.markMissing && missing != null && missing.size > 0) {\n treeNode.tags.push({\n label: \"missing translations\",\n textColor: 16777215,\n backgroundColor: 11534368\n });\n }\n });\n api.on.inspectComponent(({ componentInstance, instanceData }) => {\n var _a;\n const missing = missingTranslations.get(componentInstance);\n if (missing) {\n for (const key of missing.values()) {\n instanceData.state.push({\n type: \"Missing translations\",\n key,\n editable: false,\n value: {\n _custom: {\n type: \"custom\",\n display: '<span style=\"color:#B00020\">Missing</span>'\n }\n }\n });\n }\n }\n const componentFluent = (_a = componentInstance == null ? void 0 : componentInstance.proxy) == null ? void 0 : _a.$options.fluent;\n if (!componentFluent)\n return;\n const bundles = cleanBundles.value;\n for (const [locale, messages] of Object.entries(componentFluent)) {\n const bundle = bundles.find((bundle2) => bundle2.locales.includes(locale));\n if (bundle == null)\n continue;\n for (const message of messages.body) {\n const overridesGlobal = bundle.hasMessage(message.id);\n instanceData.state.push({\n type: `Component translations (${locale})`,\n key: message.id,\n editable: false,\n value: {\n _custom: {\n type: \"custom\",\n display: (message.value ? bundle.formatPattern(message.value, {}, []) : \"\") + (overridesGlobal ? '&nbsp;<span style=\"color:#ffa726\">Global</span>' : \"\")\n }\n }\n });\n }\n }\n });\n api.on.getInspectorTree((payload) => {\n if (payload.inspectorId === \"fluent-vue-inspector\") {\n payload.rootNodes = [\n {\n id: \"global\",\n label: \"Global translations\"\n },\n {\n id: \"missing\",\n label: \"Missing translations\"\n }\n ];\n }\n });\n const highlightedComponents = /* @__PURE__ */ new Set();\n api.on.getInspectorState(async (payload) => {\n if (payload.inspectorId === \"fluent-vue-inspector\") {\n if (payload.nodeId === \"global\") {\n payload.state = {};\n for (const bundle of cleanBundles.value) {\n payload.state[bundle.locales.join(\",\")] = [...bundle._messages.entries()].map(([_, message]) => ({\n key: message.id,\n value: message.value ? bundle.formatPattern(message.value, {}, []) : \"\"\n }));\n }\n }\n if (payload.nodeId === \"missing\") {\n payload.state = {};\n for (const bundle of cleanBundles.value) {\n const locale = bundle.locales.join(\",\");\n for (const [component, translations] of missingTranslations.entries()) {\n for (const key of translations) {\n payload.state[locale] = payload.state[locale] ?? [];\n payload.state[locale].push({\n key,\n editable: true,\n value: {\n _custom: {\n type: \"component\",\n value: highlightedComponents.has(component),\n display: await api.getComponentName(component)\n }\n }\n });\n }\n }\n }\n }\n }\n });\n api.on.editInspectorState((payload) => {\n if (payload.inspectorId === \"fluent-vue-inspector\") {\n if (payload.nodeId === \"missing\") {\n const key = payload.path[0];\n const [component] = missingTranslations.entries().find(([_, translations]) => translations.has(key)) ?? [];\n if (component != null) {\n if (payload.state.value) {\n highlightedComponents.add(component);\n api.highlightElement(component);\n } else {\n highlightedComponents.delete(component);\n api.unhighlightElement();\n }\n }\n }\n }\n });\n function handleSettingsChange(settings) {\n if (settings.pseudoEnable) {\n currentPseudoLocalize = (str) => pseudoLocalize(str, {\n prefix: settings.pseudoPrefix ?? void 0,\n suffix: settings.pseudoSuffix ?? void 0,\n accents: settings.pseudoAccents ?? false\n });\n } else {\n currentPseudoLocalize = void 0;\n }\n fluent.bundles = [...fluent.bundles];\n }\n api.on.setPluginSettings((payload) => {\n handleSettingsChange(payload.settings);\n });\n handleSettingsChange(api.getSettings());\n api.addInspector({\n id: \"fluent-vue-inspector\",\n label: \"fluent-vue\"\n });\n });\n}\n\n// src/util/options.ts\nfunction defaultMarkupParser(value) {\n assert(typeof DOMParser !== \"undefined\", \"DOMParser is not available. Please provide a custom parseMarkup function.\");\n const parser = new DOMParser();\n const doc = parser.parseFromString(value, \"text/html\");\n const nodes = Array.from(doc.body.childNodes);\n return nodes;\n}\nfunction defaultWarnMissing(key) {\n warn(`Could not find translation for key [${key}]`);\n}\nfunction getWarnMissing(options) {\n if (options.warnMissing === true || options.warnMissing == null)\n return defaultWarnMissing;\n else if (options.warnMissing === false)\n return () => {\n };\n else\n return options.warnMissing;\n}\nfunction resolveOptions(options) {\n var _a, _b, _c, _d, _e, _f;\n return {\n warnMissing: getWarnMissing(options),\n parseMarkup: options.parseMarkup ?? defaultMarkupParser,\n mapVariable: options.mapVariable,\n globalFormatName: ((_b = (_a = options.globals) == null ? void 0 : _a.functions) == null ? void 0 : _b.format) ?? \"$t\",\n globalFormatAttrsName: ((_d = (_c = options.globals) == null ? void 0 : _c.functions) == null ? void 0 : _d.formatAttrs) ?? \"$ta\",\n directiveName: ((_e = options.globals) == null ? void 0 : _e.directive) ?? \"t\",\n componentName: ((_f = options.globals) == null ? void 0 : _f.component) ?? \"i18n\",\n componentTag: options.componentTag ?? \"span\"\n };\n}\n\n// src/util/camelize.ts\nvar camelizeRE = /-(\\w)/g;\nfunction camelize(str) {\n return str.replace(camelizeRE, (_, c) => c.toUpperCase());\n}\n\n// src/vue/component.ts\nfunction getParentWithFluent(instance) {\n const parent = instance == null ? void 0 : instance.$parent;\n const target = parent == null ? void 0 : parent.$options;\n if (target != null && target.fluent == null)\n return getParentWithFluent(parent);\n return parent;\n}\nvar reMarkup = /<|&#?\\w+;/;\nfunction createComponent(options, rootContext) {\n return defineComponent({\n name: options.componentName,\n props: {\n path: { type: String, required: true },\n tag: { type: [String, Boolean], default: options.componentTag },\n args: { type: Object, default: () => ({}) },\n html: { type: Boolean, default: false },\n noTag: { type: Boolean, default: false }\n },\n setup(props, { slots, attrs }) {\n const instance = getCurrentInstance();\n const parent = getParentWithFluent(instance == null ? void 0 : instance.proxy);\n const fluent = getContext(rootContext, parent);\n const translation = computed(() => {\n const fluentParams = Object.assign(\n {},\n props.args,\n ...Object.keys(slots).map((key) => ({\n [key]: `\\uFFFF\\uFFFE${key}\\uFFFF`\n }))\n );\n const result = fluent.formatWithAttrs(props.path, fluentParams);\n const camelizedAttrs = Object.fromEntries(\n Object.entries(result.attributes).map(([key, value]) => [camelize(key), value])\n );\n return {\n value: result.value,\n attributes: camelizedAttrs\n };\n });\n const insertSlots = (text) => {\n return text == null ? void 0 : text.split(\"\\uFFFF\").map(\n (text2) => text2.startsWith(\"\\uFFFE\") ? slots[text2.replace(\"\\uFFFE\", \"\")](translation.value.attributes) : text2\n );\n };\n const processNode = (node) => {\n if (node.nodeType === 3) {\n return insertSlots(node.nodeValue);\n } else if (node.nodeType === 1) {\n const el = node;\n return h(\n el.nodeName.toLowerCase(),\n {\n ...Object.fromEntries(\n Array.from(el.attributes).map((attr) => [attr.name, attr.value])\n )\n },\n Array.from(el.childNodes).map((node2) => processNode(node2))\n );\n }\n warn(`Unsupported node type: ${node.nodeType}. If you need support for it, please, create an issue in fluent-vue repository.`);\n return [];\n };\n const children = computed(() => {\n if (!props.html || !reMarkup.test(translation.value.value))\n return insertSlots(translation.value.value);\n const nodes = fluent.options.parseMarkup(translation.value.value);\n return nodes.map(processNode);\n });\n return () => props.tag === false || props.noTag ? children.value : h(props.tag, { ...attrs }, children.value);\n }\n });\n}\n\n// src/vue/dom.ts\nvar LOCALIZABLE_ATTRIBUTES = {\n global: [\"title\", \"aria-label\", \"aria-valuetext\", \"aria-moz-hint\"],\n a: [\"download\"],\n area: [\"download\", \"alt\"],\n // value is special-cased in isAttrNameLocalizable\n input: [\"alt\", \"placeholder\"],\n menuitem: [\"label\"],\n menu: [\"label\"],\n optgroup: [\"label\"],\n option: [\"label\"],\n track: [\"label\"],\n img: [\"alt\"],\n textarea: [\"placeholder\"],\n th: [\"abbr\"]\n};\nfunction isAttrNameLocalizable(name, element, explicitlyAllowed = []) {\n if (explicitlyAllowed.includes(name))\n return true;\n const attrName = name.toLowerCase();\n const elemName = element.localName;\n if (LOCALIZABLE_ATTRIBUTES.global.includes(attrName))\n return true;\n if (LOCALIZABLE_ATTRIBUTES[elemName] == null)\n return false;\n if (LOCALIZABLE_ATTRIBUTES[elemName].includes(attrName))\n return true;\n if (element.namespaceURI === \"http://www.w3.org/1999/xhtml\" && elemName === \"input\" && attrName === \"value\") {\n const type = element.type.toLowerCase();\n if (type === \"submit\" || type === \"button\" || type === \"reset\")\n return true;\n }\n return false;\n}\n\n// src/vue/directive.ts\nfunction translate(el, fluent, binding) {\n const key = binding.arg;\n if (key === void 0) {\n warn(\"v-t directive is missing arg with translation key\");\n return;\n }\n const translation = fluent.formatWithAttrs(key, binding.value);\n if (translation.hasValue)\n el.textContent = translation.value;\n const allowedAttrs = Object.keys(binding.modifiers);\n for (const [attr, attrValue] of Object.entries(translation.attributes)) {\n if (isAttrNameLocalizable(attr, el, allowedAttrs))\n el.setAttribute(attr, attrValue);\n else\n warn(`Attribute '${attr}' on element <${el.tagName.toLowerCase()}> is not localizable. Remove it from the translation. Translation key: ${key}`);\n }\n}\nfunction createVue3Directive(rootContext) {\n return {\n mounted(el, binding) {\n watchEffect(() => {\n const context = getContext(rootContext, binding.instance);\n translate(el, context, binding);\n });\n },\n updated(el, binding) {\n const context = getContext(rootContext, binding.instance);\n translate(el, context, binding);\n },\n getSSRProps(binding) {\n const context = getContext(rootContext, binding.instance);\n if (binding.arg === void 0) {\n warn(\"v-t directive is missing arg with translation key\");\n return {};\n }\n const translation = context.formatWithAttrs(binding.arg, binding.value);\n const attrs = translation.attributes;\n if (translation.hasValue) {\n attrs.textContent = translation.value;\n }\n return attrs;\n }\n };\n}\n\n// src/index.ts\nfunction createFluentVue(options) {\n const bundles = shallowRef(options.bundles);\n const resolvedOptions = resolveOptions(options);\n const rootContext = new TranslationContext(bundles, resolvedOptions);\n return {\n get bundles() {\n return bundles.value;\n },\n set bundles(value) {\n bundles.value = value;\n },\n mergedWith: (extraTranslations) => {\n return getMergedContext(rootContext, extraTranslations);\n },\n format: rootContext.format.bind(rootContext),\n formatAttrs: rootContext.formatAttrs.bind(rootContext),\n formatWithAttrs: rootContext.formatWithAttrs.bind(rootContext),\n $t: rootContext.format.bind(rootContext),\n $ta: rootContext.formatAttrs.bind(rootContext),\n install(vue) {\n {\n const vue3 = vue;\n if (process.env.NODE_ENV !== \"production\")\n registerFluentVueDevtools(vue3, resolvedOptions, this);\n vue3.provide(RootContextSymbol, rootContext);\n vue3.config.globalProperties[resolvedOptions.globalFormatName] = function(key, value) {\n return getContext(rootContext, this).format(key, value);\n };\n vue3.config.globalProperties[resolvedOptions.globalFormatAttrsName] = function(key, value) {\n return getContext(rootContext, this).formatAttrs(key, value);\n };\n vue3.directive(resolvedOptions.directiveName, createVue3Directive(rootContext));\n }\n vue.component(resolvedOptions.componentName, createComponent(resolvedOptions, rootContext));\n }\n };\n}\n\nconst DEFAULT_INJECTION_KEY = Symbol(\"GLOBAL_LOCALE_MANAGER\");\nconst DEFAULT_SET_LOCALE_PARAMS = {\n useCache: true\n};\nconst NO_BUNDLES_ERROR_MESSAGE = `No bundles! you must await .ready before installing\nLocaleManager as a plugin. Either instantiate with warmUp = true (default) or\ncall and await .change() manually.`.replace(\"\\n\", \" \");\nclass BaseLocaleManager {\n constructor({\n bundleSource,\n preferredLocale,\n allowedLocales,\n namespaces,\n // locale to use for any translations that do not exist for user's\n // preferred locale. Defaults to en-US like in the current app.\n fallbackLocale,\n // will automatically \"warm up\" the bundles specified by the initial locale\n // and namespace options.\n warmUp = true\n }) {\n this.localStorageKey = \"user-locale\";\n this.allowedLocales = [];\n this.currentNamespaces = /* @__PURE__ */ new Set();\n this._resolveReady = null;\n this.fluent = null;\n this._cachedBundles = null;\n this._cachedHash = null;\n this.preferredLocale = null;\n this.bundleSource = bundleSource;\n this.fallbackLocale = fallbackLocale;\n this.setOptions({ allowedLocales, preferredLocale, namespaces });\n this.ready = new Promise((resolve) => {\n this._resolveReady = resolve;\n });\n if (warmUp)\n void this.warmUp();\n }\n async warmUp() {\n if (this._resolveReady === null)\n throw new Error(\"you should not have called this!\");\n if (this.currentNamespaces.size === 0)\n throw new Error(\"provide at least one namespace when using auto-init!\");\n try {\n await this.getCurrentBundles();\n this._resolveReady(null);\n } catch (ex) {\n if (ex instanceof Error)\n this._resolveReady(ex);\n else\n this._resolveReady(new Error(`${ex}`));\n } finally {\n this._resolveReady = null;\n }\n }\n get fluentFormat() {\n if (this.fluent?.format)\n return this.fluent.format;\n else\n throw new Error(\"fluent not ready\");\n }\n get fluentFormatAttrs() {\n if (this.fluent?.formatAttrs)\n return this.fluent.formatAttrs;\n else\n throw new Error(\"fluent not ready\");\n }\n // possibly use return type to relate failed attempts to change the locale?\n // TODO - really hate this name. lol.\n async change(args) {\n const options = { ...DEFAULT_SET_LOCALE_PARAMS, ...args };\n if (!options.useCache) {\n this._cachedHash = null;\n this._cachedBundles = null;\n }\n this.setOptions({\n allowedLocales: options.allowedLocales,\n preferredLocale: options.preferredLocale,\n namespaces: options.namespaces\n });\n const bundles = await this.getCurrentBundles();\n if (this.fluent !== null)\n this.fluent.bundles = bundles;\n if (this._resolveReady)\n this._resolveReady(null);\n }\n initFluent() {\n return createFluentVue({ bundles: this.currentBundles });\n }\n determineLocale({\n preferredLocale,\n allowedLocales\n }) {\n if (preferredLocale) {\n return preferredLocale;\n }\n if (allowedLocales && allowedLocales.length > 0) {\n return allowedLocales[0];\n }\n const storedLocale = this.getStoredLocale();\n if (storedLocale) {\n return storedLocale;\n }\n const browserLocale = this.getBrowserLocale();\n if (browserLocale) {\n return browserLocale;\n }\n return this.fallbackLocale;\n }\n // TODO - use a local storage wrapper instead of window.localStorage\n getStoredLocale() {\n return localStorage.getItem(this.localStorageKey);\n }\n saveLocale(locale) {\n localStorage.setItem(this.localStorageKey, locale);\n }\n getBrowserLocale() {\n const browserLocales = navigator.languages;\n return browserLocales.length > 0 ? browserLocales[0] : null;\n }\n get fluentPlugin() {\n if (this.fluent === null)\n this.fluent = this.initFluent();\n return this.fluent;\n }\n get currentBundles() {\n if (this._cachedBundles === null)\n throw new Error(NO_BUNDLES_ERROR_MESSAGE);\n else\n return this._cachedBundles;\n }\n // how about for now just attempt to load the primary and the fallback. I feel\n // like doing more than that is probably not necessary in the forseeable\n // future, but we could be a lot more discerning here based on what locales\n // we support and so on.\n get activeLocales() {\n return !this.preferredLocale || this.preferredLocale === this.fallbackLocale ? [this.fallbackLocale] : [this.preferredLocale, this.fallbackLocale];\n }\n setOptions({\n preferredLocale,\n allowedLocales,\n namespaces\n }) {\n if (allowedLocales) {\n this.setAllowedLocales(allowedLocales);\n }\n this.setPreferredLocale(\n this.determineLocale({ allowedLocales, preferredLocale })\n );\n if (namespaces)\n this.addNamespaces(namespaces);\n }\n setPreferredLocale(locale) {\n this.preferredLocale = locale;\n const index = this.allowedLocales.indexOf(locale);\n if (index !== -1)\n this.allowedLocales.splice(index, 1);\n this.allowedLocales.unshift(locale);\n this.setCurrentLocaleProp(this.preferredLocale);\n this.saveLocale(locale);\n }\n setAllowedLocales(locales) {\n this.allowedLocales = [...locales];\n if (!this.allowedLocales.includes(this.fallbackLocale)) {\n this.allowedLocales.push(this.fallbackLocale);\n }\n }\n addNamespaces(namespaces) {\n for (const n of namespaces)\n this.currentNamespaces.add(n);\n }\n async getCurrentBundles() {\n if (this.currentNamespaces.size === 0)\n throw new Error(\"no namespaces set!\");\n const locales = this.activeLocales;\n const namespaces = [...this.currentNamespaces];\n const hash = this.hashState(locales, namespaces);\n return this.getCachedBundles(hash) ?? this.loadBundles(locales, namespaces);\n }\n async loadBundles(locales, namespaces) {\n const bundles = await this.bundleSource.getBundles(locales, namespaces);\n this._cachedHash = this.hashState(locales, namespaces);\n this._cachedBundles = bundles;\n return bundles;\n }\n getCachedBundles(hash) {\n return this._cachedBundles === null || this._cachedHash !== hash ? null : this._cachedBundles;\n }\n hashState(locales, namespaces) {\n return `${locales}|${[...namespaces].sort()}`;\n }\n}\n\nexport { BaseLocaleManager, DEFAULT_INJECTION_KEY };\n//# sourceMappingURL=locale-manager.js.map\n","import { FluentBundle } from './bundle-D0MjWrl5.js';\n\n// This regex is used to iterate through the beginnings of messages and terms.\n// With the /m flag, the ^ matches at the beginning of every line.\nconst RE_MESSAGE_START = /^(-?[a-zA-Z][\\w-]*) *= */gm;\n// Both Attributes and Variants are parsed in while loops. These regexes are\n// used to break out of them.\nconst RE_ATTRIBUTE_START = /\\.([a-zA-Z][\\w-]*) *= */y;\nconst RE_VARIANT_START = /\\*?\\[/y;\nconst RE_NUMBER_LITERAL = /(-?[0-9]+(?:\\.([0-9]+))?)/y;\nconst RE_IDENTIFIER = /([a-zA-Z][\\w-]*)/y;\nconst RE_REFERENCE = /([$-])?([a-zA-Z][\\w-]*)(?:\\.([a-zA-Z][\\w-]*))?/y;\nconst RE_FUNCTION_NAME = /^[A-Z][A-Z0-9_-]*$/;\n// A \"run\" is a sequence of text or string literal characters which don't\n// require any special handling. For TextElements such special characters are: {\n// (starts a placeable), and line breaks which require additional logic to check\n// if the next line is indented. For StringLiterals they are: \\ (starts an\n// escape sequence), \" (ends the literal), and line breaks which are not allowed\n// in StringLiterals. Note that string runs may be empty; text runs may not.\nconst RE_TEXT_RUN = /([^{}\\n\\r]+)/y;\nconst RE_STRING_RUN = /([^\\\\\"\\n\\r]*)/y;\n// Escape sequences.\nconst RE_STRING_ESCAPE = /\\\\([\\\\\"])/y;\nconst RE_UNICODE_ESCAPE = /\\\\u([a-fA-F0-9]{4})|\\\\U([a-fA-F0-9]{6})/y;\n// Used for trimming TextElements and indents.\nconst RE_LEADING_NEWLINES = /^\\n+/;\nconst RE_TRAILING_SPACES = / +$/;\n// Used in makeIndent to strip spaces from blank lines and normalize CRLF to LF.\nconst RE_BLANK_LINES = / *\\r?\\n/g;\n// Used in makeIndent to measure the indentation.\nconst RE_INDENT = /( *)$/;\n// Common tokens.\nconst TOKEN_BRACE_OPEN = /{\\s*/y;\nconst TOKEN_BRACE_CLOSE = /\\s*}/y;\nconst TOKEN_BRACKET_OPEN = /\\[\\s*/y;\nconst TOKEN_BRACKET_CLOSE = /\\s*] */y;\nconst TOKEN_PAREN_OPEN = /\\s*\\(\\s*/y;\nconst TOKEN_ARROW = /\\s*->\\s*/y;\nconst TOKEN_COLON = /\\s*:\\s*/y;\n// Note the optional comma. As a deviation from the Fluent EBNF, the parser\n// doesn't enforce commas between call arguments.\nconst TOKEN_COMMA = /\\s*,?\\s*/y;\nconst TOKEN_BLANK = /\\s+/y;\n/**\n * Fluent Resource is a structure storing parsed localization entries.\n */\nclass FluentResource {\n constructor(source) {\n this.body = [];\n RE_MESSAGE_START.lastIndex = 0;\n let cursor = 0;\n // Iterate over the beginnings of messages and terms to efficiently skip\n // comments and recover from errors.\n while (true) {\n let next = RE_MESSAGE_START.exec(source);\n if (next === null) {\n break;\n }\n cursor = RE_MESSAGE_START.lastIndex;\n try {\n this.body.push(parseMessage(next[1]));\n }\n catch (err) {\n if (err instanceof SyntaxError) {\n // Don't report any Fluent syntax errors. Skip directly to the\n // beginning of the next message or term.\n continue;\n }\n throw err;\n }\n }\n // The parser implementation is inlined below for performance reasons,\n // as well as for convenience of accessing `source` and `cursor`.\n // The parser focuses on minimizing the number of false negatives at the\n // expense of increasing the risk of false positives. In other words, it\n // aims at parsing valid Fluent messages with a success rate of 100%, but it\n // may also parse a few invalid messages which the reference parser would\n // reject. The parser doesn't perform any validation and may produce entries\n // which wouldn't make sense in the real world. For best results users are\n // advised to validate translations with the fluent-syntax parser\n // pre-runtime.\n // The parser makes an extensive use of sticky regexes which can be anchored\n // to any offset of the source string without slicing it. Errors are thrown\n // to bail out of parsing of ill-formed messages.\n function test(re) {\n re.lastIndex = cursor;\n return re.test(source);\n }\n // Advance the cursor by the char if it matches. May be used as a predicate\n // (was the match found?) or, if errorClass is passed, as an assertion.\n function consumeChar(char, errorClass) {\n if (source[cursor] === char) {\n cursor++;\n return true;\n }\n if (errorClass) {\n throw new errorClass(`Expected ${char}`);\n }\n return false;\n }\n // Advance the cursor by the token if it matches. May be used as a predicate\n // (was the match found?) or, if errorClass is passed, as an assertion.\n function consumeToken(re, errorClass) {\n if (test(re)) {\n cursor = re.lastIndex;\n return true;\n }\n if (errorClass) {\n throw new errorClass(`Expected ${re.toString()}`);\n }\n return false;\n }\n // Execute a regex, advance the cursor, and return all capture groups.\n function match(re) {\n re.lastIndex = cursor;\n let result = re.exec(source);\n if (result === null) {\n throw new SyntaxError(`Expected ${re.toString()}`);\n }\n cursor = re.lastIndex;\n return result;\n }\n // Execute a regex, advance the cursor, and return the capture group.\n function match1(re) {\n return match(re)[1];\n }\n function parseMessage(id) {\n let value = parsePattern();\n let attributes = parseAttributes();\n if (value === null && Object.keys(attributes).length === 0) {\n throw new SyntaxError(\"Expected message value or attributes\");\n }\n return { id, value, attributes };\n }\n function parseAttributes() {\n let attrs = Object.create(null);\n while (test(RE_ATTRIBUTE_START)) {\n let name = match1(RE_ATTRIBUTE_START);\n let value = parsePattern();\n if (value === null) {\n throw new SyntaxError(\"Expected attribute value\");\n }\n attrs[name] = value;\n }\n return attrs;\n }\n function parsePattern() {\n let first;\n // First try to parse any simple text on the same line as the id.\n if (test(RE_TEXT_RUN)) {\n first = match1(RE_TEXT_RUN);\n }\n // If there's a placeable on the first line, parse a complex pattern.\n if (source[cursor] === \"{\" || source[cursor] === \"}\") {\n // Re-use the text parsed above, if possible.\n return parsePatternElements(first ? [first] : [], Infinity);\n }\n // RE_TEXT_VALUE stops at newlines. Only continue parsing the pattern if\n // what comes after the newline is indented.\n let indent = parseIndent();\n if (indent) {\n if (first) {\n // If there's text on the first line, the blank block is part of the\n // translation content in its entirety.\n return parsePatternElements([first, indent], indent.length);\n }\n // Otherwise, we're dealing with a block pattern, i.e. a pattern which\n // starts on a new line. Discrad the leading newlines but keep the\n // inline indent; it will be used by the dedentation logic.\n indent.value = trim(indent.value, RE_LEADING_NEWLINES);\n return parsePatternElements([indent], indent.length);\n }\n if (first) {\n // It was just a simple inline text after all.\n return trim(first, RE_TRAILING_SPACES);\n }\n return null;\n }\n // Parse a complex pattern as an array of elements.\n function parsePatternElements(elements = [], commonIndent) {\n while (true) {\n if (test(RE_TEXT_RUN)) {\n elements.push(match1(RE_TEXT_RUN));\n continue;\n }\n if (source[cursor] === \"{\") {\n elements.push(parsePlaceable());\n continue;\n }\n if (source[cursor] === \"}\") {\n throw new SyntaxError(\"Unbalanced closing brace\");\n }\n let indent = parseIndent();\n if (indent) {\n elements.push(indent);\n commonIndent = Math.min(commonIndent, indent.length);\n continue;\n }\n break;\n }\n let lastIndex = elements.length - 1;\n let lastElement = elements[lastIndex];\n // Trim the trailing spaces in the last element if it's a TextElement.\n if (typeof lastElement === \"string\") {\n elements[lastIndex] = trim(lastElement, RE_TRAILING_SPACES);\n }\n let baked = [];\n for (let element of elements) {\n if (element instanceof Indent) {\n // Dedent indented lines by the maximum common indent.\n element = element.value.slice(0, element.value.length - commonIndent);\n }\n if (element) {\n baked.push(element);\n }\n }\n return baked;\n }\n function parsePlaceable() {\n consumeToken(TOKEN_BRACE_OPEN, SyntaxError);\n let selector = parseInlineExpression();\n if (consumeToken(TOKEN_BRACE_CLOSE)) {\n return selector;\n }\n if (consumeToken(TOKEN_ARROW)) {\n let variants = parseVariants();\n consumeToken(TOKEN_BRACE_CLOSE, SyntaxError);\n return {\n type: \"select\",\n selector,\n ...variants\n };\n }\n throw new SyntaxError(\"Unclosed placeable\");\n }\n function parseInlineExpression() {\n if (source[cursor] === \"{\") {\n // It's a nested placeable.\n return parsePlaceable();\n }\n if (test(RE_REFERENCE)) {\n let [, sigil, name, attr = null] = match(RE_REFERENCE);\n if (sigil === \"$\") {\n return { type: \"var\", name };\n }\n if (consumeToken(TOKEN_PAREN_OPEN)) {\n let args = parseArguments();\n if (sigil === \"-\") {\n // A parameterized term: -term(...).\n return { type: \"term\", name, attr, args };\n }\n if (RE_FUNCTION_NAME.test(name)) {\n return { type: \"func\", name, args };\n }\n throw new SyntaxError(\"Function names must be all upper-case\");\n }\n if (sigil === \"-\") {\n // A non-parameterized term: -term.\n return {\n type: \"term\",\n name,\n attr,\n args: []\n };\n }\n return { type: \"mesg\", name, attr };\n }\n return parseLiteral();\n }\n function parseArguments() {\n let args = [];\n while (true) {\n switch (source[cursor]) {\n case \")\": // End of the argument list.\n cursor++;\n return args;\n case undefined: // EOF\n throw new SyntaxError(\"Unclosed argument list\");\n }\n args.push(parseArgument());\n // Commas between arguments are treated as whitespace.\n consumeToken(TOKEN_COMMA);\n }\n }\n function parseArgument() {\n let expr = parseInlineExpression();\n if (expr.type !== \"mesg\") {\n return expr;\n }\n if (consumeToken(TOKEN_COLON)) {\n // The reference is the beginning of a named argument.\n return {\n type: \"narg\",\n name: expr.name,\n value: parseLiteral()\n };\n }\n // It's a regular message reference.\n return expr;\n }\n function parseVariants() {\n let variants = [];\n let count = 0;\n let star;\n while (test(RE_VARIANT_START)) {\n if (consumeChar(\"*\")) {\n star = count;\n }\n let key = parseVariantKey();\n let value = parsePattern();\n if (value === null) {\n throw new SyntaxError(\"Expected variant value\");\n }\n variants[count++] = { key, value };\n }\n if (count === 0) {\n return null;\n }\n if (star === undefined) {\n throw new SyntaxError(\"Expected default variant\");\n }\n return { variants, star };\n }\n function parseVariantKey() {\n consumeToken(TOKEN_BRACKET_OPEN, SyntaxError);\n let key;\n if (test(RE_NUMBER_LITERAL)) {\n key = parseNumberLiteral();\n }\n else {\n key = {\n type: \"str\",\n value: match1(RE_IDENTIFIER)\n };\n }\n consumeToken(TOKEN_BRACKET_CLOSE, SyntaxError);\n return key;\n }\n function parseLiteral() {\n if (test(RE_NUMBER_LITERAL)) {\n return parseNumberLiteral();\n }\n if (source[cursor] === '\"') {\n return parseStringLiteral();\n }\n throw new SyntaxError(\"Invalid expression\");\n }\n function parseNumberLiteral() {\n let [, value, fraction = \"\"] = match(RE_NUMBER_LITERAL);\n let precision = fraction.length;\n return {\n type: \"num\",\n value: parseFloat(value),\n precision\n };\n }\n function parseStringLiteral() {\n consumeChar('\"', SyntaxError);\n let value = \"\";\n while (true) {\n value += match1(RE_STRING_RUN);\n if (source[cursor] === \"\\\\\") {\n value += parseEscapeSequence();\n continue;\n }\n if (consumeChar('\"')) {\n return { type: \"str\", value };\n }\n // We've reached an EOL of EOF.\n throw new SyntaxError(\"Unclosed string literal\");\n }\n }\n // Unescape known escape sequences.\n function parseEscapeSequence() {\n if (test(RE_STRING_ESCAPE)) {\n return match1(RE_STRING_ESCAPE);\n }\n if (test(RE_UNICODE_ESCAPE)) {\n let [, codepoint4, codepoint6] = match(RE_UNICODE_ESCAPE);\n let codepoint = parseInt(codepoint4 || codepoint6, 16);\n return codepoint <= 0xd7ff || 0xe000 <= codepoint\n // It's a Unicode scalar value.\n ? String.fromCodePoint(codepoint)\n // Lonely surrogates can cause trouble when the parsing result is\n // saved using UTF-8. Use U+FFFD REPLACEMENT CHARACTER instead.\n : \"�\";\n }\n throw new SyntaxError(\"Unknown escape sequence\");\n }\n // Parse blank space. Return it if it looks like indent before a pattern\n // line. Skip it othwerwise.\n function parseIndent() {\n let start = cursor;\n consumeToken(TOKEN_BLANK);\n // Check the first non-blank character after the indent.\n switch (source[cursor]) {\n case \".\":\n case \"[\":\n case \"*\":\n case \"}\":\n case undefined: // EOF\n // A special character. End the Pattern.\n return false;\n case \"{\":\n // Placeables don't require indentation (in EBNF: block-placeable).\n // Continue the Pattern.\n return makeIndent(source.slice(start, cursor));\n }\n // If the first character on the line is not one of the special characters\n // listed above, it's a regular text character. Check if there's at least\n // one space of indent before it.\n if (source[cursor - 1] === \" \") {\n // It's an indented text character (in EBNF: indented-char). Continue\n // the Pattern.\n return makeIndent(source.slice(start, cursor));\n }\n // A not-indented text character is likely the identifier of the next\n // message. End the Pattern.\n return false;\n }\n // Trim blanks in text according to the given regex.\n function trim(text, re) {\n return text.replace(re, \"\");\n }\n // Normalize a blank block and extract the indent details.\n function makeIndent(blank) {\n let value = blank.replace(RE_BLANK_LINES, \"\\n\");\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n let length = RE_INDENT.exec(blank)[1].length;\n return new Indent(value, length);\n }\n }\n}\nclass Indent {\n constructor(value, length) {\n this.value = value;\n this.length = length;\n }\n}\n\nconst DEFAULT_FETCH = (key, init) => fetch(`/locales/${key}`, init);\nclass HTTPBundleSource {\n fetch;\n resources = /* @__PURE__ */ new Map();\n constructor(params) {\n this.fetch = params.fetch ?? DEFAULT_FETCH;\n }\n getKey(locale, namespace) {\n return `${namespace}/${locale}`;\n }\n async getBundles(locales, namespaces) {\n const bundles = [];\n const promises = [];\n for (const locale of locales) {\n const bundle = new FluentBundle(locale);\n bundles.push(bundle);\n for (const namespace of namespaces) {\n const key = this.getKey(locale, namespace);\n const resource = this.resources.get(key);\n if (resource)\n bundle.addResource(resource);\n else\n promises.push([bundle, key, this.fetchResource(key)]);\n }\n }\n await this.awaitResources(promises);\n return bundles;\n }\n async awaitResources(promises) {\n for (const [bundle, key, promise] of promises) {\n let resource = null;\n try {\n resource = await promise;\n } catch (error) {\n console.warn(`exception while fetching resource for \"${key}\"`);\n console.error(error);\n }\n if (resource === null) {\n console.warn(`couldn't load resource for \"${key}\"`);\n } else {\n bundle.addResource(resource);\n }\n }\n }\n async fetchResource(key) {\n const response = await this.fetch(key);\n if (response.ok) {\n const resource = new FluentResource(await response.text());\n this.resources.set(key, resource);\n return resource;\n } else {\n console.warn(`could not load i18n for ${key}`);\n return null;\n }\n }\n}\n\nclass RawBundleSource {\n bundles = /* @__PURE__ */ new Map();\n keys = /* @__PURE__ */ new Set();\n // TODO - we should make a bundle source that handles this a little more\n // elegantly, but for now this should be fine.\n static async dynamicResources(dynamicResources) {\n const resources = [];\n for (const [locale, namespace, source] of dynamicResources) {\n if (typeof source === \"string\") {\n resources.push([locale, namespace, source]);\n } else {\n const module = await source;\n if (typeof module.default !== \"string\")\n throw new Error(\".ftl text needs to be the default export!\");\n resources.push([locale, namespace, module.default]);\n }\n }\n return resources;\n }\n constructor(params) {\n for (const [locale, namespace, source] of params.resources) {\n const key = this.getKey(locale, namespace);\n if (this.keys.has(key))\n throw new Error(`${key} was provided more than once!`);\n this.keys.add(key);\n this.getBundle(locale).addResource(new FluentResource(source));\n }\n }\n getBundle(locale) {\n if (this.bundles.has(locale))\n return this.bundles.get(locale);\n const bundle = new FluentBundle(locale);\n this.bundles.set(locale, bundle);\n return bundle;\n }\n getKey(locale, namespace) {\n return `${namespace}/${locale}`;\n }\n async getBundles(locales, namespaces) {\n const bundles = [];\n for (const locale of locales) {\n for (const namespace of namespaces) {\n const key = this.getKey(locale, namespace);\n if (!this.keys.has(key))\n throw new Error(`resource ${key} was not provided at init!`);\n }\n bundles.push(this.getBundle(locale));\n }\n return bundles;\n }\n}\n\nexport { HTTPBundleSource, RawBundleSource };\n//# sourceMappingURL=bundle-source.js.map\n","var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nimport Vue from \"vue\";\nimport { BaseLocaleManager } from \"@dialpad/i18n-services/locale-manager\";\nimport { HTTPBundleSource, RawBundleSource } from \"@dialpad/i18n-services/bundle-source\";\nconst DEFAULT_INJECTION_KEY = Symbol(\"GLOBAL_LOCALE_MANAGER\");\nclass LocaleManager extends BaseLocaleManager {\n constructor() {\n super(...arguments);\n __publicField(this, \"currentLocaleProp\", Vue.observable({ value: null }));\n }\n setCurrentLocaleProp(locale) {\n this.currentLocaleProp = Vue.observable({ value: locale });\n }\n install() {\n if (this.fluent === null) {\n this.fluent = this.initFluent();\n }\n Vue.prototype.$localeManager = this;\n }\n}\nfunction useI18N() {\n const localeManager = Vue.prototype.$localeManager;\n if (!localeManager) {\n throw new Error(`LocaleManager not found!`);\n }\n return {\n currentLocale: localeManager.currentLocaleProp.value,\n setI18N: (args) => localeManager.change(args),\n $t: localeManager.fluentFormat,\n $ta: localeManager.fluentFormatAttrs\n };\n}\nexport {\n DEFAULT_INJECTION_KEY,\n HTTPBundleSource,\n LocaleManager,\n RawBundleSource,\n useI18N\n};\n//# sourceMappingURL=i18n-vue2.js.map\n","import { LocaleManager, RawBundleSource } from '@dialpad/i18n-vue2';\n\n/**\n * @type {{[key: string]: string}}\n */\nexport const allowedLocales = {\n ENGLISH: 'en-US',\n DIALPADISTAN: 'dp-DP',\n SPANISH: 'es-LA',\n};\n\nexport const DialtoneLocalizationPlugin = {\n async install (Vue) {\n const locales = Object.values(allowedLocales);\n const dialtoneNamespace = 'dialtone';\n const bundleSource = new RawBundleSource({\n resources: await RawBundleSource.dynamicResources(\n locales.map(locale => [locale, dialtoneNamespace, import(`./${locale}.ftl?raw`)]),\n ),\n });\n const preferredLocale = locales[0];\n\n const manager = new LocaleManager({\n bundleSource,\n preferredLocale,\n allowedLocales: locales,\n fallbackLocale: preferredLocale,\n namespaces: [dialtoneNamespace],\n });\n\n await manager.ready;\n\n Vue.use(manager);\n },\n};\n"],"names":["FluentType","value","FluentNone","scope","FluentNumber","opts","err","FluentDateTime","MAX_PLACEABLES","FSI","PDI","match","selector","key","category","getDefault","variants","star","resolvePattern","getArguments","args","positional","named","arg","resolveExpression","expr","resolveVariableReference","resolveMessageReference","resolveTermReference","resolveFunctionReference","resolveSelectExpression","name","attr","message","attribute","id","term","resolved","func","sel","variant","resolveComplexPattern","ptn","result","useIsolating","elem","Scope","bundle","errors","error","ctor","cache","values","allowed","unwrapped","opt","NUMBER_ALLOWED","NUMBER","DATETIME_ALLOWED","DATETIME","getMemoizerForLocale","locales","stringLocale","memoizer","FluentBundle","functions","transform","v","res","allowOverrides","i","entry","pattern","CachedIterable","iterable","CachedSyncIterable","cached","cur","count","idx","last","mapBundleSync","bundles","ids","getBundleForId","inheritBundle","locale","parent","assert","condition","warn","TranslationContext","options","context","formatValue","mappedValue","key2","variable","mappedVariable","formatted","attrName","attrValue","flatMap","mapper","item","getContext","rootContext","instance","fromSetup","getMergedContext","fluent","overriddenBundles","computed","parentBundle","resources","bundleLocale","RootContextSymbol","__create$1","__defProp$1","__getOwnPropDesc$1","__getOwnPropNames$1","__getProtoOf$1","__hasOwnProp$1","__esm$1","fn","__commonJS$1","cb","mod","__copyProps$1","to","from","except","desc","__toESM$1","isNodeMode","target2","init_esm_shims$1","require_rfdc","exports","module","rfdc2","copyBuffer","rfdcCircles","constructorHandlers","o","cloneArray","handler2","handler","cloneProto","clone","keys","a2","k","o2","refs","refsNew","a","index","isBrowser","target","_a$1","import_rfdc","classifyRE","toUpper","_","c","classify","str","basename","filename","ext","normalizedFilename","lastSlashIndex","baseNameWithExt","extIndex","deepClone","DEBOUNCE_DEFAULTS","debounce","wait","leadingValue","timeout","resolveList","currentPromise","trailingArgs","applyFn","_this","_applyPromised","promise","resolve","shouldCallNow","_resolve","flatHooks","configHooks","hooks","parentName","subHook","defaultTask","function_","_createTask","createTask","serialTaskCaller","task","hookFunction","parallelTaskCaller","hook","callEachWith","callbacks","arg0","callback","Hookable","originalName","dep","_unreg","_function","arguments_","deprecated","_hooks","deprecatedHooks","removeFns","unreg","caller","event","createHooks","__create","__defProp","__getOwnPropDesc","__getOwnPropNames","__getProtoOf","__hasOwnProp","__esm","__commonJS","__copyProps","__toESM","target22","init_esm_shims","require_speakingurl","root","charMap","lookAheadCharArray","diatricMap","langCharMap","symbolMap","uricChars","uricNoSlashChars","markChars","getSlug","input","separator","diatricString","convertSymbols","customReplacements","maintainCase","titleCase","truncate","uricFlag","uricNoSlashFlag","markFlag","symbol","langChar","lucky","ch","l","lastCharWasSymbol","lastCharWasDiatric","allowedChars","r","escapeChars","isReplacedCustomChar","i2","j","createSlug","require_speakingurl2","getComponentTypeName","_a25","getComponentFileName","file","saveComponentGussedName","getAppRecord","isFragment","_b25","subTreeType","appRecord","getInstanceName","_c","fileName","getUniqueComponentId","appId","instanceId","getComponentInstance","createRect","rect","range","getTextRect","node","getFragmentRect","vnode","childVnode","childRect","getComponentBoundingRect","el","mergeRects","b","DEFAULT_RECT","getRootElementsFromComponentInstance","getFragmentRootElements","list","CONTAINER_ELEMENT_ID","CARD_ELEMENT_ID","COMPONENT_NAME_ELEMENT_ID","INDICATOR_ELEMENT_ID","containerStyles","cardStyles","indicatorStyles","getContainerElement","getCardElement","getIndicatorElement","getNameElement","getStyles","bounds","create","containerEl","cardEl","nameEl","indicatorEl","update","highlight","unhighlight","inspectInstance","inspectFn","selectComponentFn","uniqueComponentId","inspectComponentHighLighterSelectFn","cancelInspectComponentHighLighter","inspectComponentHighLighter","onSelect","e","scrollToComponent","activeAppRecord","scrollTarget","styles","el2","_a","_b","waitForInspectorInit","total","timer","setupInspector","inspector","_openInEditor","params","getComponentInspector","setup","isReadonly","isReactive","isRef","toRaw","observed","raw","StateEditor","RefStateEditor","object","path","sections","section","field","size","state","ref","currentKeys","previousKeysSet2","previousKeysSet","TIMELINE_LAYERS_STATE_STORAGE_ID","getTimelineLayersStateFromStorage","_a2","_b2","devtoolsTimelineLayers","prop","receiver","addTimelineLayer","descriptor","devtoolsState","_a3","_b3","devtoolsInspector","callInspectorUpdatedHook","devtoolsContext","getActiveInspectors","addInspector","getInspector","app","createDevToolsCtxHooks","hooks2","plugin","debounceSendInspectorTree","inspectorId","_payload","debounceSendInspectorState","ctx","nodeId","internalLayerIds","uid","_a4","_b4","_a5","_b5","_a6","_b6","_a7","_b7","_a8","_b8","STATE_KEY","initStateFactory","_a9","_b9","callStateUpdatedHook","oldState","devtoolsAppRecords","_target","updateAllStates","setActiveAppRecord","setActiveAppRecordId","property","openInEditor","host","baseUrl","line","column","_baseUrl","response","msg","_a10","_b10","devtoolsPluginBuffer","_getSettings","settings","_settings","getPluginLocalKey","pluginId","getPluginSettingsOptions","item2","_a26","getPluginSettings","fallbackValue","localKey","localSettings","initPluginSettings","setPluginSettings","parsedLocalSettings","updated","_a11","_b11","devtoolsHooks","on","pluginDescriptor","setupFn","DevToolsV6PluginAPI","payload","DevToolsPluginAPI","UNDEFINED","INFINITY","NEGATIVE_INFINITY","NAN","tokenMap","acc","_a12","_b12","setupDevToolsPlugin","callDevToolsPluginSetupFn","api","registerDevToolsPlugin","ROUTER_KEY","ROUTER_INFO_KEY","_a13","_b13","_a14","_b14","getRoutes","router","routesMap","filterRoutes","routes","children","meta","filterCurrentRoute","route","fullPath","hash","href","matched","query","normalizeRouterInfo","activeAppRecord2","init","currentRoute","createDevToolsApi","stateEditor2","obj","record","_a15","_b15","_a16","_b16","_a17","_b17","toggleHighPerfMode","updateDevToolsClientDetected","devtoolsClientVisible","_a18","_b18","DoubleIndexedKV","Registry","generateIdentifier","identifier","ClassRegistry","valuesOfObj","find","predicate","valuesNotNever","forEach","run","includes","arr","findArr","CustomTransformerRegistry","transformer","getType","isUndefined","isNull","isPlainObject2","isEmptyObject","isArray","isString","isNumber","isBoolean","isRegExp","isMap","isSet","isSymbol","isDate","isError","isNaNValue","isPrimitive2","isBigint","isInfinite","isTypedArray","isURL","escapeKey","stringifyPath","parsePath","string","segment","char","lastSegment","simpleTransformation","isApplicable","annotation","untransform","simpleRules","superJson","baseError","regex","body","flags","compositeTransformation","symbolRule","s","constructorToName","typedArrayRule","isInstanceOfRegisteredClass","potentialClass","classRule","clazz","allowedProps","customRule","compositeRules","transformValue","applicableCompositeRule","rule","applicableSimpleRule","simpleRulesByAnnotation","untransformValue","json","type","transformation","getNthKey","n","validatePath","getDeep","row","keyOfRow","setDeep","lastKey","oldValue","newValue","keyToRow","newKey","traverse","tree","walker2","origin","subtree","nodeValue","child","applyValueAnnotations","plain","annotations","applyReferentialEqualityAnnotations","apply","identicalPaths","identicalObjectPath","other","identicalPath","isDeep","addIdentity","identities","existingSet","generateReferentialEqualityAnnotations","identitites","dedupe","rootEqualityPaths","paths","representativePath","walker","objectsInThisPath","seenObjects","primitive","seen","transformed2","result2","transformationResult","transformed","transformedValue","innerAnnotations","recursiveResult","getType2","isArray2","isPlainObject3","prototype","assignProp","carry","newVal","originalObject","includeNonenumerable","propType","copy","props","symbols","val","SuperJSON","output","equalityAnnotations","_a19","_b19","_a20","_b20","_a21","_b21","_a22","_b22","_a23","_b23","_a24","_b24","ASCII","ACCENTED_ASCII","pseudoLocalize","finalString","character","convertedCharacter","registerFluentVueDevtools","currentPseudoLocalize","missingTranslations","oldWarnMissing","getCurrentInstance","hookedBundles","watchEffect","userTransform","cleanBundles","newBundle","treeNode","componentInstance","missing","instanceData","componentFluent","messages","bundle2","overridesGlobal","highlightedComponents","component","translations","handleSettingsChange","defaultMarkupParser","doc","defaultWarnMissing","getWarnMissing","resolveOptions","_d","_e","_f","camelizeRE","camelize","getParentWithFluent","reMarkup","createComponent","defineComponent","slots","attrs","translation","fluentParams","camelizedAttrs","insertSlots","text","text2","processNode","h","node2","LOCALIZABLE_ATTRIBUTES","isAttrNameLocalizable","element","explicitlyAllowed","elemName","translate","binding","allowedAttrs","createVue3Directive","createFluentVue","shallowRef","resolvedOptions","extraTranslations","vue","vue3","DEFAULT_SET_LOCALE_PARAMS","NO_BUNDLES_ERROR_MESSAGE","BaseLocaleManager","bundleSource","preferredLocale","allowedLocales","namespaces","fallbackLocale","warmUp","ex","storedLocale","browserLocale","browserLocales","RE_MESSAGE_START","RE_ATTRIBUTE_START","RE_VARIANT_START","RE_NUMBER_LITERAL","RE_IDENTIFIER","RE_REFERENCE","RE_FUNCTION_NAME","RE_TEXT_RUN","RE_STRING_RUN","RE_STRING_ESCAPE","RE_UNICODE_ESCAPE","RE_LEADING_NEWLINES","RE_TRAILING_SPACES","RE_BLANK_LINES","RE_INDENT","TOKEN_BRACE_OPEN","TOKEN_BRACE_CLOSE","TOKEN_BRACKET_OPEN","TOKEN_BRACKET_CLOSE","TOKEN_PAREN_OPEN","TOKEN_ARROW","TOKEN_COLON","TOKEN_COMMA","TOKEN_BLANK","FluentResource","source","cursor","next","parseMessage","test","re","consumeChar","errorClass","consumeToken","match1","parsePattern","attributes","parseAttributes","first","parsePatternElements","indent","parseIndent","trim","elements","commonIndent","parsePlaceable","lastIndex","lastElement","baked","Indent","parseInlineExpression","parseVariants","sigil","parseArguments","parseLiteral","parseArgument","parseVariantKey","parseNumberLiteral","parseStringLiteral","fraction","precision","parseEscapeSequence","codepoint4","codepoint6","codepoint","start","makeIndent","blank","length","RawBundleSource","__publicField","namespace","dynamicResources","__defNormalProp","LocaleManager","Vue","DialtoneLocalizationPlugin","dialtoneNamespace","__variableDynamicImportRuntimeHelper","manager"],"mappings":"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,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAU;AAAA,QACV,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAU;AAAA,QACV,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,GAAQ;AAAA,QACR,KAAU;AAAA;AAAA;AAAA,QAGV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA;AAAA,QAEV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA;AAAA,QAEV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA;AAAA,QAEV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA;AAAA,QAEV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA;AAAA,QAEV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,MAAgB;AAAA,QAChB,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA;AAAA,QAEV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,MAAgB;AAAA,QAChB,MAAgB;AAAA,QAChB,KAAU;AAAA;AAAA,QAEV,GAAU;AAAA,QACV,KAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,QAA4B;AAAA,QAC5B,GAAU;AAAA;AAAA,QAEV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA;AAAA,QAEV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA;AAAA,QAEV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA;AAAA,QAEV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA;AAAA;AAAA,QAGV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA;AAAA,QAEV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA;AAAA,QAEV,GAAU;AAAA;AAAA,QAEV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA;AAAA,QAEV,GAAU;AAAA;AAAA,QAEV,GAAU;AAAA;AAAA,QAEV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA;AAAA,QAEV,GAAU;AAAA;AAAA;AAAA,QAGV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,IAAgB;AAAA,QAChB,IAAgB;AAAA;AAAA,QAEhB,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA;AAAA,QAEV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA;AAAA,QAEV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA;AAAA,QAEV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA;AAAA;AAAA,QAGV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA;AAAA;AAAA,QAGV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA;AAAA,QAEV,GAAU;AAAA,QACV,GAAU;AAAA;AAAA;AAAA,QAGV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA;AAAA;AAAA,QAGV,GAAU;AAAA,QACV,GAAU;AAAA;AAAA,QAEV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA;AAAA,QAEV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOV,GAAU;AAAA,QACV,GAAU;AAAA;AAAA,QAEV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA;AAAA;AAAA,QAGV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,GAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KAAU;AAAA,QACV,KA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","x_google_ignoreList":[0,1,2,3]}