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