{"version":3,"file":"PdsElement.chunk-cBztENls.js","sources":["../../../../../node_modules/@lit/reactive-element/css-tag.js","../../../../../node_modules/@lit/reactive-element/reactive-element.js","../../../../../node_modules/lit-html/lit-html.js","../../../../../node_modules/lit-element/lit-element.js","../../../../../node_modules/lit-html/directive.js","../../../../../node_modules/lit-html/directives/class-map.js","../../../../../node_modules/@lit/reactive-element/decorators/property.js","../../../../../node_modules/@lit/reactive-element/decorators/state.js","../../../tokens/dist/es/default/tokens.js","../../../../../node_modules/i18next/dist/esm/i18next.js","../../../../../node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","../../../../../localization/translations.ts","../../../../../packages/web-components/src/lib/components/PdsElement.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:r,getOwnPropertyNames:h,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),y={attribute:!0,type:String,converter:u,reflect:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e(this.prototype,t,r)}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...h(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f)(this[t],s))return;this.P(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.P(s,this[s],i)}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU()}catch(s){throw t=!1,this._$EU(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:\"open\"},b[d(\"elementProperties\")]=new Map,b[d(\"finalized\")]=new Map,p?.({ReactiveElement:b}),(a.reactiveElementVersions??=[]).push(\"2.0.4\");export{b as ReactiveElement,u as defaultConverter,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=y(3),T=Symbol.for(\"lit-noChange\"),E=Symbol.for(\"lit-nothing\"),A=new WeakMap,C=r.createTreeWalker(r,129);function P(t,i){if(!a(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"\":3===i?\"\":\"\")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=C.nextNode())&&d.length0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{Z as _$LH,x as html,w as mathml,T as noChange,E as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as s}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class r extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const s=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(s,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return s}}r._$litElement$=!0,r[\"finalized\"]=!0,globalThis.litElementHydrateSupport?.({LitElement:r});const i=globalThis.litElementPolyfillSupport;i?.({LitElement:r});const o={_$AK:(t,e,s)=>{t._$AK(e,s)},_$AL:t=>t._$AL};(globalThis.litElementVersions??=[]).push(\"4.1.1\");export{r as LitElement,o as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as s,Directive as i,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=s(class extends i{constructor(t){if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||t.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((s=>t[s])).join(\" \")+\" \"}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t}});export{e as classMap};\n//# sourceMappingURL=class-map.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.P(o,void 0,t),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,r?{...t,wrapped:!0}:t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * Do not edit directly, this file was auto-generated.\n */\n\nexport const SemanticBackgroundDefault = \"#ffffff\";\nexport const SemanticBackgroundSubtle = \"#f7f7f7\";\nexport const SemanticBackgroundStrong = \"#2f2f2f\";\nexport const SemanticBackgroundDisabled = \"#f7f7f7\";\nexport const SemanticBackgroundHighlight = \"#dcf94d\";\nexport const SemanticBackgroundWarningSubtle = \"#fff0e5\";\nexport const SemanticBackgroundErrorSubtle = \"#feebeb\";\nexport const SemanticBackgroundSuccessSubtle = \"#ecfcfb\";\nexport const SemanticBackgroundInfoSubtle = \"#f2f9fd\";\nexport const SemanticBackgroundBrandDefault = \"#e3f5fd\";\nexport const SemanticBackgroundBrandStrong = \"#0076cf\";\nexport const SemanticBackgroundBrandXstrong = \"#002855\";\nexport const SemanticBackgroundBrandGradientSubtle =\n \"linear-gradient(60deg, #d2f1fd 100%, #F0FBFE 100%)\";\nexport const SemanticBackgroundBrandGradientStrong =\n \"linear-gradient(60deg, #004c97 25%, #0076cf 100%)\";\nexport const SemanticBackgroundBrandGradientXstrong =\n \"linear-gradient(60deg, #002855 25%, #004c97 100%)\";\nexport const SemanticBackgroundOpacityNone = \"#33333300\";\nexport const SemanticBackgroundOpacityDim = \"#333333e6\";\nexport const SemanticBackgroundOpacityDimSubtle = \"#33333380\";\nexport const SemanticBackgroundOpacityBrand = \"#002855e6\";\nexport const SemanticBackgroundOpacityBrandGradientStrong =\n \"linear-gradient(60deg, #004c97e6 25%, #0076cfe6 100%)\";\nexport const SemanticBackgroundInteractiveDefault = \"#0061a0\";\nexport const SemanticBackgroundInteractiveStrong = \"#04508b\";\nexport const SemanticBackgroundInteractiveXstrong = \"#003865\";\nexport const SemanticBackgroundInteractiveNeutralStrong = \"#f7f7f7\";\nexport const SemanticBackgroundInteractiveNeutralXstrong = \"#dedede\";\nexport const SemanticBackgroundInteractiveInvertedStrong = \"#d2f1fd\";\nexport const SemanticBackgroundInteractiveInvertedXstrong = \"#bbe6fc\";\nexport const SemanticBackgroundInteractiveInvertedNeutralStrong = \"#00000033\";\nexport const SemanticBackgroundInteractiveInvertedNeutralXstrong = \"#0000004D\";\nexport const SemanticBackgroundInvertedDisabled = \"#ffffff40\";\nexport const SemanticBorderSubtle = \"#dedede\";\nexport const SemanticBorderDefault = \"#8b8b8b\";\nexport const SemanticBorderStrong = \"#757575\";\nexport const SemanticBorderInvertedDefault = \"#ffffff\";\nexport const SemanticBorderInvertedError = \"#f95853\";\nexport const SemanticBorderInvertedInfo = \"#0091da\";\nexport const SemanticBorderInvertedSuccess = \"#03bfb7\";\nexport const SemanticBorderDisabled = \"#cecece\";\nexport const SemanticBorderInfo = \"#0076cf\";\nexport const SemanticBorderSuccess = \"#00a29b\";\nexport const SemanticBorderWarning = \"#f76800\";\nexport const SemanticBorderError = \"#c00000\";\nexport const SemanticBorderInteractiveDefault = \"#0061a0\";\nexport const SemanticBorderInteractiveStrong = \"#04508b\";\nexport const SemanticBorderInteractiveXstrong = \"#003865\";\nexport const SemanticBorderInteractiveInvertedStrong = \"#d2f1fd\";\nexport const SemanticBorderInteractiveInvertedXstrong = \"#bbe6fc\";\nexport const SemanticBorderIconDefault = \"#2f2f2f\";\nexport const SemanticBorderOpacityNone = \"#33333300\";\nexport const SemanticDataCategorical10 = \"#004c97\";\nexport const SemanticDataCategorical11 = \"#0091da\";\nexport const SemanticDataCategorical12 = \"#007fa3\";\nexport const SemanticDataCategorical13 = \"#f95853\";\nexport const SemanticDataCategorical14 = \"#612eb1\";\nexport const SemanticDataCategorical15 = \"#315470\";\nexport const SemanticDataCategorical01 = \"#0076cf\";\nexport const SemanticDataCategorical02 = \"#002855\";\nexport const SemanticDataCategorical03 = \"#00a0bd\";\nexport const SemanticDataCategorical04 = \"#7e5dea\";\nexport const SemanticDataCategorical05 = \"#ad1aac\";\nexport const SemanticDataCategorical06 = \"#f76800\";\nexport const SemanticDataCategorical07 = \"#680364\";\nexport const SemanticDataCategorical08 = \"#b28400\";\nexport const SemanticDataCategorical09 = \"#990000\";\nexport const SemanticDataSequentialLg10 = \"#94d8fa\";\nexport const SemanticDataSequentialLg11 = \"#bbe6fc\";\nexport const SemanticDataSequentialLg12 = \"#d2f1fd\";\nexport const SemanticDataSequentialLg13 = \"#e3f5fd\";\nexport const SemanticDataSequentialLg14 = \"#f0fbfe\";\nexport const SemanticDataSequentialLg01 = \"#000022\";\nexport const SemanticDataSequentialLg02 = \"#00173c\";\nexport const SemanticDataSequentialLg03 = \"#002c57\";\nexport const SemanticDataSequentialLg04 = \"#003b75\";\nexport const SemanticDataSequentialLg05 = \"#004c97\";\nexport const SemanticDataSequentialLg06 = \"#005fb8\";\nexport const SemanticDataSequentialLg07 = \"#0076cf\";\nexport const SemanticDataSequentialLg08 = \"#0091da\";\nexport const SemanticDataSequentialLg09 = \"#5ebded\";\nexport const SemanticDataSequentialMd01 = \"#00173c\";\nexport const SemanticDataSequentialMd02 = \"#002c57\";\nexport const SemanticDataSequentialMd03 = \"#003b75\";\nexport const SemanticDataSequentialMd04 = \"#0076cf\";\nexport const SemanticDataSequentialMd05 = \"#0091da\";\nexport const SemanticDataSequentialMd06 = \"#5ebded\";\nexport const SemanticDataSequentialMd07 = \"#bbe6fc\";\nexport const SemanticDataSequentialMd08 = \"#d2f1fd\";\nexport const SemanticDataSequentialMd09 = \"#f0fbfe\";\nexport const SemanticDataSequentialSm01 = \"#002c57\";\nexport const SemanticDataSequentialSm02 = \"#0076cf\";\nexport const SemanticDataSequentialSm03 = \"#5ebded\";\nexport const SemanticDataSequentialSm04 = \"#bbe6fc\";\nexport const SemanticDataSequentialSm05 = \"#e3f5fd\";\nexport const SemanticDataSingle01 = \"#0076cf\";\nexport const SemanticDataSingle02 = \"#002855\";\nexport const SemanticDataSingle03 = \"#004c97\";\nexport const SemanticDataSingle04 = \"#00a0bd\";\nexport const SemanticFocusIndicatorDefault = \"#3871FF\";\nexport const SemanticFocusIndicatorInverted = \"#ffffff\";\nexport const SemanticTextDefault = \"#2f2f2f\";\nexport const SemanticTextSubtle = \"#5e5e5e\";\nexport const SemanticTextStrong = \"#2f2f2f\";\nexport const SemanticTextDisabled = \"#8b8b8b\";\nexport const SemanticTextError = \"#c00000\";\nexport const SemanticTextInteractiveDefault = \"#0061a0\";\nexport const SemanticTextInteractiveStrong = \"#04508b\";\nexport const SemanticTextInteractiveXstrong = \"#003865\";\nexport const SemanticTextInteractiveInvertedDefault = \"#ffffff\";\nexport const SemanticTextInteractiveInvertedStrong = \"#d2f1fd\";\nexport const SemanticTextInteractiveInvertedXstrong = \"#bbe6fc\";\nexport const SemanticTextInvertedDefault = \"#ffffff\";\nexport const SemanticTextInvertedSubtle = \"#62b5e5\";\nexport const SemanticTextInvertedStrong = \"#55fff5\";\nexport const SemanticTextInvertedError = \"#f95853\";\nexport const SemanticTypeBodySmFontWeight = \"normal\";\nexport const SemanticTypeBodySmFontSize = \"0.875rem\";\nexport const SemanticTypeBodySmLineHeight = \"1.5rem\";\nexport const SemanticTypeBodySmFontFamily =\n \"'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeBodySmLetterSpacing = \"normal\";\nexport const SemanticTypeBodySmTextTransform = \"none\";\nexport const SemanticTypeBodyDefaultCompactFontWeight = \"normal\";\nexport const SemanticTypeBodyDefaultCompactFontSize = \"1rem\";\nexport const SemanticTypeBodyDefaultCompactLineHeight = \"1.5rem\";\nexport const SemanticTypeBodyDefaultCompactFontFamily =\n \"'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeBodyDefaultCompactLetterSpacing = \"normal\";\nexport const SemanticTypeBodyDefaultCompactTextTransform = \"none\";\nexport const SemanticTypeBodyDefaultFontWeight = \"normal\";\nexport const SemanticTypeBodyDefaultFontSize = \"1rem\";\nexport const SemanticTypeBodyDefaultLineHeight = \"1.75rem\";\nexport const SemanticTypeBodyDefaultFontFamily =\n \"'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeBodyDefaultLetterSpacing = \"normal\";\nexport const SemanticTypeBodyDefaultTextTransform = \"none\";\nexport const SemanticTypeBodyLgFontWeight = \"normal\";\nexport const SemanticTypeBodyLgFontSize = \"1.125rem\";\nexport const SemanticTypeBodyLgLineHeight = \"1.75rem\";\nexport const SemanticTypeBodyLgFontFamily =\n \"'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeBodyLgLetterSpacing = \"normal\";\nexport const SemanticTypeBodyLgTextTransform = \"none\";\nexport const SemanticTypeBodyXlFontWeight = \"normal\";\nexport const SemanticTypeBodyXlFontSize = \"1.25rem\";\nexport const SemanticTypeBodyXlLineHeight = \"2rem\";\nexport const SemanticTypeBodyXlFontFamily =\n \"'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeBodyXlLetterSpacing = \"normal\";\nexport const SemanticTypeBodyXlTextTransform = \"none\";\nexport const SemanticTypeBodyBoldSmFontWeight = \"normal\";\nexport const SemanticTypeBodyBoldSmFontSize = \"0.875rem\";\nexport const SemanticTypeBodyBoldSmLineHeight = \"1.5rem\";\nexport const SemanticTypeBodyBoldSmFontFamily =\n \"'FS Elliot Web Bold', 'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeBodyBoldSmLetterSpacing = \"normal\";\nexport const SemanticTypeBodyBoldSmTextTransform = \"none\";\nexport const SemanticTypeBodyBoldDefaultFontWeight = \"normal\";\nexport const SemanticTypeBodyBoldDefaultFontSize = \"1rem\";\nexport const SemanticTypeBodyBoldDefaultLineHeight = \"1.75rem\";\nexport const SemanticTypeBodyBoldDefaultFontFamily =\n \"'FS Elliot Web Bold', 'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeBodyBoldDefaultLetterSpacing = \"normal\";\nexport const SemanticTypeBodyBoldDefaultTextTransform = \"none\";\nexport const SemanticTypeBodyBoldLgFontWeight = \"normal\";\nexport const SemanticTypeBodyBoldLgFontSize = \"1.125rem\";\nexport const SemanticTypeBodyBoldLgLineHeight = \"1.75rem\";\nexport const SemanticTypeBodyBoldLgFontFamily =\n \"'FS Elliot Web Bold', 'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeBodyBoldLgLetterSpacing = \"normal\";\nexport const SemanticTypeBodyBoldLgTextTransform = \"none\";\nexport const SemanticTypeBodyBoldXlFontWeight = \"normal\";\nexport const SemanticTypeBodyBoldXlFontSize = \"1.25rem\";\nexport const SemanticTypeBodyBoldXlLineHeight = \"2rem\";\nexport const SemanticTypeBodyBoldXlFontFamily =\n \"'FS Elliot Web Bold', 'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeBodyBoldXlLetterSpacing = \"normal\";\nexport const SemanticTypeBodyBoldXlTextTransform = \"none\";\nexport const SemanticTypeDataSmFontWeight = \"normal\";\nexport const SemanticTypeDataSmFontSize = \"0.875rem\";\nexport const SemanticTypeDataSmLineHeight = \"1rem\";\nexport const SemanticTypeDataSmFontFamily =\n \"'Work Sans Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeDataSmLetterSpacing = \"normal\";\nexport const SemanticTypeDataSmTextTransform = \"none\";\nexport const SemanticTypeDataDefaultFontWeight = \"normal\";\nexport const SemanticTypeDataDefaultFontSize = \"1rem\";\nexport const SemanticTypeDataDefaultLineHeight = \"1.125rem\";\nexport const SemanticTypeDataDefaultFontFamily =\n \"'Work Sans Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeDataDefaultLetterSpacing = \"normal\";\nexport const SemanticTypeDataDefaultTextTransform = \"none\";\nexport const SemanticTypeDataLgFontWeight = \"normal\";\nexport const SemanticTypeDataLgFontSize = \"1.5rem\";\nexport const SemanticTypeDataLgLineHeight = \"1.625rem\";\nexport const SemanticTypeDataLgFontFamily =\n \"'Work Sans Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeDataLgLetterSpacing = \"normal\";\nexport const SemanticTypeDataLgTextTransform = \"none\";\nexport const SemanticTypeDataLgMobileFontSize = \"1.25rem\";\nexport const SemanticTypeDataLgMobileLineHeight = \"1.375rem\";\nexport const SemanticTypeDataXlFontWeight = \"normal\";\nexport const SemanticTypeDataXlFontSize = \"2.5rem\";\nexport const SemanticTypeDataXlLineHeight = \"2.625rem\";\nexport const SemanticTypeDataXlFontFamily =\n \"'Work Sans Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeDataXlLetterSpacing = \"normal\";\nexport const SemanticTypeDataXlTextTransform = \"none\";\nexport const SemanticTypeDataXlMobileFontSize = \"2rem\";\nexport const SemanticTypeDataXlMobileLineHeight = \"2.125rem\";\nexport const SemanticTypeDisplaySmFontWeight = \"normal\";\nexport const SemanticTypeDisplaySmFontSize = \"2.5rem\";\nexport const SemanticTypeDisplaySmLineHeight = \"3rem\";\nexport const SemanticTypeDisplaySmFontFamily =\n \"'FS Elliot Pro Light', 'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeDisplaySmLetterSpacing = \"-0.5px\";\nexport const SemanticTypeDisplaySmTextTransform = \"none\";\nexport const SemanticTypeDisplaySmMobileFontSize = \"2rem\";\nexport const SemanticTypeDisplaySmMobileLineHeight = \"2.5rem\";\nexport const SemanticTypeDisplayDefaultFontWeight = \"normal\";\nexport const SemanticTypeDisplayDefaultFontSize = \"3rem\";\nexport const SemanticTypeDisplayDefaultLineHeight = \"3.375rem\";\nexport const SemanticTypeDisplayDefaultFontFamily =\n \"'FS Elliot Pro Light', 'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeDisplayDefaultLetterSpacing = \"-0.5px\";\nexport const SemanticTypeDisplayDefaultTextTransform = \"none\";\nexport const SemanticTypeDisplayDefaultMobileFontSize = \"2.5rem\";\nexport const SemanticTypeDisplayDefaultMobileLineHeight = \"3rem\";\nexport const SemanticTypeDisplayLgFontWeight = \"normal\";\nexport const SemanticTypeDisplayLgFontSize = \"4rem\";\nexport const SemanticTypeDisplayLgLineHeight = \"5rem\";\nexport const SemanticTypeDisplayLgFontFamily =\n \"'FS Elliot Pro Light', 'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeDisplayLgLetterSpacing = \"-0.5px\";\nexport const SemanticTypeDisplayLgTextTransform = \"none\";\nexport const SemanticTypeDisplayLgMobileFontSize = \"3.5rem\";\nexport const SemanticTypeDisplayLgMobileLineHeight = \"4rem\";\nexport const SemanticTypeFormLabelDefaultFontWeight = \"normal\";\nexport const SemanticTypeFormLabelDefaultFontSize = \"1rem\";\nexport const SemanticTypeFormLabelDefaultLineHeight = \"1.75rem\";\nexport const SemanticTypeFormLabelDefaultFontFamily =\n \"'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeFormLabelDefaultLetterSpacing = \"normal\";\nexport const SemanticTypeFormLabelDefaultTextTransform = \"none\";\nexport const SemanticTypeHeadlineSmFontWeight = \"normal\";\nexport const SemanticTypeHeadlineSmFontSize = \"2rem\";\nexport const SemanticTypeHeadlineSmLineHeight = \"2.5rem\";\nexport const SemanticTypeHeadlineSmFontFamily =\n \"'FS Elliot Web Bold', 'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeHeadlineSmLetterSpacing = \"normal\";\nexport const SemanticTypeHeadlineSmTextTransform = \"none\";\nexport const SemanticTypeHeadlineSmMobileFontSize = \"1.5rem\";\nexport const SemanticTypeHeadlineSmMobileLineHeight = \"2.25rem\";\nexport const SemanticTypeHeadlineDefaultFontWeight = \"normal\";\nexport const SemanticTypeHeadlineDefaultFontSize = \"2.5rem\";\nexport const SemanticTypeHeadlineDefaultLineHeight = \"3rem\";\nexport const SemanticTypeHeadlineDefaultFontFamily =\n \"'FS Elliot Web Bold', 'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeHeadlineDefaultLetterSpacing = \"-0.5px\";\nexport const SemanticTypeHeadlineDefaultTextTransform = \"none\";\nexport const SemanticTypeHeadlineDefaultMobileFontSize = \"2rem\";\nexport const SemanticTypeHeadlineDefaultMobileLineHeight = \"2.5rem\";\nexport const SemanticTypeHeadlineLgFontWeight = \"normal\";\nexport const SemanticTypeHeadlineLgFontSize = \"3rem\";\nexport const SemanticTypeHeadlineLgLineHeight = \"3.375rem\";\nexport const SemanticTypeHeadlineLgFontFamily =\n \"'FS Elliot Web Bold', 'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeHeadlineLgLetterSpacing = \"-1px\";\nexport const SemanticTypeHeadlineLgTextTransform = \"none\";\nexport const SemanticTypeHeadlineLgMobileFontSize = \"2.5rem\";\nexport const SemanticTypeHeadlineLgMobileLineHeight = \"3rem\";\nexport const SemanticTypeHeadlineLgMobileLetterSpacing = \"-0.5px\";\nexport const SemanticTypeHeadlineLoudSmFontWeight = \"normal\";\nexport const SemanticTypeHeadlineLoudSmFontSize = \"2rem\";\nexport const SemanticTypeHeadlineLoudSmLineHeight = \"2.5rem\";\nexport const SemanticTypeHeadlineLoudSmFontFamily =\n \"'FS Elliot Web Heavy', 'FS Elliot Web Bold', 'Arial', arial, sans-serif\";\nexport const SemanticTypeHeadlineLoudSmLetterSpacing = \"normal\";\nexport const SemanticTypeHeadlineLoudSmTextTransform = \"none\";\nexport const SemanticTypeHeadlineLoudSmMobileFontSize = \"1.5rem\";\nexport const SemanticTypeHeadlineLoudSmMobileLineHeight = \"2.25rem\";\nexport const SemanticTypeHeadlineLoudDefaultFontWeight = \"normal\";\nexport const SemanticTypeHeadlineLoudDefaultFontSize = \"2.5rem\";\nexport const SemanticTypeHeadlineLoudDefaultLineHeight = \"3rem\";\nexport const SemanticTypeHeadlineLoudDefaultFontFamily =\n \"'FS Elliot Web Heavy', 'FS Elliot Web Bold', 'Arial', arial, sans-serif\";\nexport const SemanticTypeHeadlineLoudDefaultLetterSpacing = \"normal\";\nexport const SemanticTypeHeadlineLoudDefaultTextTransform = \"none\";\nexport const SemanticTypeHeadlineLoudDefaultMobileFontSize = \"2rem\";\nexport const SemanticTypeHeadlineLoudDefaultMobileLineHeight = \"2.5rem\";\nexport const SemanticTypeHeadlineLoudLgFontWeight = \"normal\";\nexport const SemanticTypeHeadlineLoudLgFontSize = \"3rem\";\nexport const SemanticTypeHeadlineLoudLgLineHeight = \"3.375rem\";\nexport const SemanticTypeHeadlineLoudLgFontFamily =\n \"'FS Elliot Web Heavy', 'FS Elliot Web Bold', 'Arial', arial, sans-serif\";\nexport const SemanticTypeHeadlineLoudLgLetterSpacing = \"-0.5px\";\nexport const SemanticTypeHeadlineLoudLgTextTransform = \"none\";\nexport const SemanticTypeHeadlineLoudLgMobileFontSize = \"2.5rem\";\nexport const SemanticTypeHeadlineLoudLgMobileLineHeight = \"3rem\";\nexport const SemanticTypeLabelSmFontWeight = \"normal\";\nexport const SemanticTypeLabelSmFontSize = \"0.875rem\";\nexport const SemanticTypeLabelSmLineHeight = \"1.5rem\";\nexport const SemanticTypeLabelSmFontFamily =\n \"'FS Elliot Web Bold', 'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeLabelSmLetterSpacing = \"normal\";\nexport const SemanticTypeLabelSmTextTransform = \"none\";\nexport const SemanticTypeLabelDefaultFontWeight = \"normal\";\nexport const SemanticTypeLabelDefaultFontSize = \"1rem\";\nexport const SemanticTypeLabelDefaultLineHeight = \"1.75rem\";\nexport const SemanticTypeLabelDefaultFontFamily =\n \"'FS Elliot Web Bold', 'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeLabelDefaultLetterSpacing = \"normal\";\nexport const SemanticTypeLabelDefaultTextTransform = \"none\";\nexport const SemanticTypeLabelLgFontWeight = \"normal\";\nexport const SemanticTypeLabelLgFontSize = \"1.125rem\";\nexport const SemanticTypeLabelLgLineHeight = \"1.75rem\";\nexport const SemanticTypeLabelLgFontFamily =\n \"'FS Elliot Web Bold', 'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeLabelLgLetterSpacing = \"normal\";\nexport const SemanticTypeLabelLgTextTransform = \"none\";\nexport const SemanticTypeLabelXlFontWeight = \"normal\";\nexport const SemanticTypeLabelXlFontSize = \"1.25rem\";\nexport const SemanticTypeLabelXlLineHeight = \"2rem\";\nexport const SemanticTypeLabelXlFontFamily =\n \"'FS Elliot Web Bold', 'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeLabelXlLetterSpacing = \"normal\";\nexport const SemanticTypeLabelXlTextTransform = \"none\";\nexport const SemanticTypeMetaSmFontWeight = \"normal\";\nexport const SemanticTypeMetaSmFontSize = \"0.875rem\";\nexport const SemanticTypeMetaSmLineHeight = \"1.5rem\";\nexport const SemanticTypeMetaSmFontFamily =\n \"'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeMetaSmLetterSpacing = \"2px\";\nexport const SemanticTypeMetaSmTextTransform = \"uppercase\";\nexport const SemanticTypeMetaDefaultFontWeight = \"normal\";\nexport const SemanticTypeMetaDefaultFontSize = \"1rem\";\nexport const SemanticTypeMetaDefaultLineHeight = \"1.75rem\";\nexport const SemanticTypeMetaDefaultFontFamily =\n \"'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeMetaDefaultLetterSpacing = \"2px\";\nexport const SemanticTypeMetaDefaultTextTransform = \"uppercase\";\nexport const SemanticTypeTestimonialXsFontWeight = \"normal\";\nexport const SemanticTypeTestimonialXsFontStyle = \"italic\";\nexport const SemanticTypeTestimonialXsFontSize = \"1.5rem\";\nexport const SemanticTypeTestimonialXsLineHeight = \"2.25rem\";\nexport const SemanticTypeTestimonialXsFontFamily =\n \"'Cormorant Infant Italic', 'Times New Roman', serif\";\nexport const SemanticTypeTestimonialXsLetterSpacing = \"0.5px\";\nexport const SemanticTypeTestimonialXsTextTransform = \"none\";\nexport const SemanticTypeTestimonialXsMobileFontSize = \"1.125rem\";\nexport const SemanticTypeTestimonialXsMobileLineHeight = \"1.75rem\";\nexport const SemanticTypeTestimonialSmFontWeight = \"normal\";\nexport const SemanticTypeTestimonialSmFontStyle = \"italic\";\nexport const SemanticTypeTestimonialSmFontSize = \"2rem\";\nexport const SemanticTypeTestimonialSmLineHeight = \"2.5rem\";\nexport const SemanticTypeTestimonialSmFontFamily =\n \"'Cormorant Infant Italic', 'Times New Roman', serif\";\nexport const SemanticTypeTestimonialSmLetterSpacing = \"0.5px\";\nexport const SemanticTypeTestimonialSmTextTransform = \"none\";\nexport const SemanticTypeTestimonialSmMobileFontSize = \"1.5rem\";\nexport const SemanticTypeTestimonialSmMobileLineHeight = \"2.25rem\";\nexport const SemanticTypeTestimonialDefaultFontWeight = \"normal\";\nexport const SemanticTypeTestimonialDefaultFontStyle = \"italic\";\nexport const SemanticTypeTestimonialDefaultFontSize = \"2.5rem\";\nexport const SemanticTypeTestimonialDefaultLineHeight = \"3rem\";\nexport const SemanticTypeTestimonialDefaultFontFamily =\n \"'Cormorant Infant Italic', 'Times New Roman', serif\";\nexport const SemanticTypeTestimonialDefaultLetterSpacing = \"normal\";\nexport const SemanticTypeTestimonialDefaultTextTransform = \"none\";\nexport const SemanticTypeTestimonialDefaultMobileFontSize = \"2rem\";\nexport const SemanticTypeTestimonialDefaultMobileLineHeight = \"2.5rem\";\nexport const SemanticTypeTestimonialLgFontWeight = \"normal\";\nexport const SemanticTypeTestimonialLgFontStyle = \"italic\";\nexport const SemanticTypeTestimonialLgFontSize = \"3rem\";\nexport const SemanticTypeTestimonialLgLineHeight = \"3.375rem\";\nexport const SemanticTypeTestimonialLgFontFamily =\n \"'Cormorant Infant Italic', 'Times New Roman', serif\";\nexport const SemanticTypeTestimonialLgLetterSpacing = \"normal\";\nexport const SemanticTypeTestimonialLgTextTransform = \"none\";\nexport const SemanticTypeTestimonialLgMobileFontSize = \"2.5rem\";\nexport const SemanticTypeTestimonialLgMobileLineHeight = \"3rem\";\nexport const SemanticTypeTestimonialXlFontWeight = \"normal\";\nexport const SemanticTypeTestimonialXlFontStyle = \"italic\";\nexport const SemanticTypeTestimonialXlFontSize = \"4.625rem\";\nexport const SemanticTypeTestimonialXlLineHeight = \"5.125rem\";\nexport const SemanticTypeTestimonialXlFontFamily =\n \"'Cormorant Infant Italic', 'Times New Roman', serif\";\nexport const SemanticTypeTestimonialXlLetterSpacing = \"normal\";\nexport const SemanticTypeTestimonialXlTextTransform = \"none\";\nexport const SemanticTypeTestimonialXlMobileFontSize = \"4.125rem\";\nexport const SemanticTypeTestimonialXlMobileLineHeight = \"4.625rem\";\nexport const SemanticTypeTestimonialXlCompactFontWeight = \"normal\";\nexport const SemanticTypeTestimonialXlCompactFontStyle = \"italic\";\nexport const SemanticTypeTestimonialXlCompactFontSize = \"4.625rem\";\nexport const SemanticTypeTestimonialXlCompactLineHeight = \"4.75rem\";\nexport const SemanticTypeTestimonialXlCompactFontFamily =\n \"'Cormorant Infant Italic', 'Times New Roman', serif\";\nexport const SemanticTypeTestimonialXlCompactLetterSpacing = \"normal\";\nexport const SemanticTypeTestimonialXlCompactTextTransform = \"none\";\nexport const SemanticTypeTestimonialXlCompactMobileFontSize = \"4.125rem\";\nexport const SemanticTypeTestimonialXlCompactMobileLineHeight = \"4.25rem\";\nexport const SemanticTypeTitleXsFontWeight = \"normal\";\nexport const SemanticTypeTitleXsFontSize = \"1.125rem\";\nexport const SemanticTypeTitleXsLineHeight = \"1.75rem\";\nexport const SemanticTypeTitleXsFontFamily =\n \"'FS Elliot Web Bold', 'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeTitleXsLetterSpacing = \"normal\";\nexport const SemanticTypeTitleXsTextTransform = \"none\";\nexport const SemanticTypeTitleSmFontWeight = \"normal\";\nexport const SemanticTypeTitleSmFontSize = \"1.25rem\";\nexport const SemanticTypeTitleSmLineHeight = \"2rem\";\nexport const SemanticTypeTitleSmFontFamily =\n \"'FS Elliot Web Bold', 'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeTitleSmLetterSpacing = \"normal\";\nexport const SemanticTypeTitleSmTextTransform = \"none\";\nexport const SemanticTypeTitleDefaultFontWeight = \"normal\";\nexport const SemanticTypeTitleDefaultFontSize = \"1.5rem\";\nexport const SemanticTypeTitleDefaultLineHeight = \"2.25rem\";\nexport const SemanticTypeTitleDefaultFontFamily =\n \"'FS Elliot Web Bold', 'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeTitleDefaultLetterSpacing = \"normal\";\nexport const SemanticTypeTitleDefaultTextTransform = \"none\";\nexport const SemanticTypeTitleDefaultMobileFontSize = \"1.25rem\";\nexport const SemanticTypeTitleDefaultMobileLineHeight = \"2rem\";\nexport const SemanticTypeTitleLgFontWeight = \"normal\";\nexport const SemanticTypeTitleLgFontSize = \"2rem\";\nexport const SemanticTypeTitleLgLineHeight = \"2.5rem\";\nexport const SemanticTypeTitleLgFontFamily =\n \"'FS Elliot Web Bold', 'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const SemanticTypeTitleLgLetterSpacing = \"normal\";\nexport const SemanticTypeTitleLgTextTransform = \"none\";\nexport const SemanticTypeTitleLgMobileFontSize = \"1.5rem\";\nexport const SemanticTypeTitleLgMobileLineHeight = \"2.25rem\";\nexport const SemanticTypeTitleLoudXsFontWeight = \"normal\";\nexport const SemanticTypeTitleLoudXsFontSize = \"1.125rem\";\nexport const SemanticTypeTitleLoudXsLineHeight = \"1.75rem\";\nexport const SemanticTypeTitleLoudXsFontFamily =\n \"'FS Elliot Web Heavy', 'FS Elliot Web Bold', 'Arial', arial, sans-serif\";\nexport const SemanticTypeTitleLoudXsLetterSpacing = \"normal\";\nexport const SemanticTypeTitleLoudXsTextTransform = \"none\";\nexport const SemanticTypeTitleLoudSmFontWeight = \"normal\";\nexport const SemanticTypeTitleLoudSmFontSize = \"1.25rem\";\nexport const SemanticTypeTitleLoudSmLineHeight = \"2rem\";\nexport const SemanticTypeTitleLoudSmFontFamily =\n \"'FS Elliot Web Heavy', 'FS Elliot Web Bold', 'Arial', arial, sans-serif\";\nexport const SemanticTypeTitleLoudSmLetterSpacing = \"normal\";\nexport const SemanticTypeTitleLoudSmTextTransform = \"none\";\nexport const SemanticTypeTitleLoudDefaultFontWeight = \"normal\";\nexport const SemanticTypeTitleLoudDefaultFontSize = \"1.5rem\";\nexport const SemanticTypeTitleLoudDefaultLineHeight = \"2.25rem\";\nexport const SemanticTypeTitleLoudDefaultFontFamily =\n \"'FS Elliot Web Heavy', 'FS Elliot Web Bold', 'Arial', arial, sans-serif\";\nexport const SemanticTypeTitleLoudDefaultLetterSpacing = \"normal\";\nexport const SemanticTypeTitleLoudDefaultTextTransform = \"none\";\nexport const SemanticTypeTitleLoudDefaultMobileFontSize = \"1.25rem\";\nexport const SemanticTypeTitleLoudDefaultMobileLineHeight = \"2rem\";\nexport const SemanticTypeTitleLoudLgFontWeight = \"normal\";\nexport const SemanticTypeTitleLoudLgFontSize = \"2rem\";\nexport const SemanticTypeTitleLoudLgLineHeight = \"2.5rem\";\nexport const SemanticTypeTitleLoudLgFontFamily =\n \"'FS Elliot Web Heavy', 'FS Elliot Web Bold', 'Arial', arial, sans-serif\";\nexport const SemanticTypeTitleLoudLgLetterSpacing = \"normal\";\nexport const SemanticTypeTitleLoudLgTextTransform = \"none\";\nexport const SemanticTypeTitleLoudLgMobileFontSize = \"1.5rem\";\nexport const SemanticTypeTitleLoudLgMobileLineHeight = \"2.25rem\";\nexport const ComponentButtonDisabledBackground = \"#f7f7f7\";\nexport const ComponentButtonDisabledText = \"#8b8b8b\";\nexport const ComponentButtonDisabledBorder = \"#cecece\";\nexport const ComponentButtonPrimaryBackground = \"#0061a0\";\nexport const ComponentButtonPrimaryText = \"#ffffff\";\nexport const ComponentButtonPrimaryBorder = \"#0061a0\";\nexport const ComponentButtonPrimaryHoverBackground = \"#04508b\";\nexport const ComponentButtonPrimaryHoverText = \"#ffffff\";\nexport const ComponentButtonPrimaryHoverBorder = \"#04508b\";\nexport const ComponentButtonPrimaryActiveBackground = \"#003865\";\nexport const ComponentButtonPrimaryActiveText = \"#ffffff\";\nexport const ComponentButtonPrimaryActiveBorder = \"#003865\";\nexport const ComponentButtonPrimaryInvertedBackground = \"#94d8fa\";\nexport const ComponentButtonPrimaryInvertedText = \"#002855\";\nexport const ComponentButtonPrimaryInvertedBorder = \"#94d8fa\";\nexport const ComponentButtonPrimaryInvertedHoverBackground = \"#5ebded\";\nexport const ComponentButtonPrimaryInvertedHoverText = \"#00173c\";\nexport const ComponentButtonPrimaryInvertedHoverBorder = \"#5ebded\";\nexport const ComponentButtonPrimaryInvertedActiveBackground = \"#0091da\";\nexport const ComponentButtonPrimaryInvertedActiveText = \"#000022\";\nexport const ComponentButtonPrimaryInvertedActiveBorder = \"#0091da\";\nexport const ComponentButtonDefaultBackground = \"#ffffff\";\nexport const ComponentButtonDefaultText = \"#0061a0\";\nexport const ComponentButtonDefaultBorder = \"#0061a0\";\nexport const ComponentButtonDefaultHoverBackground = \"#f7f7f7\";\nexport const ComponentButtonDefaultHoverText = \"#04508b\";\nexport const ComponentButtonDefaultHoverBorder = \"#04508b\";\nexport const ComponentButtonDefaultActiveBackground = \"#dedede\";\nexport const ComponentButtonDefaultActiveText = \"#003865\";\nexport const ComponentButtonDefaultActiveBorder = \"#003865\";\nexport const ComponentButtonDefaultInvertedBackground = \"#33333300\";\nexport const ComponentButtonDefaultInvertedText = \"#ffffff\";\nexport const ComponentButtonDefaultInvertedBorder = \"#ffffff\";\nexport const ComponentButtonDefaultInvertedHoverBackground = \"#00000033\";\nexport const ComponentButtonDefaultInvertedHoverText = \"#ffffff\";\nexport const ComponentButtonDefaultInvertedHoverBorder = \"#ffffff\";\nexport const ComponentButtonDefaultInvertedActiveBackground = \"#0000004D\";\nexport const ComponentButtonDefaultInvertedActiveText = \"#ffffff\";\nexport const ComponentButtonDefaultInvertedActiveBorder = \"#ffffff\";\nexport const ComponentButtonLinkBackground = \"#33333300\";\nexport const ComponentButtonLinkBorder = \"#33333300\";\nexport const ComponentButtonLinkText = \"#0061a0\";\nexport const ComponentButtonLinkHoverText = \"#003865\";\nexport const ComponentButtonLinkHoverBackground = \"#f7f7f7\";\nexport const ComponentButtonLinkActiveText = \"#003865\";\nexport const ComponentButtonLinkActiveBackground = \"#dedede\";\nexport const ComponentButtonLinkInvertedBackground = \"#33333300\";\nexport const ComponentButtonLinkInvertedBorder = \"#33333300\";\nexport const ComponentButtonLinkInvertedText = \"#ffffff\";\nexport const ComponentButtonLinkInvertedHoverText = \"#bbe6fc\";\nexport const ComponentButtonLinkInvertedHoverBackground = \"#00000033\";\nexport const ComponentButtonLinkInvertedActiveText = \"#bbe6fc\";\nexport const ComponentButtonLinkInvertedActiveBackground = \"#0000004D\";\nexport const ComponentButtonIconBackground = \"#33333300\";\nexport const ComponentButtonIconBorder = \"#33333300\";\nexport const ComponentButtonIconIconStroke = \"#0061a0\";\nexport const ComponentButtonIconHoverBackground = \"#0000001A\";\nexport const ComponentButtonIconHoverBorder = \"#33333300\";\nexport const ComponentButtonIconHoverIconStroke = \"#04508b\";\nexport const ComponentButtonIconActiveBackground = \"#00000033\";\nexport const ComponentButtonIconActiveBorder = \"#33333300\";\nexport const ComponentButtonIconActiveIconStroke = \"#003865\";\nexport const ComponentButtonIconDisabledBackground = \"#33333300\";\nexport const ComponentButtonIconDisabledBorder = \"#33333300\";\nexport const ComponentButtonIconDisabledIconStroke = \"#cecece\";\nexport const ComponentButtonIconInvertedBackground = \"#33333300\";\nexport const ComponentButtonIconInvertedBorder = \"#33333300\";\nexport const ComponentButtonIconInvertedIconStroke = \"#ffffff\";\nexport const ComponentButtonIconInvertedHoverBackground = \"#00000033\";\nexport const ComponentButtonIconInvertedHoverBorder = \"#33333300\";\nexport const ComponentButtonIconInvertedHoverIconStroke = \"#ffffff\";\nexport const ComponentButtonIconInvertedActiveBackground = \"#0000004D\";\nexport const ComponentButtonIconInvertedActiveBorder = \"#33333300\";\nexport const ComponentButtonIconInvertedActiveIconStroke = \"#ffffff\";\nexport const ComponentCardShadowDefault = \"#00000033\";\nexport const ComponentCardShadowHover = \"#00000066\";\nexport const ComponentCardShadowActive = \"#00000099\";\nexport const ComponentGlobalHeaderBackground = \"#ffffff\";\nexport const ComponentGlobalHeaderBorder = \"#8b8b8b\";\nexport const ComponentGlobalHeaderLinkItemBackground = \"#ffffff\";\nexport const ComponentGlobalHeaderLinkItemBorder = \"#ffffff\";\nexport const ComponentGlobalHeaderLinkItemText = \"#2f2f2f\";\nexport const ComponentGlobalHeaderLinkItemIcon = \"#2f2f2f\";\nexport const ComponentGlobalHeaderLinkItemHoverBackground = \"#f7f7f7\";\nexport const ComponentGlobalHeaderLinkItemHoverBorder = \"#f7f7f7\";\nexport const ComponentGlobalHeaderLinkItemCurrentBackground = \"#ffffff\";\nexport const ComponentGlobalHeaderLinkItemCurrentBorder = \"#0061a0\";\nexport const ComponentGlobalHeaderLinkItemCurrentHoverBackground = \"#f7f7f7\";\nexport const ComponentGlobalHeaderLinkItemCurrentHoverBorder = \"#0061a0\";\nexport const ComponentGlobalHeaderDropdownItemBackground = \"#ffffff\";\nexport const ComponentGlobalHeaderDropdownItemBorder = \"#ffffff\";\nexport const ComponentGlobalHeaderDropdownItemText = \"#2f2f2f\";\nexport const ComponentGlobalHeaderDropdownItemIcon = \"#2f2f2f\";\nexport const ComponentGlobalHeaderDropdownItemHoverBackground = \"#f7f7f7\";\nexport const ComponentGlobalHeaderDropdownItemHoverBorder = \"#f7f7f7\";\nexport const ComponentGlobalHeaderDropdownItemCurrentBackground = \"#ffffff\";\nexport const ComponentGlobalHeaderDropdownItemCurrentBorder = \"#0061a0\";\nexport const ComponentGlobalHeaderDropdownItemCurrentHoverBackground =\n \"#f7f7f7\";\nexport const ComponentGlobalHeaderDropdownItemCurrentHoverBorder = \"#0061a0\";\nexport const ComponentGlobalHeaderDropdownItemOpenBackground = \"#f7f7f7\";\nexport const ComponentGlobalHeaderDropdownItemOpenBorder = \"#f7f7f7\";\nexport const ComponentGlobalHeaderDropdownItemOpenHoverBackground = \"#dedede\";\nexport const ComponentGlobalHeaderDropdownItemOpenHoverBorder = \"#dedede\";\nexport const ComponentGlobalHeaderDropdownMenuBackground = \"#ffffff\";\nexport const ComponentGlobalHeaderDropdownMenuBorder = \"#dedede\";\nexport const ComponentGlobalHeaderDropdownMenuDivider = \"#dedede\";\nexport const ComponentGlobalHeaderDropdownMenuLinkText = \"#2f2f2f\";\nexport const ComponentGlobalHeaderDropdownMenuLinkHoverBackground = \"#f7f7f7\";\nexport const ComponentGlobalHeaderAvatarBackground = \"#ffffff\";\nexport const ComponentGlobalHeaderAvatarBorder = \"#e3f5fd\";\nexport const ComponentGlobalHeaderAvatarText = \"#0061a0\";\nexport const ComponentGlobalHeaderAvatarNotificationBackground = \"#c00000\";\nexport const ComponentGlobalHeaderAvatarNotificationBorder = \"#ffffff\";\nexport const ComponentGlobalHeaderTrayBackground = \"#ffffff\";\nexport const ComponentGlobalHeaderTrayOverlay = \"#33333380\";\nexport const ComponentGlobalHeaderTrayDivider = \"#dedede\";\nexport const ComponentGlobalHeaderButtonIconIconStroke = \"#2f2f2f\";\nexport const ComponentGlobalHeaderButtonIconHoverIconStroke = \"#2f2f2f\";\nexport const ComponentGlobalHeaderButtonIconHoverBackground = \"#0000001A\";\nexport const ComponentGlobalHeaderButtonIconActiveIconStroke = \"#2f2f2f\";\nexport const ComponentGlobalHeaderButtonIconActiveBackground = \"#00000033\";\nexport const ComponentGlobalHeaderButtonIconBackground = \"#33333300\";\nexport const ComponentLayoutContainerMaxWidthDefault = \"1366px\";\nexport const ComponentLayoutContainerMaxWidthNarrow = \"1024px\";\nexport const ComponentNumberBadgeDefaultBackgroundImportant = \"#c00000\";\nexport const ComponentNumberBadgeDefaultBackgroundBrand = \"#0076cf\";\nexport const ComponentNumberBadgeDefaultBackgroundNeutral = \"#757575\";\nexport const ComponentNumberBadgeDefaultText = \"#ffffff\";\nexport const ComponentNumberBadgeInvertedBackgroundImportant = \"#f98986\";\nexport const ComponentNumberBadgeInvertedBackgroundBrand = \"#5ebded\";\nexport const ComponentNumberBadgeInvertedBackgroundNeutral = \"#cecece\";\nexport const ComponentNumberBadgeInvertedText = \"#2f2f2f\";\nexport const ComponentPrimaryNavDefaultNavItemBackground = \"#33333300\";\nexport const ComponentPrimaryNavDefaultNavItemText = \"#5e5e5e\";\nexport const ComponentPrimaryNavDefaultNavItemIcon = \"#757575\";\nexport const ComponentPrimaryNavDefaultNavItemHoverText = \"#04508b\";\nexport const ComponentPrimaryNavDefaultNavItemHoverBackground = \"#f7f7f7\";\nexport const ComponentPrimaryNavDefaultNavItemHoverIcon = \"#04508b\";\nexport const ComponentPrimaryNavDefaultNavItemActiveText = \"#003865\";\nexport const ComponentPrimaryNavDefaultNavItemActiveBackground = \"#dedede\";\nexport const ComponentPrimaryNavDefaultNavItemActiveIcon = \"#003865\";\nexport const ComponentPrimaryNavDefaultNavItemDivider = \"#8b8b8b\";\nexport const ComponentPrimaryNavDefaultNotificationItemBackground = \"#33333300\";\nexport const ComponentPrimaryNavDefaultNotificationItemText = \"#2f2f2f\";\nexport const ComponentPrimaryNavDefaultNotificationItemHoverBackground =\n \"#f7f7f7\";\nexport const ComponentPrimaryNavDefaultNotificationItemHoverText = \"#2f2f2f\";\nexport const ComponentPrimaryNavDefaultNotificationBadgeBackground = \"#ffffff\";\nexport const ComponentPrimaryNavDefaultNotificationBadgeBorder = \"#0061a0\";\nexport const ComponentPrimaryNavDefaultNotificationBadgeText = \"#0061a0\";\nexport const ComponentPrimaryNavDefaultDropdownBackground = \"#ffffff\";\nexport const ComponentPrimaryNavDefaultDropdownLink = \"#2f2f2f\";\nexport const ComponentPrimaryNavDefaultDropdownLabel = \"#2f2f2f\";\nexport const ComponentPrimaryNavDefaultDropdownHoverLink = \"#003865\";\nexport const ComponentPrimaryNavDefaultDropdownActiveLink = \"#003865\";\nexport const ComponentPrimaryNavDefaultBackground = \"#ffffff\";\nexport const ComponentPrimaryNavDefaultMobileMenuBackground = \"#ffffff\";\nexport const ComponentPrimaryNavDefaultMobileNotificationItemBackground =\n \"#33333300\";\nexport const ComponentPrimaryNavDefaultMobileNotificationItemText = \"#2f2f2f\";\nexport const ComponentPrimaryNavDefaultMobileNotificationItemHoverBackground =\n \"#f7f7f7\";\nexport const ComponentPrimaryNavDefaultMobileNotificationItemHoverText =\n \"#2f2f2f\";\nexport const ComponentPrimaryNavDefaultMobileNotificationBadgeBackground =\n \"#ffffff\";\nexport const ComponentPrimaryNavDefaultMobileNotificationBadgeBorder =\n \"#0061a0\";\nexport const ComponentPrimaryNavDefaultMobileNotificationBadgeText = \"#0061a0\";\nexport const ComponentPrimaryNavDefaultMobileLabel = \"#2f2f2f\";\nexport const ComponentPrimaryNavDefaultMobileLink = \"#0061a0\";\nexport const ComponentPrimaryNavDefaultMobileHoverLink = \"#003865\";\nexport const ComponentPrimaryNavDefaultMobileActiveLink = \"#003865\";\nexport const ComponentPrimaryNavDefaultMobileSubmenuBackground = \"#0061a0\";\nexport const ComponentPrimaryNavDefaultMobileSubmenuIcon = \"#ffffff\";\nexport const ComponentPrimaryNavDefaultMobileSubmenuLabel = \"#ffffff\";\nexport const ComponentPrimaryNavDefaultMobileSubmenuHoverBackground = \"#04508b\";\nexport const ComponentPrimaryNavDefaultMobileSubmenuHoverIcon = \"#ffffff\";\nexport const ComponentPrimaryNavDefaultMobileSubmenuHoverLabel = \"#ffffff\";\nexport const ComponentPrimaryNavDefaultMobileSubmenuActiveBackground =\n \"#003865\";\nexport const ComponentPrimaryNavDefaultMobileSubmenuActiveLabel = \"#ffffff\";\nexport const ComponentPrimaryNavDefaultMobileSubmenuActiveIcon = \"#ffffff\";\nexport const ComponentPrimaryNavInvertedBackground = \"#0061a0\";\nexport const ComponentPrimaryNavInvertedNavItemBackground = \"#33333300\";\nexport const ComponentPrimaryNavInvertedNavItemText = \"#ffffff\";\nexport const ComponentPrimaryNavInvertedNavItemIcon = \"#ffffff\";\nexport const ComponentPrimaryNavInvertedNavItemHoverText = \"#ffffff\";\nexport const ComponentPrimaryNavInvertedNavItemHoverIcon = \"#ffffff\";\nexport const ComponentPrimaryNavInvertedNavItemHoverBackground = \"#00000033\";\nexport const ComponentPrimaryNavInvertedNavItemActiveText = \"#ffffff\";\nexport const ComponentPrimaryNavInvertedNavItemActiveIcon = \"#ffffff\";\nexport const ComponentPrimaryNavInvertedNavItemActiveBackground = \"#0000004D\";\nexport const ComponentPrimaryNavInvertedNavItemDivider = \"#ffffff\";\nexport const ComponentPrimaryNavInvertedNotificationItemBackground =\n \"#33333300\";\nexport const ComponentPrimaryNavInvertedNotificationItemText = \"#2f2f2f\";\nexport const ComponentPrimaryNavInvertedNotificationItemHoverBackground =\n \"#f7f7f7\";\nexport const ComponentPrimaryNavInvertedNotificationItemHoverText = \"#2f2f2f\";\nexport const ComponentPrimaryNavInvertedNotificationBadgeBackground = \"#ffffff\";\nexport const ComponentPrimaryNavInvertedNotificationBadgeBorder = \"#0061a0\";\nexport const ComponentPrimaryNavInvertedNotificationBadgeText = \"#0061a0\";\nexport const ComponentPrimaryNavInvertedDropdownBackground = \"#ffffff\";\nexport const ComponentPrimaryNavInvertedDropdownLink = \"#2f2f2f\";\nexport const ComponentPrimaryNavInvertedDropdownLabel = \"#2f2f2f\";\nexport const ComponentPrimaryNavInvertedDropdownHoverLink = \"#003865\";\nexport const ComponentPrimaryNavInvertedDropdownActiveLink = \"#003865\";\nexport const ComponentPrimaryNavInvertedMobileMenuBackground = \"#002855\";\nexport const ComponentPrimaryNavInvertedMobileNotificationItemBackground =\n \"#33333300\";\nexport const ComponentPrimaryNavInvertedMobileNotificationItemText = \"#ffffff\";\nexport const ComponentPrimaryNavInvertedMobileNotificationItemHoverBackground =\n \"#00000033\";\nexport const ComponentPrimaryNavInvertedMobileNotificationItemHoverText =\n \"#ffffff\";\nexport const ComponentPrimaryNavInvertedMobileNotificationBadgeBackground =\n \"#002855\";\nexport const ComponentPrimaryNavInvertedMobileNotificationBadgeBorder =\n \"#ffffff\";\nexport const ComponentPrimaryNavInvertedMobileNotificationBadgeText = \"#ffffff\";\nexport const ComponentPrimaryNavInvertedMobileDecorator = \"#ffffff\";\nexport const ComponentPrimaryNavInvertedMobileLabel = \"#ffffff\";\nexport const ComponentPrimaryNavInvertedMobileLink = \"#ffffff\";\nexport const ComponentPrimaryNavInvertedMobileHoverLink = \"#bbe6fc\";\nexport const ComponentPrimaryNavInvertedMobileActiveLink = \"#bbe6fc\";\nexport const ComponentPrimaryNavInvertedMobileSubmenuBackground = \"#94d8fa\";\nexport const ComponentPrimaryNavInvertedMobileSubmenuIcon = \"#002855\";\nexport const ComponentPrimaryNavInvertedMobileSubmenuLabel = \"#002855\";\nexport const ComponentPrimaryNavInvertedMobileSubmenuHoverBackground =\n \"#5ebded\";\nexport const ComponentPrimaryNavInvertedMobileSubmenuHoverIcon = \"#00173c\";\nexport const ComponentPrimaryNavInvertedMobileSubmenuHoverLabel = \"#00173c\";\nexport const ComponentPrimaryNavInvertedMobileSubmenuActiveBackground =\n \"#0091da\";\nexport const ComponentPrimaryNavInvertedMobileSubmenuActiveLabel = \"#000022\";\nexport const ComponentPrimaryNavInvertedMobileSubmenuActiveIcon = \"#000022\";\nexport const ComponentRadioDisabledForeground = \"#8b8b8b\";\nexport const ComponentSkeletonLoaderDefaultOverlay =\n \"linear-gradient(90deg, #FFFFFF00, #FFFFFFB3, #FFFFFF00)\";\nexport const ComponentSkeletonLoaderDefaultBackground = \"#dedede\";\nexport const ComponentSkeletonLoaderInvertedBackground = \"#e3f5fd26\";\nexport const ComponentTableShadowScrollLeft =\n \"linear-gradient(to left, #c5c6c500 0%, #c5c6c5 100%)\";\nexport const ComponentTableShadowScrollRight =\n \"linear-gradient(to right, #c5c6c500 0%, #c5c6c5 100%)\";\nexport const ComponentTableShadowScrollDown =\n \"linear-gradient(to bottom, #c5c6c500 0%, #c5c6c5 100%)\";\nexport const ComponentTableShadowScrollUp =\n \"linear-gradient(to top, #c5c6c500 0%, #c5c6c5 100%)\";\nexport const ComponentTagDefaultBackground = \"#e3f5fd\";\nexport const ComponentTagDefaultText = \"#2f2f2f\";\nexport const ComponentTagDefaultHoverBackground = \"#d2f1fd\";\nexport const ComponentTagDefaultActiveBackground = \"#bbe6fc\";\nexport const BreakpointsPixelXs = 320;\nexport const BreakpointsPixelSm = 540;\nexport const BreakpointsPixelMd = 768;\nexport const BreakpointsPixelLg = 1024;\nexport const BreakpointsPixelXl = 1366;\nexport const BaseColorBlueVibrant10 = \"#e3f5fd\";\nexport const BaseColorBlueVibrant15 = \"#d2f1fd\";\nexport const BaseColorBlueVibrant20 = \"#bbe6fc\";\nexport const BaseColorBlueVibrant30 = \"#94d8fa\";\nexport const BaseColorBlueVibrant40 = \"#5ebded\";\nexport const BaseColorBlueVibrant50 = \"#0091da\";\nexport const BaseColorBlueVibrant60 = \"#0076cf\";\nexport const BaseColorBlueVibrant70 = \"#005fb8\";\nexport const BaseColorBlueVibrant80 = \"#004c97\";\nexport const BaseColorBlueVibrant90 = \"#003b75\";\nexport const BaseColorBlueVibrant100 = \"#002c57\";\nexport const BaseColorBlueVibrant110 = \"#00173c\";\nexport const BaseColorBlueVibrant120 = \"#000022\";\nexport const BaseColorBlueVibrant00 = \"#f0fbfe\";\nexport const BaseColorBlueSoft10 = \"#e5f3fb\";\nexport const BaseColorBlueSoft20 = \"#cbe4f6\";\nexport const BaseColorBlueSoft30 = \"#a3d4f0\";\nexport const BaseColorBlueSoft40 = \"#62b5e5\";\nexport const BaseColorBlueSoft50 = \"#2897d7\";\nexport const BaseColorBlueSoft60 = \"#0b7bbc\";\nexport const BaseColorBlueSoft70 = \"#0061a0\";\nexport const BaseColorBlueSoft80 = \"#04508b\";\nexport const BaseColorBlueSoft90 = \"#003865\";\nexport const BaseColorBlueSoft100 = \"#002855\";\nexport const BaseColorBlueSoft00 = \"#f2f9fd\";\nexport const BaseColorBlueFocus = \"#3871FF\";\nexport const BaseColorChartreuse10 = \"#dcf94d\";\nexport const BaseColorChartreuse20 = \"#c6ed08\";\nexport const BaseColorChartreuse30 = \"#b6d907\";\nexport const BaseColorChartreuse40 = \"#99b706\";\nexport const BaseColorChartreuse50 = \"#7c9405\";\nexport const BaseColorChartreuse60 = \"#697d07\";\nexport const BaseColorChartreuse70 = \"#556506\";\nexport const BaseColorChartreuse80 = \"#475309\";\nexport const BaseColorChartreuse90 = \"#333c06\";\nexport const BaseColorChartreuse100 = \"#232a04\";\nexport const BaseColorChartreuse00 = \"#f2fcab\";\nexport const BaseColorGreen10 = \"#d8f8f7\";\nexport const BaseColorGreen20 = \"#7df2ed\";\nexport const BaseColorGreen30 = \"#67e0db\";\nexport const BaseColorGreen40 = \"#03bfb7\";\nexport const BaseColorGreen50 = \"#00a29b\";\nexport const BaseColorGreen60 = \"#01827c\";\nexport const BaseColorGreen70 = \"#006b67\";\nexport const BaseColorGreen80 = \"#005653\";\nexport const BaseColorGreen90 = \"#00423f\";\nexport const BaseColorGreen100 = \"#002e2c\";\nexport const BaseColorGreen00 = \"#ecfcfb\";\nexport const BaseColorOrange10 = \"#fff0e5\";\nexport const BaseColorOrange20 = \"#ffd6b8\";\nexport const BaseColorOrange30 = \"#ffbb8a\";\nexport const BaseColorOrange40 = \"#fd8e44\";\nexport const BaseColorOrange50 = \"#f76800\";\nexport const BaseColorOrange60 = \"#d64205\";\nexport const BaseColorOrange70 = \"#ae3b03\";\nexport const BaseColorOrange80 = \"#893204\";\nexport const BaseColorOrange90 = \"#642703\";\nexport const BaseColorOrange100 = \"#421c00\";\nexport const BaseColorOrange00 = \"#fff7f2\";\nexport const BaseColorRed10 = \"#feebeb\";\nexport const BaseColorRed20 = \"#fdd3d3\";\nexport const BaseColorRed30 = \"#fbbbbb\";\nexport const BaseColorRed40 = \"#f98986\";\nexport const BaseColorRed50 = \"#f95853\";\nexport const BaseColorRed60 = \"#e40c0c\";\nexport const BaseColorRed70 = \"#c00000\";\nexport const BaseColorRed80 = \"#990000\";\nexport const BaseColorRed90 = \"#750000\";\nexport const BaseColorRed100 = \"#520000\";\nexport const BaseColorRed00 = \"#fff5f5\";\nexport const BaseColorCyan10 = \"#c7fffc\";\nexport const BaseColorCyan20 = \"#55fff5\";\nexport const BaseColorCyan30 = \"#2de5eb\";\nexport const BaseColorCyan40 = \"#00c4d9\";\nexport const BaseColorCyan50 = \"#00a0bd\";\nexport const BaseColorCyan60 = \"#007fa3\";\nexport const BaseColorCyan70 = \"#266587\";\nexport const BaseColorCyan80 = \"#315470\";\nexport const BaseColorCyan90 = \"#223b4e\";\nexport const BaseColorCyan100 = \"#192b39\";\nexport const BaseColorCyan00 = \"#e4fffd\";\nexport const BaseColorYellow10 = \"#ffefc2\";\nexport const BaseColorYellow20 = \"#ffd970\";\nexport const BaseColorYellow30 = \"#ffc82e\";\nexport const BaseColorYellow40 = \"#dba200\";\nexport const BaseColorYellow50 = \"#b28400\";\nexport const BaseColorYellow60 = \"#946d00\";\nexport const BaseColorYellow70 = \"#755600\";\nexport const BaseColorYellow80 = \"#614700\";\nexport const BaseColorYellow90 = \"#473500\";\nexport const BaseColorYellow100 = \"#332600\";\nexport const BaseColorYellow00 = \"#fff7e0\";\nexport const BaseColorPurple10 = \"#f2f0ff\";\nexport const BaseColorPurple20 = \"#e1dbff\";\nexport const BaseColorPurple30 = \"#d0c7ff\";\nexport const BaseColorPurple40 = \"#ae9eff\";\nexport const BaseColorPurple50 = \"#9780ff\";\nexport const BaseColorPurple60 = \"#7e5dea\";\nexport const BaseColorPurple70 = \"#7245d9\";\nexport const BaseColorPurple80 = \"#612eb1\";\nexport const BaseColorPurple90 = \"#4e178c\";\nexport const BaseColorPurple100 = \"#350f5f\";\nexport const BaseColorPurple00 = \"#f9f7ff\";\nexport const BaseColorFuchsia10 = \"#ffebfe\";\nexport const BaseColorFuchsia20 = \"#fad6f7\";\nexport const BaseColorFuchsia30 = \"#f5bff2\";\nexport const BaseColorFuchsia40 = \"#ea92e5\";\nexport const BaseColorFuchsia50 = \"#dd60d6\";\nexport const BaseColorFuchsia60 = \"#cf08c6\";\nexport const BaseColorFuchsia70 = \"#ad1aac\";\nexport const BaseColorFuchsia80 = \"#8e0489\";\nexport const BaseColorFuchsia90 = \"#680364\";\nexport const BaseColorFuchsia100 = \"#3e0b3e\";\nexport const BaseColorFuchsia00 = \"#fff5ff\";\nexport const BaseColorNeutralWhite = \"#ffffff\";\nexport const BaseColorNeutralGray10 = \"#f7f7f7\";\nexport const BaseColorNeutralGray20 = \"#f2f2f2\";\nexport const BaseColorNeutralGray30 = \"#dedede\";\nexport const BaseColorNeutralGray40 = \"#cecece\";\nexport const BaseColorNeutralGray50 = \"#ababab\";\nexport const BaseColorNeutralGray60 = \"#8b8b8b\";\nexport const BaseColorNeutralGray70 = \"#757575\";\nexport const BaseColorNeutralGray80 = \"#5e5e5e\";\nexport const BaseColorNeutralGray90 = \"#4e4e4e\";\nexport const BaseColorNeutralGray95 = \"#454545\";\nexport const BaseColorNeutralGray100 = \"#373737\";\nexport const BaseColorNeutralGray105 = \"#2f2f2f\";\nexport const BaseColorNeutralGray110 = \"#282828\";\nexport const BaseColorNeutralGray115 = \"#181818\";\nexport const BaseColorNeutralGray120 = \"#0a0a0a\";\nexport const BaseColorNeutralGray00 = \"#fbfbfb\";\nexport const BaseColorNeutralBlack = \"#000000\";\nexport const BaseColorCoolGray10 = \"#f8f9fa\";\nexport const BaseColorCoolGray20 = \"#f0f2f4\";\nexport const BaseColorCoolGray30 = \"#dadee2\";\nexport const BaseColorCoolGray40 = \"#c6ccd2\";\nexport const BaseColorCoolGray50 = \"#a3abb3\";\nexport const BaseColorCoolGray60 = \"#878f97\";\nexport const BaseColorCoolGray70 = \"#6d767d\";\nexport const BaseColorCoolGray80 = \"#565f66\";\nexport const BaseColorCoolGray90 = \"#4b5258\";\nexport const BaseColorCoolGray95 = \"#3f464c\";\nexport const BaseColorCoolGray100 = \"#33393d\";\nexport const BaseColorCoolGray105 = \"#2a2e32\";\nexport const BaseColorCoolGray110 = \"#22272a\";\nexport const BaseColorCoolGray115 = \"#15181a\";\nexport const BaseColorCoolGray120 = \"#0b0b0d\";\nexport const BaseColorCoolGray00 = \"#fcfcfc\";\nexport const BaseColorGradientBlueSky03Sky01 =\n \"linear-gradient(60deg, #d2f1fd 100%, #F0FBFE 100%)\";\nexport const BaseColorGradientBlueNavyPrincipal =\n \"linear-gradient(60deg, #004c97 25%, #0076cf 100%)\";\nexport const BaseColorGradientBlueDarkPrussianNavy =\n \"linear-gradient(60deg, #002855 25%, #004c97 100%)\";\nexport const BaseColorOpacityBlack10 = \"#0000001A\";\nexport const BaseColorOpacityBlack20 = \"#00000033\";\nexport const BaseColorOpacityBlack30 = \"#0000004D\";\nexport const BaseColorOpacityBlack40 = \"#00000066\";\nexport const BaseColorOpacityBlack60 = \"#00000099\";\nexport const BaseColorOpacityGray0120 = \"#33333333\";\nexport const BaseColorOpacityGray0150 = \"#33333380\";\nexport const BaseColorOpacityGray0190 = \"#333333e6\";\nexport const BaseColorOpacityGray0100 = \"#33333300\";\nexport const BaseColorOpacityGray04100 = \"#c5c6c5\";\nexport const BaseColorOpacityGray0400 = \"#c5c6c500\";\nexport const BaseColorOpacitySky0215 = \"#e3f5fd26\";\nexport const BaseColorOpacityGradientBluePrincipal90 =\n \"linear-gradient(60deg, #004c97e6 25%, #0076cfe6 100%)\";\nexport const BaseColorOpacityGradientWhite =\n \"linear-gradient(90deg, #FFFFFF00, #FFFFFFB3, #FFFFFF00)\";\nexport const BaseColorOpacityWhite25 = \"#ffffff40\";\nexport const BaseColorOpacityWhite35 = \"#ffffff59\";\nexport const BaseColorOpacityMayaDark15 = \"#62b5e526\";\nexport const BaseColorOpacityCyanOceanDark15 = \"#31547026\";\nexport const BaseColorOpacityPrussianDark90 = \"#002855e6\";\nexport const BaseColorFdhGreenOceanLight = \"#e4ffff\";\nexport const BaseColorFdhGreenOceanDefault = \"#048282\";\nexport const BaseColorFdhGreenOceanDark = \"#016464\";\nexport const BaseColorFdhGreenPersian = \"#004d52\";\nexport const BaseColorFdhGreenOpacityDarkGradient90 =\n \"linear-gradient(60deg, #004d52 90%, #016464 90%)\";\nexport const BaseColorFdhGreenOpacityOceanDark90 =\n \"linear-gradient(60deg, #016464 90%)\";\nexport const BaseColorFdhGreenOpacityOceanLight15 =\n \"linear-gradient(60deg, #e4ffff 15%)\";\nexport const BaseColorFdhGreenGradientOceanLight =\n \"linear-gradient(60deg, #048282 100%, #e4ffff 100%)\";\nexport const BaseColorFdhGreenGradientOceanDefault =\n \"linear-gradient(60deg, #004d52 100%, #048282 100%)\";\nexport const BaseColorFdhGreenGradientOceanDark =\n \"linear-gradient(60deg, #004d52 100%, #016464 100%)\";\nexport const BaseUnit = \"8px\";\nexport const BaseTypeRoot = \"16px\";\nexport const BaseTypeFontSize12 = \"0.75rem\";\nexport const BaseTypeFontSize14 = \"0.875rem\";\nexport const BaseTypeFontSize16 = \"1rem\";\nexport const BaseTypeFontSize18 = \"1.125rem\";\nexport const BaseTypeFontSize20 = \"1.25rem\";\nexport const BaseTypeFontSize22 = \"1.375rem\";\nexport const BaseTypeFontSize24 = \"1.5rem\";\nexport const BaseTypeFontSize26 = \"1.625rem\";\nexport const BaseTypeFontSize28 = \"1.75rem\";\nexport const BaseTypeFontSize30 = \"1.875rem\";\nexport const BaseTypeFontSize32 = \"2rem\";\nexport const BaseTypeFontSize40 = \"2.5rem\";\nexport const BaseTypeFontSize48 = \"3rem\";\nexport const BaseTypeFontSize56 = \"3.5rem\";\nexport const BaseTypeFontSize64 = \"4rem\";\nexport const BaseTypeFontSize66 = \"4.125rem\";\nexport const BaseTypeFontSize74 = \"4.625rem\";\nexport const BaseTypeLineHeight14 = \"0.875rem\";\nexport const BaseTypeLineHeight16 = \"1rem\";\nexport const BaseTypeLineHeight18 = \"1.125rem\";\nexport const BaseTypeLineHeight20 = \"1.25rem\";\nexport const BaseTypeLineHeight22 = \"1.375rem\";\nexport const BaseTypeLineHeight24 = \"1.5rem\";\nexport const BaseTypeLineHeight26 = \"1.625rem\";\nexport const BaseTypeLineHeight28 = \"1.75rem\";\nexport const BaseTypeLineHeight32 = \"2rem\";\nexport const BaseTypeLineHeight34 = \"2.125rem\";\nexport const BaseTypeLineHeight36 = \"2.25rem\";\nexport const BaseTypeLineHeight40 = \"2.5rem\";\nexport const BaseTypeLineHeight42 = \"2.625rem\";\nexport const BaseTypeLineHeight48 = \"3rem\";\nexport const BaseTypeLineHeight50 = \"3.125rem\";\nexport const BaseTypeLineHeight54 = \"3.375rem\";\nexport const BaseTypeLineHeight64 = \"4rem\";\nexport const BaseTypeLineHeight68 = \"4.25rem\";\nexport const BaseTypeLineHeight72 = \"5rem\";\nexport const BaseTypeLineHeight74 = \"4.625rem\";\nexport const BaseTypeLineHeight76 = \"4.75rem\";\nexport const BaseTypeLineHeight82 = \"5.125rem\";\nexport const BaseTypeFontFamily100 =\n \"'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const BaseTypeFontFamily200 =\n \"'Cormorant Infant Italic', 'Times New Roman', serif\";\nexport const BaseTypeFontFamily300 =\n \"'Work Sans Regular', 'Arial', arial, sans-serif\";\nexport const BaseTypeFontFamily100Light =\n \"'FS Elliot Pro Light', 'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const BaseTypeFontFamily100Bold =\n \"'FS Elliot Web Bold', 'FS Elliot Web Regular', 'Arial', arial, sans-serif\";\nexport const BaseTypeFontFamily100Heavy =\n \"'FS Elliot Web Heavy', 'FS Elliot Web Bold', 'Arial', arial, sans-serif\";\nexport const BaseTypeFontFamily300Semibold =\n \"'Work Sans Semibold', 'Work Sans Regular', 'Arial', arial, sans-serif\";\nexport const BaseTypeFontFamily300Bold =\n \"'Work Sans Bold', 'Work Sans Semibold', 'Arial', arial, sans-serif\";\nexport const BaseTypeLetterSpacing2 = \"2px\";\nexport const BaseTypeLetterSpacingNegative1 = \"-1px\";\nexport const BaseTypeLetterSpacingNegativeHalf = \"-0.5px\";\nexport const BaseTypeLetterSpacingDefault = \"normal\";\nexport const BaseTypeLetterSpacingHalf = \"0.5px\";\nexport const BaseTypeFontWeightNormal = \"normal\";\nexport const BaseTypeFontWeightBold = \"bold\";\nexport const BaseTypeFontStyleItalic = \"italic\";\nexport const BaseTypeTextTransformNone = \"none\";\nexport const BaseTypeTextTransformUppercase = \"uppercase\";\n","const isString = obj => typeof obj === 'string';\nconst defer = () => {\n let res;\n let rej;\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n};\nconst makeString = object => {\n if (object == null) return '';\n return '' + object;\n};\nconst copy = (a, s, t) => {\n a.forEach(m => {\n if (s[m]) t[m] = s[m];\n });\n};\nconst lastOfPathSeparatorRegExp = /###/g;\nconst cleanKey = key => key && key.indexOf('###') > -1 ? key.replace(lastOfPathSeparatorRegExp, '.') : key;\nconst canNotTraverseDeeper = object => !object || isString(object);\nconst getLastOfPath = (object, path, Empty) => {\n const stack = !isString(path) ? path : path.split('.');\n let stackIndex = 0;\n while (stackIndex < stack.length - 1) {\n if (canNotTraverseDeeper(object)) return {};\n const key = cleanKey(stack[stackIndex]);\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n ++stackIndex;\n }\n if (canNotTraverseDeeper(object)) return {};\n return {\n obj: object,\n k: cleanKey(stack[stackIndex])\n };\n};\nconst setPath = (object, path, newValue) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n if (obj !== undefined || path.length === 1) {\n obj[k] = newValue;\n return;\n }\n let e = path[path.length - 1];\n let p = path.slice(0, path.length - 1);\n let last = getLastOfPath(object, p, Object);\n while (last.obj === undefined && p.length) {\n e = `${p[p.length - 1]}.${e}`;\n p = p.slice(0, p.length - 1);\n last = getLastOfPath(object, p, Object);\n if (last?.obj && typeof last.obj[`${last.k}.${e}`] !== 'undefined') {\n last.obj = undefined;\n }\n }\n last.obj[`${last.k}.${e}`] = newValue;\n};\nconst pushPath = (object, path, newValue, concat) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = obj[k] || [];\n obj[k].push(newValue);\n};\nconst getPath = (object, path) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path);\n if (!obj) return undefined;\n if (!Object.prototype.hasOwnProperty.call(obj, k)) return undefined;\n return obj[k];\n};\nconst getPathWithDefaults = (data, defaultData, key) => {\n const value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n};\nconst deepExtend = (target, source, overwrite) => {\n for (const prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (isString(target[prop]) || target[prop] instanceof String || isString(source[prop]) || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n};\nconst regexEscape = str => str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nconst escape = data => {\n if (isString(data)) {\n return data.replace(/[&<>\"'\\/]/g, s => _entityMap[s]);\n }\n return data;\n};\nclass RegExpCache {\n constructor(capacity) {\n this.capacity = capacity;\n this.regExpMap = new Map();\n this.regExpQueue = [];\n }\n getRegExp(pattern) {\n const regExpFromCache = this.regExpMap.get(pattern);\n if (regExpFromCache !== undefined) {\n return regExpFromCache;\n }\n const regExpNew = new RegExp(pattern);\n if (this.regExpQueue.length === this.capacity) {\n this.regExpMap.delete(this.regExpQueue.shift());\n }\n this.regExpMap.set(pattern, regExpNew);\n this.regExpQueue.push(pattern);\n return regExpNew;\n }\n}\nconst chars = [' ', ',', '?', '!', ';'];\nconst looksLikeObjectPathRegExpCache = new RegExpCache(20);\nconst looksLikeObjectPath = (key, nsSeparator, keySeparator) => {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0);\n if (possibleChars.length === 0) return true;\n const r = looksLikeObjectPathRegExpCache.getRegExp(`(${possibleChars.map(c => c === '?' ? '\\\\?' : c).join('|')})`);\n let matched = !r.test(key);\n if (!matched) {\n const ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n};\nconst deepFind = function (obj, path) {\n let keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) {\n if (!Object.prototype.hasOwnProperty.call(obj, path)) return undefined;\n return obj[path];\n }\n const tokens = path.split(keySeparator);\n let current = obj;\n for (let i = 0; i < tokens.length;) {\n if (!current || typeof current !== 'object') {\n return undefined;\n }\n let next;\n let nextPath = '';\n for (let j = i; j < tokens.length; ++j) {\n if (j !== i) {\n nextPath += keySeparator;\n }\n nextPath += tokens[j];\n next = current[nextPath];\n if (next !== undefined) {\n if (['string', 'number', 'boolean'].indexOf(typeof next) > -1 && j < tokens.length - 1) {\n continue;\n }\n i += j - i + 1;\n break;\n }\n }\n current = next;\n }\n return current;\n};\nconst getCleanedCode = code => code?.replace('_', '-');\n\nconst consoleLogger = {\n type: 'logger',\n log(args) {\n this.output('log', args);\n },\n warn(args) {\n this.output('warn', args);\n },\n error(args) {\n this.output('error', args);\n },\n output(type, args) {\n console?.[type]?.apply?.(console, args);\n }\n};\nclass Logger {\n constructor(concreteLogger) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.init(concreteLogger, options);\n }\n init(concreteLogger) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (isString(args[0])) args[0] = `${prefix}${this.prefix} ${args[0]}`;\n return this.logger[lvl](args);\n }\n create(moduleName) {\n return new Logger(this.logger, {\n ...{\n prefix: `${this.prefix}:${moduleName}:`\n },\n ...this.options\n });\n }\n clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n}\nvar baseLogger = new Logger();\n\nclass EventEmitter {\n constructor() {\n this.observers = {};\n }\n on(events, listener) {\n events.split(' ').forEach(event => {\n if (!this.observers[event]) this.observers[event] = new Map();\n const numListeners = this.observers[event].get(listener) || 0;\n this.observers[event].set(listener, numListeners + 1);\n });\n return this;\n }\n off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event].delete(listener);\n }\n emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n const cloned = Array.from(this.observers[event].entries());\n cloned.forEach(_ref => {\n let [observer, numTimesAdded] = _ref;\n for (let i = 0; i < numTimesAdded; i++) {\n observer(...args);\n }\n });\n }\n if (this.observers['*']) {\n const cloned = Array.from(this.observers['*'].entries());\n cloned.forEach(_ref2 => {\n let [observer, numTimesAdded] = _ref2;\n for (let i = 0; i < numTimesAdded; i++) {\n observer.apply(observer, [event, ...args]);\n }\n });\n }\n }\n}\n\nclass ResourceStore extends EventEmitter {\n constructor(data) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n super();\n this.data = data || {};\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n if (this.options.ignoreJSONStructure === undefined) {\n this.options.ignoreJSONStructure = true;\n }\n }\n addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n removeNamespaces(ns) {\n const index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n getResource(lng, ns, key) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n let path;\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n } else {\n path = [lng, ns];\n if (key) {\n if (Array.isArray(key)) {\n path.push(...key);\n } else if (isString(key) && keySeparator) {\n path.push(...key.split(keySeparator));\n } else {\n path.push(key);\n }\n }\n }\n const result = getPath(this.data, path);\n if (!result && !ns && !key && lng.indexOf('.') > -1) {\n lng = path[0];\n ns = path[1];\n key = path.slice(2).join('.');\n }\n if (result || !ignoreJSONStructure || !isString(key)) return result;\n return deepFind(this.data?.[lng]?.[ns], key, keySeparator);\n }\n addResource(lng, ns, key, value) {\n let options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n addResources(lng, ns, resources) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (const m in resources) {\n if (isString(resources[m]) || Array.isArray(resources[m])) this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n addResourceBundle(lng, ns, resources, deep, overwrite) {\n let options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false,\n skipCopy: false\n };\n let path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n let pack = getPath(this.data, path) || {};\n if (!options.skipCopy) resources = JSON.parse(JSON.stringify(resources));\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = {\n ...pack,\n ...resources\n };\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n return this.getResource(lng, ns);\n }\n getDataByLanguage(lng) {\n return this.data[lng];\n }\n hasLanguageSomeTranslations(lng) {\n const data = this.getDataByLanguage(lng);\n const n = data && Object.keys(data) || [];\n return !!n.find(v => data[v] && Object.keys(data[v]).length > 0);\n }\n toJSON() {\n return this.data;\n }\n}\n\nvar postProcessor = {\n processors: {},\n addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle(processors, value, key, options, translator) {\n processors.forEach(processor => {\n value = this.processors[processor]?.process(value, key, options, translator) ?? value;\n });\n return value;\n }\n};\n\nconst checkedLoadedFor = {};\nconst shouldHandleAsObject = res => !isString(res) && typeof res !== 'boolean' && typeof res !== 'number';\nclass Translator extends EventEmitter {\n constructor(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n super();\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this);\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n this.logger = baseLogger.create('translator');\n }\n changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n exists(key) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key == null) {\n return false;\n }\n const resolved = this.resolve(key, options);\n return resolved?.res !== undefined;\n }\n extractFromKey(key, options) {\n let nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let namespaces = options.ns || this.options.defaultNS || [];\n const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n const m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n const parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n translate(keys, options, lastKey) {\n if (typeof options !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (typeof options === 'object') options = {\n ...options\n };\n if (!options) options = {};\n if (keys == null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n const returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const {\n key,\n namespaces\n } = this.extractFromKey(keys[keys.length - 1], options);\n const namespace = namespaces[namespaces.length - 1];\n const lng = options.lng || this.language;\n const appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng?.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n const nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: `${namespace}${nsSeparator}${key}`,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(options)\n };\n }\n return `${namespace}${nsSeparator}${key}`;\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(options)\n };\n }\n return key;\n }\n const resolved = this.resolve(keys, options);\n let res = resolved?.res;\n const resUsedKey = resolved?.usedKey || key;\n const resExactUsedKey = resolved?.exactUsedKey || key;\n const noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n const joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n const needsPluralHandling = options.count !== undefined && !isString(options.count);\n const hasDefaultValue = Translator.hasDefaultValue(options);\n const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n const defaultValueSuffixOrdinalFallback = options.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, {\n ordinal: false\n }) : '';\n const needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0;\n const defaultValue = needsZeroSuffixLookup && options[`defaultValue${this.options.pluralSeparator}zero`] || options[`defaultValue${defaultValueSuffix}`] || options[`defaultValue${defaultValueSuffixOrdinalFallback}`] || options.defaultValue;\n let resForObjHndl = res;\n if (handleAsObjectInI18nFormat && !res && hasDefaultValue) {\n resForObjHndl = defaultValue;\n }\n const handleAsObject = shouldHandleAsObject(resForObjHndl);\n const resType = Object.prototype.toString.apply(resForObjHndl);\n if (handleAsObjectInI18nFormat && resForObjHndl && handleAsObject && noObject.indexOf(resType) < 0 && !(isString(joinArrays) && Array.isArray(resForObjHndl))) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, resForObjHndl, {\n ...options,\n ns: namespaces\n }) : `key '${key} (${this.language})' returned an object instead of string.`;\n if (returnDetails) {\n resolved.res = r;\n resolved.usedParams = this.getUsedParamsDetails(options);\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n const resTypeIsArray = Array.isArray(resForObjHndl);\n const copy = resTypeIsArray ? [] : {};\n const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (const m in resForObjHndl) {\n if (Object.prototype.hasOwnProperty.call(resForObjHndl, m)) {\n const deepKey = `${newKeyToUse}${keySeparator}${m}`;\n if (hasDefaultValue && !res) {\n copy[m] = this.translate(deepKey, {\n ...options,\n defaultValue: shouldHandleAsObject(defaultValue) ? defaultValue[m] : undefined,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n } else {\n copy[m] = this.translate(deepKey, {\n ...options,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n }\n if (copy[m] === deepKey) copy[m] = resForObjHndl[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && isString(joinArrays) && Array.isArray(res)) {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n let usedDefault = false;\n let usedKey = false;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n const missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n const fk = this.resolve(key, {\n ...options,\n keySeparator: false\n });\n if (fk && fk.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.');\n }\n let lngs = [];\n const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (let i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n const send = (l, k, specificDefaultValue) => {\n const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (this.options.missingKeyHandler) {\n this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (this.backendConnector?.saveMissing) {\n this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n this.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(language => {\n const suffixes = this.pluralResolver.getSuffixes(language, options);\n if (needsZeroSuffixLookup && options[`defaultValue${this.options.pluralSeparator}zero`] && suffixes.indexOf(`${this.options.pluralSeparator}zero`) < 0) {\n suffixes.push(`${this.options.pluralSeparator}zero`);\n }\n suffixes.forEach(suffix => {\n send([language], key + suffix, options[`defaultValue${suffix}`] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = `${namespace}:${key}`;\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}:${key}` : key, usedDefault ? res : undefined);\n }\n }\n if (returnDetails) {\n resolved.res = res;\n resolved.usedParams = this.getUsedParamsDetails(options);\n return resolved;\n }\n return res;\n }\n extendTranslation(res, key, options, resolved, lastKey) {\n var _this = this;\n if (this.i18nFormat?.parse) {\n res = this.i18nFormat.parse(res, {\n ...this.options.interpolation.defaultVariables,\n ...options\n }, options.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init({\n ...options,\n ...{\n interpolation: {\n ...this.options.interpolation,\n ...options.interpolation\n }\n }\n });\n const skipOnVariables = isString(res) && (options?.interpolation?.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n let nestBef;\n if (skipOnVariables) {\n const nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n let data = options.replace && !isString(options.replace) ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n res = this.interpolator.interpolate(res, data, options.lng || this.language || resolved.usedLng, options);\n if (skipOnVariables) {\n const na = res.match(this.interpolator.nestingRegexp);\n const nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (!options.lng && resolved && resolved.res) options.lng = this.language || resolved.usedLng;\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey?.[0] === args[0] && !options.context) {\n _this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`);\n return null;\n }\n return _this.translate(...args, key);\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n const postProcess = options.postProcess || this.options.postProcess;\n const postProcessorNames = isString(postProcess) ? [postProcess] : postProcess;\n if (res != null && postProcessorNames?.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? {\n i18nResolved: {\n ...resolved,\n usedParams: this.getUsedParamsDetails(options)\n },\n ...options\n } : options, this);\n }\n return res;\n }\n resolve(keys) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let found;\n let usedKey;\n let exactUsedKey;\n let usedLng;\n let usedNS;\n if (isString(keys)) keys = [keys];\n keys.forEach(k => {\n if (this.isValidLookup(found)) return;\n const extracted = this.extractFromKey(k, options);\n const key = extracted.key;\n usedKey = key;\n let namespaces = extracted.namespaces;\n if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS);\n const needsPluralHandling = options.count !== undefined && !isString(options.count);\n const needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0;\n const needsContextHandling = options.context !== undefined && (isString(options.context) || typeof options.context === 'number') && options.context !== '';\n const codes = options.lngs ? options.lngs : this.languageUtils.toResolveHierarchy(options.lng || this.language, options.fallbackLng);\n namespaces.forEach(ns => {\n if (this.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils?.hasLoadedNamespace && !this.utils?.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[`${codes[0]}-${ns}`] = true;\n this.logger.warn(`key \"${usedKey}\" for languages \"${codes.join(', ')}\" won't get resolved as namespace \"${usedNS}\" 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!!!');\n }\n codes.forEach(code => {\n if (this.isValidLookup(found)) return;\n usedLng = code;\n const finalKeys = [key];\n if (this.i18nFormat?.addLookupKeys) {\n this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n let pluralSuffix;\n if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, options.count, options);\n const zeroSuffix = `${this.options.pluralSeparator}zero`;\n const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (options.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n const contextKey = `${key}${this.options.contextSeparator}${options.context}`;\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (options.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n let possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!this.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = this.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey,\n exactUsedKey,\n usedLng,\n usedNS\n };\n }\n isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n getResource(code, ns, key) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat?.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n getUsedParamsDetails() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const optionsKeys = ['defaultValue', 'ordinal', 'context', 'replace', 'lng', 'lngs', 'fallbackLng', 'ns', 'keySeparator', 'nsSeparator', 'returnObjects', 'returnDetails', 'joinArrays', 'postProcess', 'interpolation'];\n const useOptionsReplaceForData = options.replace && !isString(options.replace);\n let data = useOptionsReplaceForData ? options.replace : options;\n if (useOptionsReplaceForData && typeof options.count !== 'undefined') {\n data.count = options.count;\n }\n if (this.options.interpolation.defaultVariables) {\n data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n }\n if (!useOptionsReplaceForData) {\n data = {\n ...data\n };\n for (const key of optionsKeys) {\n delete data[key];\n }\n }\n return data;\n }\n static hasDefaultValue(options) {\n const prefix = 'defaultValue';\n for (const option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n}\n\nclass LanguageUtil {\n constructor(options) {\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n getScriptPartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return null;\n const p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n getLanguagePartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return code;\n const p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n formatLanguageCode(code) {\n if (isString(code) && code.indexOf('-') > -1) {\n let formattedCode;\n try {\n formattedCode = Intl.getCanonicalLocales(code)[0];\n } catch (e) {}\n if (formattedCode && this.options.lowerCaseLng) {\n formattedCode = formattedCode.toLowerCase();\n }\n if (formattedCode) return formattedCode;\n if (this.options.lowerCaseLng) {\n return code.toLowerCase();\n }\n return code;\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n getBestMatchFromCodes(codes) {\n if (!codes) return null;\n let found;\n codes.forEach(code => {\n if (found) return;\n const cleanedLng = this.formatLanguageCode(code);\n if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(code => {\n if (found) return;\n const lngOnly = this.getLanguagePartFromCode(code);\n if (this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = this.options.supportedLngs.find(supportedLng => {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf('-') > 0 && lngOnly.indexOf('-') < 0 && supportedLng.substring(0, supportedLng.indexOf('-')) === lngOnly) return supportedLng;\n if (supportedLng.indexOf(lngOnly) === 0 && lngOnly.length > 1) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (isString(fallbacks)) fallbacks = [fallbacks];\n if (Array.isArray(fallbacks)) return fallbacks;\n if (!code) return fallbacks.default || [];\n let found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks.default;\n return found || [];\n }\n toResolveHierarchy(code, fallbackCode) {\n const fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n const codes = [];\n const addCode = c => {\n if (!c) return;\n if (this.isSupportedCode(c)) {\n codes.push(c);\n } else {\n this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`);\n }\n };\n if (isString(code) && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (isString(code)) {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(fc => {\n if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc));\n });\n return codes;\n }\n}\n\nconst suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nconst dummyRule = {\n select: count => count === 1 ? 'one' : 'other',\n resolvedOptions: () => ({\n pluralCategories: ['one', 'other']\n })\n};\nclass PluralResolver {\n constructor(languageUtils) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.pluralRulesCache = {};\n }\n addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n clearCache() {\n this.pluralRulesCache = {};\n }\n getRule(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const cleanedCode = getCleanedCode(code === 'dev' ? 'en' : code);\n const type = options.ordinal ? 'ordinal' : 'cardinal';\n const cacheKey = JSON.stringify({\n cleanedCode,\n type\n });\n if (cacheKey in this.pluralRulesCache) {\n return this.pluralRulesCache[cacheKey];\n }\n let rule;\n try {\n rule = new Intl.PluralRules(cleanedCode, {\n type\n });\n } catch (err) {\n if (!Intl) {\n this.logger.error('No Intl support, please use an Intl polyfill!');\n return dummyRule;\n }\n if (!code.match(/-|_/)) return dummyRule;\n const lngPart = this.languageUtils.getLanguagePartFromCode(code);\n rule = this.getRule(lngPart, options);\n }\n this.pluralRulesCache[cacheKey] = rule;\n return rule;\n }\n needsPlural(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n return rule?.resolvedOptions().pluralCategories.length > 1;\n }\n getPluralFormsOfKey(code, key) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`);\n }\n getSuffixes(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n if (!rule) return [];\n return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`);\n }\n getSuffix(code, count) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const rule = this.getRule(code, options);\n if (rule) {\n return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`;\n }\n this.logger.warn(`no plural rule found for: ${code}`);\n return this.getSuffix('dev', count, options);\n }\n}\n\nconst deepFindWithDefaults = function (data, defaultData, key) {\n let keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n let ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n let path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && isString(key)) {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n};\nconst regexSafe = val => val.replace(/\\$/g, '$$$$');\nclass Interpolator {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options?.interpolation?.format || (value => value);\n this.init(options);\n }\n init() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n const {\n escape: escape$1,\n escapeValue,\n useRawValueToEscape,\n prefix,\n prefixEscaped,\n suffix,\n suffixEscaped,\n formatSeparator,\n unescapeSuffix,\n unescapePrefix,\n nestingPrefix,\n nestingPrefixEscaped,\n nestingSuffix,\n nestingSuffixEscaped,\n nestingOptionsSeparator,\n maxReplaces,\n alwaysFormat\n } = options.interpolation;\n this.escape = escape$1 !== undefined ? escape$1 : escape;\n this.escapeValue = escapeValue !== undefined ? escapeValue : true;\n this.useRawValueToEscape = useRawValueToEscape !== undefined ? useRawValueToEscape : false;\n this.prefix = prefix ? regexEscape(prefix) : prefixEscaped || '{{';\n this.suffix = suffix ? regexEscape(suffix) : suffixEscaped || '}}';\n this.formatSeparator = formatSeparator || ',';\n this.unescapePrefix = unescapeSuffix ? '' : unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : unescapeSuffix || '';\n this.nestingPrefix = nestingPrefix ? regexEscape(nestingPrefix) : nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = nestingSuffix ? regexEscape(nestingSuffix) : nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = nestingOptionsSeparator || ',';\n this.maxReplaces = maxReplaces || 1000;\n this.alwaysFormat = alwaysFormat !== undefined ? alwaysFormat : false;\n this.resetRegExp();\n }\n reset() {\n if (this.options) this.init(this.options);\n }\n resetRegExp() {\n const getOrResetRegExp = (existingRegExp, pattern) => {\n if (existingRegExp?.source === pattern) {\n existingRegExp.lastIndex = 0;\n return existingRegExp;\n }\n return new RegExp(pattern, 'g');\n };\n this.regexp = getOrResetRegExp(this.regexp, `${this.prefix}(.+?)${this.suffix}`);\n this.regexpUnescape = getOrResetRegExp(this.regexpUnescape, `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`);\n this.nestingRegexp = getOrResetRegExp(this.nestingRegexp, `${this.nestingPrefix}(.+?)${this.nestingSuffix}`);\n }\n interpolate(str, data, lng, options) {\n let match;\n let value;\n let replaces;\n const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n const handleFormat = key => {\n if (key.indexOf(this.formatSeparator) < 0) {\n const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure);\n return this.alwaysFormat ? this.format(path, undefined, lng, {\n ...options,\n ...data,\n interpolationkey: key\n }) : path;\n }\n const p = key.split(this.formatSeparator);\n const k = p.shift().trim();\n const f = p.join(this.formatSeparator).trim();\n return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, {\n ...options,\n ...data,\n interpolationkey: k\n });\n };\n this.resetRegExp();\n const missingInterpolationHandler = options?.missingInterpolationHandler || this.options.missingInterpolationHandler;\n const skipOnVariables = options?.interpolation?.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n const todos = [{\n regex: this.regexpUnescape,\n safeValue: val => regexSafe(val)\n }, {\n regex: this.regexp,\n safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val)\n }];\n todos.forEach(todo => {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n const matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n const temp = missingInterpolationHandler(str, match, options);\n value = isString(temp) ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`);\n value = '';\n }\n } else if (!isString(value) && !this.useRawValueToEscape) {\n value = makeString(value);\n }\n const safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n nest(str, fc) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let match;\n let value;\n let clonedOptions;\n const handleHasOptions = (key, inheritedOptions) => {\n const sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n const c = key.split(new RegExp(`${sep}[ ]*{`));\n let optionsString = `{${c[1]}`;\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n const matchedSingleQuotes = optionsString.match(/'/g);\n const matchedDoubleQuotes = optionsString.match(/\"/g);\n if ((matchedSingleQuotes?.length ?? 0) % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = {\n ...inheritedOptions,\n ...clonedOptions\n };\n } catch (e) {\n this.logger.warn(`failed parsing options string in nesting for key ${key}`, e);\n return `${key}${sep}${optionsString}`;\n }\n if (clonedOptions.defaultValue && clonedOptions.defaultValue.indexOf(this.prefix) > -1) delete clonedOptions.defaultValue;\n return key;\n };\n while (match = this.nestingRegexp.exec(str)) {\n let formatters = [];\n clonedOptions = {\n ...options\n };\n clonedOptions = clonedOptions.replace && !isString(clonedOptions.replace) ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n let doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n const r = match[1].split(this.formatSeparator).map(elem => elem.trim());\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && !isString(value)) return value;\n if (!isString(value)) value = makeString(value);\n if (!value) {\n this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`);\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce((v, f) => this.format(v, f, options.lng, {\n ...options,\n interpolationkey: match[1].trim()\n }), value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n}\n\nconst parseFormatStr = formatStr => {\n let formatName = formatStr.toLowerCase().trim();\n const formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n const p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n const optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n const opts = optStr.split(';');\n opts.forEach(opt => {\n if (opt) {\n const [key, ...rest] = opt.split(':');\n const val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n const trimmedKey = key.trim();\n if (!formatOptions[trimmedKey]) formatOptions[trimmedKey] = val;\n if (val === 'false') formatOptions[trimmedKey] = false;\n if (val === 'true') formatOptions[trimmedKey] = true;\n if (!isNaN(val)) formatOptions[trimmedKey] = parseInt(val, 10);\n }\n });\n }\n }\n return {\n formatName,\n formatOptions\n };\n};\nconst createCachedFormatter = fn => {\n const cache = {};\n return (val, lng, options) => {\n let optForCache = options;\n if (options && options.interpolationkey && options.formatParams && options.formatParams[options.interpolationkey] && options[options.interpolationkey]) {\n optForCache = {\n ...optForCache,\n [options.interpolationkey]: undefined\n };\n }\n const key = lng + JSON.stringify(optForCache);\n let formatter = cache[key];\n if (!formatter) {\n formatter = fn(getCleanedCode(lng), options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n};\nclass Formatter {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n currency: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt,\n style: 'currency'\n });\n return val => formatter.format(val);\n }),\n datetime: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.DateTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n relativetime: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.RelativeTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val, opt.range || 'day');\n }),\n list: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.ListFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n })\n };\n this.init(options);\n }\n init(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n this.formatSeparator = options.interpolation.formatSeparator || ',';\n }\n add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n format(value, format, lng) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const formats = format.split(this.formatSeparator);\n if (formats.length > 1 && formats[0].indexOf('(') > 1 && formats[0].indexOf(')') < 0 && formats.find(f => f.indexOf(')') > -1)) {\n const lastIndex = formats.findIndex(f => f.indexOf(')') > -1);\n formats[0] = [formats[0], ...formats.splice(1, lastIndex)].join(this.formatSeparator);\n }\n const result = formats.reduce((mem, f) => {\n const {\n formatName,\n formatOptions\n } = parseFormatStr(f);\n if (this.formats[formatName]) {\n let formatted = mem;\n try {\n const valOptions = options?.formatParams?.[options.interpolationkey] || {};\n const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = this.formats[formatName](mem, l, {\n ...formatOptions,\n ...options,\n ...valOptions\n });\n } catch (error) {\n this.logger.warn(error);\n }\n return formatted;\n } else {\n this.logger.warn(`there was no format function for ${formatName}`);\n }\n return mem;\n }, value);\n return result;\n }\n}\n\nconst removePending = (q, name) => {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n};\nclass Connector extends EventEmitter {\n constructor(backend, store, services) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n super();\n this.backend = backend;\n this.store = store;\n this.services = services;\n this.languageUtils = services.languageUtils;\n this.options = options;\n this.logger = baseLogger.create('backendConnector');\n this.waitingReads = [];\n this.maxParallelReads = options.maxParallelReads || 10;\n this.readingCalls = 0;\n this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n this.state = {};\n this.queue = [];\n this.backend?.init?.(services, options.backend, options);\n }\n queueLoad(languages, namespaces, options, callback) {\n const toLoad = {};\n const pending = {};\n const toLoadLanguages = {};\n const toLoadNamespaces = {};\n languages.forEach(lng => {\n let hasAllNamespaces = true;\n namespaces.forEach(ns => {\n const name = `${lng}|${ns}`;\n if (!options.reload && this.store.hasResourceBundle(lng, ns)) {\n this.state[name] = 2;\n } else if (this.state[name] < 0) ; else if (this.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n this.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n loaded(name, err, data) {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (!err && data) {\n this.store.addResourceBundle(lng, ns, data, undefined, undefined, {\n skipCopy: true\n });\n }\n this.state[name] = err ? -1 : 2;\n if (err && data) this.state[name] = 0;\n const loaded = {};\n this.queue.forEach(q => {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(l => {\n if (!loaded[l]) loaded[l] = {};\n const loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(n => {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(q => !q.done);\n }\n read(lng, ns, fcName) {\n let tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n let wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n let callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng,\n ns,\n fcName,\n tried,\n wait,\n callback\n });\n return;\n }\n this.readingCalls++;\n const resolver = (err, data) => {\n this.readingCalls--;\n if (this.waitingReads.length > 0) {\n const next = this.waitingReads.shift();\n this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < this.maxRetries) {\n setTimeout(() => {\n this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n const fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n const r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(data => resolver(null, data)).catch(resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n prepareLoading(languages, namespaces) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (isString(languages)) languages = this.languageUtils.toResolveHierarchy(languages);\n if (isString(namespaces)) namespaces = [namespaces];\n const toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(name => {\n this.loadOne(name);\n });\n }\n load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n loadOne(name) {\n let prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, (err, data) => {\n if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err);\n if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data);\n this.loaded(name, err, data);\n });\n }\n saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n let options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n let clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : () => {};\n if (this.services?.utils?.hasLoadedNamespace && !this.services?.utils?.hasLoadedNamespace(namespace)) {\n this.logger.warn(`did not save key \"${key}\" as the namespace \"${namespace}\" 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!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend?.create) {\n const opts = {\n ...options,\n isUpdate\n };\n const fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n let r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(data => clb(null, data)).catch(clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n}\n\nconst get = () => ({\n debug: false,\n initAsync: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: false,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: args => {\n let ret = {};\n if (typeof args[1] === 'object') ret = args[1];\n if (isString(args[1])) ret.defaultValue = args[1];\n if (isString(args[2])) ret.tDescription = args[2];\n if (typeof args[2] === 'object' || typeof args[3] === 'object') {\n const options = args[3] || args[2];\n Object.keys(options).forEach(key => {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: value => value,\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n});\nconst transformOptions = options => {\n if (isString(options.ns)) options.ns = [options.ns];\n if (isString(options.fallbackLng)) options.fallbackLng = [options.fallbackLng];\n if (isString(options.fallbackNS)) options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs?.indexOf?.('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n if (typeof options.initImmediate === 'boolean') options.initAsync = options.initImmediate;\n return options;\n};\n\nconst noop = () => {};\nconst bindMemberFunctions = inst => {\n const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(mem => {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n};\nclass I18n extends EventEmitter {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n super();\n this.options = transformOptions(options);\n this.services = {};\n this.logger = baseLogger;\n this.modules = {\n external: []\n };\n bindMemberFunctions(this);\n if (callback && !this.isInitialized && !options.isClone) {\n if (!this.options.initAsync) {\n this.init(options, callback);\n return this;\n }\n setTimeout(() => {\n this.init(options, callback);\n }, 0);\n }\n }\n init() {\n var _this = this;\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n this.isInitializing = true;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (options.defaultNS == null && options.ns) {\n if (isString(options.ns)) {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n const defOpts = get();\n this.options = {\n ...defOpts,\n ...this.options,\n ...transformOptions(options)\n };\n this.options.interpolation = {\n ...defOpts.interpolation,\n ...this.options.interpolation\n };\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n const createClassOnDemand = ClassOrObject => {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n };\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n let formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else {\n formatter = Formatter;\n }\n const lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n const s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this.emit(event, ...args);\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this.emit(event, ...args);\n });\n this.modules.external.forEach(m => {\n if (m.init) m.init(this);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(fcName => {\n this[fcName] = function () {\n return _this.store[fcName](...arguments);\n };\n });\n const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(fcName => {\n this[fcName] = function () {\n _this.store[fcName](...arguments);\n return _this;\n };\n });\n const deferred = defer();\n const load = () => {\n const finish = (err, t) => {\n this.isInitializing = false;\n if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!');\n this.isInitialized = true;\n if (!this.options.isClone) this.logger.log('initialized', this.options);\n this.emit('initialized', this.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (this.languages && !this.isInitialized) return finish(null, this.t.bind(this));\n this.changeLanguage(this.options.lng, finish);\n };\n if (this.options.resources || !this.options.initAsync) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n loadResources(language) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n let usedCallback = callback;\n const usedLng = isString(language) ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng?.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback();\n const toLoad = [];\n const append = lng => {\n if (!lng) return;\n if (lng === 'cimode') return;\n const lngs = this.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(l => {\n if (l === 'cimode') return;\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(l => append(l));\n } else {\n append(usedLng);\n }\n this.options.preload?.forEach?.(l => append(l));\n this.services.backendConnector.load(toLoad, this.options.ns, e => {\n if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n reloadResources(lngs, ns, callback) {\n const deferred = defer();\n if (typeof lngs === 'function') {\n callback = lngs;\n lngs = undefined;\n }\n if (typeof ns === 'function') {\n callback = ns;\n ns = undefined;\n }\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, err => {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (let li = 0; li < this.languages.length; li++) {\n const lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n changeLanguage(lng, callback) {\n var _this2 = this;\n this.isLanguageChangingTo = lng;\n const deferred = defer();\n this.emit('languageChanging', lng);\n const setLngProps = l => {\n this.language = l;\n this.languages = this.services.languageUtils.toResolveHierarchy(l);\n this.resolvedLanguage = undefined;\n this.setResolvedLanguage(l);\n };\n const done = (err, l) => {\n if (l) {\n setLngProps(l);\n this.translator.changeLanguage(l);\n this.isLanguageChangingTo = undefined;\n this.emit('languageChanged', l);\n this.logger.log('languageChanged', l);\n } else {\n this.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this2.t(...arguments);\n });\n if (callback) callback(err, function () {\n return _this2.t(...arguments);\n });\n };\n const setLng = lngs => {\n if (!lng && !lngs && this.services.languageDetector) lngs = [];\n const l = isString(lngs) ? lngs : this.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!this.language) {\n setLngProps(l);\n }\n if (!this.translator.language) this.translator.changeLanguage(l);\n this.services.languageDetector?.cacheUserLanguage?.(l);\n }\n this.loadResources(l, err => {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n getFixedT(lng, ns, keyPrefix) {\n var _this3 = this;\n const fixedT = function (key, opts) {\n let options;\n if (typeof opts !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this3.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = {\n ...opts\n };\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n if (options.keyPrefix !== '') options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n const keySeparator = _this3.options.keySeparator || '.';\n let resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(k => `${options.keyPrefix}${keySeparator}${k}`);\n } else {\n resultKey = options.keyPrefix ? `${options.keyPrefix}${keySeparator}${key}` : key;\n }\n return _this3.t(resultKey, options);\n };\n if (isString(lng)) {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n t() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.translator?.translate(...args);\n }\n exists() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n return this.translator?.exists(...args);\n }\n setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n hasLoadedNamespace(ns) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n const lng = options.lng || this.resolvedLanguage || this.languages[0];\n const fallbackLng = this.options ? this.options.fallbackLng : false;\n const lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n const loadNotPending = (l, n) => {\n const loadState = this.services.backendConnector.state[`${l}|${n}`];\n return loadState === -1 || loadState === 0 || loadState === 2;\n };\n if (options.precheck) {\n const preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n loadNamespaces(ns, callback) {\n const deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (isString(ns)) ns = [ns];\n ns.forEach(n => {\n if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n);\n });\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n loadLanguages(lngs, callback) {\n const deferred = defer();\n if (isString(lngs)) lngs = [lngs];\n const preloaded = this.options.preload || [];\n const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0 && this.services.languageUtils.isSupportedCode(lng));\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages?.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n const rtlLngs = ['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'];\n const languageUtils = this.services?.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n static createInstance() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n }\n cloneInstance() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n const forkResourceStore = options.forkResourceStore;\n if (forkResourceStore) delete options.forkResourceStore;\n const mergedOptions = {\n ...this.options,\n ...options,\n ...{\n isClone: true\n }\n };\n const clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n const membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(m => {\n clone[m] = this[m];\n });\n clone.services = {\n ...this.services\n };\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n if (forkResourceStore) {\n const clonedData = Object.keys(this.store.data).reduce((prev, l) => {\n prev[l] = {\n ...this.store.data[l]\n };\n return Object.keys(prev[l]).reduce((acc, n) => {\n acc[n] = {\n ...prev[l][n]\n };\n return acc;\n }, {});\n }, {});\n clone.store = new ResourceStore(clonedData, mergedOptions);\n clone.services.resourceStore = clone.store;\n }\n clone.translator = new Translator(clone.services, mergedOptions);\n clone.translator.on('*', function (event) {\n for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {\n args[_key6 - 1] = arguments[_key6];\n }\n clone.emit(event, ...args);\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = mergedOptions;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n}\nconst instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nconst createInstance = instance.createInstance;\nconst dir = instance.dir;\nconst init = instance.init;\nconst loadResources = instance.loadResources;\nconst reloadResources = instance.reloadResources;\nconst use = instance.use;\nconst changeLanguage = instance.changeLanguage;\nconst getFixedT = instance.getFixedT;\nconst t = instance.t;\nconst exists = instance.exists;\nconst setDefaultNamespace = instance.setDefaultNamespace;\nconst hasLoadedNamespace = instance.hasLoadedNamespace;\nconst loadNamespaces = instance.loadNamespaces;\nconst loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","const {\n slice,\n forEach\n} = [];\nfunction defaults(obj) {\n forEach.call(slice.call(arguments, 1), source => {\n if (source) {\n for (const prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\n\n// eslint-disable-next-line no-control-regex\nconst fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\nconst serializeCookie = function (name, val) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n path: '/'\n };\n const opt = options;\n const value = encodeURIComponent(val);\n let str = `${name}=${value}`;\n if (opt.maxAge > 0) {\n const maxAge = opt.maxAge - 0;\n if (Number.isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += `; Max-Age=${Math.floor(maxAge)}`;\n }\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n str += `; Domain=${opt.domain}`;\n }\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n str += `; Path=${opt.path}`;\n }\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n str += `; Expires=${opt.expires.toUTCString()}`;\n }\n if (opt.httpOnly) str += '; HttpOnly';\n if (opt.secure) str += '; Secure';\n if (opt.sameSite) {\n const sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n return str;\n};\nconst cookie = {\n create(name, value, minutes, domain) {\n let cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n path: '/',\n sameSite: 'strict'\n };\n if (minutes) {\n cookieOptions.expires = new Date();\n cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000);\n }\n if (domain) cookieOptions.domain = domain;\n document.cookie = serializeCookie(name, encodeURIComponent(value), cookieOptions);\n },\n read(name) {\n const nameEQ = `${name}=`;\n const ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n },\n remove(name) {\n this.create(name, '', -1);\n }\n};\nvar cookie$1 = {\n name: 'cookie',\n // Deconstruct the options object and extract the lookupCookie property\n lookup(_ref) {\n let {\n lookupCookie\n } = _ref;\n if (lookupCookie && typeof document !== 'undefined') {\n return cookie.read(lookupCookie) || undefined;\n }\n return undefined;\n },\n // Deconstruct the options object and extract the lookupCookie, cookieMinutes, cookieDomain, and cookieOptions properties\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupCookie,\n cookieMinutes,\n cookieDomain,\n cookieOptions\n } = _ref2;\n if (lookupCookie && typeof document !== 'undefined') {\n cookie.create(lookupCookie, lng, cookieMinutes, cookieDomain, cookieOptions);\n }\n }\n};\n\nvar querystring = {\n name: 'querystring',\n // Deconstruct the options object and extract the lookupQuerystring property\n lookup(_ref) {\n let {\n lookupQuerystring\n } = _ref;\n let found;\n if (typeof window !== 'undefined') {\n let {\n search\n } = window.location;\n if (!window.location.search && window.location.hash?.indexOf('?') > -1) {\n search = window.location.hash.substring(window.location.hash.indexOf('?'));\n }\n const query = search.substring(1);\n const params = query.split('&');\n for (let i = 0; i < params.length; i++) {\n const pos = params[i].indexOf('=');\n if (pos > 0) {\n const key = params[i].substring(0, pos);\n if (key === lookupQuerystring) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n return found;\n }\n};\n\nlet hasLocalStorageSupport = null;\nconst localStorageAvailable = () => {\n if (hasLocalStorageSupport !== null) return hasLocalStorageSupport;\n try {\n hasLocalStorageSupport = typeof window !== 'undefined' && window.localStorage !== null;\n if (!hasLocalStorageSupport) {\n return false;\n }\n const testKey = 'i18next.translate.boo';\n window.localStorage.setItem(testKey, 'foo');\n window.localStorage.removeItem(testKey);\n } catch (e) {\n hasLocalStorageSupport = false;\n }\n return hasLocalStorageSupport;\n};\nvar localStorage = {\n name: 'localStorage',\n // Deconstruct the options object and extract the lookupLocalStorage property\n lookup(_ref) {\n let {\n lookupLocalStorage\n } = _ref;\n if (lookupLocalStorage && localStorageAvailable()) {\n return window.localStorage.getItem(lookupLocalStorage) || undefined; // Undefined ensures type consistency with the previous version of this function\n }\n return undefined;\n },\n // Deconstruct the options object and extract the lookupLocalStorage property\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupLocalStorage\n } = _ref2;\n if (lookupLocalStorage && localStorageAvailable()) {\n window.localStorage.setItem(lookupLocalStorage, lng);\n }\n }\n};\n\nlet hasSessionStorageSupport = null;\nconst sessionStorageAvailable = () => {\n if (hasSessionStorageSupport !== null) return hasSessionStorageSupport;\n try {\n hasSessionStorageSupport = typeof window !== 'undefined' && window.sessionStorage !== null;\n if (!hasSessionStorageSupport) {\n return false;\n }\n const testKey = 'i18next.translate.boo';\n window.sessionStorage.setItem(testKey, 'foo');\n window.sessionStorage.removeItem(testKey);\n } catch (e) {\n hasSessionStorageSupport = false;\n }\n return hasSessionStorageSupport;\n};\nvar sessionStorage = {\n name: 'sessionStorage',\n lookup(_ref) {\n let {\n lookupSessionStorage\n } = _ref;\n if (lookupSessionStorage && sessionStorageAvailable()) {\n return window.sessionStorage.getItem(lookupSessionStorage) || undefined;\n }\n return undefined;\n },\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupSessionStorage\n } = _ref2;\n if (lookupSessionStorage && sessionStorageAvailable()) {\n window.sessionStorage.setItem(lookupSessionStorage, lng);\n }\n }\n};\n\nvar navigator$1 = {\n name: 'navigator',\n lookup(options) {\n const found = [];\n if (typeof navigator !== 'undefined') {\n const {\n languages,\n userLanguage,\n language\n } = navigator;\n if (languages) {\n // chrome only; not an array, so can't use .push.apply instead of iterating\n for (let i = 0; i < languages.length; i++) {\n found.push(languages[i]);\n }\n }\n if (userLanguage) {\n found.push(userLanguage);\n }\n if (language) {\n found.push(language);\n }\n }\n return found.length > 0 ? found : undefined;\n }\n};\n\nvar htmlTag = {\n name: 'htmlTag',\n // Deconstruct the options object and extract the htmlTag property\n lookup(_ref) {\n let {\n htmlTag\n } = _ref;\n let found;\n const internalHtmlTag = htmlTag || (typeof document !== 'undefined' ? document.documentElement : null);\n if (internalHtmlTag && typeof internalHtmlTag.getAttribute === 'function') {\n found = internalHtmlTag.getAttribute('lang');\n }\n return found;\n }\n};\n\nvar path = {\n name: 'path',\n // Deconstruct the options object and extract the lookupFromPathIndex property\n lookup(_ref) {\n let {\n lookupFromPathIndex\n } = _ref;\n if (typeof window === 'undefined') return undefined;\n const language = window.location.pathname.match(/\\/([a-zA-Z-]*)/g);\n if (!Array.isArray(language)) return undefined;\n const index = typeof lookupFromPathIndex === 'number' ? lookupFromPathIndex : 0;\n return language[index]?.replace('/', '');\n }\n};\n\nvar subdomain = {\n name: 'subdomain',\n lookup(_ref) {\n let {\n lookupFromSubdomainIndex\n } = _ref;\n // If given get the subdomain index else 1\n const internalLookupFromSubdomainIndex = typeof lookupFromSubdomainIndex === 'number' ? lookupFromSubdomainIndex + 1 : 1;\n // get all matches if window.location. is existing\n // first item of match is the match itself and the second is the first group match which should be the first subdomain match\n // is the hostname no public domain get the or option of localhost\n const language = typeof window !== 'undefined' && window.location?.hostname?.match(/^(\\w{2,5})\\.(([a-z0-9-]{1,63}\\.[a-z]{2,6})|localhost)/i);\n\n // if there is no match (null) return undefined\n if (!language) return undefined;\n // return the given group match\n return language[internalLookupFromSubdomainIndex];\n }\n};\n\n// some environments, throws when accessing document.cookie\nlet canCookies = false;\ntry {\n // eslint-disable-next-line no-unused-expressions\n document.cookie;\n canCookies = true;\n // eslint-disable-next-line no-empty\n} catch (e) {}\nconst order = ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag'];\nif (!canCookies) order.splice(1, 1);\nconst getDefaults = () => ({\n order,\n lookupQuerystring: 'lng',\n lookupCookie: 'i18next',\n lookupLocalStorage: 'i18nextLng',\n lookupSessionStorage: 'i18nextLng',\n // cache user language\n caches: ['localStorage'],\n excludeCacheFor: ['cimode'],\n // cookieMinutes: 10,\n // cookieDomain: 'myDomain'\n\n convertDetectedLanguage: l => l\n});\nclass Browser {\n constructor(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.type = 'languageDetector';\n this.detectors = {};\n this.init(services, options);\n }\n init() {\n let services = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n languageUtils: {}\n };\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services;\n this.options = defaults(options, this.options || {}, getDefaults());\n if (typeof this.options.convertDetectedLanguage === 'string' && this.options.convertDetectedLanguage.indexOf('15897') > -1) {\n this.options.convertDetectedLanguage = l => l.replace('-', '_');\n }\n\n // backwards compatibility\n if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex;\n this.i18nOptions = i18nOptions;\n this.addDetector(cookie$1);\n this.addDetector(querystring);\n this.addDetector(localStorage);\n this.addDetector(sessionStorage);\n this.addDetector(navigator$1);\n this.addDetector(htmlTag);\n this.addDetector(path);\n this.addDetector(subdomain);\n }\n addDetector(detector) {\n this.detectors[detector.name] = detector;\n return this;\n }\n detect() {\n let detectionOrder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.options.order;\n let detected = [];\n detectionOrder.forEach(detectorName => {\n if (this.detectors[detectorName]) {\n let lookup = this.detectors[detectorName].lookup(this.options);\n if (lookup && typeof lookup === 'string') lookup = [lookup];\n if (lookup) detected = detected.concat(lookup);\n }\n });\n detected = detected.map(d => this.options.convertDetectedLanguage(d));\n if (this.services && this.services.languageUtils && this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0\n return detected.length > 0 ? detected[0] : null; // a little backward compatibility\n }\n cacheUserLanguage(lng) {\n let caches = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.options.caches;\n if (!caches) return;\n if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return;\n caches.forEach(cacheName => {\n if (this.detectors[cacheName]) this.detectors[cacheName].cacheUserLanguage(lng, this.options);\n });\n }\n}\nBrowser.type = 'languageDetector';\n\nexport { Browser as default };\n","export default {\n en: {\n translation: {\n 'characters-remaining': '{{charactersRemaining}} characters remaining',\n ascending: 'ascending',\n descending: 'descending',\n 'data-table-sorted':\n '{{caption}} table, column {{headerName}} is now sorted by {{sortDirection}} values',\n 'column-headers-buttons-sortable':\n 'column headers with buttons are sortable',\n 'table-sort-removed': 'Table sort removed',\n 'sort-by-ascending-values': 'Sort by ascending values',\n 'sort-by-descending-values': 'Sort by descending values',\n 'reset-sort': 'Reset sort',\n 'table-now-displaying-page':\n 'Table now displaying page {{pageNumber}} of {{totalPages}}',\n 'table-now-displaying-rows':\n 'Table now displaying {{pageSize}} rows per page which results in {{totalPages}} total pages for {{totalRows}} rows of data',\n 'no-matching-results-found':\n 'No matching results found, try another filter term',\n 'table-filtered':\n 'Table filtered, {{numberOfRows}} rows of data available',\n 'table-filter-removed':\n 'Filter removed, {{numberOfRows}} rows of data are available',\n 'video-duration-is': 'Video duration is',\n 'minutes-and': 'minutes and',\n 'seconds-long': 'seconds long',\n 'view-video-transcript': 'View video transcript',\n close: 'close',\n disabled: 'disabled',\n breadcrumbs: 'breadcrumbs',\n calendar: 'calendar',\n 'escape-exit-calendar': 'Press escape to exit the calendar.',\n 'previous-year': 'Previous year',\n 'next-year': 'Next year',\n 'previous-month': 'Previous month',\n 'next-month': 'Next month',\n 'show-today': 'Show today',\n 'clear-value': 'Clear value',\n 'choose-date': 'Choose date',\n 'please-follow-format': `Please follow the {{format}} format.`,\n 'please-enter-valid-date': 'Please enter a valid date.',\n 'press-down-for-calendar':\n 'Press the down arrow key to access the calendar.',\n error: 'ERROR',\n 'please-refresh-browser':\n 'Please refresh your browser or try again in a few minutes.',\n 'sorry-no-permission':\n 'Sorry! It looks like you don’t have permission to access this page.',\n 'sorry-broken-link':\n 'We’re sorry. It looks like the link you followed may be broken or the page may have been moved.',\n 'sorry-site-unavailable':\n 'Sorry! This part of our site is currently unavailable, we’re working on resolving the issue as quickly as possible.',\n 'well-thats-puzzling':\n 'Well, that’s puzzling.',\n 'well-shoot':\n 'Well, shoot. Our system doesn’t recognize you.',\n 'uh-oh-small-glitch':\n 'Uh-oh. We’re experiencing a small glitch.',\n 'bump-in-the-road':\n 'Looks like there’s a bump in the road.',\n 'attach-files': 'Attach files',\n 'attach-file': 'Attach file',\n 'drop-file-click':\n 'Drop a file to attach, or click to browse.',\n 'drop-files-click':\n 'Drop files to attach, or click to browse.',\n 'drop-file-tap':\n 'Drop a file to attach, or tap to browse.',\n 'drop-files-tap':\n 'Drop files to attach, or tap to browse.',\n cancel: 'Cancel',\n 'replace-file-confirmation':\n 'Are you sure you want to replace this file:',\n with: 'With',\n replace: 'Replace',\n 'no-files-attached': 'No files have been attached.',\n 'please-ensure-file-formats':\n 'Please make sure your files are in one of the following formats',\n 'please-ensure-file-size': 'Please make sure your files are below',\n 'file-could-not-be-uploaded': 'The following file could not be uploaded',\n 'try-again': 'Try again',\n 'remove-attachment': 'Remove attachment',\n 'removed-file-live-region' :'Your {{fileToRemove}} file was removed',\n 'show-more': 'Show more',\n 'show-less': 'Show less',\n loading: 'loading...',\n 'expand-collapse-row': 'Expand/collapse row',\n 'trouble-logging-in': 'Trouble logging in?',\n 'get-help': 'Get help',\n 'link-to-principal-homepage':\n 'Principal Financial Group logo, Link to Principal homepage',\n contact: 'Contact',\n footer: 'Footer',\n 'terms-of-use': 'Terms of use',\n disclosures: 'Disclosures',\n privacy: 'Privacy',\n security: 'Security',\n 'report-fraud': 'Report fraud',\n accessibility: 'Accessibility',\n 'securities-offered':\n 'Securities offered through Principal Securities, Inc.,',\n 'member-sipc': 'member SIPC',\n 'principal-on-X': 'Principal on X',\n 'principal-on-youtube': 'Principal on YouTube',\n 'principal-on-facebook': 'Principal on Facebook',\n 'principal-on-linkedin': 'Principal on LinkedIn',\n 'principal-on-AppStore': 'Principal on AppStore',\n 'principal-on-GooglePlay': 'Principal on GooglePlay',\n 'back-to-content': 'Back to content',\n 'mobile-navigation-menu': 'Mobile navigation menu',\n 'hang-on-a-moment': 'Hang on a moment...',\n 'few-more-seconds': 'Just a few more seconds!',\n 'session-expired': 'Your session has expired.',\n 'logged-out': \"You've logged out.\",\n 'we-logged-you-out': \"To keep your account secure, we've logged you out.\",\n 'not-what-you-wanted': 'Not what you wanted to do?',\n 'log-back-in': 'Log back in',\n 'go-to-first-page': 'go to first page',\n 'go-to-previous-page': 'go to previous page',\n 'go-to-next-page': 'go to next page',\n 'go-to-last-page': 'go to last page',\n pagination: 'pagination',\n 'primary-navigation': 'primary navigation',\n 'go-to-page': 'go to page',\n 'log-out': 'Log out',\n 'log-in': 'Log in',\n 'skip-to-content': 'Skip to content',\n search: 'search',\n notifications: 'notifications',\n messages: 'Messages',\n 'other-alerts': 'Other alerts',\n 'error-displaying-table-data': 'Error displaying table data',\n 'no-available-table-data': 'No available table data',\n menu: 'Menu',\n 'secondary-navigation': 'secondary navigation',\n 'logout-alert': 'Logout alert!',\n minutes: 'minutes',\n 'stay-logged-in': 'Stay logged in',\n seconds: 'seconds',\n 'one-moment': 'One moment',\n 'close-the-timer': 'close the timer',\n 'to-save-your-work': 'to save your work before you get logged out.',\n 'sorry-something-wrong-session':\n 'Sorry! Something went wrong on our end when trying to extend your session. Give it another try, or ',\n 'still-there': \"Still there? You're about to be logged out.\",\n 'auto-log-you-out-warning':\n \"To keep your account secure, we'll automatically log you out in \",\n dismiss: 'Dismiss',\n minute: 'minute',\n 'time-remaining': '{{time}} remaining',\n progress: 'progress',\n completed: 'completed',\n incomplete: 'incomplete',\n 'filter-table': 'Filter table',\n show: 'Show',\n 'no-entries': 'No entries',\n 'number-rows-displayed': 'Number of rows to display in table',\n of: 'of',\n entries: 'entries',\n entry: 'entry',\n 'contact-us': 'Contact us',\n 'help-topics': 'Help topics',\n 'call-us-at': 'Call us at',\n 'principal-legal-links': 'Principal legal links',\n 'social-media': 'Social media',\n 'utility-menu': 'utility menu',\n 'user-menu': 'user menu',\n 'dropdown-button': 'dropdown-button',\n 'additional-information': 'Additional information',\n 'required-group': 'At least one option within the group must be checked.',\n 'numeric-characters-allowed': 'Only numeric characters are allowed',\n 'success-alert': 'Success alert',\n 'information-alert': 'Information alert',\n 'warning-alert': 'Warning alert',\n 'error-alert': 'Error alert',\n 'banner-alert': 'Banner alert',\n 'alert-not-dismissible': 'This alert is not dismissible',\n 'not-found': 'Not found',\n forbidden: 'Forbidden',\n 'internal-server-error': 'Internal server error',\n 'service-unavailable': 'Service unavailable',\n 'this-link-opens-in-a-new-tab': 'This link opens in a new tab',\n 'pfg-logo': 'Principal Financial Group logo',\n 'info-toast': 'Information toast',\n 'loading-toast': 'Loading toast',\n 'success-toast': 'Success toast',\n 'error-toast': 'Error toast',\n legend: 'Legend',\n 'error-loading-chart': 'Error loading chart',\n retry: 'Retry',\n label: 'Label',\n value: 'Value',\n description: 'Description',\n 'search-combo-box': 'Search combo box',\n 'your-account-has-notifications': 'Your account has notifications',\n chart: 'Chart',\n table: 'Table',\n 'this-triggers-a-tooltip': 'This triggers a tooltip',\n 'no-chart-data': 'No chart data available',\n expanded: 'expanded',\n 'donut-chart-accompanying-table':\n 'Donut chart has an accompanying table with the following information',\n },\n },\n es: {\n translation: {\n 'characters-remaining': 'restantes {{charactersRemaining}} caracteres',\n ascending: 'ascendentes',\n descending: 'descendentes',\n 'data-table-sorted':\n '{{caption}} tabla, la columna {{headerName}} está ordenada por valores {{sortDirection}}',\n 'column-headers-buttons-sortable':\n 'los encabezados de columna con botones se pueden ordenar',\n 'table-sort-removed': 'La clasificación de la tabla se ha eliminado',\n 'sort-by-ascending-values': 'Ordenar por valores ascendentes',\n 'sort-by-descending-values': 'Ordenar por valores descendientes',\n 'reset-sort': 'Restablecer el orden',\n 'table-now-displaying-page':\n 'La tabla muestra la página {{pageNumber}} de {{totalPages}}',\n 'table-now-displaying-rows':\n 'La tabla muestra {{pageSize}} filas por página, es decir {{totalPages}} páginas en total con {{totalRows}} filas de datos',\n 'no-matching-results-found':\n 'No se encontraron resultados concordantes, intenta otra palabra de filtro',\n 'table-filtered':\n 'La tabla ha aplicado los filtros, hay {{numberOfRows}} filas de datos disponibles',\n 'table-filter-removed':\n 'El filtro se ha eliminado, hay {{numberOfRows}} filas de datos disponibles',\n 'video-duration-is': 'La duración del vÃdeo es de',\n 'minutes-and': 'minutos y',\n 'seconds-long': 'segundos',\n 'view-video-transcript': 'Ver la transcripción del video',\n close: 'cerrar',\n disabled: 'deshabilitado',\n breadcrumbs: 'ayuda a la navegación',\n calendar: 'calendario',\n 'escape-exit-calendar':\n 'Para salir del calendario pulsa la tecla escape.',\n 'previous-year': 'Año anterior',\n 'next-year': 'Año siguiente',\n 'previous-month': 'Mes anterior',\n 'next-month': 'Mes siguiente',\n 'show-today': 'Mostrar la fecha de hoy',\n 'clear-value': 'Borrar la fecha',\n 'choose-date': 'Elegir fecha',\n 'please-follow-format': 'Utiliza el formato {{format}}, por favor.',\n 'please-enter-valid-date': 'Por favor, ingresa una fecha válida.',\n 'press-down-for-calendar':\n 'Para acceder al calendario pulsa la flecha hacia abajo.',\n error: 'ERROR',\n 'please-refresh-browser':\n 'Actualice su navegador o inténtelo de nuevo en unos minutos.',\n 'sorry-no-permission':\n '¡Arrepentido! Parece que no tienes permiso para acceder a esta página.',\n 'sorry-broken-link':\n 'Lo sentimos. Parece que el enlace que siguió puede estar roto o la página puede haber sido movida.',\n 'sorry-site-unavailable':\n 'Arrepentido! Esta parte de nuestro sitio no está disponible actualmente, estamos trabajando para resolver el problema lo más rápido posible.',\n 'well-thats-puzzling':\n 'Bueno, eso es desconcertante.',\n 'well-shoot':\n 'Bueno, dispara. Nuestro sistema no te reconoce.',\n 'uh-oh-small-glitch':\n 'Uh-oh. Estamos experimentando una pequeña falla.',\n 'bump-in-the-road':\n 'Parece que hay un ³¦³ó¾±³¦³óó²Ô en la carretera.',\n 'attach-files': 'Adjuntar archivos',\n 'attach-file': 'Adjuntar archivo',\n 'drop-file-click':\n 'Arrastra un archivo para adjuntar o haz clic para buscarlo en tu equipo.',\n 'drop-files-click':\n 'Arrastra los archivos para adjuntar o haz clic para buscarlos en tu equipo.',\n 'drop-file-tap':\n 'Arrastra un archivo para adjuntar o haz clic para buscarlo en tu equipo.',\n 'drop-files-tap':\n 'Arrastra los archivos para adjuntar o pulsa para buscarlos en tu equipo.',\n cancel: 'Cancelar',\n 'replace-file-confirmation':\n '¿Está seguro de que desea reemplazar el siguiente archivo?',\n with: 'Con',\n replace: 'Reemplazar',\n 'no-files-attached': 'No se adjuntó ningún archivo.',\n 'please-ensure-file-formats':\n 'Por favor, asegúrate de que tus archivos estén en alguno de los siguientes formatos',\n 'please-ensure-file-size': 'Asegúrese de que sus archivos estén debajo',\n 'file-could-not-be-uploaded': 'El siguiente archivo no se pudo cargar',\n 'try-again': 'Intenta de nuevo',\n 'remove-attachment': 'Eliminar adjunto',\n 'removed-file-live-region' :'Tu {{fileToRemove}} archivo fue eliminado.',\n 'show-more': 'Mostrar más',\n 'show-less': 'Ver menos',\n loading: 'cargando...',\n 'expand-collapse-row': 'Expandir/contraer fila',\n 'trouble-logging-in': '¿Tienes problemas para iniciar sesión?',\n 'get-help': 'Consigue ayuda',\n 'link-to-principal-homepage':\n 'Logo de Principal Financial Group, Bienvenida a la página principal',\n contact: 'ComunÃcate con nosotros',\n footer: 'Pie de página',\n 'terms-of-use': 'Términos de uso',\n disclosures: 'Declaraciones',\n privacy: 'Privacidad',\n security: 'Seguridad',\n 'report-fraud': 'Reporte de fraudes',\n accessibility: 'Accesibilidad',\n 'securities-offered':\n 'Los valores son ofrecidos a través de Principal Securities, Inc.,',\n 'member-sipc': 'miembro de la SIPC',\n 'principal-on-X': 'Principal en X',\n 'principal-on-youtube': 'Principal en YouTube',\n 'principal-on-facebook': 'Principal en Facebook',\n 'principal-on-linkedin': 'Principal en LinkedIn',\n 'principal-on-AppStore': 'Principal en AppStore',\n 'principal-on-GooglePlay': 'Principal en GooglePlay',\n 'back-to-content': 'Volver al contenido',\n 'mobile-navigation-menu': 'Menú de navegación móvil',\n 'hang-on-a-moment': 'Espera un momento...',\n 'few-more-seconds': '¡Solo unos segundos más!',\n 'session-expired': 'Tu sesión venció.',\n 'logged-out': 'Cerraste sesión.',\n 'we-logged-you-out':\n 'Para mantener tu cuenta segura, hemos cerrado tu sesión.',\n 'not-what-you-wanted': '¿No era lo que querÃas hacer?',\n 'log-back-in': 'Iniciar sesión de nuevo',\n 'go-to-first-page': 'ir a la primera página',\n 'go-to-previous-page': 'ir a la página anterior',\n 'go-to-next-page': 'ir a la página siguiente',\n 'go-to-last-page': 'ir a la última página',\n pagination: 'paginación',\n 'primary-navigation': 'navegación primaria',\n 'go-to-page': 'ir a la página',\n 'log-out': 'Cerrar sesión',\n 'log-in': 'Ingresar',\n 'skip-to-content': 'Saltar al contenido',\n search: 'buscar',\n notifications: 'notificaciones',\n messages: 'Mensajes',\n 'other-alerts': 'Otras alertas',\n 'error-displaying-table-data': 'Error al mostrar los datos de la tabla',\n 'no-available-table-data': 'No hay datos de tabla disponibles',\n menu: 'Menú',\n 'secondary-navigation': 'secundario navigation',\n 'logout-alert': '¡Aviso de cierre de sesión!',\n minutes: 'minutos',\n 'stay-logged-in': 'Mantener la sesión',\n seconds: 'segundos',\n 'one-moment': 'Un momento',\n 'close-the-timer': 'cerrar el temporizador',\n 'to-save-your-work': ' y guarda tu trabajo.',\n 'sorry-something-wrong-session':\n '¡Disculpa! Algo salió mal al tratar de alargar tu sesión. Antes de que se te cierre la sesión, inténtalo nuevamente o ',\n 'still-there': '¿Aún estás aquÃ? Pronto se te cerrará la sesión.',\n 'auto-log-you-out-warning':\n 'Por la seguridad de tu cuenta, cerraremos tu sesión en ',\n dismiss: 'Ignorar',\n minute: 'minuto',\n 'time-remaining': 'El tiempo que te queda es {{time}}',\n progress: 'progreso',\n completed: 'paso completo',\n incomplete: 'paso incompleto',\n 'filter-table': 'Filtrar tabla',\n show: 'Mostrar',\n 'no-entries': 'No hay registros',\n 'number-rows-displayed': 'Número de filas que aparecerán en la tabla',\n of: 'de',\n entries: 'registros',\n entry: 'registro',\n 'contact-us': 'ComunÃcate con nosotros',\n 'help-topics': 'Temas de ayuda',\n 'call-us-at': 'Llamenos al',\n 'principal-legal-links': 'Principales enlaces legales',\n 'social-media': 'Medios de comunicación social',\n 'utility-menu': 'menú de utilidades',\n 'user-menu': 'Menú del Usuario',\n 'dropdown-button': 'botón desplegable',\n 'additional-information': 'Información adicional',\n 'required-group': 'Se debe marcar al menos una opción dentro del grupo.',\n 'numeric-characters-allowed': 'Solo se permiten caracteres numéricos',\n 'success-alert': 'Alerta de éxito',\n 'information-alert': 'Alerta de información',\n 'warning-alert': 'Alerta de advertencia',\n 'error-alert': 'Alerta de error',\n 'banner-alert': 'Alerta de banner',\n 'alert-not-dismissible': 'Esta alerta no se puede descartar',\n 'not-found': 'No se encontró',\n forbidden: 'No está permitido',\n 'internal-server-error': 'Error del servidor interno',\n 'service-unavailable': 'Servicio no disponible',\n 'this-link-opens-in-a-new-tab':\n 'Este enlace se abre en una nueva pestaña',\n 'pfg-logo': 'Logo de Principal Financial Group',\n 'info-toast': 'Notificación temporal (toast) informativa',\n 'loading-toast':\n 'Notificación temporal (toast) sobre una carga (loading)',\n 'success-toast': 'Notificación temporal (toast) sobre un paso exitoso',\n 'error-toast': 'Notificación temporal (toast) sobre un error',\n legend: 'Referencia',\n 'error-loading-chart': 'Error al cargar gráfico',\n retry: 'Intentar otra vez',\n label: 'Identificar',\n value: 'Valor',\n description: 'Descripción',\n 'search-combo-box': 'Buscar en cuadro combinado',\n 'your-account-has-notifications': 'Tienes notificaciones en tu cuenta',\n chart: 'Gráfica',\n table: 'Tabla',\n 'this-triggers-a-tooltip': 'Esto activa información en pantalla',\n 'no-chart-data': 'No hay datos de gráfica disponibles',\n expanded: 'Vista expandida',\n 'donut-chart-accompanying-table':\n 'La gráfica circular está acompañada por una tabla con la siguiente información',\n },\n },\n};\n","import { LitElement, isServer } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { state } from 'lit/decorators.js';\nimport { themedefault } from '@principal/design-system-tokens';\nimport i18next from 'i18next';\nimport LanguageDetector from 'i18next-browser-languagedetector';\nimport translations from '../../../../../localization/translations';\n\nexport type ComponentCategory = 'component' | 'layout';\nexport type ComponentType = 'component' | 'recipe';\nexport type ComponentState = 'stable' | 'deprecated' | 'beta';\ntype ClassNames = Record;\ntype TranslationKeys = keyof typeof translations.en.translation;\n\n/**\n * A base element for all Principal Design System components\n */\nexport abstract class PdsElement extends LitElement {\n /**\n * The component category.\n * @internal\n */\n componentCategory: ComponentCategory;\n\n /**\n * The component's type.\n * @internal\n */\n componentType: ComponentType;\n\n /**\n * Optional parameter to define 'stable', 'beta' or 'deprecated' components, defaults to 'beta' if undefined.\n * @internal\n */\n componentState: ComponentState;\n\n /**\n * The name of the component used as the BEM block name.\n * @internal\n */\n componentName: string;\n\n /**\n * Variable to track lifecycle for the component's render specifically for required slot validation decorator.\n * @internal\n */\n initialRenderForRequiredSlotValidation: boolean = true;\n\n /**\n * Object for storing required slot element references for required slot validation decorator.\n * @internal\n */\n requiredSlotElements: Record = {};\n\n /**\n * The class map used to derive the class attribute for the component.\n * This will be used by the getClass method.\n * @internal\n */\n get classNames(): ClassNames {\n return {};\n }\n\n /**\n * The class name prefixed with the appropriate global namespace and class prefix.\n * @internal\n */\n get classNamespaceAndPrefix() {\n const prefixMap = {\n component: 'c',\n layout: 'l',\n };\n\n if (this.isComponent(this.componentType)) {\n return `pds-${prefixMap[this.componentCategory]}-${this.componentName}`;\n }\n return `${prefixMap[this.componentCategory]}-${this.componentName}`;\n }\n\n isComponent(type: string) {\n return type === 'component';\n }\n\n /**\n * Prepends the appropriate namespace to the class: 'pds-' Components or '' Recipes\n * @param key\n */\n getClassNamespace(key: string) {\n return this.isComponent(this.componentType) ? `pds-${key}` : ``;\n }\n\n /**\n * Prepends the appropriate prefix to the class name as a BEM modifier\n * @param className\n */\n classMod(className: string) {\n return `${this.classNamespaceAndPrefix}--${className}`;\n }\n\n /**\n * Prepends the appropriate prefix to the class as a BEM element\n * @param className\n */\n classEl(className: string) {\n return `${this.classNamespaceAndPrefix}__${className}`;\n }\n\n /**\n * Wraps the classNames object in Lit's classMap directive,\n * adding the appropriate prefix to each class name\n * @returns the string to pass to the component's class attribute\n * @example\n * class Button extends PdsElement {\n * componentName = 'button';\n *\n * componentCategory:ComponentCategory = 'component';\n *\n * componentType: ComponentType = 'component';\n *\n * \\@property()\n * variant: 'primary' | 'secondary';\n *\n * get classNames() {\n * return {\n * [this.variant]: !!this.variant, // pds-c-button--primary\n * centered: this.aligned === \"centered\", // pds-c-button--centered\n * inverse: this.inverted, // pds-c-button--inverse\n * \"is-active\": this.active, // pds-is-active\n * };\n * }\n * }\n *\n * // Given the above component class, if you render the following\n * Hello world\n *\n * // then if you call this method, it will return the following (recipe components omit 'pds-')\n * this.getClass() // 'pds-c-button pds-c-button--primary'\n */\n getClass(): any {\n return classMap(\n Object.keys(this.classNames).reduce(\n (classMapResult, key) => {\n // if the class name starts with \"is-\", only prepend with global namespace\n // otherwise, prepend the full modifier\n const prefixedClassName = /^is-/.test(key)\n ? this.getClassNamespace(key)\n : this.classMod(key);\n\n return {\n ...classMapResult,\n [prefixedClassName]: this.classNames[key],\n };\n },\n {\n [this.classNamespaceAndPrefix]: true,\n } as ClassNames,\n ),\n );\n }\n\n /**\n * @internal\n * This prop needs to be set via a call to setHydrationComplete via a `slotChange` event\n * Lit's isServer will return true AND false during the hydration process\n * which causes template mismatches\n */\n @state()\n isHydrationComplete: boolean = false;\n\n /**\n * Sets the isHydrationComplete check to true\n * This needs to get set in the element's\n * firstUpdated lifecycle hook (this is done by default)\n */\n setHydrationComplete() {\n this.isHydrationComplete = true;\n }\n\n /**\n * Check if a slot is empty\n * This can only be used once hydration is complete, and thus\n * setHydrationComplete will need to run first for this to work\n *\n * @param slotName\n */\n slotEmpty(slotName?: string) {\n if (this.isHydrationComplete) {\n return !this.querySelector(`[slot${slotName ? `=\"${slotName}\"` : ''}]`);\n }\n\n return true;\n }\n\n /**\n * Check if a slot is not empty\n * This can only be used once hydration is complete, and thus\n * setHydrationComplete will need to run first for this to work\n *\n * @param slotName\n */\n slotNotEmpty(slotName?: string) {\n if (!this.slotEmpty(slotName) !== false) {\n return !this.slotEmpty(slotName);\n }\n\n return '';\n }\n\n protected firstUpdated() {\n this.setHydrationComplete();\n\n if (i18next.isInitialized) {\n i18next.changeLanguage();\n }\n }\n\n /**\n * Dynamically generate random unique IDs\n * Returns '' if window.crypto.randomUUID() is not available\n */\n getRandomId(): string {\n if (!isServer && window.crypto && window.crypto.randomUUID) {\n return window.crypto.randomUUID();\n }\n\n return '';\n }\n\n /**\n * This initializes language localization capabilities on a component\n * Call this function from the connectedCallback() function, like this:\n *\n * connectedCallback() {\n * super.connectedCallback();\n * this.initLocalization();\n * }\n */\n initLocalization() {\n if (!i18next.isInitialized) {\n i18next.use(LanguageDetector).init({\n fallbackLng: 'en',\n resources: translations,\n detection: {\n lookupLocalStorage: 'pds-language',\n lookupQuerystring: 'lang',\n order: [\n 'htmlTag',\n 'localStorage',\n 'querystring',\n 'cookie',\n 'sessionStorage',\n 'navigator',\n ],\n },\n });\n\n i18next.languages = ['en', 'es'];\n }\n }\n\n /**\n * This function is a wrapper for i18next.t().\n *\n * It will default to the English translation if i18next\n * is not yet available.\n */\n translateText(key: TranslationKeys, i18nOptions?: any): string {\n if (!this.isHydrationComplete || !i18next.isInitialized) {\n return translations.en.translation[key];\n }\n\n return i18next.t(key, i18nOptions) as string;\n }\n\n /**\n * Clone a lit element\n */\n cloneLitElement(element: Node): HTMLElement {\n // Clone the element to start\n const clone = element.cloneNode(true) as HTMLElement;\n // The React fiber node has the props that the user passed, so we need to grab those to set on the clone\n try {\n const reactFiberNodePropName = Object.getOwnPropertyNames(element).filter(\n (name) => name.startsWith('__reactFiber'),\n )[0];\n const elementDescriptors = Object.getOwnPropertyDescriptors(element);\n const fiberObject = elementDescriptors[reactFiberNodePropName];\n if (fiberObject?.value?.return?.pendingProps) {\n const propsToSetAsAttrs = fiberObject.value.return.pendingProps;\n // We need to filter out some props that we won't set as attributes\n const filteredProps = Object.keys(propsToSetAsAttrs)\n .filter(\n (key) =>\n key !== 'children' &&\n key !== 'suppressHydrationWarning' &&\n !key.startsWith('_'),\n )\n .reduce((obj, key) => {\n return {\n ...obj,\n [key]: propsToSetAsAttrs[key],\n };\n }, {});\n\n const filteredPropsKeys = Object.keys(filteredProps);\n filteredPropsKeys.forEach((propToSetAsAttr) => {\n // @ts-expect-error fixmelater\n if (filteredProps[propToSetAsAttr] !== false) {\n // @ts-expect-error fixmelater\n clone.setAttribute(propToSetAsAttr, filteredProps[propToSetAsAttr]);\n }\n });\n }\n } catch {\n // Do nothing on error; the clone will be returned in its original state\n }\n\n return clone;\n }\n\n /**\n * @internal\n */\n @state()\n responsiveViewportSize: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\n /**\n * Note: this needs to be called on the client only\n * You can call it on the client by calling it from a slotchange event\n */\n setWindowResizeHandler() {\n if (!isServer && window) {\n const resizeHandler = () => {\n const viewportWidth = window.innerWidth;\n if (viewportWidth) {\n if (viewportWidth < themedefault.BreakpointsPixelSm) {\n this.responsiveViewportSize = 'xs';\n } else if (viewportWidth < themedefault.BreakpointsPixelMd) {\n this.responsiveViewportSize = 'sm';\n } else if (viewportWidth < themedefault.BreakpointsPixelLg) {\n this.responsiveViewportSize = 'md';\n } else if (viewportWidth < themedefault.BreakpointsPixelXl) {\n this.responsiveViewportSize = 'lg';\n } else {\n this.responsiveViewportSize = 'xl';\n }\n }\n };\n resizeHandler();\n window.visualViewport?.addEventListener('resize', resizeHandler);\n }\n }\n\n /**\n * @internal\n */\n @state()\n private dynamicSlotMarkup: HTMLElement[];\n\n /**\n * Used to duplicate slot markup if the markup differs between mobile and desktop views.\n */\n duplicateSlotMarkup(slot: HTMLSlotElement) {\n const slotMarkupNodes = slot.assignedNodes();\n // Clone the elements and assign to this.dynamicMarkup whilst removing the slot attribute\n this.dynamicSlotMarkup = slotMarkupNodes.map((node) => {\n let clone = node as HTMLElement;\n if (clone.tagName && clone.tagName.toLowerCase().startsWith('pds-')) {\n clone = this.cloneLitElement(clone);\n } else {\n clone = node.cloneNode(true) as HTMLElement;\n }\n\n if (clone instanceof HTMLElement) {\n clone.removeAttribute('slot');\n clone.removeAttribute('id');\n }\n\n return clone;\n });\n }\n\n /**\n * Returns the duplicated slot markup\n */\n getDynamicSlotMarkup(): Node[] | undefined {\n // Make a clone of the dynamic markup and return it\n if (this.dynamicSlotMarkup) {\n return this.dynamicSlotMarkup.map((node) => {\n const nodeAsElement = node as HTMLElement;\n if (\n nodeAsElement.tagName &&\n nodeAsElement.tagName.toLowerCase().startsWith('pds-')\n ) {\n return this.cloneLitElement(nodeAsElement);\n }\n\n return node.cloneNode(true);\n });\n }\n\n return undefined;\n }\n\n /**\n * Checks if a slotted element is valid for its slot\n * Can pass the slot event on slotchange or the slot\n * name to validate\n */\n handleSlotValidation(slotEventOrName?: Event | string) {\n let slot;\n\n if (typeof slotEventOrName === 'string') {\n slot =\n (this.querySelector(\n `slot[name=\"${slotEventOrName}\"]`,\n ) as HTMLSlotElement) ||\n (this.shadowRoot?.querySelector(\n `slot[name=\"${slotEventOrName}\"]`,\n ) as HTMLSlotElement);\n\n // The slot is empty, so we can bail early\n if (slot === null) {\n return;\n }\n } else if (!slotEventOrName) {\n // Default slot\n slot =\n (this.querySelector('slot') as HTMLSlotElement) ||\n (this.shadowRoot?.querySelector('slot') as HTMLSlotElement);\n // The slot is empty, so we can bail early\n if (slot === null) {\n return;\n }\n } else {\n slot = slotEventOrName.target as HTMLSlotElement;\n }\n\n // @ts-ignore Slot can't be null by the time we get here due to earlier checks\n const allowedElements = slot\n .getAttribute('allowed-elements')\n ?.split(',')\n .map((tag: any) => tag.trim().toUpperCase());\n\n if (typeof allowedElements === 'undefined') {\n return;\n }\n\n const assignedElements = slot.assignedElements();\n\n assignedElements.forEach((node: Element) => {\n if (!this.validateSlottedElements(node, allowedElements)) {\n console.error('Invalid slotted element:', node);\n // Remove the invalid element or handle it as needed\n node.remove();\n }\n });\n }\n\n /**\n * Checks if an element's tag name is valid, based on a list of valid tag namesubstrings\n */\n validateSlottedElements(element: Element, allowedElements: string[]) {\n return !!(\n element instanceof Element &&\n allowedElements.find((el) => element.tagName.toUpperCase().includes(el))\n );\n }\n}\n"],"names":["t","e","s","o","n$3","r","n","S","c","i","h","a","l","p","d","u","f","y","b","_a","v","_","m","g","$","x","T","E","A","C","P","V","N","H","I","L","k","_b","M","R","z","j","B","r$2","SemanticBorderInvertedDefault","SemanticBorderInvertedError","SemanticBorderInvertedInfo","SemanticBorderInvertedSuccess","SemanticBorderDisabled","SemanticBorderInfo","SemanticBorderSuccess","SemanticBorderWarning","SemanticBorderError","SemanticBorderInteractiveDefault","SemanticBorderInteractiveStrong","SemanticBorderInteractiveXstrong","SemanticBorderInteractiveInvertedStrong","SemanticBorderInteractiveInvertedXstrong","SemanticBorderIconDefault","BreakpointsPixelXs","BreakpointsPixelSm","BreakpointsPixelMd","BreakpointsPixelLg","BreakpointsPixelXl","isString","obj","defer","res","rej","promise","resolve","reject","makeString","object","copy","lastOfPathSeparatorRegExp","cleanKey","key","canNotTraverseDeeper","getLastOfPath","path","Empty","stack","stackIndex","setPath","newValue","last","pushPath","concat","getPath","getPathWithDefaults","data","defaultData","value","deepExtend","target","source","overwrite","prop","regexEscape","str","_entityMap","escape","RegExpCache","capacity","pattern","regExpFromCache","regExpNew","chars","looksLikeObjectPathRegExpCache","looksLikeObjectPath","nsSeparator","keySeparator","possibleChars","matched","ki","deepFind","tokens","current","next","nextPath","getCleanedCode","code","consoleLogger","args","type","Logger","concreteLogger","options","_len","_key","_len2","_key2","_len3","_key3","_len4","_key4","lvl","prefix","debugOnly","moduleName","baseLogger","EventEmitter","events","listener","event","numListeners","_ref","observer","numTimesAdded","_ref2","ResourceStore","ns","index","lng","ignoreJSONStructure","result","resources","deep","pack","postProcessor","module","processors","translator","processor","checkedLoadedFor","shouldHandleAsObject","Translator","services","resolved","namespaces","wouldCheckForNsInKey","seemsNaturalLanguage","parts","keys","lastKey","returnDetails","namespace","appendNamespaceToCIMode","resUsedKey","resExactUsedKey","noObject","joinArrays","handleAsObjectInI18nFormat","needsPluralHandling","hasDefaultValue","defaultValueSuffix","defaultValueSuffixOrdinalFallback","needsZeroSuffixLookup","defaultValue","resForObjHndl","handleAsObject","resType","resTypeIsArray","newKeyToUse","deepKey","usedDefault","usedKey","resForMissing","updateMissing","fk","lngs","fallbackLngs","send","specificDefaultValue","defaultForMissing","language","suffixes","suffix","_this","skipOnVariables","nestBef","nb","na","nestAft","postProcess","postProcessorNames","found","exactUsedKey","usedLng","usedNS","extracted","needsContextHandling","codes","finalKeys","pluralSuffix","zeroSuffix","ordinalPrefix","contextKey","possibleKey","optionsKeys","useOptionsReplaceForData","option","LanguageUtil","formattedCode","cleanedLng","lngOnly","supportedLng","fallbacks","fallbackCode","fallbackCodes","addCode","fc","suffixesOrder","dummyRule","count","PluralResolver","languageUtils","cleanedCode","cacheKey","rule","lngPart","pluralCategory1","pluralCategory2","pluralCategory","deepFindWithDefaults","regexSafe","val","Interpolator","escape$1","escapeValue","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapeSuffix","unescapePrefix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","getOrResetRegExp","existingRegExp","match","replaces","handleFormat","missingInterpolationHandler","todo","matchedVar","temp","safeValue","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","formatters","doReduce","elem","parseFormatStr","formatStr","formatName","formatOptions","optStr","opt","rest","trimmedKey","createCachedFormatter","fn","cache","optForCache","formatter","Formatter","name","format","formats","lastIndex","mem","formatted","valOptions","error","removePending","q","Connector","backend","store","languages","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","err","loaded","loadedKeys","fcName","tried","wait","resolver","fallbackValue","isUpdate","_c","_d","_e","clb","opts","get","ret","transformOptions","noop","bindMemberFunctions","inst","I18n","defOpts","createClassOnDemand","ClassOrObject","lu","deferred","load","finish","usedCallback","append","li","lngInLngs","_this2","setLngProps","done","setLng","keyPrefix","_this3","fixedT","resultKey","_len5","_key5","fallbackLng","lastLng","loadNotPending","loadState","preResult","preloaded","newLngs","rtlLngs","forkResourceStore","mergedOptions","clone","clonedData","prev","acc","_len6","_key6","instance","slice","forEach","defaults","fieldContentRegExp","serializeCookie","maxAge","cookie","minutes","domain","cookieOptions","nameEQ","ca","cookie$1","lookupCookie","cookieMinutes","cookieDomain","querystring","lookupQuerystring","search","params","pos","hasLocalStorageSupport","localStorageAvailable","testKey","localStorage","lookupLocalStorage","hasSessionStorageSupport","sessionStorageAvailable","sessionStorage","lookupSessionStorage","navigator$1","userLanguage","htmlTag","internalHtmlTag","lookupFromPathIndex","subdomain","lookupFromSubdomainIndex","internalLookupFromSubdomainIndex","canCookies","order","getDefaults","Browser","i18nOptions","detector","detectionOrder","detected","detectorName","lookup","caches","cacheName","translations","PdsElement","LitElement","prefixMap","className","classMap","classMapResult","prefixedClassName","slotName","i18next","LanguageDetector","element","reactFiberNodePropName","fiberObject","propsToSetAsAttrs","filteredProps","propToSetAsAttr","resizeHandler","viewportWidth","themedefault.BreakpointsPixelSm","themedefault.BreakpointsPixelMd","themedefault.BreakpointsPixelLg","themedefault.BreakpointsPixelXl","slot","slotMarkupNodes","node","nodeAsElement","slotEventOrName","allowedElements","tag","el","__decorateClass","state"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,9,10]}