From 95555a30a5b59031f15d1434f74a3053b6b56a85 Mon Sep 17 00:00:00 2001 From: Kilian Hofmann Date: Thu, 25 Jul 2024 01:14:34 +0200 Subject: [PATCH] More translations --- exam/dist/assets/{index-CCiAEYtb.js => index-BU5osPLH.js} | 2 +- exam/dist/index.html | 2 +- exam/dist/locales/de/translation.json | 6 ++++++ exam/dist/locales/en/translation.json | 7 +++++++ exam/react/public/locales/de/translation.json | 6 ++++++ exam/react/public/locales/en/translation.json | 7 +++++++ exam/react/src/components/Forms/Login/Login.tsx | 4 ++-- 7 files changed, 30 insertions(+), 4 deletions(-) rename exam/dist/assets/{index-CCiAEYtb.js => index-BU5osPLH.js} (87%) diff --git a/exam/dist/assets/index-CCiAEYtb.js b/exam/dist/assets/index-BU5osPLH.js similarity index 87% rename from exam/dist/assets/index-CCiAEYtb.js rename to exam/dist/assets/index-BU5osPLH.js index 027ddf1..3f63f4e 100644 --- a/exam/dist/assets/index-CCiAEYtb.js +++ b/exam/dist/assets/index-BU5osPLH.js @@ -162,5 +162,5 @@ Error generating stack: `+i.message+` [zustand devtools middleware] Unsupported __setState action format. When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(), and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } } - `);const p=m.state[a];if(p==null)return;JSON.stringify(o.getState())!==JSON.stringify(p)&&h(p);return}o.dispatchFromDevtools&&typeof o.dispatch=="function"&&o.dispatch(m)});case"DISPATCH":switch(y.payload.type){case"RESET":return h(v),a===void 0?c==null?void 0:c.init(o.getState()):c==null?void 0:c.init(ca(l.name));case"COMMIT":if(a===void 0){c==null||c.init(o.getState());return}return c==null?void 0:c.init(ca(l.name));case"ROLLBACK":return wc(y.state,m=>{if(a===void 0){h(m),c==null||c.init(o.getState());return}h(m[a]),c==null||c.init(ca(l.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return wc(y.state,m=>{if(a===void 0){h(m);return}JSON.stringify(o.getState())!==JSON.stringify(m[a])&&h(m[a])});case"IMPORT_STATE":{const{nextLiftedState:m}=y.payload,p=(S=m.computedStates.slice(-1)[0])==null?void 0:S.state;if(!p)return;h(a===void 0?p:p[a]),c==null||c.send(null,m);return}case"PAUSE_RECORDING":return d=!d}return}}),v},qT=KT,wc=(e,t)=>{let n;try{n=JSON.parse(e)}catch(r){console.error("[zustand devtools middleware] Could not parse the received json",r)}n!==void 0&&t(n)},Dd=HT()(qT(e=>({user:void 0,setUser:t=>e(()=>({user:t}))})));function Tu(e,t){return typeof e=="function"?e(t):e}function z1(e,t){return Ep(t).reduce((r,o)=>{if(r===null)return null;if(typeof r<"u")return r[o]},e)}function Cc(e,t,n){const r=Ep(t);function o(i){if(!r.length)return Tu(n,i);const s=r.shift();if(typeof s=="string")return typeof i=="object"?(i===null&&(i={}),{...i,[s]:o(i[s])}):{[s]:o()};if(Array.isArray(i)&&s!==void 0){const a=i.slice(0,s);return[...a.length?a:new Array(s),o(i[s]),...i.slice(s+1)]}return[...new Array(s),o()]}return o(e)}function QT(e,t){const n=Ep(t);function r(o){if(!o)return;if(n.length===1){const s=n[0];if(Array.isArray(o)&&typeof s=="number")return o.filter((u,c)=>c!==s);const{[s]:a,...l}=o;return l}const i=n.shift();if(typeof i=="string"&&typeof o=="object")return{...o,[i]:r(o[i])};if(typeof i=="number"&&Array.isArray(o)){if(i>=o.length)return o;const s=o.slice(0,i);return[...s.length?s:new Array(i),r(o[i]),...o.slice(i+1)]}throw new Error("It seems we have created an infinite loop in deleteBy. ")}return r(e)}const GT=/^(\d*)$/gm,XT=/\.(\d*)\./gm,YT=/^(\d*)\./gm,JT=/\.(\d*$)/gm,ZT=/\.{2,}/gm,zd="__int__",da=`${zd}$1`;function Ep(e){if(typeof e!="string")throw new Error("Path must be a string.");return e.replaceAll("[",".").replaceAll("]","").replace(GT,da).replace(XT,`.${da}.`).replace(YT,`${da}.`).replace(JT,`.${da}`).replace(ZT,".").split(".").map(t=>t.indexOf(zd)===0?parseInt(t.substring(zd.length),10):t)}function eM(e){return!(Array.isArray(e)&&e.length===0)}function Bd(e,t){const{asyncDebounceMs:n}=t,{onChangeAsync:r,onBlurAsync:o,onSubmitAsync:i,onBlurAsyncDebounceMs:s,onChangeAsyncDebounceMs:a}=t.validators||{},l=n??0,u={cause:"change",validate:r,debounceMs:a??l},c={cause:"blur",validate:o,debounceMs:s??l},f={cause:"submit",validate:i,debounceMs:0},d=h=>({...h,debounceMs:0});switch(e){case"submit":return[d(u),d(c),f];case"blur":return[c];case"change":return[u];case"server":default:return[]}}function Ud(e,t){const{onChange:n,onBlur:r,onSubmit:o}=t.validators||{},i={cause:"change",validate:n},s={cause:"blur",validate:r},a={cause:"submit",validate:o},l={cause:"server",validate:()=>{}};switch(e){case"submit":return[i,s,a,l];case"server":return[l];case"blur":return[s,l];case"change":default:return[i,l]}}function Ec(e){return{values:e.values??{},errors:e.errors??[],errorMap:e.errorMap??{},fieldMeta:e.fieldMeta??{},canSubmit:e.canSubmit??!0,isFieldsValid:e.isFieldsValid??!1,isFieldsValidating:e.isFieldsValidating??!1,isFormValid:e.isFormValid??!1,isFormValidating:e.isFormValidating??!1,isSubmitted:e.isSubmitted??!1,isSubmitting:e.isSubmitting??!1,isTouched:e.isTouched??!1,isPristine:e.isPristine??!0,isDirty:e.isDirty??!1,isValid:e.isValid??!1,isValidating:e.isValidating??!1,submissionAttempts:e.submissionAttempts??0,validationMetaMap:e.validationMetaMap??{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0}}}class tM{constructor(t){var n;this.options={},this.fieldInfo={},this.prevTransformArray=[],this.mount=()=>{const{onMount:r}=this.options.validators||{};if(!r)return;const o=this.runValidator({validate:r,value:{value:this.state.values,formApi:this},type:"validate"});o&&this.store.setState(i=>({...i,errorMap:{...i.errorMap,onMount:o}}))},this.update=r=>{if(!r)return;const o=this.options;this.options=r,this.store.batch(()=>{const i=r.defaultValues&&r.defaultValues!==o.defaultValues&&!this.state.isTouched,s=r.defaultState!==o.defaultState&&!this.state.isTouched;this.store.setState(()=>Ec(Object.assign({},this.state,s?r.defaultState:{},i?{values:r.defaultValues}:{})))})},this.reset=()=>{const{fieldMeta:r}=this.state,o=this.resetFieldMeta(r);this.store.setState(()=>{var i;return Ec({...this.options.defaultState,values:this.options.defaultValues??((i=this.options.defaultState)==null?void 0:i.values),fieldMeta:o})})},this.validateAllFields=async r=>{const o=[];return this.store.batch(()=>{Object.values(this.fieldInfo).forEach(s=>{if(!s.instance)return;const a=s.instance;o.push(Promise.resolve().then(()=>a.validate(r))),s.instance.state.meta.isTouched||s.instance.setMeta(l=>({...l,isTouched:!0}))})}),(await Promise.all(o)).flat()},this.validateArrayFieldsStartingFrom=async(r,o,i)=>{const s=this.getFieldValue(r),a=Array.isArray(s)?Math.max(s.length-1,0):null,l=[`${r}[${o}]`];for(let d=o+1;d<=(a??0);d++)l.push(`${r}[${d}]`);const u=Object.keys(this.fieldInfo).filter(d=>l.some(h=>d.startsWith(h))),c=[];return this.store.batch(()=>{u.forEach(d=>{c.push(Promise.resolve().then(()=>this.validateField(d,i)))})}),(await Promise.all(c)).flat()},this.validateField=(r,o)=>{var i;const s=(i=this.fieldInfo[r])==null?void 0:i.instance;return s?(s.state.meta.isTouched||s.setMeta(a=>({...a,isTouched:!0})),s.validate(o)):[]},this.validateSync=r=>{const o=Ud(r,this.options);let i=!1;this.store.batch(()=>{for(const a of o){if(!a.validate)continue;const l=sg(this.runValidator({validate:a.validate,value:{value:this.state.values,formApi:this},type:"validate"})),u=fa(a.cause);this.state.errorMap[u]!==l&&this.store.setState(c=>({...c,errorMap:{...c.errorMap,[u]:l}})),l&&(i=!0)}});const s=fa("submit");return this.state.errorMap[s]&&r!=="submit"&&!i&&this.store.setState(a=>({...a,errorMap:{...a.errorMap,[s]:void 0}})),{hasErrored:i}},this.validateAsync=async r=>{const o=Bd(r,this.options);this.state.isFormValidating||this.store.setState(a=>({...a,isFormValidating:!0}));const i=[];for(const a of o){if(!a.validate)continue;const l=fa(a.cause),u=this.state.validationMetaMap[l];u==null||u.lastAbortController.abort();const c=new AbortController;this.state.validationMetaMap[l]={lastAbortController:c},i.push(new Promise(async f=>{let d;try{d=await new Promise((v,y)=>{setTimeout(async()=>{if(c.signal.aborted)return v(void 0);try{v(await this.runValidator({validate:a.validate,value:{value:this.state.values,formApi:this,signal:c.signal},type:"validateAsync"}))}catch(S){y(S)}},a.debounceMs)})}catch(v){d=v}const h=sg(d);this.store.setState(v=>({...v,errorMap:{...v.errorMap,[fa(r)]:h}})),f(h)}))}let s=[];return i.length&&(s=await Promise.all(i)),this.store.setState(a=>({...a,isFormValidating:!1})),s.filter(Boolean)},this.validate=r=>{const{hasErrored:o}=this.validateSync(r);return o&&!this.options.asyncAlways?this.state.errors:this.validateAsync(r)},this.handleSubmit=async()=>{var r,o,i,s,a,l;if(this.store.setState(c=>({...c,isSubmitted:!1,submissionAttempts:c.submissionAttempts+1})),!this.state.canSubmit)return;this.store.setState(c=>({...c,isSubmitting:!0}));const u=()=>{this.store.setState(c=>({...c,isSubmitting:!1}))};if(await this.validateAllFields("submit"),!this.state.isFieldsValid){u(),(o=(r=this.options).onSubmitInvalid)==null||o.call(r,{value:this.state.values,formApi:this});return}if(await this.validate("submit"),!this.state.isValid){u(),(s=(i=this.options).onSubmitInvalid)==null||s.call(i,{value:this.state.values,formApi:this});return}try{await((l=(a=this.options).onSubmit)==null?void 0:l.call(a,{value:this.state.values,formApi:this})),this.store.batch(()=>{this.store.setState(c=>({...c,isSubmitted:!0})),u()})}catch(c){throw u(),c}},this.getFieldValue=r=>z1(this.state.values,r),this.getFieldMeta=r=>this.state.fieldMeta[r],this.getFieldInfo=r=>{var o;return(o=this.fieldInfo)[r]||(o[r]={instance:null,validationMetaMap:{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0}})},this.setFieldMeta=(r,o)=>{this.store.setState(i=>({...i,fieldMeta:{...i.fieldMeta,[r]:Tu(o,i.fieldMeta[r])}}))},this.resetFieldMeta=r=>Object.keys(r).reduce((o,i)=>{const s=i;return o[s]={isValidating:!1,isTouched:!1,isDirty:!1,isPristine:!0,errors:[],errorMap:{}},o},{}),this.setFieldValue=(r,o,i)=>{const s=(i==null?void 0:i.dontUpdateMeta)??!1;this.store.batch(()=>{s||this.setFieldMeta(r,a=>({...a,isTouched:!0,isDirty:!0})),this.store.setState(a=>({...a,values:Cc(a.values,r,o)}))})},this.deleteField=r=>{this.store.setState(o=>{const i={...o};return i.values=QT(i.values,r),delete i.fieldMeta[r],i}),delete this.fieldInfo[r]},this.pushFieldValue=(r,o,i)=>{this.setFieldValue(r,s=>[...Array.isArray(s)?s:[],o],i),this.validateField(r,"change")},this.insertFieldValue=async(r,o,i,s)=>{this.setFieldValue(r,a=>[...a.slice(0,o),i,...a.slice(o)],s),await this.validateField(r,"change")},this.replaceFieldValue=async(r,o,i,s)=>{this.setFieldValue(r,a=>a.map((l,u)=>u===o?i:l),s),await this.validateField(r,"change"),await this.validateArrayFieldsStartingFrom(r,o,"change")},this.removeFieldValue=async(r,o,i)=>{const s=this.getFieldValue(r),a=Array.isArray(s)?Math.max(s.length-1,0):null;if(this.setFieldValue(r,l=>l.filter((u,c)=>c!==o),i),a!==null){const l=`${r}[${a}]`;Object.keys(this.fieldInfo).filter(c=>c.startsWith(l)).forEach(c=>this.deleteField(c))}await this.validateField(r,"change"),await this.validateArrayFieldsStartingFrom(r,o,"change")},this.swapFieldValues=(r,o,i,s)=>{this.setFieldValue(r,a=>{const l=a[o],u=a[i];return Cc(Cc(a,`${o}`,u),`${i}`,l)},s),this.validateField(r,"change"),this.validateField(`${r}[${o}]`,"change"),this.validateField(`${r}[${i}]`,"change")},this.moveFieldValues=(r,o,i,s)=>{this.setFieldValue(r,a=>(a.splice(i,0,a.splice(o,1)[0]),a),s),this.validateField(r,"change"),this.validateField(`${r}[${o}]`,"change"),this.validateField(`${r}[${i}]`,"change")},this.store=new Jd(Ec({...t==null?void 0:t.defaultState,values:(t==null?void 0:t.defaultValues)??((n=t==null?void 0:t.defaultState)==null?void 0:n.values),isFormValid:!0}),{onUpdate:()=>{var r,o;let{state:i}=this.store;const s=Object.values(i.fieldMeta),a=s.some(p=>p==null?void 0:p.isValidating),l=!s.some(p=>(p==null?void 0:p.errorMap)&&eM(Object.values(p.errorMap).filter(Boolean))),u=s.some(p=>p==null?void 0:p.isTouched),c=s.some(p=>p==null?void 0:p.isDirty),f=!c,d=a||i.isFormValidating;i.errors=Object.values(i.errorMap).filter(p=>p!==void 0);const h=i.errors.length===0,v=l&&h,y=i.submissionAttempts===0&&!u||!d&&!i.isSubmitting&&v;i={...i,isFieldsValidating:a,isFieldsValid:l,isFormValid:h,isValid:v,canSubmit:y,isTouched:u,isPristine:f,isDirty:c},this.state=i,this.store.state=this.state;const S=((r=this.options.transform)==null?void 0:r.deps)??[];(S.length!==this.prevTransformArray.length||S.some((p,g)=>p!==this.prevTransformArray[g]))&&((o=this.options.transform)==null||o.fn(this),this.store.state=this.state,this.prevTransformArray=S)}}),this.state=this.store.state,this.update(t||{})}runValidator(t){const n=this.options.validatorAdapter;return n&&typeof t.validate!="function"?n()[t.type](t.value,t.validate):t.validate(t.value)}}function sg(e){if(e)return typeof e!="string"?"Invalid Form Values":e}function fa(e){switch(e){case"submit":return"onSubmit";case"blur":return"onBlur";case"mount":return"onMount";case"server":return"onServer";case"change":default:return"onChange"}}class nM{constructor(t){this.options={},this.mount=()=>{const n=this.getInfo();n.instance=this;const r=this.form.store.subscribe(()=>{this.store.batch(()=>{const i=this.getValue(),s=this.getMeta();i!==this.state.value&&this.store.setState(a=>({...a,value:i})),s!==this.state.meta&&this.store.setState(a=>({...a,meta:s}))})});this.update(this.options);const{onMount:o}=this.options.validators||{};if(o){const i=this.runValidator({validate:o,value:{value:this.state.value,fieldApi:this},type:"validate"});i&&this.setMeta(s=>({...s,errorMap:{...s==null?void 0:s.errorMap,onMount:i}}))}return()=>{r()}},this.update=n=>{if(this.state.value===void 0){const r=z1(n.form.options.defaultValues,n.name);n.defaultValue!==void 0?this.setValue(n.defaultValue,{dontUpdateMeta:!0}):r!==void 0&&this.setValue(r,{dontUpdateMeta:!0})}this._getMeta()===void 0&&this.setMeta(this.state.meta),this.options=n},this.getValue=()=>this.form.getFieldValue(this.name),this.setValue=(n,r)=>{this.form.setFieldValue(this.name,n,r),this.validate("change")},this._getMeta=()=>this.form.getFieldMeta(this.name),this.getMeta=()=>this._getMeta()??{isValidating:!1,isTouched:!1,isDirty:!1,isPristine:!0,errors:[],errorMap:{},...this.options.defaultMeta},this.setMeta=n=>this.form.setFieldMeta(this.name,n),this.getInfo=()=>this.form.getFieldInfo(this.name),this.pushValue=(n,r)=>this.form.pushFieldValue(this.name,n,r),this.insertValue=(n,r,o)=>this.form.insertFieldValue(this.name,n,r,o),this.replaceValue=(n,r,o)=>this.form.replaceFieldValue(this.name,n,r,o),this.removeValue=(n,r)=>this.form.removeFieldValue(this.name,n,r),this.swapValues=(n,r,o)=>this.form.swapFieldValues(this.name,n,r,o),this.moveValue=(n,r,o)=>this.form.moveFieldValues(this.name,n,r,o),this.getLinkedFields=n=>{const r=Object.values(this.form.fieldInfo),o=[];for(const i of r){if(!i.instance)continue;const{onChangeListenTo:s,onBlurListenTo:a}=i.instance.options.validators||{};n==="change"&&(s!=null&&s.includes(this.name))&&o.push(i.instance),n==="blur"&&(a!=null&&a.includes(this.name))&&o.push(i.instance)}return o},this.validateSync=n=>{const r=Ud(n,this.options),i=this.getLinkedFields(n).reduce((l,u)=>{const c=Ud(n,u.options);return c.forEach(f=>{f.field=u}),l.concat(c)},[]);let s=!1;this.form.store.batch(()=>{const l=(u,c)=>{const f=ag(u.runValidator({validate:c.validate,value:{value:u.getValue(),fieldApi:u},type:"validate"})),d=ao(c.cause);u.state.meta.errorMap[d]!==f&&u.setMeta(h=>({...h,errorMap:{...h.errorMap,[ao(c.cause)]:f}})),f&&(s=!0)};for(const u of r)u.validate&&l(this,u);for(const u of i)u.validate&&l(u.field,u)});const a=ao("submit");return this.state.meta.errorMap[a]&&n!=="submit"&&!s&&this.setMeta(l=>({...l,errorMap:{...l.errorMap,[a]:void 0}})),{hasErrored:s}},this.validateAsync=async n=>{const r=Bd(n,this.options),o=this.getLinkedFields(n),i=o.reduce((c,f)=>{const d=Bd(n,f.options);return d.forEach(h=>{h.field=f}),c.concat(d)},[]);this.state.meta.isValidating||this.setMeta(c=>({...c,isValidating:!0}));for(const c of o)c.setMeta(f=>({...f,isValidating:!0}));const s=[],a=[],l=(c,f,d)=>{const h=ao(f.cause),v=c.getInfo().validationMetaMap[h];v==null||v.lastAbortController.abort();const y=new AbortController;this.getInfo().validationMetaMap[h]={lastAbortController:y},d.push(new Promise(async S=>{let m;try{m=await new Promise((g,x)=>{setTimeout(async()=>{if(y.signal.aborted)return g(void 0);try{g(await this.runValidator({validate:f.validate,value:{value:c.getValue(),fieldApi:c,signal:y.signal},type:"validateAsync"}))}catch(w){x(w)}},f.debounceMs)})}catch(g){m=g}if(y.signal.aborted)return S(void 0);const p=ag(m);c.setMeta(g=>({...g,errorMap:{...g==null?void 0:g.errorMap,[ao(n)]:p}})),S(p)}))};for(const c of r)c.validate&&l(this,c,s);for(const c of i)c.validate&&l(c.field,c,a);let u=[];(s.length||a.length)&&(u=await Promise.all(s),await Promise.all(a)),this.setMeta(c=>({...c,isValidating:!1}));for(const c of o)c.setMeta(f=>({...f,isValidating:!1}));return u.filter(Boolean)},this.validate=n=>{var r;if(!this.state.meta.isTouched)return[];try{this.form.validate(n)}catch{}const{hasErrored:o}=this.validateSync(n);return o&&!this.options.asyncAlways?((r=this.getInfo().validationMetaMap[ao(n)])==null||r.lastAbortController.abort(),this.state.meta.errors):this.validateAsync(n)},this.handleChange=n=>{this.setValue(n)},this.handleBlur=()=>{this.state.meta.isTouched||(this.setMeta(r=>({...r,isTouched:!0})),this.validate("change")),this.validate("blur")},this.form=t.form,this.name=t.name,t.defaultValue!==void 0&&this.form.setFieldValue(this.name,t.defaultValue,{dontUpdateMeta:!0}),this.store=new Jd({value:this.getValue(),meta:this._getMeta()??{isValidating:!1,isTouched:!1,isDirty:!1,isPristine:!0,errors:[],errorMap:{},...t.defaultMeta}},{onUpdate:()=>{const n=this.store.state;n.meta.errors=Object.values(n.meta.errorMap).filter(r=>r!==void 0),n.meta.isPristine=!n.meta.isDirty,this.prevState=n,this.state=n}}),this.state=this.store.state,this.prevState=this.state,this.options=t}runValidator(t){const n=[this.form.options.validatorAdapter,this.options.validatorAdapter];for(const r of n)if(r&&typeof t.validate!="function")return r()[t.type](t.value,t.validate);return t.validate(t.value)}}function ag(e){if(e)return typeof e!="string"?"Invalid Form Values":e}function ao(e){switch(e){case"submit":return"onSubmit";case"blur":return"onBlur";case"mount":return"onMount";case"server":return"onServer";case"change":default:return"onChange"}}const ml=typeof window<"u"?b.useLayoutEffect:b.useEffect;function B1(e){const[t]=b.useState(()=>{const r=new nM({...e,form:e.form,name:e.name});return r.Field=U1,r});return ml(t.mount,[t]),ml(()=>{t.update(e)}),La(t.store,e.mode==="array"?n=>[n.meta,Object.keys(n.value??[]).length]:void 0),t}const U1=({children:e,...t})=>{const n=B1(t);return _.jsx(_.Fragment,{children:Tu(e,n)})};function rM(e){const[t]=b.useState(()=>{const n=new tM(e),r=n;return r.Field=function(i){return _.jsx(U1,{...i,form:n})},r.useField=o=>B1({...o,form:n}),r.useStore=o=>La(n.store,o),r.Subscribe=o=>Tu(o.children,La(n.store,o.selector)),r});return ml(t.mount,[]),t.useStore(n=>n.isSubmitting),ml(()=>{t.update(e)}),t}const oM=(e,t)=>{if(!e)return["",{}];if(e.code)switch(e.code){case"NotFound":return[e.code,{context:`${e.entity}:${t}`}];case"Unauthorized":return[e.code,{context:t}];default:return["Unknown",{context:t}]}return[(e==null?void 0:e.message)??"Unknown",{context:t}]},iM=()=>{const[e,t]=b.useState(),n=Dd(i=>i.setUser),{t:r}=I1(),o=rM({defaultValues:{email:"",password:""},onSubmit:async({value:i})=>{try{n(await L1.logIn(i.email,i.password))}catch(s){t(s)}}});return _.jsx("form",{onSubmit:i=>{i.preventDefault(),i.stopPropagation(),o.handleSubmit()},noValidate:!0,children:_.jsxs(O2,{sx:{display:"grid",gap:1,padding:1,minWidth:"100px"},children:[_.jsx(o.Field,{name:"email",validators:{onChange:({value:i})=>i?void 0:"Email required",onChangeAsyncDebounceMs:500,onChangeAsync:async({value:i})=>(await new Promise(s=>setTimeout(s,1e3)),i.includes("error")&&'No "error" allowed in email')},children:i=>_.jsx(_.Fragment,{children:_.jsx(Jm,{variant:"outlined",name:i.name,value:i.state.value,onBlur:i.handleBlur,onChange:s=>i.handleChange(s.target.value),size:"small",label:r("E-Mail"),required:!0,error:i.state.meta.isTouched&&i.state.meta.errors.length>0,helperText:i.state.meta.isTouched?i.state.meta.errors.join(","):""})})}),_.jsx(o.Field,{name:"password",validators:{onChange:({value:i})=>i?void 0:"Password required",onChangeAsyncDebounceMs:500,onChangeAsync:async({value:i})=>(await new Promise(s=>setTimeout(s,1e3)),i.includes("error")&&'No "error" allowed in password')},children:i=>_.jsx(_.Fragment,{children:_.jsx(Jm,{variant:"outlined",name:i.name,value:i.state.value,onBlur:i.handleBlur,onChange:s=>i.handleChange(s.target.value),size:"small",label:r("Password"),required:!0,error:i.state.meta.isTouched&&i.state.meta.errors.length>0,helperText:i.state.meta.isTouched?i.state.meta.errors.join(","):""})})}),_.jsx(o.Subscribe,{selector:i=>[i.canSubmit,i.isSubmitting],children:([i])=>_.jsx(_.Fragment,{children:_.jsx(A2,{type:"submit",disabled:!i,variant:"contained",children:r("Log in")})})}),_.jsx(S1,{color:"error.main",children:r(...oM(e,"login"))})]})})},sM=({children:e})=>{const t=J_({disableHysteresis:!0,threshold:0});return b.cloneElement(e,{elevation:t?4:0})},aM=()=>{const[e,t]=b.useState(null),n=Dd(a=>a.user),r=Dd(a=>a.setUser),{t:o}=I1(),i=a=>{t(a.currentTarget)},s=()=>{t(null)};return _.jsx(sM,{children:_.jsx(WR,{children:_.jsxs(_1,{children:[_.jsx(S1,{variant:"h6",component:"div",sx:{flexGrow:1},children:o("GuestBook")}),n?_.jsx(Lm,{onClick:i,sx:{p:0},children:_.jsx(y2,{alt:n.username,src:`storage/${n.image}`})}):_.jsx(Lm,{size:"large",onClick:i,color:"inherit",children:_.jsx(Z_,{})}),_.jsx(P1,{id:"menu-appbar",anchorEl:e,anchorOrigin:{vertical:"bottom",horizontal:"right"},keepMounted:!0,transformOrigin:{vertical:"top",horizontal:"right"},open:!!e,onClose:s,children:n?[_.jsx(Qm,{onClick:s,children:o("Profile")},"profile"),_.jsx(Qm,{onClick:()=>{L1.logOut(),r(void 0)},children:o("Log out")},"logout")]:_.jsx(iM,{})})]})})})},V1=VS()({component:()=>_.jsxs(_.Fragment,{children:[_.jsx(aM,{}),_.jsx(_1,{}),_.jsx(g0,{}),!1]})}),lM=KS("/")({component:uM});function uM(){return _.jsx(_.Fragment,{})}const cM=lM.update({path:"/",getParentRoute:()=>V1}),dM=V1.addChildren({IndexRoute:cM}),fM={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class gl{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||fM,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]||(this.observers[r]=new Map);const o=this.observers[r].get(n)||0;this.observers[r].set(n,o+1)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t].delete(n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o{let[a,l]=s;for(let u=0;u{let[a,l]=s;for(let u=0;u{e=r,t=o});return n.resolve=e,n.reject=t,n}function lg(e){return e==null?"":""+e}function pM(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}const hM=/###/g;function Ji(e,t,n){function r(a){return a&&a.indexOf("###")>-1?a.replace(hM,"."):a}function o(){return!e||typeof e=="string"}const i=typeof t!="string"?t:t.split(".");let s=0;for(;s":">",'"':""","'":"'","/":"/"};function vM(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>yM[t]):e}class xM{constructor(t){this.capacity=t,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(t){const n=this.regExpMap.get(t);if(n!==void 0)return n;const r=new RegExp(t);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(t,r),this.regExpQueue.push(t),r}}const SM=[" ",",","?","!",";"],bM=new xM(20);function wM(e,t,n){t=t||"",n=n||"";const r=SM.filter(s=>t.indexOf(s)<0&&n.indexOf(s)<0);if(r.length===0)return!0;const o=bM.getRegExp(`(${r.map(s=>s==="?"?"\\?":s).join("|")})`);let i=!o.test(e);if(!i){const s=e.indexOf(n);s>0&&!o.test(e.substring(0,s))&&(i=!0)}return i}function Vd(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let o=e;for(let i=0;i-1&&l0?e.replace("_","-"):e}class cg extends Mu{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const i=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,s=o.ignoreJSONStructure!==void 0?o.ignoreJSONStructure:this.options.ignoreJSONStructure;let a;t.indexOf(".")>-1?a=t.split("."):(a=[t,n],r&&(Array.isArray(r)?a.push(...r):typeof r=="string"&&i?a.push(...r.split(i)):a.push(r)));const l=yl(this.data,a);return!l&&!n&&!r&&t.indexOf(".")>-1&&(t=a[0],n=a[1],r=a.slice(2).join(".")),l||!s||typeof r!="string"?l:Vd(this.data&&this.data[t]&&this.data[t][n],r,i)}addResource(t,n,r,o){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator;let a=[t,n];r&&(a=a.concat(s?r.split(s):r)),t.indexOf(".")>-1&&(a=t.split("."),o=n,n=a[1]),this.addNamespaces(n),ug(this.data,a,o),i.silent||this.emit("added",t,n,r,o)}addResources(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const i in r)(typeof r[i]=="string"||Array.isArray(r[i]))&&this.addResource(t,n,i,r[i],{silent:!0});o.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,o,i){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},a=[t,n];t.indexOf(".")>-1&&(a=t.split("."),o=r,r=n,n=a[1]),this.addNamespaces(n);let l=yl(this.data,a)||{};s.skipCopy||(r=JSON.parse(JSON.stringify(r))),o?H1(l,r,i):l={...l,...r},ug(this.data,a,l),s.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(o=>n[o]&&Object.keys(n[o]).length>0)}toJSON(){return this.data}}var W1={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,o){return e.forEach(i=>{this.processors[i]&&(t=this.processors[i].process(t,n,r,o))}),t}};const dg={};class xl extends Mu{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),pM(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=En.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let i=n.ns||this.options.defaultNS||[];const s=r&&t.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!wM(t,r,o);if(s&&!a){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:i};const u=t.split(r);(r!==o||r===o&&this.options.ns.indexOf(u[0])>-1)&&(i=u.shift()),t=u.join(o)}return typeof i=="string"&&(i=[i]),{key:t,namespaces:i}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const o=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(t[t.length-1],n),l=a[a.length-1],u=n.lng||this.language,c=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(c){const x=n.nsSeparator||this.options.nsSeparator;return o?{res:`${l}${x}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${x}${s}`}return o?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:s}const f=this.resolve(t,n);let d=f&&f.res;const h=f&&f.usedKey||s,v=f&&f.exactUsedKey||s,y=Object.prototype.toString.apply(d),S=["[object Number]","[object Function]","[object RegExp]"],m=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,p=!this.i18nFormat||this.i18nFormat.handleAsObject;if(p&&d&&(typeof d!="string"&&typeof d!="boolean"&&typeof d!="number")&&S.indexOf(y)<0&&!(typeof m=="string"&&Array.isArray(d))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const x=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,d,{...n,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return o?(f.res=x,f.usedParams=this.getUsedParamsDetails(n),f):x}if(i){const x=Array.isArray(d),w=x?[]:{},k=x?v:h;for(const C in d)if(Object.prototype.hasOwnProperty.call(d,C)){const R=`${k}${i}${C}`;w[C]=this.translate(R,{...n,joinArrays:!1,ns:a}),w[C]===R&&(w[C]=d[C])}d=w}}else if(p&&typeof m=="string"&&Array.isArray(d))d=d.join(m),d&&(d=this.extendTranslation(d,t,n,r));else{let x=!1,w=!1;const k=n.count!==void 0&&typeof n.count!="string",C=xl.hasDefaultValue(n),R=k?this.pluralResolver.getSuffix(u,n.count,n):"",I=n.ordinal&&k?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",M=k&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),j=M&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${R}`]||n[`defaultValue${I}`]||n.defaultValue;!this.isValidLookup(d)&&C&&(x=!0,d=j),this.isValidLookup(d)||(w=!0,d=s);const B=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&w?void 0:d,A=C&&j!==d&&this.options.updateMissing;if(w||x||A){if(this.logger.log(A?"updateKey":"missingKey",u,l,s,A?j:d),i){const O=this.resolve(s,{...n,keySeparator:!1});O&&O.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.")}let E=[];const T=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&T&&T[0])for(let O=0;O{const W=C&&L!==d?L:B;this.options.missingKeyHandler?this.options.missingKeyHandler(O,l,$,W,A,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(O,l,$,W,A,n),this.emit("missingKey",O,l,$,d)};this.options.saveMissing&&(this.options.saveMissingPlurals&&k?E.forEach(O=>{const $=this.pluralResolver.getSuffixes(O,n);M&&n[`defaultValue${this.options.pluralSeparator}zero`]&&$.indexOf(`${this.options.pluralSeparator}zero`)<0&&$.push(`${this.options.pluralSeparator}zero`),$.forEach(L=>{N([O],s+L,n[`defaultValue${L}`]||j)})}):N(E,s,j))}d=this.extendTranslation(d,t,n,f,r),w&&d===s&&this.options.appendNamespaceToMissingKey&&(d=`${l}:${s}`),(w||x)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?d=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,x?d:void 0):d=this.options.parseMissingKeyHandler(d))}return o?(f.res=d,f.usedParams=this.getUsedParamsDetails(n),f):d}extendTranslation(t,n,r,o,i){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=typeof t=="string"&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let c;if(u){const d=t.match(this.interpolator.nestingRegexp);c=d&&d.length}let f=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(f={...this.options.interpolation.defaultVariables,...f}),t=this.interpolator.interpolate(t,f,r.lng||this.language||o.usedLng,r),u){const d=t.match(this.interpolator.nestingRegexp),h=d&&d.length;c1&&arguments[1]!==void 0?arguments[1]:{},r,o,i,s,a;return typeof t=="string"&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),c=u.key;o=c;let f=u.namespaces;this.options.fallbackNS&&(f=f.concat(this.options.fallbackNS));const d=n.count!==void 0&&typeof n.count!="string",h=d&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),v=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",y=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);f.forEach(S=>{this.isValidLookup(r)||(a=S,!dg[`${y[0]}-${S}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(dg[`${y[0]}-${S}`]=!0,this.logger.warn(`key "${o}" for languages "${y.join(", ")}" won't get resolved as namespace "${a}" 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!!!")),y.forEach(m=>{if(this.isValidLookup(r))return;s=m;const p=[c];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(p,c,m,S,n);else{let x;d&&(x=this.pluralResolver.getSuffix(m,n.count,n));const w=`${this.options.pluralSeparator}zero`,k=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(d&&(p.push(c+x),n.ordinal&&x.indexOf(k)===0&&p.push(c+x.replace(k,this.options.pluralSeparator)),h&&p.push(c+w)),v){const C=`${c}${this.options.contextSeparator}${n.context}`;p.push(C),d&&(p.push(C+x),n.ordinal&&x.indexOf(k)===0&&p.push(C+x.replace(k,this.options.pluralSeparator)),h&&p.push(C+w))}}let g;for(;g=p.pop();)this.isValidLookup(r)||(i=g,r=this.getResource(m,S,g,n))}))})}),{res:r,usedKey:o,exactUsedKey:i,usedLng:s,usedNS:a}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,o):this.resourceStore.getResource(t,n,r,o)}getUsedParamsDetails(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=t.replace&&typeof t.replace!="string";let o=r?t.replace:t;if(r&&typeof t.count<"u"&&(o.count=t.count),this.options.interpolation.defaultVariables&&(o={...this.options.interpolation.defaultVariables,...o}),!r){o={...o};for(const i of n)delete o[i]}return o}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}function Pc(e){return e.charAt(0).toUpperCase()+e.slice(1)}class fg{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=En.create("languageUtils")}getScriptPartFromCode(t){if(t=vl(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=vl(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(o=>o.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=Pc(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=Pc(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=Pc(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const o=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(o))&&(n=o)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const o=this.getLanguagePartFromCode(r);if(this.isSupportedCode(o))return n=o;n=this.options.supportedLngs.find(i=>{if(i===o)return i;if(!(i.indexOf("-")<0&&o.indexOf("-")<0)&&(i.indexOf("-")>0&&o.indexOf("-")<0&&i.substring(0,i.indexOf("-"))===o||i.indexOf(o)===0&&o.length>1))return i})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Array.isArray(t))return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),o=[],i=s=>{s&&(this.isSupportedCode(s)?o.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&i(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&i(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&i(this.getLanguagePartFromCode(t))):typeof t=="string"&&i(this.formatLanguageCode(t)),r.forEach(s=>{o.indexOf(s)<0&&i(this.formatLanguageCode(s))}),o}}let CM=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],EM={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}};const PM=["v1","v2","v3"],kM=["v4"],pg={zero:0,one:1,two:2,few:3,many:4,other:5};function RM(){const e={};return CM.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:EM[t.fc]}})}),e}class OM{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=En.create("pluralResolver"),(!this.options.compatibilityJSON||kM.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=RM()}addRule(t,n){this.rules[t]=n}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(vl(t==="dev"?"en":t),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(o=>`${n}${o}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((o,i)=>pg[o]-pg[i]).map(o=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${o}`):r.numbers.map(o=>this.getSuffix(t,o,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=this.getRule(t,r);return o?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${o.select(n)}`:this.getSuffixRetroCompatible(o,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let o=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(o===2?o="plural":o===1&&(o=""));const i=()=>this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString();return this.options.compatibilityJSON==="v1"?o===1?"":typeof o=="number"?`_plural_${o.toString()}`:i():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?i():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!PM.includes(this.options.compatibilityJSON)}}function hg(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=gM(e,t,n);return!i&&o&&typeof n=="string"&&(i=Vd(e,n,r),i===void 0&&(i=Vd(t,n,r))),i}class _M{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=En.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const{escape:n,escapeValue:r,useRawValueToEscape:o,prefix:i,prefixEscaped:s,suffix:a,suffixEscaped:l,formatSeparator:u,unescapeSuffix:c,unescapePrefix:f,nestingPrefix:d,nestingPrefixEscaped:h,nestingSuffix:v,nestingSuffixEscaped:y,nestingOptionsSeparator:S,maxReplaces:m,alwaysFormat:p}=t.interpolation;this.escape=n!==void 0?n:vM,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=o!==void 0?o:!1,this.prefix=i?lo(i):s||"{{",this.suffix=a?lo(a):l||"}}",this.formatSeparator=u||",",this.unescapePrefix=c?"":f||"-",this.unescapeSuffix=this.unescapePrefix?"":c||"",this.nestingPrefix=d?lo(d):h||lo("$t("),this.nestingSuffix=v?lo(v):y||lo(")"),this.nestingOptionsSeparator=S||",",this.maxReplaces=m||1e3,this.alwaysFormat=p!==void 0?p:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=(n,r)=>n&&n.source===r?(n.lastIndex=0,n):new RegExp(r,"g");this.regexp=t(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=t(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=t(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(t,n,r,o){let i,s,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(v){return v.replace(/\$/g,"$$$$")}const c=v=>{if(v.indexOf(this.formatSeparator)<0){const p=hg(n,l,v,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(p,void 0,r,{...o,...n,interpolationkey:v}):p}const y=v.split(this.formatSeparator),S=y.shift().trim(),m=y.join(this.formatSeparator).trim();return this.format(hg(n,l,S,this.options.keySeparator,this.options.ignoreJSONStructure),m,r,{...o,...n,interpolationkey:S})};this.resetRegExp();const f=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,d=o&&o.interpolation&&o.interpolation.skipOnVariables!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:v=>u(v)},{regex:this.regexp,safeValue:v=>this.escapeValue?u(this.escape(v)):u(v)}].forEach(v=>{for(a=0;i=v.regex.exec(t);){const y=i[1].trim();if(s=c(y),s===void 0)if(typeof f=="function"){const m=f(t,i,o);s=typeof m=="string"?m:""}else if(o&&Object.prototype.hasOwnProperty.call(o,y))s="";else if(d){s=i[0];continue}else this.logger.warn(`missed to pass in variable ${y} for interpolating ${t}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=lg(s));const S=v.safeValue(s);if(t=t.replace(i[0],S),d?(v.regex.lastIndex+=s.length,v.regex.lastIndex-=i[0].length):v.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o,i,s;function a(l,u){const c=this.nestingOptionsSeparator;if(l.indexOf(c)<0)return l;const f=l.split(new RegExp(`${c}[ ]*{`));let d=`{${f[1]}`;l=f[0],d=this.interpolate(d,s);const h=d.match(/'/g),v=d.match(/"/g);(h&&h.length%2===0&&!v||v.length%2!==0)&&(d=d.replace(/'/g,'"'));try{s=JSON.parse(d),u&&(s={...u,...s})}catch(y){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,y),`${l}${c}${d}`}return s.defaultValue&&s.defaultValue.indexOf(this.prefix)>-1&&delete s.defaultValue,l}for(;o=this.nestingRegexp.exec(t);){let l=[];s={...r},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(o[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(o[1])){const c=o[1].split(this.formatSeparator).map(f=>f.trim());o[1]=c.shift(),l=c,u=!0}if(i=n(a.call(this,o[1].trim(),s),s),i&&o[0]===t&&typeof i!="string")return i;typeof i!="string"&&(i=lg(i)),i||(this.logger.warn(`missed to resolve ${o[1]} for nesting ${t}`),i=""),u&&(i=l.reduce((c,f)=>this.format(c,f,r.lng,{...r,interpolationkey:o[1].trim()}),i.trim())),t=t.replace(o[0],i),this.regexp.lastIndex=0}return t}}function TM(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const o=r[1].substring(0,r[1].length-1);t==="currency"&&o.indexOf(":")<0?n.currency||(n.currency=o.trim()):t==="relativetime"&&o.indexOf(":")<0?n.range||(n.range=o.trim()):o.split(";").forEach(s=>{if(s){const[a,...l]=s.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,""),c=a.trim();n[c]||(n[c]=u),u==="false"&&(n[c]=!1),u==="true"&&(n[c]=!0),isNaN(u)||(n[c]=parseInt(u,10))}})}return{formatName:t,formatOptions:n}}function uo(e){const t={};return function(r,o,i){const s=o+JSON.stringify(i);let a=t[s];return a||(a=e(vl(o),i),t[s]=a),a(r)}}class MM{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=En.create("formatter"),this.options=t,this.formats={number:uo((n,r)=>{const o=new Intl.NumberFormat(n,{...r});return i=>o.format(i)}),currency:uo((n,r)=>{const o=new Intl.NumberFormat(n,{...r,style:"currency"});return i=>o.format(i)}),datetime:uo((n,r)=>{const o=new Intl.DateTimeFormat(n,{...r});return i=>o.format(i)}),relativetime:uo((n,r)=>{const o=new Intl.RelativeTimeFormat(n,{...r});return i=>o.format(i,r.range||"day")}),list:uo((n,r)=>{const o=new Intl.ListFormat(n,{...r});return i=>o.format(i)})},this.init(t)}init(t){const r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=uo(n)}format(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((a,l)=>{const{formatName:u,formatOptions:c}=TM(l);if(this.formats[u]){let f=a;try{const d=o&&o.formatParams&&o.formatParams[o.interpolationkey]||{},h=d.locale||d.lng||o.locale||o.lng||r;f=this.formats[u](a,h,{...c,...o,...d})}catch(d){this.logger.warn(d)}return f}else this.logger.warn(`there was no format function for ${u}`);return a},t)}}function $M(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class IM extends Mu{constructor(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=o,this.logger=En.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=o.maxParallelReads||10,this.readingCalls=0,this.maxRetries=o.maxRetries>=0?o.maxRetries:5,this.retryTimeout=o.retryTimeout>=1?o.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,o.backend,o)}queueLoad(t,n,r,o){const i={},s={},a={},l={};return t.forEach(u=>{let c=!0;n.forEach(f=>{const d=`${u}|${f}`;!r.reload&&this.store.hasResourceBundle(u,f)?this.state[d]=2:this.state[d]<0||(this.state[d]===1?s[d]===void 0&&(s[d]=!0):(this.state[d]=1,c=!1,s[d]===void 0&&(s[d]=!0),i[d]===void 0&&(i[d]=!0),l[f]===void 0&&(l[f]=!0)))}),c||(a[u]=!0)}),(Object.keys(i).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:o}),{toLoad:Object.keys(i),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const o=t.split("|"),i=o[0],s=o[1];n&&this.emit("failedLoading",i,s,n),r&&this.store.addResourceBundle(i,s,r,void 0,void 0,{skipCopy:!0}),this.state[t]=n?-1:2;const a={};this.queue.forEach(l=>{mM(l.loaded,[i],s),$M(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const c=l.loaded[u];c.length&&c.forEach(f=>{a[u][f]===void 0&&(a[u][f]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:o,wait:i,callback:s});return}this.readingCalls++;const a=(u,c)=>{if(this.readingCalls--,this.waitingReads.length>0){const f=this.waitingReads.shift();this.read(f.lng,f.ns,f.fcName,f.tried,f.wait,f.callback)}if(u&&c&&o{this.read.call(this,t,n,r,o+1,i*2,s)},i);return}s(u,c)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(c=>a(null,c)).catch(a):a(null,u)}catch(u){a(u)}return}return l(t,n,a)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const i=this.queueLoad(t,n,r,o);if(!i.toLoad.length)return i.pending.length||o(),null;i.toLoad.forEach(s=>{this.loadOne(s)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),o=r[0],i=r[1];this.read(o,i,"read",void 0,void 0,(s,a)=>{s&&this.logger.warn(`${n}loading namespace ${i} for language ${o} failed`,s),!s&&a&&this.logger.log(`${n}loaded namespace ${i} for language ${o}`,a),this.loaded(t,s,a)})}saveMissing(t,n,r,o,i){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" 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!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...s,isUpdate:i},u=this.backend.create.bind(this.backend);if(u.length<6)try{let c;u.length===5?c=u(t,n,r,o,l):c=u(t,n,r,o),c&&typeof c.then=="function"?c.then(f=>a(null,f)).catch(a):a(null,c)}catch(c){a(c)}else u(t,n,r,o,a,l)}!t||!t[0]||this.store.addResource(t[0],n,r,o)}}}function mg(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let n={};if(typeof t[1]=="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const r=t[3]||t[2];Object.keys(r).forEach(o=>{n[o]=r[o]})}return n},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function gg(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function pa(){}function LM(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class ws extends Mu{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=gg(t),this.services={},this.logger=En,this.modules={external:[]},LM(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const o=mg();this.options={...o,...this.options,...gg(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...o.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function i(c){return c?typeof c=="function"?new c:c:null}if(!this.options.isClone){this.modules.logger?En.init(i(this.modules.logger),this.options):En.init(null,this.options);let c;this.modules.formatter?c=this.modules.formatter:typeof Intl<"u"&&(c=MM);const f=new fg(this.options);this.store=new cg(this.options.resources,this.options);const d=this.services;d.logger=En,d.resourceStore=this.store,d.languageUtils=f,d.pluralResolver=new OM(f,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===o.interpolation.format)&&(d.formatter=i(c),d.formatter.init(d,this.options),this.options.interpolation.format=d.formatter.format.bind(d.formatter)),d.interpolator=new _M(this.options),d.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},d.backendConnector=new IM(i(this.modules.backend),d.resourceStore,d,this.options),d.backendConnector.on("*",function(h){for(var v=arguments.length,y=new Array(v>1?v-1:0),S=1;S1?v-1:0),S=1;S{h.init&&h.init(this)})}if(this.format=this.options.interpolation.format,r||(r=pa),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const c=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);c.length>0&&c[0]!=="dev"&&(this.options.lng=c[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(c=>{this[c]=function(){return t.store[c](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(c=>{this[c]=function(){return t.store[c](...arguments),t}});const l=Oi(),u=()=>{const c=(f,d)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(d),r(f,d)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return c(null,this.t.bind(this));this.changeLanguage(this.options.lng,c)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:pa;const o=typeof t=="string"?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(o&&o.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const i=[],s=a=>{if(!a||a==="cimode")return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{u!=="cimode"&&i.indexOf(u)<0&&i.push(u)})};o?s(o):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>s(l)),this.options.preload&&this.options.preload.forEach(a=>s(a)),this.services.backendConnector.load(i,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(a)})}else r(null)}reloadResources(t,n,r){const o=Oi();return t||(t=this.languages),n||(n=this.options.ns),r||(r=pa),this.services.backendConnector.reload(t,n,i=>{o.resolve(),r(i)}),o}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&W1.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const o=Oi();this.emit("languageChanging",t);const i=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},s=(l,u)=>{u?(i(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,o.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},a=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||i(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,c=>{s(c,u)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(t),o}getFixedT(t,n,r){var o=this;const i=function(s,a){let l;if(typeof a!="object"){for(var u=arguments.length,c=new Array(u>2?u-2:0),f=2;f`${l.keyPrefix}${d}${v}`):h=l.keyPrefix?`${l.keyPrefix}${d}${s}`:s,o.t(h,l)};return typeof t=="string"?i.lng=t:i.lngs=t,i.ns=n,i.keyPrefix=r,i}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],o=this.options?this.options.fallbackLng:!1,i=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};if(n.precheck){const a=n.precheck(this,s);if(a!==void 0)return a}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(r,t)&&(!o||s(i,t)))}loadNamespaces(t,n){const r=Oi();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(o=>{this.options.ns.indexOf(o)<0&&this.options.ns.push(o)}),this.loadResources(o=>{r.resolve(),n&&n(o)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=Oi();typeof t=="string"&&(t=[t]);const o=this.options.preload||[],i=t.filter(s=>o.indexOf(s)<0&&this.services.languageUtils.isSupportedCode(s));return i.length?(this.options.preload=o.concat(i),this.loadResources(s=>{r.resolve(),n&&n(s)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["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"],r=this.services&&this.services.languageUtils||new fg(mg());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new ws(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:pa;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const o={...this.options,...t,isClone:!0},i=new ws(o);return(t.debug!==void 0||t.prefix!==void 0)&&(i.logger=i.logger.clone(t)),["store","services","language"].forEach(a=>{i[a]=this[a]}),i.services={...this.services},i.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},r&&(i.store=new cg(this.store.data,o),i.services.resourceStore=i.store),i.translator=new xl(i.services,o),i.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),c=1;c{if(t)for(const n in t)e[n]===void 0&&(e[n]=t[n])}),e}const yg=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,jM=(e,t,n)=>{const r=n||{};r.path=r.path||"/";const o=encodeURIComponent(t);let i=`${e}=${o}`;if(r.maxAge>0){const s=r.maxAge-0;if(Number.isNaN(s))throw new Error("maxAge should be a Number");i+=`; Max-Age=${Math.floor(s)}`}if(r.domain){if(!yg.test(r.domain))throw new TypeError("option domain is invalid");i+=`; Domain=${r.domain}`}if(r.path){if(!yg.test(r.path))throw new TypeError("option path is invalid");i+=`; Path=${r.path}`}if(r.expires){if(typeof r.expires.toUTCString!="function")throw new TypeError("option expires is invalid");i+=`; Expires=${r.expires.toUTCString()}`}if(r.httpOnly&&(i+="; HttpOnly"),r.secure&&(i+="; Secure"),r.sameSite)switch(typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite){case!0:i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"strict":i+="; SameSite=Strict";break;case"none":i+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return i},vg={create(e,t,n,r){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};n&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+n*60*1e3)),r&&(o.domain=r),document.cookie=jM(e,encodeURIComponent(t),o)},read(e){const t=`${e}=`,n=document.cookie.split(";");for(let r=0;r-1&&(o=window.location.hash.substring(window.location.hash.indexOf("?")));const s=o.substring(1).split("&");for(let a=0;a0&&s[a].substring(0,l)===t&&(n=s[a].substring(l+1))}}return n}};let _i=null;const xg=()=>{if(_i!==null)return _i;try{_i=window!=="undefined"&&window.localStorage!==null;const e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch{_i=!1}return _i};var BM={name:"localStorage",lookup(e){let{lookupLocalStorage:t}=e;if(t&&xg())return window.localStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupLocalStorage:n}=t;n&&xg()&&window.localStorage.setItem(n,e)}};let Ti=null;const Sg=()=>{if(Ti!==null)return Ti;try{Ti=window!=="undefined"&&window.sessionStorage!==null;const e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch{Ti=!1}return Ti};var UM={name:"sessionStorage",lookup(e){let{lookupSessionStorage:t}=e;if(t&&Sg())return window.sessionStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupSessionStorage:n}=t;n&&Sg()&&window.sessionStorage.setItem(n,e)}},VM={name:"navigator",lookup(e){const t=[];if(typeof navigator<"u"){const{languages:n,userLanguage:r,language:o}=navigator;if(n)for(let i=0;i0?t:void 0}},HM={name:"htmlTag",lookup(e){let{htmlTag:t}=e,n;const r=t||(typeof document<"u"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(n=r.getAttribute("lang")),n}},WM={name:"path",lookup(e){var o;let{lookupFromPathIndex:t}=e;if(typeof window>"u")return;const n=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(n)?(o=n[typeof t=="number"?t:0])==null?void 0:o.replace("/",""):void 0}},KM={name:"subdomain",lookup(e){var o,i;let{lookupFromSubdomainIndex:t}=e;const n=typeof t=="number"?t+1:1,r=typeof window<"u"&&((i=(o=window.location)==null?void 0:o.hostname)==null?void 0:i.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i));if(r)return r[n]}};function qM(){return{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:e=>e}}class K1{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=t||{languageUtils:{}},this.options=AM(n,this.options||{},qM()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=o=>o.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=r,this.addDetector(DM),this.addDetector(zM),this.addDetector(BM),this.addDetector(UM),this.addDetector(VM),this.addDetector(HM),this.addDetector(WM),this.addDetector(KM)}addDetector(t){return this.detectors[t.name]=t,this}detect(t){t||(t=this.options.order);let n=[];return t.forEach(r=>{if(this.detectors[r]){let o=this.detectors[r].lookup(this.options);o&&typeof o=="string"&&(o=[o]),o&&(n=n.concat(o))}}),n=n.map(r=>this.options.convertDetectedLanguage(r)),this.services.languageUtils.getBestMatchFromCodes?n:n.length>0?n[0]:null}cacheUserLanguage(t,n){n||(n=this.options.caches),n&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(t)>-1||n.forEach(r=>{this.detectors[r]&&this.detectors[r].cacheUserLanguage(t,this.options)}))}}K1.type="languageDetector";function Hd(e){"@babel/helpers - typeof";return Hd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hd(e)}function q1(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":Hd(XMLHttpRequest))==="object"}function QM(e){return!!e&&typeof e.then=="function"}function GM(e){return QM(e)?e:Promise.resolve(e)}function XM(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Wd={exports:{}},ha={exports:{}},bg;function YM(){return bg||(bg=1,function(e,t){var n=typeof globalThis<"u"&&globalThis||typeof self<"u"&&self||typeof Ni<"u"&&Ni,r=function(){function i(){this.fetch=!1,this.DOMException=n.DOMException}return i.prototype=n,new i}();(function(i){(function(s){var a=typeof i<"u"&&i||typeof self<"u"&&self||typeof a<"u"&&a,l={searchParams:"URLSearchParams"in a,iterable:"Symbol"in a&&"iterator"in Symbol,blob:"FileReader"in a&&"Blob"in a&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in a,arrayBuffer:"ArrayBuffer"in a};function u(E){return E&&DataView.prototype.isPrototypeOf(E)}if(l.arrayBuffer)var c=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],f=ArrayBuffer.isView||function(E){return E&&c.indexOf(Object.prototype.toString.call(E))>-1};function d(E){if(typeof E!="string"&&(E=String(E)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(E)||E==="")throw new TypeError('Invalid character in header field name: "'+E+'"');return E.toLowerCase()}function h(E){return typeof E!="string"&&(E=String(E)),E}function v(E){var T={next:function(){var N=E.shift();return{done:N===void 0,value:N}}};return l.iterable&&(T[Symbol.iterator]=function(){return T}),T}function y(E){this.map={},E instanceof y?E.forEach(function(T,N){this.append(N,T)},this):Array.isArray(E)?E.forEach(function(T){this.append(T[0],T[1])},this):E&&Object.getOwnPropertyNames(E).forEach(function(T){this.append(T,E[T])},this)}y.prototype.append=function(E,T){E=d(E),T=h(T);var N=this.map[E];this.map[E]=N?N+", "+T:T},y.prototype.delete=function(E){delete this.map[d(E)]},y.prototype.get=function(E){return E=d(E),this.has(E)?this.map[E]:null},y.prototype.has=function(E){return this.map.hasOwnProperty(d(E))},y.prototype.set=function(E,T){this.map[d(E)]=h(T)},y.prototype.forEach=function(E,T){for(var N in this.map)this.map.hasOwnProperty(N)&&E.call(T,this.map[N],N,this)},y.prototype.keys=function(){var E=[];return this.forEach(function(T,N){E.push(N)}),v(E)},y.prototype.values=function(){var E=[];return this.forEach(function(T){E.push(T)}),v(E)},y.prototype.entries=function(){var E=[];return this.forEach(function(T,N){E.push([N,T])}),v(E)},l.iterable&&(y.prototype[Symbol.iterator]=y.prototype.entries);function S(E){if(E.bodyUsed)return Promise.reject(new TypeError("Already read"));E.bodyUsed=!0}function m(E){return new Promise(function(T,N){E.onload=function(){T(E.result)},E.onerror=function(){N(E.error)}})}function p(E){var T=new FileReader,N=m(T);return T.readAsArrayBuffer(E),N}function g(E){var T=new FileReader,N=m(T);return T.readAsText(E),N}function x(E){for(var T=new Uint8Array(E),N=new Array(T.length),O=0;O-1?T:E}function I(E,T){if(!(this instanceof I))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');T=T||{};var N=T.body;if(E instanceof I){if(E.bodyUsed)throw new TypeError("Already read");this.url=E.url,this.credentials=E.credentials,T.headers||(this.headers=new y(E.headers)),this.method=E.method,this.mode=E.mode,this.signal=E.signal,!N&&E._bodyInit!=null&&(N=E._bodyInit,E.bodyUsed=!0)}else this.url=String(E);if(this.credentials=T.credentials||this.credentials||"same-origin",(T.headers||!this.headers)&&(this.headers=new y(T.headers)),this.method=R(T.method||this.method||"GET"),this.mode=T.mode||this.mode||null,this.signal=T.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&N)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(N),(this.method==="GET"||this.method==="HEAD")&&(T.cache==="no-store"||T.cache==="no-cache")){var O=/([?&])_=[^&]*/;if(O.test(this.url))this.url=this.url.replace(O,"$1_="+new Date().getTime());else{var $=/\?/;this.url+=($.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}I.prototype.clone=function(){return new I(this,{body:this._bodyInit})};function M(E){var T=new FormData;return E.trim().split("&").forEach(function(N){if(N){var O=N.split("="),$=O.shift().replace(/\+/g," "),L=O.join("=").replace(/\+/g," ");T.append(decodeURIComponent($),decodeURIComponent(L))}}),T}function j(E){var T=new y,N=E.replace(/\r?\n[\t ]+/g," ");return N.split("\r").map(function(O){return O.indexOf(` + `);const p=m.state[a];if(p==null)return;JSON.stringify(o.getState())!==JSON.stringify(p)&&h(p);return}o.dispatchFromDevtools&&typeof o.dispatch=="function"&&o.dispatch(m)});case"DISPATCH":switch(y.payload.type){case"RESET":return h(v),a===void 0?c==null?void 0:c.init(o.getState()):c==null?void 0:c.init(ca(l.name));case"COMMIT":if(a===void 0){c==null||c.init(o.getState());return}return c==null?void 0:c.init(ca(l.name));case"ROLLBACK":return wc(y.state,m=>{if(a===void 0){h(m),c==null||c.init(o.getState());return}h(m[a]),c==null||c.init(ca(l.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return wc(y.state,m=>{if(a===void 0){h(m);return}JSON.stringify(o.getState())!==JSON.stringify(m[a])&&h(m[a])});case"IMPORT_STATE":{const{nextLiftedState:m}=y.payload,p=(S=m.computedStates.slice(-1)[0])==null?void 0:S.state;if(!p)return;h(a===void 0?p:p[a]),c==null||c.send(null,m);return}case"PAUSE_RECORDING":return d=!d}return}}),v},qT=KT,wc=(e,t)=>{let n;try{n=JSON.parse(e)}catch(r){console.error("[zustand devtools middleware] Could not parse the received json",r)}n!==void 0&&t(n)},Dd=HT()(qT(e=>({user:void 0,setUser:t=>e(()=>({user:t}))})));function Tu(e,t){return typeof e=="function"?e(t):e}function z1(e,t){return Ep(t).reduce((r,o)=>{if(r===null)return null;if(typeof r<"u")return r[o]},e)}function Cc(e,t,n){const r=Ep(t);function o(i){if(!r.length)return Tu(n,i);const s=r.shift();if(typeof s=="string")return typeof i=="object"?(i===null&&(i={}),{...i,[s]:o(i[s])}):{[s]:o()};if(Array.isArray(i)&&s!==void 0){const a=i.slice(0,s);return[...a.length?a:new Array(s),o(i[s]),...i.slice(s+1)]}return[...new Array(s),o()]}return o(e)}function QT(e,t){const n=Ep(t);function r(o){if(!o)return;if(n.length===1){const s=n[0];if(Array.isArray(o)&&typeof s=="number")return o.filter((u,c)=>c!==s);const{[s]:a,...l}=o;return l}const i=n.shift();if(typeof i=="string"&&typeof o=="object")return{...o,[i]:r(o[i])};if(typeof i=="number"&&Array.isArray(o)){if(i>=o.length)return o;const s=o.slice(0,i);return[...s.length?s:new Array(i),r(o[i]),...o.slice(i+1)]}throw new Error("It seems we have created an infinite loop in deleteBy. ")}return r(e)}const GT=/^(\d*)$/gm,XT=/\.(\d*)\./gm,YT=/^(\d*)\./gm,JT=/\.(\d*$)/gm,ZT=/\.{2,}/gm,zd="__int__",da=`${zd}$1`;function Ep(e){if(typeof e!="string")throw new Error("Path must be a string.");return e.replaceAll("[",".").replaceAll("]","").replace(GT,da).replace(XT,`.${da}.`).replace(YT,`${da}.`).replace(JT,`.${da}`).replace(ZT,".").split(".").map(t=>t.indexOf(zd)===0?parseInt(t.substring(zd.length),10):t)}function eM(e){return!(Array.isArray(e)&&e.length===0)}function Bd(e,t){const{asyncDebounceMs:n}=t,{onChangeAsync:r,onBlurAsync:o,onSubmitAsync:i,onBlurAsyncDebounceMs:s,onChangeAsyncDebounceMs:a}=t.validators||{},l=n??0,u={cause:"change",validate:r,debounceMs:a??l},c={cause:"blur",validate:o,debounceMs:s??l},f={cause:"submit",validate:i,debounceMs:0},d=h=>({...h,debounceMs:0});switch(e){case"submit":return[d(u),d(c),f];case"blur":return[c];case"change":return[u];case"server":default:return[]}}function Ud(e,t){const{onChange:n,onBlur:r,onSubmit:o}=t.validators||{},i={cause:"change",validate:n},s={cause:"blur",validate:r},a={cause:"submit",validate:o},l={cause:"server",validate:()=>{}};switch(e){case"submit":return[i,s,a,l];case"server":return[l];case"blur":return[s,l];case"change":default:return[i,l]}}function Ec(e){return{values:e.values??{},errors:e.errors??[],errorMap:e.errorMap??{},fieldMeta:e.fieldMeta??{},canSubmit:e.canSubmit??!0,isFieldsValid:e.isFieldsValid??!1,isFieldsValidating:e.isFieldsValidating??!1,isFormValid:e.isFormValid??!1,isFormValidating:e.isFormValidating??!1,isSubmitted:e.isSubmitted??!1,isSubmitting:e.isSubmitting??!1,isTouched:e.isTouched??!1,isPristine:e.isPristine??!0,isDirty:e.isDirty??!1,isValid:e.isValid??!1,isValidating:e.isValidating??!1,submissionAttempts:e.submissionAttempts??0,validationMetaMap:e.validationMetaMap??{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0}}}class tM{constructor(t){var n;this.options={},this.fieldInfo={},this.prevTransformArray=[],this.mount=()=>{const{onMount:r}=this.options.validators||{};if(!r)return;const o=this.runValidator({validate:r,value:{value:this.state.values,formApi:this},type:"validate"});o&&this.store.setState(i=>({...i,errorMap:{...i.errorMap,onMount:o}}))},this.update=r=>{if(!r)return;const o=this.options;this.options=r,this.store.batch(()=>{const i=r.defaultValues&&r.defaultValues!==o.defaultValues&&!this.state.isTouched,s=r.defaultState!==o.defaultState&&!this.state.isTouched;this.store.setState(()=>Ec(Object.assign({},this.state,s?r.defaultState:{},i?{values:r.defaultValues}:{})))})},this.reset=()=>{const{fieldMeta:r}=this.state,o=this.resetFieldMeta(r);this.store.setState(()=>{var i;return Ec({...this.options.defaultState,values:this.options.defaultValues??((i=this.options.defaultState)==null?void 0:i.values),fieldMeta:o})})},this.validateAllFields=async r=>{const o=[];return this.store.batch(()=>{Object.values(this.fieldInfo).forEach(s=>{if(!s.instance)return;const a=s.instance;o.push(Promise.resolve().then(()=>a.validate(r))),s.instance.state.meta.isTouched||s.instance.setMeta(l=>({...l,isTouched:!0}))})}),(await Promise.all(o)).flat()},this.validateArrayFieldsStartingFrom=async(r,o,i)=>{const s=this.getFieldValue(r),a=Array.isArray(s)?Math.max(s.length-1,0):null,l=[`${r}[${o}]`];for(let d=o+1;d<=(a??0);d++)l.push(`${r}[${d}]`);const u=Object.keys(this.fieldInfo).filter(d=>l.some(h=>d.startsWith(h))),c=[];return this.store.batch(()=>{u.forEach(d=>{c.push(Promise.resolve().then(()=>this.validateField(d,i)))})}),(await Promise.all(c)).flat()},this.validateField=(r,o)=>{var i;const s=(i=this.fieldInfo[r])==null?void 0:i.instance;return s?(s.state.meta.isTouched||s.setMeta(a=>({...a,isTouched:!0})),s.validate(o)):[]},this.validateSync=r=>{const o=Ud(r,this.options);let i=!1;this.store.batch(()=>{for(const a of o){if(!a.validate)continue;const l=sg(this.runValidator({validate:a.validate,value:{value:this.state.values,formApi:this},type:"validate"})),u=fa(a.cause);this.state.errorMap[u]!==l&&this.store.setState(c=>({...c,errorMap:{...c.errorMap,[u]:l}})),l&&(i=!0)}});const s=fa("submit");return this.state.errorMap[s]&&r!=="submit"&&!i&&this.store.setState(a=>({...a,errorMap:{...a.errorMap,[s]:void 0}})),{hasErrored:i}},this.validateAsync=async r=>{const o=Bd(r,this.options);this.state.isFormValidating||this.store.setState(a=>({...a,isFormValidating:!0}));const i=[];for(const a of o){if(!a.validate)continue;const l=fa(a.cause),u=this.state.validationMetaMap[l];u==null||u.lastAbortController.abort();const c=new AbortController;this.state.validationMetaMap[l]={lastAbortController:c},i.push(new Promise(async f=>{let d;try{d=await new Promise((v,y)=>{setTimeout(async()=>{if(c.signal.aborted)return v(void 0);try{v(await this.runValidator({validate:a.validate,value:{value:this.state.values,formApi:this,signal:c.signal},type:"validateAsync"}))}catch(S){y(S)}},a.debounceMs)})}catch(v){d=v}const h=sg(d);this.store.setState(v=>({...v,errorMap:{...v.errorMap,[fa(r)]:h}})),f(h)}))}let s=[];return i.length&&(s=await Promise.all(i)),this.store.setState(a=>({...a,isFormValidating:!1})),s.filter(Boolean)},this.validate=r=>{const{hasErrored:o}=this.validateSync(r);return o&&!this.options.asyncAlways?this.state.errors:this.validateAsync(r)},this.handleSubmit=async()=>{var r,o,i,s,a,l;if(this.store.setState(c=>({...c,isSubmitted:!1,submissionAttempts:c.submissionAttempts+1})),!this.state.canSubmit)return;this.store.setState(c=>({...c,isSubmitting:!0}));const u=()=>{this.store.setState(c=>({...c,isSubmitting:!1}))};if(await this.validateAllFields("submit"),!this.state.isFieldsValid){u(),(o=(r=this.options).onSubmitInvalid)==null||o.call(r,{value:this.state.values,formApi:this});return}if(await this.validate("submit"),!this.state.isValid){u(),(s=(i=this.options).onSubmitInvalid)==null||s.call(i,{value:this.state.values,formApi:this});return}try{await((l=(a=this.options).onSubmit)==null?void 0:l.call(a,{value:this.state.values,formApi:this})),this.store.batch(()=>{this.store.setState(c=>({...c,isSubmitted:!0})),u()})}catch(c){throw u(),c}},this.getFieldValue=r=>z1(this.state.values,r),this.getFieldMeta=r=>this.state.fieldMeta[r],this.getFieldInfo=r=>{var o;return(o=this.fieldInfo)[r]||(o[r]={instance:null,validationMetaMap:{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0}})},this.setFieldMeta=(r,o)=>{this.store.setState(i=>({...i,fieldMeta:{...i.fieldMeta,[r]:Tu(o,i.fieldMeta[r])}}))},this.resetFieldMeta=r=>Object.keys(r).reduce((o,i)=>{const s=i;return o[s]={isValidating:!1,isTouched:!1,isDirty:!1,isPristine:!0,errors:[],errorMap:{}},o},{}),this.setFieldValue=(r,o,i)=>{const s=(i==null?void 0:i.dontUpdateMeta)??!1;this.store.batch(()=>{s||this.setFieldMeta(r,a=>({...a,isTouched:!0,isDirty:!0})),this.store.setState(a=>({...a,values:Cc(a.values,r,o)}))})},this.deleteField=r=>{this.store.setState(o=>{const i={...o};return i.values=QT(i.values,r),delete i.fieldMeta[r],i}),delete this.fieldInfo[r]},this.pushFieldValue=(r,o,i)=>{this.setFieldValue(r,s=>[...Array.isArray(s)?s:[],o],i),this.validateField(r,"change")},this.insertFieldValue=async(r,o,i,s)=>{this.setFieldValue(r,a=>[...a.slice(0,o),i,...a.slice(o)],s),await this.validateField(r,"change")},this.replaceFieldValue=async(r,o,i,s)=>{this.setFieldValue(r,a=>a.map((l,u)=>u===o?i:l),s),await this.validateField(r,"change"),await this.validateArrayFieldsStartingFrom(r,o,"change")},this.removeFieldValue=async(r,o,i)=>{const s=this.getFieldValue(r),a=Array.isArray(s)?Math.max(s.length-1,0):null;if(this.setFieldValue(r,l=>l.filter((u,c)=>c!==o),i),a!==null){const l=`${r}[${a}]`;Object.keys(this.fieldInfo).filter(c=>c.startsWith(l)).forEach(c=>this.deleteField(c))}await this.validateField(r,"change"),await this.validateArrayFieldsStartingFrom(r,o,"change")},this.swapFieldValues=(r,o,i,s)=>{this.setFieldValue(r,a=>{const l=a[o],u=a[i];return Cc(Cc(a,`${o}`,u),`${i}`,l)},s),this.validateField(r,"change"),this.validateField(`${r}[${o}]`,"change"),this.validateField(`${r}[${i}]`,"change")},this.moveFieldValues=(r,o,i,s)=>{this.setFieldValue(r,a=>(a.splice(i,0,a.splice(o,1)[0]),a),s),this.validateField(r,"change"),this.validateField(`${r}[${o}]`,"change"),this.validateField(`${r}[${i}]`,"change")},this.store=new Jd(Ec({...t==null?void 0:t.defaultState,values:(t==null?void 0:t.defaultValues)??((n=t==null?void 0:t.defaultState)==null?void 0:n.values),isFormValid:!0}),{onUpdate:()=>{var r,o;let{state:i}=this.store;const s=Object.values(i.fieldMeta),a=s.some(p=>p==null?void 0:p.isValidating),l=!s.some(p=>(p==null?void 0:p.errorMap)&&eM(Object.values(p.errorMap).filter(Boolean))),u=s.some(p=>p==null?void 0:p.isTouched),c=s.some(p=>p==null?void 0:p.isDirty),f=!c,d=a||i.isFormValidating;i.errors=Object.values(i.errorMap).filter(p=>p!==void 0);const h=i.errors.length===0,v=l&&h,y=i.submissionAttempts===0&&!u||!d&&!i.isSubmitting&&v;i={...i,isFieldsValidating:a,isFieldsValid:l,isFormValid:h,isValid:v,canSubmit:y,isTouched:u,isPristine:f,isDirty:c},this.state=i,this.store.state=this.state;const S=((r=this.options.transform)==null?void 0:r.deps)??[];(S.length!==this.prevTransformArray.length||S.some((p,g)=>p!==this.prevTransformArray[g]))&&((o=this.options.transform)==null||o.fn(this),this.store.state=this.state,this.prevTransformArray=S)}}),this.state=this.store.state,this.update(t||{})}runValidator(t){const n=this.options.validatorAdapter;return n&&typeof t.validate!="function"?n()[t.type](t.value,t.validate):t.validate(t.value)}}function sg(e){if(e)return typeof e!="string"?"Invalid Form Values":e}function fa(e){switch(e){case"submit":return"onSubmit";case"blur":return"onBlur";case"mount":return"onMount";case"server":return"onServer";case"change":default:return"onChange"}}class nM{constructor(t){this.options={},this.mount=()=>{const n=this.getInfo();n.instance=this;const r=this.form.store.subscribe(()=>{this.store.batch(()=>{const i=this.getValue(),s=this.getMeta();i!==this.state.value&&this.store.setState(a=>({...a,value:i})),s!==this.state.meta&&this.store.setState(a=>({...a,meta:s}))})});this.update(this.options);const{onMount:o}=this.options.validators||{};if(o){const i=this.runValidator({validate:o,value:{value:this.state.value,fieldApi:this},type:"validate"});i&&this.setMeta(s=>({...s,errorMap:{...s==null?void 0:s.errorMap,onMount:i}}))}return()=>{r()}},this.update=n=>{if(this.state.value===void 0){const r=z1(n.form.options.defaultValues,n.name);n.defaultValue!==void 0?this.setValue(n.defaultValue,{dontUpdateMeta:!0}):r!==void 0&&this.setValue(r,{dontUpdateMeta:!0})}this._getMeta()===void 0&&this.setMeta(this.state.meta),this.options=n},this.getValue=()=>this.form.getFieldValue(this.name),this.setValue=(n,r)=>{this.form.setFieldValue(this.name,n,r),this.validate("change")},this._getMeta=()=>this.form.getFieldMeta(this.name),this.getMeta=()=>this._getMeta()??{isValidating:!1,isTouched:!1,isDirty:!1,isPristine:!0,errors:[],errorMap:{},...this.options.defaultMeta},this.setMeta=n=>this.form.setFieldMeta(this.name,n),this.getInfo=()=>this.form.getFieldInfo(this.name),this.pushValue=(n,r)=>this.form.pushFieldValue(this.name,n,r),this.insertValue=(n,r,o)=>this.form.insertFieldValue(this.name,n,r,o),this.replaceValue=(n,r,o)=>this.form.replaceFieldValue(this.name,n,r,o),this.removeValue=(n,r)=>this.form.removeFieldValue(this.name,n,r),this.swapValues=(n,r,o)=>this.form.swapFieldValues(this.name,n,r,o),this.moveValue=(n,r,o)=>this.form.moveFieldValues(this.name,n,r,o),this.getLinkedFields=n=>{const r=Object.values(this.form.fieldInfo),o=[];for(const i of r){if(!i.instance)continue;const{onChangeListenTo:s,onBlurListenTo:a}=i.instance.options.validators||{};n==="change"&&(s!=null&&s.includes(this.name))&&o.push(i.instance),n==="blur"&&(a!=null&&a.includes(this.name))&&o.push(i.instance)}return o},this.validateSync=n=>{const r=Ud(n,this.options),i=this.getLinkedFields(n).reduce((l,u)=>{const c=Ud(n,u.options);return c.forEach(f=>{f.field=u}),l.concat(c)},[]);let s=!1;this.form.store.batch(()=>{const l=(u,c)=>{const f=ag(u.runValidator({validate:c.validate,value:{value:u.getValue(),fieldApi:u},type:"validate"})),d=ao(c.cause);u.state.meta.errorMap[d]!==f&&u.setMeta(h=>({...h,errorMap:{...h.errorMap,[ao(c.cause)]:f}})),f&&(s=!0)};for(const u of r)u.validate&&l(this,u);for(const u of i)u.validate&&l(u.field,u)});const a=ao("submit");return this.state.meta.errorMap[a]&&n!=="submit"&&!s&&this.setMeta(l=>({...l,errorMap:{...l.errorMap,[a]:void 0}})),{hasErrored:s}},this.validateAsync=async n=>{const r=Bd(n,this.options),o=this.getLinkedFields(n),i=o.reduce((c,f)=>{const d=Bd(n,f.options);return d.forEach(h=>{h.field=f}),c.concat(d)},[]);this.state.meta.isValidating||this.setMeta(c=>({...c,isValidating:!0}));for(const c of o)c.setMeta(f=>({...f,isValidating:!0}));const s=[],a=[],l=(c,f,d)=>{const h=ao(f.cause),v=c.getInfo().validationMetaMap[h];v==null||v.lastAbortController.abort();const y=new AbortController;this.getInfo().validationMetaMap[h]={lastAbortController:y},d.push(new Promise(async S=>{let m;try{m=await new Promise((g,x)=>{setTimeout(async()=>{if(y.signal.aborted)return g(void 0);try{g(await this.runValidator({validate:f.validate,value:{value:c.getValue(),fieldApi:c,signal:y.signal},type:"validateAsync"}))}catch(w){x(w)}},f.debounceMs)})}catch(g){m=g}if(y.signal.aborted)return S(void 0);const p=ag(m);c.setMeta(g=>({...g,errorMap:{...g==null?void 0:g.errorMap,[ao(n)]:p}})),S(p)}))};for(const c of r)c.validate&&l(this,c,s);for(const c of i)c.validate&&l(c.field,c,a);let u=[];(s.length||a.length)&&(u=await Promise.all(s),await Promise.all(a)),this.setMeta(c=>({...c,isValidating:!1}));for(const c of o)c.setMeta(f=>({...f,isValidating:!1}));return u.filter(Boolean)},this.validate=n=>{var r;if(!this.state.meta.isTouched)return[];try{this.form.validate(n)}catch{}const{hasErrored:o}=this.validateSync(n);return o&&!this.options.asyncAlways?((r=this.getInfo().validationMetaMap[ao(n)])==null||r.lastAbortController.abort(),this.state.meta.errors):this.validateAsync(n)},this.handleChange=n=>{this.setValue(n)},this.handleBlur=()=>{this.state.meta.isTouched||(this.setMeta(r=>({...r,isTouched:!0})),this.validate("change")),this.validate("blur")},this.form=t.form,this.name=t.name,t.defaultValue!==void 0&&this.form.setFieldValue(this.name,t.defaultValue,{dontUpdateMeta:!0}),this.store=new Jd({value:this.getValue(),meta:this._getMeta()??{isValidating:!1,isTouched:!1,isDirty:!1,isPristine:!0,errors:[],errorMap:{},...t.defaultMeta}},{onUpdate:()=>{const n=this.store.state;n.meta.errors=Object.values(n.meta.errorMap).filter(r=>r!==void 0),n.meta.isPristine=!n.meta.isDirty,this.prevState=n,this.state=n}}),this.state=this.store.state,this.prevState=this.state,this.options=t}runValidator(t){const n=[this.form.options.validatorAdapter,this.options.validatorAdapter];for(const r of n)if(r&&typeof t.validate!="function")return r()[t.type](t.value,t.validate);return t.validate(t.value)}}function ag(e){if(e)return typeof e!="string"?"Invalid Form Values":e}function ao(e){switch(e){case"submit":return"onSubmit";case"blur":return"onBlur";case"mount":return"onMount";case"server":return"onServer";case"change":default:return"onChange"}}const ml=typeof window<"u"?b.useLayoutEffect:b.useEffect;function B1(e){const[t]=b.useState(()=>{const r=new nM({...e,form:e.form,name:e.name});return r.Field=U1,r});return ml(t.mount,[t]),ml(()=>{t.update(e)}),La(t.store,e.mode==="array"?n=>[n.meta,Object.keys(n.value??[]).length]:void 0),t}const U1=({children:e,...t})=>{const n=B1(t);return _.jsx(_.Fragment,{children:Tu(e,n)})};function rM(e){const[t]=b.useState(()=>{const n=new tM(e),r=n;return r.Field=function(i){return _.jsx(U1,{...i,form:n})},r.useField=o=>B1({...o,form:n}),r.useStore=o=>La(n.store,o),r.Subscribe=o=>Tu(o.children,La(n.store,o.selector)),r});return ml(t.mount,[]),t.useStore(n=>n.isSubmitting),ml(()=>{t.update(e)}),t}const oM=(e,t)=>{if(!e)return["",{}];if(e.code)switch(e.code){case"NotFound":return[e.code,{context:`${e.entity}:${t}`}];case"Unauthorized":return[e.code,{context:t}];default:return["Unknown",{context:t}]}return[(e==null?void 0:e.message)??"Unknown",{context:t}]},iM=()=>{const[e,t]=b.useState(),n=Dd(i=>i.setUser),{t:r}=I1(),o=rM({defaultValues:{email:"",password:""},onSubmit:async({value:i})=>{try{n(await L1.logIn(i.email,i.password))}catch(s){t(s)}}});return _.jsx("form",{onSubmit:i=>{i.preventDefault(),i.stopPropagation(),o.handleSubmit()},noValidate:!0,children:_.jsxs(O2,{sx:{display:"grid",gap:1,padding:1,minWidth:"100px"},children:[_.jsx(o.Field,{name:"email",validators:{onChange:({value:i})=>i?void 0:r("Email required"),onChangeAsyncDebounceMs:500,onChangeAsync:async({value:i})=>(await new Promise(s=>setTimeout(s,1e3)),i.includes("error")&&'No "error" allowed in email')},children:i=>_.jsx(_.Fragment,{children:_.jsx(Jm,{variant:"outlined",name:i.name,value:i.state.value,onBlur:i.handleBlur,onChange:s=>i.handleChange(s.target.value),size:"small",label:r("E-Mail"),required:!0,error:i.state.meta.isTouched&&i.state.meta.errors.length>0,helperText:i.state.meta.isTouched?i.state.meta.errors.join(","):""})})}),_.jsx(o.Field,{name:"password",validators:{onChange:({value:i})=>i?void 0:r("Password required"),onChangeAsyncDebounceMs:500,onChangeAsync:async({value:i})=>(await new Promise(s=>setTimeout(s,1e3)),i.includes("error")&&'No "error" allowed in password')},children:i=>_.jsx(_.Fragment,{children:_.jsx(Jm,{variant:"outlined",name:i.name,value:i.state.value,onBlur:i.handleBlur,onChange:s=>i.handleChange(s.target.value),size:"small",label:r("Password"),required:!0,error:i.state.meta.isTouched&&i.state.meta.errors.length>0,helperText:i.state.meta.isTouched?i.state.meta.errors.join(","):""})})}),_.jsx(o.Subscribe,{selector:i=>[i.canSubmit,i.isSubmitting],children:([i])=>_.jsx(_.Fragment,{children:_.jsx(A2,{type:"submit",disabled:!i,variant:"contained",children:r("Log in")})})}),_.jsx(S1,{color:"error.main",children:r(...oM(e,"login"))})]})})},sM=({children:e})=>{const t=J_({disableHysteresis:!0,threshold:0});return b.cloneElement(e,{elevation:t?4:0})},aM=()=>{const[e,t]=b.useState(null),n=Dd(a=>a.user),r=Dd(a=>a.setUser),{t:o}=I1(),i=a=>{t(a.currentTarget)},s=()=>{t(null)};return _.jsx(sM,{children:_.jsx(WR,{children:_.jsxs(_1,{children:[_.jsx(S1,{variant:"h6",component:"div",sx:{flexGrow:1},children:o("GuestBook")}),n?_.jsx(Lm,{onClick:i,sx:{p:0},children:_.jsx(y2,{alt:n.username,src:`storage/${n.image}`})}):_.jsx(Lm,{size:"large",onClick:i,color:"inherit",children:_.jsx(Z_,{})}),_.jsx(P1,{id:"menu-appbar",anchorEl:e,anchorOrigin:{vertical:"bottom",horizontal:"right"},keepMounted:!0,transformOrigin:{vertical:"top",horizontal:"right"},open:!!e,onClose:s,children:n?[_.jsx(Qm,{onClick:s,children:o("Profile")},"profile"),_.jsx(Qm,{onClick:()=>{L1.logOut(),r(void 0)},children:o("Log out")},"logout")]:_.jsx(iM,{})})]})})})},V1=VS()({component:()=>_.jsxs(_.Fragment,{children:[_.jsx(aM,{}),_.jsx(_1,{}),_.jsx(g0,{}),!1]})}),lM=KS("/")({component:uM});function uM(){return _.jsx(_.Fragment,{})}const cM=lM.update({path:"/",getParentRoute:()=>V1}),dM=V1.addChildren({IndexRoute:cM}),fM={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class gl{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||fM,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]||(this.observers[r]=new Map);const o=this.observers[r].get(n)||0;this.observers[r].set(n,o+1)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t].delete(n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o{let[a,l]=s;for(let u=0;u{let[a,l]=s;for(let u=0;u{e=r,t=o});return n.resolve=e,n.reject=t,n}function lg(e){return e==null?"":""+e}function pM(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}const hM=/###/g;function Ji(e,t,n){function r(a){return a&&a.indexOf("###")>-1?a.replace(hM,"."):a}function o(){return!e||typeof e=="string"}const i=typeof t!="string"?t:t.split(".");let s=0;for(;s":">",'"':""","'":"'","/":"/"};function vM(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>yM[t]):e}class xM{constructor(t){this.capacity=t,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(t){const n=this.regExpMap.get(t);if(n!==void 0)return n;const r=new RegExp(t);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(t,r),this.regExpQueue.push(t),r}}const SM=[" ",",","?","!",";"],bM=new xM(20);function wM(e,t,n){t=t||"",n=n||"";const r=SM.filter(s=>t.indexOf(s)<0&&n.indexOf(s)<0);if(r.length===0)return!0;const o=bM.getRegExp(`(${r.map(s=>s==="?"?"\\?":s).join("|")})`);let i=!o.test(e);if(!i){const s=e.indexOf(n);s>0&&!o.test(e.substring(0,s))&&(i=!0)}return i}function Vd(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let o=e;for(let i=0;i-1&&l0?e.replace("_","-"):e}class cg extends Mu{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const i=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,s=o.ignoreJSONStructure!==void 0?o.ignoreJSONStructure:this.options.ignoreJSONStructure;let a;t.indexOf(".")>-1?a=t.split("."):(a=[t,n],r&&(Array.isArray(r)?a.push(...r):typeof r=="string"&&i?a.push(...r.split(i)):a.push(r)));const l=yl(this.data,a);return!l&&!n&&!r&&t.indexOf(".")>-1&&(t=a[0],n=a[1],r=a.slice(2).join(".")),l||!s||typeof r!="string"?l:Vd(this.data&&this.data[t]&&this.data[t][n],r,i)}addResource(t,n,r,o){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator;let a=[t,n];r&&(a=a.concat(s?r.split(s):r)),t.indexOf(".")>-1&&(a=t.split("."),o=n,n=a[1]),this.addNamespaces(n),ug(this.data,a,o),i.silent||this.emit("added",t,n,r,o)}addResources(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const i in r)(typeof r[i]=="string"||Array.isArray(r[i]))&&this.addResource(t,n,i,r[i],{silent:!0});o.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,o,i){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},a=[t,n];t.indexOf(".")>-1&&(a=t.split("."),o=r,r=n,n=a[1]),this.addNamespaces(n);let l=yl(this.data,a)||{};s.skipCopy||(r=JSON.parse(JSON.stringify(r))),o?H1(l,r,i):l={...l,...r},ug(this.data,a,l),s.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(o=>n[o]&&Object.keys(n[o]).length>0)}toJSON(){return this.data}}var W1={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,o){return e.forEach(i=>{this.processors[i]&&(t=this.processors[i].process(t,n,r,o))}),t}};const dg={};class xl extends Mu{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),pM(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=En.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let i=n.ns||this.options.defaultNS||[];const s=r&&t.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!wM(t,r,o);if(s&&!a){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:i};const u=t.split(r);(r!==o||r===o&&this.options.ns.indexOf(u[0])>-1)&&(i=u.shift()),t=u.join(o)}return typeof i=="string"&&(i=[i]),{key:t,namespaces:i}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const o=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(t[t.length-1],n),l=a[a.length-1],u=n.lng||this.language,c=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(c){const x=n.nsSeparator||this.options.nsSeparator;return o?{res:`${l}${x}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${x}${s}`}return o?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:s}const f=this.resolve(t,n);let d=f&&f.res;const h=f&&f.usedKey||s,v=f&&f.exactUsedKey||s,y=Object.prototype.toString.apply(d),S=["[object Number]","[object Function]","[object RegExp]"],m=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,p=!this.i18nFormat||this.i18nFormat.handleAsObject;if(p&&d&&(typeof d!="string"&&typeof d!="boolean"&&typeof d!="number")&&S.indexOf(y)<0&&!(typeof m=="string"&&Array.isArray(d))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const x=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,d,{...n,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return o?(f.res=x,f.usedParams=this.getUsedParamsDetails(n),f):x}if(i){const x=Array.isArray(d),w=x?[]:{},k=x?v:h;for(const C in d)if(Object.prototype.hasOwnProperty.call(d,C)){const R=`${k}${i}${C}`;w[C]=this.translate(R,{...n,joinArrays:!1,ns:a}),w[C]===R&&(w[C]=d[C])}d=w}}else if(p&&typeof m=="string"&&Array.isArray(d))d=d.join(m),d&&(d=this.extendTranslation(d,t,n,r));else{let x=!1,w=!1;const k=n.count!==void 0&&typeof n.count!="string",C=xl.hasDefaultValue(n),R=k?this.pluralResolver.getSuffix(u,n.count,n):"",I=n.ordinal&&k?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",M=k&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),j=M&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${R}`]||n[`defaultValue${I}`]||n.defaultValue;!this.isValidLookup(d)&&C&&(x=!0,d=j),this.isValidLookup(d)||(w=!0,d=s);const B=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&w?void 0:d,A=C&&j!==d&&this.options.updateMissing;if(w||x||A){if(this.logger.log(A?"updateKey":"missingKey",u,l,s,A?j:d),i){const O=this.resolve(s,{...n,keySeparator:!1});O&&O.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.")}let E=[];const T=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&T&&T[0])for(let O=0;O{const W=C&&L!==d?L:B;this.options.missingKeyHandler?this.options.missingKeyHandler(O,l,$,W,A,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(O,l,$,W,A,n),this.emit("missingKey",O,l,$,d)};this.options.saveMissing&&(this.options.saveMissingPlurals&&k?E.forEach(O=>{const $=this.pluralResolver.getSuffixes(O,n);M&&n[`defaultValue${this.options.pluralSeparator}zero`]&&$.indexOf(`${this.options.pluralSeparator}zero`)<0&&$.push(`${this.options.pluralSeparator}zero`),$.forEach(L=>{N([O],s+L,n[`defaultValue${L}`]||j)})}):N(E,s,j))}d=this.extendTranslation(d,t,n,f,r),w&&d===s&&this.options.appendNamespaceToMissingKey&&(d=`${l}:${s}`),(w||x)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?d=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,x?d:void 0):d=this.options.parseMissingKeyHandler(d))}return o?(f.res=d,f.usedParams=this.getUsedParamsDetails(n),f):d}extendTranslation(t,n,r,o,i){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=typeof t=="string"&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let c;if(u){const d=t.match(this.interpolator.nestingRegexp);c=d&&d.length}let f=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(f={...this.options.interpolation.defaultVariables,...f}),t=this.interpolator.interpolate(t,f,r.lng||this.language||o.usedLng,r),u){const d=t.match(this.interpolator.nestingRegexp),h=d&&d.length;c1&&arguments[1]!==void 0?arguments[1]:{},r,o,i,s,a;return typeof t=="string"&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),c=u.key;o=c;let f=u.namespaces;this.options.fallbackNS&&(f=f.concat(this.options.fallbackNS));const d=n.count!==void 0&&typeof n.count!="string",h=d&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),v=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",y=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);f.forEach(S=>{this.isValidLookup(r)||(a=S,!dg[`${y[0]}-${S}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(dg[`${y[0]}-${S}`]=!0,this.logger.warn(`key "${o}" for languages "${y.join(", ")}" won't get resolved as namespace "${a}" 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!!!")),y.forEach(m=>{if(this.isValidLookup(r))return;s=m;const p=[c];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(p,c,m,S,n);else{let x;d&&(x=this.pluralResolver.getSuffix(m,n.count,n));const w=`${this.options.pluralSeparator}zero`,k=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(d&&(p.push(c+x),n.ordinal&&x.indexOf(k)===0&&p.push(c+x.replace(k,this.options.pluralSeparator)),h&&p.push(c+w)),v){const C=`${c}${this.options.contextSeparator}${n.context}`;p.push(C),d&&(p.push(C+x),n.ordinal&&x.indexOf(k)===0&&p.push(C+x.replace(k,this.options.pluralSeparator)),h&&p.push(C+w))}}let g;for(;g=p.pop();)this.isValidLookup(r)||(i=g,r=this.getResource(m,S,g,n))}))})}),{res:r,usedKey:o,exactUsedKey:i,usedLng:s,usedNS:a}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,o):this.resourceStore.getResource(t,n,r,o)}getUsedParamsDetails(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=t.replace&&typeof t.replace!="string";let o=r?t.replace:t;if(r&&typeof t.count<"u"&&(o.count=t.count),this.options.interpolation.defaultVariables&&(o={...this.options.interpolation.defaultVariables,...o}),!r){o={...o};for(const i of n)delete o[i]}return o}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}function Pc(e){return e.charAt(0).toUpperCase()+e.slice(1)}class fg{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=En.create("languageUtils")}getScriptPartFromCode(t){if(t=vl(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=vl(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(o=>o.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=Pc(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=Pc(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=Pc(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const o=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(o))&&(n=o)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const o=this.getLanguagePartFromCode(r);if(this.isSupportedCode(o))return n=o;n=this.options.supportedLngs.find(i=>{if(i===o)return i;if(!(i.indexOf("-")<0&&o.indexOf("-")<0)&&(i.indexOf("-")>0&&o.indexOf("-")<0&&i.substring(0,i.indexOf("-"))===o||i.indexOf(o)===0&&o.length>1))return i})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Array.isArray(t))return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),o=[],i=s=>{s&&(this.isSupportedCode(s)?o.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&i(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&i(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&i(this.getLanguagePartFromCode(t))):typeof t=="string"&&i(this.formatLanguageCode(t)),r.forEach(s=>{o.indexOf(s)<0&&i(this.formatLanguageCode(s))}),o}}let CM=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],EM={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}};const PM=["v1","v2","v3"],kM=["v4"],pg={zero:0,one:1,two:2,few:3,many:4,other:5};function RM(){const e={};return CM.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:EM[t.fc]}})}),e}class OM{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=En.create("pluralResolver"),(!this.options.compatibilityJSON||kM.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=RM()}addRule(t,n){this.rules[t]=n}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(vl(t==="dev"?"en":t),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(o=>`${n}${o}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((o,i)=>pg[o]-pg[i]).map(o=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${o}`):r.numbers.map(o=>this.getSuffix(t,o,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=this.getRule(t,r);return o?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${o.select(n)}`:this.getSuffixRetroCompatible(o,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let o=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(o===2?o="plural":o===1&&(o=""));const i=()=>this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString();return this.options.compatibilityJSON==="v1"?o===1?"":typeof o=="number"?`_plural_${o.toString()}`:i():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?i():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!PM.includes(this.options.compatibilityJSON)}}function hg(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=gM(e,t,n);return!i&&o&&typeof n=="string"&&(i=Vd(e,n,r),i===void 0&&(i=Vd(t,n,r))),i}class _M{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=En.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const{escape:n,escapeValue:r,useRawValueToEscape:o,prefix:i,prefixEscaped:s,suffix:a,suffixEscaped:l,formatSeparator:u,unescapeSuffix:c,unescapePrefix:f,nestingPrefix:d,nestingPrefixEscaped:h,nestingSuffix:v,nestingSuffixEscaped:y,nestingOptionsSeparator:S,maxReplaces:m,alwaysFormat:p}=t.interpolation;this.escape=n!==void 0?n:vM,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=o!==void 0?o:!1,this.prefix=i?lo(i):s||"{{",this.suffix=a?lo(a):l||"}}",this.formatSeparator=u||",",this.unescapePrefix=c?"":f||"-",this.unescapeSuffix=this.unescapePrefix?"":c||"",this.nestingPrefix=d?lo(d):h||lo("$t("),this.nestingSuffix=v?lo(v):y||lo(")"),this.nestingOptionsSeparator=S||",",this.maxReplaces=m||1e3,this.alwaysFormat=p!==void 0?p:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=(n,r)=>n&&n.source===r?(n.lastIndex=0,n):new RegExp(r,"g");this.regexp=t(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=t(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=t(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(t,n,r,o){let i,s,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(v){return v.replace(/\$/g,"$$$$")}const c=v=>{if(v.indexOf(this.formatSeparator)<0){const p=hg(n,l,v,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(p,void 0,r,{...o,...n,interpolationkey:v}):p}const y=v.split(this.formatSeparator),S=y.shift().trim(),m=y.join(this.formatSeparator).trim();return this.format(hg(n,l,S,this.options.keySeparator,this.options.ignoreJSONStructure),m,r,{...o,...n,interpolationkey:S})};this.resetRegExp();const f=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,d=o&&o.interpolation&&o.interpolation.skipOnVariables!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:v=>u(v)},{regex:this.regexp,safeValue:v=>this.escapeValue?u(this.escape(v)):u(v)}].forEach(v=>{for(a=0;i=v.regex.exec(t);){const y=i[1].trim();if(s=c(y),s===void 0)if(typeof f=="function"){const m=f(t,i,o);s=typeof m=="string"?m:""}else if(o&&Object.prototype.hasOwnProperty.call(o,y))s="";else if(d){s=i[0];continue}else this.logger.warn(`missed to pass in variable ${y} for interpolating ${t}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=lg(s));const S=v.safeValue(s);if(t=t.replace(i[0],S),d?(v.regex.lastIndex+=s.length,v.regex.lastIndex-=i[0].length):v.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o,i,s;function a(l,u){const c=this.nestingOptionsSeparator;if(l.indexOf(c)<0)return l;const f=l.split(new RegExp(`${c}[ ]*{`));let d=`{${f[1]}`;l=f[0],d=this.interpolate(d,s);const h=d.match(/'/g),v=d.match(/"/g);(h&&h.length%2===0&&!v||v.length%2!==0)&&(d=d.replace(/'/g,'"'));try{s=JSON.parse(d),u&&(s={...u,...s})}catch(y){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,y),`${l}${c}${d}`}return s.defaultValue&&s.defaultValue.indexOf(this.prefix)>-1&&delete s.defaultValue,l}for(;o=this.nestingRegexp.exec(t);){let l=[];s={...r},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(o[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(o[1])){const c=o[1].split(this.formatSeparator).map(f=>f.trim());o[1]=c.shift(),l=c,u=!0}if(i=n(a.call(this,o[1].trim(),s),s),i&&o[0]===t&&typeof i!="string")return i;typeof i!="string"&&(i=lg(i)),i||(this.logger.warn(`missed to resolve ${o[1]} for nesting ${t}`),i=""),u&&(i=l.reduce((c,f)=>this.format(c,f,r.lng,{...r,interpolationkey:o[1].trim()}),i.trim())),t=t.replace(o[0],i),this.regexp.lastIndex=0}return t}}function TM(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const o=r[1].substring(0,r[1].length-1);t==="currency"&&o.indexOf(":")<0?n.currency||(n.currency=o.trim()):t==="relativetime"&&o.indexOf(":")<0?n.range||(n.range=o.trim()):o.split(";").forEach(s=>{if(s){const[a,...l]=s.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,""),c=a.trim();n[c]||(n[c]=u),u==="false"&&(n[c]=!1),u==="true"&&(n[c]=!0),isNaN(u)||(n[c]=parseInt(u,10))}})}return{formatName:t,formatOptions:n}}function uo(e){const t={};return function(r,o,i){const s=o+JSON.stringify(i);let a=t[s];return a||(a=e(vl(o),i),t[s]=a),a(r)}}class MM{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=En.create("formatter"),this.options=t,this.formats={number:uo((n,r)=>{const o=new Intl.NumberFormat(n,{...r});return i=>o.format(i)}),currency:uo((n,r)=>{const o=new Intl.NumberFormat(n,{...r,style:"currency"});return i=>o.format(i)}),datetime:uo((n,r)=>{const o=new Intl.DateTimeFormat(n,{...r});return i=>o.format(i)}),relativetime:uo((n,r)=>{const o=new Intl.RelativeTimeFormat(n,{...r});return i=>o.format(i,r.range||"day")}),list:uo((n,r)=>{const o=new Intl.ListFormat(n,{...r});return i=>o.format(i)})},this.init(t)}init(t){const r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=uo(n)}format(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((a,l)=>{const{formatName:u,formatOptions:c}=TM(l);if(this.formats[u]){let f=a;try{const d=o&&o.formatParams&&o.formatParams[o.interpolationkey]||{},h=d.locale||d.lng||o.locale||o.lng||r;f=this.formats[u](a,h,{...c,...o,...d})}catch(d){this.logger.warn(d)}return f}else this.logger.warn(`there was no format function for ${u}`);return a},t)}}function $M(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class IM extends Mu{constructor(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=o,this.logger=En.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=o.maxParallelReads||10,this.readingCalls=0,this.maxRetries=o.maxRetries>=0?o.maxRetries:5,this.retryTimeout=o.retryTimeout>=1?o.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,o.backend,o)}queueLoad(t,n,r,o){const i={},s={},a={},l={};return t.forEach(u=>{let c=!0;n.forEach(f=>{const d=`${u}|${f}`;!r.reload&&this.store.hasResourceBundle(u,f)?this.state[d]=2:this.state[d]<0||(this.state[d]===1?s[d]===void 0&&(s[d]=!0):(this.state[d]=1,c=!1,s[d]===void 0&&(s[d]=!0),i[d]===void 0&&(i[d]=!0),l[f]===void 0&&(l[f]=!0)))}),c||(a[u]=!0)}),(Object.keys(i).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:o}),{toLoad:Object.keys(i),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const o=t.split("|"),i=o[0],s=o[1];n&&this.emit("failedLoading",i,s,n),r&&this.store.addResourceBundle(i,s,r,void 0,void 0,{skipCopy:!0}),this.state[t]=n?-1:2;const a={};this.queue.forEach(l=>{mM(l.loaded,[i],s),$M(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const c=l.loaded[u];c.length&&c.forEach(f=>{a[u][f]===void 0&&(a[u][f]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:o,wait:i,callback:s});return}this.readingCalls++;const a=(u,c)=>{if(this.readingCalls--,this.waitingReads.length>0){const f=this.waitingReads.shift();this.read(f.lng,f.ns,f.fcName,f.tried,f.wait,f.callback)}if(u&&c&&o{this.read.call(this,t,n,r,o+1,i*2,s)},i);return}s(u,c)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(c=>a(null,c)).catch(a):a(null,u)}catch(u){a(u)}return}return l(t,n,a)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const i=this.queueLoad(t,n,r,o);if(!i.toLoad.length)return i.pending.length||o(),null;i.toLoad.forEach(s=>{this.loadOne(s)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),o=r[0],i=r[1];this.read(o,i,"read",void 0,void 0,(s,a)=>{s&&this.logger.warn(`${n}loading namespace ${i} for language ${o} failed`,s),!s&&a&&this.logger.log(`${n}loaded namespace ${i} for language ${o}`,a),this.loaded(t,s,a)})}saveMissing(t,n,r,o,i){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" 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!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...s,isUpdate:i},u=this.backend.create.bind(this.backend);if(u.length<6)try{let c;u.length===5?c=u(t,n,r,o,l):c=u(t,n,r,o),c&&typeof c.then=="function"?c.then(f=>a(null,f)).catch(a):a(null,c)}catch(c){a(c)}else u(t,n,r,o,a,l)}!t||!t[0]||this.store.addResource(t[0],n,r,o)}}}function mg(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let n={};if(typeof t[1]=="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const r=t[3]||t[2];Object.keys(r).forEach(o=>{n[o]=r[o]})}return n},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function gg(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function pa(){}function LM(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class ws extends Mu{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=gg(t),this.services={},this.logger=En,this.modules={external:[]},LM(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const o=mg();this.options={...o,...this.options,...gg(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...o.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function i(c){return c?typeof c=="function"?new c:c:null}if(!this.options.isClone){this.modules.logger?En.init(i(this.modules.logger),this.options):En.init(null,this.options);let c;this.modules.formatter?c=this.modules.formatter:typeof Intl<"u"&&(c=MM);const f=new fg(this.options);this.store=new cg(this.options.resources,this.options);const d=this.services;d.logger=En,d.resourceStore=this.store,d.languageUtils=f,d.pluralResolver=new OM(f,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===o.interpolation.format)&&(d.formatter=i(c),d.formatter.init(d,this.options),this.options.interpolation.format=d.formatter.format.bind(d.formatter)),d.interpolator=new _M(this.options),d.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},d.backendConnector=new IM(i(this.modules.backend),d.resourceStore,d,this.options),d.backendConnector.on("*",function(h){for(var v=arguments.length,y=new Array(v>1?v-1:0),S=1;S1?v-1:0),S=1;S{h.init&&h.init(this)})}if(this.format=this.options.interpolation.format,r||(r=pa),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const c=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);c.length>0&&c[0]!=="dev"&&(this.options.lng=c[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(c=>{this[c]=function(){return t.store[c](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(c=>{this[c]=function(){return t.store[c](...arguments),t}});const l=Oi(),u=()=>{const c=(f,d)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(d),r(f,d)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return c(null,this.t.bind(this));this.changeLanguage(this.options.lng,c)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:pa;const o=typeof t=="string"?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(o&&o.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const i=[],s=a=>{if(!a||a==="cimode")return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{u!=="cimode"&&i.indexOf(u)<0&&i.push(u)})};o?s(o):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>s(l)),this.options.preload&&this.options.preload.forEach(a=>s(a)),this.services.backendConnector.load(i,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(a)})}else r(null)}reloadResources(t,n,r){const o=Oi();return t||(t=this.languages),n||(n=this.options.ns),r||(r=pa),this.services.backendConnector.reload(t,n,i=>{o.resolve(),r(i)}),o}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&W1.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const o=Oi();this.emit("languageChanging",t);const i=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},s=(l,u)=>{u?(i(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,o.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},a=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||i(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,c=>{s(c,u)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(t),o}getFixedT(t,n,r){var o=this;const i=function(s,a){let l;if(typeof a!="object"){for(var u=arguments.length,c=new Array(u>2?u-2:0),f=2;f`${l.keyPrefix}${d}${v}`):h=l.keyPrefix?`${l.keyPrefix}${d}${s}`:s,o.t(h,l)};return typeof t=="string"?i.lng=t:i.lngs=t,i.ns=n,i.keyPrefix=r,i}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],o=this.options?this.options.fallbackLng:!1,i=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};if(n.precheck){const a=n.precheck(this,s);if(a!==void 0)return a}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(r,t)&&(!o||s(i,t)))}loadNamespaces(t,n){const r=Oi();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(o=>{this.options.ns.indexOf(o)<0&&this.options.ns.push(o)}),this.loadResources(o=>{r.resolve(),n&&n(o)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=Oi();typeof t=="string"&&(t=[t]);const o=this.options.preload||[],i=t.filter(s=>o.indexOf(s)<0&&this.services.languageUtils.isSupportedCode(s));return i.length?(this.options.preload=o.concat(i),this.loadResources(s=>{r.resolve(),n&&n(s)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["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"],r=this.services&&this.services.languageUtils||new fg(mg());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new ws(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:pa;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const o={...this.options,...t,isClone:!0},i=new ws(o);return(t.debug!==void 0||t.prefix!==void 0)&&(i.logger=i.logger.clone(t)),["store","services","language"].forEach(a=>{i[a]=this[a]}),i.services={...this.services},i.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},r&&(i.store=new cg(this.store.data,o),i.services.resourceStore=i.store),i.translator=new xl(i.services,o),i.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),c=1;c{if(t)for(const n in t)e[n]===void 0&&(e[n]=t[n])}),e}const yg=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,jM=(e,t,n)=>{const r=n||{};r.path=r.path||"/";const o=encodeURIComponent(t);let i=`${e}=${o}`;if(r.maxAge>0){const s=r.maxAge-0;if(Number.isNaN(s))throw new Error("maxAge should be a Number");i+=`; Max-Age=${Math.floor(s)}`}if(r.domain){if(!yg.test(r.domain))throw new TypeError("option domain is invalid");i+=`; Domain=${r.domain}`}if(r.path){if(!yg.test(r.path))throw new TypeError("option path is invalid");i+=`; Path=${r.path}`}if(r.expires){if(typeof r.expires.toUTCString!="function")throw new TypeError("option expires is invalid");i+=`; Expires=${r.expires.toUTCString()}`}if(r.httpOnly&&(i+="; HttpOnly"),r.secure&&(i+="; Secure"),r.sameSite)switch(typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite){case!0:i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"strict":i+="; SameSite=Strict";break;case"none":i+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return i},vg={create(e,t,n,r){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};n&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+n*60*1e3)),r&&(o.domain=r),document.cookie=jM(e,encodeURIComponent(t),o)},read(e){const t=`${e}=`,n=document.cookie.split(";");for(let r=0;r-1&&(o=window.location.hash.substring(window.location.hash.indexOf("?")));const s=o.substring(1).split("&");for(let a=0;a0&&s[a].substring(0,l)===t&&(n=s[a].substring(l+1))}}return n}};let _i=null;const xg=()=>{if(_i!==null)return _i;try{_i=window!=="undefined"&&window.localStorage!==null;const e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch{_i=!1}return _i};var BM={name:"localStorage",lookup(e){let{lookupLocalStorage:t}=e;if(t&&xg())return window.localStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupLocalStorage:n}=t;n&&xg()&&window.localStorage.setItem(n,e)}};let Ti=null;const Sg=()=>{if(Ti!==null)return Ti;try{Ti=window!=="undefined"&&window.sessionStorage!==null;const e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch{Ti=!1}return Ti};var UM={name:"sessionStorage",lookup(e){let{lookupSessionStorage:t}=e;if(t&&Sg())return window.sessionStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupSessionStorage:n}=t;n&&Sg()&&window.sessionStorage.setItem(n,e)}},VM={name:"navigator",lookup(e){const t=[];if(typeof navigator<"u"){const{languages:n,userLanguage:r,language:o}=navigator;if(n)for(let i=0;i0?t:void 0}},HM={name:"htmlTag",lookup(e){let{htmlTag:t}=e,n;const r=t||(typeof document<"u"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(n=r.getAttribute("lang")),n}},WM={name:"path",lookup(e){var o;let{lookupFromPathIndex:t}=e;if(typeof window>"u")return;const n=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(n)?(o=n[typeof t=="number"?t:0])==null?void 0:o.replace("/",""):void 0}},KM={name:"subdomain",lookup(e){var o,i;let{lookupFromSubdomainIndex:t}=e;const n=typeof t=="number"?t+1:1,r=typeof window<"u"&&((i=(o=window.location)==null?void 0:o.hostname)==null?void 0:i.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i));if(r)return r[n]}};function qM(){return{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:e=>e}}class K1{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=t||{languageUtils:{}},this.options=AM(n,this.options||{},qM()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=o=>o.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=r,this.addDetector(DM),this.addDetector(zM),this.addDetector(BM),this.addDetector(UM),this.addDetector(VM),this.addDetector(HM),this.addDetector(WM),this.addDetector(KM)}addDetector(t){return this.detectors[t.name]=t,this}detect(t){t||(t=this.options.order);let n=[];return t.forEach(r=>{if(this.detectors[r]){let o=this.detectors[r].lookup(this.options);o&&typeof o=="string"&&(o=[o]),o&&(n=n.concat(o))}}),n=n.map(r=>this.options.convertDetectedLanguage(r)),this.services.languageUtils.getBestMatchFromCodes?n:n.length>0?n[0]:null}cacheUserLanguage(t,n){n||(n=this.options.caches),n&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(t)>-1||n.forEach(r=>{this.detectors[r]&&this.detectors[r].cacheUserLanguage(t,this.options)}))}}K1.type="languageDetector";function Hd(e){"@babel/helpers - typeof";return Hd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hd(e)}function q1(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":Hd(XMLHttpRequest))==="object"}function QM(e){return!!e&&typeof e.then=="function"}function GM(e){return QM(e)?e:Promise.resolve(e)}function XM(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Wd={exports:{}},ha={exports:{}},bg;function YM(){return bg||(bg=1,function(e,t){var n=typeof globalThis<"u"&&globalThis||typeof self<"u"&&self||typeof Ni<"u"&&Ni,r=function(){function i(){this.fetch=!1,this.DOMException=n.DOMException}return i.prototype=n,new i}();(function(i){(function(s){var a=typeof i<"u"&&i||typeof self<"u"&&self||typeof a<"u"&&a,l={searchParams:"URLSearchParams"in a,iterable:"Symbol"in a&&"iterator"in Symbol,blob:"FileReader"in a&&"Blob"in a&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in a,arrayBuffer:"ArrayBuffer"in a};function u(E){return E&&DataView.prototype.isPrototypeOf(E)}if(l.arrayBuffer)var c=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],f=ArrayBuffer.isView||function(E){return E&&c.indexOf(Object.prototype.toString.call(E))>-1};function d(E){if(typeof E!="string"&&(E=String(E)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(E)||E==="")throw new TypeError('Invalid character in header field name: "'+E+'"');return E.toLowerCase()}function h(E){return typeof E!="string"&&(E=String(E)),E}function v(E){var T={next:function(){var N=E.shift();return{done:N===void 0,value:N}}};return l.iterable&&(T[Symbol.iterator]=function(){return T}),T}function y(E){this.map={},E instanceof y?E.forEach(function(T,N){this.append(N,T)},this):Array.isArray(E)?E.forEach(function(T){this.append(T[0],T[1])},this):E&&Object.getOwnPropertyNames(E).forEach(function(T){this.append(T,E[T])},this)}y.prototype.append=function(E,T){E=d(E),T=h(T);var N=this.map[E];this.map[E]=N?N+", "+T:T},y.prototype.delete=function(E){delete this.map[d(E)]},y.prototype.get=function(E){return E=d(E),this.has(E)?this.map[E]:null},y.prototype.has=function(E){return this.map.hasOwnProperty(d(E))},y.prototype.set=function(E,T){this.map[d(E)]=h(T)},y.prototype.forEach=function(E,T){for(var N in this.map)this.map.hasOwnProperty(N)&&E.call(T,this.map[N],N,this)},y.prototype.keys=function(){var E=[];return this.forEach(function(T,N){E.push(N)}),v(E)},y.prototype.values=function(){var E=[];return this.forEach(function(T){E.push(T)}),v(E)},y.prototype.entries=function(){var E=[];return this.forEach(function(T,N){E.push([N,T])}),v(E)},l.iterable&&(y.prototype[Symbol.iterator]=y.prototype.entries);function S(E){if(E.bodyUsed)return Promise.reject(new TypeError("Already read"));E.bodyUsed=!0}function m(E){return new Promise(function(T,N){E.onload=function(){T(E.result)},E.onerror=function(){N(E.error)}})}function p(E){var T=new FileReader,N=m(T);return T.readAsArrayBuffer(E),N}function g(E){var T=new FileReader,N=m(T);return T.readAsText(E),N}function x(E){for(var T=new Uint8Array(E),N=new Array(T.length),O=0;O-1?T:E}function I(E,T){if(!(this instanceof I))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');T=T||{};var N=T.body;if(E instanceof I){if(E.bodyUsed)throw new TypeError("Already read");this.url=E.url,this.credentials=E.credentials,T.headers||(this.headers=new y(E.headers)),this.method=E.method,this.mode=E.mode,this.signal=E.signal,!N&&E._bodyInit!=null&&(N=E._bodyInit,E.bodyUsed=!0)}else this.url=String(E);if(this.credentials=T.credentials||this.credentials||"same-origin",(T.headers||!this.headers)&&(this.headers=new y(T.headers)),this.method=R(T.method||this.method||"GET"),this.mode=T.mode||this.mode||null,this.signal=T.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&N)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(N),(this.method==="GET"||this.method==="HEAD")&&(T.cache==="no-store"||T.cache==="no-cache")){var O=/([?&])_=[^&]*/;if(O.test(this.url))this.url=this.url.replace(O,"$1_="+new Date().getTime());else{var $=/\?/;this.url+=($.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}I.prototype.clone=function(){return new I(this,{body:this._bodyInit})};function M(E){var T=new FormData;return E.trim().split("&").forEach(function(N){if(N){var O=N.split("="),$=O.shift().replace(/\+/g," "),L=O.join("=").replace(/\+/g," ");T.append(decodeURIComponent($),decodeURIComponent(L))}}),T}function j(E){var T=new y,N=E.replace(/\r?\n[\t ]+/g," ");return N.split("\r").map(function(O){return O.indexOf(` `)===0?O.substr(1,O.length):O}).forEach(function(O){var $=O.split(":"),L=$.shift().trim();if(L){var W=$.join(":").trim();T.append(L,W)}}),T}k.call(I.prototype);function z(E,T){if(!(this instanceof z))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');T||(T={}),this.type="default",this.status=T.status===void 0?200:T.status,this.ok=this.status>=200&&this.status<300,this.statusText=T.statusText===void 0?"":""+T.statusText,this.headers=new y(T.headers),this.url=T.url||"",this._initBody(E)}k.call(z.prototype),z.prototype.clone=function(){return new z(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new y(this.headers),url:this.url})},z.error=function(){var E=new z(null,{status:0,statusText:""});return E.type="error",E};var B=[301,302,303,307,308];z.redirect=function(E,T){if(B.indexOf(T)===-1)throw new RangeError("Invalid status code");return new z(null,{status:T,headers:{location:E}})},s.DOMException=a.DOMException;try{new s.DOMException}catch{s.DOMException=function(T,N){this.message=T,this.name=N;var O=Error(T);this.stack=O.stack},s.DOMException.prototype=Object.create(Error.prototype),s.DOMException.prototype.constructor=s.DOMException}function A(E,T){return new Promise(function(N,O){var $=new I(E,T);if($.signal&&$.signal.aborted)return O(new s.DOMException("Aborted","AbortError"));var L=new XMLHttpRequest;function W(){L.abort()}L.onload=function(){var V={status:L.status,statusText:L.statusText,headers:j(L.getAllResponseHeaders()||"")};V.url="responseURL"in L?L.responseURL:V.headers.get("X-Request-URL");var H="response"in L?L.response:L.responseText;setTimeout(function(){N(new z(H,V))},0)},L.onerror=function(){setTimeout(function(){O(new TypeError("Network request failed"))},0)},L.ontimeout=function(){setTimeout(function(){O(new TypeError("Network request failed"))},0)},L.onabort=function(){setTimeout(function(){O(new s.DOMException("Aborted","AbortError"))},0)};function K(V){try{return V===""&&a.location.href?a.location.href:V}catch{return V}}L.open($.method,K($.url),!0),$.credentials==="include"?L.withCredentials=!0:$.credentials==="omit"&&(L.withCredentials=!1),"responseType"in L&&(l.blob?L.responseType="blob":l.arrayBuffer&&$.headers.get("Content-Type")&&$.headers.get("Content-Type").indexOf("application/octet-stream")!==-1&&(L.responseType="arraybuffer")),T&&typeof T.headers=="object"&&!(T.headers instanceof y)?Object.getOwnPropertyNames(T.headers).forEach(function(V){L.setRequestHeader(V,h(T.headers[V]))}):$.headers.forEach(function(V,H){L.setRequestHeader(H,V)}),$.signal&&($.signal.addEventListener("abort",W),L.onreadystatechange=function(){L.readyState===4&&$.signal.removeEventListener("abort",W)}),L.send(typeof $._bodyInit>"u"?null:$._bodyInit)})}return A.polyfill=!0,a.fetch||(a.fetch=A,a.Headers=y,a.Request=I,a.Response=z),s.Headers=y,s.Request=I,s.Response=z,s.fetch=A,s})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var o=n.fetch?n:r;t=o.fetch,t.default=o.fetch,t.fetch=o.fetch,t.Headers=o.Headers,t.Request=o.Request,t.Response=o.Response,e.exports=t}(ha,ha.exports)),ha.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof Ni<"u"&&Ni.fetch?n=Ni.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof XM<"u"&&typeof window>"u"){var r=n||YM();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(Wd,Wd.exports);var Q1=Wd.exports;const G1=bl(Q1),wg=Ag({__proto__:null,default:G1},[Q1]);function Cg(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Eg(e){for(var t=1;t"u"&&typeof global<"u"&&typeof global.process<"u"&&global.process.versions&&global.process.versions.node&&(i["User-Agent"]="i18next-http-backend (node/".concat(global.process.version,"; ").concat(global.process.platform," ").concat(global.process.arch,")")),r&&(i["Content-Type"]="application/json");var s=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,a=Eg({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:i},kg?{}:s),l=typeof t.alternateFetch=="function"&&t.alternateFetch.length>=1?t.alternateFetch:void 0;try{Pg(n,a,o,l)}catch(u){if(!s||Object.keys(s).length===0||!u.message||u.message.indexOf("not implemented")<0)return o(u);try{Object.keys(s).forEach(function(c){delete a[c]}),Pg(n,a,o,l),kg=!0}catch(c){o(c)}}},n$=function(t,n,r,o){r&&Gr(r)==="object"&&(r=Kd("",r).slice(1)),t.queryStringParams&&(n=Kd(n,t.queryStringParams));try{var i;Cs?i=new Cs:i=new Sl("MSXML2.XMLHTTP.3.0"),i.open(r?"POST":"GET",n,1),t.crossDomain||i.setRequestHeader("X-Requested-With","XMLHttpRequest"),i.withCredentials=!!t.withCredentials,r&&i.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),i.overrideMimeType&&i.overrideMimeType("application/json");var s=t.customHeaders;if(s=typeof s=="function"?s():s,s)for(var a in s)i.setRequestHeader(a,s[a]);i.onreadystatechange=function(){i.readyState>3&&o(i.status>=400?i.statusText:null,{status:i.status,data:i.responseText})},i.send(r)}catch(l){console&&console.log(l)}},r$=function(t,n,r,o){if(typeof r=="function"&&(o=r,r=void 0),o=o||function(){},jn&&n.indexOf("file:")!==0)return t$(t,n,r,o);if(q1()||typeof ActiveXObject=="function")return n$(t,n,r,o);o(new Error("No fetch and no xhr implementation found!"))};function ri(e){"@babel/helpers - typeof";return ri=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ri(e)}function Rg(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function kc(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};o$(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return s$(e,[{key:"init",value:function(n){var r=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(this.services=n,this.options=kc(kc(kc({},l$()),this.options||{}),o),this.allOptions=i,this.services&&this.options.reloadInterval){var s=setInterval(function(){return r.reload()},this.options.reloadInterval);ri(s)==="object"&&typeof s.unref=="function"&&s.unref()}}},{key:"readMulti",value:function(n,r,o){this._readAny(n,n,r,r,o)}},{key:"read",value:function(n,r,o){this._readAny([n],n,[r],r,o)}},{key:"_readAny",value:function(n,r,o,i,s){var a=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,o)),l=GM(l),l.then(function(u){if(!u)return s(null,{});var c=a.services.interpolator.interpolate(u,{lng:n.join("+"),ns:o.join("+")});a.loadUrl(c,s,r,i)})}},{key:"loadUrl",value:function(n,r,o,i){var s=this,a=typeof o=="string"?[o]:o,l=typeof i=="string"?[i]:i,u=this.options.parseLoadPayload(a,l);this.options.request(this.options,n,u,function(c,f){if(f&&(f.status>=500&&f.status<600||!f.status))return r("failed loading "+n+"; status code: "+f.status,!0);if(f&&f.status>=400&&f.status<500)return r("failed loading "+n+"; status code: "+f.status,!1);if(!f&&c&&c.message&&c.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+c.message,!0);if(c)return r(c,!1);var d,h;try{typeof f.data=="string"?d=s.options.parse(f.data,o,i):d=f.data}catch{h="failed parsing "+n+" to json"}if(h)return r(h,!1);r(null,d)})}},{key:"create",value:function(n,r,o,i,s){var a=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,o,i),u=0,c=[],f=[];n.forEach(function(d){var h=a.options.addPath;typeof a.options.addPath=="function"&&(h=a.options.addPath(d,r));var v=a.services.interpolator.interpolate(h,{lng:d,ns:r});a.options.request(a.options,v,l,function(y,S){u+=1,c.push(y),f.push(S),u===n.length&&typeof s=="function"&&s(c,f)})})}}},{key:"reload",value:function(){var n=this,r=this.services,o=r.backendConnector,i=r.languageUtils,s=r.logger,a=o.language;if(!(a&&a.toLowerCase()==="cimode")){var l=[],u=function(f){var d=i.toResolveHierarchy(f);d.forEach(function(h){l.indexOf(h)<0&&l.push(h)})};u(a),this.allOptions.preload&&this.allOptions.preload.forEach(function(c){return u(c)}),l.forEach(function(c){n.allOptions.ns.forEach(function(f){o.read(c,f,"read",null,null,function(d,h){d&&s.warn("loading namespace ".concat(f," for language ").concat(c," failed"),d),!d&&h&&s.log("loaded namespace ".concat(f," for language ").concat(c),h),o.loaded("".concat(c,"|").concat(f),d,h)})})})}}}])}();J1.type="backend";lt.use(J1).use(K1).use(dT).init({fallbackLng:"en",debug:!0,interpolation:{escapeValue:!1},backend:{loadPath:"/phpCourse/exam/dist/locales/{{lng}}/{{ns}}.json"}});const Z1=new Hx,u$=MS({routeTree:dM,context:{queryClient:Z1},defaultPreload:"intent",defaultPreloadStaleTime:0,basepath:"/phpCourse/exam"}),Og=document.getElementById("root");Og.innerHTML||wd.createRoot(Og).render(_.jsx(b.StrictMode,{children:_.jsxs(Kx,{client:Z1,children:[_.jsx(rC,{router:u$}),_.jsx(oC,{initialIsOpen:!1})]})})); diff --git a/exam/dist/index.html b/exam/dist/index.html index 264f3b3..f536899 100644 --- a/exam/dist/index.html +++ b/exam/dist/index.html @@ -5,7 +5,7 @@ Vite + React + TS - +
diff --git a/exam/dist/locales/de/translation.json b/exam/dist/locales/de/translation.json index 294a6f7..4e9d59c 100644 --- a/exam/dist/locales/de/translation.json +++ b/exam/dist/locales/de/translation.json @@ -1,10 +1,16 @@ { + "": "", "NotFound_user:login": "Benutzer existiert nicht", "Unauthorized:login": "Ungültige E-mail oder Passwort", "GuestBook": "Gästebuch", + "E-Mail": "E-Mail", "Password": "Passwort", + + "E-Mail required": "E-mail darf nicht leer sein", + "Password required": "Passwort darf nicht leer sein", + "Log in": "Anmelden", "Log out": "Abmelden", "Profile": "Profil" diff --git a/exam/dist/locales/en/translation.json b/exam/dist/locales/en/translation.json index 21f9060..1acbae8 100644 --- a/exam/dist/locales/en/translation.json +++ b/exam/dist/locales/en/translation.json @@ -1,10 +1,17 @@ { + "": "", + "NotFound_user:login": "User does not exist", "Unauthorized:login": "Invalid e-mail or password", "GuestBook": "GuestBook", + "E-Mail": "E-Mail", "Password": "Password", + + "E-Mail required": "E-mail required", + "Password required": "Password required", + "Log in": "Log in", "Log out": "Log out", "Profile": "Profile" diff --git a/exam/react/public/locales/de/translation.json b/exam/react/public/locales/de/translation.json index 294a6f7..4e9d59c 100644 --- a/exam/react/public/locales/de/translation.json +++ b/exam/react/public/locales/de/translation.json @@ -1,10 +1,16 @@ { + "": "", "NotFound_user:login": "Benutzer existiert nicht", "Unauthorized:login": "Ungültige E-mail oder Passwort", "GuestBook": "Gästebuch", + "E-Mail": "E-Mail", "Password": "Passwort", + + "E-Mail required": "E-mail darf nicht leer sein", + "Password required": "Passwort darf nicht leer sein", + "Log in": "Anmelden", "Log out": "Abmelden", "Profile": "Profil" diff --git a/exam/react/public/locales/en/translation.json b/exam/react/public/locales/en/translation.json index 21f9060..1acbae8 100644 --- a/exam/react/public/locales/en/translation.json +++ b/exam/react/public/locales/en/translation.json @@ -1,10 +1,17 @@ { + "": "", + "NotFound_user:login": "User does not exist", "Unauthorized:login": "Invalid e-mail or password", "GuestBook": "GuestBook", + "E-Mail": "E-Mail", "Password": "Password", + + "E-Mail required": "E-mail required", + "Password required": "Password required", + "Log in": "Log in", "Log out": "Log out", "Profile": "Profile" diff --git a/exam/react/src/components/Forms/Login/Login.tsx b/exam/react/src/components/Forms/Login/Login.tsx index a8ffc01..640b804 100644 --- a/exam/react/src/components/Forms/Login/Login.tsx +++ b/exam/react/src/components/Forms/Login/Login.tsx @@ -41,7 +41,7 @@ const Login: FC = () => { (!value ? 'Email required' : undefined), + onChange: ({ value }) => (!value ? t('Email required') : undefined), onChangeAsyncDebounceMs: 500, onChangeAsync: async ({ value }) => { await new Promise((resolve) => setTimeout(resolve, 1000)); @@ -70,7 +70,7 @@ const Login: FC = () => { (!value ? 'Password required' : undefined), + onChange: ({ value }) => (!value ? t('Password required') : undefined), onChangeAsyncDebounceMs: 500, onChangeAsync: async ({ value }) => { await new Promise((resolve) => setTimeout(resolve, 1000));