PageSourceSearch

https://scholarsedge529.com/profiles/contrib/houston/modules/pfg_p…/PdsElement.chunk-BX0ldsof.js

js scholarsedge529.com collected 2026-10-06 16:49:36 UTC 108,182 bytes, 2,478 lines download raw bytes

1import { E as Te, a as Fe } from "./lit-element.chunk-B6Olh1kf.js";
2import { e as Ae, i as Ie, t as De, r as X, n as Ue } from "./state.chunk-B35jHvjT.js";
3const ze = Ae(class extends Ie {
4  constructor(n) {
5    if (super(n), n.type !== De.ATTRIBUTE || n.name !== "class" || n.strings?.length > 2) throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.");
6  }
7  render(n) {
8    return " " + Object.keys(n).filter((e) => n[e]).join(" ") + " ";
9  }
10  update(n, [e]) {
11    if (this.st === void 0) {
12      this.st = /* @__PURE__ */ new Set(), n.strings !== void 0 && (this.nt = new Set(n.strings.join(" ").split(/\s/).filter((a) => a !== "")));
13      for (const a in e) e[a] && !this.nt?.has(a) && this.st.add(a);
14      return this.render(e);
15    }
16    const t = n.element.classList;
17    for (const a of this.st) a in e || (t.remove(a), this.st.delete(a));
18    for (const a in e) {
19      const s = !!e[a];
20      s === this.st.has(a) || this.nt?.has(a) || (s ? (t.add(a), this.st.add(a)) : (t.remove(a), this.st.delete(a)));
21    }
22    return Te;
23  }
24}), Rt = 320, Ve = 540, Me = 768, Ke = 1024, He = 1366, h = (n) => typeof n == "string", M = () => {
25  let n, e;
26  const t = new Promise((a, s) => {
27    n = a, e = s;
28  });
29  return t.resolve = n, t.reject = e, t;
30}, le = (n) => n == null ? "" : String(n), Be = (n, e, t) => {
31  n.forEach((a) => {
32    e[a] && (t[a] = e[a]);
33  });
34}, qe = /###/g, de = (n) => n && n.includes("###") ? n.replace(qe, ".") : n, ue = (n) => !n || h(n), K = (n, e, t) => {
35  const a = h(e) ? e.split(".") : e;
36  let s = 0;
37  for (; s < a.length - 1; ) {
38    if (ue(n)) return {};
39    const i = de(a[s]);
40    !n[i] && t && (n[i] = new t()), Object.prototype.hasOwnProperty.call(n, i) ? n = n[i] : n = {}, ++s;
41  }
42  return ue(n) ? {} : {
43    obj: n,
44    k: de(a[s])
45  };
46}, ce = (n, e, t) => {
47  const {
48    obj: a,
49    k: s
50  } = K(n, e, Object);
51  if (a !== void 0 || e.length === 1) {
52    a[s] = t;
53    return;
54  }
55  let i = e[e.length - 1], r = e.slice(0, e.length - 1), o = K(n, r, Object);
56  for (; o.obj === void 0 && r.length; )
57    i = `${r[r.length - 1]}.${i}`, r = r.slice(0, r.length - 1), o = K(n, r, Object), o?.obj && typeof o.obj[`${o.k}.${i}`] < "u" && (o.obj = void 0);
58  o.obj[`${o.k}.${i}`] = t;
59}, We = (n, e, t, a) => {
60  const {
61    obj: s,
62    k: i
63  } = K(n, e, Object);
64  s[i] = s[i] || [], s[i].push(t);
65}, _ = (n, e) => {
66  const {
67    obj: t,
68    k: a
69  } = K(n, e);
70  if (t && Object.prototype.hasOwnProperty.call(t, a))
71    return t[a];
72}, Ge = (n, e, t) => {
73  const a = _(n, t);
74  return a !== void 0 ? a : _(e, t);
75}, ke = (n, e, t) => {
76  for (const a in e)
77    a !== "__proto__" && a !== "constructor" && (a in n ? h(n[a]) || n[a] instanceof String || h(e[a]) || e[a] instanceof String ? t && (n[a] = e[a]) : ke(n[a], e[a], t) : n[a] = e[a]);
78  return n;
79}, T = (n) => n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"), Je = {
80  "&": "&amp;",
81  "<": "&lt;",
82  ">": "&gt;",
83  '"': "&quot;",
84  "'": "&#39;",
85  "/": "&#x2F;"
86}, _e = (n) => h(n) ? n.replace(/[&<>"'\/]/g, (e) => Je[e]) : n;
87class Ye {
88  constructor(e) {
89    this.capacity = e, this.regExpMap = /* @__PURE__ */ new Map(), this.regExpQueue = [];
90  }
91  getRegExp(e) {
92    const t = this.regExpMap.get(e);
93    if (t !== void 0)
94      return t;
95    const a = new RegExp(e);
96    return this.regExpQueue.length === this.capacity && this.regExpMap.delete(this.regExpQueue.shift()), this.regExpMap.set(e, a), this.regExpQueue.push(e), a;
97  }
98}
99const Qe = [" ", ",", "?", "!", ";"], Xe = new Ye(20), Ze = (n, e, t) => {
100  e = e || "", t = t || "";
101  const a = Qe.filter((r) => !e.includes(r) && !t.includes(r));
102  if (a.length === 0) return !0;
103  const s = Xe.getRegExp(`(${a.map((r) => r === "?" ? "\\?" : r).join("|")})`);
104  let i = !s.test(n);
105  if (!i) {
106    const r = n.indexOf(t);
107    r > 0 && !s.test(n.substring(0, r)) && (i = !0);
108  }
109  return i;
110}, se = (n, e, t = ".") => {
111  if (!n) return;
112  if (n[e])
113    return Object.prototype.hasOwnProperty.call(n, e) ? n[e] : void 0;
114  const a = e.split(t);
115  let s = n;
116  for (let i = 0; i < a.length; ) {
117    if (!s || typeof s != "object")
118      return;
119    let r, o = "";
120    for (let l = i; l < a.length; ++l)
121      if (l !== i && (o += t), o += a[l], r = s[o], r !== void 0) {
122        if (["string", "number", "boolean"].includes(typeof r) && l < a.length - 1)
123          continue;
124        i += l - i + 1;
125        break;
126      }
127    s = r;
128  }
129  return s;
130}, B = (n) => n?.replace(/_/g, "-"), et = {
131  type: "logger",
132  log(n) {
133    this.output("log", n);
134  },
135  warn(n) {
136    this.output("warn", n);
137  },
138  error(n) {
139    this.output("error", n);
140  },
141  output(n, e) {
142    console?.[n]?.apply?.(console, e);
143  }
144};
145class Y {
146  constructor(e, t = {}) {
147    this.init(e, t);
148  }
149  init(e, t = {}) {
150    this.prefix = t.prefix || "i18next:", this.logger = e || et, this.options = t, this.debug = t.debug;
151  }
152  log(...e) {
153    return this.forward(e, "log", "", !0);
154  }
155  warn(...e) {
156    return this.forward(e, "warn", "", !0);
157  }
158  error(...e) {
159    return this.forward(e, "error", "");
160  }
161  deprecate(...e) {
162    return this.forward(e, "warn", "WARNING DEPRECATED: ", !0);
163  }
164  forward(e, t, a, s) {
165    return s && !this.debug ? null : (h(e[0]) && (e[0] = `${a}${this.prefix} ${e[0]}`), this.logger[t](e));
166  }
167  create(e) {
168    return new Y(this.logger, {
169      prefix: `${this.prefix}:${e}:`,
170      ...this.options
171    });
172  }
173  clone(e) {
174    return e = e || this.options, e.prefix = e.prefix || this.prefix, new Y(this.logger, e);
175  }
176}
177var R = new Y();
178class Z {
179  constructor() {
180    this.observers = {};
181  }
182  on(e, t) {
183    return e.split(" ").forEach((a) => {
184      this.observers[a] || (this.observers[a] = /* @__PURE__ */ new Map());
185      const s = this.observers[a].get(t) || 0;
186      this.observers[a].set(t, s + 1);
187    }), this;
188  }
189  off(e, t) {
190    if (this.observers[e]) {
191      if (!t) {
192        delete this.observers[e];
193        return;
194      }
195      this.observers[e].delete(t);
196    }
197  }
198  once(e, t) {
199    const a = (...s) => {
200      t(...s), this.off(e, a);
201    };
202    return this.on(e, a), this;
203  }
204  emit(e, ...t) {
205    this.observers[e] && Array.from(this.observers[e].entries()).forEac
vendor: 16,544 bytes, lines 205-570
205h(([s, i]) => {
206      for (let r = 0; r < i; r++)
207        s(...t);
208    }), this.observers["*"] && Array.from(this.observers["*"].entries()).forEach(([s, i]) => {
209      for (let r = 0; r < i; r++)
210        s(e, ...t);
211    });
212  }
213}
214class pe extends Z {
215  constructor(e, t = {
216    ns: ["translation"],
217    defaultNS: "translation"
218  }) {
219    super(), this.data = e || {}, this.options = t, this.options.keySeparator === void 0 && (this.options.keySeparator = "."), this.options.ignoreJSONStructure === void 0 && (this.options.ignoreJSONStructure = !0);
220  }
221  addNamespaces(e) {
222    this.options.ns.includes(e) || this.options.ns.push(e);
223  }
224  removeNamespaces(e) {
225    const t = this.options.ns.indexOf(e);
226    t > -1 && this.options.ns.splice(t, 1);
227  }
228  getResource(e, t, a, s = {}) {
229    const i = s.keySeparator !== void 0 ? s.keySeparator : this.options.keySeparator, r = s.ignoreJSONStructure !== void 0 ? s.ignoreJSONStructure : this.options.ignoreJSONStructure;
230    let o;
231    e.includes(".") ? o = e.split(".") : (o = [e, t], a && (Array.isArray(a) ? o.push(...a) : h(a) && i ? o.push(...a.split(i)) : o.push(a)));
232    const l = _(this.data, o);
233    return !l && !t && !a && e.includes(".") && (e = o[0], t = o[1], a = o.slice(2).join(".")), l || !r || !h(a) ? l : se(this.data?.[e]?.[t], a, i);
234  }
235  addResource(e, t, a, s, i = {
236    silent: !1
237  }) {
238    const r = i.keySeparator !== void 0 ? i.keySeparator : this.options.keySeparator;
239    let o = [e, t];
240    a && (o = o.concat(r ? a.split(r) : a)), e.includes(".") && (o = e.split("."), s = t, t = o[1]), this.addNamespaces(t), ce(this.data, o, s), i.silent || this.emit("added", e, t, a, s);
241  }
242  addResources(e, t, a, s = {
243    silent: !1
244  }) {
245    for (const i in a)
246      (h(a[i]) || Array.isArray(a[i])) && this.addResource(e, t, i, a[i], {
247        silent: !0
248      });
249    s.silent || this.emit("added", e, t, a);
250  }
251  addResourceBundle(e, t, a, s, i, r = {
252    silent: !1,
253    skipCopy: !1
254  }) {
255    let o = [e, t];
256    e.includes(".") && (o = e.split("."), s = a, a = t, t = o[1]), this.addNamespaces(t);
257    let l = _(this.data, o) || {};
258    r.skipCopy || (a = JSON.parse(JSON.stringify(a))), s ? ke(l, a, i) : l = {
259      ...l,
260      ...a
261    }, ce(this.data, o, l), r.silent || this.emit("added", e, t, a);
262  }
263  removeResourceBundle(e, t) {
264    this.hasResourceBundle(e, t) && delete this.data[e][t], this.removeNamespaces(t), this.emit("removed", e, t);
265  }
266  hasResourceBundle(e, t) {
267    return this.getResource(e, t) !== void 0;
268  }
269  getResourceBundle(e, t) {
270    return t || (t = this.options.defaultNS), this.getResource(e, t);
271  }
272  getDataByLanguage(e) {
273    return this.data[e];
274  }
275  hasLanguageSomeTranslations(e) {
276    const t = this.getDataByLanguage(e);
277    return !!(t && Object.keys(t) || []).find((s) => t[s] && Object.keys(t[s]).length > 0);
278  }
279  toJSON() {
280    return this.data;
281  }
282}
283var Pe = {
284  processors: {},
285  addPostProcessor(n) {
286    this.processors[n.name] = n;
287  },
288  handle(n, e, t, a, s) {
289    return n.forEach((i) => {
290      e = this.processors[i]?.process(e, t, a, s) ?? e;
291    }), e;
292  }
293};
294const Re = /* @__PURE__ */ Symbol("i18next/PATH_KEY");
295function tt() {
296  const n = [], e = /* @__PURE__ */ Object.create(null);
297  let t;
298  return e.get = (a, s) => (t?.revoke?.(), s === Re ? n : (n.push(s), t = Proxy.revocable(a, e), t.proxy)), Proxy.revocable(/* @__PURE__ */ Object.create(null), e).proxy;
299}
300function U(n, e) {
301  const {
302    [Re]: t
303  } = n(tt()), a = e?.keySeparator ?? ".", s = e?.nsSeparator ?? ":";
304  if (t.length > 1 && s) {
305    const i = e?.ns, r = Array.isArray(i) ? i : null;
306    if (r && r.length > 1 && r.slice(1).includes(t[0]))
307      return `${t[0]}${s}${t.slice(1).join(a)}`;
308  }
309  return t.join(a);
310}
311const ee = (n) => !h(n) && typeof n != "boolean" && typeof n != "number";
312class Q extends Z {
313  constructor(e, t = {}) {
314    super(), Be(["resourceStore", "languageUtils", "pluralResolver", "interpolator", "backendConnector", "i18nFormat", "utils"], e, this), this.options = t, this.options.keySeparator === void 0 && (this.options.keySeparator = "."), this.logger = R.create("translator"), this.checkedLoadedFor = {};
315  }
316  changeLanguage(e) {
317    e && (this.language = e);
318  }
319  exists(e, t = {
320    interpolation: {}
321  }) {
322    const a = {
323      ...t
324    };
325    if (e == null) return !1;
326    const s = this.resolve(e, a);
327    if (s?.res === void 0) return !1;
328    const i = ee(s.res);
329    return !(a.returnObjects === !1 && i);
330  }
331  extractFromKey(e, t) {
332    let a = t.nsSeparator !== void 0 ? t.nsSeparator : this.options.nsSeparator;
333    a === void 0 && (a = ":");
334    const s = t.keySeparator !== void 0 ? t.keySeparator : this.options.keySeparator;
335    let i = t.ns || this.options.defaultNS || [];
336    const r = a && e.includes(a), o = !this.options.userDefinedKeySeparator && !t.keySeparator && !this.options.userDefinedNsSeparator && !t.nsSeparator && !Ze(e, a, s);
337    if (r && !o) {
338      const l = e.match(this.interpolator.nestingRegexp);
339      if (l && l.length > 0)
340        return {
341          key: e,
342          namespaces: h(i) ? [i] : i
343        };
344      const d = e.split(a);
345      (a !== s || a === s && this.options.ns.includes(d[0])) && (i = d.shift()), e = d.join(s);
346    }
347    return {
348      key: e,
349      namespaces: h(i) ? [i] : i
350    };
351  }
352  translate(e, t, a) {
353    let s = typeof t == "object" ? {
354      ...t
355    } : t;
356    if (typeof s != "object" && this.options.overloadTranslationOptionHandler && (s = this.options.overloadTranslationOptionHandler(arguments)), typeof s == "object" && (s = {
357      ...s
358    }), s || (s = {}), e == null) return "";
359    typeof e == "function" && (e = U(e, {
360      ...this.options,
361      ...s
362    })), Array.isArray(e) || (e = [String(e)]), e = e.map((w) => typeof w == "function" ? U(w, {
363      ...this.options,
364      ...s
365    }) : String(w));
366    const i = s.returnDetails !== void 0 ? s.returnDetails : this.options.returnDetails, r = s.keySeparator !== void 0 ? s.keySeparator : this.options.keySeparator, {
367      key: o,
368      namespaces: l
369    } = this.extractFromKey(e[e.length - 1], s), d = l[l.length - 1];
370    let c = s.nsSeparator !== void 0 ? s.nsSeparator : this.options.nsSeparator;
371    c === void 0 && (c = ":");
372    const u = s.lng || this.language, p = s.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;
373    if (u?.toLowerCase() === "cimode")
374      return p ? i ? {
375        res: `${d}${c}${o}`,
376        usedKey: o,
377        exactUsedKey: o,
378        usedLng: u,
379        usedNS: d,
380        usedParams: this.getUsedParamsDetails(s)
381      } : `${d}${c}${o}` : i ? {
382        res: o,
383        usedKey: o,
384        exactUsedKey: o,
385        usedLng: u,
386        usedNS: d,
387        usedParams: this.getUsedParamsDetails(s)
388      } : o;
389    const g = this.resolve(e, s);
390    let f = g?.res;
391    const b = g?.usedKey || o, y = g?.exactUsedKey || o, L = ["[object Number]", "[object Function]", "[object RegExp]"], v = s.joinArrays !== void 0 ? s.joinArrays : this.options.joinArrays, $ = !this.i18nFormat || this.i18nFormat.handleAsObject, S = s.count !== void 0 && !h(s.count), O = Q.hasDefaultValue(s), F = S ? this.pluralResolver.getSuffix(u, s.count, s) : "", A = s.ordinal && S ? this.pluralResolver.getSuffix(u, s.count, {
392      ordinal: !1
393    }) : "", ie = S && !s.ordinal && s.count === 0, N = ie && s[`defaultValue${this.options.pluralSeparator}zero`] || s[`defaultValue${F}`] || s[`defaultValue${A}`] || s.defaultValue;
394    let k = f;
395    $ && !f && O && (k = N);
396    const $e = ee(k), je = Object.prototype.toString.apply(k);
397    if ($ && k && $e && !L.includes(je) && !(h(v) && Array.isArray(k))) {
398      if (!s.returnObjects && !this.options.returnObjects) {
399        this.options.returnedObjectHandler || this.logger.warn("accessing an object - but returnObjects options is not enabled!");
400        const w = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(b, k, {
401          ...s,
402          ns: l
403        }) : `key '${o} (${this.language})' returned an object instead of string.`;
404        return i ? (g.res = w, g.usedParams = this.getUsedParamsDetails(s), g) : w;
405      }
406      if (r) {
407        const w = Array.isArray(k), C = w ? [] : {}, ne = w ? y : b;
408        for (const P in k)
409          if (Object.prototype.hasOwnProperty.call(k, P)) {
410            const E = `${ne}${r}${P}`;
411            O && !f ? C[P] = this.translate(E, {
412              ...s,
413              defaultValue: ee(N) ? N[P] : void 0,
414              joinArrays: !1,
415              ns: l
416            }) : C[P] = this.translate(E, {
417              ...s,
418              joinArrays: !1,
419              ns: l
420            }), C[P] === E && (C[P] = k[P]);
421          }
422        f = C;
423      }
424    } else if ($ && h(v) && Array.isArray(f))
425      f = f.join(v), f && (f = this.extendTranslation(f, e, s, a));
426    else {
427      let w = !1, C = !1;
428      !this.isValidLookup(f) && O && (w = !0, f = N), this.isValidLookup(f) || (C = !0, f = o);
429      const P = (s.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey) && C ? void 0 : f, E = O && N !== f && this.options.updateMissing;
430      if (C || w || E) {
431        if (this.logger.log(E ? "updateKey" : "missingKey", u, d, o, E ? N : f), r) {
432          const x = this.resolve(o, {
433            ...s,
434            keySeparator: !1
435          });
436          x && x.res && this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.");
437        }
438        let z = [];
439        const G = this.languageUtils.getFallbackCodes(this.options.fallbackLng, s.lng || this.language);
440        if (this.options.saveMissingTo === "fallback" && G && G[0])
441          for (let x = 0; x < G.length; x++)
442            z.push(G[x]);
443        else this.options.saveMissingTo === "all" ? z = this.languageUtils.toResolveHierarchy(s.lng || this.language) : z.push(s.lng || this.language);
444        const re = (x, j, V) => {
445          const oe = O && V !== f ? V : P;
446          this.options.missingKeyHandler ? this.options.missingKeyHandler(x, d, j, oe, E, s) : this.backendConnector?.saveMissing && this.backendConnector.saveMissing(x, d, j, oe, E, s), this.emit("missingKey", x, d, j, f);
447        };
448        this.options.saveMissing && (this.options.saveMissingPlurals && S ? z.forEach((x) => {
449          const j = this.pluralResolver.getSuffixes(x, s);
450          ie && s[`defaultValue${this.options.pluralSeparator}zero`] && !j.includes(`${this.options.pluralSeparator}zero`) && j.push(`${this.options.pluralSeparator}zero`), j.forEach((V) => {
451            re([x], o + V, s[`defaultValue${V}`] || N);
452          });
453        }) : re(z, o, N));
454      }
455      f = this.extendTranslation(f, e, s, g, a), C && f === o && this.options.appendNamespaceToMissingKey && (f = `${d}${c}${o}`), (C || w) && this.options.parseMissingKeyHandler && (f = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${d}${c}${o}` : o, w ? f : void 0, s));
456    }
457    return i ? (g.res = f, g.usedParams = this.getUsedParamsDetails(s), g) : f;
458  }
459  extendTranslation(e, t, a, s, i) {
460    if (this.i18nFormat?.parse)
461      e = this.i18nFormat.parse(e, {
462        ...this.options.interpolation.defaultVariables,
463        ...a
464      }, a.lng || this.language || s.usedLng, s.usedNS, s.usedKey, {
465        resolved: s
466      });
467    else if (!a.skipInterpolation) {
468      a.interpolation && this.interpolator.init({
469        ...a,
470        interpolation: {
471          ...this.options.interpolation,
472          ...a.interpolation
473        }
474      });
475      const l = h(e) && (a?.interpolation?.skipOnVariables !== void 0 ? a.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);
476      let d;
477      if (l) {
478        const u = e.match(this.interpolator.nestingRegexp);
479        d = u && u.length;
480      }
481      let c = a.replace && !h(a.replace) ? a.replace : a;
482      if (this.options.interpolation.defaultVariables && (c = {
483        ...this.options.interpolation.defaultVariables,
484        ...c
485      }), e = this.interpolator.interpolate(e, c, a.lng || this.language || s.usedLng, a), l) {
486        const u = e.match(this.interpolator.nestingRegexp), p = u && u.length;
487        d < p && (a.nest = !1);
488      }
489      !a.lng && s && s.res && (a.lng = this.language || s.usedLng), a.nest !== !1 && (e = this.interpolator.nest(e, (...u) => i?.[0] === u[0] && !a.context ? (this.logger.warn(`It seems you are nesting recursively key: ${u[0]} in key: ${t[0]}`), null) : this.translate(...u, t), a)), a.interpolation && this.interpolator.reset();
490    }
491    const r = a.postProcess || this.options.postProcess, o = h(r) ? [r] : r;
492    return e != null && o?.length && a.applyPostProcessor !== !1 && (e = Pe.handle(o, e, t, this.options && this.options.postProcessPassResolved ? {
493      i18nResolved: {
494        ...s,
495        usedParams: this.getUsedParamsDetails(a)
496      },
497      ...a
498    } : a, this)), e;
499  }
500  resolve(e, t = {}) {
501    let a, s, i, r, o;
502    return h(e) && (e = [e]), Array.isArray(e) && (e = e.map((l) => typeof l == "function" ? U(l, {
503      ...this.options,
504      ...t
505    }) : l)), e.forEach((l) => {
506      if (this.isValidLookup(a)) return;
507      const d = this.extractFromKey(l, t), c = d.key;
508      s = c;
509      let u = d.namespaces;
510      this.options.fallbackNS && (u = u.concat(this.options.fallbackNS));
511      const p = t.count !== void 0 && !h(t.count), g = p && !t.ordinal && t.count === 0, f = t.context !== void 0 && (h(t.context) || typeof t.context == "number") && t.context !== "", b = t.lngs ? t.lngs : this.languageUtils.toResolveHierarchy(t.lng || this.language, t.fallbackLng);
512      u.forEach((y) => {
513        this.isValidLookup(a) || (o = y, !this.checkedLoadedFor[`${b[0]}-${y}`] && this.utils?.hasLoadedNamespace && !this.utils?.hasLoadedNamespace(o) && (this.checkedLoadedFor[`${b[0]}-${y}`] = !0, this.logger.warn(`key "${s}" for languages "${b.join(", ")}" won't get resolved as namespace "${o}" was not yet loaded`, "This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")), b.forEach((L) => {
514          if (this.isValidLookup(a)) return;
515          r = L;
516          const v = [c];
517          if (this.i18nFormat?.addLookupKeys)
518            this.i18nFormat.addLookupKeys(v, c, L, y, t);
519          else {
520            let S;
521            p && (S = this.pluralResolver.getSuffix(L, t.count, t));
522            const O = `${this.options.pluralSeparator}zero`, F = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;
523            if (p && (t.ordinal && S.startsWith(F) && v.push(c + S.replace(F, this.options.pluralSeparator)), v.push(c + S), g && v.push(c + O)), f) {
524              const A = `${c}${this.options.contextSeparator || "_"}${t.context}`;
525              v.push(A), p && (t.ordinal && S.startsWith(F) && v.push(A + S.replace(F, this.options.pluralSeparator)), v.push(A + S), g && v.push(A + O));
526            }
527          }
528          let $;
529          for (; $ = v.pop(); )
530            this.isValidLookup(a) || (i = $, a = this.getResource(L, y, $, t));
531        }));
532      });
533    }), {
534      res: a,
535      usedKey: s,
536      exactUsedKey: i,
537      usedLng: r,
538      usedNS: o
539    };
540  }
541  isValidLookup(e) {
542    return e !== void 0 && !(!this.options.returnNull && e === null) && !(!this.options.returnEmptyString && e === "");
543  }
544  getResource(e, t, a, s = {}) {
545    return this.i18nFormat?.getResource ? this.i18nFormat.getResource(e, t, a, s) : this.resourceStore.getResource(e, t, a, s);
546  }
547  getUsedParamsDetails(e = {}) {
548    const t = ["defaultValue", "ordinal", "context", "replace", "lng", "lngs", "fallbackLng", "ns", "keySeparator", "nsSeparator", "returnObjects", "returnDetails", "joinArrays", "postProcess", "interpolation"], a = e.replace && !h(e.replace);
549    let s = a ? e.replace : e;
550    if (a && typeof e.count < "u" && (s.count = e.count), this.options.interpolation.defaultVariables && (s = {
551      ...this.options.interpolation.defaultVariables,
552      ...s
553    }), !a) {
554      s = {
555        ...s
556      };
557      for (const i of t)
558        delete s[i];
559    }
560    return s;
561  }
562  static hasDefaultValue(e) {
563    const t = "defaultValue";
564    for (const a in e)
565      if (Object.prototype.hasOwnProperty.call(e, a) && a.startsWith(t) && e[a] !== void 0)
566        return !0;
567    return !1;
568  }
569}
570class he {
vendor: 4,334 bytes, lines 571-675
571  constructor(e) {
572    this.options = e, this.supportedLngs = this.options.supportedLngs || !1, this.logger = R.create("languageUtils");
573  }
574  getScriptPartFromCode(e) {
575    if (e = B(e), !e || !e.includes("-")) return null;
576    const t = e.split("-");
577    return t.length === 2 || (t.pop(), t[t.length - 1].toLowerCase() === "x") ? null : this.formatLanguageCode(t.join("-"));
578  }
579  getLanguagePartFromCode(e) {
580    if (e = B(e), !e || !e.includes("-")) return e;
581    const t = e.split("-");
582    return this.formatLanguageCode(t[0]);
583  }
584  formatLanguageCode(e) {
585    if (h(e) && e.includes("-")) {
586      let t;
587      try {
588        t = Intl.getCanonicalLocales(e)[0];
589      } catch {
590      }
591      return t && this.options.lowerCaseLng && (t = t.toLowerCase()), t || (this.options.lowerCaseLng ? e.toLowerCase() : e);
592    }
593    return this.options.cleanCode || this.options.lowerCaseLng ? e.toLowerCase() : e;
594  }
595  isSupportedCode(e) {
596    return (this.options.load === "languageOnly" || this.options.nonExplicitSupportedLngs) && (e = this.getLanguagePartFromCode(e)), !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.includes(e);
597  }
598  getBestMatchFromCodes(e) {
599    if (!e) return null;
600    let t;
601    return e.forEach((a) => {
602      if (t) return;
603      const s = this.formatLanguageCode(a);
604      (!this.options.supportedLngs || this.isSupportedCode(s)) && (t = s);
605    }), !t && this.options.supportedLngs && e.forEach((a) => {
606      if (t) return;
607      const s = this.getScriptPartFromCode(a);
608      if (this.isSupportedCode(s)) return t = s;
609      const i = this.getLanguagePartFromCode(a);
610      if (this.isSupportedCode(i)) return t = i;
611      t = this.options.supportedLngs.find((r) => r === i ? !0 : !r.includes("-") && !i.includes("-") ? !1 : !!(r.includes("-") && !i.includes("-") && r.slice(0, r.indexOf("-")) === i || r.startsWith(i) && i.length > 1));
612    }), t || (t = this.getFallbackCodes(this.options.fallbackLng)[0]), t;
613  }
614  getFallbackCodes(e, t) {
615    if (!e) return [];
616    if (typeof e == "function" && (e = e(t)), h(e) && (e = [e]), Array.isArray(e)) return e;
617    if (!t) return e.default || [];
618    let a = e[t];
619    return a || (a = e[this.getScriptPartFromCode(t)]), a || (a = e[this.formatLanguageCode(t)]), a || (a = e[this.getLanguagePartFromCode(t)]), a || (a = e.default), a || [];
620  }
621  toResolveHierarchy(e, t) {
622    const a = this.getFallbackCodes((t === !1 ? [] : t) || this.options.fallbackLng || [], e), s = [], i = (r) => {
623      r && (this.isSupportedCode(r) ? s.push(r) : this.logger.warn(`rejecting language code not found in supportedLngs: ${r}`));
624    };
625    return h(e) && (e.includes("-") || e.includes("_")) ? (this.options.load !== "languageOnly" && i(this.formatLanguageCode(e)), this.options.load !== "languageOnly" && this.options.load !== "currentOnly" && i(this.getScriptPartFromCode(e)), this.options.load !== "currentOnly" && i(this.getLanguagePartFromCode(e))) : h(e) && i(this.formatLanguageCode(e)), a.forEach((r) => {
626      s.includes(r) || i(this.formatLanguageCode(r));
627    }), s;
628  }
629}
630const fe = {
631  zero: 0,
632  one: 1,
633  two: 2,
634  few: 3,
635  many: 4,
636  other: 5
637}, ge = {
638  select: (n) => n === 1 ? "one" : "other",
639  resolvedOptions: () => ({
640    pluralCategories: ["one", "other"]
641  })
642};
643class at {
644  constructor(e, t = {}) {
645    this.languageUtils = e, this.options = t, this.logger = R.create("pluralResolver"), this.pluralRulesCache = {};
646  }
647  clearCache() {
648    this.pluralRulesCache = {};
649  }
650  getRule(e, t = {}) {
651    const a = B(e === "dev" ? "en" : e), s = t.ordinal ? "ordinal" : "cardinal", i = JSON.stringify({
652      cleanedCode: a,
653      type: s
654    });
655    if (i in this.pluralRulesCache)
656      return this.pluralRulesCache[i];
657    let r;
658    try {
659      r = new Intl.PluralRules(a, {
660        type: s
661      });
662    } catch {
663      if (typeof Intl > "u")
664        return this.logger.error("No Intl support, please use an Intl polyfill!"), ge;
665      if (!e.match(/-|_/)) return ge;
666      const l = this.languageUtils.getLanguagePartFromCode(e);
667      r = this.getRule(l, t);
668    }
669    return this.pluralRulesCache[i] = r, r;
670  }
671  needsPlural(e, t = {}) {
672    let a = this.getRule(e, t);
673    return a || (a = this.getRule("dev", t)), a?.resolvedOptions().pluralCategories.length > 1;
674  }
675  getPluralFormsOfKey(e, t, a = {}) {
vendor: 4,996 bytes, lines 676-783
676    return this.getSuffixes(e, a).map((s) => `${t}${s}`);
677  }
678  getSuffixes(e, t = {}) {
679    let a = this.getRule(e, t);
680    return a || (a = this.getRule("dev", t)), a ? a.resolvedOptions().pluralCategories.sort((s, i) => fe[s] - fe[i]).map((s) => `${this.options.prepend}${t.ordinal ? `ordinal${this.options.prepend}` : ""}${s}`) : [];
681  }
682  getSuffix(e, t, a = {}) {
683    const s = this.getRule(e, a);
684    return s ? `${this.options.prepend}${a.ordinal ? `ordinal${this.options.prepend}` : ""}${s.select(t)}` : (this.logger.warn(`no plural rule found for: ${e}`), this.getSuffix("dev", t, a));
685  }
686}
687const me = (n, e, t, a = ".", s = !0) => {
688  let i = Ge(n, e, t);
689  return !i && s && h(t) && (i = se(n, t, a), i === void 0 && (i = se(e, t, a))), i;
690}, te = (n) => n.replace(/\$/g, "$$$$");
691class be {
692  constructor(e = {}) {
693    this.logger = R.create("interpolator"), this.options = e, this.format = e?.interpolation?.format || ((t) => t), this.init(e);
694  }
695  init(e = {}) {
696    e.interpolation || (e.interpolation = {
697      escapeValue: !0
698    });
699    const {
700      escape: t,
701      escapeValue: a,
702      useRawValueToEscape: s,
703      prefix: i,
704      prefixEscaped: r,
705      suffix: o,
706      suffixEscaped: l,
707      formatSeparator: d,
708      unescapeSuffix: c,
709      unescapePrefix: u,
710      nestingPrefix: p,
711      nestingPrefixEscaped: g,
712      nestingSuffix: f,
713      nestingSuffixEscaped: b,
714      nestingOptionsSeparator: y,
715      maxReplaces: L,
716      alwaysFormat: v
717    } = e.interpolation;
718    this.escape = t !== void 0 ? t : _e, this.escapeValue = a !== void 0 ? a : !0, this.useRawValueToEscape = s !== void 0 ? s : !1, this.prefix = i ? T(i) : r || "{{", this.suffix = o ? T(o) : l || "}}", this.formatSeparator = d || ",", this.unescapePrefix = c ? "" : u || "-", this.unescapeSuffix = this.unescapePrefix ? "" : c || "", this.nestingPrefix = p ? T(p) : g || T("$t("), this.nestingSuffix = f ? T(f) : b || T(")"), this.nestingOptionsSeparator = y || ",", this.maxReplaces = L || 1e3, this.alwaysFormat = v !== void 0 ? v : !1, this.resetRegExp();
719  }
720  reset() {
721    this.options && this.init(this.options);
722  }
723  resetRegExp() {
724    const e = (t, a) => t?.source === a ? (t.lastIndex = 0, t) : new RegExp(a, "g");
725    this.regexp = e(this.regexp, `${this.prefix}(.+?)${this.suffix}`), this.regexpUnescape = e(this.regexpUnescape, `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`), this.nestingRegexp = e(this.nestingRegexp, `${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`);
726  }
727  interpolate(e, t, a, s) {
728    let i, r, o;
729    const l = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {}, d = (g) => {
730      if (!g.includes(this.formatSeparator)) {
731        const L = me(t, l, g, this.options.keySeparator, this.options.ignoreJSONStructure);
732        return this.alwaysFormat ? this.format(L, void 0, a, {
733          ...s,
734          ...t,
735          interpolationkey: g
736        }) : L;
737      }
738      const f = g.split(this.formatSeparator), b = f.shift().trim(), y = f.join(this.formatSeparator).trim();
739      return this.format(me(t, l, b, this.options.keySeparator, this.options.ignoreJSONStructure), y, a, {
740        ...s,
741        ...t,
742        interpolationkey: b
743      });
744    };
745    this.resetRegExp();
746    const c = s?.missingInterpolationHandler || this.options.missingInterpolationHandler, u = s?.interpolation?.skipOnVariables !== void 0 ? s.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;
747    return [{
748      regex: this.regexpUnescape,
749      safeValue: (g) => te(g)
750    }, {
751      regex: this.regexp,
752      safeValue: (g) => this.escapeValue ? te(this.escape(g)) : te(g)
753    }].forEach((g) => {
754      for (o = 0; i = g.regex.exec(e); ) {
755        const f = i[1].trim();
756        if (r = d(f), r === void 0)
757          if (typeof c == "function") {
758            const y = c(e, i, s);
759            r = h(y) ? y : "";
760          } else if (s && Object.prototype.hasOwnProperty.call(s, f))
761            r = "";
762          else if (u) {
763            r = i[0];
764            continue;
765          } else
766            this.logger.warn(`missed to pass in variable ${f} for interpolating ${e}`), r = "";
767        else !h(r) && !this.useRawValueToEscape && (r = le(r));
768        const b = g.safeValue(r);
769        if (e = e.replace(i[0], b), u ? (g.regex.lastIndex += r.length, g.regex.lastIndex -= i[0].length) : g.regex.lastIndex = 0, o++, o >= this.maxReplaces)
770          break;
771      }
772    }), e;
773  }
774  nest(e, t, a = {}) {
775    let s, i, r;
776    const o = (l, d) => {
777      const c = this.nestingOptionsSeparator;
778      if (!l.includes(c)) return l;
779      const u = l.split(new RegExp(`${T(c)}[ ]*{`));
780      let p = `{${u[1]}`;
781      l = u[0], p = this.interpolate(p, r);
782      const g = p.match(/'/g), f = p.match(/"/g);
783      ((g?.length ?? 0) % 2 === 0 && !f || (f?.length ?? 0) % 2 !== 0) && (p = p.replace(/'/g, '"'));
vendor: 15,936 bytes, lines 784-1182
784      try {
785        r = JSON.parse(p), d && (r = {
786          ...d,
787          ...r
788        });
789      } catch (b) {
790        return this.logger.warn(`failed parsing options string in nesting for key ${l}`, b), `${l}${c}${p}`;
791      }
792      return r.defaultValue && r.defaultValue.includes(this.prefix) && delete r.defaultValue, l;
793    };
794    for (; s = this.nestingRegexp.exec(e); ) {
795      let l = [];
796      r = {
797        ...a
798      }, r = r.replace && !h(r.replace) ? r.replace : r, r.applyPostProcessor = !1, delete r.defaultValue;
799      const d = /{.*}/.test(s[1]) ? s[1].lastIndexOf("}") + 1 : s[1].indexOf(this.formatSeparator);
800      if (d !== -1 && (l = s[1].slice(d).split(this.formatSeparator).map((c) => c.trim()).filter(Boolean), s[1] = s[1].slice(0, d)), i = t(o.call(this, s[1].trim(), r), r), i && s[0] === e && !h(i)) return i;
801      h(i) || (i = le(i)), i || (this.logger.warn(`missed to resolve ${s[1]} for nesting ${e}`), i = ""), l.length && (i = l.reduce((c, u) => this.format(c, u, a.lng, {
802        ...a,
803        interpolationkey: s[1].trim()
804      }), i.trim())), e = e.replace(s[0], i), this.regexp.lastIndex = 0;
805    }
806    return e;
807  }
808}
809const st = (n) => {
810  let e = n.toLowerCase().trim();
811  const t = {};
812  if (n.includes("(")) {
813    const a = n.split("(");
814    e = a[0].toLowerCase().trim();
815    const s = a[1].slice(0, -1);
816    e === "currency" && !s.includes(":") ? t.currency || (t.currency = s.trim()) : e === "relativetime" && !s.includes(":") ? t.range || (t.range = s.trim()) : s.split(";").forEach((r) => {
817      if (r) {
818        const [o, ...l] = r.split(":"), d = l.join(":").trim().replace(/^'+|'+$/g, ""), c = o.trim();
819        t[c] || (t[c] = d), d === "false" && (t[c] = !1), d === "true" && (t[c] = !0), isNaN(d) || (t[c] = parseInt(d, 10));
820      }
821    });
822  }
823  return {
824    formatName: e,
825    formatOptions: t
826  };
827}, ve = (n) => {
828  const e = {};
829  return (t, a, s) => {
830    let i = s;
831    s && s.interpolationkey && s.formatParams && s.formatParams[s.interpolationkey] && s[s.interpolationkey] && (i = {
832      ...i,
833      [s.interpolationkey]: void 0
834    });
835    const r = a + JSON.stringify(i);
836    let o = e[r];
837    return o || (o = n(B(a), s), e[r] = o), o(t);
838  };
839}, it = (n) => (e, t, a) => n(B(t), a)(e);
840class nt {
841  constructor(e = {}) {
842    this.logger = R.create("formatter"), this.options = e, this.init(e);
843  }
844  init(e, t = {
845    interpolation: {}
846  }) {
847    this.formatSeparator = t.interpolation.formatSeparator || ",";
848    const a = t.cacheInBuiltFormats ? ve : it;
849    this.formats = {
850      number: a((s, i) => {
851        const r = new Intl.NumberFormat(s, {
852          ...i
853        });
854        return (o) => r.format(o);
855      }),
856      currency: a((s, i) => {
857        const r = new Intl.NumberFormat(s, {
858          ...i,
859          style: "currency"
860        });
861        return (o) => r.format(o);
862      }),
863      datetime: a((s, i) => {
864        const r = new Intl.DateTimeFormat(s, {
865          ...i
866        });
867        return (o) => r.format(o);
868      }),
869      relativetime: a((s, i) => {
870        const r = new Intl.RelativeTimeFormat(s, {
871          ...i
872        });
873        return (o) => r.format(o, i.range || "day");
874      }),
875      list: a((s, i) => {
876        const r = new Intl.ListFormat(s, {
877          ...i
878        });
879        return (o) => r.format(o);
880      })
881    };
882  }
883  add(e, t) {
884    this.formats[e.toLowerCase().trim()] = t;
885  }
886  addCached(e, t) {
887    this.formats[e.toLowerCase().trim()] = ve(t);
888  }
889  format(e, t, a, s = {}) {
890    if (!t || e == null) return e;
891    const i = t.split(this.formatSeparator);
892    if (i.length > 1 && i[0].indexOf("(") > 1 && !i[0].includes(")") && i.find((o) => o.includes(")"))) {
893      const o = i.findIndex((l) => l.includes(")"));
894      i[0] = [i[0], ...i.splice(1, o)].join(this.formatSeparator);
895    }
896    return i.reduce((o, l) => {
897      const {
898        formatName: d,
899        formatOptions: c
900      } = st(l);
901      if (this.formats[d]) {
902        let u = o;
903        try {
904          const p = s?.formatParams?.[s.interpolationkey] || {}, g = p.locale || p.lng || s.locale || s.lng || a;
905          u = this.formats[d](o, g, {
906            ...c,
907            ...s,
908            ...p
909          });
910        } catch (p) {
911          this.logger.warn(p);
912        }
913        return u;
914      } else
915        this.logger.warn(`there was no format function for ${d}`);
916      return o;
917    }, e);
918  }
919}
920const rt = (n, e) => {
921  n.pending[e] !== void 0 && (delete n.pending[e], n.pendingCount--);
922};
923class ot extends Z {
924  constructor(e, t, a, s = {}) {
925    super(), this.backend = e, this.store = t, this.services = a, this.languageUtils = a.languageUtils, this.options = s, this.logger = R.create("backendConnector"), this.waitingReads = [], this.maxParallelReads = s.maxParallelReads || 10, this.readingCalls = 0, this.maxRetries = s.maxRetries >= 0 ? s.maxRetries : 5, this.retryTimeout = s.retryTimeout >= 1 ? s.retryTimeout : 350, this.state = {}, this.queue = [], this.backend?.init?.(a, s.backend, s);
926  }
927  queueLoad(e, t, a, s) {
928    const i = {}, r = {}, o = {}, l = {};
929    return e.forEach((d) => {
930      let c = !0;
931      t.forEach((u) => {
932        const p = `${d}|${u}`;
933        !a.reload && this.store.hasResourceBundle(d, u) ? this.state[p] = 2 : this.state[p] < 0 || (this.state[p] === 1 ? r[p] === void 0 && (r[p] = !0) : (this.state[p] = 1, c = !1, r[p] === void 0 && (r[p] = !0), i[p] === void 0 && (i[p] = !0), l[u] === void 0 && (l[u] = !0)));
934      }), c || (o[d] = !0);
935    }), (Object.keys(i).length || Object.keys(r).length) && this.queue.push({
936      pending: r,
937      pendingCount: Object.keys(r).length,
938      loaded: {},
939      errors: [],
940      callback: s
941    }), {
942      toLoad: Object.keys(i),
943      pending: Object.keys(r),
944      toLoadLanguages: Object.keys(o),
945      toLoadNamespaces: Object.keys(l)
946    };
947  }
948  loaded(e, t, a) {
949    const s = e.split("|"), i = s[0], r = s[1];
950    t && this.emit("failedLoading", i, r, t), !t && a && this.store.addResourceBundle(i, r, a, void 0, void 0, {
951      skipCopy: !0
952    }), this.state[e] = t ? -1 : 2, t && a && (this.state[e] = 0);
953    const o = {};
954    this.queue.forEach((l) => {
955      We(l.loaded, [i], r), rt(l, e), t && l.errors.push(t), l.pendingCount === 0 && !l.done && (Object.keys(l.loaded).forEach((d) => {
956        o[d] || (o[d] = {});
957        const c = l.loaded[d];
958        c.length && c.forEach((u) => {
959          o[d][u] === void 0 && (o[d][u] = !0);
960        });
961      }), l.done = !0, l.errors.length ? l.callback(l.errors) : l.callback());
962    }), this.emit("loaded", o), this.queue = this.queue.filter((l) => !l.done);
963  }
964  read(e, t, a, s = 0, i = this.retryTimeout, r) {
965    if (!e.length) return r(null, {});
966    if (this.readingCalls >= this.maxParallelReads) {
967      this.waitingReads.push({
968        lng: e,
969        ns: t,
970        fcName: a,
971        tried: s,
972        wait: i,
973        callback: r
974      });
975      return;
976    }
977    this.readingCalls++;
978    const o = (d, c) => {
979      if (this.readingCalls--, this.waitingReads.length > 0) {
980        const u = this.waitingReads.shift();
981        this.read(u.lng, u.ns, u.fcName, u.tried, u.wait, u.callback);
982      }
983      if (d && c && s < this.maxRetries) {
984        setTimeout(() => {
985          this.read(e, t, a, s + 1, i * 2, r);
986        }, i);
987        return;
988      }
989      r(d, c);
990    }, l = this.backend[a].bind(this.backend);
991    if (l.length === 2) {
992      try {
993        const d = l(e, t);
994        d && typeof d.then == "function" ? d.then((c) => o(null, c)).catch(o) : o(null, d);
995      } catch (d) {
996        o(d);
997      }
998      return;
999    }
1000    return l(e, t, o);
1001  }
1002  prepareLoading(e, t, a = {}, s) {
1003    if (!this.backend)
1004      return this.logger.warn("No backend was added via i18next.use. Will not load resources."), s && s();
1005    h(e) && (e = this.languageUtils.toResolveHierarchy(e)), h(t) && (t = [t]);
1006    const i = this.queueLoad(e, t, a, s);
1007    if (!i.toLoad.length)
1008      return i.pending.length || s(), null;
1009    i.toLoad.forEach((r) => {
1010      this.loadOne(r);
1011    });
1012  }
1013  load(e, t, a) {
1014    this.prepareLoading(e, t, {}, a);
1015  }
1016  reload(e, t, a) {
1017    this.prepareLoading(e, t, {
1018      reload: !0
1019    }, a);
1020  }
1021  loadOne(e, t = "") {
1022    const a = e.split("|"), s = a[0], i = a[1];
1023    this.read(s, i, "read", void 0, void 0, (r, o) => {
1024      r && this.logger.warn(`${t}loading namespace ${i} for language ${s} failed`, r), !r && o && this.logger.log(`${t}loaded namespace ${i} for language ${s}`, o), this.loaded(e, r, o);
1025    });
1026  }
1027  saveMissing(e, t, a, s, i, r = {}, o = () => {
1028  }) {
1029    if (this.services?.utils?.hasLoadedNamespace && !this.services?.utils?.hasLoadedNamespace(t)) {
1030      this.logger.warn(`did not save key "${a}" as the namespace "${t}" was not yet loaded`, "This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");
1031      return;
1032    }
1033    if (!(a == null || a === "")) {
1034      if (this.backend?.create) {
1035        const l = {
1036          ...r,
1037          isUpdate: i
1038        }, d = this.backend.create.bind(this.backend);
1039        if (d.length < 6)
1040          try {
1041            let c;
1042            d.length === 5 ? c = d(e, t, a, s, l) : c = d(e, t, a, s), c && typeof c.then == "function" ? c.then((u) => o(null, u)).catch(o) : o(null, c);
1043          } catch (c) {
1044            o(c);
1045          }
1046        else
1047          d(e, t, a, s, o, l);
1048      }
1049      !e || !e[0] || this.store.addResource(e[0], t, a, s);
1050    }
1051  }
1052}
1053const ae = () => ({
1054  debug: !1,
1055  initAsync: !0,
1056  ns: ["translation"],
1057  defaultNS: ["translation"],
1058  fallbackLng: ["dev"],
1059  fallbackNS: !1,
1060  supportedLngs: !1,
1061  nonExplicitSupportedLngs: !1,
1062  load: "all",
1063  preload: !1,
1064  keySeparator: ".",
1065  nsSeparator: ":",
1066  pluralSeparator: "_",
1067  contextSeparator: "_",
1068  partialBundledLanguages: !1,
1069  saveMissing: !1,
1070  updateMissing: !1,
1071  saveMissingTo: "fallback",
1072  saveMissingPlurals: !0,
1073  missingKeyHandler: !1,
1074  missingInterpolationHandler: !1,
1075  postProcess: !1,
1076  postProcessPassResolved: !1,
1077  returnNull: !1,
1078  returnEmptyString: !0,
1079  returnObjects: !1,
1080  joinArrays: !1,
1081  returnedObjectHandler: !1,
1082  parseMissingKeyHandler: !1,
1083  appendNamespaceToMissingKey: !1,
1084  appendNamespaceToCIMode: !1,
1085  overloadTranslationOptionHandler: (n) => {
1086    let e = {};
1087    if (typeof n[1] == "object" && (e = n[1]), h(n[1]) && (e.defaultValue = n[1]), h(n[2]) && (e.tDescription = n[2]), typeof n[2] == "object" || typeof n[3] == "object") {
1088      const t = n[3] || n[2];
1089      Object.keys(t).forEach((a) => {
1090        e[a] = t[a];
1091      });
1092    }
1093    return e;
1094  },
1095  interpolation: {
1096    escapeValue: !0,
1097    prefix: "{{",
1098    suffix: "}}",
1099    formatSeparator: ",",
1100    unescapePrefix: "-",
1101    nestingPrefix: "$t(",
1102    nestingSuffix: ")",
1103    nestingOptionsSeparator: ",",
1104    maxReplaces: 1e3,
1105    skipOnVariables: !0
1106  },
1107  cacheInBuiltFormats: !0
1108}), ye = (n) => (h(n.ns) && (n.ns = [n.ns]), h(n.fallbackLng) && (n.fallbackLng = [n.fallbackLng]), h(n.fallbackNS) && (n.fallbackNS = [n.fallbackNS]), n.supportedLngs && !n.supportedLngs.includes("cimode") && (n.supportedLngs = n.supportedLngs.concat(["cimode"])), n), J = () => {
1109}, lt = (n) => {
1110  Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach((t) => {
1111    typeof n[t] == "function" && (n[t] = n[t].bind(n));
1112  });
1113};
1114class H extends Z {
1115  constructor(e = {}, t) {
1116    if (super(), this.options = ye(e), this.services = {}, this.logger = R, this.modules = {
1117      external: []
1118    }, lt(this), t && !this.isInitialized && !e.isClone) {
1119      if (!this.options.initAsync)
1120        return this.init(e, t), this;
1121      setTimeout(() => {
1122        this.init(e, t);
1123      }, 0);
1124    }
1125  }
1126  init(e = {}, t) {
1127    this.isInitializing = !0, typeof e == "function" && (t = e, e = {}), e.defaultNS == null && e.ns && (h(e.ns) ? e.defaultNS = e.ns : e.ns.includes("translation") || (e.defaultNS = e.ns[0]));
1128    const a = ae();
1129    this.options = {
1130      ...a,
1131      ...this.options,
1132      ...ye(e)
1133    }, this.options.interpolation = {
1134      ...a.interpolation,
1135      ...this.options.interpolation
1136    }, e.keySeparator !== void 0 && (this.options.userDefinedKeySeparator = e.keySeparator), e.nsSeparator !== void 0 && (this.options.userDefinedNsSeparator = e.nsSeparator), typeof this.options.overloadTranslationOptionHandler != "function" && (this.options.overloadTranslationOptionHandler = a.overloadTranslationOptionHandler);
1137    const s = (d) => d ? typeof d == "function" ? new d() : d : null;
1138    if (!this.options.isClone) {
1139      this.modules.logger ? R.init(s(this.modules.logger), this.options) : R.init(null, this.options);
1140      let d;
1141      this.modules.formatter ? d = this.modules.formatter : d = nt;
1142      const c = new he(this.options);
1143      this.store = new pe(this.options.resources, this.options);
1144      const u = this.services;
1145      u.logger = R, u.resourceStore = this.store, u.languageUtils = c, u.pluralResolver = new at(c, {
1146        prepend: this.options.pluralSeparator
1147      }), d && (u.formatter = s(d), u.formatter.init && u.formatter.init(u, this.options), this.options.interpolation.format = u.formatter.format.bind(u.formatter)), u.interpolator = new be(this.options), u.utils = {
1148        hasLoadedNamespace: this.hasLoadedNamespace.bind(this)
1149      }, u.backendConnector = new ot(s(this.modules.backend), u.resourceStore, u, this.options), u.backendConnector.on("*", (p, ...g) => {
1150        this.emit(p, ...g);
1151      }), this.modules.languageDetector && (u.languageDetector = s(this.modules.languageDetector), u.languageDetector.init && u.languageDetector.init(u, this.options.detection, this.options)), this.modules.i18nFormat && (u.i18nFormat = s(this.modules.i18nFormat), u.i18nFormat.init && u.i18nFormat.init(this)), this.translator = new Q(this.services, this.options), this.translator.on("*", (p, ...g) => {
1152        this.emit(p, ...g);
1153      }), this.modules.external.forEach((p) => {
1154        p.init && p.init(this);
1155      });
1156    }
1157    if (this.format = this.options.interpolation.format, t || (t = J), this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {
1158      const d = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);
1159      d.length > 0 && d[0] !== "dev" && (this.options.lng = d[0]);
1160    }
1161    !this.services.languageDetector && !this.options.lng && this.logger.warn("init: no languageDetector is used and no lng is defined"), ["getResource", "hasResourceBundle", "getResourceBundle", "getDataByLanguage"].forEach((d) => {
1162      this[d] = (...c) => this.store[d](...c);
1163    }), ["addResource", "addResources", "addResourceBundle", "removeResourceBundle"].forEach((d) => {
1164      this[d] = (...c) => (this.store[d](...c), this);
1165    });
1166    const o = M(), l = () => {
1167      const d = (c, u) => {
1168        this.isInitializing = !1, this.isInitialized && !this.initializedStoreOnce && this.logger.warn("init: i18next is already initialized. You should call init just once!"), this.isInitialized = !0, this.options.isClone || this.logger.log("initialized", this.options), this.emit("initialized", this.options), o.resolve(u), t(c, u);
1169      };
1170      if (this.languages && !this.isInitialized) return d(null, this.t.bind(this));
1171      this.changeLanguage(this.options.lng, d);
1172    };
1173    return this.options.resources || !this.options.initAsync ? l() : setTimeout(l, 0), o;
1174  }
1175  loadResources(e, t = J) {
1176    let a = t;
1177    const s = h(e) ? e : this.language;
1178    if (typeof e == "function" && (a = e), !this.options.resources || this.options.partialBundledLanguages) {
1179      if (s?.toLowerCase() === "cimode" && (!this.options.preload || this.options.preload.length === 0)) return a();
1180      const i = [], r = (o) => {
1181        if (!o || o === "cimode") return;
1182        this.services.languageUtils.toResolveHierarchy(o).forEac
vendor: 6,277 bytes, lines 1182-1292
1182h((d) => {
1183          d !== "cimode" && (i.includes(d) || i.push(d));
1184        });
1185      };
1186      s ? r(s) : this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((l) => r(l)), this.options.preload?.forEach?.((o) => r(o)), this.services.backendConnector.load(i, this.options.ns, (o) => {
1187        !o && !this.resolvedLanguage && this.language && this.setResolvedLanguage(this.language), a(o);
1188      });
1189    } else
1190      a(null);
1191  }
1192  reloadResources(e, t, a) {
1193    const s = M();
1194    return typeof e == "function" && (a = e, e = void 0), typeof t == "function" && (a = t, t = void 0), e || (e = this.languages), t || (t = this.options.ns), a || (a = J), this.services.backendConnector.reload(e, t, (i) => {
1195      s.resolve(), a(i);
1196    }), s;
1197  }
1198  use(e) {
1199    if (!e) throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");
1200    if (!e.type) throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");
1201    return e.type === "backend" && (this.modules.backend = e), (e.type === "logger" || e.log && e.warn && e.error) && (this.modules.logger = e), e.type === "languageDetector" && (this.modules.languageDetector = e), e.type === "i18nFormat" && (this.modules.i18nFormat = e), e.type === "postProcessor" && Pe.addPostProcessor(e), e.type === "formatter" && (this.modules.formatter = e), e.type === "3rdParty" && this.modules.external.push(e), this;
1202  }
1203  setResolvedLanguage(e) {
1204    if (!(!e || !this.languages) && !["cimode", "dev"].includes(e)) {
1205      for (let t = 0; t < this.languages.length; t++) {
1206        const a = this.languages[t];
1207        if (!["cimode", "dev"].includes(a) && this.store.hasLanguageSomeTranslations(a)) {
1208          this.resolvedLanguage = a;
1209          break;
1210        }
1211      }
1212      !this.resolvedLanguage && !this.languages.includes(e) && this.store.hasLanguageSomeTranslations(e) && (this.resolvedLanguage = e, this.languages.unshift(e));
1213    }
1214  }
1215  changeLanguage(e, t) {
1216    this.isLanguageChangingTo = e;
1217    const a = M();
1218    this.emit("languageChanging", e);
1219    const s = (o) => {
1220      this.language = o, this.languages = this.services.languageUtils.toResolveHierarchy(o), this.resolvedLanguage = void 0, this.setResolvedLanguage(o);
1221    }, i = (o, l) => {
1222      l ? this.isLanguageChangingTo === e && (s(l), this.translator.changeLanguage(l), this.isLanguageChangingTo = void 0, this.emit("languageChanged", l), this.logger.log("languageChanged", l)) : this.isLanguageChangingTo = void 0, a.resolve((...d) => this.t(...d)), t && t(o, (...d) => this.t(...d));
1223    }, r = (o) => {
1224      !e && !o && this.services.languageDetector && (o = []);
1225      const l = h(o) ? o : o && o[0], d = this.store.hasLanguageSomeTranslations(l) ? l : this.services.languageUtils.getBestMatchFromCodes(h(o) ? [o] : o);
1226      d && (this.language || s(d), this.translator.language || this.translator.changeLanguage(d), this.services.languageDetector?.cacheUserLanguage?.(d)), this.loadResources(d, (c) => {
1227        i(c, d);
1228      });
1229    };
1230    return !e && this.services.languageDetector && !this.services.languageDetector.async ? r(this.services.languageDetector.detect()) : !e && this.services.languageDetector && this.services.languageDetector.async ? this.services.languageDetector.detect.length === 0 ? this.services.languageDetector.detect().then(r) : this.services.languageDetector.detect(r) : r(e), a;
1231  }
1232  getFixedT(e, t, a) {
1233    const s = (i, r, ...o) => {
1234      let l;
1235      typeof r != "object" ? l = this.options.overloadTranslationOptionHandler([i, r].concat(o)) : l = {
1236        ...r
1237      }, l.lng = l.lng || s.lng, l.lngs = l.lngs || s.lngs, l.ns = l.ns || s.ns, l.keyPrefix !== "" && (l.keyPrefix = l.keyPrefix || a || s.keyPrefix);
1238      const d = {
1239        ...this.options,
1240        ...l
1241      };
1242      typeof l.keyPrefix == "function" && (l.keyPrefix = U(l.keyPrefix, d));
1243      const c = this.options.keySeparator || ".";
1244      let u;
1245      return l.keyPrefix && Array.isArray(i) ? u = i.map((p) => (typeof p == "function" && (p = U(p, d)), `${l.keyPrefix}${c}${p}`)) : (typeof i == "function" && (i = U(i, d)), u = l.keyPrefix ? `${l.keyPrefix}${c}${i}` : i), this.t(u, l);
1246    };
1247    return h(e) ? s.lng = e : s.lngs = e, s.ns = t, s.keyPrefix = a, s;
1248  }
1249  t(...e) {
1250    return this.translator?.translate(...e);
1251  }
1252  exists(...e) {
1253    return this.translator?.exists(...e);
1254  }
1255  setDefaultNamespace(e) {
1256    this.options.defaultNS = e;
1257  }
1258  hasLoadedNamespace(e, t = {}) {
1259    if (!this.isInitialized)
1260      return this.logger.warn("hasLoadedNamespace: i18next was not initialized", this.languages), !1;
1261    if (!this.languages || !this.languages.length)
1262      return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty", this.languages), !1;
1263    const a = t.lng || this.resolvedLanguage || this.languages[0], s = this.options ? this.options.fallbackLng : !1, i = this.languages[this.languages.length - 1];
1264    if (a.toLowerCase() === "cimode") return !0;
1265    const r = (o, l) => {
1266      const d = this.services.backendConnector.state[`${o}|${l}`];
1267      return d === -1 || d === 0 || d === 2;
1268    };
1269    if (t.precheck) {
1270      const o = t.precheck(this, r);
1271      if (o !== void 0) return o;
1272    }
1273    return !!(this.hasResourceBundle(a, e) || !this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages || r(a, e) && (!s || r(i, e)));
1274  }
1275  loadNamespaces(e, t) {
1276    const a = M();
1277    return this.options.ns ? (h(e) && (e = [e]), e.forEach((s) => {
1278      this.options.ns.includes(s) || this.options.ns.push(s);
1279    }), this.loadResources((s) => {
1280      a.resolve(), t && t(s);
1281    }), a) : (t && t(), Promise.resolve());
1282  }
1283  loadLanguages(e, t) {
1284    const a = M();
1285    h(e) && (e = [e]);
1286    const s = this.options.preload || [], i = e.filter((r) => !s.includes(r) && this.services.languageUtils.isSupportedCode(r));
1287    return i.length ? (this.options.preload = s.concat(i), this.loadResources((r) => {
1288      a.resolve(), t && t(r);
1289    }), a) : (t && t(), Promise.resolve());
1290  }
1291  dir(e) {
1292    if (e || (e = this.resolvedLanguage || (this.languages?.length > 0 ? this.languages[0] : this.language)), !e) return "rtl";
vendor: 3,889 bytes, lines 1293-1404
1293    try {
1294      const s = new Intl.Locale(e);
1295      if (s && s.getTextInfo) {
1296        const i = s.getTextInfo();
1297        if (i && i.direction) return i.direction;
1298      }
1299    } catch {
1300    }
1301    const t = ["ar", "shu", "sqr", "ssh", "xaa", "yhd", "yud", "aao", "abh", "abv", "acm", "acq", "acw", "acx", "acy", "adf", "ads", "aeb", "aec", "afb", "ajp", "apc", "apd", "arb", "arq", "ars", "ary", "arz", "auz", "avl", "ayh", "ayl", "ayn", "ayp", "bbz", "pga", "he", "iw", "ps", "pbt", "pbu", "pst", "prp", "prd", "ug", "ur", "ydd", "yds", "yih", "ji", "yi", "hbo", "men", "xmn", "fa", "jpr", "peo", "pes", "prs", "dv", "sam", "ckb"], a = this.services?.languageUtils || new he(ae());
1302    return e.toLowerCase().indexOf("-latn") > 1 ? "ltr" : t.includes(a.getLanguagePartFromCode(e)) || e.toLowerCase().indexOf("-arab") > 1 ? "rtl" : "ltr";
1303  }
1304  static createInstance(e = {}, t) {
1305    const a = new H(e, t);
1306    return a.createInstance = H.createInstance, a;
1307  }
1308  cloneInstance(e = {}, t = J) {
1309    const a = e.forkResourceStore;
1310    a && delete e.forkResourceStore;
1311    const s = {
1312      ...this.options,
1313      ...e,
1314      isClone: !0
1315    }, i = new H(s);
1316    if ((e.debug !== void 0 || e.prefix !== void 0) && (i.logger = i.logger.clone(e)), ["store", "services", "language"].forEach((o) => {
1317      i[o] = this[o];
1318    }), i.services = {
1319      ...this.services
1320    }, i.services.utils = {
1321      hasLoadedNamespace: i.hasLoadedNamespace.bind(i)
1322    }, a) {
1323      const o = Object.keys(this.store.data).reduce((l, d) => (l[d] = {
1324        ...this.store.data[d]
1325      }, l[d] = Object.keys(l[d]).reduce((c, u) => (c[u] = {
1326        ...l[d][u]
1327      }, c), l[d]), l), {});
1328      i.store = new pe(o, s), i.services.resourceStore = i.store;
1329    }
1330    if (e.interpolation) {
1331      const l = {
1332        ...ae().interpolation,
1333        ...this.options.interpolation,
1334        ...e.interpolation
1335      }, d = {
1336        ...s,
1337        interpolation: l
1338      };
1339      i.services.interpolator = new be(d);
1340    }
1341    return i.translator = new Q(i.services, s), i.translator.on("*", (o, ...l) => {
1342      i.emit(o, ...l);
1343    }), i.init(s, t), i.translator.options = s, i.translator.backendConnector.services.utils = {
1344      hasLoadedNamespace: i.hasLoadedNamespace.bind(i)
1345    }, i;
1346  }
1347  toJSON() {
1348    return {
1349      options: this.options,
1350      store: this.store,
1351      language: this.language,
1352      languages: this.languages,
1353      resolvedLanguage: this.resolvedLanguage
1354    };
1355  }
1356}
1357const m = H.createInstance();
1358m.createInstance;
1359m.dir;
1360m.init;
1361m.loadResources;
1362m.reloadResources;
1363m.use;
1364m.changeLanguage;
1365m.getFixedT;
1366m.t;
1367m.exists;
1368m.setDefaultNamespace;
1369m.hasLoadedNamespace;
1370m.loadNamespaces;
1371m.loadLanguages;
1372const {
1373  slice: dt,
1374  forEach: ut
1375} = [];
1376function ct(n) {
1377  return ut.call(dt.call(arguments, 1), (e) => {
1378    if (e)
1379      for (const t in e)
1380        n[t] === void 0 && (n[t] = e[t]);
1381  }), n;
1382}
1383function pt(n) {
1384  return typeof n != "string" ? !1 : [/<\s*script.*?>/i, /<\s*\/\s*script\s*>/i, /<\s*img.*?on\w+\s*=/i, /<\s*\w+\s*on\w+\s*=.*?>/i, /javascript\s*:/i, /vbscript\s*:/i, /expression\s*\(/i, /eval\s*\(/i, /alert\s*\(/i, /document\.cookie/i, /document\.write\s*\(/i, /window\.location/i, /innerHTML/i].some((t) => t.test(n));
1385}
1386const we = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, ht = function(n, e) {
1387  const a = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {
1388    path: "/"
1389  }, s = encodeURIComponent(e);
1390  let i = `${n}=${s}`;
1391  if (a.maxAge > 0) {
1392    const r = a.maxAge - 0;
1393    if (Number.isNaN(r)) throw new Error("maxAge should be a Number");
1394    i += `; Max-Age=${Math.floor(r)}`;
1395  }
1396  if (a.domain) {
1397    if (!we.test(a.domain))
1398      throw new TypeError("option domain is invalid");
1399    i += `; Domain=${a.domain}`;
1400  }
1401  if (a.path) {
1402    if (!we.test(a.path))
1403      throw new TypeError("option path is invalid");
1404    i += `; Path=${a.path}`;
1405  }
1406  if (a.expires) {
1407    if (typeof a.expires.toUTCString != "function")
1408      throw new TypeError("option expires is invalid");
1409    i += `; Expires=${a.expires.toUTCString()}`;
1410  }
1411  if (a.httpOnly && (i += "; HttpOnly"), a.secure && (i += "; Secure"), a.sameSite)
1412    switch (typeof a.sameSite == "string" ? a.sameSite.toLowerCase() : a.sameSite) {
1413      case !0:
1414        i += "; SameSite=Strict";
1415        break;
1416      case "lax":
1417        i += "; SameSite=Lax";
1418        break;
1419      case "strict":
1420        i += "; SameSite=Strict";
1421        break;
1422      case "none":
1423        i += "; SameSite=None";
1424        break;
1425      default:
1426        throw new TypeError("option sameSite is invalid");
1427    }
1428  return a.partitioned && (i += "; Partitioned"), i;
1429}, xe = {
1430  create(n, e, t, a) {
1431    let s = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : {
1432      path: "/",
1433      sameSite: "strict"
1434    };
1435    t && (s.expires = /* @__PURE__ */ new Date(), s.expires.setTime(s.expires.getTime() + t * 60 * 1e3)), a && (s.domain = a), document.cookie = ht(n, e, s);
1436  },
1437  read(n) {
1438    const e = `${n}=`, t = document.cookie.split(";");
1439    for (let a = 0; a < t.length; a++) {
1440      let s = t[a];
1441      for (; s.charAt(0) === " "; ) s = s.substring(1, s.length);
1442      if (s.indexOf(e) === 0) return s.substring(e.length, s.length);
1443    }
1444    return null;
1445  },
1446  remove(n, e) {
1447    this.create(n, "", -1, e);
1448  }
1449};
1450var ft = {
1451  name: "cookie",
1452  // Deconstruct the options object and extract the lookupCookie property
1453  lookup(n) {
1454    let {
1455      lookupCookie: e
1456    } = n;
1457    if (e && typeof document < "u")
1458      return xe.read(e) || void 0;
1459  },
1460  // Deconstruct the options object and extract the lookupCookie, cookieMinutes, cookieDomain, and cookieOptions properties
1461  cacheUserLanguage(n, e) {
1462    let {
1463      lookupCookie: t,
1464      cookieMinutes: a,
1465      cookieDomain: s,
1466      cookieOptions: i
1467    } = e;
1468    t && typeof document < "u" && xe.create(t, n, a, s, i);
1469  }
1470}, gt = {
1471  name: "querystring",
1472  // Deconstruct the options object and extract the lookupQuerystring property
1473  lookup(n) {
1474    let {
1475      lookupQuerystring: e
1476    } = n, t;
1477    if (typeof window < "u") {
1478      let {
1479        search: a
1480      } = window.location;
1481      !window.location.search && window.location.hash?.indexOf("?") > -1 && (a = window.location.hash.substring(window.location.hash.indexOf("?")));
1482      const i = a.substring(1).split("&");
1483      for (let r = 0; r < i.length; r++) {
1484        const o = i[r].indexOf("=");
1485        o > 0 && i[r].substring(0, o) === e && (t = i[r].substring(o + 1));
1486      }
1487    }
1488    return t;
1489  }
1490}, mt = {
1491  name: "hash",
1492  // Deconstruct the options object and extract the lookupHash property and the lookupFromHashIndex property
1493  lookup(n) {
1494    let {
1495      lookupHash: e,
1496      lookupFromHashIndex: t
1497    } = n, a;
1498    if (typeof window < "u") {
1499      const {
1500        hash: s
1501      } = window.location;
1502      if (s && s.length > 2) {
1503        const i = s.substring(1);
1504        if (e) {
1505          const r = i.split("&");
1506          for (let o = 0; o < r.length; o++) {
1507            const l = r[o].indexOf("=");
1508            l > 0 && r[o].substring(0, l) === e && (a = r[o].substring(l + 1));
1509          }
1510        }
1511        if (a) return a;
1512        if (!a && t > -1) {
1513          const r = s.match(/\/([a-zA-Z-]*)/g);
1514          return Array.isArray(r) ? r[typeof t == "number" ? t : 0]?.replace("/", "") : void 0;
1515        }
1516      }
1517    }
1518    return a;
1519  }
1520};
1521let I = null;
1522const Se = () => {
1523  if (I !== null) return I;
1524  try {
1525    if (I = typeof window < "u" && window.localStorage !== null, !I)
1526      return !1;
1527    const n = "i18next.translate.boo";
1528    window.localStorage.setItem(n, "foo"), window.localStorage.removeItem(n);
1529  } catch {
1530    I = !1;
1531  }
1532  return I;
1533};
1534var bt = {
1535  name: "localStorage",
1536  // Deconstruct the options object and extract the lookupLocalStorage property
1537  lookup(n) {
1538    let {
1539      lookupLocalStorage: e
1540    } = n;
1541    if (e && Se())
1542      return window.localStorage.getItem(e) || void 0;
1543  },
1544  // Deconstruct the options object and extract the lookupLocalStorage property
1545  cacheUserLanguage(n, e) {
1546    let {
1547      lookupLocalStorage: t
1548    } = e;
1549    t && Se() && window.localStorage.setItem(t, n);
1550  }
1551};
1552let D = null;
1553const Le = () => {
1554  if (D !== null) return D;
1555  try {
1556    if (D = typeof window < "u" && window.sessionStorage !== null, !D)
1557      return !1;
1558    const n = "i18next.translate.boo";
1559    window.sessionStorage.setItem(n, "foo"), window.sessionStorage.removeItem(n);
1560  } catch {
1561    D = !1;
1562  }
1563  return D;
1564};
1565var vt = {
1566  name: "sessionStorage",
1567  lookup(n) {
1568    let {
1569      lookupSessionStorage: e
1570    } = n;
1571    if (e && Le())
1572      return window.sessionStorage.getItem(e) || void 0;
1573  },
1574  cacheUserLanguage(n, e) {
1575    let {
1576      lookupSessionStorage: t
1577    } = e;
1578    t && Le() && window.sessionStorage.setItem(t, n);
1579  }
1580}, yt = {
1581  name: "navigator",
1582  lookup(n) {
1583    const e = [];
1584    if (typeof navigator < "u") {
1585      const {
1586        languages: t,
1587        userLanguage: a,
1588        language: s
1589      } = navigator;
1590      if (t)
1591        for (let i = 0; i < t.length; i++)
1592          e.push(t[i]);
1593      a && e.push(a), s && e.push(s);
1594    }
1595    return e.length > 0 ? e : void 0;
1596  }
1597}, wt = {
1598  name: "htmlTag",
1599  // Deconstruct the options object and extract the htmlTag property
1600  lookup(n) {
1601    let {
1602      htmlTag: e
1603    } = n, t;
1604    const a = e || (typeof document < "u" ? document.documentElement : null);
1605    return a && typeof a.getAttribute == "function" && (t = a.getAttribute("lang")), t;
1606  }
1607}, xt = {
1608  name: "path",
1609  // Deconstruct the options object and extract the lookupFromPathIndex property
1610  lookup(n) {
1611    let {
1612      lookupFromPathIndex: e
1613    } = n;
1614    if (typeof window > "u") return;
1615    const t = window.location.pathname.match(/\/([a-zA-Z-]*)/g);
1616    return Array.isArray(t) ? t[typeof e == "number" ? e : 0]?.replace("/", "") : void 0;
1617  }
1618}, St = {
1619  name: "subdomain",
1620  lookup(n) {
1621    let {
1622      lookupFromSubdomainIndex: e
1623    } = n;
1624    const t = typeof e == "number" ? e + 1 : 1, a = typeof window < "u" && window.location?.hostname?.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);
1625    if (a)
1626      return a[t];
1627  }
1628};
1629let Ee = !1;
1630try {
1631  document.cookie, Ee = !0;
1632} catch {
1633}
1634const Oe = ["querystring", "cookie", "localStorage", "sessionStorage", "n
vendor: 8,311 bytes, lines 1634-1781
1634avigator", "htmlTag"];
1635Ee || Oe.splice(1, 1);
1636const Lt = () => ({
1637  order: Oe,
1638  lookupQuerystring: "lng",
1639  lookupCookie: "i18next",
1640  lookupLocalStorage: "i18nextLng",
1641  lookupSessionStorage: "i18nextLng",
1642  // cache user language
1643  caches: ["localStorage"],
1644  excludeCacheFor: ["cimode"],
1645  // cookieMinutes: 10,
1646  // cookieDomain: 'myDomain'
1647  convertDetectedLanguage: (n) => n
1648});
1649class Ne {
1650  constructor(e) {
1651    let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
1652    this.type = "languageDetector", this.detectors = {}, this.init(e, t);
1653  }
1654  init() {
1655    let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
1656      languageUtils: {}
1657    }, t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, a = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
1658    this.services = e, this.options = ct(t, this.options || {}, Lt()), typeof this.options.convertDetectedLanguage == "string" && this.options.convertDetectedLanguage.indexOf("15897") > -1 && (this.options.convertDetectedLanguage = (s) => s.replace("-", "_")), this.options.lookupFromUrlIndex && (this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex), this.i18nOptions = a, this.addDetector(ft), this.addDetector(gt), this.addDetector(bt), this.addDetector(vt), this.addDetector(yt), this.addDetector(wt), this.addDetector(xt), this.addDetector(St), this.addDetector(mt);
1659  }
1660  addDetector(e) {
1661    return this.detectors[e.name] = e, this;
1662  }
1663  detect() {
1664    let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this.options.order, t = [];
1665    return e.forEach((a) => {
1666      if (this.detectors[a]) {
1667        let s = this.detectors[a].lookup(this.options);
1668        s && typeof s == "string" && (s = [s]), s && (t = t.concat(s));
1669      }
1670    }), t = t.filter((a) => a != null && !pt(a)).map((a) => this.options.convertDetectedLanguage(a)), this.services && this.services.languageUtils && this.services.languageUtils.getBestMatchFromCodes ? t : t.length > 0 ? t[0] : null;
1671  }
1672  cacheUserLanguage(e) {
1673    let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : this.options.caches;
1674    t && (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(e) > -1 || t.forEach((a) => {
1675      this.detectors[a] && this.detectors[a].cacheUserLanguage(e, this.options);
1676    }));
1677  }
1678}
1679Ne.type = "languageDetector";
1680const Ce = {
1681  en: {
1682    translation: {
1683      "characters-remaining": "{{charactersRemaining}} characters remaining",
1684      ascending: "ascending",
1685      descending: "descending",
1686      "data-table-sorted": "{{caption}} table, column {{headerName}} is now sorted by {{sortDirection}} values",
1687      date: "date",
1688      "column-headers-buttons-sortable": "column headers with buttons are sortable",
1689      "table-sort-removed": "Table sort removed",
1690      "sort-by-ascending-values": "Sort by ascending values",
1691      "sort-by-descending-values": "Sort by descending values",
1692      "reset-sort": "Reset sort",
1693      "table-now-displaying-page": "Table now displaying page {{pageNumber}} of {{totalPages}}",
1694      "table-now-displaying-rows": "Table now displaying {{pageSize}} rows per page which results in {{totalPages}} total pages for {{totalRows}} rows of data",
1695      "no-matching-results-found": "No matching results found, try another filter term",
1696      "table-filtered": "Table filtered, {{numberOfRows}} rows of data available",
1697      "table-filter-removed": "Filter removed, {{numberOfRows}} rows of data are available",
1698      "filter-cannot-be-used-no-available-data": "Filter cannot be used because there is no available data to display",
1699      "video-duration-is": "Video duration is",
1700      "minutes-and": "minutes and",
1701      "seconds-long": "seconds long",
1702      "view-video-transcript": "View video transcript",
1703      close: "Close",
1704      disabled: "disabled",
1705      breadcrumbs: "breadcrumbs",
1706      calendar: "calendar",
1707      "escape-exit-calendar": "Press escape to exit the calendar.",
1708      "previous-year": "Previous year",
1709      "next-year": "Next year",
1710      "previous-month": "Previous month",
1711      "next-month": "Next month",
1712      "show-today": "Show today",
1713      "clear-value": "Clear value",
1714      "choose-date": "Choose date",
1715      "please-follow-format": "Please follow the {{format}} format.",
1716      "please-enter-valid-date": "Please enter a valid date.",
1717      "press-down-for-calendar": "Press the down arrow key to access the calendar.",
1718      error: "ERROR",
1719      "please-refresh-browser": "Please refresh your browser or try again in a few minutes.",
1720      "sorry-no-permission": "Sorry! It looks like you don’t have permission to access this page.",
1721      "sorry-broken-link": "We’re sorry. It looks like the link you followed may be broken or the page may have been moved.",
1722      "sorry-site-unavailable": "Sorry! This part of our site is currently unavailable, we’re working on resolving the issue as quickly as possible.",
1723      "well-thats-puzzling": 'Well, that’s <span class="{{spanClass}}">puzzling.</span>',
1724      "well-shoot": '<span class="{{spanClass}}">Well, shoot.</span> Our system doesn’t recognize you.',
1725      "uh-oh-small-glitch": '<span class="{{spanClass}}">Uh-oh.</span> We’re experiencing a small glitch.',
1726      "bump-in-the-road": 'Looks like there’s a <span class="{{spanClass}}">bump</span> in the road.',
1727      "attach-files": "Attach files",
1728      "attach-file": "Attach file",
1729      "drop-file-click": "Drop a file to attach, or <span class={{spanClass}}>click to browse.</span>",
1730      "drop-files-click": "Drop files to attach, or <span class={{spanClass}}>click to browse.</span>",
1731      "drop-file-tap": "Drop a file to attach, or <span class={{spanClass}}>tap to browse.</span>",
1732      "drop-files-tap": "Drop files to attach, or <span class={{spanClass}}>tap to browse.</span>",
1733      cancel: "Cancel",
1734      "replace-file-confirmation": "Are you sure you want to replace this file:",
1735      with: "With",
1736      replace: "Replace",
1737      "no-files-attached": "No files have been attached.",
1738      "please-ensure-file-formats": "Please make sure your files are in one of the following formats",
1739      "please-ensure-file-size": "Please make sure your files are below",
1740      "file-could-not-be-uploaded": "The following file could not be uploaded",
1741      "try-again": "Try again",
1742      "remove-attachment": "Remove attachment",
1743      "file-added-live-region": "1 file has been attached.",
1744      "files-added-live-region": "{{count}} files have been attached.",
1745      "removed-file-live-region": "Your {{fileToRemove}} file was removed",
1746      "show-more": "Show more",
1747      "show-less": "Show less",
1748      loading: "loading...",
1749      "expand-collapse-row": "Expand/collapse row",
1750      "expand-collapse-column": "Expand/collapse column",
1751      "expand-row": "Expand row",
1752      "collapse-row": "Collapse row",
1753      "trouble-logging-in": "Trouble logging in?",
1754      "get-help": "Get help",
1755      "link-to-principal-homepage": "Link to Principal homepage",
1756      contact: "Contact",
1757      footer: "Footer",
1758      "terms-of-use": "Terms of use",
1759      disclosures: "Disclosures",
1760      privacy: "Privacy",
1761      security: "Security",
1762      "report-fraud": "Report fraud",
1763      accessibility: "Accessibility",
1764      "securities-offered": "Securities offered through Principal Securities, Inc.,",
1765      "member-sipc": "member SIPC",
1766      "principal-on-X": "Principal on X",
1767      "principal-on-youtube": "Principal on YouTube",
1768      "principal-on-facebook": "Principal on Facebook",
1769      "principal-on-linkedin": "Principal on LinkedIn",
1770      "principal-on-AppStore": "Principal on AppStore",
1771      "principal-on-GooglePlay": "Principal on GooglePlay",
1772      "back-to-footnote": "Back to footnote {{footnoteNumber}}",
1773      "mobile-navigation-menu": "Mobile navigation menu",
1774      "few-more-seconds": "Just a few more seconds!",
1775      "session-expired": "Your session has expired.",
1776      "logged-out": "You've logged out.",
1777      "we-logged-you-out": "To keep your account secure, we've logged you out.",
1778      "not-what-you-wanted": "Not what you wanted to do?",
1779      "log-back-in": "Log back in",
1780      "go-to-first-page": "Go to first page",
1781      "go-to-previous-page": "Go to previous page",
1782      "go-to-next-page": "Go to next page",
1783      "go-to-last-page": "Go to last page",
1784      "no-more-additional-pages": "There are no more additional pages.",
1785      "no-more-previous-pages": "There are no more previous pages.",
1786      pagination: "pagination",
1787      "data-table-pagination": "data table pagination",
1788      "primary-navigation": "primary navigation",
1789      "go-to-page": "go to page",
1790      "log-out": "Log out",
1791      "log-in": "Log in",
1792      "skip-to-content": "Skip to content",
1793      search: "Search",
1794      notifications: "Notifications",
1795      messages: "Messages",
1796      "other-alerts": "Other alerts",
1797      "error-displaying-table-data": "Error displaying table data",
1798      "no-available-table-data": "No available table data",
1799      menu: "Menu",
1800      "secondary-navigation": "secondary navigation",
1801      "logout-alert": "Logout alert!",
1802      minutes: "minutes",
1803      "stay-logged-in": "Stay logged in",
1804      seconds: "seconds",
1805      "one-moment": "One moment",
1806      "on-before-a-date": "on",
1807      "close-the-timer": "close the timer",
1808      "to-save-your-work": "to save your work before you get logged out.",
1809      "sorry-something-wrong-session": "Sorry! Something went wrong on our end when trying to extend your session. Give it another try, or ",
1810      "still-there": "Still there? You're about to be logged out.",
1811      "auto-log-you-out-warning": "To keep your account secure, we'll automatically log you out in ",
1812      dismiss: "Dismiss",
1813      minute: "minute",
1814      "time-remaining": "{{time}} remaining",
1815      progress: "progress",
1816      completed: "completed",
1817      incomplete: "incomplete",
1818      "filter-table": "Filter table",
1819      show: "Show",
1820      hide: "Hide",
1821      "value-hidden-show-available": "Value hidden. Show button available.",
1822      "value-visible-hide-available": "Value visible. Hide button available.",
1823      "no-entries": "No entries",
1824      "number-rows-displayed": "Number of rows to display in table",
1825      "rows-per-page": "rows per page",
1826      of: "of",
1827      entries: "entries",
1828      entry: "entry",
1829      "contact-us": "Contact us",
1830      "help-topics": "Help topics",
1831      "call-us-at": "Call us at",
1832      "principal-legal-links": "Principal legal links",
1833      "social-media": "Social media",
1834      "utility-menu": "utility menu",
1835      "user-menu": "user menu",
1836      "dropdown-button": "dropdown-button",
1837      "additional-information": "Additional information",
1838      "required-group": "At least one option within the group must be checked.",
1839      "numeric-characters-allowed": "Only numeric characters are allowed",
1840      "success-alert": "Success alert",
1841      "information-alert": "Information alert",
1842      "warning-alert": "Warning alert",
1843      "error-alert": "Error alert",
1844      "banner-alert": "Banner alert",
1845      "alert-not-dismissible": "This alert is not dismissible",
1846      "not-found": "Not found",
1847      forbidden: "Forbidden",
1848      "internal-server-error": "Internal server error",
1849      "service-unavailable": "Service unavailable",
1850      "this-link-opens-in-a-new-tab": "This link opens in a new tab",
1851      "opens-in-a-new-tab": "opens in a new tab",
1852      "pfg-logo": "Principal Financial Group logo",
1853      "info-toast": "Information toast",
1854      "loading-toast": "Loading toast",
1855      "success-toast": "Success toast",
1856      "error-toast": "Error toast",
1857      "error-loading-chart": "Error loading chart",
1858      retry: "Retry",
1859      label: "Label",
1860      category: "Category",
1861      value: "Value",
1862      total: "Total",
1863      "value-amount": "value",
1864      "bar-chart-aria-label": "Bar chart, {{position}} of {{total}} bars",
1865      description: "Description",
1866      "search-combo-box": "Search combo box",
1867      "your-account-has-notifications": "Your account has notifications",
1868      chart: "Chart",
1869      table: "Table",
1870      "this-triggers-a-tooltip": "This triggers a tooltip",
1871      "no-chart-data": "No chart data available",
1872      expanded: "expanded",
1873      "donut-chart-accompanying-table": "Donut chart has an accompanying table with the following information",
1874      "line-chart-accompanying-table": "Line chart has an accompanying table with the following information",
1875      "line-chart-data-points": "Line chart data points",
1876      "selected-country": "Selected country",
1877      "aria-value-text": "The current value is {{value}} out of a range from {{min}} to {{max}} and increment is {{step}}",
1878      "current-value": "Current value",
1879      "range-slider-aria-value-text": "Range slider with value {{min}} to {{max}}, adjustable in increments of {{step}}. Current slider setting (start) {{rangeStart}}, (end) {{rangeEnd}}",
1880      "range-start": "Range start {{rangeStart}}",
1881      "range-end": "Range end {{rangeEnd}}",
1882      "slider-not-multiple-of-step": "The original value ({{newValue}}) doesn't fall on a valid step increment of {{step}} from the minimum value ({{min}}), so it has been adjusted to the closest valid value ({{clampedValue}}). Use the slider handle to confirm or update this value.",
1883      "slider-outside-valid-range": "The original value ({{newValue}}) was outside of the available range ({{min}} to {{max}}), so it has been adjusted to the closest valid value ({{clampedValue}}). Use the slider handle to confirm or update this value.",
1884      "slider-range-outside-range": "The original values ({{newRangeStart}} and {{newRangeEnd}}) were outside of the available range ({{min}} to {{max}}
1884), so it has been adjusted to the closest valid range ({{min}} to {{max}}). Use the slider handles to confirm or update these values.",
1885      "slider-range-start-above-max": "The original start value ({{newRangeStart}}) is above the maximum range ({{max}}), so it has been adjusted to the valid value ({{min}}). Use the slider handle to confirm or update this value.",
1886      "slider-range-end-below-min": "The original end value ({{newRangeEnd}}) is below the minimum range ({{min}}), so it has been adjusted to the valid value ({{max}}). Use the slider handle to confirm or update this value.",
1887      "slider-range-start-above-range": "The original start value ({{newRangeStart}}) is above the range end value ({{newRangeEnd}}), so it has been adjusted to the valid range ({{min}} to {{max}}). Use the slider handles to confirm or update these values.",
1888      "slider-range-start-outside": "The original start value ({{newRangeStart}}) was outside of the available range ({{min}} to {{max}}), so it has been adjusted to the closest valid value ({{min}}). Use the slider handle to confirm or update this value.",
1889      "slider-range-end-outside": "The original end value ({{newRangeEnd}}) was outside of the available range ({{min}} to {{max}}), so it has been adjusted to the closest valid value ({{max}}). Use the slider handle to confirm or update this value.",
1890      "slider-range-not-multiple-of-step": "The original values ({{newRangeStart}} and {{newRangeEnd}}) don't fall on valid step increments of {{step}} from the minimum value ({{min}}), so they have been adjusted to the closest valid range ({{snappedStart}} to {{snappedEnd}}). Use the slider handles to confirm or update these values.",
1891      "slider-range-start-not-multiple-of-step": "The original value ({{newRangeStart}}) doesn't fall on a valid step increment of {{step}} from the minimum value ({{min}}), so it has been adjusted to the closest valid value ({{snappedStart}}). Use the slider handle to confirm or update this value.",
1892      "slider-range-end-not-multiple-of-step": "The original value ({{newRangeEnd}}) doesn't fall on a valid step increment of {{step}} from the minimum value ({{min}}), so it has been adjusted to the closest valid value ({{snappedEnd}}). Use the slider handle to confirm or update this value.",
1893      "slider-range-same-values": "The original start value ({{newRangeStart}}) and end value ({{newRangeEnd}}) cannot be the same, so it has been adjusted to the valid range ({{min}} to {{max}}). Use the slider handles to confirm or update these values.",
1894      "view-footnote": "View footnote {{footnoteNumber}}",
1895      link: "Link",
1896      through: "through",
1897      "collapse-options": "Collapse options",
1898      "expand-options": "Expand options",
1899      "no-results": "No results",
1900      "clear-all": "Clear all",
1901      "clear-all-items": "Clear all items",
1902      "item-selected": "item selected",
1903      "items-selected": "items selected",
1904      "no-items-selected": "No items selected",
1905      unavailable: "unavailable",
1906      selected: "selected",
1907      "not-selected": "not selected",
1908      deselected: "deselected",
1909      "press-enter-to-deselect": "Press enter to deselect {{label}}",
1910      "almost-there": "Almost there...",
1911      "country-code-dropdown": "A dropdown containing country codes, used to select the country code for the phone number"
1912    }
1913  },
1914  es: {
1915    translation: {
1916      "characters-remaining": "restantes {{charactersRemaining}} caracteres",
1917      ascending: "ascendentes",
1918      descending: "descendentes",
1919      "data-table-sorted": "{{caption}} tabla, la columna {{headerName}} está ordenada por valores {{sortDirection}}",
1920      date: "fecha",
1921      "column-headers-buttons-sortable": "los encabezados de columna con botones se pueden ordenar",
1922      "table-sort-removed": "La clasificación de la tabla se ha eliminado",
1923      "sort-by-ascending-values": "Ordenar por valores ascendentes",
1924      "sort-by-descending-values": "Ordenar por valores descendientes",
1925      "reset-sort": "Restablecer el orden",
1926      "table-now-displaying-page": "La tabla muestra la página {{pageNumber}} de {{totalPages}}",
1927      "table-now-displaying-rows": "La tabla muestra {{pageSize}} filas por página, es decir {{totalPages}} páginas en total con {{totalRows}} filas de datos",
1928      "no-matching-results-found": "No se encontraron resultados concordantes, intenta otra palabra de filtro",
1929      "table-filtered": "La tabla ha aplicado los filtros, hay {{numberOfRows}} filas de datos disponibles",
1930      "table-filter-removed": "El filtro se ha eliminado, hay {{numberOfRows}} filas de datos disponibles",
1931      "filter-cannot-be-used-no-available-data": "No se pueden utilizar filtros porque no hay datos disponibles para mostrar",
1932      "video-duration-is": "La duración del vídeo es de",
1933      "minutes-and": "minutos y",
1934      "seconds-long": "segundos",
1935      "view-video-transcript": "Ver la transcripción del video",
1936      close: "Cerrar",
1937      disabled: "deshabilitado",
1938      breadcrumbs: "ayuda a la navegación",
1939      calendar: "calendario",
1940      "escape-exit-calendar": "Para salir del calendario pulsa la tecla escape.",
1941      "previous-year": "Año anterior",
1942      "next-year": "Año siguiente",
1943      "previous-month": "Mes anterior",
1944      "next-month": "Mes siguiente",
1945      "show-today": "Mostrar la fecha de hoy",
1946      "clear-value": "Borrar la fecha",
1947      "choose-date": "Elegir fecha",
1948      "please-follow-format": "Utiliza el formato {{format}}, por favor.",
1949      "please-enter-valid-date": "Por favor, ingresa una fecha válida.",
1950      "press-down-for-calendar": "Para acceder al calendario pulsa la flecha hacia abajo.",
1951      error: "ERROR",
1952      "please-refresh-browser": "Actualice su navegador o inténtelo de nuevo en unos minutos.",
1953      "sorry-no-permission": "¡Arrepentido! Parece que no tienes permiso para acceder a esta página.",
1954      "sorry-broken-link": "Lo sentimos. Parece que el enlace que siguió puede estar roto o la página puede haber sido movida.",
1955      "sorry-site-unavailable": "Arrepentido! Esta parte de nuestro sitio no está disponible actualmente, estamos trabajando para resolver el problema lo más rápido posible.",
1956      "well-thats-puzzling": 'Bueno, eso es <span class="{{spanClass}}">desconcertante.</span>',
1957      "well-shoot": '<span class="{{spanClass}}">Bueno, dispara.</span> Nuestro sistema no te reconoce.',
1958      "uh-oh-small-glitch": '<span class="{{spanClass}}">Uh-oh.</span> Estamos experimentando una pequeña falla.',
1959      "bump-in-the-road": 'Parece que hay un <span class="{{spanClass}}">chichón</span> en la carretera.',
1960      "attach-files": "Adjuntar archivos",
1961      "attach-file": "Adjuntar archivo",
1962      "drop-file-click": "Arrastra un archivo para adjuntar o <span class={{spanClass}}>haz clic para buscarlo en tu equipo.</span>",
1963      "drop-files-click": "Arrastra los archivos para adjuntar o <span class={{spanClass}}>haz clic para buscarlos en tu equipo.</span>",
1964      "drop-file-tap": "Arrastra un archivo para adjuntar o <span class={{spanClass}}>haz clic para buscarlo en tu equipo.</span>",
1965      "drop-files-tap": "Arrastra los archivos para adjuntar o <span class={{spanClass}}>pulsa para buscarlos en tu equipo.</span>",
1966      cancel: "Cancelar",
1967      "replace-file-confirmation": "¿Está seguro de que desea reemplazar el siguiente archivo?",
1968      with: "Con",
1969      replace: "Reemplazar",
1970      "no-files-attached": "No se adjuntó ningún archivo.",
1971      "please-ensure-file-formats": "Por favor, asegúrate de que tus archivos estén en alguno de los siguientes formatos",
1972      "please-ensure-file-size": "Asegúrese de que sus archivos estén debajo",
1973      "file-could-not-be-uploaded": "El siguiente archivo no se pudo cargar",
1974      "try-again": "Intenta de nuevo",
1975      "remove-attachment": "Eliminar adjunto",
1976      "file-added-live-region": "Se ha adjuntado 1 archivo.",
1977      "files-added-live-region": "Se han adjuntado {{count}} archivos.",
1978      "removed-file-live-region": "Tu {{fileToRemove}} archivo fue eliminado.",
1979      "show-more": "Mostrar más",
1980      "show-less": "Ver menos",
1981      loading: "cargando...",
1982      "expand-collapse-row": "Expandir/contraer fila",
1983      "expand-collapse-column": "Expandir/contraer columna",
1984      "expand-row": "Expanda la fila",
1985      "collapse-row": "Contraiga la fila",
1986      "trouble-logging-in": "¿Tienes problemas para iniciar sesión?",
1987      "get-help": "Consigue ayuda",
1988      "link-to-principal-homepage": "Bienvenida a la página principal",
1989      contact: "Comunícate con nosotros",
1990      footer: "Pie de página",
1991      "terms-of-use": "Términos de uso",
1992      disclosures: "Declaraciones",
1993      privacy: "Privacidad",
1994      security: "Seguridad",
1995      "report-fraud": "Reporte de fraudes",
1996      accessibility: "Accesibilidad",
1997      "securities-offered": "Los valores son ofrecidos a través de Principal Securities, Inc.,",
1998      "member-sipc": "miembro de la SIPC",
1999      "principal-on-X": "Principal en X",
2000      "principal-on-youtube": "Principal en YouTube",
2001      "principal-on-facebook": "Principal en Facebook",
2002      "principal-on-linkedin": "Principal en LinkedIn",
2003      "principal-on-AppStore": "Principal en AppStore",
2004      "principal-on-GooglePlay": "Principal en GooglePlay",
2005      "back-to-footnote": "Volver a la nota a pie de página {{footnoteNumber}}",
2006      "mobile-navigation-menu": "Menú de navegación móvil",
2007      "few-more-seconds": "¡Solo unos segundos más!",
2008      "session-expired": "Tu sesión venció.",
2009      "logged-out": "Cerraste sesión.",
2010      "we-logged-you-out": "Para mantener tu cuenta segura, hemos cerrado tu sesión.",
2011      "not-what-you-wanted": "¿No era lo que querías hacer?",
2012      "log-back-in": "Iniciar sesión de nuevo",
2013      "go-to-first-page": "Ir a la primera página",
2014      "go-to-previous-page": "Ir a la página anterior",
2015      "go-to-next-page": "Ir a la página siguiente",
2016      "go-to-last-page": "Ir a la última página",
2017      "no-more-additional-pages": "No hay más páginas adicionales",
2018      "no-more-previous-pages": "No hay más páginas anteriores.",
2019      pagination: "paginación",
2020      "data-table-pagination": "paginación de tabla de datos",
2021      "primary-navigation": "navegación primaria",
2022      "go-to-page": "ir a la página",
2023      "log-out": "Cerrar sesión",
2024      "log-in": "Ingresar",
2025      "skip-to-content": "Saltar al contenido",
2026      search: "Buscar",
2027      notifications: "Notificaciones",
2028      messages: "Mensajes",
2029      "other-alerts": "Otras alertas",
2030      "error-displaying-table-data": "Error al mostrar los datos de la tabla",
2031      "no-available-table-data": "No hay datos de tabla disponibles",
2032      menu: "Menú",
2033      "secondary-navigation": "secundario navigation",
2034      "logout-alert": "¡Aviso de cierre de sesión!",
2035      minutes: "minutos",
2036      "stay-logged-in": "Mantener la sesión",
2037      seconds: "segundos",
2038      "one-moment": "Un momento",
2039      "on-before-a-date": "el",
2040      "close-the-timer": "cerrar el temporizador",
2041      "to-save-your-work": " y guarda tu trabajo.",
2042      "sorry-something-wrong-session": "¡Disculpa! Algo salió mal al tratar de alargar tu sesión. Antes de que se te cierre la sesión, inténtalo nuevamente o ",
2043      "still-there": "¿Aún estás aquí? Pronto se te cerrará la sesión.",
2044      "auto-log-you-out-warning": "Por la seguridad de tu cuenta, cerraremos tu sesión en ",
2045      dismiss: "Ignorar",
2046      minute: "minuto",
2047      "time-remaining": "El tiempo que te queda es {{time}}",
2048      progress: "progreso",
2049      completed: "paso completo",
2050      incomplete: "paso incompleto",
2051      "filter-table": "Filtrar tabla",
2052      show: "Mostrar",
2053      hide: "Ocultar",
2054      "value-hidden-show-available": "Valor oculto. Botón Mostrar disponible.",
2055      "value-visible-hide-available": "Valor visible. Botón Ocultar disponible.",
2056      "no-entries": "No hay registros",
2057      "number-rows-displayed": "Número de filas que aparecerán en la tabla",
2058      "rows-per-page": "filas por página",
2059      of: "de",
2060      entries: "registros",
2061      entry: "registro",
2062      "contact-us": "Comunícate con nosotros",
2063      "help-topics": "Temas de ayuda",
2064      "call-us-at": "Llamenos al",
2065      "principal-legal-links": "Principales enlaces legales",
2066      "social-media": "Medios de comunicación social",
2067      "utility-menu": "menú de utilidades",
2068      "user-menu": "Menú del Usuario",
2069      "dropdown-button": "botón desplegable",
2070      "additional-information": "Información adicional",
2071      "required-group": "Se debe marcar al menos una opción dentro del grupo.",
2072      "numeric-characters-allowed": "Solo se permiten caracteres numéricos",
2073      "success-alert": "Alerta de éxito",
2074      "information-alert": "Alerta de información",
2075      "warning-alert": "Alerta de advertencia",
2076      "error-alert": "Alerta de error",
2077      "banner-alert": "Alerta de banner",
2078      "alert-not-dismissible": "Esta alerta no se puede descartar",
2079      "not-found": "No se encontró",
2080      forbidden: "No está permitido",
2081      "internal-server-error": "Error del servidor interno",
2082      "service-unavailable": "Servicio no disponible",
2083      "this-link-opens-in-a-new-tab": "Este enlace se abre en una nueva pestaña",
2084      "opens-in-a-new-tab": "abre en una nueva pestaña",
2085      "pfg-logo": "Logo de Principal Financial Group",
2086      "info-toast": "Notificación temporal (toast) informativa",
2087      "loading-toast": "Notificación temporal (toast) sobre una carga (loading)",
2088      "success-toast": "Notificación temporal (toast) sobre un paso exitoso",
2089      "error-toast": "Notificación temporal (toast) sobre un error",
2090      "error-loading-chart": "Error al cargar gráfico",
2091      retry: "Intentar otra vez",
2092      label: "Identificar",
2093      category: "Categoría",
2094      value: "Valor",
2095      total: "Total",
2096      "value-amount": "cantidad",
2097      "bar-chart-aria-label": "Gráfica de barras, {{position}} de {{total}} barras",
2098      description: "Descripción",
2099      "search-combo-box": "Buscar en cuadro combinado",
2100      "your-account-has-notifications": "Tienes notificaciones en tu cuenta",
2101      chart: "Gráfica",
2102      table: "Tabla",
2103      "this-triggers-a-tooltip": "Esto activa información en pantalla",
2104      "no-chart-data": "No hay datos de gráfica disponibles",
2105      expanded: "Vista expandida",
2106      "donut-chart-accompanying-table": "La gráfica circular está acompañada por una tabla con la siguiente información",
2107      "line-chart-accompanying-table": "El gráfico de líneas viene acompañado de una tabla con la siguiente información",
2108      "line-chart-data-points": "Datos del gráfico de líneas",
2109      "selected-country": "País seleccionado",
2110      "aria-value-text": "El valor actual es {{value}} dentro de un rango de {{min}} a {{max}}, en incrementos de {{step}}",
2111      "current-value": "Valor actual",
2112      "range-slider-aria-value-text": "Barra deslizable de rangos con valores del {{min}} al {{max}}, ajustable en incrementos de {{step}}. Configuración actual de la barra deslizable (inicio) {{rangeStart}}, (fin) {{rangeEnd}}",
2113      "range-start": "Inicio de rango {{rangeStart}}",
2114      "range-end": "Fin de rango {{rangeEnd}}",
2115      "slider-not-multiple-of-step": "El valor original ({{newValue}}) no cae en un punto de incremento válido de {{step}} del valor mínimo ({{min}}), por ello se ha ajustado al valor válido más cercano ({{clampedValue}}). Usa la barra deslizadora para confirmar o actualizar este valor.",
2116      "slider-outside-valid-range": "El valor original ({{newValue}}) está fuera del rango disponible (de {{min}} a {{max}}), así que se ajustó al valor válido más cercano ({{clampedValue}}). Usa la barra deslizadora para confirmar o actualizar este valor.",
2117      "slider-range-outside-range": "Los valores originales ({{newRangeStart}} y {{newRangeEnd}}) están fuera del rango disponible (de {{min}} a {{max}}), así que se ajustó al rango válido más cercano (de {{min}} a {{max}}). Usa las barras deslizadoras para confirmar o actualizar estos valores.",
2118      "slider-range-start-above-max": "El valor inicial original ({{newRangeStart}}) supera el rango máximo ({{max}}), así que se ajustó al valor válido ({{min}}). Usa la barra deslizadora para confirmar o actualizar este valor.",
2119      "slider-range-end-below-min": "El valor final original ({{newRangeEnd}}) está por debajo del rango mínimo ({{min}}), así que se ajustó al valor válido ({{max}}). Usa la barra deslizadora para confirmar o actualizar este valor.",
2120      "slider-range-start-above-range": "El valor inicial original ({{newRangeStart}}) supera el valor final del rango ({{newRangeEnd}}), así que se ajustó al rango válido (de {{min}} a {{max}}). Usa las barras deslizadoras para confirmar o actualizar estos valores.",
2121      "slider-range-start-outside": "El valor inicial original ({{newRangeStart}}) está fuera del rango disponible (de {{min}} a {{max}}), así que se ajustó al valor válido más cercano ({{min}}). Usa la barra deslizadora para confirmar o actualizar este valor.",
2122      "slider-range-end-outside": "El valor final original ({{newRangeEnd}}) está fuera del rango disponible (de {{min}} a {{max}}), así que se ajustó al valor válido más cercano ({{max}}). Usa la barra deslizadora para confirmar o actualizar este valor.",
2123      "slider-range-not-multiple-of-step": "Los valores originales ({{newRangeStart}} y {{newRangeEnd}}) no caen en puntos de incremento válidos de {{step}} del valor mínimo ({{min}}), por ello se han ajustado al rango válido más cercano (de {{snappedStart}} a {{snappedEnd}}). Usa las barras deslizadoras para confirmar o actualizar estos valores.",
2124      "slider-range-start-not-multiple-of-step": "El valor original ({{newRangeStart}}) no cae en un punto de incremento válido de {{step}} del valor mínimo ({{min}}), por ello se ha ajustado al valor válido más cercano ({{snappedStart}}). Usa la barra deslizadora para confirmar o actualizar este valor.",
2125      "slider-range-end-not-multiple-of-step": "El valor original ({{newRangeEnd}}) no cae en un punto de incremento válido de {{step}} del valor mínimo ({{min}}), por ello se ha ajustado al valor válido más cercano ({{snappedEnd}}). Usa la barra deslizadora para confirmar o actualizar este valor.",
2126      "slider-range-same-values": "El valor inicial original ({{newRangeStart}}) y el valor final ({{newRangeEnd}}) no pueden ser iguales, así que se ha ajustado al rango válido de ({{min}} a {{max}}). Usa la barra deslizadora para confirmar o actualizar estos valores.",
2127      "view-footnote": "Ver nota a pie de página {{footnoteNumber}}",
2128      link: "Enlace",
2129      through: "a",
2130      "collapse-options": "Opciones de contracción",
2131      "expand-options": "Opciones de ampliación",
2132      "no-results": "No hay resultados",
2133      "clear-all": "Borrar todo",
2134      "clear-all-items": "Borrar todos los ítems",
2135      "item-selected": "ítem seleccionado",
2136      "items-selected": "ítems seleccionados",
2137      "no-items-selected": "No hay ítems seleccionados",
2138      unavailable: "indisponible",
2139      selected: "seleccionado",
2140      "not-selected": "no seleccionado",
2141      deselected: "deseleccionado",
2142      "press-enter-to-deselect": "Presione enter para deseleccionar {{label}}",
2143      "almost-there": "Casi listo...",
2144      "country-code-dropdown": "Menú desplegable para seleccionar el código del país que corresponda al número de teléfono"
2145    }
2146  }
2147};
2148var Ct = Object.defineProperty, q = (n, e, t, a) => {
2149  for (var s = void 0, i = n.length - 1, r; i >= 0; i--)
2150    (r = n[i]) && (s = r(e, t, s) || s);
2151  return s && Ct(e, t, s), s;
2152};
2153class W extends Fe {
2154  constructor() {
2155    super(...arguments), this.initialRenderForRequiredSlotValidation = !0, this.requiredSlotElements = {}, this.requiredSlotTimeout = null, this.requiredPropertyErrors = [], this.isSuspended = !1, this.isHydrationComplete = !1, this.hasFirstUpdatedRun = !1;
2156  }
2157  /**
2158   * Skip updates when the component is suspended
2159   * @internal
2160   */
2161  shouldUpdate() {
2162    return !this.isSuspended;
2163  }
2164  /**
2165   * The class map used to derive the class attribute for the component.
2166   * This will be used by the getClass method.
2167   * @internal
2168   */
2169  get classNames() {
2170    return {};
2171  }
2172  /**
2173   * The class name prefixed with the appropriate global namespace and class prefix.
2174   * @internal
2175   */
2176  get classNamespaceAndPrefix() {
2177    const e = {
2178      component: "c",
2179      layout: "l"
2180    };
2181    return this.isComponent(this.componentType) ? `pds-${e[this.componentCategory]}-${this.componentName}` : `${e[this.componentCategory]}-${this.componentName}`;
2182  }
2183  isComponent(e) {
2184    return e === "component";
2185  }
2186  /**
2187   * Prepends the appropriate namespace to the class: 'pds-' Components or '' Recipes
2188   * @param key
2189   */
2190  getClassNamespace(e) {
2191    return this.isComponent(this.componentType) ? `pds-${e}` : "";
2192  }
2193  /**
2194   * Prepends the appropriate prefix to the class name as a BEM modifier
2195   * @param className
2196   */
2197  classMod(e) {
2198    return `${this.classNamespaceAndPrefix}--${e}`;
2199  }
2200  /**
2201   * Prepends the appropriate prefix to the class as a BEM element
2202   * @param className
2203   */
2204  classEl(e) {
2205    return `${this.classNamespaceAndPrefix}__${e}`;
2206  }
2207  /**
2208   * Wraps the classNames object in Lit's classMap directive,
2209   * adding the appropriate prefix to each class name
2210   * @returns the string to pass to the component's class attribute
2211   * @example
2212   *   class Button extends PdsElement {
2213   *     componentName = 'button';
2214   *
2215   *     componentCategory:ComponentCategory = 'component';
2216   *
2217   *     componentType: ComponentType = 'component';
2218   *
2219   *     \@property()
2220   *     variant: 'primary' | 'secondary';
2221   *
2222   *     get classNames() {
2223   *       return {
2224   *         [this.variant]: !!this.variant, // pds-c-button--primary
2225   *         centered: this.aligned === "centered", // pds-c-button--centered
2226   *         inverse: this.inverted, // pds-c-button--inverse
2227   *         "is-active": this.active, // pds-is-active
2228   *       };
2229   *     }
2230   *   }
2231   *
2232   *   // Given the above component class, if you render the following
2233   *   <pds-button variant="primary">Hello world</pds-button>
2234   *
2235   *   // then if you call this method, it will return the following (recipe components omit 'pds-')
2236   *   this.getClass() // 'pds-c-button pds-c-button--primary'
2237   */
2238  getClass() {
2239    return ze(
2240      Object.keys(this.classNames).reduce(
2241        (e, t) => {
2242          const a = /^is-/.test(t) ? this.getClassNamespace(t) : this.classMod(t);
2243          return {
2244            ...e,
2245            [a]: this.classNames[t]
2246          };
2247        },
2248        {
2249          [this.classNamespaceAndPrefix]: !0
2250        }
2251      )
2252    );
2253  }
2254  /**
2255   * Sets the isHydrationComplete check to true
2256   * This needs to get set in the element's
2257   * firstUpdated lifecycle hook (this is done by default)
2258   */
2259  setHydrationComplete() {
2260    this.isHydrationComplete = !0;
2261  }
2262  /**
2263   * Check if a slot is empty
2264   * This can only be used once hydration is complete, and thus
2265   * setHydrationComplete will need to run first for this to work
2266   *
2267   * @param slotName
2268   */
2269  slotEmpty(e) {
2270    return this.hasFirstUpdatedRun ? !this.querySelector(`[slot${e ? `="${e}"` : ""}]`) : !0;
2271  }
2272  /**
2273   * Check if a slot is not empty
2274   * This can only be used once hydration is complete, and thus
2275   * setHydrationComplete will need to run first for this to work
2276   *
2277   * @param slotName
2278   */
2279  slotNotEmpty(e) {
2280    return this.slotEmpty(e) ? "" : !this.slotEmpty(e);
2281  }
2282  firstUpdated() {
2283    this.hasFirstUpdatedRun = !0, typeof window < "u" && this.isConnected && requestAnimationFrame(() => {
2284      this.isConnected && this.setHydrationComplete();
2285    }), m.isInitialized && m.changeLanguage();
2286  }
2287  /**
2288   * Dynamically generate random unique IDs
2289   * Returns '' if window.crypto.randomUUID() is not available
2290   */
2291  getRandomId() {
2292    return window.crypto && window.crypto.randomUUID ? window.crypto.randomUUID() : Math.random().toString(36).substring(2, 10);
2293  }
2294  /**
2295   * This initializes language localization capabilities on a component
2296   * Call this function from the connectedCallback() function, like this:
2297   *
2298   * connectedCallback() {
2299   *   super.connectedCallback();
2300   *   this.initLocalization();
2301   * }
2302   */
2303  initLocalization() {
2304    m.isInitialized || (m.use(Ne).init({
2305      fallbackLng: "en",
2306      resources: Ce,
2307      detection: {
2308        lookupLocalStorage: "pds-language",
2309        lookupQuerystring: "lang",
2310        order: [
2311          "htmlTag",
2312          "localStorage",
2313          "querystring",
2314          "cookie",
2315          "sessionStorage",
2316          "navigator"
2317        ]
2318      }
2319    }), m.languages = ["en", "es"]);
2320  }
2321  /**
2322   * This function is a wrapper for i18next.t().
2323   *
2324   * It will default to the English translation if i18next
2325   * is not yet available.
2326   */
2327  translateText(e, t) {
2328    return !this.hasFirstUpdatedRun || !m.isInitialized ? Ce.en.translation[e] : m.t(e, t);
2329  }
2330  /**
2331   * Clone a lit element
2332   */
2333  cloneLitElement(e) {
2334    const t = e.cloneNode(!0);
2335    try {
2336      this.processProps(e, t), this.processChildPdsElements(e, t);
2337    } catch {
2338    }
2339    return t;
2340  }
2341  // Set event listeners and attributes for the cloned element based on the original element
2342  processProps(e, t) {
2343    const a = Object.getOwnPropertyNames(e).filter(
2344      (r) => r.startsWith("__reactFiber")
2345    )[0], i = Object.getOwnPropertyDescriptors(e)[a];
2346    if (i?.value?.return?.pendingProps) {
2347      const r = i.value.return.pendingProps, o = Object.keys(r).filter(
2348        (d) => d !== "children" && d !== "suppressHydrationWarning" && !d.startsWith("_")
2349      ).reduce((d, c) => ({
2350        ...d,
2351        [c]: r[c]
2352      }), {});
2353      Object.keys(o).forEach((d) => {
2354        const c = o[d];
2355        if (d.startsWith("onPds") && typeof c == "function") {
2356          const u = d.substring(2), p = e;
2357          t.addEventListener(u, (g) => {
2358            const f = new CustomEvent(u, {
2359              bubbles: !0,
2360              cancelable: !0,
2361              detail: g instanceof CustomEvent ? g.detail : {}
2362            });
2363            p.dispatchEvent(f);
2364          });
2365        } else c !== !1 && t.setAttribute(d, o[d]);
2366      });
2367    }
2368  }
2369  /**
2370   * Helper to get direct child PDS elements
2371   */
2372  getDirectPdsChildren(e) {
2373    return Array.from(e.children).filter(
2374      (t) => t.tagName.toLowerCase().startsWith("pds-")
2375    );
2376  }
2377  /**
2378   * Recursively process child PDS elements to ensure their React event handlers are preserved
2379   * @internal
2380   */
2381  processChildPdsElements(e, t) {
2382    const a = this.getDirectPdsChildren(e), s = this.getDirectPdsChildren(t);
2383    for (let i = 0; i < a.length; i++) {
2384      const r = a[i], o = s[i];
2385      r && o && this.processProps(r, o);
2386    }
2387  }
2388  /**
2389   * Note: this needs to be called on the client only
2390   * You can call it on the client by calling it from a slotchange event
2391   */
2392  setWindowResizeHandler() {
2393    if (window) {
2394      const e = () => {
2395        const t = window.innerWidth;
2396        t && (t < Ve ? this.responsiveViewportSize = "xs" : t < Me ? this.responsiveViewportSize = "sm" : t < Ke ? this.responsiveViewportSize = "md" : t < He ? this.responsiveViewportSize = "lg" : this.responsiveViewportSize = "xl");
2397      };
2398      e(), window.visualViewport?.addEventListener("resize", e);
2399    }
2400  }
2401  /**
2402   * Used to duplicate slot markup if the markup differs between mobile and desktop views.
2403   */
2404  duplicateSlotMarkup(e) {
2405    const t = e.assignedNodes();
2406    this.dynamicSlotMarkup = t.map((a) => a);
2407  }
2408  /**
2409   * Returns the duplicated slot markup
2410   */
2411  getDynamicSlotMarkup() {
2412    if (this.dynamicSlotMarkup)
2413      return this.dynamicSlotMarkup.map((e) => {
2414        if (e instanceof HTMLElement && e.tagName && e.tagName.toLowerCase().startsWith("pds-")) {
2415          const t = this.cloneLitElement(e);
2416          return t.removeAttribute("slot"), t.removeAttribute("id"), t;
2417        } else {
2418          const t = e.cloneNode(!0);
2419          return t instanceof HTMLElement && (t.removeAttribute("slot"), t.removeAttribute("id")), t;
2420        }
2421      });
2422  }
2423  /**
2424   * Checks if a slotted element is valid for its slot
2425   * Can pass the slot event on slotchange or the slot
2426   * name to validate
2427   */
2428  handleSlotValidation(e) {
2429    let t;
2430    if (typeof e == "string") {
2431      if (t = this.querySelector(
2432        `slot[name="${e}"]`
2433      ) || this.shadowRoot?.querySelector(
2434        `slot[name="${e}"]`
2435      ), t === null)
2436        return;
2437    } else if (e)
2438      t = e.target;
2439    else if (t = this.querySelector("slot") || this.shadowRoot?.querySelector("slot"), t === null)
2440      return;
2441    const a = t.getAttribute("allowed-elements")?.split(",").map((i) => i.trim().toUpperCase());
2442    if (typeof a > "u")
2443      return;
2444    t.assignedElements().forEach((i) => {
2445      this.validateSlottedElements(i, a) || (console.error("Invalid slotted element:", i), i.remove());
2446    });
2447  }
2448  /**
2449   * Checks if an element's tag name is valid, based on a list of valid tag namesubstrings
2450   */
2451  validateSlottedElements(e, t) {
2452    return !!(e instanceof Element && t.find((a) => e.tagName.toUpperCase().includes(a)));
2453  }
2454}
2455q([
2456  Ue({ type: Boolean, reflect: !0 })
2457], W.prototype, "isSuspended");
2458q([
2459  X()
2460], W.prototype, "isHydrationComplete");
2461q([
2462  X()
2463], W.prototype, "hasFirstUpdatedRun");
2464q([
2465  X()
2466], W.prototype, "responsiveViewportSize");
2467q([
2468  X()
2469], W.prototype, "dynamicSlotMarkup");
2470export {
2471  Ke as B,
2472  W as P,
2473  Rt as a,
2474  Ve as b,
2475  ze as e,
2476  m as i
2477};
2478//# sourceMappingURL=PdsElement.chunk-BX0ldsof.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.