@openmrs/esm-ward-app 11.1.1-pre.9708 → 11.1.1-pre.9712
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/dist/1442.js +1 -0
- package/dist/1442.js.map +1 -0
- package/dist/1780.js +1 -1
- package/dist/2152.js +1 -0
- package/dist/2152.js.map +1 -0
- package/dist/3560.js +1 -1
- package/dist/3989.js +1 -1
- package/dist/3989.js.map +1 -1
- package/dist/4560.js +1 -0
- package/dist/4560.js.map +1 -0
- package/dist/581.js +1 -1
- package/dist/7209.js +1 -0
- package/dist/7209.js.map +1 -0
- package/dist/9061.js +1 -1
- package/dist/9061.js.map +1 -1
- package/dist/9590.js +1 -0
- package/dist/9590.js.map +1 -0
- package/dist/9771.js +1 -1
- package/dist/9771.js.map +1 -1
- package/dist/992.js +1 -1
- package/dist/openmrs-esm-ward-app.js +2 -2
- package/dist/openmrs-esm-ward-app.js.buildmanifest.json +162 -96
- package/dist/openmrs-esm-ward-app.js.map +1 -1
- package/dist/routes.json +1 -1
- package/package.json +1 -1
- package/dist/1744.js +0 -1
- package/dist/1744.js.map +0 -1
package/dist/581.js
CHANGED
|
@@ -12,7 +12,7 @@ If you're the maintainer: the 'elements' key only works with '_type' equal to 'A
|
|
|
12
12
|
${t}`)}return n}let oj=(e,t)=>{let r=structuredClone(t);if(!e)return r;for(let t of Object.keys(e)){let n=r[t],o=e[t];if(o&&(o.hasOwnProperty("_type")||o.hasOwnProperty("_default"))){r.hasOwnProperty(t)||(r[t]=o._default);let e=o._elements;if(n&&oT(e)){if(o._type===nI.Array&&Array.isArray(n)){let o=n.map(t=>oj(e,t));r[t]=o}else if(o._type===nI.Object)for(let t of Object.keys(n))n[t]=oj(e,n[t])}}else if(oR(o)){let e=n??{};oR(e)&&(r[t]=oj(o,e))}}return r};function oT(e){return!!e&&Object.keys(e).filter(e=>!["_default","_validators"].includes(e)).length>0}function oR(e){return"object"==typeof e&&!Array.isArray(e)&&null!==e}let oN=new Set;function oM(e,t){let r=`${e}:::${t}`;oN||(oN=new Set),oN.has(r)||(console.error(t),oN.add(r))}function oA(e){e?oN.forEach(t=>{t.startsWith(e)&&oN.delete(t)}):oN.clear()}function o$(){oo.forEach(e=>e()),oo.length=0,ol.clear(),ov.clear(),o_.clear(),ow.clear(),oa()}let oI={"Translation overrides":{_description:"Per-language overrides for frontend translations should be keyed by language code and each language dictionary contains the translation key and the display value",_type:nI.Object,_default:{},_validators:[nL(e=>Object.keys(e).every(e=>/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e)),e=>{let t=Object.keys(e).filter(e=>!/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e));return`The 'Translation overrides' object should have language codes for keys. Language codes must be in the form of a two-to-three letter language code optionally followed by a hyphen and a two-to-three letter country code. The following keys do not conform: ${t.join(", ")}.`})]}},oL={"Display conditions":{privileges:{_description:"The privilege(s) the user must have to use this extension",_type:nI.Array,_default:[]},expression:{_description:"The expression that determines whether the extension is displayed",_type:nI.String,_default:void 0}},...oI},oF=(e,t)=>nL(r=>e<=r&&r<=t,`must be between ${e} and ${t}`),oB=e=>{let t=e.concat(["openmrsBase","openmrsSpaBase"]);return nL(e=>{if(!e||"string"!=typeof e)return!1;let r=/\${(.*?)}/g,n=r.exec(e);for(;n;){if(!t.includes(n[1]))return!1;n=r.exec(e)}return!0},"Should be a URL or path. The allowed template parameters are "+t.map(e=>"${"+e+"}").join(", "))},oV=oB([]),oU=e=>nL(t=>e.includes(t),`Must be one of the following: '${e.join("', '")}'.`),oW={inRange:oF,isUrl:oV,isUrlWithTemplateParameters:oB,oneOf:oU};var oz=r(2034);let oK=Y("breadcrumbs",[]);function oH(e){return oG([e])}function oG(e){let t=[...oq(),...e.map(e=>({matcher:e.matcher instanceof RegExp?e.matcher:"string"==typeof e.matcher?(0,oz.pathToRegexp)(e.matcher).regexp:(0,oz.pathToRegexp)(e.path).regexp,settings:e}))];oK.setState(t,!0)}function oq(){return oK.getState()}function oY(e,t){if(t)return function(e,t){let[r]=e.filter(e=>e.matcher.test(t));return r}(e,t)||function(e,t){let r=t.split("/");for(;r.length>1;){r.pop();let t=oY(e,r.join("/"));if(t)return t}}(e,t)}function oZ(e,t){if(e.length>0){let r=oY(e,t);if(r){let t=[r],n=oY(e,r.settings.parent);for(;void 0!==n;)t.push(n),n=oY(e,n.settings.parent);return t.reverse()}}return[]}function oJ(e){return oZ(oq(),e)}var oX=Object.freeze({__proto__:null,get start(){return ah},get ensureJQuerySupport(){return iQ},get setBootstrapMaxTime(){return iM},get setMountMaxTime(){return iA},get setUnmountMaxTime(){return i$},get setUnloadMaxTime(){return iI},get registerApplication(){return ae},get unregisterApplication(){return ar},get getMountedApps(){return i5},get getAppStatus(){return i7},get unloadApplication(){return an},get checkActivityFunctions(){return at},get getAppNames(){return i9},get pathToActiveWhen(){return aa},get navigateToUrl(){return iz},get patchHistoryApi(){return iZ},get triggerAppChange(){return ac},get addErrorHandler(){return o4},get removeErrorHandler(){return o3},get mountRootParcel(){return ik},get NOT_LOADED(){return o9},get LOADING_SOURCE_CODE(){return o7},get NOT_BOOTSTRAPPED(){return o8},get BOOTSTRAPPING(){return ie},get NOT_MOUNTED(){return it},get MOUNTING(){return ir},get UPDATING(){return ii},get LOAD_ERROR(){return il},get MOUNTED(){return io},get UNLOADING(){return is},get UNMOUNTING(){return ia},get SKIP_BECAUSE_BROKEN(){return iu}}),oQ=("u">typeof globalThis?globalThis:"u">typeof window?window:"u">typeof global?global:"u">typeof self?self:{}).CustomEvent,o0=!function(){try{var e=new oQ("cat",{detail:{foo:"bar"}});return"cat"===e.type&&"bar"===e.detail.foo}catch(e){}return!1}()?"u">typeof document&&"function"==typeof document.createEvent?function(e,t){var r=document.createEvent("CustomEvent");return t?r.initCustomEvent(e,t.bubbles,t.cancelable,t.detail):r.initCustomEvent(e,!1,!1,void 0),r}:function(e,t){var r=document.createEventObject();return r.type=e,t?(r.bubbles=!!t.bubbles,r.cancelable=!!t.cancelable,r.detail=t.detail):(r.bubbles=!1,r.cancelable=!1,r.detail=void 0),r}:oQ;let o1=[];function o2(e,t,r){let n=o5(e,t,r);o1.length?o1.forEach(e=>e(n)):setTimeout(()=>{throw n})}function o4(e){if("function"!=typeof e)throw Error(o6(28,!1));o1.push(e)}function o3(e){if("function"!=typeof e)throw Error(o6(29,!1));let t=!1;return o1=o1.filter(r=>{let n=r===e;return t=t||n,!n}),t}function o6(e,t,...r){return`single-spa minified message #${e}: ${t?t+" ":""}See https://single-spa.js.org/error/?code=${e}${r.length?`&arg=${r.join("&arg=")}`:""}`}function o5(e,t,r){let n,o=`${im(t)} '${ip(t)}' died in status ${t.status}: `;if(e instanceof Error){try{e.message=o+e.message}catch(e){}n=e}else{console.warn(o6(30,!1,t.status,ip(t)));try{n=Error(o+JSON.stringify(e))}catch(t){n=e}}return n.appOrParcelName=ip(t),t.status=r,n}let o9="NOT_LOADED",o7="LOADING_SOURCE_CODE",o8="NOT_BOOTSTRAPPED",ie="BOOTSTRAPPING",it="NOT_MOUNTED",ir="MOUNTING",io="MOUNTED",ii="UPDATING",ia="UNMOUNTING",is="UNLOADING",il="LOAD_ERROR",iu="SKIP_BECAUSE_BROKEN";function ic(e){return e.status===io}function id(e){try{return e.activeWhen(window.location)}catch(t){return o2(t,e,iu),!1}}function ip(e){return e.name}function ih(e){return!!e.unmountThisParcel}function im(e){return ih(e)?"parcel":"application"}function iy(){for(let e=arguments.length-1;e>0;e--)for(let t in arguments[e])"__proto__"!==t&&(arguments[e-1][t]=arguments[e][t]);return arguments[0]}function ig(e,t){for(let r=0;r<e.length;r++)if(t(e[r]))return e[r];return null}function ib(e){return e&&("function"==typeof e||Array.isArray(e)&&!ig(e,e=>"function"!=typeof e))}function iv(e,t){let r=e[t]||[];0===(r=Array.isArray(r)?r:[r]).length&&(r=[()=>Promise.resolve()]);let n=im(e),o=ip(e);return function(e){return r.reduce((r,i,a)=>r.then(()=>{let r=i(e);return iw(r)?r:Promise.reject(o6(15,!1,n,o,t,a))}),Promise.resolve())}}function iw(e){return e&&"function"==typeof e.then&&"function"==typeof e.catch}let i_=[];function ix(e,t){return Promise.resolve().then(()=>e.status!==o8?e:(e.status=ie,e.bootstrap?iL(e,"bootstrap").then(r).catch(r=>{if(t)throw o5(r,e,iu);return o2(r,e,iu),e}):Promise.resolve().then(r)));function r(){return e.status=it,e}}function iE(e,t){return Promise.resolve().then(()=>{if(e.status!==io)return e;return e.status=ia,Promise.all(Object.keys(e.parcels).map(t=>e.parcels[t].unmountThisParcel())).then(r,n=>r().then(()=>{let r=Error(n.message);if(t)throw o5(r,e,iu);o2(r,e,iu)})).then(()=>e);function r(){return iL(e,"unmount").then(()=>{e.status=it},r=>{if(t)throw o5(r,e,iu);o2(r,e,iu)})}})}let iS=!1,iD=!1;function iO(e,t){return Promise.resolve().then(()=>e.status!==it?e:(iS||(window.dispatchEvent(new o0("single-spa:before-first-mount")),iS=!0),e.status=ir,iL(e,"mount").then(()=>(e.status=io,iD||(window.dispatchEvent(new o0("single-spa:first-mount")),iD=!0),e)).catch(r=>{return e.status=io,iE(e,!0).then(n,n);function n(){if(t)throw o5(r,e,iu);return o2(r,e,iu),e}})))}let iP=0,iC={parcels:{}};function ik(){return ij.apply(iC,arguments)}function ij(e,t){let r,n,o,i=this;if(!e||"object"!=typeof e&&"function"!=typeof e)throw Error(o6(2,!1));if(e.name&&"string"!=typeof e.name)throw Error(o6(3,!1,typeof e.name));let a=iP++,s=e.name||`parcel-${a}`;if("object"!=typeof t)throw Error(o6(4,!1,s,typeof t));if(!t.domElement)throw Error(o6(5,!1,s));let l="function"==typeof e,u=l?e:()=>Promise.resolve(e),c={id:a,parcels:{},status:l?o7:o8,customProps:t,parentName:ip(i),unmountThisParcel:()=>f.then(()=>{if(c.status!==io)throw Error(o6(6,!1,s,c.status));return iE(c,!0)}).then(e=>(c.parentName&&delete i.parcels[c.id],e)).then(e=>(n(e),e)).catch(e=>{throw c.status=iu,o(e),e})};i.parcels[a]=c;let d=u();if(!d||"function"!=typeof d.then)throw Error(o6(7,!1));let p=(d=d.then(e=>{if(!e)throw Error(o6(8,!1));if(s=e.name||`parcel-${a}`,Object.prototype.hasOwnProperty.call(e,"bootstrap")&&!ib(e.bootstrap))throw Error(o6(9,!1,s));if(!ib(e.mount))throw Error(o6(10,!1,s));if(!ib(e.unmount))throw Error(o6(11,!1,s));if(e.update&&!ib(e.update))throw Error(o6(12,!1,s));let t=iv(e,"bootstrap"),n=iv(e,"mount"),o=iv(e,"unmount");c.status=o8,c.name=s,c.bootstrap=t,c.mount=n,c.unmount=o,c.timeouts=iF(e.timeouts),e.update&&(c.update=iv(e,"update"),r.update=function(e){return c.customProps=e,iT(Promise.resolve().then(()=>{if(c.status!==io)throw Error(o6(32,!1,ip(c)));return c.status=ii,iL(c,"update").then(()=>(c.status=io,c)).catch(e=>{throw o5(e,c,iu)})}))})})).then(()=>ix(c,!0)),f=p.then(()=>iO(c,!0)),h=new Promise((e,t)=>{n=e,o=t});return r={mount:()=>iT(Promise.resolve().then(()=>{if(c.status!==it)throw Error(o6(13,!1,s,c.status));return i.parcels[a]=c,iO(c)})),unmount:()=>iT(c.unmountThisParcel()),getStatus:()=>c.status,loadPromise:iT(d),bootstrapPromise:iT(p),mountPromise:iT(f),unmountPromise:iT(h)}}function iT(e){return e.then(()=>null)}function iR(e){let t=ip(e),r="function"==typeof e.customProps?e.customProps(t,window.location):e.customProps;("object"!=typeof r||null===r||Array.isArray(r))&&(r={},console.warn(o6(40,!1),t,r));let n=iy({},r,{name:t,mountParcel:ij.bind(e),singleSpa:oX});return ih(e)&&(n.unmountSelf=e.unmountThisParcel),n}let iN={bootstrap:{millis:4e3,dieOnTimeout:!1,warningMillis:1e3},mount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unmount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unload:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},update:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3}};function iM(e,t,r){if("number"!=typeof e||e<=0)throw Error(o6(16,!1));iN.bootstrap={millis:e,dieOnTimeout:t,warningMillis:r||1e3}}function iA(e,t,r){if("number"!=typeof e||e<=0)throw Error(o6(17,!1));iN.mount={millis:e,dieOnTimeout:t,warningMillis:r||1e3}}function i$(e,t,r){if("number"!=typeof e||e<=0)throw Error(o6(18,!1));iN.unmount={millis:e,dieOnTimeout:t,warningMillis:r||1e3}}function iI(e,t,r){if("number"!=typeof e||e<=0)throw Error(o6(19,!1));iN.unload={millis:e,dieOnTimeout:t,warningMillis:r||1e3}}function iL(e,t){let r=e.timeouts[t],n=r.warningMillis,o=im(e);return new Promise((i,a)=>{let s=!1,l=!1;e[t](iR(e)).then(e=>{s=!0,i(e)}).catch(e=>{s=!0,a(e)}),setTimeout(()=>c(1),n),setTimeout(()=>c(!0),r.millis);let u=o6(31,!1,t,o,ip(e),r.millis);function c(e){s||(!0===e?(l=!0,r.dieOnTimeout?a(Error(u)):console.error(u)):!l&&(console.warn(u),e*n+n<r.millis&&setTimeout(()=>c(e+1),n)))}})}function iF(e){let t={};for(let r in iN)t[r]=iy({},iN[r],e&&e[r]||{});return t}function iB(e){return Promise.resolve().then(()=>{let t,r;return e.loadPromise?e.loadPromise:e.status!==o9&&e.status!==il?e:(e.status=o7,e.loadPromise=Promise.resolve().then(()=>{let n=e.loadApp(iR(e));if(!iw(n))throw r=!0,Error(o6(33,!1,ip(e)));return n.then(r=>{let n;e.loadErrorTime=null,"object"!=typeof(t=r)&&(n=34),Object.prototype.hasOwnProperty.call(t,"bootstrap")&&!ib(t.bootstrap)&&(n=35),ib(t.mount)||(n=36),ib(t.unmount)||(n=37);let o=im(t);if(n){let r;try{r=JSON.stringify(t)}catch(e){}return console.error(o6(n,!1,o,ip(e),r),t),o2(void 0,e,iu),e}return t.devtools&&t.devtools.overlays&&(e.devtools.overlays=iy({},e.devtools.overlays,t.devtools.overlays)),e.status=o8,e.bootstrap=iv(t,"bootstrap"),e.mount=iv(t,"mount"),e.unmount=iv(t,"unmount"),e.unload=iv(t,"unload"),e.timeouts=iF(t.timeouts),delete e.loadPromise,e})}).catch(t=>{let n;return delete e.loadPromise,r?n=iu:(n=il,e.loadErrorTime=(new Date).getTime()),o2(t,e,n),e}))})}let iV="u">typeof window,iU={hashchange:[],popstate:[]},iW=["hashchange","popstate"];function iz(e){let t;if("string"==typeof e)t=e;else if(this&&this.href)t=this.href;else{if(!(e&&e.currentTarget&&e.currentTarget.href&&e.preventDefault))throw Error(o6(14,!1));t=e.currentTarget.href,e.preventDefault()}let r=iJ(window.location.href),n=iJ(t);0===t.indexOf("#")?window.location.hash=n.hash:r.host!==n.host&&n.host?window.location.href=t:n.pathname===r.pathname&&n.search===r.search?window.location.hash=n.hash:window.history.pushState(null,null,t)}function iK(e){if(e){let t=e[0].type;iW.indexOf(t)>=0&&iU[t].forEach(t=>{try{t.apply(this,e)}catch(e){setTimeout(()=>{throw e})}})}}function iH(){ad([],arguments)}function iG(e,t){return function(){let r=window.location.href,n=e.apply(this,arguments),i=window.location.href;return o&&r===i||window.dispatchEvent(function(e,t){let r;try{r=new PopStateEvent("popstate",{state:e})}catch(t){(r=document.createEvent("PopStateEvent")).initPopStateEvent("popstate",!1,!1,e)}return r.singleSpa=!0,r.singleSpaTrigger=t,r}(window.history.state,t)),n}}let iq=null,iY=!1;function iZ(e){if(iY)throw Error(o6(43,!1));o=!e||!e.hasOwnProperty("urlRerouteOnly")||e.urlRerouteOnly,iY=!0,iq=window.history.replaceState,window.addEventListener("hashchange",iH),window.addEventListener("popstate",iH);let t=window.addEventListener,r=window.removeEventListener;window.addEventListener=function(e,r){if(!("function"==typeof r&&iW.indexOf(e)>=0)||ig(iU[e],e=>e===r))return t.apply(this,arguments);iU[e].push(r)},window.removeEventListener=function(e,t){return"function"==typeof t&&iW.indexOf(e)>=0&&(iU[e]=iU[e].filter(e=>e!==t)),r.apply(this,arguments)},window.history.pushState=iG(window.history.pushState,"pushState"),window.history.replaceState=iG(iq,"replaceState")}function iJ(e){let t=document.createElement("a");return t.href=e,t}iV&&(window.singleSpaNavigate?console.warn(o6(41,!1)):window.singleSpaNavigate=iz);let iX=!1;function iQ(e=window.jQuery){if(e||window.$&&window.$.fn&&window.$.fn.jquery&&(e=window.$),e&&!iX){let t=e.fn.on,r=e.fn.off;e.fn.on=function(e,r){return i0.call(this,t,window.addEventListener,e,r,arguments)},e.fn.off=function(e,t){return i0.call(this,r,window.removeEventListener,e,t,arguments)},iX=!0}}function i0(e,t,r,n,o){return"string"!=typeof r?e.apply(this,o):(r.split(/\s+/).forEach(e=>{iW.indexOf(e)>=0&&(t(e,n),r=r.replace(e,""))}),""===r.trim()?this:e.apply(this,o))}let i1={};function i2(e){return Promise.resolve().then(()=>{let t=i1[ip(e)];if(!t)return e;if(e.status===o9)return i4(e,t),e;if(e.status===is)return t.promise.then(()=>e);if(e.status!==it&&e.status!==il)return e;let r=e.status===il?Promise.resolve():iL(e,"unload");return e.status=is,r.then(()=>(i4(e,t),e)).catch(r=>(delete i1[ip(e)],delete e.bootstrap,delete e.mount,delete e.unmount,delete e.unload,o2(r,e,iu),t.reject(r),e))})}function i4(e,t){delete i1[ip(e)],delete e.bootstrap,delete e.mount,delete e.unmount,delete e.unload,e.status=o9,t.resolve()}function i3(e,t,r,n){i1[ip(e)]={app:e,resolve:r,reject:n},Object.defineProperty(i1[ip(e)],"promise",{get:t})}let i6=[];function i5(){return i6.filter(ic).map(ip)}function i9(){return i6.map(ip)}function i7(e){let t=ig(i6,t=>ip(t)===e);return t?t.status:null}let i8=!1;function ae(e,t,r,n){var o,i;let a,s,l=(a={name:null,loadApp:null,activeWhen:null,customProps:null},"object"==typeof e?(function(e){if(Array.isArray(e)||null===e)throw Error(o6(39,!1));let t=["name","app","activeWhen","customProps"],r=Object.keys(e).reduce((e,r)=>t.indexOf(r)>=0?e:e.concat(r),[]);if(0!==r.length)throw Error(o6(38,!1,t.join(", "),r.join(", ")));if("string"!=typeof e.name||0===e.name.length||"object"!=typeof e.app&&"function"!=typeof e.app)throw Error(o6(20,!1));let n=e=>"string"==typeof e||"function"==typeof e;if(!(n(e.activeWhen)||Array.isArray(e.activeWhen)&&e.activeWhen.every(n)))throw Error(o6(24,!1));if(!ai(e.customProps))throw Error(o6(22,!1))}(e),a.name=e.name,a.loadApp=e.app,a.activeWhen=e.activeWhen,a.customProps=e.customProps):(function(e,t,r,n){if("string"!=typeof e||0===e.length)throw Error(o6(20,!1));if(!t)throw Error(o6(23,!1));if("function"!=typeof r)throw Error(o6(24,!1));if(!ai(n))throw Error(o6(22,!1))}(e,t,r,n),a.name=e,a.loadApp=t,a.activeWhen=r,a.customProps=n),a.loadApp="function"!=typeof(o=a.loadApp)?()=>Promise.resolve(o):o,a.customProps=a.customProps||{},s=(s=Array.isArray(i=a.activeWhen)?i:[i]).map(e=>"function"==typeof e?e:aa(e)),a.activeWhen=e=>s.some(t=>t(e)),a);if(af||i8||(i8=!0,setTimeout(()=>{af||console.warn(o6(1,!1))},5e3)),-1!==i9().indexOf(l.name))throw Error(o6(21,!1,l.name));i6.push(iy({loadErrorTime:null,status:o9,parcels:{},devtools:{overlays:{options:{},selectors:[]}}},l)),iV&&(iQ(),ad())}function at(e=window.location){return i6.filter(t=>t.activeWhen(e)).map(ip)}function ar(e){if(0===i6.filter(t=>ip(t)===e).length)throw Error(o6(25,!1,e));return(iV?an(e,{waitForUnmount:!1}):Promise.resolve()).then(()=>{let t=i6.map(ip).indexOf(e);i6.splice(t,1)})}function an(e,t={waitForUnmount:!1}){if("string"!=typeof e)throw Error(o6(26,!1));let r=ig(i6,t=>ip(t)===e);if(!r)throw Error(o6(27,!1,e));let n=i1[ip(r)];if(t&&t.waitForUnmount){if(n)return n.promise;{let e=new Promise((t,n)=>{i3(r,()=>e,t,n)});return e}}{let e;return n?(e=n.promise,ao(r,n.resolve,n.reject)):e=new Promise((t,n)=>{i3(r,()=>e,t,n),ao(r,t,n)}),e}}function ao(e,t,r){Promise.resolve().then(()=>{if(ig(at(),t=>t===ip(e)))return ac()}).then(()=>iE(e).then(i2).then(()=>{t(),setTimeout(()=>{ad()})})).catch(r)}function ai(e){return!e||"function"==typeof e||"object"==typeof e&&null!==e&&!Array.isArray(e)}function aa(e,t){let r=function(e,t){let r=0,n=!1,o="^";"/"!==e[0]&&(e="/"+e);for(let t=0;t<e.length;t++){let r=e[t],o=n&&"/"===r;(!n&&":"===r||o)&&i(t)}return i(e.length),RegExp(o,"i");function i(i){let a=e.slice(r,i).replace(/[|\\{}()[\]^$+*?.]/g,"\\$&");if(o+=n?"[^/]+/?":a,i===e.length)if(n)t&&(o+="$");else{let e=t?"":".*";o="/"===o.charAt(o.length-1)?`${o}${e}$`:`${o}(/${e})?(#.*)?$`}n=!n,r=i}}(e,t);return e=>{let t=e.origin;t||(t=`${e.protocol}//${e.host}`);let n=e.href.replace(t,"").replace(e.search,"").split("?")[0];return r.test(n)}}let as=!1,al=[],au=iV&&window.location.href;function ac(){return ad()}function ad(e=[],t,r=!1){let n,o,i,a,s;if(as)return new Promise((e,r)=>{al.push({resolve:e,reject:r,eventArguments:t})});let{appsToUnload:l,appsToUnmount:u,appsToLoad:c,appsToMount:d}=(n=[],o=[],i=[],a=[],s=(new Date).getTime(),i6.forEach(e=>{let t=e.status!==iu&&id(e);switch(e.status){case il:t&&s-e.loadErrorTime>=200&&i.push(e);break;case o9:case o7:t&&i.push(e);break;case o8:case it:!t&&i1[ip(e)]?n.push(e):t&&a.push(e);break;case io:t||o.push(e)}}),{appsToUnload:n,appsToUnmount:o,appsToLoad:i,appsToMount:a}),p,f=[],h=au,m=au=window.location.href;return af?(as=!0,p=l.concat(c,u,d),Promise.resolve().then(()=>(w(0===p.length?"before-no-app-change":"before-app-change",v(!0)),w("before-routing-event",v(!0,{cancelNavigation:y})),Promise.all(f).then(r=>{if(r.some(e=>e))return iq.call(window.history,history.state,"",h.substring(location.origin.length)),au=location.href,as=!1,ad(e,t,!0);let n=l.map(i2),o=Promise.all(u.map(iE).map(e=>e.then(i2)).concat(n));o.then(()=>{w("before-mount-routing-event",v(!0))},e=>{throw e});let i=c.map(e=>iB(e).then(e=>ap(e,o))),a=d.filter(e=>0>c.indexOf(e)).map(e=>ap(e,o));return o.catch(e=>{throw b(),e}).then(()=>(b(),Promise.all(i.concat(a)).catch(t=>{throw e.forEach(e=>e.reject(t)),t}).then(g).then(()=>{},e=>{throw e})))})))):(p=c,Promise.resolve().then(()=>Promise.all(c.map(iB)).then(b).then(()=>[]).catch(e=>{throw b(),e}).finally(()=>{})));function y(e=!0){let t="function"==typeof(null==e?void 0:e.then)?e:Promise.resolve(e);f.push(t.catch(e=>(console.warn(Error(o6(42,!1))),console.warn(e),!1)))}function g(){let t=i5();e.forEach(e=>e.resolve(t));try{w(0===p.length?"no-app-change":"app-change",v()),w("routing-event",v())}catch(e){setTimeout(()=>{throw e})}if(as=!1,al.length>0){let e=al;al=[],ad(e)}return t}function b(){r||(e.forEach(e=>{iK(e.eventArguments)}),iK(t))}function v(e=!1,r){let n={},o={[io]:[],[it]:[],[o9]:[],[iu]:[]};e?(c.concat(d).forEach((e,t)=>{a(e,io)}),l.forEach(e=>{a(e,o9)}),u.forEach(e=>{a(e,it)})):p.forEach(e=>{a(e)});let i={detail:{newAppStatuses:n,appsByNewStatus:o,totalAppChanges:p.length,originalEvent:null==t?void 0:t[0],oldUrl:h,newUrl:m}};return r&&iy(i.detail,r),i;function a(e,t){let r=ip(e);t=t||i7(r),n[r]=t,(o[t]=o[t]||[]).push(r)}}function w(e,t){r||window.dispatchEvent(new o0(`single-spa:${e}`,t))}}function ap(e,t){return id(e)?ix(e).then(e=>t.then(()=>id(e)?iO(e):e)):t.then(()=>e)}let af=!1;function ah(e){af=!0,iV&&(iZ(e),ad())}function am(e,t){let r=window.getOpenmrsSpaBase().replace(/\/$/,"");return ay(e,{openmrsBase:window.openmrsBase,openmrsSpaBase:r,...t}).replace(/^\/\//,"/")}function ay(e,t){return Object.keys(t).reduce((e,r)=>e.split("${"+r+"}").join(t[r]),e)}function ag({to:e,templateParams:t}){let r=window.getOpenmrsSpaBase().replace(/\/$/,""),n=am(e,t).replace(window.location.origin,"");n.startsWith(r)?iz(n):window.location.assign(n)}iV&&window.__SINGLE_SPA_DEVTOOLS__&&(window.__SINGLE_SPA_DEVTOOLS__.exposedMethods={getRawAppData:function(){return[...i6]},reroute:ad,NOT_LOADED:o9,toLoadPromise:iB,toBootstrapPromise:ix,unregisterApplication:ar,getProfilerData:function(){return i_}});let ab="openmrs:history";function av(e){let t=JSON.parse(sessionStorage.getItem(ab)??"[]")||[];t.push(e),t.length>50&&(t=t.slice(-50)),sessionStorage.setItem(ab,JSON.stringify(t))}function aw(){0===JSON.parse(sessionStorage.getItem(ab)??"[]").length&&document.referrer&&av(document.referrer),window.addEventListener("single-spa:routing-event",e=>{let t=a_();e.detail.originalEvent?.singleSpaTrigger=="replaceState"?(t[t.length-1]=window.location.href,sessionStorage.setItem(ab,JSON.stringify(t))):!e.detail.originalEvent?.singleSpa&&t.includes(window.location.href)?ax({toUrl:window.location.href}):t[t.length-1]!==window.location.href&&av(window.location.href)})}function a_(){return JSON.parse(sessionStorage.getItem(ab)??"[]")}function ax({toUrl:e}){let t=a_(),r=t.lastIndexOf(e);if(-1!=r){let e=t.slice(0,r+1);ag({to:t[r]}),sessionStorage.setItem(ab,JSON.stringify(e))}else throw Error(`URL ${e} not found in history; cannot go back to it.`)}function aE(){sessionStorage.removeItem(ab)}let aS="${openmrsSpaBase}/login",aD={redirectAuthFailure:{enabled:{_type:nI.Boolean,_default:!0,_description:"Whether to redirect logged-out users to `redirectAuthFailure.url`"},url:{_type:nI.String,_default:aS,_validators:[oW.isUrl],_description:"The url to which users will be redirected when they are logged out. If set to blank, the `location` header from the response will be used."},errors:{_type:nI.Array,_default:[401],_elements:{_type:nI.Number,_validators:[oW.inRange(100,600)]},_description:"The HTTP error codes for which users will be redirected"},resolvePromise:{_type:nI.Boolean,_default:!1,_description:"Changes how requests that fail authentication are handled. Try messing with this if redirects to the login page aren't working correctly."}},followRedirects:{_type:nI.Boolean,_default:!0,_description:"Whether openmrsFetch should support redirects returned from the backend"}};function aO(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}let aP="/ws/rest/v1",aC="/ws/fhir2/R4",ak=`${aP}/session`;function aj(e){return e&&e.startsWith("http")?e:("/"!==e[0]&&(e="/"+e),window.openmrsBase+e)}function aT(e,t={}){if("string"!=typeof e)throw Error("The first argument to @openmrs/api's openmrsFetch function must be a url string");if("object"!=typeof t)throw Error("The second argument to @openmrs/api's openmrsFetch function must be a plain object.");if(!window.openmrsBase)throw Error("@openmrs/api is running in a browser that doesn't have window.openmrsBase, which is provided by openmrs-module-spa's HTML file.");let r=aj(e);if(t.headers||(t.headers={}),eZ(t.body)&&(t.body=JSON.stringify(t.body)),void 0===t.headers.Accept&&(t.headers.Accept="application/json"),null===t.headers.Accept&&delete t.headers.Accept,e.startsWith(aP)&&void 0===t.headers["Disable-WWW-Authenticate"]&&(t.headers["Disable-WWW-Authenticate"]="true"),e.startsWith(aC)){let e=new URL(r,window.location.toString());e.searchParams.has("_summary")||(e.searchParams.set("_summary","data"),r=e.toString())}let n=Error();return window.fetch(r,t).then(async e=>{let{redirectAuthFailure:t,followRedirects:o}=await oy("@openmrs/esm-api");if(e.ok){let t=e.headers.get("location");return(o&&t&&(r===aj(ak)||204===e.status)&&ag({to:t}),204===e.status)?(e.data=null,e):e.clone().text().then(t=>{try{t&&(e.data=JSON.parse(t))}catch(e){}return e})}return r===aj(ak)&&403===e.status||t.enabled&&t.errors.includes(e.status)?(aE(),ag({to:t.url||e.headers.get("location")||aS}),t.resolvePromise?Promise.resolve():new Promise(()=>{})):e.clone().text().then(t=>{let o=t;try{o=JSON.parse(t)}catch(e){}throw new aN(r,e,o,n)},t=>{throw new aN(r,e,null,n)})})}function aR(e,t={}){if("object"!=typeof t)throw Error("The second argument to openmrsObservableFetch must be either omitted or an object");let r=new AbortController;return t.signal=r.signal,new ek(n=>{let o=!1;return aT(e,t).then(e=>{o=!0,n.next(e),n.complete()},e=>{o=!0,n.error(e)}),()=>{o||r.abort()}})}class aN extends Error{constructor(e,t,r,n){super(),aO(this,"response",void 0),aO(this,"responseBody",void 0),this.message=`Server responded with ${t.status} (${t.statusText}) for url ${e}. Check err.responseBody or network tab in dev tools for more info`,n.message=this.message,this.responseBody=r,this.response=t,this.stack=`Stacktrace for outgoing request:
|
|
13
13
|
${n.stack}
|
|
14
14
|
Stacktrace for incoming response:
|
|
15
|
-
${this.stack}`}}let aM=Y("session",{loaded:!1,session:null}),aA=0;function a$(e={includeAuthStatus:!0}){return(aA<Date.now()-6e4||!aM.getState().loaded)&&aF(),new ek(t=>{let r=r=>{r.loaded&&(e.includeAuthStatus?t.next(r.session):t.next(r.session?.user))};return r(aM.getState()),aM.subscribe(r)})}function aI(){return(aA<Date.now()-6e4||!aM.getState().loaded)&&aF(),aM}function aL(e){let t=e.locale??e.user?.userProperties?.defaultLocale;t&&t.includes("_")&&(t=t.replaceAll("_","-")),function(e){if(void 0===e||"string"!=typeof e)return!1;try{new Intl.Locale(e)}catch(e){return!1}return!0}(t)&&t!==document.documentElement.getAttribute("lang")&&document.documentElement.setAttribute("lang",t)}function aF(e,t){aA=Date.now();let r={};return e&&t&&(r.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`),aH(aT(ak,{headers:r}))}function aB(){aM.setState({loaded:!0,session:{authenticated:!1,sessionId:""}})}function aV(e,t){var r,n;if(void 0===t)return!e;if(!e)return!0;return r=e,n=t,("string"==typeof r?!ee(n.privileges.find(e=>r===e.display)):Array.isArray(r)?r.every(e=>!ee(n.privileges.find(t=>e===t.display))):(ee(r)||console.error(`Could not understand privileges "${r}"`),!0))||!ee(t.roles.find(e=>"System Developer"===e.display))}function aU(){let e,t;return new Promise(r=>{let n=n=>{n.loaded&&n.session.user&&(e=n.session.user,r(n.session.user),t&&t())};n(aM.getState()),e||(t=aM.subscribe(n))})}function aW(){return new Promise((e,t)=>{a$().subscribe(t=>{e(t.sessionLocation)},t).unsubscribe()})}async function az(e,t){return aH(aT(ak,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},signal:t.signal}))}async function aK(e,t,r){return r||(r=new AbortController),await aT(`${aP}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:r.signal}),aF()}function aH(e){return new Promise((t,r)=>{e.then(e=>{let n;"object"==typeof e?.data?(n={loaded:!0,session:e.data},aM.setState(n),t(n)):(n={loaded:!1,session:null},aM.setState(n),r(n))}).catch(e=>{$(`Failed to fetch new session information: ${e}`);let t={loaded:!1,session:null};aM.setState(t),r(t)})})}function aG(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}aM.subscribe(e=>{e.loaded&&e.session&&aL(e.session)});let aq={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function aY(){ou("@openmrs/esm-api",aD),aF()}let aZ={address1:"Address line 1",address2:"Address line 2",address3:"Address line 3",address4:"Address line 4",address5:"Address line 5",address6:"Address line 6",city:"City",cityVillage:"City",country:"Country",countyDistrict:"District",district:"District",postalCode:"Postal code",state:"State",stateProvince:"State",closeAllOpenedWorkspaces:"Discard changes in {{count}} workspaces",closingAllWorkspacesPromptBody:"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",closingAllWorkspacesPromptTitle:"You have unsaved changes",discard:"Discard",hide:"Hide",maximize:"Maximize",minimize:"Minimize",openAnyway:"Open anyway",unsavedChangesInOpenedWorkspace:"You may have unsaved changes in the opened workspace. Do you want to discard these changes?",unsavedChangesInWorkspace:'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',unsavedChangesTitleText:"Unsaved changes",workspaceHeader:"Workspace header",discardUnsavedChangesPromptBodyMultiple:"{{count}} workspaces have unsaved changes. Closing them will discard the changes:",discardUnsavedChangesPromptBodySingle:"<strong>{{workspaceTitle}}</strong> has unsaved changes. Closing it will discard them.",discardUnsavedChangesPromptTitle:"Discard unsaved changes?",keepEditing:"Keep editing",abnormalValue:"Abnormal value",actions:"Actions",actionableNotification:"Actionable notification",address:"Address",age:"Age",batchActionItemSelected:"{{totalSelected}} item selected",batchActionsItemsSelected:"{{totalSelected}} items selected",cancel:"Cancel",change:"Change",Clinic:"Clinic",close:"Close",closesActionableNotification:"Close actionable notification",closeSnackbar:"Close snackbar",confirm:"Confirm",contactAdministratorIfIssuePersists:"Contact your system administrator if the problem persists.",contactDetails:"Contact details",delete:"Delete",discardChanges:"Discard changes",edit:"Edit",emptyStateText:"There are no {{displayText}} to display",error:"Error",errorCopy:"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.",errorLoadingLoginLocations:"Unable to load login locations. Please try again or contact support if the problem persists.",female:"Female",leftNavigation:"Left navigation",loading:"Loading",localVersion:"Local Build",male:"Male",noResultsToDisplay:"No results to display",notAvailable:"Not available",other:"Other",paginationItemsCount:"{{pageItemsCount}} / {{totalItems}} items",paginationOfPages:"of {{count}} pages",patientAvatarAlt:"Avatar for {{patientName}}",patientIdentifierSticker:"Patient identifier sticker",patientLists:"Patient lists",patientPhotoAlt:"Profile photo of {{patientName}}",patientPhotoPlaceholder:"Photo placeholder for {{patientName}}",prereleaseVersion:"Prerelease",print:"Print",printError:"Print error",printErrorExplainer:"An error occurred in {{errorLocation}}",printIdentifierSticker:"Print identifier sticker",printing:"Printing",recordNewEntry:"Record {{displayText}}",relationships:"Relationships",resetOverrides:"Reset overrides",save:"Save",scriptLoadingFailed:"Error: Script failed to load",scriptLoadingError:"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",searchForLocation:"Search for a location",seeAll:"See all",seeMoreLists:"See {{count}} more lists",selectAll:"Select all",sex:"Sex",showLess:"Show less",showMore:"Show more",snackbarNotification:"Snackbar notification",toggleDevTools:"Toggle dev tools",unknown:"Unknown",yearAbbreviation:"yr",yearsAbbreviation:"yrs"},aJ=e=>"string"==typeof e,aX=()=>{let e,t,r=new Promise((r,n)=>{e=r,t=n});return r.resolve=e,r.reject=t,r},aQ=e=>null==e?"":""+e,a0=/###/g,a1=e=>e&&e.indexOf("###")>-1?e.replace(a0,"."):e,a2=e=>!e||aJ(e),a4=(e,t,r)=>{let n=aJ(t)?t.split("."):t,o=0;for(;o<n.length-1;){if(a2(e))return{};let t=a1(n[o]);!e[t]&&r&&(e[t]=new r),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++o}return a2(e)?{}:{obj:e,k:a1(n[o])}},a3=(e,t,r)=>{let{obj:n,k:o}=a4(e,t,Object);if(void 0!==n||1===t.length){n[o]=r;return}let i=t[t.length-1],a=t.slice(0,t.length-1),s=a4(e,a,Object);for(;void 0===s.obj&&a.length;)i=`${a[a.length-1]}.${i}`,s=a4(e,a=a.slice(0,a.length-1),Object),s?.obj&&void 0!==s.obj[`${s.k}.${i}`]&&(s.obj=void 0);s.obj[`${s.k}.${i}`]=r},a6=(e,t)=>{let{obj:r,k:n}=a4(e,t);if(r&&Object.prototype.hasOwnProperty.call(r,n))return r[n]},a5=(e,t,r)=>{for(let n in t)"__proto__"!==n&&"constructor"!==n&&(n in e?aJ(e[n])||e[n]instanceof String||aJ(t[n])||t[n]instanceof String?r&&(e[n]=t[n]):a5(e[n],t[n],r):e[n]=t[n]);return e};var a9={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};let a7=e=>aJ(e)?e.replace(/[&<>"'\/]/g,e=>a9[e]):e,a8=[" ",",","?","!",";"],se=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){let t=this.regExpMap.get(e);if(void 0!==t)return t;let r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}(20),st=(e,t,r=".")=>{if(!e)return;if(e[t]){if(!Object.prototype.hasOwnProperty.call(e,t))return;return e[t]}let n=t.split(r),o=e;for(let e=0;e<n.length;){let t;if(!o||"object"!=typeof o)return;let i="";for(let a=e;a<n.length;++a)if(a!==e&&(i+=r),i+=n[a],void 0!==(t=o[i])){if(["string","number","boolean"].indexOf(typeof t)>-1&&a<n.length-1)continue;e+=a-e+1;break}o=t}return o},sr=e=>e?.replace("_","-"),sn={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}};class so{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||sn,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,r,n){return n&&!this.debug?null:(aJ(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new so(this.logger,{...{prefix:`${this.prefix}:${e}:`},...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new so(this.logger,e)}}var si=new so;class sa{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(e=>{this.observers[e]||(this.observers[e]=new Map);let r=this.observers[e].get(t)||0;this.observers[e].set(t,r+1)}),this}off(e,t){if(this.observers[e]){if(!t)return void delete this.observers[e];this.observers[e].delete(t)}}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([e,r])=>{for(let n=0;n<r;n++)e(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([r,n])=>{for(let o=0;o<n;o++)r.apply(r,[e,...t])})}}class ss extends sa{constructor(e,t={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}removeNamespaces(e){let t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,r,n={}){let o,i=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,a=void 0!==n.ignoreJSONStructure?n.ignoreJSONStructure:this.options.ignoreJSONStructure;e.indexOf(".")>-1?o=e.split("."):(o=[e,t],r&&(Array.isArray(r)?o.push(...r):aJ(r)&&i?o.push(...r.split(i)):o.push(r)));let s=a6(this.data,o);return(!s&&!t&&!r&&e.indexOf(".")>-1&&(e=o[0],t=o[1],r=o.slice(2).join(".")),!s&&a&&aJ(r))?st(this.data?.[e]?.[t],r,i):s}addResource(e,t,r,n,o={silent:!1}){let i=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,a=[e,t];r&&(a=a.concat(i?r.split(i):r)),e.indexOf(".")>-1&&(a=e.split("."),n=t,t=a[1]),this.addNamespaces(t),a3(this.data,a,n),o.silent||this.emit("added",e,t,r,n)}addResources(e,t,r,n={silent:!1}){for(let n in r)(aJ(r[n])||Array.isArray(r[n]))&&this.addResource(e,t,n,r[n],{silent:!0});n.silent||this.emit("added",e,t,r)}addResourceBundle(e,t,r,n,o,i={silent:!1,skipCopy:!1}){let a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),n=r,r=t,t=a[1]),this.addNamespaces(t);let s=a6(this.data,a)||{};i.skipCopy||(r=JSON.parse(JSON.stringify(r))),n?a5(s,r,o):s={...s,...r},a3(this.data,a,s),i.silent||this.emit("added",e,t,r)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){let t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&Object.keys(t[e]).length>0)}toJSON(){return this.data}}var sl={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,r,n,o){return e.forEach(e=>{t=this.processors[e]?.process(t,r,n,o)??t}),t}};let su=Symbol("i18next/PATH_KEY");function sc(e,t){let r,n,o,{[su]:i}=e((n=[],(o=Object.create(null)).get=(e,t)=>(r?.revoke?.(),t===su)?n:(n.push(t),(r=Proxy.revocable(e,o)).proxy),Proxy.revocable(Object.create(null),o).proxy));return i.join(t?.keySeparator??".")}let sd={},sp=e=>!aJ(e)&&"boolean"!=typeof e&&"number"!=typeof e;class sf extends sa{constructor(e,t={}){super(),((e,t,r)=>{e.forEach(e=>{t[e]&&(r[e]=t[e])})})(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=si.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){let r={...t};if(null==e)return!1;let n=this.resolve(e,r);if(n?.res===void 0)return!1;let o=sp(n.res);return!1!==r.returnObjects||!o}extractFromKey(e,t){let r=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===r&&(r=":");let n=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,o=t.ns||this.options.defaultNS||[],i=r&&e.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!((e,t,r)=>{t=t||"",r=r||"";let n=a8.filter(e=>0>t.indexOf(e)&&0>r.indexOf(e));if(0===n.length)return!0;let o=se.getRegExp(`(${n.map(e=>"?"===e?"\\?":e).join("|")})`),i=!o.test(e);if(!i){let t=e.indexOf(r);t>0&&!o.test(e.substring(0,t))&&(i=!0)}return i})(e,r,n);if(i&&!a){let t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:aJ(o)?[o]:o};let i=e.split(r);(r!==n||r===n&&this.options.ns.indexOf(i[0])>-1)&&(o=i.shift()),e=i.join(n)}return{key:e,namespaces:aJ(o)?[o]:o}}translate(e,t,r){let n="object"==typeof t?{...t}:t;if("object"!=typeof n&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof n&&(n={...n}),n||(n={}),null==e)return"";"function"==typeof e&&(e=sc(e,{...this.options,...n})),Array.isArray(e)||(e=[String(e)]);let o=void 0!==n.returnDetails?n.returnDetails:this.options.returnDetails,i=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,{key:a,namespaces:s}=this.extractFromKey(e[e.length-1],n),l=s[s.length-1],u=void 0!==n.nsSeparator?n.nsSeparator:this.options.nsSeparator;void 0===u&&(u=":");let c=n.lng||this.language,d=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(c?.toLowerCase()==="cimode")return d?o?{res:`${l}${u}${a}`,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${u}${a}`:o?{res:a,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:a;let p=this.resolve(e,n),f=p?.res,h=p?.usedKey||a,m=p?.exactUsedKey||a,y=void 0!==n.joinArrays?n.joinArrays:this.options.joinArrays,g=!this.i18nFormat||this.i18nFormat.handleAsObject,b=void 0!==n.count&&!aJ(n.count),v=sf.hasDefaultValue(n),w=b?this.pluralResolver.getSuffix(c,n.count,n):"",x=n.ordinal&&b?this.pluralResolver.getSuffix(c,n.count,{ordinal:!1}):"",E=b&&!n.ordinal&&0===n.count,S=E&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${w}`]||n[`defaultValue${x}`]||n.defaultValue,D=f;g&&!f&&v&&(D=S);let O=sp(D),P=Object.prototype.toString.apply(D);if(g&&D&&O&&0>["[object Number]","[object Function]","[object RegExp]"].indexOf(P)&&!(aJ(y)&&Array.isArray(D))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");let e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,D,{...n,ns:s}):`key '${a} (${this.language})' returned an object instead of string.`;return o?(p.res=e,p.usedParams=this.getUsedParamsDetails(n),p):e}if(i){let e=Array.isArray(D),t=e?[]:{},r=e?m:h;for(let e in D)if(Object.prototype.hasOwnProperty.call(D,e)){let o=`${r}${i}${e}`;v&&!f?t[e]=this.translate(o,{...n,defaultValue:sp(S)?S[e]:void 0,...{joinArrays:!1,ns:s}}):t[e]=this.translate(o,{...n,joinArrays:!1,ns:s}),t[e]===o&&(t[e]=D[e])}f=t}}else if(g&&aJ(y)&&Array.isArray(f))(f=f.join(y))&&(f=this.extendTranslation(f,e,n,r));else{let t=!1,o=!1;!this.isValidLookup(f)&&v&&(t=!0,f=S),this.isValidLookup(f)||(o=!0,f=a);let s=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&o?void 0:f,d=v&&S!==f&&this.options.updateMissing;if(o||t||d){if(this.logger.log(d?"updateKey":"missingKey",c,l,a,d?S:f),i){let e=this.resolve(a,{...n,keySeparator:!1});e&&e.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=[],t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if("fallback"===this.options.saveMissingTo&&t&&t[0])for(let r=0;r<t.length;r++)e.push(t[r]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(n.lng||this.language):e.push(n.lng||this.language);let r=(e,t,r)=>{let o=v&&r!==f?r:s;this.options.missingKeyHandler?this.options.missingKeyHandler(e,l,t,o,d,n):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,l,t,o,d,n),this.emit("missingKey",e,l,t,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&b?e.forEach(e=>{let t=this.pluralResolver.getSuffixes(e,n);E&&n[`defaultValue${this.options.pluralSeparator}zero`]&&0>t.indexOf(`${this.options.pluralSeparator}zero`)&&t.push(`${this.options.pluralSeparator}zero`),t.forEach(t=>{r([e],a+t,n[`defaultValue${t}`]||S)})}):r(e,a,S))}f=this.extendTranslation(f,e,n,p,r),o&&f===a&&this.options.appendNamespaceToMissingKey&&(f=`${l}${u}${a}`),(o||t)&&this.options.parseMissingKeyHandler&&(f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${u}${a}`:a,t?f:void 0,n))}return o?(p.res=f,p.usedParams=this.getUsedParamsDetails(n),p):f}extendTranslation(e,t,r,n,o){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||n.usedLng,n.usedNS,n.usedKey,{resolved:n});else if(!r.skipInterpolation){let i;r.interpolation&&this.interpolator.init({...r,...{interpolation:{...this.options.interpolation,...r.interpolation}}});let a=aJ(e)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);if(a){let t=e.match(this.interpolator.nestingRegexp);i=t&&t.length}let s=r.replace&&!aJ(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(s={...this.options.interpolation.defaultVariables,...s}),e=this.interpolator.interpolate(e,s,r.lng||this.language||n.usedLng,r),a){let t=e.match(this.interpolator.nestingRegexp);i<(t&&t.length)&&(r.nest=!1)}!r.lng&&n&&n.res&&(r.lng=this.language||n.usedLng),!1!==r.nest&&(e=this.interpolator.nest(e,(...e)=>o?.[0]!==e[0]||r.context?this.translate(...e,t):(this.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${t[0]}`),null),r)),r.interpolation&&this.interpolator.reset()}let i=r.postProcess||this.options.postProcess,a=aJ(i)?[i]:i;return null!=e&&a?.length&&!1!==r.applyPostProcessor&&(e=sl.handle(a,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...n,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e,t={}){let r,n,o,i,a;return aJ(e)&&(e=[e]),e.forEach(e=>{if(this.isValidLookup(r))return;let s=this.extractFromKey(e,t),l=s.key;n=l;let u=s.namespaces;this.options.fallbackNS&&(u=u.concat(this.options.fallbackNS));let c=void 0!==t.count&&!aJ(t.count),d=c&&!t.ordinal&&0===t.count,p=void 0!==t.context&&(aJ(t.context)||"number"==typeof t.context)&&""!==t.context,f=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);u.forEach(e=>{this.isValidLookup(r)||(a=e,!sd[`${f[0]}-${e}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(a)&&(sd[`${f[0]}-${e}`]=!0,this.logger.warn(`key "${n}" for languages "${f.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!!!")),f.forEach(n=>{let a;if(this.isValidLookup(r))return;i=n;let s=[l];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(s,l,n,e,t);else{let e;c&&(e=this.pluralResolver.getSuffix(n,t.count,t));let r=`${this.options.pluralSeparator}zero`,o=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(c&&(t.ordinal&&0===e.indexOf(o)&&s.push(l+e.replace(o,this.options.pluralSeparator)),s.push(l+e),d&&s.push(l+r)),p){let n=`${l}${this.options.contextSeparator||"_"}${t.context}`;s.push(n),c&&(t.ordinal&&0===e.indexOf(o)&&s.push(n+e.replace(o,this.options.pluralSeparator)),s.push(n+e),d&&s.push(n+r))}}for(;a=s.pop();)this.isValidLookup(r)||(o=a,r=this.getResource(n,e,a,t))}))})}),{res:r,usedKey:n,exactUsedKey:o,usedLng:i,usedNS:a}}isValidLookup(e){return void 0!==e&&!(!this.options.returnNull&&null===e)&&!(!this.options.returnEmptyString&&""===e)}getResource(e,t,r,n={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,r,n):this.resourceStore.getResource(e,t,r,n)}getUsedParamsDetails(e={}){let t=e.replace&&!aJ(e.replace),r=t?e.replace:e;if(t&&void 0!==e.count&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!t)for(let e of(r={...r},["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"]))delete r[e];return r}static hasDefaultValue(e){let t="defaultValue";for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t===r.substring(0,t.length)&&void 0!==e[r])return!0;return!1}}class sh{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=si.create("languageUtils")}getScriptPartFromCode(e){if(!(e=sr(e))||0>e.indexOf("-"))return null;let t=e.split("-");return 2===t.length||(t.pop(),"x"===t[t.length-1].toLowerCase())?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(!(e=sr(e))||0>e.indexOf("-"))return e;let t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(aJ(e)&&e.indexOf("-")>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch(e){}return(t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t)?t:this.options.lowerCaseLng?e.toLowerCase():e}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){let t;return e?(e.forEach(e=>{if(t)return;let r=this.formatLanguageCode(e);(!this.options.supportedLngs||this.isSupportedCode(r))&&(t=r)}),!t&&this.options.supportedLngs&&e.forEach(e=>{if(t)return;let r=this.getScriptPartFromCode(e);if(this.isSupportedCode(r))return t=r;let n=this.getLanguagePartFromCode(e);if(this.isSupportedCode(n))return t=n;t=this.options.supportedLngs.find(e=>{if(e===n||!(0>e.indexOf("-")&&0>n.indexOf("-"))&&(e.indexOf("-")>0&&0>n.indexOf("-")&&e.substring(0,e.indexOf("-"))===n||0===e.indexOf(n)&&n.length>1))return e})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),aJ(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let r=e[t];return r||(r=e[this.getScriptPartFromCode(t)]),r||(r=e[this.formatLanguageCode(t)]),r||(r=e[this.getLanguagePartFromCode(t)]),r||(r=e.default),r||[]}toResolveHierarchy(e,t){let r=this.getFallbackCodes((!1===t?[]:t)||this.options.fallbackLng||[],e),n=[],o=e=>{e&&(this.isSupportedCode(e)?n.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return aJ(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&o(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&o(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&o(this.getLanguagePartFromCode(e))):aJ(e)&&o(this.formatLanguageCode(e)),r.forEach(e=>{0>n.indexOf(e)&&o(this.formatLanguageCode(e))}),n}}let sm={zero:0,one:1,two:2,few:3,many:4,other:5},sy={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class sg{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=si.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let r,n=sr("dev"===e?"en":e),o=t.ordinal?"ordinal":"cardinal",i=JSON.stringify({cleanedCode:n,type:o});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];try{r=new Intl.PluralRules(n,{type:o})}catch(o){if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),sy;if(!e.match(/-|_/))return sy;let n=this.languageUtils.getLanguagePartFromCode(e);r=this.getRule(n,t)}return this.pluralRulesCache[i]=r,r}needsPlural(e,t={}){let r=this.getRule(e,t);return r||(r=this.getRule("dev",t)),r?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,r={}){return this.getSuffixes(e,r).map(e=>`${t}${e}`)}getSuffixes(e,t={}){let r=this.getRule(e,t);return(r||(r=this.getRule("dev",t)),r)?r.resolvedOptions().pluralCategories.sort((e,t)=>sm[e]-sm[t]).map(e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`):[]}getSuffix(e,t,r={}){let n=this.getRule(e,r);return n?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${n.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,r))}}let sb=(e,t,r,n=".",o=!0)=>{let i,a=void 0!==(i=a6(e,r))?i:a6(t,r);return!a&&o&&aJ(r)&&void 0===(a=st(e,r,n))&&(a=st(t,r,n)),a};class sv{constructor(e={}){this.logger=si.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});let{escape:t,escapeValue:r,useRawValueToEscape:n,prefix:o,prefixEscaped:i,suffix:a,suffixEscaped:s,formatSeparator:l,unescapeSuffix:u,unescapePrefix:c,nestingPrefix:d,nestingPrefixEscaped:p,nestingSuffix:f,nestingSuffixEscaped:h,nestingOptionsSeparator:m,maxReplaces:y,alwaysFormat:g}=e.interpolation;this.escape=void 0!==t?t:a7,this.escapeValue=void 0===r||r,this.useRawValueToEscape=void 0!==n&&n,this.prefix=o?o.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):i||"{{",this.suffix=a?a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):s||"}}",this.formatSeparator=l||",",this.unescapePrefix=u?"":c||"-",this.unescapeSuffix=this.unescapePrefix?"":u||"",this.nestingPrefix=d?d.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):p||"$t(".replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),this.nestingSuffix=f?f.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):h||")".replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),this.nestingOptionsSeparator=m||",",this.maxReplaces=y||1e3,this.alwaysFormat=void 0!==g&&g,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){let e=(e,t)=>e?.source===t?(e.lastIndex=0,e):RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,r,n){let o,i,a,s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=e=>{if(0>e.indexOf(this.formatSeparator)){let o=sb(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(o,void 0,r,{...n,...t,interpolationkey:e}):o}let o=e.split(this.formatSeparator),i=o.shift().trim(),a=o.join(this.formatSeparator).trim();return this.format(sb(t,s,i,this.options.keySeparator,this.options.ignoreJSONStructure),a,r,{...n,...t,interpolationkey:i})};this.resetRegExp();let u=n?.missingInterpolationHandler||this.options.missingInterpolationHandler,c=n?.interpolation?.skipOnVariables!==void 0?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>e.replace(/\$/g,"$$$$")},{regex:this.regexp,safeValue:e=>this.escapeValue?this.escape(e).replace(/\$/g,"$$$$"):e.replace(/\$/g,"$$$$")}].forEach(t=>{for(a=0;o=t.regex.exec(e);){let r=o[1].trim();if(void 0===(i=l(r)))if("function"==typeof u){let t=u(e,o,n);i=aJ(t)?t:""}else if(n&&Object.prototype.hasOwnProperty.call(n,r))i="";else if(c){i=o[0];continue}else this.logger.warn(`missed to pass in variable ${r} for interpolating ${e}`),i="";else aJ(i)||this.useRawValueToEscape||(i=aQ(i));let s=t.safeValue(i);if(e=e.replace(o[0],s),c?(t.regex.lastIndex+=i.length,t.regex.lastIndex-=o[0].length):t.regex.lastIndex=0,++a>=this.maxReplaces)break}}),e}nest(e,t,r={}){let n,o,i,a=(e,t)=>{let r=this.nestingOptionsSeparator;if(0>e.indexOf(r))return e;let n=e.split(RegExp(`${r}[ ]*{`)),o=`{${n[1]}`;e=n[0];let a=(o=this.interpolate(o,i)).match(/'/g),s=o.match(/"/g);((a?.length??0)%2!=0||s)&&s.length%2==0||(o=o.replace(/'/g,'"'));try{i=JSON.parse(o),t&&(i={...t,...i})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${r}${o}`}return i.defaultValue&&i.defaultValue.indexOf(this.prefix)>-1&&delete i.defaultValue,e};for(;n=this.nestingRegexp.exec(e);){let s=[];(i=(i={...r}).replace&&!aJ(i.replace)?i.replace:i).applyPostProcessor=!1,delete i.defaultValue;let l=/{.*}/.test(n[1])?n[1].lastIndexOf("}")+1:n[1].indexOf(this.formatSeparator);if(-1!==l&&(s=n[1].slice(l).split(this.formatSeparator).map(e=>e.trim()).filter(Boolean),n[1]=n[1].slice(0,l)),(o=t(a.call(this,n[1].trim(),i),i))&&n[0]===e&&!aJ(o))return o;aJ(o)||(o=aQ(o)),o||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${e}`),o=""),s.length&&(o=s.reduce((e,t)=>this.format(e,t,r.lng,{...r,interpolationkey:n[1].trim()}),o.trim())),e=e.replace(n[0],o),this.regexp.lastIndex=0}return e}}let sw=e=>{let t={};return(r,n,o)=>{let i=o;o&&o.interpolationkey&&o.formatParams&&o.formatParams[o.interpolationkey]&&o[o.interpolationkey]&&(i={...i,[o.interpolationkey]:void 0});let a=n+JSON.stringify(i),s=t[a];return s||(s=e(sr(n),o),t[a]=s),s(r)}},s_=e=>(t,r,n)=>e(sr(r),n)(t);class sx{constructor(e={}){this.logger=si.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";let r=t.cacheInBuiltFormats?sw:s_;this.formats={number:r((e,t)=>{let r=new Intl.NumberFormat(e,{...t});return e=>r.format(e)}),currency:r((e,t)=>{let r=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>r.format(e)}),datetime:r((e,t)=>{let r=new Intl.DateTimeFormat(e,{...t});return e=>r.format(e)}),relativetime:r((e,t)=>{let r=new Intl.RelativeTimeFormat(e,{...t});return e=>r.format(e,t.range||"day")}),list:r((e,t)=>{let r=new Intl.ListFormat(e,{...t});return e=>r.format(e)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=sw(t)}format(e,t,r,n={}){let o=t.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&0>o[0].indexOf(")")&&o.find(e=>e.indexOf(")")>-1)){let e=o.findIndex(e=>e.indexOf(")")>-1);o[0]=[o[0],...o.splice(1,e)].join(this.formatSeparator)}return o.reduce((e,t)=>{let{formatName:o,formatOptions:i}=(e=>{let t=e.toLowerCase().trim(),r={};if(e.indexOf("(")>-1){let n=e.split("(");t=n[0].toLowerCase().trim();let o=n[1].substring(0,n[1].length-1);"currency"===t&&0>o.indexOf(":")?r.currency||(r.currency=o.trim()):"relativetime"===t&&0>o.indexOf(":")?r.range||(r.range=o.trim()):o.split(";").forEach(e=>{if(e){let[t,...n]=e.split(":"),o=n.join(":").trim().replace(/^'+|'+$/g,""),i=t.trim();r[i]||(r[i]=o),"false"===o&&(r[i]=!1),"true"===o&&(r[i]=!0),isNaN(o)||(r[i]=parseInt(o,10))}})}return{formatName:t,formatOptions:r}})(t);if(this.formats[o]){let t=e;try{let a=n?.formatParams?.[n.interpolationkey]||{},s=a.locale||a.lng||n.locale||n.lng||r;t=this.formats[o](e,s,{...i,...n,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${o}`),e},e)}}class sE extends sa{constructor(e,t,r,n={}){super(),this.backend=e,this.store=t,this.services=r,this.languageUtils=r.languageUtils,this.options=n,this.logger=si.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=n.maxParallelReads||10,this.readingCalls=0,this.maxRetries=n.maxRetries>=0?n.maxRetries:5,this.retryTimeout=n.retryTimeout>=1?n.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(r,n.backend,n)}queueLoad(e,t,r,n){let o={},i={},a={},s={};return e.forEach(e=>{let n=!0;t.forEach(t=>{let a=`${e}|${t}`;!r.reload&&this.store.hasResourceBundle(e,t)?this.state[a]=2:this.state[a]<0||(1===this.state[a]?void 0===i[a]&&(i[a]=!0):(this.state[a]=1,n=!1,void 0===i[a]&&(i[a]=!0),void 0===o[a]&&(o[a]=!0),void 0===s[t]&&(s[t]=!0)))}),n||(a[e]=!0)}),(Object.keys(o).length||Object.keys(i).length)&&this.queue.push({pending:i,pendingCount:Object.keys(i).length,loaded:{},errors:[],callback:n}),{toLoad:Object.keys(o),pending:Object.keys(i),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(s)}}loaded(e,t,r){let n=e.split("|"),o=n[0],i=n[1];t&&this.emit("failedLoading",o,i,t),!t&&r&&this.store.addResourceBundle(o,i,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&r&&(this.state[e]=0);let a={};this.queue.forEach(r=>{((e,t,r,n)=>{let{obj:o,k:i}=a4(e,t,Object);o[i]=o[i]||[],o[i].push(r)})(r.loaded,[o],i),void 0!==r.pending[e]&&(delete r.pending[e],r.pendingCount--),t&&r.errors.push(t),0!==r.pendingCount||r.done||(Object.keys(r.loaded).forEach(e=>{a[e]||(a[e]={});let t=r.loaded[e];t.length&&t.forEach(t=>{void 0===a[e][t]&&(a[e][t]=!0)})}),r.done=!0,r.errors.length?r.callback(r.errors):r.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(e=>!e.done)}read(e,t,r,n=0,o=this.retryTimeout,i){if(!e.length)return i(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:r,tried:n,wait:o,callback:i});this.readingCalls++;let a=(a,s)=>{if(this.readingCalls--,this.waitingReads.length>0){let e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}a&&s&&n<this.maxRetries?setTimeout(()=>{this.read.call(this,e,t,r,n+1,2*o,i)},o):i(a,s)},s=this.backend[r].bind(this.backend);if(2===s.length){try{let r=s(e,t);r&&"function"==typeof r.then?r.then(e=>a(null,e)).catch(a):a(null,r)}catch(e){a(e)}return}return s(e,t,a)}prepareLoading(e,t,r={},n){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),n&&n();aJ(e)&&(e=this.languageUtils.toResolveHierarchy(e)),aJ(t)&&(t=[t]);let o=this.queueLoad(e,t,r,n);if(!o.toLoad.length)return o.pending.length||n(),null;o.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,r){this.prepareLoading(e,t,{},r)}reload(e,t,r){this.prepareLoading(e,t,{reload:!0},r)}loadOne(e,t=""){let r=e.split("|"),n=r[0],o=r[1];this.read(n,o,"read",void 0,void 0,(r,i)=>{r&&this.logger.warn(`${t}loading namespace ${o} for language ${n} failed`,r),!r&&i&&this.logger.log(`${t}loaded namespace ${o} for language ${n}`,i),this.loaded(e,r,i)})}saveMissing(e,t,r,n,o,i={},a=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t))return void this.logger.warn(`did not save key "${r}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");if(null!=r&&""!==r){if(this.backend?.create){let s={...i,isUpdate:o},l=this.backend.create.bind(this.backend);if(l.length<6)try{let o;(o=5===l.length?l(e,t,r,n,s):l(e,t,r,n))&&"function"==typeof o.then?o.then(e=>a(null,e)).catch(a):a(null,o)}catch(e){a(e)}else l(e,t,r,n,a,s)}e&&e[0]&&this.store.addResource(e[0],t,r,n)}}}let sS=()=>({debug:!1,initAsync:!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:e=>{let t={};if("object"==typeof e[1]&&(t=e[1]),aJ(e[1])&&(t.defaultValue=e[1]),aJ(e[2])&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){let r=e[3]||e[2];Object.keys(r).forEach(e=>{t[e]=r[e]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),sD=e=>(aJ(e.ns)&&(e.ns=[e.ns]),aJ(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),aJ(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),"boolean"==typeof e.initImmediate&&(e.initAsync=e.initImmediate),e),sO=()=>{};class sP extends sa{constructor(e={},t){if(super(),this.options=sD(e),this.services={},this.logger=si,this.modules={external:[]},(e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(t=>{"function"==typeof e[t]&&(e[t]=e[t].bind(e))})})(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,"function"==typeof e&&(t=e,e={}),null==e.defaultNS&&e.ns&&(aJ(e.ns)?e.defaultNS=e.ns:0>e.ns.indexOf("translation")&&(e.defaultNS=e.ns[0]));let r=sS();this.options={...r,...this.options,...sD(e)},this.options.interpolation={...r.interpolation,...this.options.interpolation},void 0!==e.keySeparator&&(this.options.userDefinedKeySeparator=e.keySeparator),void 0!==e.nsSeparator&&(this.options.userDefinedNsSeparator=e.nsSeparator);let n=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let e;this.modules.logger?si.init(n(this.modules.logger),this.options):si.init(null,this.options),e=this.modules.formatter?this.modules.formatter:sx;let t=new sh(this.options);this.store=new ss(this.options.resources,this.options);let o=this.services;o.logger=si,o.resourceStore=this.store,o.languageUtils=t,o.pluralResolver=new sg(t,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),e&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(o.formatter=n(e),o.formatter.init&&o.formatter.init(o,this.options),this.options.interpolation.format=o.formatter.format.bind(o.formatter)),o.interpolator=new sv(this.options),o.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},o.backendConnector=new sE(n(this.modules.backend),o.resourceStore,o,this.options),o.backendConnector.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.languageDetector&&(o.languageDetector=n(this.modules.languageDetector),o.languageDetector.init&&o.languageDetector.init(o,this.options.detection,this.options)),this.modules.i18nFormat&&(o.i18nFormat=n(this.modules.i18nFormat),o.i18nFormat.init&&o.i18nFormat.init(this)),this.translator=new sf(this.services,this.options),this.translator.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.external.forEach(e=>{e.init&&e.init(this)})}if(this.format=this.options.interpolation.format,t||(t=sO),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[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(e=>{this[e]=(...t)=>this.store[e](...t)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(e=>{this[e]=(...t)=>(this.store[e](...t),this)});let o=aX(),i=()=>{let e=(e,r)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),o.resolve(r),t(e,r)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?i():setTimeout(i,0),o}loadResources(e,t=sO){let r=t,n=aJ(e)?e:this.language;if("function"==typeof e&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if(n?.toLowerCase()==="cimode"&&(!this.options.preload||0===this.options.preload.length))return r();let e=[],t=t=>{t&&"cimode"!==t&&this.services.languageUtils.toResolveHierarchy(t).forEach(t=>{"cimode"!==t&&0>e.indexOf(t)&&e.push(t)})};n?t(n):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>t(e)),this.options.preload?.forEach?.(e=>t(e)),this.services.backendConnector.load(e,this.options.ns,e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),r(e)})}else r(null)}reloadResources(e,t,r){let n=aX();return"function"==typeof e&&(r=e,e=void 0),"function"==typeof t&&(r=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),r||(r=sO),this.services.backendConnector.reload(e,t,e=>{n.resolve(),r(e)}),n}use(e){if(!e)throw Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&sl.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1)){for(let e=0;e<this.languages.length;e++){let t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&0>this.languages.indexOf(e)&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;let r=aX();this.emit("languageChanging",e);let n=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},o=(o,i)=>{i?this.isLanguageChangingTo===e&&(n(i),this.translator.changeLanguage(i),this.isLanguageChangingTo=void 0,this.emit("languageChanged",i),this.logger.log("languageChanged",i)):this.isLanguageChangingTo=void 0,r.resolve((...e)=>this.t(...e)),t&&t(o,(...e)=>this.t(...e))},i=t=>{e||t||!this.services.languageDetector||(t=[]);let r=aJ(t)?t:t&&t[0],i=this.store.hasLanguageSomeTranslations(r)?r:this.services.languageUtils.getBestMatchFromCodes(aJ(t)?[t]:t);i&&(this.language||n(i),this.translator.language||this.translator.changeLanguage(i),this.services.languageDetector?.cacheUserLanguage?.(i)),this.loadResources(i,e=>{o(e,i)})};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(i):this.services.languageDetector.detect(i):i(e):i(this.services.languageDetector.detect()),r}getFixedT(e,t,r){let n=(e,t,...o)=>{let i,a;(i="object"!=typeof t?this.options.overloadTranslationOptionHandler([e,t].concat(o)):{...t}).lng=i.lng||n.lng,i.lngs=i.lngs||n.lngs,i.ns=i.ns||n.ns,""!==i.keyPrefix&&(i.keyPrefix=i.keyPrefix||r||n.keyPrefix);let s=this.options.keySeparator||".";return i.keyPrefix&&Array.isArray(e)?a=e.map(e=>("function"==typeof e&&(e=sc(e,{...this.options,...t})),`${i.keyPrefix}${s}${e}`)):("function"==typeof e&&(e=sc(e,{...this.options,...t})),a=i.keyPrefix?`${i.keyPrefix}${s}${e}`:e),this.t(a,i)};return aJ(e)?n.lng=e:n.lngs=e,n.ns=t,n.keyPrefix=r,n}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){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;let r=t.lng||this.resolvedLanguage||this.languages[0],n=!!this.options&&this.options.fallbackLng,o=this.languages[this.languages.length-1];if("cimode"===r.toLowerCase())return!0;let i=(e,t)=>{let r=this.services.backendConnector.state[`${e}|${t}`];return -1===r||0===r||2===r};if(t.precheck){let e=t.precheck(this,i);if(void 0!==e)return e}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||i(r,e)&&(!n||i(o,e)))}loadNamespaces(e,t){let r=aX();return this.options.ns?(aJ(e)&&(e=[e]),e.forEach(e=>{0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}loadLanguages(e,t){let r=aX();aJ(e)&&(e=[e]);let n=this.options.preload||[],o=e.filter(e=>0>n.indexOf(e)&&this.services.languageUtils.isSupportedCode(e));return o.length?(this.options.preload=n.concat(o),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";try{let t=new Intl.Locale(e);if(t&&t.getTextInfo){let e=t.getTextInfo();if(e&&e.direction)return e.direction}}catch(e){}let t=this.services?.languageUtils||new sh(sS());return e.toLowerCase().indexOf("-latn")>1?"ltr":["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"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){return new sP(e,t)}cloneInstance(e={},t=sO){let r=e.forkResourceStore;r&&delete e.forkResourceStore;let n={...this.options,...e,isClone:!0},o=new sP(n);return(void 0!==e.debug||void 0!==e.prefix)&&(o.logger=o.logger.clone(e)),["store","services","language"].forEach(e=>{o[e]=this[e]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new ss(Object.keys(this.store.data).reduce((e,t)=>(e[t]={...this.store.data[t]},e[t]=Object.keys(e[t]).reduce((r,n)=>(r[n]={...e[t][n]},r),e[t]),e),{}),n),o.services.resourceStore=o.store),o.translator=new sf(o.services,n),o.translator.on("*",(e,...t)=>{o.emit(e,...t)}),o.init(n,t),o.translator.options=n,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}let sC=sP.createInstance();sC.createInstance=sP.createInstance,sC.createInstance,sC.dir,sC.init,sC.loadResources,sC.reloadResources,sC.use,sC.changeLanguage,sC.getFixedT,sC.t,sC.exists,sC.setDefaultNamespace,sC.hasLoadedNamespace,sC.loadNamespaces,sC.loadLanguages;let sk=sC.default||sC;function sj(e,t,r,n){return sk.t(t,{ns:e,defaultValue:r,...n})}function sT(e,t,r){return aZ[e]?sj("core",e,t??aZ[e],r):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}sk.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let sR="import-map-override:",sN="import-map-overrides-disabled",sM="import-map-overrides:change",sA=!1,s$=null,sI=null;async function sL(){return sI??(sI=sF().then(({map:e,complete:t})=>(t||(sI=null),e))),sI}async function sF(){let e=document.querySelectorAll('script[type="systemjs-importmap"]'),t=[],r=!0;for(let n=0;n<e.length;n++){let o=e[n];try{if(o.src){let e=await fetch(o.src);if(!e.ok)throw Error(`Request for ${o.src} returned ${e.status} ${e.statusText}`);t.push(await e.json())}else o.textContent&&t.push(JSON.parse(o.textContent))}catch(e){r=!1,console.warn(`[import-maps] Failed to parse import map from script tag at index ${n}`,e)}}return{map:sB(t),complete:r}}function sB(e){let t={imports:{}};for(let r of e)r?.imports&&Object.assign(t.imports,r.imports);return t}function sV(){let e={};try{let t=sH();for(let r=0;r<localStorage.length;r++){let n=localStorage.key(r);if(n?.startsWith(sR)){let r=n.slice(sR.length);if(!t.includes(r)){let t=localStorage.getItem(n);t&&(e[r]=t)}}}}catch(e){console.warn("[import-maps] Failed to read import-map overrides from localStorage",e)}return{imports:e}}async function sU(){let e=await sL();return sA?sB([e,s$??sV()]):e}async function sW(){return sL()}async function sz(){return sA?sB([await sL(),sV()]):sL()}function sK(e){if(!sA)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);if(r?.startsWith(sR)){let t=localStorage.getItem(r);t&&(e[r.slice(sR.length)]=t)}}return{imports:e}}return sV()}function sH(){if(!sA)return[];try{let e=localStorage.getItem(sN);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function sG(e){return!!sA&&sH().includes(e)}function sq(e,t){if(!sA)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(sR+e,t),window.dispatchEvent(new CustomEvent(sM))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function sY(e){if(!sA)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(sR+e);let t=sH().filter(t=>t!==e);t.length>0?localStorage.setItem(sN,JSON.stringify(t)):localStorage.removeItem(sN),window.dispatchEvent(new CustomEvent(sM))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function sZ(){if(!sA)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);r?.startsWith(sR)&&e.push(r)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(sN),window.dispatchEvent(new CustomEvent(sM))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function sJ(e){if(!sA)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=sH().filter(t=>t!==e);t.length>0?localStorage.setItem(sN,JSON.stringify(t)):localStorage.removeItem(sN),window.dispatchEvent(new CustomEvent(sM))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let sX=!1;function sQ(){!sX&&(sX=!0,(sA="development"===window.spaEnv)&&(s$=sV()))}function s0(e){return e.replace(/[\/\-@]/g,"_")}async function s1(e,t="./start",n){var o;let i,a=!n?.maxLoadingTime||n.maxLoadingTime<=0?6e5:n.maxLoadingTime;await Promise.race([s2(e,n?.importMap),new Promise((t,r)=>{i=setTimeout(()=>{var t;r(Error(`Could not resolve requested script, ${e}, within ${(t=a)<1e3?`${t} milliseconds`:t<6e4?`${Math.floor(t/1e3)} seconds`:t<36e5?`${Math.floor(t/6e4)} minutes`:t<864e5?`${Math.floor(t/36e5)} hours`:`${Math.floor(t/864e5)} days`}.`))},a)})]),i&&clearTimeout(i);let s=s0(e),l=window[s];if(!("object"==typeof(o=l)&&null!==o&&"init"in o&&"function"==typeof o.init&&"get"in o&&"function"==typeof o.get)){let e=`The global variable ${s} does not refer to a federated module`;throw console.error(e),Error(e)}l.init(r.S.default);let u=(await l.get(t))();if("object"!=typeof u||null===u){let t=`Container for ${e} did not return an ESM module as expected`;throw console.error(t),Error(t)}return u}async function s2(e,t){if("string"!=typeof e||0===e.trim().length){let e="Attempted to call importDynamic() without supplying a package to load";throw console.error(e),Error(e)}let r=s0(e);if(!window[r]){let r=t??await s4();if(!r.imports.hasOwnProperty(e)){let t=`Could not find the package ${e} defined in the current importmap`;throw console.error(t),Error(t)}let n=r.imports[e];n.startsWith("./")&&(n=window.spaBase+n.substring(1));let o=e in sK().imports;try{return await function(e){var t;let r=(t=window)[s3]??(t[s3]=new Map),n=r.get(e);if(n)return n;if(document.head.querySelector(`script[src="${e}"]`))return console.warn(`Script at ${e} already loaded. Not loading it again.`),Promise.resolve();let o=document.createElement("script");o.src=e,o.type="text/javascript",o.async=!0;let i=new Promise((t,n)=>{let i=setTimeout(()=>{console.error(`The script at ${e} did not load within 5 seconds. This may indicate an issue with the imports in the script's entry-point file or with the script's bundler configuration.`)},5e3);function a(){clearTimeout(i),o.removeEventListener("load",s),o.removeEventListener("error",l)}function s(){a(),t()}function l(t){a(),r.delete(e),o.remove();let i=`Failed to load script from ${e}`;console.error(i,t),n(t.message??i)}o.addEventListener("load",s),o.addEventListener("error",l),document.head.appendChild(o)});return r.set(e,i),i}(n)}catch(e){return o&&T({kind:"error",title:sT("scriptLoadingFailed","Error: Script failed to load"),description:sT("scriptLoadingError","Failed to load overridden script from {{- url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",{url:n}),actionButtonLabel:sT("resetOverrides","Reset overrides"),onActionButtonClick(){sZ(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function s4(){return sU()}let s3=Symbol.for("__openmrs_script_loading");function s6(e){return!!e&&"object"==typeof e&&!(Object.hasOwn(e,"pages")&&(!e.pages||!Array.isArray(e.pages))||Object.hasOwn(e,"extensions")&&(!e.extensions||!Array.isArray(e.extensions))||Object.hasOwn(e,"workspaces")&&(!e.workspaces||!Array.isArray(e.workspaces))||Object.hasOwn(e,"modals")&&(!e.modals||!Array.isArray(e.modals)))}function s5(e){return!!e&&"object"==typeof e&&"routes"in e&&!!e.routes&&"object"==typeof e.routes&&Object.entries(e.routes).every(([e,t])=>"string"==typeof e&&s6(t))}let s9="openmrs-routes:",s7="openmrs-routes:change",s8=!1,le=null,lt=null;async function lr(){return lt??(lt=ln().then(({map:e,complete:t})=>(t||(lt=null),e))),lt}async function ln(){let e=document.querySelectorAll("script[type='openmrs-routes']"),t=[],r=!0;for(let n=0;n<e.length;n++){let o=e[n];try{let e;if(o.src){let t=await fetch(o.src);if(!t.ok)throw Error(`Request for ${o.src} returned ${t.status} ${t.statusText}`);e=await t.json()}else o.textContent&&(e=JSON.parse(o.textContent));e&&s5(e)&&t.push(e)}catch(e){r=!1,console.warn(`[route-maps] Failed to parse routes from script tag at index ${n}`,e)}}return{map:lo(t),complete:r}}function lo(e){let t={routes:{}};for(let r of e)r&&"object"==typeof r&&!Array.isArray(r)&&(Object.assign(t.routes,r.routes),void 0===t.version&&void 0!==r.version&&(t.version=r.version));return t}async function li(){let e={version:void 0,routes:{}};try{let t=[];for(let e=0;e<localStorage.length;e++){let r=localStorage.key(e);if(r?.startsWith(s9)){let e=localStorage.getItem(r);e&&t.push({moduleName:r.slice(s9.length),raw:e})}}for(let r of(await Promise.allSettled(t.map(async({moduleName:e,raw:t})=>{let r=JSON.parse(t);if(s6(r))return{moduleName:e,routes:r};if("string"==typeof r&&r.startsWith("http")){let t=await fetch(r),n=await t.json();if(s6(n))return{moduleName:e,routes:n};throw Error(`${r} did not resolve to a valid OpenmrsAppRoutes object`)}throw Error(`Override for ${e} is neither a valid routes object nor a URL`)}))))"fulfilled"===r.status?e.routes[r.value.moduleName]=r.value.routes:console.warn("[route-maps] Failed to load route override",r.reason)}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}async function la(){let e=await lr();return s8?lo([e,le??await li()]):e}async function ls(){return lr()}async function ll(){return s8?lo([await lr(),await li()]):lr()}function lu(){if(!s8)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);if(r?.startsWith(s9)){let t=localStorage.getItem(r);t&&(e[r.slice(s9.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function lc(e,t){if(!s8)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(s9+e,JSON.stringify(t));else{let r=JSON.parse(t);if(!s6(r))return void console.error(`The supplied routes for ${e} is not a valid OpenmrsAppRoutes object`,t);localStorage.setItem(s9+e,JSON.stringify(r))}else if(t instanceof URL)localStorage.setItem(s9+e,JSON.stringify(t.toString()));else{if(!s6(t))return void console.error(`Override for ${e} is not in a valid format. Expected either a Javascript Object, a JSON string of a Javascript object, or a URL`,t);localStorage.setItem(s9+e,JSON.stringify(t))}window.dispatchEvent(new CustomEvent(s7))}catch(e){console.warn("[route-maps] Failed to write route override to localStorage",e)}}function ld(e){if(!s8)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(s9+e),window.dispatchEvent(new CustomEvent(s7))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function lp(){if(!s8)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);r?.startsWith(s9)&&e.push(r)}e.forEach(e=>localStorage.removeItem(e)),window.dispatchEvent(new CustomEvent(s7))}catch(e){console.warn("[route-maps] Failed to clear route overrides from localStorage",e)}}let lf=null;function lh(){return lf||(lf=(s8="development"===window.spaEnv)?li().then(e=>{le=e}):Promise.resolve())}let lm=`${aP}/attachment`;function ly(e,t){return aT(`${lm}/${e}`,{signal:t.signal})}function lg(e,t,r,n){return aT(lb(e,t,n),{signal:r.signal})}function lb(e,t,r){return r?`${lm}?patient=${e}&encounter=${r}`:`${lm}?patient=${e}&includeEncounterless=${t}`}async function lv(e,t,r){let n=new FormData;return n.append("fileCaption",t.fileDescription),n.append("patient",e),r&&n.append("encounter",r),t.file?n.append("file",t.file,t.fileName):(n.append("file",new File([""],t.fileName),t.fileName),n.append("base64Content",t.base64Content)),aT(`${lm}`,{method:"POST",body:n})}function lw(e,t){return aT(`${lm}/${e}`,{method:"DELETE",signal:t.signal})}try{self["workbox:window:6.5.4"]&&_()}catch(e){}function l_(e,t){return new Promise(function(r){var n=new MessageChannel;n.port1.onmessage=function(e){r(e.data)},e.postMessage(t,[n.port2])})}function lx(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function lE(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}try{self["workbox:core:6.5.4"]&&_()}catch(e){}var lS=function(){var e=this;this.promise=new Promise(function(t,r){e.resolve=t,e.reject=r})};function lD(e,t){var r=location.href;return new URL(e,r).href===new URL(t,r).href}var lO=function(e,t){this.type=e,Object.assign(this,t)};function lP(e,t,r){return r?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}function lC(){}var lk={type:"SKIP_WAITING"};function lj(e,t){if(!t)return e&&e.then?e.then(lC):Promise.resolve()}var lT=function(e){function t(t,r){var n,o;return void 0===r&&(r={}),(n=e.call(this)||this).nn={},n.tn=0,n.rn=new lS,n.en=new lS,n.on=new lS,n.un=0,n.an=new Set,n.cn=function(){var e=n.fn,t=e.installing;n.tn>0||!lD(t.scriptURL,n.sn.toString())||performance.now()>n.un+6e4?(n.vn=t,e.removeEventListener("updatefound",n.cn)):(n.hn=t,n.an.add(t),n.rn.resolve(t)),++n.tn,t.addEventListener("statechange",n.ln)},n.ln=function(e){var t=n.fn,r=e.target,o=r.state,i=r===n.vn,a={sw:r,isExternal:i,originalEvent:e};!i&&n.mn&&(a.isUpdate=!0),n.dispatchEvent(new lO(o,a)),"installed"===o?n.wn=self.setTimeout(function(){"installed"===o&&t.waiting===r&&n.dispatchEvent(new lO("waiting",a))},200):"activating"===o&&(clearTimeout(n.wn),i||n.en.resolve(r))},n.dn=function(e){var t=n.hn,r=t!==navigator.serviceWorker.controller;n.dispatchEvent(new lO("controlling",{isExternal:r,originalEvent:e,sw:t,isUpdate:n.mn})),r||n.on.resolve(t)},o=function(e){var t=e.data,r=e.ports,o=e.source;return lP(n.getSW(),function(){n.an.has(o)&&n.dispatchEvent(new lO("message",{data:t,originalEvent:e,ports:r,sw:o}))})},n.gn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];try{return Promise.resolve(o.apply(this,e))}catch(e){return Promise.reject(e)}},n.sn=t,n.nn=r,navigator.serviceWorker.addEventListener("message",n.gn),n}t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e;var r,n,o=t.prototype;return o.register=function(e){var t=(void 0===e?{}:e).immediate,r=void 0!==t&&t;try{var n,o,i,a=this;return n=function(){if(!r&&"complete"!==document.readyState)return lj(new Promise(function(e){return window.addEventListener("load",e)}))},o=function(){return a.mn=!!navigator.serviceWorker.controller,a.yn=a.pn(),lP(a.bn(),function(e){a.fn=e,a.yn&&(a.hn=a.yn,a.en.resolve(a.yn),a.on.resolve(a.yn),a.yn.addEventListener("statechange",a.ln,{once:!0}));var t=a.fn.waiting;return t&&lD(t.scriptURL,a.sn.toString())&&(a.hn=t,Promise.resolve().then(function(){a.dispatchEvent(new lO("waiting",{sw:t,wasWaitingBeforeRegister:!0}))}).then(function(){})),a.hn&&(a.rn.resolve(a.hn),a.an.add(a.hn)),a.fn.addEventListener("updatefound",a.cn),navigator.serviceWorker.addEventListener("controllerchange",a.dn),a.fn})},(i=n())&&i.then?i.then(o):o(i)}catch(e){return Promise.reject(e)}},o.update=function(){try{return this.fn?lj(this.fn.update()):void 0}catch(e){return Promise.reject(e)}},o.getSW=function(){return void 0!==this.hn?Promise.resolve(this.hn):this.rn.promise},o.messageSW=function(e){try{return lP(this.getSW(),function(t){return l_(t,e)})}catch(e){return Promise.reject(e)}},o.messageSkipWaiting=function(){this.fn&&this.fn.waiting&&l_(this.fn.waiting,lk)},o.pn=function(){var e=navigator.serviceWorker.controller;return e&&lD(e.scriptURL,this.sn.toString())?e:void 0},o.bn=function(){try{var e=this;return function(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}(function(){return lP(navigator.serviceWorker.register(e.sn,e.nn),function(t){return e.un=performance.now(),t})},function(e){throw e})}catch(e){return Promise.reject(e)}},r=[{key:"active",get:function(){return this.en.promise}},{key:"controlling",get:function(){return this.on.promise}}],lx(t.prototype,r),n&&lx(t,n),t}(function(){function e(){this.Pn=new Map}var t=e.prototype;return t.addEventListener=function(e,t){this.Sn(e).add(t)},t.removeEventListener=function(e,t){this.Sn(e).delete(t)},t.dispatchEvent=function(e){e.target=this;for(var t,r=function(e){var t;if("u"<typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(t=function(e){if(e){if("string"==typeof e)return lE(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?lE(e,void 0):void 0}}(e))){t&&(e=t);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(t=e[Symbol.iterator]()).next.bind(t)}(this.Sn(e.type));!(t=r()).done;)(0,t.value)(e)},t.Sn=function(e){return this.Pn.has(e)||this.Pn.set(e,new Set),this.Pn.get(e)},e}());function lR(e,t){if(void 0!==p)return console.warn(`The application's Service Worker has already been registered. The new service worker at ${e} will not be registered.`),p;if(!("serviceWorker"in navigator))throw Error("Registering the Service Worker is not possible due to missing browser capabilities.");let r=new lT(e,t);return p=r.register().then(()=>r.controlling.then(()=>r))}function lN(){return p??Promise.resolve(void 0)}let lM="x-omrs-offline-response-body",lA="x-omrs-offline-response-status",l$="x-omrs-offline-caching-strategy";async function lI(e){let t=await lN();return t?await t.messageSW(e):{success:!1,result:void 0,error:"No service worker has been registered. This is typically the case when the application has been built without offline-related features."}}async function lL(){let e=window.sessionStorage;try{e.setItem("someKeyHere","test"),e.removeItem("someKeyHere")}catch(t){if(t.code===DOMException.QUOTA_EXCEEDED_ERR&&0===e.length)return!0}return!1}async function lF(){return!window.indexedDB}async function lB(){return new Promise(e=>{let t=indexedDB.open("test");t.onerror=()=>e(!0),t.onsuccess=()=>e(!1)})}async function lV(){return await lB()||await lF()||await lL()}let lU="openmrs3:offline-mode",lW="unavailable";function lz(){return{current:lW,notAvailable:"unavailable"===lW,active:"on"===lW}}function lK(e){"unavailable"!==lW&&"unavailable"!==e&&(localStorage.setItem(lU,"on"===e?"active":"disabled"),lW=e)}async function lH(){await lV()||(lW="active"===localStorage.getItem(lU)?"on":"off"),navigator.onLine}let lG="u">typeof globalThis?globalThis:"u">typeof self?self:"u">typeof window?window:global,lq=Object.keys,lY=Array.isArray;function lZ(e,t){return"object"!=typeof t||lq(t).forEach(function(r){e[r]=t[r]}),e}"u"<typeof Promise||lG.Promise||(lG.Promise=Promise);let lJ=Object.getPrototypeOf,lX={}.hasOwnProperty;function lQ(e,t){return lX.call(e,t)}function l0(e,t){"function"==typeof t&&(t=t(lJ(e))),("u"<typeof Reflect?lq:Reflect.ownKeys)(t).forEach(r=>{l2(e,r,t[r])})}let l1=Object.defineProperty;function l2(e,t,r,n){l1(e,t,lZ(r&&lQ(r,"get")&&"function"==typeof r.get?{get:r.get,set:r.set,configurable:!0}:{value:r,configurable:!0,writable:!0},n))}function l4(e){return{from:function(t){return e.prototype=Object.create(t.prototype),l2(e.prototype,"constructor",e),{extend:l0.bind(null,e.prototype)}}}}let l3=Object.getOwnPropertyDescriptor;function l6(e,t){let r;return l3(e,t)||(r=lJ(e))&&l6(r,t)}let l5=[].slice;function l9(e,t,r){return l5.call(e,t,r)}function l7(e,t){return t(e)}function l8(e){if(!e)throw Error("Assertion Failed")}function ue(e){lG.setImmediate?setImmediate(e):setTimeout(e,0)}function ut(e,t){return e.reduce((e,r,n)=>{var o=t(r,n);return o&&(e[o[0]]=o[1]),e},{})}function ur(e,t){if("string"==typeof t&&lQ(e,t))return e[t];if(!t)return e;if("string"!=typeof t){for(var r=[],n=0,o=t.length;n<o;++n){var i=ur(e,t[n]);r.push(i)}return r}var a=t.indexOf(".");if(-1!==a){var s=e[t.substr(0,a)];return null==s?void 0:ur(s,t.substr(a+1))}}function un(e,t,r){if(e&&void 0!==t&&(!("isFrozen"in Object)||!Object.isFrozen(e)))if("string"!=typeof t&&"length"in t){l8("string"!=typeof r&&"length"in r);for(var n=0,o=t.length;n<o;++n)un(e,t[n],r[n])}else{var i=t.indexOf(".");if(-1!==i){var a=t.substr(0,i),s=t.substr(i+1);if(""===s)void 0===r?lY(e)&&!isNaN(parseInt(a))?e.splice(a,1):delete e[a]:e[a]=r;else{var l=e[a];l&&lQ(e,a)||(l=e[a]={}),un(l,s,r)}}else void 0===r?lY(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=r}}function uo(e){var t={};for(var r in e)lQ(e,r)&&(t[r]=e[r]);return t}let ui=[].concat;function ua(e){return ui.apply([],e)}let us="BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(ua([8,16,32,64].map(e=>["Int","Uint","Float"].map(t=>t+e+"Array")))).filter(e=>lG[e]),ul=us.map(e=>lG[e]);ut(us,e=>[e,!0]);let uu=null;function uc(e){uu="u">typeof WeakMap&&new WeakMap;let t=function e(t){if(!t||"object"!=typeof t)return t;let r=uu&&uu.get(t);if(r)return r;if(lY(t)){r=[],uu&&uu.set(t,r);for(var n=0,o=t.length;n<o;++n)r.push(e(t[n]))}else if(ul.indexOf(t.constructor)>=0)r=t;else{let n=lJ(t);for(var i in r=n===Object.prototype?{}:Object.create(n),uu&&uu.set(t,r),t)lQ(t,i)&&(r[i]=e(t[i]))}return r}(e);return uu=null,t}let{toString:ud}={};function up(e){return ud.call(e).slice(8,-1)}let uf="u">typeof Symbol?Symbol.iterator:"@@iterator",uh="symbol"==typeof uf?function(e){var t;return null!=e&&(t=e[uf])&&t.apply(e)}:function(){return null},um={};function uy(e){var t,r,n,o;if(1==arguments.length){if(lY(e))return e.slice();if(this===um&&"string"==typeof e)return[e];if(o=uh(e)){for(r=[];!(n=o.next()).done;)r.push(n.value);return r}if(null==e)return[e];if("number"==typeof(t=e.length)){for(r=Array(t);t--;)r[t]=e[t];return r}return[e]}for(t=arguments.length,r=Array(t);t--;)r[t]=arguments[t];return r}let ug="u">typeof Symbol?e=>"AsyncFunction"===e[Symbol.toStringTag]:()=>!1;var ub="u">typeof location&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href),uv=()=>!0;let uw=!Error("").stack;function u_(){if(uw)try{throw u_.arguments,Error()}catch(e){return e}return Error()}function ux(e,t){var r=e.stack;return r?(t=t||0,0===r.indexOf(e.name)&&(t+=(e.name+e.message).split("\n").length),r.split("\n").slice(t).filter(uv).map(e=>"\n"+e).join("")):""}var uE=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],uS=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"].concat(uE),uD={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has already completed or failed",MissingAPI:"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"};function uO(e,t){this._e=u_(),this.name=e,this.message=t}function uP(e,t){return e+". Errors: "+Object.keys(t).map(e=>t[e].toString()).filter((e,t,r)=>r.indexOf(e)===t).join("\n")}function uC(e,t,r,n){this._e=u_(),this.failures=t,this.failedKeys=n,this.successCount=r,this.message=uP(e,t)}function uk(e,t){this._e=u_(),this.name="BulkError",this.failures=Object.keys(t).map(e=>t[e]),this.failuresByPos=t,this.message=uP(e,t)}l4(uO).from(Error).extend({stack:{get:function(){return this._stack||(this._stack=this.name+": "+this.message+ux(this._e,2))}},toString:function(){return this.name+": "+this.message}}),l4(uC).from(uO),l4(uk).from(uO);var uj=uS.reduce((e,t)=>(e[t]=t+"Error",e),{}),uT=uS.reduce((e,t)=>{var r=t+"Error";function n(e,n){this._e=u_(),this.name=r,e?"string"==typeof e?(this.message=`${e}${n?"\n "+n:""}`,this.inner=n||null):"object"==typeof e&&(this.message=`${e.name} ${e.message}`,this.inner=e):(this.message=uD[t]||r,this.inner=null)}return l4(n).from(uO),e[t]=n,e},{});uT.Syntax=SyntaxError,uT.Type=TypeError,uT.Range=RangeError;var uR=uE.reduce((e,t)=>(e[t+"Error"]=uT[t],e),{}),uN=uS.reduce((e,t)=>(-1===["Syntax","Type","Range"].indexOf(t)&&(e[t+"Error"]=uT[t]),e),{});function uM(){}function uA(e){return e}function u$(e,t){return null==e||e===uA?t:function(r){return t(e(r))}}function uI(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function uL(e,t){return e===uM?t:function(){var r=e.apply(this,arguments);void 0!==r&&(arguments[0]=r);var n=this.onsuccess,o=this.onerror;this.onsuccess=null,this.onerror=null;var i=t.apply(this,arguments);return n&&(this.onsuccess=this.onsuccess?uI(n,this.onsuccess):n),o&&(this.onerror=this.onerror?uI(o,this.onerror):o),void 0!==i?i:r}}function uF(e,t){return e===uM?t:function(){e.apply(this,arguments);var r=this.onsuccess,n=this.onerror;this.onsuccess=this.onerror=null,t.apply(this,arguments),r&&(this.onsuccess=this.onsuccess?uI(r,this.onsuccess):r),n&&(this.onerror=this.onerror?uI(n,this.onerror):n)}}function uB(e,t){return e===uM?t:function(r){var n=e.apply(this,arguments);lZ(r,n);var o=this.onsuccess,i=this.onerror;this.onsuccess=null,this.onerror=null;var a=t.apply(this,arguments);return o&&(this.onsuccess=this.onsuccess?uI(o,this.onsuccess):o),i&&(this.onerror=this.onerror?uI(i,this.onerror):i),void 0===n?void 0===a?void 0:a:lZ(n,a)}}function uV(e,t){return e===uM?t:function(){return!1!==t.apply(this,arguments)&&e.apply(this,arguments)}}function uU(e,t){return e===uM?t:function(){var r=e.apply(this,arguments);if(r&&"function"==typeof r.then){for(var n=this,o=arguments.length,i=Array(o);o--;)i[o]=arguments[o];return r.then(function(){return t.apply(n,i)})}return t.apply(this,arguments)}}uN.ModifyError=uC,uN.DexieError=uO,uN.BulkError=uk;var uW={};let[uz,uK,uH]="u"<typeof Promise?[]:(()=>{let e=Promise.resolve();if("u"<typeof crypto||!crypto.subtle)return[e,lJ(e),e];let t=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[t,lJ(t),e]})(),uG=uK&&uK.then,uq=uz&&uz.constructor,uY=!!uH;var uZ=!1,uJ=uH?()=>{uH.then(cl)}:lG.setImmediate?setImmediate.bind(null,cl):lG.MutationObserver?()=>{var e=document.createElement("div");new MutationObserver(()=>{cl(),e=null}).observe(e,{attributes:!0}),e.setAttribute("i","1")}:()=>{setTimeout(cl,0)},uX=function(e,t){u9.push([e,t]),u0&&(uJ(),u0=!1)},uQ=!0,u0=!0,u1=[],u2=[],u4=null,u3=uA,u6={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:cR,pgp:!1,env:{},finalize:function(){this.unhandleds.forEach(e=>{try{cR(e[0],e[1])}catch(e){}})}},u5=u6,u9=[],u7=0,u8=[];function ce(e){if("object"!=typeof this)throw TypeError("Promises must be constructed via new");this._listeners=[],this.onuncatched=uM,this._lib=!1;var t=this._PSD=u5;if(ub&&(this._stackHolder=u_(),this._prev=null,this._numPrev=0),"function"!=typeof e){if(e!==uW)throw TypeError("Not a function");return this._state=arguments[1],this._value=arguments[2],void(!1===this._state&&cn(this,this._value))}this._state=null,this._value=null,++t.ref,function e(t,r){try{r(r=>{if(null===t._state){if(r===t)throw TypeError("A promise cannot be resolved with itself.");var n=t._lib&&cu();r&&"function"==typeof r.then?e(t,(e,t)=>{r instanceof ce?r._then(e,t):r.then(e,t)}):(t._state=!0,t._value=r,co(t)),n&&cc()}},cn.bind(null,t))}catch(e){cn(t,e)}}(this,e)}let ct={get:function(){var e=u5,t=cb;function r(r,n){var o=!e.global&&(e!==u5||t!==cb);let i=o&&!cx();var a=new ce((t,a)=>{ci(this,new cr(ck(r,e,o,i),ck(n,e,o,i),t,a,e))});return ub&&cs(a,this),a}return r.prototype=uW,r},set:function(e){l2(this,"then",e&&e.prototype===uW?ct:{get:function(){return e},set:ct.set})}};function cr(e,t,r,n,o){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.resolve=r,this.reject=n,this.psd=o}function cn(e,t){if(u2.push(t),null===e._state){var r=e._lib&&cu();t=u3(t),e._state=!1,e._value=t,ub&&null!==t&&"object"==typeof t&&!t._promise&&function(e){try{e.apply(null,void 0)}catch(e){}}(()=>{var r=l6(t,"stack");t._promise=e,l2(t,"stack",{get:()=>uZ?r&&(r.get?r.get.apply(t):r.value):e.stack})}),u1.some(t=>t._value===e._value)||u1.push(e),co(e),r&&cc()}}function co(e){var t=e._listeners;e._listeners=[];for(var r=0,n=t.length;r<n;++r)ci(e,t[r]);var o=e._PSD;--o.ref||o.finalize(),0===u7&&(++u7,uX(()=>{0==--u7&&cd()},[]))}function ci(e,t){if(null!==e._state){var r=e._state?t.onFulfilled:t.onRejected;if(null===r)return(e._state?t.resolve:t.reject)(e._value);++t.psd.ref,++u7,uX(ca,[r,e,t])}else e._listeners.push(t)}function ca(e,t,r){try{u4=t;var n,o=t._value;t._state?n=e(o):(u2.length&&(u2=[]),n=e(o),-1===u2.indexOf(o)&&function(e){for(var t=u1.length;t;)if(u1[--t]._value===e._value)return void u1.splice(t,1)}(t)),r.resolve(n)}catch(e){r.reject(e)}finally{u4=null,0==--u7&&cd(),--r.psd.ref||r.psd.finalize()}}function cs(e,t){var r=t?t._numPrev+1:0;r<100&&(e._prev=t,e._numPrev=r)}function cl(){cu()&&cc()}function cu(){var e=uQ;return uQ=!1,u0=!1,e}function cc(){var e,t,r;do for(;u9.length>0;)for(e=u9,u9=[],r=e.length,t=0;t<r;++t){var n=e[t];n[0].apply(null,n[1])}while(u9.length>0);uQ=!0,u0=!0}function cd(){var e=u1;u1=[],e.forEach(e=>{e._PSD.onunhandled.call(null,e._value,e)});for(var t=u8.slice(0),r=t.length;r;)t[--r]()}function cp(e){return new ce(uW,!1,e)}function cf(e,t){var r=u5;return function(){var n=cu(),o=u5;try{return cO(r,!0),e.apply(this,arguments)}catch(e){t&&t(e)}finally{cO(o,!1),n&&cc()}}}l0(ce.prototype,{then:ct,_then:function(e,t){ci(this,new cr(null,null,e,t,u5))},catch:function(e){if(1==arguments.length)return this.then(null,e);var t=arguments[0],r=arguments[1];return"function"==typeof t?this.then(null,e=>e instanceof t?r(e):cp(e)):this.then(null,e=>e&&e.name===t?r(e):cp(e))},finally:function(e){return this.then(t=>(e(),t),t=>(e(),cp(t)))},stack:{get:function(){if(this._stack)return this._stack;try{uZ=!0;var e=(function e(t,r,n){if(r.length===n)return r;var o="";if(!1===t._state){var i,a,s=t._value;null!=s?(i=s.name||"Error",a=s.message||s,o=ux(s,0)):(i=s,a=""),r.push(i+(a?": "+a:"")+o)}return ub&&((o=ux(t._stackHolder,2))&&-1===r.indexOf(o)&&r.push(o),t._prev&&e(t._prev,r,n)),r})(this,[],20).join("\nFrom previous: ");return null!==this._state&&(this._stack=e),e}finally{uZ=!1}}},timeout:function(e,t){return e<1/0?new ce((r,n)=>{var o=setTimeout(()=>n(new uT.Timeout(t)),e);this.then(r,n).finally(clearTimeout.bind(null,o))}):this}}),"u">typeof Symbol&&Symbol.toStringTag&&l2(ce.prototype,Symbol.toStringTag,"Dexie.Promise"),u6.env=cP(),l0(ce,{all:function(){var e=uy.apply(null,arguments).map(cE);return new ce(function(t,r){0===e.length&&t([]);var n=e.length;e.forEach((o,i)=>ce.resolve(o).then(r=>{e[i]=r,--n||t(e)},r))})},resolve:e=>{if(e instanceof ce)return e;if(e&&"function"==typeof e.then)return new ce((t,r)=>{e.then(t,r)});var t=new ce(uW,!0,e);return cs(t,u4),t},reject:cp,race:function(){var e=uy.apply(null,arguments).map(cE);return new ce((t,r)=>{e.map(e=>ce.resolve(e).then(t,r))})},PSD:{get:()=>u5,set:e=>u5=e},totalEchoes:{get:()=>cb},newPSD:cw,usePSD:cC,scheduler:{get:()=>uX,set:e=>{uX=e}},rejectionMapper:{get:()=>u3,set:e=>{u3=e}},follow:(e,t)=>new ce((r,n)=>cw((t,r)=>{var n=u5;n.unhandleds=[],n.onunhandled=r,n.finalize=uI(function(){var e;e=()=>{0===this.unhandleds.length?t():r(this.unhandleds[0])},u8.push(function t(){e(),u8.splice(u8.indexOf(t),1)}),++u7,uX(()=>{0==--u7&&cd()},[])},n.finalize),e()},t,r,n))}),uq&&(uq.allSettled&&l2(ce,"allSettled",function(){let e=uy.apply(null,arguments).map(cE);return new ce(t=>{0===e.length&&t([]);let r=e.length,n=Array(r);e.forEach((e,o)=>ce.resolve(e).then(e=>n[o]={status:"fulfilled",value:e},e=>n[o]={status:"rejected",reason:e}).then(()=>--r||t(n)))})}),uq.any&&"u">typeof AggregateError&&l2(ce,"any",function(){let e=uy.apply(null,arguments).map(cE);return new ce((t,r)=>{0===e.length&&r(AggregateError([]));let n=e.length,o=Array(n);e.forEach((e,i)=>ce.resolve(e).then(e=>t(e),e=>{o[i]=e,--n||r(AggregateError(o))}))})}));let ch={awaits:0,echoes:0,id:0};var cm=0,cy=[],cg=0,cb=0,cv=0;function cw(e,t,r,n){var o=u5,i=Object.create(o);i.parent=o,i.ref=0,i.global=!1,i.id=++cv;var a=u6.env;i.env=uY?{Promise:ce,PromiseProp:{value:ce,configurable:!0,writable:!0},all:ce.all,race:ce.race,allSettled:ce.allSettled,any:ce.any,resolve:ce.resolve,reject:ce.reject,nthen:cj(a.nthen,i),gthen:cj(a.gthen,i)}:{},t&&lZ(i,t),++o.ref,i.finalize=function(){--this.parent.ref||this.parent.finalize()};var s=cC(i,e,r,n);return 0===i.ref&&i.finalize(),s}function c_(){return ch.id||(ch.id=++cm),++ch.awaits,ch.echoes+=100,ch.id}function cx(){return!!ch.awaits&&(0==--ch.awaits&&(ch.id=0),ch.echoes=100*ch.awaits,!0)}function cE(e){return ch.echoes&&e&&e.constructor===uq?(c_(),e.then(e=>(cx(),e),e=>(cx(),cN(e)))):e}function cS(e){++cb,ch.echoes&&0!=--ch.echoes||(ch.echoes=ch.id=0),cy.push(u5),cO(e,!0)}function cD(){var e=cy[cy.length-1];cy.pop(),cO(e,!1)}function cO(e,t){var r,n=u5;if((t?!ch.echoes||cg++&&e===u5:!cg||--cg&&e===u5)||(r=t?cS.bind(null,e):cD,uG.call(uz,r)),e!==u5&&(u5=e,n===u6&&(u6.env=cP()),uY)){var o=u6.env.Promise,i=e.env;uK.then=i.nthen,o.prototype.then=i.gthen,(n.global||e.global)&&(Object.defineProperty(lG,"Promise",i.PromiseProp),o.all=i.all,o.race=i.race,o.resolve=i.resolve,o.reject=i.reject,i.allSettled&&(o.allSettled=i.allSettled),i.any&&(o.any=i.any))}}function cP(){var e=lG.Promise;return uY?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(lG,"Promise"),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject,nthen:uK.then,gthen:e.prototype.then}:{}}function cC(e,t,r,n,o){var i=u5;try{return cO(e,!0),t(r,n,o)}finally{cO(i,!1)}}function ck(e,t,r,n){return"function"!=typeof e?e:function(){var o,i=u5;r&&c_(),cO(t,!0);try{return e.apply(this,arguments)}finally{cO(i,!1),n&&(o=cx,uG.call(uz,o))}}}function cj(e,t){return function(r,n){return e.call(this,ck(r,t),ck(n,t))}}-1===(""+uG).indexOf("[native code]")&&(c_=cx=uM);let cT="unhandledrejection";function cR(e,t){var r;try{r=t.onuncatched(e)}catch(e){}if(!1!==r)try{var n,o={promise:t,reason:e};if(lG.document&&document.createEvent?((n=document.createEvent("Event")).initEvent(cT,!0,!0),lZ(n,o)):lG.CustomEvent&&lZ(n=new CustomEvent(cT,{detail:o}),o),n&&lG.dispatchEvent&&(dispatchEvent(n),!lG.PromiseRejectionEvent&&lG.onunhandledrejection))try{lG.onunhandledrejection(n)}catch(e){}ub&&n&&!n.defaultPrevented&&console.warn(`Unhandled rejection: ${e.stack||e}`)}catch(e){}}var cN=ce.reject;let cM="3.2.7",cA=String.fromCharCode(65535),c$=-1/0,cI="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",cL="String expected.",cF=[],cB="u">typeof navigator&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),cV=e=>!/(dexie\.js|dexie\.min\.js)/.test(e),cU="__dbnames",cW="readonly",cz="readwrite";function cK(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}let cH={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function cG(e){return"string"!=typeof e||/\./.test(e)?e=>e:t=>(void 0===t[e]&&e in t&&delete(t=uc(t))[e],t)}class cq{_trans(e,t,r){let n=this._tx||u5.trans,o=this.name;function i(e,r,n){if(!n.schema[o])throw new uT.NotFound("Table "+o+" not part of transaction");return t(n.idbtrans,n)}let a=cu();try{return n&&n.db===this.db?n===u5.trans?n._promise(e,i,r):cw(()=>n._promise(e,i,r),{trans:n,transless:u5.transless||u5}):function e(t,r,n,o){if(t.idbdb&&(t._state.openComplete||u5.letThrough||t._vip)){var i=t._createTransaction(r,n,t._dbSchema);try{i.create(),t._state.PR1398_maxLoop=3}catch(i){return i.name===uj.InvalidState&&t.isOpen()&&--t._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),t._close(),t.open().then(()=>e(t,r,n,o))):cN(i)}return i._promise(r,(e,t)=>cw(()=>(u5.trans=i,o(e,t,i)))).then(e=>i._completion.then(()=>e))}if(t._state.openComplete)return cN(new uT.DatabaseClosed(t._state.dbOpenError));if(!t._state.isBeingOpened){if(!t._options.autoOpen)return cN(new uT.DatabaseClosed);t.open().catch(uM)}return t._state.dbReadyPromise.then(()=>e(t,r,n,o))}(this.db,e,[this.name],i)}finally{a&&cc()}}get(e,t){return e&&e.constructor===Object?this.where(e).first(t):this._trans("readonly",t=>this.core.get({trans:t,key:e}).then(e=>this.hook.reading.fire(e))).then(t)}where(e){if("string"==typeof e)return new this.db.WhereClause(this,e);if(lY(e))return new this.db.WhereClause(this,`[${e.join("+")}]`);let t=lq(e);if(1===t.length)return this.where(t[0]).equals(e[t[0]]);let r=this.schema.indexes.concat(this.schema.primKey).filter(e=>{if(e.compound&&t.every(t=>e.keyPath.indexOf(t)>=0)){for(let r=0;r<t.length;++r)if(-1===t.indexOf(e.keyPath[r]))return!1;return!0}return!1}).sort((e,t)=>e.keyPath.length-t.keyPath.length)[0];if(r&&this.db._maxKey!==cA){let n=r.keyPath.slice(0,t.length);return this.where(n).equals(n.map(t=>e[t]))}!r&&ub&&console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${t.join("+")}]`);let{idxByName:n}=this.schema,o=this.db._deps.indexedDB;function i(e,t){try{return 0===o.cmp(e,t)}catch(e){return!1}}let[a,s]=t.reduce(([t,r],o)=>{let a=n[o],s=e[o];return[t||a,t||!a?cK(r,a&&a.multi?e=>{let t=ur(e,o);return lY(t)&&t.some(e=>i(s,e))}:e=>i(s,ur(e,o))):r]},[null,null]);return a?this.where(a.name).equals(e[a.keyPath]).filter(s):r?this.filter(s):this.where(t).equals("")}filter(e){return this.toCollection().and(e)}count(e){return this.toCollection().count(e)}offset(e){return this.toCollection().offset(e)}limit(e){return this.toCollection().limit(e)}each(e){return this.toCollection().each(e)}toArray(e){return this.toCollection().toArray(e)}toCollection(){return new this.db.Collection(new this.db.WhereClause(this))}orderBy(e){return new this.db.Collection(new this.db.WhereClause(this,lY(e)?`[${e.join("+")}]`:e))}reverse(){return this.toCollection().reverse()}mapToClass(e){this.schema.mappedClass=e;let t=t=>{if(!t)return t;let r=Object.create(e.prototype);for(var n in t)if(lQ(t,n))try{r[n]=t[n]}catch(e){}return r};return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=t,this.hook("reading",t),e}defineClass(){return this.mapToClass(function(e){lZ(this,e)})}add(e,t){let{auto:r,keyPath:n}=this.schema.primKey,o=e;return n&&r&&(o=cG(n)(e)),this._trans("readwrite",e=>this.core.mutate({trans:e,type:"add",keys:null!=t?[t]:null,values:[o]})).then(e=>e.numFailures?ce.reject(e.failures[0]):e.lastResult).then(t=>{if(n)try{un(e,n,t)}catch(e){}return t})}update(e,t){if("object"!=typeof e||lY(e))return this.where(":id").equals(e).modify(t);{let r=ur(e,this.schema.primKey.keyPath);if(void 0===r)return cN(new uT.InvalidArgument("Given object does not contain its primary key"));try{"function"!=typeof t?lq(t).forEach(r=>{un(e,r,t[r])}):t(e,{value:e,primKey:r})}catch(e){}return this.where(":id").equals(r).modify(t)}}put(e,t){let{auto:r,keyPath:n}=this.schema.primKey,o=e;return n&&r&&(o=cG(n)(e)),this._trans("readwrite",e=>this.core.mutate({trans:e,type:"put",values:[o],keys:null!=t?[t]:null})).then(e=>e.numFailures?ce.reject(e.failures[0]):e.lastResult).then(t=>{if(n)try{un(e,n,t)}catch(e){}return t})}delete(e){return this._trans("readwrite",t=>this.core.mutate({trans:t,type:"delete",keys:[e]})).then(e=>e.numFailures?ce.reject(e.failures[0]):void 0)}clear(){return this._trans("readwrite",e=>this.core.mutate({trans:e,type:"deleteRange",range:cH})).then(e=>e.numFailures?ce.reject(e.failures[0]):void 0)}bulkGet(e){return this._trans("readonly",t=>this.core.getMany({keys:e,trans:t}).then(e=>e.map(e=>this.hook.reading.fire(e))))}bulkAdd(e,t,r){let n=Array.isArray(t)?t:void 0,o=(r=r||(n?void 0:t))?r.allKeys:void 0;return this._trans("readwrite",t=>{let{auto:r,keyPath:i}=this.schema.primKey;if(i&&n)throw new uT.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(n&&n.length!==e.length)throw new uT.InvalidArgument("Arguments objects and keys must have the same length");let a=e.length,s=i&&r?e.map(cG(i)):e;return this.core.mutate({trans:t,type:"add",keys:n,values:s,wantResults:o}).then(({numFailures:e,results:t,lastResult:r,failures:n})=>{if(0===e)return o?t:r;throw new uk(`${this.name}.bulkAdd(): ${e} of ${a} operations failed`,n)})})}bulkPut(e,t,r){let n=Array.isArray(t)?t:void 0,o=(r=r||(n?void 0:t))?r.allKeys:void 0;return this._trans("readwrite",t=>{let{auto:r,keyPath:i}=this.schema.primKey;if(i&&n)throw new uT.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(n&&n.length!==e.length)throw new uT.InvalidArgument("Arguments objects and keys must have the same length");let a=e.length,s=i&&r?e.map(cG(i)):e;return this.core.mutate({trans:t,type:"put",keys:n,values:s,wantResults:o}).then(({numFailures:e,results:t,lastResult:r,failures:n})=>{if(0===e)return o?t:r;throw new uk(`${this.name}.bulkPut(): ${e} of ${a} operations failed`,n)})})}bulkDelete(e){let t=e.length;return this._trans("readwrite",t=>this.core.mutate({trans:t,type:"delete",keys:e})).then(({numFailures:e,lastResult:r,failures:n})=>{if(0===e)return r;throw new uk(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`,n)})}}function cY(e){var t={},r=function(r,n){if(n){for(var o=arguments.length,i=Array(o-1);--o;)i[o-1]=arguments[o];return t[r].subscribe.apply(null,i),e}if("string"==typeof r)return t[r]};r.addEventType=i;for(var n=1,o=arguments.length;n<o;++n)i(arguments[n]);return r;function i(e,n,o){if("object"!=typeof e){n||(n=uV),o||(o=uM);var a={subscribers:[],fire:o,subscribe:function(e){-1===a.subscribers.indexOf(e)&&(a.subscribers.push(e),a.fire=n(a.fire,e))},unsubscribe:function(e){a.subscribers=a.subscribers.filter(function(t){return t!==e}),a.fire=a.subscribers.reduce(n,o)}};return t[e]=r[e]=a,a}lq(e).forEach(function(t){var r=e[t];if(lY(r))i(t,e[t][0],e[t][1]);else{if("asap"!==r)throw new uT.InvalidArgument("Invalid event config");var n=i(t,uA,function(){for(var e=arguments.length,t=Array(e);e--;)t[e]=arguments[e];n.subscribers.forEach(function(e){ue(function(){e.apply(null,t)})})})}})}}function cZ(e,t){return l4(t).from({prototype:e}),t}function cJ(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function cX(e,t){e.filter=cK(e.filter,t)}function cQ(e,t,r){var n=e.replayFilter;e.replayFilter=n?()=>cK(n(),t()):t,e.justLimit=r&&!n}function c0(e,t){if(e.isPrimKey)return t.primaryKey;let r=t.getIndexByKeyPath(e.index);if(!r)throw new uT.Schema("KeyPath "+e.index+" on object store "+t.name+" is not indexed");return r}function c1(e,t,r){let n=c0(e,t.schema);return t.openCursor({trans:r,values:!e.keysOnly,reverse:"prev"===e.dir,unique:!!e.unique,query:{index:n,range:e.range}})}function c2(e,t,r,n){let o=e.replayFilter?cK(e.filter,e.replayFilter()):e.filter;if(e.or){let i={},a=(e,r,n)=>{if(!o||o(r,n,e=>r.stop(e),e=>r.fail(e))){var a=r.primaryKey,s=""+a;"[object ArrayBuffer]"===s&&(s=""+new Uint8Array(a)),lQ(i,s)||(i[s]=!0,t(e,r,n))}};return Promise.all([e.or._iterate(a,r),c4(c1(e,n,r),e.algorithm,a,!e.keysOnly&&e.valueMapper)])}return c4(c1(e,n,r),cK(e.algorithm,o),t,!e.keysOnly&&e.valueMapper)}function c4(e,t,r,n){var o=cf(n?(e,t,o)=>r(n(e),t,o):r);return e.then(e=>{if(e)return e.start(()=>{var r=()=>e.continue();t&&!t(e,e=>r=e,t=>{e.stop(t),r=uM},t=>{e.fail(t),r=uM})||o(e.value,e,e=>r=e),r()})})}function c3(e,t){try{let r=c6(e),n=c6(t);if(r!==n)return"Array"===r?1:"Array"===n?-1:"binary"===r?1:"binary"===n?-1:"string"===r?1:"string"===n?-1:"Date"===r?1:"Date"!==n?NaN:-1;switch(r){case"number":case"Date":case"string":return e>t?1:e<t?-1:0;case"binary":return function(e,t){let r=e.length,n=t.length,o=r<n?r:n;for(let r=0;r<o;++r)if(e[r]!==t[r])return e[r]<t[r]?-1:1;return r===n?0:r<n?-1:1}(c5(e),c5(t));case"Array":return function(e,t){let r=e.length,n=t.length,o=r<n?r:n;for(let r=0;r<o;++r){let n=c3(e[r],t[r]);if(0!==n)return n}return r===n?0:r<n?-1:1}(e,t)}}catch(e){}return NaN}function c6(e){let t=typeof e;if("object"!==t)return t;if(ArrayBuffer.isView(e))return"binary";let r=up(e);return"ArrayBuffer"===r?"binary":r}function c5(e){return e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}class c9{_read(e,t){var r=this._ctx;return r.error?r.table._trans(null,cN.bind(null,r.error)):r.table._trans("readonly",e).then(t)}_write(e){var t=this._ctx;return t.error?t.table._trans(null,cN.bind(null,t.error)):t.table._trans("readwrite",e,"locked")}_addAlgorithm(e){var t=this._ctx;t.algorithm=cK(t.algorithm,e)}_iterate(e,t){return c2(this._ctx,e,t,this._ctx.table.core)}clone(e){var t=Object.create(this.constructor.prototype),r=Object.create(this._ctx);return e&&lZ(r,e),t._ctx=r,t}raw(){return this._ctx.valueMapper=null,this}each(e){var t=this._ctx;return this._read(r=>c2(t,e,r,t.table.core))}count(e){return this._read(e=>{let t=this._ctx,r=t.table.core;if(cJ(t,!0))return r.count({trans:e,query:{index:c0(t,r.schema),range:t.range}}).then(e=>Math.min(e,t.limit));var n=0;return c2(t,()=>(++n,!1),e,r).then(()=>n)}).then(e)}sortBy(e,t){let r=e.split(".").reverse(),n=r[0],o=r.length-1;function i(e,t){return t?i(e[r[t]],t-1):e[n]}var a="next"===this._ctx.dir?1:-1;function s(e,t){var r=i(e,o),n=i(t,o);return r<n?-a:r>n?a:0}return this.toArray(function(e){return e.sort(s)}).then(t)}toArray(e){return this._read(e=>{var t=this._ctx;if("next"===t.dir&&cJ(t,!0)&&t.limit>0){let{valueMapper:r}=t,n=c0(t,t.table.core.schema);return t.table.core.query({trans:e,limit:t.limit,values:!0,query:{index:n,range:t.range}}).then(({result:e})=>r?e.map(r):e)}{let r=[];return c2(t,e=>r.push(e),e,t.table.core).then(()=>r)}},e)}offset(e){var t=this._ctx;return e<=0||(t.offset+=e,cJ(t)?cQ(t,()=>{var t=e;return(e,r)=>0===t||(1===t?--t:r(()=>{e.advance(t),t=0}),!1)}):cQ(t,()=>{var t=e;return()=>--t<0})),this}limit(e){return this._ctx.limit=Math.min(this._ctx.limit,e),cQ(this._ctx,()=>{var t=e;return function(e,r,n){return--t<=0&&r(n),t>=0}},!0),this}until(e,t){return cX(this._ctx,function(r,n,o){return!e(r.value)||(n(o),t)}),this}first(e){return this.limit(1).toArray(function(e){return e[0]}).then(e)}last(e){return this.reverse().first(e)}filter(e){var t;return cX(this._ctx,function(t){return e(t.value)}),(t=this._ctx).isMatch=cK(t.isMatch,e),this}and(e){return this.filter(e)}or(e){return new this.db.WhereClause(this._ctx.table,e,this)}reverse(){return this._ctx.dir="prev"===this._ctx.dir?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this}desc(){return this.reverse()}eachKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each(function(t,r){e(r.key,r)})}eachUniqueKey(e){return this._ctx.unique="unique",this.eachKey(e)}eachPrimaryKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each(function(t,r){e(r.primaryKey,r)})}keys(e){var t=this._ctx;t.keysOnly=!t.isMatch;var r=[];return this.each(function(e,t){r.push(t.key)}).then(function(){return r}).then(e)}primaryKeys(e){var t=this._ctx;if("next"===t.dir&&cJ(t,!0)&&t.limit>0)return this._read(e=>{var r=c0(t,t.table.core.schema);return t.table.core.query({trans:e,values:!1,limit:t.limit,query:{index:r,range:t.range}})}).then(({result:e})=>e).then(e);t.keysOnly=!t.isMatch;var r=[];return this.each(function(e,t){r.push(t.primaryKey)}).then(function(){return r}).then(e)}uniqueKeys(e){return this._ctx.unique="unique",this.keys(e)}firstKey(e){return this.limit(1).keys(function(e){return e[0]}).then(e)}lastKey(e){return this.reverse().firstKey(e)}distinct(){var e=this._ctx,t=e.index&&e.table.schema.idxByName[e.index];if(!t||!t.multi)return this;var r={};return cX(this._ctx,function(e){var t=e.primaryKey.toString(),n=lQ(r,t);return r[t]=!0,!n}),this}modify(e){var t=this._ctx;return this._write(r=>{var n;if("function"==typeof e)n=e;else{var o=lq(e),i=o.length;n=function(t){for(var r=!1,n=0;n<i;++n){var a=o[n],s=e[a];ur(t,a)!==s&&(un(t,a,s),r=!0)}return r}}let a=t.table.core,{outbound:s,extractKey:l}=a.schema.primaryKey,u=this.db._options.modifyChunkSize||200,c=[],d=0,p=[],f=(e,t)=>{let{failures:r,numFailures:n}=t;for(let t of(d+=e-n,lq(r)))c.push(r[t])};return this.clone().primaryKeys().then(o=>{let i=c=>{let d=Math.min(u,o.length-c);return a.getMany({trans:r,keys:o.slice(c,c+d),cache:"immutable"}).then(p=>{let h=[],m=[],y=s?[]:null,g=[];for(let e=0;e<d;++e){let t=p[e],r={value:uc(t),primKey:o[c+e]};!1!==n.call(r,r.value,r)&&(null==r.value?g.push(o[c+e]):s||0===c3(l(t),l(r.value))?(m.push(r.value),s&&y.push(o[c+e])):(g.push(o[c+e]),h.push(r.value)))}let b=cJ(t)&&t.limit===1/0&&("function"!=typeof e||e===c7)&&{index:t.index,range:t.range};return Promise.resolve(h.length>0&&a.mutate({trans:r,type:"add",values:h}).then(e=>{for(let t in e.failures)g.splice(parseInt(t),1);f(h.length,e)})).then(()=>(m.length>0||b&&"object"==typeof e)&&a.mutate({trans:r,type:"put",keys:y,values:m,criteria:b,changeSpec:"function"!=typeof e&&e}).then(e=>f(m.length,e))).then(()=>(g.length>0||b&&e===c7)&&a.mutate({trans:r,type:"delete",keys:g,criteria:b}).then(e=>f(g.length,e))).then(()=>o.length>c+d&&i(c+u))})};return i(0).then(()=>{if(c.length>0)throw new uC("Error modifying one or more objects",c,d,p);return o.length})})})}delete(){var e=this._ctx,t=e.range;return cJ(e)&&(e.isPrimKey&&!cB||3===t.type)?this._write(r=>{let{primaryKey:n}=e.table.core.schema;return e.table.core.count({trans:r,query:{index:n,range:t}}).then(n=>e.table.core.mutate({trans:r,type:"deleteRange",range:t}).then(({failures:e,lastResult:t,results:r,numFailures:o})=>{if(o)throw new uC("Could not delete some values",Object.keys(e).map(t=>e[t]),n-o);return n-o}))}):this.modify(c7)}}let c7=(e,t)=>t.value=null;function c8(e,t){return e<t?-1:+(e!==t)}function de(e,t){return e>t?-1:+(e!==t)}function dt(e,t,r){var n=e instanceof ds?new e.Collection(e):e;return n._ctx.error=r?new r(t):TypeError(t),n}function dr(e){return new e.Collection(e,()=>da("")).limit(0)}function dn(e,t,r,n){var o,i,a,s,l,u,c,d=r.length;if(!r.every(e=>"string"==typeof e))return dt(e,cL);function p(e){o="next"===e?e=>e.toUpperCase():e=>e.toLowerCase(),i="next"===e?e=>e.toLowerCase():e=>e.toUpperCase(),a="next"===e?c8:de;var t=r.map(function(e){return{lower:i(e),upper:o(e)}}).sort(function(e,t){return a(e.lower,t.lower)});s=t.map(function(e){return e.upper}),l=t.map(function(e){return e.lower}),u=e,c="next"===e?"":n}p("next");var f=new e.Collection(e,()=>di(s[0],l[d-1]+n));f._ondirectionchange=function(e){p(e)};var h=0;return f._addAlgorithm(function(e,r,n){var o=e.key;if("string"!=typeof o)return!1;var p=i(o);if(t(p,l,h))return!0;for(var f=null,m=h;m<d;++m){var y=function(e,t,r,n,o,i){for(var a=Math.min(e.length,n.length),s=-1,l=0;l<a;++l){var u=t[l];if(u!==n[l])return 0>o(e[l],r[l])?e.substr(0,l)+r[l]+r.substr(l+1):0>o(e[l],n[l])?e.substr(0,l)+n[l]+r.substr(l+1):s>=0?e.substr(0,s)+t[s]+r.substr(s+1):null;0>o(e[l],u)&&(s=l)}return a<n.length&&"next"===i?e+r.substr(e.length):a<e.length&&"prev"===i?e.substr(0,r.length):s<0?null:e.substr(0,s)+n[s]+r.substr(s+1)}(o,p,s[m],l[m],a,u);null===y&&null===f?h=m+1:(null===f||a(f,y)>0)&&(f=y)}return r(null!==f?function(){e.continue(f+c)}:n),!1}),f}function di(e,t,r,n){return{type:2,lower:e,upper:t,lowerOpen:r,upperOpen:n}}function da(e){return{type:1,lower:e,upper:e}}class ds{get Collection(){return this._ctx.table.db.Collection}between(e,t,r,n){r=!1!==r,n=!0===n;try{return this._cmp(e,t)>0||0===this._cmp(e,t)&&(r||n)&&(!r||!n)?dr(this):new this.Collection(this,()=>di(e,t,!r,!n))}catch(e){return dt(this,cI)}}equals(e){return null==e?dt(this,cI):new this.Collection(this,()=>da(e))}above(e){return null==e?dt(this,cI):new this.Collection(this,()=>di(e,void 0,!0))}aboveOrEqual(e){return null==e?dt(this,cI):new this.Collection(this,()=>di(e,void 0,!1))}below(e){return null==e?dt(this,cI):new this.Collection(this,()=>di(void 0,e,!1,!0))}belowOrEqual(e){return null==e?dt(this,cI):new this.Collection(this,()=>di(void 0,e))}startsWith(e){return"string"!=typeof e?dt(this,cL):this.between(e,e+cA,!0,!0)}startsWithIgnoreCase(e){return""===e?this.startsWith(e):dn(this,(e,t)=>0===e.indexOf(t[0]),[e],cA)}equalsIgnoreCase(e){return dn(this,(e,t)=>e===t[0],[e],"")}anyOfIgnoreCase(){var e=uy.apply(um,arguments);return 0===e.length?dr(this):dn(this,(e,t)=>-1!==t.indexOf(e),e,"")}startsWithAnyOfIgnoreCase(){var e=uy.apply(um,arguments);return 0===e.length?dr(this):dn(this,(e,t)=>t.some(t=>0===e.indexOf(t)),e,cA)}anyOf(){let e=uy.apply(um,arguments),t=this._cmp;try{e.sort(t)}catch(e){return dt(this,cI)}if(0===e.length)return dr(this);let r=new this.Collection(this,()=>di(e[0],e[e.length-1]));r._ondirectionchange=r=>{t="next"===r?this._ascending:this._descending,e.sort(t)};let n=0;return r._addAlgorithm((r,o,i)=>{let a=r.key;for(;t(a,e[n])>0;)if(++n===e.length)return o(i),!1;return 0===t(a,e[n])||(o(()=>{r.continue(e[n])}),!1)}),r}notEqual(e){return this.inAnyRange([[c$,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})}noneOf(){let e=uy.apply(um,arguments);if(0===e.length)return new this.Collection(this);try{e.sort(this._ascending)}catch(e){return dt(this,cI)}let t=e.reduce((e,t)=>e?e.concat([[e[e.length-1][1],t]]):[[c$,t]],null);return t.push([e[e.length-1],this.db._maxKey]),this.inAnyRange(t,{includeLowers:!1,includeUppers:!1})}inAnyRange(e,t){let r=this._cmp,n=this._ascending,o=this._descending,i=this._min,a=this._max;if(0===e.length)return dr(this);if(!e.every(e=>void 0!==e[0]&&void 0!==e[1]&&0>=n(e[0],e[1])))return dt(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",uT.InvalidArgument);let s=!t||!1!==t.includeLowers,l=t&&!0===t.includeUppers,u,c=n;function d(e,t){return c(e[0],t[0])}try{(u=e.reduce(function(e,t){let n=0,o=e.length;for(;n<o;++n){let o=e[n];if(0>r(t[0],o[1])&&r(t[1],o[0])>0){o[0]=i(o[0],t[0]),o[1]=a(o[1],t[1]);break}}return n===o&&e.push(t),e},[])).sort(d)}catch(e){return dt(this,cI)}let p=0,f=l?e=>n(e,u[p][1])>0:e=>n(e,u[p][1])>=0,h=s?e=>o(e,u[p][0])>0:e=>o(e,u[p][0])>=0,m=f,y=new this.Collection(this,()=>di(u[0][0],u[u.length-1][1],!s,!l));return y._ondirectionchange=e=>{"next"===e?(m=f,c=n):(m=h,c=o),u.sort(d)},y._addAlgorithm((e,t,r)=>{for(var o=e.key;m(o);)if(++p===u.length)return t(r),!1;return!!(!f(o)&&!h(o))||(0===this._cmp(o,u[p][1])||0===this._cmp(o,u[p][0])||t(()=>{c===n?e.continue(u[p][0]):e.continue(u[p][1])}),!1)}),y}startsWithAnyOf(){let e=uy.apply(um,arguments);return e.every(e=>"string"==typeof e)?0===e.length?dr(this):this.inAnyRange(e.map(e=>[e,e+cA])):dt(this,"startsWithAnyOf() only works with strings")}}function dl(e){return cf(function(t){return du(t),e(t.target.error),!1})}function du(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}let dc="storagemutated",dd="x-storagemutated-1",dp=cY(null,dc);class df{_lock(){return l8(!u5.global),++this._reculock,1!==this._reculock||u5.global||(u5.lockOwnerFor=this),this}_unlock(){if(l8(!u5.global),0==--this._reculock)for(u5.global||(u5.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var e=this._blockedFuncs.shift();try{cC(e[1],e[0])}catch(e){}}return this}_locked(){return this._reculock&&u5.lockOwnerFor!==this}create(e){if(!this.mode)return this;let t=this.db.idbdb,r=this.db._state.dbOpenError;if(l8(!this.idbtrans),!e&&!t)switch(r&&r.name){case"DatabaseClosedError":throw new uT.DatabaseClosed(r);case"MissingAPIError":throw new uT.MissingAPI(r.message,r);default:throw new uT.OpenFailed(r)}if(!this.active)throw new uT.TransactionInactive;return l8(null===this._completion._state),(e=this.idbtrans=e||(this.db.core?this.db.core.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}):t.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}))).onerror=cf(t=>{du(t),this._reject(e.error)}),e.onabort=cf(t=>{du(t),this.active&&this._reject(new uT.Abort(e.error)),this.active=!1,this.on("abort").fire(t)}),e.oncomplete=cf(()=>{this.active=!1,this._resolve(),"mutatedParts"in e&&dp.storagemutated.fire(e.mutatedParts)}),this}_promise(e,t,r){if("readwrite"===e&&"readwrite"!==this.mode)return cN(new uT.ReadOnly("Transaction is readonly"));if(!this.active)return cN(new uT.TransactionInactive);if(this._locked())return new ce((n,o)=>{this._blockedFuncs.push([()=>{this._promise(e,t,r).then(n,o)},u5])});if(r)return cw(()=>{var e=new ce((e,r)=>{this._lock();let n=t(e,r,this);n&&n.then&&n.then(e,r)});return e.finally(()=>this._unlock()),e._lib=!0,e});var n=new ce((e,r)=>{var n=t(e,r,this);n&&n.then&&n.then(e,r)});return n._lib=!0,n}_root(){return this.parent?this.parent._root():this}waitFor(e){var t=this._root();let r=ce.resolve(e);if(t._waitingFor)t._waitingFor=t._waitingFor.then(()=>r);else{t._waitingFor=r,t._waitingQueue=[];var n=t.idbtrans.objectStore(t.storeNames[0]);!function e(){for(++t._spinCount;t._waitingQueue.length;)t._waitingQueue.shift()();t._waitingFor&&(n.get(-1/0).onsuccess=e)}()}var o=t._waitingFor;return new ce((e,n)=>{r.then(r=>t._waitingQueue.push(cf(e.bind(null,r))),e=>t._waitingQueue.push(cf(n.bind(null,e)))).finally(()=>{t._waitingFor===o&&(t._waitingFor=null)})})}abort(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new uT.Abort))}table(e){let t=this._memoizedTables||(this._memoizedTables={});if(lQ(t,e))return t[e];let r=this.schema[e];if(!r)throw new uT.NotFound("Table "+e+" not part of transaction");let n=new this.db.Table(e,r,this);return n.core=this.db.core.table(e),t[e]=n,n}}function dh(e,t,r,n,o,i,a){return{name:e,keyPath:t,unique:r,multi:n,auto:o,compound:i,src:(r&&!a?"&":"")+(n?"*":"")+(o?"++":"")+dm(t)}}function dm(e){return"string"==typeof e?e:e?"["+[].join.call(e,"+")+"]":""}function dy(e,t,r){return{name:e,primKey:t,indexes:r,mappedClass:null,idxByName:ut(r,e=>[e.name,e])}}let dg=e=>{try{return e.only([[]]),dg=()=>[[]],[[]]}catch(e){return dg=()=>cA,cA}};function db(e){return null==e?()=>{}:"string"==typeof e?1===e.split(".").length?t=>t[e]:t=>ur(t,e):t=>ur(t,e)}function dv(e){return[].slice.call(e)}let dw=0;function d_(e){return null==e?":id":"string"==typeof e?e:`[${e.join("+")}]`}function dx({_novip:e},t){let r=t.db,n=function(e,t,{IDBKeyRange:r,indexedDB:n},o){var i;return{dbcore:(i=function(e,t,r){let n;function o(e){if(3===e.type)return null;if(4===e.type)throw Error("Cannot convert never type to IDBKeyRange");let{lower:r,upper:n,lowerOpen:o,upperOpen:i}=e;return void 0===r?void 0===n?null:t.upperBound(n,!!i):void 0===n?t.lowerBound(r,!!o):t.bound(r,n,!!o,!!i)}let{schema:i,hasGetAll:a}=(n=dv(e.objectStoreNames),{schema:{name:e.name,tables:n.map(e=>r.objectStore(e)).map(e=>{let{keyPath:t,autoIncrement:r}=e,n=lY(t),o=null==t,i={},a={name:e.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:o,compound:n,keyPath:t,autoIncrement:r,unique:!0,extractKey:db(t)},indexes:dv(e.indexNames).map(t=>e.index(t)).map(e=>{let{name:t,unique:r,multiEntry:n,keyPath:o}=e,a={name:t,compound:lY(o),keyPath:o,unique:r,multiEntry:n,extractKey:db(o)};return i[d_(o)]=a,a}),getIndexByKeyPath:e=>i[d_(e)]};return i[":id"]=a.primaryKey,null!=t&&(i[d_(t)]=a.primaryKey),a})},hasGetAll:n.length>0&&"getAll"in r.objectStore(n[0])&&!("u">typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}),s=i.tables.map(e=>{let t;return{name:t=e.name,schema:e,mutate:function({trans:e,type:r,keys:n,values:i,range:a}){return new Promise((s,l)=>{let u;s=cf(s);let c=e.objectStore(t),d=null==c.keyPath,p="put"===r||"add"===r;if(!p&&"delete"!==r&&"deleteRange"!==r)throw Error("Invalid operation type: "+r);let{length:f}=n||i||{length:1};if(n&&i&&n.length!==i.length)throw Error("Given keys array must have same length as given values array.");if(0===f)return s({numFailures:0,failures:{},results:[],lastResult:void 0});let h=[],m=[],y=0,g=e=>{++y,du(e)};if("deleteRange"===r){if(4===a.type)return s({numFailures:y,failures:m,results:[],lastResult:void 0});3===a.type?h.push(u=c.clear()):h.push(u=c.delete(o(a)))}else{let[e,t]=p?d?[i,n]:[i,null]:[n,null];if(p)for(let n=0;n<f;++n)h.push(u=t&&void 0!==t[n]?c[r](e[n],t[n]):c[r](e[n])),u.onerror=g;else for(let t=0;t<f;++t)h.push(u=c[r](e[t])),u.onerror=g}let b=e=>{let t=e.target.result;h.forEach((e,t)=>null!=e.error&&(m[t]=e.error)),s({numFailures:y,failures:m,results:"delete"===r?n:h.map(e=>e.result),lastResult:t})};u.onerror=e=>{g(e),b(e)},u.onsuccess=b})},getMany:({trans:e,keys:r})=>new Promise((n,o)=>{n=cf(n);let i=e.objectStore(t),a=r.length,s=Array(a),l,u=0,c=0,d=e=>{let t=e.target;s[t._pos]=t.result,++c===u&&n(s)},p=dl(o);for(let e=0;e<a;++e)null!=r[e]&&((l=i.get(r[e]))._pos=e,l.onsuccess=d,l.onerror=p,++u);0===u&&n(s)}),get:({trans:e,key:r})=>new Promise((n,o)=>{n=cf(n);let i=e.objectStore(t).get(r);i.onsuccess=e=>n(e.target.result),i.onerror=dl(o)}),query:e=>new Promise((r,n)=>{r=cf(r);let{trans:i,values:s,limit:l,query:u}=e,c=l===1/0?void 0:l,{index:d,range:p}=u,f=i.objectStore(t),h=d.isPrimaryKey?f:f.index(d.name),m=o(p);if(0===l)return r({result:[]});if(a){let e=s?h.getAll(m,c):h.getAllKeys(m,c);e.onsuccess=e=>r({result:e.target.result}),e.onerror=dl(n)}else{let e=0,t=!s&&"openKeyCursor"in h?h.openKeyCursor(m):h.openCursor(m),o=[];t.onsuccess=n=>{let i=t.result;return i?(o.push(s?i.value:i.primaryKey),++e===l?r({result:o}):void i.continue()):r({result:o})},t.onerror=dl(n)}}),openCursor:function({trans:e,values:r,query:n,reverse:i,unique:a}){return new Promise((s,l)=>{s=cf(s);let{index:u,range:c}=n,d=e.objectStore(t),p=u.isPrimaryKey?d:d.index(u.name),f=i?a?"prevunique":"prev":a?"nextunique":"next",h=!r&&"openKeyCursor"in p?p.openKeyCursor(o(c),f):p.openCursor(o(c),f);h.onerror=dl(l),h.onsuccess=cf(t=>{let r=h.result;if(!r)return void s(null);r.___id=++dw,r.done=!1;let n=r.continue.bind(r),o=r.continuePrimaryKey;o&&(o=o.bind(r));let i=r.advance.bind(r),a=()=>{throw Error("Cursor not stopped")};r.trans=e,r.stop=r.continue=r.continuePrimaryKey=r.advance=()=>{throw Error("Cursor not started")},r.fail=cf(l),r.next=function(){let e=1;return this.start(()=>e--?this.continue():this.stop()).then(()=>this)},r.start=e=>{let t=new Promise((e,t)=>{e=cf(e),h.onerror=dl(t),r.fail=t,r.stop=t=>{r.stop=r.continue=r.continuePrimaryKey=r.advance=a,e(t)}}),s=()=>{if(h.result)try{e()}catch(e){r.fail(e)}else r.done=!0,r.start=()=>{throw Error("Cursor behind last entry")},r.stop()};return h.onsuccess=cf(e=>{h.onsuccess=s,s()}),r.continue=n,r.continuePrimaryKey=o,r.advance=i,s(),t},s(r)},l)})},count({query:e,trans:r}){let{index:n,range:i}=e;return new Promise((e,a)=>{let s=r.objectStore(t),l=n.isPrimaryKey?s:s.index(n.name),u=o(i),c=u?l.count(u):l.count();c.onsuccess=cf(t=>e(t.target.result)),c.onerror=dl(a)})}}}),l={};return s.forEach(e=>l[e.name]=e),{stack:"dbcore",transaction:e.transaction.bind(e),table(e){if(!l[e])throw Error(`Table '${e}' not found`);return l[e]},MIN_KEY:-1/0,MAX_KEY:dg(t),schema:i}}(t,r,o),e.dbcore.reduce((e,{create:t})=>({...e,...t(e)}),i))}}(e._middlewares,r,e._deps,t);e.core=n.dbcore,e.tables.forEach(t=>{let r=t.name;e.core.schema.tables.some(e=>e.name===r)&&(t.core=e.core.table(r),e[r]instanceof e.Table&&(e[r].core=t.core))})}function dE({_novip:e},t,r,n){r.forEach(r=>{let o=n[r];t.forEach(t=>{let n=l6(t,r);(!n||"value"in n&&void 0===n.value)&&(t===e.Transaction.prototype||t instanceof e.Transaction?l2(t,r,{get(){return this.table(r)},set(e){l1(this,r,{value:e,writable:!0,configurable:!0,enumerable:!0})}}):t[r]=new e.Table(r,o))})})}function dS({_novip:e},t){t.forEach(t=>{for(let r in t)t[r]instanceof e.Table&&delete t[r]})}function dD(e,t){return e._cfg.version-t._cfg.version}function dO(e,t){let r,n={del:[],add:[],change:[]};for(r in e)t[r]||n.del.push(r);for(r in t){let o=e[r],i=t[r];if(o){let e={name:r,def:i,recreate:!1,del:[],add:[],change:[]};if(""+(o.primKey.keyPath||"")==""+(i.primKey.keyPath||"")&&(o.primKey.auto===i.primKey.auto||cB)){let t,r=o.idxByName,a=i.idxByName;for(t in r)a[t]||e.del.push(t);for(t in a){let n=r[t],o=a[t];n?n.src!==o.src&&e.change.push(o):e.add.push(o)}(e.del.length>0||e.add.length>0||e.change.length>0)&&n.change.push(e)}else e.recreate=!0,n.change.push(e)}else n.add.push([r,i])}return n}function dP(e,t,r,n){let o=e.db.createObjectStore(t,r.keyPath?{keyPath:r.keyPath,autoIncrement:r.auto}:{autoIncrement:r.auto});return n.forEach(e=>dC(o,e)),o}function dC(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function dk(e,t,r){let n={};return l9(t.objectStoreNames,0).forEach(e=>{let t=r.objectStore(e),o=t.keyPath,i=dh(dm(o),o||"",!1,!1,!!t.autoIncrement,o&&"string"!=typeof o,!0),a=[];for(let e=0;e<t.indexNames.length;++e){let r=t.index(t.indexNames[e]);o=r.keyPath;var s=dh(r.name,o,!!r.unique,!!r.multiEntry,!1,o&&"string"!=typeof o,!1);a.push(s)}n[e]=dy(e,i,a)}),n}function dj({_novip:e},t,r){let n=r.db.objectStoreNames;for(let o=0;o<n.length;++o){let i=n[o],a=r.objectStore(i);e._hasGetAll="getAll"in a;for(let e=0;e<a.indexNames.length;++e){let r=a.indexNames[e],n=a.index(r).keyPath,o="string"==typeof n?n:"["+l9(n).join("+")+"]";if(t[i]){let e=t[i].idxByName[o];e&&(e.name=r,delete t[i].idxByName[o],t[i].idxByName[r]=e)}}}"u">typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&lG.WorkerGlobalScope&&lG instanceof lG.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(e._hasGetAll=!1)}class dT{_parseStoresSpec(e,t){lq(e).forEach(r=>{if(null!==e[r]){var n=e[r].split(",").map((e,t)=>{let r=(e=e.trim()).replace(/([&*]|\+\+)/g,""),n=/^\[/.test(r)?r.match(/^\[(.*)\]$/)[1].split("+"):r;return dh(r,n||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),lY(n),0===t)}),o=n.shift();if(o.multi)throw new uT.Schema("Primary key cannot be multi-valued");n.forEach(e=>{if(e.auto)throw new uT.Schema("Only primary key can be marked as autoIncrement (++)");if(!e.keyPath)throw new uT.Schema("Index must have a name and cannot be an empty string")}),t[r]=dy(r,o,n)}})}stores(e){let t=this.db;this._cfg.storesSource=this._cfg.storesSource?lZ(this._cfg.storesSource,e):e;let r=t._versions,n={},o={};return r.forEach(e=>{lZ(n,e._cfg.storesSource),o=e._cfg.dbschema={},e._parseStoresSpec(n,o)}),t._dbSchema=o,dS(t,[t._allTables,t,t.Transaction.prototype]),dE(t,[t._allTables,t,t.Transaction.prototype,this._cfg.tables],lq(o),o),t._storeNames=lq(o),this}upgrade(e){return this._cfg.contentUpgrade=uU(this._cfg.contentUpgrade||uM,e),this}}function dR(e,t){let r=e._dbNamesDB;return r||(r=e._dbNamesDB=new dJ(cU,{addons:[],indexedDB:e,IDBKeyRange:t})).version(1).stores({dbnames:"name"}),r.table("dbnames")}function dN(e){return e&&"function"==typeof e.databases}function dM(e){return cw(function(){return u5.letThrough=!0,e()})}function dA(e){var t=t=>e.next(t),r=o(t),n=o(t=>e.throw(t));function o(e){return t=>{var o=e(t),i=o.value;return o.done?i:i&&"function"==typeof i.then?i.then(r,n):lY(i)?Promise.all(i).then(r,n):r(i)}}return o(t)()}function d$(e,t,r){var n=arguments.length;if(n<2)throw new uT.InvalidArgument("Too few arguments");for(var o=Array(n-1);--n;)o[n-1]=arguments[n];return r=o.pop(),[e,ua(o),r]}function dI(e,t,r){let n=lY(e)?e.slice():[e];for(let e=0;e<r;++e)n.push(t);return n}let dL={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:function(e){return{...e,table(t){let r=e.table(t),{schema:n}=r,o={},i=[];function a(e,t,r){let n=d_(e),s=o[n]=o[n]||[],l=null==e?0:"string"==typeof e?1:e.length,u=t>0,c={...r,isVirtual:u,keyTail:t,keyLength:l,extractKey:db(e),unique:!u&&r.unique};return s.push(c),c.isPrimaryKey||i.push(c),l>1&&a(2===l?e[0]:e.slice(0,l-1),t+1,r),s.sort((e,t)=>e.keyTail-t.keyTail),c}let s=a(n.primaryKey.keyPath,0,n.primaryKey);for(let e of(o[":id"]=[s],n.indexes))a(e.keyPath,0,e);function l(t){var r,n;let o=t.query.index;return o.isVirtual?{...t,query:{index:o,range:(r=t.query.range,n=o.keyTail,{type:1===r.type?2:r.type,lower:dI(r.lower,r.lowerOpen?e.MAX_KEY:e.MIN_KEY,n),lowerOpen:!0,upper:dI(r.upper,r.upperOpen?e.MIN_KEY:e.MAX_KEY,n),upperOpen:!0})}}:t}return{...r,schema:{...n,primaryKey:s,indexes:i,getIndexByKeyPath:function(e){let t=o[d_(e)];return t&&t[0]}},count:e=>r.count(l(e)),query:e=>r.query(l(e)),openCursor(t){let{keyTail:n,isVirtual:o,keyLength:i}=t.query.index;return o?r.openCursor(l(t)).then(r=>r&&Object.create(r,{continue:{value:function(o){null!=o?r.continue(dI(o,t.reverse?e.MAX_KEY:e.MIN_KEY,n)):t.unique?r.continue(r.key.slice(0,i).concat(t.reverse?e.MIN_KEY:e.MAX_KEY,n)):r.continue()}},continuePrimaryKey:{value(t,o){r.continuePrimaryKey(dI(t,e.MAX_KEY,n),o)}},primaryKey:{get:()=>r.primaryKey},key:{get(){let e=r.key;return 1===i?e[0]:e.slice(0,i)}},value:{get:()=>r.value}})):r.openCursor(t)}}}}}};function dF(e,t,r,n){return r=r||{},n=n||"",lq(e).forEach(o=>{if(lQ(t,o)){var i=e[o],a=t[o];if("object"==typeof i&&"object"==typeof a&&i&&a){let e=up(i);e!==up(a)?r[n+o]=t[o]:"Object"===e?dF(i,a,r,n+o+"."):i!==a&&(r[n+o]=t[o])}else i!==a&&(r[n+o]=t[o])}else r[n+o]=void 0}),lq(t).forEach(o=>{lQ(e,o)||(r[n+o]=t[o])}),r}let dB={stack:"dbcore",name:"HooksMiddleware",level:2,create:e=>({...e,table(t){let r=e.table(t),{primaryKey:n}=r.schema;return{...r,mutate(e){let o=u5.trans,{deleting:i,creating:a,updating:s}=o.table(t).hook;switch(e.type){case"add":if(a.fire===uM)break;return o._promise("readwrite",()=>l(e),!0);case"put":if(a.fire===uM&&s.fire===uM)break;return o._promise("readwrite",()=>l(e),!0);case"delete":if(i.fire===uM)break;return o._promise("readwrite",()=>l(e),!0);case"deleteRange":if(i.fire===uM)break;return o._promise("readwrite",()=>(function e(t,o,i){return r.query({trans:t,values:!1,query:{index:n,range:o},limit:i}).then(({result:r})=>l({type:"delete",keys:r,trans:t}).then(n=>n.numFailures>0?Promise.reject(n.failures[0]):r.length<i?{failures:[],numFailures:0,lastResult:void 0}:e(t,{...o,lower:r[r.length-1],lowerOpen:!0},i)))})(e.trans,e.range,1e4),!0)}return r.mutate(e);function l(e){var t,o;let l=u5.trans,u=e.keys||("delete"===(t=e).type?t.keys:t.keys||t.values.map(n.extractKey));if(!u)throw Error("Keys missing");return"delete"!==(e="add"===e.type||"put"===e.type?{...e,keys:u}:{...e}).type&&(e.values=[...e.values]),e.keys&&(e.keys=[...e.keys]),("add"===(o=e).type?Promise.resolve([]):r.getMany({trans:o.trans,keys:u,cache:"immutable"})).then(t=>{let o=u.map((r,o)=>{let u=t[o],c={onerror:null,onsuccess:null};if("delete"===e.type)i.fire.call(c,r,u,l);else if("add"===e.type||void 0===u){let t=a.fire.call(c,r,e.values[o],l);null==r&&null!=t&&(r=t,e.keys[o]=r,n.outbound||un(e.values[o],n.keyPath,r))}else{let t=dF(u,e.values[o]),n=s.fire.call(c,t,r,u,l);if(n){let t=e.values[o];Object.keys(n).forEach(e=>{lQ(t,e)?t[e]=n[e]:un(t,e,n[e])})}}return c});return r.mutate(e).then(({failures:r,results:n,numFailures:i,lastResult:a})=>{for(let i=0;i<u.length;++i){let a=n?n[i]:u[i],s=o[i];null==a?s.onerror&&s.onerror(r[i]):s.onsuccess&&s.onsuccess("put"===e.type&&t[i]?e.values[i]:a)}return{failures:r,results:n,numFailures:i,lastResult:a}}).catch(e=>(o.forEach(t=>t.onerror&&t.onerror(e)),Promise.reject(e)))})}}}}})};function dV(e,t,r){try{if(!t||t.keys.length<e.length)return null;let n=[];for(let o=0,i=0;o<t.keys.length&&i<e.length;++o)0===c3(t.keys[o],e[i])&&(n.push(r?uc(t.values[o]):t.values[o]),++i);return n.length===e.length?n:null}catch(e){return null}}let dU={stack:"dbcore",level:-1,create:e=>({table:t=>{let r=e.table(t);return{...r,getMany:e=>{if(!e.cache)return r.getMany(e);let t=dV(e.keys,e.trans._cache,"clone"===e.cache);return t?ce.resolve(t):r.getMany(e).then(t=>(e.trans._cache={keys:e.keys,values:"clone"===e.cache?uc(t):t},t))},mutate:e=>("add"!==e.type&&(e.trans._cache=null),r.mutate(e))}}})};function dW(e){return!("from"in e)}let dz=function(e,t){if(!this){let t=new dz;return e&&"d"in e&&lZ(t,e),t}lZ(this,arguments.length?{d:1,from:e,to:arguments.length>1?t:e}:{d:0})};function dK(e,t,r){let n=c3(t,r);if(isNaN(n))return;if(n>0)throw RangeError();if(dW(e))return lZ(e,{from:t,to:r,d:1});let o=e.l,i=e.r;if(0>c3(r,e.from))return o?dK(o,t,r):e.l={from:t,to:r,d:1,l:null,r:null},dq(e);if(c3(t,e.to)>0)return i?dK(i,t,r):e.r={from:t,to:r,d:1,l:null,r:null},dq(e);0>c3(t,e.from)&&(e.from=t,e.l=null,e.d=i?i.d+1:1),c3(r,e.to)>0&&(e.to=r,e.r=null,e.d=e.l?e.l.d+1:1);let a=!e.r;o&&!e.l&&dH(e,o),i&&a&&dH(e,i)}function dH(e,t){dW(t)||function e(t,{from:r,to:n,l:o,r:i}){dK(t,r,n),o&&e(t,o),i&&e(t,i)}(e,t)}function dG(e){let t=dW(e)?null:{s:0,n:e};return{next(e){let r=arguments.length>0;for(;t;)switch(t.s){case 0:if(t.s=1,r)for(;t.n.l&&0>c3(e,t.n.from);)t={up:t,n:t.n.l,s:1};else for(;t.n.l;)t={up:t,n:t.n.l,s:1};case 1:if(t.s=2,!r||0>=c3(e,t.n.to))return{value:t.n,done:!1};case 2:if(t.n.r){t.s=3,t={up:t,n:t.n.r,s:0};continue}case 3:t=t.up}return{done:!0}}}}function dq(e){var t,r;let n=((null==(t=e.r)?void 0:t.d)||0)-((null==(r=e.l)?void 0:r.d)||0),o=n>1?"r":n<-1?"l":"";if(o){let t="r"===o?"l":"r",r={...e},n=e[o];e.from=n.from,e.to=n.to,e[o]=n[o],r[o]=n[t],e[t]=r,r.d=dY(r)}e.d=dY(e)}function dY({r:e,l:t}){return(e?t?Math.max(e.d,t.d):e.d:t?t.d:0)+1}l0(dz.prototype,{add(e){return dH(this,e),this},addKey(e){return dK(this,e,e),this},addKeys(e){return e.forEach(e=>dK(this,e,e)),this},[uf](){return dG(this)}});let dZ={stack:"dbcore",level:0,create:e=>{let t=e.schema.name,r=new dz(e.MIN_KEY,e.MAX_KEY);return{...e,table:n=>{let o=e.table(n),{schema:i}=o,{primaryKey:a}=i,{extractKey:s,outbound:l}=a,u={...o,mutate:e=>{let a=e.trans,s=a.mutatedParts||(a.mutatedParts={}),l=e=>{let r=`idb://${t}/${n}/${e}`;return s[r]||(s[r]=new dz)},u=l(""),c=l(":dels"),{type:d}=e,[p,f]="deleteRange"===e.type?[e.range]:"delete"===e.type?[e.keys]:e.values.length<50?[[],e.values]:[],h=e.trans._cache;return o.mutate(e).then(e=>{if(lY(p)){"delete"!==d&&(p=e.results),u.addKeys(p);let t=dV(p,h);t||"add"===d||c.addKeys(p),(t||f)&&i.indexes.forEach(function(e){let r=l(e.name||"");function n(t){return null!=t?e.extractKey(t):null}let o=t=>e.multiEntry&&lY(t)?t.forEach(e=>r.addKey(e)):r.addKey(t);(t||f).forEach((e,r)=>{let i=t&&n(t[r]),a=f&&n(f[r]);0!==c3(i,a)&&(null!=i&&o(i),null!=a&&o(a))})})}else if(p){let e={from:p.lower,to:p.upper};c.add(e),u.add(e)}else u.add(r),c.add(r),i.indexes.forEach(e=>l(e.name).add(r));return e})}},c=({query:{index:t,range:r}})=>{var n,o;return[t,new dz(null!=(n=r.lower)?n:e.MIN_KEY,null!=(o=r.upper)?o:e.MAX_KEY)]},d={get:e=>[a,new dz(e.key)],getMany:e=>[a,(new dz).addKeys(e.keys)],count:c,query:c,openCursor:c};return lq(d).forEach(e=>{u[e]=function(i){let{subscr:a}=u5;if(a){let u=e=>{let r=`idb://${t}/${n}/${e}`;return a[r]||(a[r]=new dz)},c=u(""),p=u(":dels"),[f,h]=d[e](i);if(u(f.name||"").add(h),!f.isPrimaryKey){if("count"!==e){let t="query"===e&&l&&i.values&&o.query({...i,values:!1});return o[e].apply(this,arguments).then(r=>{if("query"===e){if(l&&i.values)return t.then(({result:e})=>(c.addKeys(e),r));let e=i.values?r.result.map(s):r.result;i.values?c.addKeys(e):p.addKeys(e)}else if("openCursor"===e){let e=i.values;return r&&Object.create(r,{key:{get:()=>(p.addKey(r.primaryKey),r.key)},primaryKey:{get(){let e=r.primaryKey;return p.addKey(e),e}},value:{get:()=>(e&&c.addKey(r.primaryKey),r.value)}})}return r})}p.add(r)}}return o[e].apply(this,arguments)}}),u}}}};class dJ{constructor(e,t){var r;this._middlewares={},this.verno=0;const n=dJ.dependencies;this._options=t={addons:dJ.addons,autoOpen:!0,indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange,...t},this._deps={indexedDB:t.indexedDB,IDBKeyRange:t.IDBKeyRange};const{addons:o}=t;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;const i={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:uM,dbReadyPromise:null,cancelOpen:uM,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3};i.dbReadyPromise=new ce(e=>{i.dbReadyResolve=e}),i.openCanceller=new ce((e,t)=>{i.cancelOpen=t}),this._state=i,this.name=e,this.on=cY(this,"populate","blocked","versionchange","close",{ready:[uU,uM]}),this.on.ready.subscribe=l7(this.on.ready.subscribe,e=>(t,r)=>{dJ.vip(()=>{let n=this._state;if(n.openComplete)n.dbOpenError||ce.resolve().then(t),r&&e(t);else if(n.onReadyBeingFired)n.onReadyBeingFired.push(t),r&&e(t);else{e(t);let n=this;r||e(function e(){n.on.ready.unsubscribe(t),n.on.ready.unsubscribe(e)})}})}),this.Collection=(r=this,cZ(c9.prototype,function(e,t){this.db=r;let n=cH,o=null;if(t)try{n=t()}catch(e){o=e}let i=e._ctx,a=i.table,s=a.hook.reading.fire;this._ctx={table:a,index:i.index,isPrimKey:!i.index||a.schema.primKey.keyPath&&i.index===a.schema.primKey.name,range:n,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:o,or:i.or,valueMapper:s!==uA?s:null}})),this.Table=function(e){return cZ(cq.prototype,function(t,r,n){this.db=e,this._tx=n,this.name=t,this.schema=r,this.hook=e._allTables[t]?e._allTables[t].hook:cY(null,{creating:[uL,uM],reading:[u$,uA],updating:[uB,uM],deleting:[uF,uM]})})}(this),this.Transaction=function(e){return cZ(df.prototype,function(t,r,n,o,i){this.db=e,this.mode=t,this.storeNames=r,this.schema=n,this.chromeTransactionDurability=o,this.idbtrans=null,this.on=cY(this,"complete","error","abort"),this.parent=i||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new ce((e,t)=>{this._resolve=e,this._reject=t}),this._completion.then(()=>{this.active=!1,this.on.complete.fire()},e=>{var t=this.active;return this.active=!1,this.on.error.fire(e),this.parent?this.parent._reject(e):t&&this.idbtrans&&this.idbtrans.abort(),cN(e)})})}(this),this.Version=function(e){return cZ(dT.prototype,function(t){this.db=e,this._cfg={version:t,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})}(this),this.WhereClause=function(e){return cZ(ds.prototype,function(t,r,n){this.db=e,this._ctx={table:t,index:":id"===r?null:r,or:n};let o=e._deps.indexedDB;if(!o)throw new uT.MissingAPI;this._cmp=this._ascending=o.cmp.bind(o),this._descending=(e,t)=>o.cmp(t,e),this._max=(e,t)=>o.cmp(e,t)>0?e:t,this._min=(e,t)=>0>o.cmp(e,t)?e:t,this._IDBKeyRange=e._deps.IDBKeyRange})}(this),this.on("versionchange",e=>{e.newVersion>0?console.warn(`Another connection wants to upgrade database '${this.name}'. Closing db now to resume the upgrade.`):console.warn(`Another connection wants to delete database '${this.name}'. Closing db now to resume the delete request.`),this.close()}),this.on("blocked",e=>{!e.newVersion||e.newVersion<e.oldVersion?console.warn(`Dexie.delete('${this.name}') was blocked`):console.warn(`Upgrade '${this.name}' blocked by other connection holding version ${e.oldVersion/10}`)}),this._maxKey=dg(t.IDBKeyRange),this._createTransaction=(e,t,r,n)=>new this.Transaction(e,t,r,this._options.chromeTransactionDurability,n),this._fireOnBlocked=e=>{this.on("blocked").fire(e),cF.filter(e=>e.name===this.name&&e!==this&&!e._state.vcFired).map(t=>t.on("versionchange").fire(e))},this.use(dL),this.use(dB),this.use(dZ),this.use(dU),this.vip=Object.create(this,{_vip:{value:!0}}),o.forEach(e=>e(this))}version(e){if(isNaN(e)||e<.1)throw new uT.Type("Given version is not a positive number");if(e=Math.round(10*e)/10,this.idbdb||this._state.isBeingOpened)throw new uT.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,e);let t=this._versions;var r=t.filter(t=>t._cfg.version===e)[0];return r||(r=new this.Version(e),t.push(r),t.sort(dD),r.stores({}),this._state.autoSchema=!1,r)}_whenReady(e){return this.idbdb&&(this._state.openComplete||u5.letThrough||this._vip)?e():new ce((e,t)=>{if(this._state.openComplete)return t(new uT.DatabaseClosed(this._state.dbOpenError));if(!this._state.isBeingOpened){if(!this._options.autoOpen)return void t(new uT.DatabaseClosed);this.open().catch(uM)}this._state.dbReadyPromise.then(e,t)}).then(e)}use({stack:e,create:t,level:r,name:n}){n&&this.unuse({stack:e,name:n});let o=this._middlewares[e]||(this._middlewares[e]=[]);return o.push({stack:e,create:t,level:null==r?10:r,name:n}),o.sort((e,t)=>e.level-t.level),this}unuse({stack:e,name:t,create:r}){return e&&this._middlewares[e]&&(this._middlewares[e]=this._middlewares[e].filter(e=>r?e.create!==r:!!t&&e.name!==t)),this}open(){return function(e){var t;let r=e._state,{indexedDB:n}=e._deps;if(r.isBeingOpened||e.idbdb)return r.dbReadyPromise.then(()=>r.dbOpenError?cN(r.dbOpenError):e);ub&&(r.openCanceller._stackHolder=u_()),r.isBeingOpened=!0,r.dbOpenError=null,r.openComplete=!1;let o=r.openCanceller;function i(){if(r.openCanceller!==o)throw new uT.DatabaseClosed("db.open() was cancelled")}let a=r.dbReadyResolve,s=null,l=!1,u=()=>new ce((t,o)=>{if(i(),!n)throw new uT.MissingAPI;let a=e.name,u=r.autoSchema?n.open(a):n.open(a,Math.round(10*e.verno));if(!u)throw new uT.MissingAPI;u.onerror=dl(o),u.onblocked=cf(e._fireOnBlocked),u.onupgradeneeded=cf(t=>{if(s=u.transaction,r.autoSchema&&!e._options.allowEmptyDB){u.onerror=du,s.abort(),u.result.close();let e=n.deleteDatabase(a);e.onsuccess=e.onerror=cf(()=>{o(new uT.NoSuchDatabase(`Database ${a} doesnt exist`))})}else{let r,n,a,p;s.onerror=dl(o);var i,c,d=t.oldVersion>0x4000000000000000?0:t.oldVersion;l=d<1,e._novip.idbdb=u.result,i=d/10,c=s,r=e._dbSchema,(n=e._createTransaction("readwrite",e._storeNames,r)).create(c),n._completion.catch(o),a=n._reject.bind(n),p=u5.transless||u5,cw(()=>{u5.trans=n,u5.transless=p,0===i?(lq(r).forEach(e=>{dP(c,e,r[e].primKey,r[e].indexes)}),dx(e,c),ce.follow(()=>e.on.populate.fire(n)).catch(a)):(function({_novip:e},t,r,n){let o=[],i=e._versions,a=e._dbSchema=dk(e,e.idbdb,n),s=!1;return i.filter(e=>e._cfg.version>=t).forEach(i=>{o.push(()=>{let o=a,l=i._cfg.dbschema;dj(e,o,n),dj(e,l,n),a=e._dbSchema=l;let u=dO(o,l);u.add.forEach(e=>{dP(n,e[0],e[1].primKey,e[1].indexes)}),u.change.forEach(e=>{if(e.recreate)throw new uT.Upgrade("Not yet support for changing primary key");{let t=n.objectStore(e.name);e.add.forEach(e=>dC(t,e)),e.change.forEach(e=>{t.deleteIndex(e.name),dC(t,e)}),e.del.forEach(e=>t.deleteIndex(e))}});let c=i._cfg.contentUpgrade;if(c&&i._cfg.version>t){let t;dx(e,n),r._memoizedTables={},s=!0;let i=uo(l);u.del.forEach(e=>{i[e]=o[e]}),dS(e,[e.Transaction.prototype]),dE(e,[e.Transaction.prototype],lq(i),i),r.schema=i;let a=ug(c);a&&c_();let d=ce.follow(()=>{if((t=c(r))&&a){var e=cx.bind(null,null);t.then(e,e)}});return t&&"function"==typeof t.then?ce.resolve(t):d.then(()=>t)}}),o.push(t=>{var n;s&&cB||(n=i._cfg.dbschema,[].slice.call(t.db.objectStoreNames).forEach(e=>null==n[e]&&t.db.deleteObjectStore(e))),dS(e,[e.Transaction.prototype]),dE(e,[e.Transaction.prototype],e._storeNames,e._dbSchema),r.schema=e._dbSchema})}),(function e(){return o.length?ce.resolve(o.shift()(r.idbtrans)).then(e):ce.resolve()})().then(()=>{var e;lq(e=a).forEach(t=>{n.db.objectStoreNames.contains(t)||dP(n,t,e[t].primKey,e[t].indexes)})})})(e,i,n,c).catch(a)})}},o),u.onsuccess=cf(()=>{s=null;let n=e._novip.idbdb=u.result,o=l9(n.objectStoreNames);if(o.length>0)try{let t,i=n.transaction(1===o.length?o[0]:o,"readonly");r.autoSchema?function({_novip:e},t,r){e.verno=t.version/10;let n=e._dbSchema=dk(0,t,r);e._storeNames=l9(t.objectStoreNames,0),dE(e,[e._allTables],lq(n),n)}(e,n,i):(dj(e,e._dbSchema,i),((t=dO(dk(0,e.idbdb,i),e._dbSchema)).add.length||t.change.some(e=>e.add.length||e.change.length))&&console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.")),dx(e,i)}catch(e){}cF.push(e),n.onversionchange=cf(t=>{r.vcFired=!0,e.on("versionchange").fire(t)}),n.onclose=cf(t=>{e.on("close").fire(t)}),l&&function({indexedDB:e,IDBKeyRange:t},r){dN(e)||r===cU||dR(e,t).put({name:r}).catch(uM)}(e._deps,a),t()},o)}).catch(e=>e&&"UnknownError"===e.name&&r.PR1398_maxLoop>0?(r.PR1398_maxLoop--,console.warn("Dexie: Workaround for Chrome UnknownError on open()"),u()):ce.reject(e));return ce.race([o,("u"<typeof navigator?ce.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(e){var r=function(){return indexedDB.databases().finally(e)};t=setInterval(r,100),r()}).finally(function(){return clearInterval(t)}):Promise.resolve()).then(u)]).then(()=>(i(),r.onReadyBeingFired=[],ce.resolve(dM(()=>e.on.ready.fire(e.vip))).then(function t(){if(r.onReadyBeingFired.length>0){let n=r.onReadyBeingFired.reduce(uU,uM);return r.onReadyBeingFired=[],ce.resolve(dM(()=>n(e.vip))).then(t)}}))).finally(()=>{r.onReadyBeingFired=null,r.isBeingOpened=!1}).then(()=>e).catch(t=>{r.dbOpenError=t;try{s&&s.abort()}catch(e){}return o===r.openCanceller&&e._close(),cN(t)}).finally(()=>{r.openComplete=!0,a()})}(this)}_close(){let e=this._state,t=cF.indexOf(this);if(t>=0&&cF.splice(t,1),this.idbdb){try{this.idbdb.close()}catch(e){}this._novip.idbdb=null}e.dbReadyPromise=new ce(t=>{e.dbReadyResolve=t}),e.openCanceller=new ce((t,r)=>{e.cancelOpen=r})}close(){this._close();let e=this._state;this._options.autoOpen=!1,e.dbOpenError=new uT.DatabaseClosed,e.isBeingOpened&&e.cancelOpen(e.dbOpenError)}delete(){let e=arguments.length>0,t=this._state;return new ce((r,n)=>{let o=()=>{this.close();var e=this._deps.indexedDB.deleteDatabase(this.name);e.onsuccess=cf(()=>{!function({indexedDB:e,IDBKeyRange:t},r){dN(e)||r===cU||dR(e,t).delete(r).catch(uM)}(this._deps,this.name),r()}),e.onerror=dl(n),e.onblocked=this._fireOnBlocked};if(e)throw new uT.InvalidArgument("Arguments not allowed in db.delete()");t.isBeingOpened?t.dbReadyPromise.then(o):o()})}backendDB(){return this.idbdb}isOpen(){return null!==this.idbdb}hasBeenClosed(){let e=this._state.dbOpenError;return e&&"DatabaseClosed"===e.name}hasFailed(){return null!==this._state.dbOpenError}dynamicallyOpened(){return this._state.autoSchema}get tables(){return lq(this._allTables).map(e=>this._allTables[e])}transaction(){let e=d$.apply(this,arguments);return this._transaction.apply(this,e)}_transaction(e,t,r){let n,o,i=u5.trans;i&&i.db===this&&-1===e.indexOf("!")||(i=null);let a=-1!==e.indexOf("?");e=e.replace("!","").replace("?","");try{if(o=t.map(e=>{var t=e instanceof this.Table?e.name:e;if("string"!=typeof t)throw TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return t}),"r"==e||e===cW)n=cW;else{if("rw"!=e&&e!=cz)throw new uT.InvalidArgument("Invalid transaction mode: "+e);n=cz}if(i){if(i.mode===cW&&n===cz){if(!a)throw new uT.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");i=null}i&&o.forEach(e=>{if(i&&-1===i.storeNames.indexOf(e)){if(!a)throw new uT.SubTransaction("Table "+e+" not included in parent transaction.");i=null}}),a&&i&&!i.active&&(i=null)}}catch(e){return i?i._promise(null,(t,r)=>{r(e)}):cN(e)}let s=(function e(t,r,n,o,i){return ce.resolve().then(()=>{let a,s=u5.transless||u5,l=t._createTransaction(r,n,t._dbSchema,o);if(o)l.idbtrans=o.idbtrans;else try{l.create(),t._state.PR1398_maxLoop=3}catch(o){return o.name===uj.InvalidState&&t.isOpen()&&--t._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),t._close(),t.open().then(()=>e(t,r,n,null,i))):cN(o)}let u=ug(i);u&&c_();let c=ce.follow(()=>{if(a=i.call(l,l))if(u){var e=cx.bind(null,null);a.then(e,e)}else"function"==typeof a.next&&"function"==typeof a.throw&&(a=dA(a))},{trans:l,transless:s});return(a&&"function"==typeof a.then?ce.resolve(a).then(e=>l.active?e:cN(new uT.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))):c.then(()=>a)).then(e=>(o&&l._resolve(),l._completion.then(()=>e))).catch(e=>(l._reject(e),cN(e)))})}).bind(null,this,n,o,i,r);return i?i._promise(n,s,"lock"):u5.trans?cC(u5.transless,()=>this._whenReady(s)):this._whenReady(s)}table(e){if(!lQ(this._allTables,e))throw new uT.InvalidTable(`Table ${e} does not exist`);return this._allTables[e]}}let dX="u">typeof Symbol&&"observable"in Symbol?Symbol.observable:"@@observable";class dQ{constructor(e){this._subscribe=e}subscribe(e,t,r){return this._subscribe(e&&"function"!=typeof e?e:{next:e,error:t,complete:r})}[dX](){return this}}function d0(e,t){return lq(t).forEach(r=>{dH(e[r]||(e[r]=new dz),t[r])}),e}try{i={indexedDB:lG.indexedDB||lG.mozIndexedDB||lG.webkitIndexedDB||lG.msIndexedDB,IDBKeyRange:lG.IDBKeyRange||lG.webkitIDBKeyRange}}catch(e){i={indexedDB:null,IDBKeyRange:null}}function d1(e){let t=d2;try{d2=!0,dp.storagemutated.fire(e)}finally{d2=t}}l0(dJ,{...uN,delete:e=>new dJ(e,{addons:[]}).delete(),exists:e=>new dJ(e,{addons:[]}).open().then(e=>(e.close(),!0)).catch("NoSuchDatabaseError",()=>!1),getDatabaseNames(e){try{return(function({indexedDB:e,IDBKeyRange:t}){return dN(e)?Promise.resolve(e.databases()).then(e=>e.map(e=>e.name).filter(e=>e!==cU)):dR(e,t).toCollection().primaryKeys()})(dJ.dependencies).then(e)}catch(e){return cN(new uT.MissingAPI)}},defineClass:()=>function(e){lZ(this,e)},ignoreTransaction:e=>u5.trans?cC(u5.transless,e):e(),vip:dM,async:function(e){return function(){try{var t=dA(e.apply(this,arguments));return t&&"function"==typeof t.then?t:ce.resolve(t)}catch(e){return cN(e)}}},spawn:function(e,t,r){try{var n=dA(e.apply(r,t||[]));return n&&"function"==typeof n.then?n:ce.resolve(n)}catch(e){return cN(e)}},currentTransaction:{get:()=>u5.trans||null},waitFor:function(e,t){let r=ce.resolve("function"==typeof e?dJ.ignoreTransaction(e):e).timeout(t||6e4);return u5.trans?u5.trans.waitFor(r):r},Promise:ce,debug:{get:()=>ub,set:e=>{ub=e,uv="dexie"===e?()=>!0:cV}},derive:l4,extend:lZ,props:l0,override:l7,Events:cY,on:dp,liveQuery:function(e){let t,r=!1,n=new dQ(n=>{let o=ug(e),i=!1,a={},s={},l={get closed(){return i},unsubscribe:()=>{i=!0,dp.storagemutated.unsubscribe(p)}};n.start&&n.start(l);let u=!1,c=!1;function d(){return lq(s).some(e=>a[e]&&function(e,t){let r=dG(t),n=r.next();if(n.done)return!1;let o=n.value,i=dG(e),a=i.next(o.from),s=a.value;for(;!n.done&&!a.done;){if(0>=c3(s.from,o.to)&&c3(s.to,o.from)>=0)return!0;0>c3(o.from,s.from)?o=(n=r.next(s.from)).value:s=(a=i.next(o.from)).value}return!1}(a[e],s[e]))}let p=e=>{d0(a,e),d()&&f()},f=()=>{let h,m;if(u||i)return;a={};let y={},g=(o&&c_(),h=()=>cw(e,{subscr:y,trans:null}),m=u5.trans?cC(u5.transless,h):h(),o&&m.then(cx,cx),m);c||(dp(dc,p),c=!0),u=!0,Promise.resolve(g).then(e=>{r=!0,t=e,u=!1,i||(d()?f():(a={},s=y,n.next&&n.next(e)))},e=>{u=!1,r=!1,n.error&&n.error(e),l.unsubscribe()})};return f(),l});return n.hasValue=()=>r,n.getValue=()=>t,n},extendObservabilitySet:d0,getByKeyPath:ur,setByKeyPath:un,delByKeyPath:function(e,t){"string"==typeof t?un(e,t,void 0):"length"in t&&[].map.call(t,function(t){un(e,t,void 0)})},shallowClone:uo,deepClone:uc,getObjectDiff:dF,cmp:c3,asap:ue,minKey:c$,addons:[],connections:cF,errnames:uj,dependencies:i,semVer:cM,version:cM.split(".").map(e=>parseInt(e)).reduce((e,t,r)=>e+t/Math.pow(10,2*r))}),dJ.maxKey=dg(dJ.dependencies.IDBKeyRange),"u">typeof dispatchEvent&&"u">typeof addEventListener&&(dp(dc,e=>{if(!d2){let t;cB?(t=document.createEvent("CustomEvent")).initCustomEvent(dd,!0,!0,e):t=new CustomEvent(dd,{detail:e}),d2=!0,dispatchEvent(t),d2=!1}}),addEventListener(dd,({detail:e})=>{d2||d1(e)}));let d2=!1;if("u">typeof BroadcastChannel){let e=new BroadcastChannel(dd);"function"==typeof e.unref&&e.unref(),dp(dc,t=>{d2||e.postMessage(t)}),e.onmessage=e=>{e.data&&d1(e.data)}}else if("u">typeof self&&"u">typeof navigator){dp(dc,e=>{try{d2||("u">typeof localStorage&&localStorage.setItem(dd,JSON.stringify({trig:Math.random(),changedParts:e})),"object"==typeof self.clients&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach(t=>t.postMessage({type:dd,changedParts:e})))}catch(e){}}),"u">typeof addEventListener&&addEventListener("storage",e=>{if(e.key===dd){let t=JSON.parse(e.newValue);t&&d1(t.changedParts)}});let e=self.document&&navigator.serviceWorker;e&&e.addEventListener("message",function({data:e}){e&&e.type===dd&&d1(e.changedParts)})}function d4(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}ce.rejectionMapper=function(e,t){if(!e||e instanceof uO||e instanceof TypeError||e instanceof SyntaxError||!e.name||!uR[e.name])return e;var r=new uR[e.name](t||e.message,e);return"stack"in e&&l2(r,"stack",{get:function(){return this.inner.stack}}),r},uv=cV;class d3 extends dJ{constructor(){super("EsmOffline"),d4(this,"syncQueue",void 0),d4(this,"dynamicOfflineData",void 0),this.version(4).stores({syncQueue:"++id,userId,type,[userId+type]",dynamicOfflineData:"++id,type,identifier,*users,&[type+identifier]"}),this.syncQueue=this.table("syncQueue"),this.dynamicOfflineData=this.table("dynamicOfflineData")}}function d6(){return new d3}let d5=new d3,d9={},d7=Y("offline-synchronization",{});function d8(){return d7}async function pe(){if(d7.getState().synchronization)return;let e=await d5.syncQueue.count(),t={},r=Object.entries(d9),n=r.length,o={},i=new AbortController,a=()=>{let e=d7.getState().synchronization;d7.setState({synchronization:{...e,pendingCount:e.pendingCount-1}})};try{d7.setState({synchronization:{totalCount:e,pendingCount:e,abortController:i}});for(let e=0;e<n&&r.length>0;e++)for(let e=r.length;e--;){let[n,s]=r[e],l=s.dependsOn.map(e=>t[e]);l.every(Boolean)&&(o[n]={},await Promise.all(l),t[n]=pt(s,o,i,a),r.splice(e,1))}await Promise.allSettled(Object.values(t))}finally{d7.setState({synchronization:void 0})}}async function pt({type:e,dependsOn:t,process:r},n,o,i){let a=[],s=[],l=await pr();await d5.syncQueue.where({type:e,userId:l}).each((e,t)=>{a.push([t.primaryKey,e.content,e.descriptor]),s.push(e.content)});for(let u=0;u<a.length;u++){let[c,d,{id:p,dependencies:f=[]}]=a[u];try{let i=await r(d,{abort:o,index:u,items:s,userId:l,dependencies:f.map(({id:e,type:r})=>t.includes(r)?n[r][e]:void 0)});void 0!==p&&(n[e][p]=i),await d5.syncQueue.delete(c)}catch(e){await d5.syncQueue.update(c,{lastError:{name:e?.name,message:e?.message??e?.toString()}})}finally{i()}}}async function pr(){let e=await aU();return e?.uuid||"*"}async function pn(e,t,r,n){let o=n&&n.id;return void 0!==o&&await d5.syncQueue.where({type:t,userId:e}).filter(e=>e?.descriptor.id===o).delete().catch(dJ.errnames.DatabaseClosed),await d5.syncQueue.add({type:t,content:r,userId:e,descriptor:n||{},createdOn:new Date}).catch(dJ.errnames.DatabaseClosed,()=>-1)}async function po(e,t,r){let n=await pr();return await pn(n,e,t,r)}async function pi(e,t){return(await pa(e,t)).map(e=>e.content)}async function pa(e,t){return await d5.syncQueue.where(t?{type:t,userId:e}:{userId:e}).toArray().catch(dJ.errnames.DatabaseClosed,()=>[])}async function ps(e){let t=await pr();return await pi(t,e)}async function pl(e){let t=await pr();return await pa(t,e)}async function pu(e){return await d5.syncQueue.get(e).catch(dJ.errnames.DatabaseClosed,()=>void 0)}function pc(e){return!!d9[e]?.options.onBeginEditSyncItem}async function pd(e){let t=await pu(e);if(!t)throw Error(`No sync item with the ID ${e} exists.`);let r=d9[t.type]?.options.onBeginEditSyncItem;if(!r)throw Error(`A sync item with the ID ${e} exists, but the associated handler (if one exists) doesn't support editing the item. You can avoid this error by either verifying that sync items of this type can be edited via the "canEditSynchronizationItemsOfType(type: string)" function or alternatively ensure that the synchronizaton handler for sync items of type "${t.type}" supports editing items.`);r(t)}async function pp(e){await d5.syncQueue.delete(e).catch(dJ.errnames.DatabaseClosed)}function pf(e,t,r,n={}){d9[e]={type:e,dependsOn:t,process:r,options:n}}let ph="u">typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),pm=new Uint8Array(16),py=[];for(let e=0;e<256;++e)py.push((e+256).toString(16).slice(1));let pg=function(e,t,r){if(ph&&!t&&!e)return ph();let n=(e=e||{}).random||(e.rng||function(){if(!a&&!(a="u">typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return a(pm)})();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=n[e];return t}return function(e,t=0){return py[e[t+0]]+py[e[t+1]]+py[e[t+2]]+py[e[t+3]]+"-"+py[e[t+4]]+py[e[t+5]]+"-"+py[e[t+6]]+py[e[t+7]]+"-"+py[e[t+8]]+py[e[t+9]]+"-"+py[e[t+10]]+py[e[t+11]]+py[e[t+12]]+py[e[t+13]]+py[e[t+14]]+py[e[t+15]]}(n)},pb="OFFLINE+";function pv(){return pb+pg()}function pw(e){return e.startsWith(pb)}let p_={};function px(){return Object.values(p_)}function pE(e){p_[e.id]&&console.warn(`[setupDynamicOfflineDataHandler] Another second handler with the ID "${e.id}" was registered. This handler will override the previous one. This could be unintended as the previous handler might run different flows than the newly registered one. If this is the case, ensure that you are setting up the handlers with different IDs.`),p_[e.id]=e}async function pS(e){let t=await pR();return await pD(t,e)}async function pD(e,t){let r=new d3;return await r.dynamicOfflineData.where(t?{type:t,users:e}:{users:e}).toArray().catch(dJ.errnames.DatabaseClosed,()=>[])}async function pO(e,t){let r=await pR();return await pP(r,e,t)}async function pP(e,t,r){let n=new d3,o=await n.dynamicOfflineData.get({type:t,identifier:r}).catch(dJ.errnames.DatabaseClosed,()=>void 0);o?o.users.includes(e)||await n.dynamicOfflineData.update(o.id,{users:[...o.users,e]}).catch(dJ.errnames.DatabaseClosed):await n.dynamicOfflineData.add({users:[e],type:t,identifier:r}).catch(dJ.errnames.DatabaseClosed)}async function pC(e,t){let r=await pR();return await pk(r,e,t)}async function pk(e,t,r){let n=new d3,o=await n.dynamicOfflineData.get({type:t,identifier:r,users:e}).catch(dJ.errnames.DatabaseClosed,()=>void 0);o&&(o.users.length>1?await n.dynamicOfflineData.update(o.id,{users:o.users.filter(t=>t!==e)}).catch(dJ.errnames.DatabaseClosed):await n.dynamicOfflineData.delete(o.id).catch(dJ.errnames.DatabaseClosed))}async function pj(e,t){let r=await pS(e);await Promise.all(r.map(async e=>pT(e.type,e.identifier,t)))}async function pT(e,t,r){await pO(e,t);let n=new d3,o=await pR(),i=await n.dynamicOfflineData.get({type:e,identifier:t}).catch(dJ.errnames.DatabaseClosed,()=>void 0),a=px().filter(t=>t.type===e);if(!i)return;let s=await Promise.all(a.map(async e=>{try{return e.sync(t,r),{id:e.id,error:void 0}}catch(r){let t=r.message?.toString()??r.toString();return{id:e.id,error:t}}})),l=s.filter(e=>!e.error).map(e=>e.id),u=s.filter(e=>e.error).map(e=>e.id),c=s.filter(e=>e.error).map(e=>({handlerId:e.id,message:e.error})),d={syncedOn:new Date,syncedBy:o,succeededHandlers:l,erroredHandlers:u,errors:c};i.id&&await n.dynamicOfflineData.update(i.id,{syncState:d}).catch(dJ.errnames.DatabaseClosed)}async function pR(){let e=(await aU()).uuid;if(!e)throw Error("Using the dynamic offline data API requires a logged in user.");return e}let pN=Y("offline-patients",{offlinePatientDataSyncState:{},handlers:{}});function pM(){return pI(),pN}function pA(e,t){pI(),pE({type:"patient",displayName:t.displayName,id:e,isSynced:()=>Promise.resolve(!0),sync:(e,r)=>t.onOfflinePatientAdded({patientUuid:e,signal:r??new AbortController().signal})})}async function p$(e){pI(),await pT("patient",e)}function pI(){console.warn("The offline patient API has been deprecated and will be removed in a future release. To prevent future crashes, the functions remain available for the moment, but any invocations should be migrated ASAP.")}async function pL(e,t,r=!0){if(e){let n=null,[o,i]=await Promise.all([aT(`${aC}/Patient/${e}`,t).catch(e=>n=e),r?pF(e):Promise.resolve(null)]);if(o.ok)return o.data;if(i)return i;if(n)throw n}return null}async function pF(e){let t=(await ps("patient-registration")).find(t=>t.fhirPatient.id===e);return t?.fhirPatient??null}function pB(e,t){let r=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(r)}function pV(e,t){let r=e=>{t("detail"in e&&null!==e.detail?e.detail:void 0)};return window.addEventListener(`openmrs:${e}`,r),()=>{window.removeEventListener(`openmrs:${e}`,r)}}var pU=r(9549);function pW(e){return{uuid:e.uuid,display:e.display}}function pz(e=null,t=null){let r=new URLSearchParams;e&&r.set("tag",e),t&&r.set("q",t);let n=r.toString();return aR(`${aP}/location${n?"?"+n:""}`).pipe((0,pU.map)(e=>e.data.results.map(pW))).pipe((0,pU.take)(1))}function pK(e){return{uuid:e.uuid,display:e.display,name:e.name}}function pH(){return aR(`${aP}/visittype`).pipe((0,pU.map)(e=>e.data.results.map(pK))).pipe((0,pU.take)(1))}var pG=function(){function e(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return e.prototype=Object.create(Error.prototype),e}(),pq=function(e){function t(t,r){var n=e.call(this)||this;return n.subject=t,n.subscriber=r,n.closed=!1,n}return em(t,e),t.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var e=this.subject,t=e.observers;if(this.subject=null,t&&0!==t.length&&!e.isStopped&&!e.closed){var r=t.indexOf(this.subscriber);-1!==r&&t.splice(r,1)}}},t}(eE),pY=function(e){function t(t){var r=e.call(this,t)||this;return r.destination=t,r}return em(t,e),t}(eO),pZ=function(e){function t(){var t=e.call(this)||this;return t.observers=[],t.closed=!1,t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return em(t,e),t.prototype[eD]=function(){return new pY(this)},t.prototype.lift=function(e){var t=new pJ(this,this);return t.operator=e,t},t.prototype.next=function(e){if(this.closed)throw new pG;if(!this.isStopped)for(var t=this.observers,r=t.length,n=t.slice(),o=0;o<r;o++)n[o].next(e)},t.prototype.error=function(e){if(this.closed)throw new pG;this.hasError=!0,this.thrownError=e,this.isStopped=!0;for(var t=this.observers,r=t.length,n=t.slice(),o=0;o<r;o++)n[o].error(e);this.observers.length=0},t.prototype.complete=function(){if(this.closed)throw new pG;this.isStopped=!0;for(var e=this.observers,t=e.length,r=e.slice(),n=0;n<t;n++)r[n].complete();this.observers.length=0},t.prototype.unsubscribe=function(){this.isStopped=!0,this.closed=!0,this.observers=null},t.prototype._trySubscribe=function(t){if(!this.closed)return e.prototype._trySubscribe.call(this,t);throw new pG},t.prototype._subscribe=function(e){if(this.closed)throw new pG;return this.hasError?(e.error(this.thrownError),eE.EMPTY):this.isStopped?(e.complete(),eE.EMPTY):(this.observers.push(e),new pq(this,e))},t.prototype.asObservable=function(){var e=new ek;return e.source=this,e},t.create=function(e,t){return new pJ(e,t)},t}(ek),pJ=function(e){function t(t,r){var n=e.call(this)||this;return n.destination=t,n.source=r,n}return em(t,e),t.prototype.next=function(e){var t=this.destination;t&&t.next&&t.next(e)},t.prototype.error=function(e){var t=this.destination;t&&t.error&&this.destination.error(e)},t.prototype.complete=function(){var e=this.destination;e&&e.complete&&this.destination.complete()},t.prototype._subscribe=function(e){return this.source?this.source.subscribe(e):eE.EMPTY},t}(pZ),pX=function(e){function t(t){var r=e.call(this)||this;return r._value=t,r}return em(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),t.prototype._subscribe=function(t){var r=e.prototype._subscribe.call(this,t);return r&&!r.closed&&t.next(this._value),r},t.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(!this.closed)return this._value;throw new pG},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(pZ),pQ=((eu={}).NEWVISIT="startVisit",eu.EDITVISIT="editVisit",eu.LOADING="loadingVisit",eu),p0=((ec={}).NOTSTARTED="notStarted",ec.ONGOING="ongoing",ec);let p1="custom:(uuid,display,voided,indication,startDatetime,stopDatetime,encounters:(uuid,display,encounterDatetime,form:(uuid,name),location:ref,encounterType:ref,encounterProviders:(uuid,display,provider:(uuid,display))),patient:(uuid,display),visitType:(uuid,name,display),attributes:(uuid,display,attributeType:(name,datatypeClassname,uuid),value),location:(uuid,name,display))",p2=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function p4(){return J("visit",p2)}function p3(e,t){p4().setState({patientUuid:e,manuallySetVisitUuid:t})}function p6(e,t){return aT(`${aP}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function p5(e,t,r){return aT(`${aP}/visit/${e}`,{signal:r.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function p9(e,t,r){return aT(`${aP}/visit?patient=${e}&v=${r??p1}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}p4().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});let p7=new pX(null);class p8{static get version(){return"1.4.0"}static toString(){return"JavaScript Expression Parser (JSEP) v"+p8.version}static addUnaryOp(e){return p8.max_unop_len=Math.max(e.length,p8.max_unop_len),p8.unary_ops[e]=1,p8}static addBinaryOp(e,t,r){return p8.max_binop_len=Math.max(e.length,p8.max_binop_len),p8.binary_ops[e]=t,r?p8.right_associative.add(e):p8.right_associative.delete(e),p8}static addIdentifierChar(e){return p8.additional_identifier_chars.add(e),p8}static addLiteral(e,t){return p8.literals[e]=t,p8}static removeUnaryOp(e){return delete p8.unary_ops[e],e.length===p8.max_unop_len&&(p8.max_unop_len=p8.getMaxKeyLen(p8.unary_ops)),p8}static removeAllUnaryOps(){return p8.unary_ops={},p8.max_unop_len=0,p8}static removeIdentifierChar(e){return p8.additional_identifier_chars.delete(e),p8}static removeBinaryOp(e){return delete p8.binary_ops[e],e.length===p8.max_binop_len&&(p8.max_binop_len=p8.getMaxKeyLen(p8.binary_ops)),p8.right_associative.delete(e),p8}static removeAllBinaryOps(){return p8.binary_ops={},p8.max_binop_len=0,p8}static removeLiteral(e){return delete p8.literals[e],p8}static removeAllLiterals(){return p8.literals={},p8}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(e){this.expr=e,this.index=0}static parse(e){return new p8(e).parse()}static getMaxKeyLen(e){return Math.max(0,...Object.keys(e).map(e=>e.length))}static isDecimalDigit(e){return e>=48&&e<=57}static binaryPrecedence(e){return p8.binary_ops[e]||0}static isIdentifierStart(e){return e>=65&&e<=90||e>=97&&e<=122||e>=128&&!p8.binary_ops[String.fromCharCode(e)]||p8.additional_identifier_chars.has(String.fromCharCode(e))}static isIdentifierPart(e){return p8.isIdentifierStart(e)||p8.isDecimalDigit(e)}throwError(e){let t=Error(e+" at character "+this.index);throw t.index=this.index,t.description=e,t}runHook(e,t){if(p8.hooks[e]){let r={context:this,node:t};return p8.hooks.run(e,r),r.node}return t}searchHook(e){if(p8.hooks[e]){let t={context:this};return p8.hooks[e].find(function(e){return e.call(t.context,t),t.node}),t.node}}gobbleSpaces(){let e=this.code;for(;e===p8.SPACE_CODE||e===p8.TAB_CODE||e===p8.LF_CODE||e===p8.CR_CODE;)e=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let e=this.gobbleExpressions(),t=1===e.length?e[0]:{type:p8.COMPOUND,body:e};return this.runHook("after-all",t)}gobbleExpressions(e){let t=[],r,n;for(;this.index<this.expr.length;)if((r=this.code)===p8.SEMCOL_CODE||r===p8.COMMA_CODE)this.index++;else if(n=this.gobbleExpression())t.push(n);else if(this.index<this.expr.length){if(r===e)break;this.throwError('Unexpected "'+this.char+'"')}return t}gobbleExpression(){let e=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",e)}gobbleBinaryOp(){this.gobbleSpaces();let e=this.expr.substr(this.index,p8.max_binop_len),t=e.length;for(;t>0;){if(p8.binary_ops.hasOwnProperty(e)&&(!p8.isIdentifierStart(this.code)||this.index+e.length<this.expr.length&&!p8.isIdentifierPart(this.expr.charCodeAt(this.index+e.length))))return this.index+=t,e;e=e.substr(0,--t)}return!1}gobbleBinaryExpression(){let e,t,r,n,o,i,a,s,l;if(!(i=this.gobbleToken())||!(t=this.gobbleBinaryOp()))return i;for(o={value:t,prec:p8.binaryPrecedence(t),right_a:p8.right_associative.has(t)},(a=this.gobbleToken())||this.throwError("Expected expression after "+t),n=[i,o,a];t=this.gobbleBinaryOp();){if(0===(r=p8.binaryPrecedence(t))){this.index-=t.length;break}o={value:t,prec:r,right_a:p8.right_associative.has(t)},l=t;let s=e=>o.right_a&&e.right_a?r>e.prec:r<=e.prec;for(;n.length>2&&s(n[n.length-2]);)a=n.pop(),t=n.pop().value,i=n.pop(),e={type:p8.BINARY_EXP,operator:t,left:i,right:a},n.push(e);(e=this.gobbleToken())||this.throwError("Expected expression after "+l),n.push(o,e)}for(s=n.length-1,e=n[s];s>1;)e={type:p8.BINARY_EXP,operator:n[s-1].value,left:n[s-2],right:e},s-=2;return e}gobbleToken(){let e,t,r,n;if(this.gobbleSpaces(),n=this.searchHook("gobble-token"))return this.runHook("after-token",n);if(e=this.code,p8.isDecimalDigit(e)||e===p8.PERIOD_CODE)return this.gobbleNumericLiteral();if(e===p8.SQUOTE_CODE||e===p8.DQUOTE_CODE)n=this.gobbleStringLiteral();else if(e===p8.OBRACK_CODE)n=this.gobbleArray();else{for(r=(t=this.expr.substr(this.index,p8.max_unop_len)).length;r>0;){if(p8.unary_ops.hasOwnProperty(t)&&(!p8.isIdentifierStart(this.code)||this.index+t.length<this.expr.length&&!p8.isIdentifierPart(this.expr.charCodeAt(this.index+t.length)))){this.index+=r;let e=this.gobbleToken();return e||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:p8.UNARY_EXP,operator:t,argument:e,prefix:!0})}t=t.substr(0,--r)}p8.isIdentifierStart(e)?(n=this.gobbleIdentifier(),p8.literals.hasOwnProperty(n.name)?n={type:p8.LITERAL,value:p8.literals[n.name],raw:n.name}:n.name===p8.this_str&&(n={type:p8.THIS_EXP})):e===p8.OPAREN_CODE&&(n=this.gobbleGroup())}return n?(n=this.gobbleTokenProperty(n),this.runHook("after-token",n)):this.runHook("after-token",!1)}gobbleTokenProperty(e){this.gobbleSpaces();let t=this.code;for(;t===p8.PERIOD_CODE||t===p8.OBRACK_CODE||t===p8.OPAREN_CODE||t===p8.QUMARK_CODE;){let r;if(t===p8.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==p8.PERIOD_CODE)break;r=!0,this.index+=2,this.gobbleSpaces(),t=this.code}this.index++,t===p8.OBRACK_CODE?((e={type:p8.MEMBER_EXP,computed:!0,object:e,property:this.gobbleExpression()}).property||this.throwError('Unexpected "'+this.char+'"'),this.gobbleSpaces(),(t=this.code)!==p8.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):t===p8.OPAREN_CODE?e={type:p8.CALL_EXP,arguments:this.gobbleArguments(p8.CPAREN_CODE),callee:e}:(t===p8.PERIOD_CODE||r)&&(r&&this.index--,this.gobbleSpaces(),e={type:p8.MEMBER_EXP,computed:!1,object:e,property:this.gobbleIdentifier()}),r&&(e.optional=!0),this.gobbleSpaces(),t=this.code}return e}gobbleNumericLiteral(){let e="",t,r;for(;p8.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);if(this.code===p8.PERIOD_CODE)for(e+=this.expr.charAt(this.index++);p8.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);if("e"===(t=this.char)||"E"===t){for(e+=this.expr.charAt(this.index++),("+"===(t=this.char)||"-"===t)&&(e+=this.expr.charAt(this.index++));p8.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);p8.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+e+this.char+")")}return r=this.code,p8.isIdentifierStart(r)?this.throwError("Variable names cannot start with a number ("+e+this.char+")"):(r===p8.PERIOD_CODE||1===e.length&&e.charCodeAt(0)===p8.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:p8.LITERAL,value:parseFloat(e),raw:e}}gobbleStringLiteral(){let e="",t=this.index,r=this.expr.charAt(this.index++),n=!1;for(;this.index<this.expr.length;){let t=this.expr.charAt(this.index++);if(t===r){n=!0;break}if("\\"===t)switch(t=this.expr.charAt(this.index++)){case"n":e+="\n";break;case"r":e+="\r";break;case"t":e+=" ";break;case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="\v";break;default:e+=t}else e+=t}return n||this.throwError('Unclosed quote after "'+e+'"'),{type:p8.LITERAL,value:e,raw:this.expr.substring(t,this.index)}}gobbleIdentifier(){let e=this.code,t=this.index;for(p8.isIdentifierStart(e)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length;)if(e=this.code,p8.isIdentifierPart(e))this.index++;else break;return{type:p8.IDENTIFIER,name:this.expr.slice(t,this.index)}}gobbleArguments(e){let t=[],r=!1,n=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let o=this.code;if(o===e){r=!0,this.index++,e===p8.CPAREN_CODE&&n&&n>=t.length&&this.throwError("Unexpected token "+String.fromCharCode(e));break}if(o===p8.COMMA_CODE){if(this.index++,++n!==t.length){if(e===p8.CPAREN_CODE)this.throwError("Unexpected token ,");else if(e===p8.CBRACK_CODE)for(let e=t.length;e<n;e++)t.push(null)}}else if(t.length!==n&&0!==n)this.throwError("Expected comma");else{let e=this.gobbleExpression();e&&e.type!==p8.COMPOUND||this.throwError("Expected comma"),t.push(e)}}return r||this.throwError("Expected "+String.fromCharCode(e)),t}gobbleGroup(){this.index++;let e=this.gobbleExpressions(p8.CPAREN_CODE);if(this.code===p8.CPAREN_CODE)return(this.index++,1===e.length)?e[0]:!!e.length&&{type:p8.SEQUENCE_EXP,expressions:e};this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:p8.ARRAY_EXP,elements:this.gobbleArguments(p8.CBRACK_CODE)}}}Object.assign(p8,{hooks:new class{add(e,t,r){if("string"!=typeof arguments[0])for(let e in arguments[0])this.add(e,arguments[0][e],arguments[1]);else(Array.isArray(e)?e:[e]).forEach(function(e){this[e]=this[e]||[],t&&this[e][r?"unshift":"push"](t)},this)}run(e,t){this[e]=this[e]||[],this[e].forEach(function(e){e.call(t&&t.context?t.context:t,t)})}},plugins:new class{constructor(e){this.jsep=e,this.registered={}}register(...e){e.forEach(e=>{if("object"!=typeof e||!e.name||!e.init)throw Error("Invalid JSEP plugin format");this.registered[e.name]||(e.init(this.jsep),this.registered[e.name]=e)})}}(p8),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"??":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10,"**":11},right_associative:new Set(["**"]),additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"}),p8.max_unop_len=p8.getMaxKeyLen(p8.unary_ops),p8.max_binop_len=p8.getMaxKeyLen(p8.binary_ops);let fe=e=>new p8(e).parse(),ft=Object.getOwnPropertyNames(class{});Object.getOwnPropertyNames(p8).filter(e=>!ft.includes(e)&&void 0===fe[e]).forEach(e=>{fe[e]=p8[e]}),fe.Jsep=p8,fe.plugins.register({name:"ternary",init(e){e.hooks.add("after-expression",function(t){if(t.node&&this.code===e.QUMARK_CODE){this.index++;let r=t.node,n=this.gobbleExpression();if(n||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;let o=this.gobbleExpression();if(o||this.throwError("Expected expression"),t.node={type:"ConditionalExpression",test:r,consequent:n,alternate:o},r.operator&&e.binary_ops[r.operator]<=.9){let n=r;for(;n.right.operator&&e.binary_ops[n.right.operator]<=.9;)n=n.right;t.node.test=n.right,n.right=t.node,t.node=r}}else this.throwError("Expected :")}})}});let fr="ArrowFunctionExpression",fn={Array,Boolean,Symbol,Infinity,NaN,Math,Number,BigInt,String,RegExp,JSON,isFinite,isNaN,parseFloat,parseInt,decodeURI,encodeURI,encodeURIComponent,Object:{__proto__:void 0,assign:Object.assign.bind(null),fromEntries:Object.fromEntries.bind(null),hasOwn:Object.hasOwn.bind(null),keys:Object.keys.bind(null),is:Object.is.bind(null),values:Object.values.bind(null)}},fo={...fn,Promise};function fi(e,t={}){return fd(e,t,fh)}async function fa(e,t={}){return fp(e,t,fh)}function fs(e,t={}){return fd(e,t,fm)}function fl(e,t={}){return fp(e,t,fm)}function fu(e,t={}){return fd(e,t,fy)}function fc(e,t={}){return fp(e,t,fy)}function fd(e,t={},r){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let n=f_(t,fn),o=fg("string"==typeof e?fe(e):e,n);if(r(o))return o;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}}async function fp(e,t={},r){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))return Promise.reject(`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`);if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let n=f_(t,fo);return Promise.resolve(fg("string"==typeof e?fe(e):e,n)).then(t=>{if(r(t))return t;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}})}function ff(e){return fe(e)}function fh(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function fm(e){return"boolean"==typeof e}function fy(e){return"number"==typeof e}function fg(e,t){switch(e.type){case"UnaryExpression":var r,n,o,i,a,s,l,u,c,d,p,f,h,m=e,y=t;let g=fg(m.argument,y);switch(m.operator){case"+":return+g;case"-":return-g;case"~":return~g;case"!":return!g;default:throw`Expression evaluator does not support operator '${m.operator}''`}case"BinaryExpression":var b=e,v=t;switch(b.operator){case"&&":return fg(b.left,v)&&fg(b.right,v);case"||":return fg(b.left,v)||fg(b.right,v);case"??":return fg(b.left,v)??fg(b.right,v)}let w=fg(b.left,v),x=fg(b.right,v);switch(b.operator){case"+":return w+x;case"-":return w-x;case"*":return w*x;case"/":return w/x;case"%":return w%x;case"**":return w**x;case"==":return w==x;case"===":return w===x;case"!=":return w!=x;case"!==":return w!==x;case">":return w>x;case">=":return w>=x;case"<":return w<x;case"<=":return w<=x;case"in":return w in x;default:throw`Expression evaluator does not support operator '${b.operator}' operator`}case"ConditionalExpression":return r=e,n=t,fg(r.test,n)?fg(r.consequent,n):fg(r.alternate,n);case"CallExpression":return fS(fv(e,t));case"ArrowFunctionExpression":let E;return o=e,i=t,E=o.params?.map(e=>{if("Identifier"===e.type)return e.name;throw`Cannot handle parameter of type ${e.type}`})??[],(function(...e){if(e.length<E.length)throw`Required argument(s) ${E.slice(e.length,-1).join(", ")} were not provided`;let t=Object.fromEntries(E.reduce((t,r,n)=>{let o=e[n];return function e(t){if("string"==typeof t||"number"==typeof t||"boolean"==typeof t||"function"==typeof t||null===t||t instanceof RegExp)return!0;if("object"==typeof t){for(let r of Object.keys(t))if(!e(t[r]))return!1;return!0}if(Array.isArray(t)){for(let r of t)if(!e(r))break}return!1}(o)&&t.push([r,o]),t},[]));return fg(o.body,i.addVariables(t))}).bind(null);case"MemberExpression":return fS(fw(e,t));case"ArrayExpression":return a=e,s=t,a.elements?.map(fD(s));case"SequenceExpression":let S;return l=e,u=t,(S=l.expressions.map(fD(u)))[S.length-1];case"NewExpression":var D=e,O=t;if(D.callee&&"Identifier"===D.callee.type){let e=D.arguments?.map(fD(O));switch(D.callee.name){case"Date":return new Date(...e);case"RegExp":return new RegExp(...e);default:throw`Cannot instantiate object of type ${D.callee.name}`}}if(D.callee)throw"new must be called with either Date or RegExp";throw'Could not handle "new" without a specified class';case"Literal":return e.value;case"Identifier":return c=e,d=t,(fO(c.name),d.variables&&Object.hasOwn(d.variables,c.name))?d.variables[c.name]:Object.hasOwn(d.globals,c.name)?d.globals[c.name]:void 0;case"TemplateLiteral":let P,C;return p=e,f=t,P=p.expressions?.map(fD(f))??[],(C=p.quasis?.map(fD(f))??[]).filter(e=>!e.tail).map(e=>e.value).join("")+P.join("")+C.filter(e=>e.tail).map(e=>e.value).join("");case"TemplateElement":return{value:(h=e).cooked,tail:h.tail};default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function fb(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return fb(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function fv(e,t){let r=fE(e.callee,t);if(r===fx||e.optional&&null==r)return fx;let n=e.arguments?.map(fD(t));if(r){if("function"!=typeof r)throw`${fk(e.callee)} is not a function`}else throw`No function named ${fk(e.callee)} is defined in this context`;return r(...n)}function fw(e,t){let r=fE(e.object,t);if(r===fx||e.optional&&null==r)return fx;if(null===r)throw TypeError(`TypeError: cannot read properties of null (reading '${fC(e.property,t)}')`);if(void 0===r)switch(e.object.type){case"Identifier":{let r=fb(e.object,t);throw ReferenceError(`ReferenceError: ${r} is not defined`)}case"MemberExpression":throw TypeError(`TypeError: cannot read properties of undefined (reading '${fC(e.property,t)}')`);default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}if("object"!=typeof r&&"function"!=typeof r&&"string"!=typeof r&&"number"!=typeof r)throw`VisitMemberExpression does not support member access on type ${typeof r}`;let n=e.computed?function(e){if(void 0===e)throw{type:"Illegal property access",message:"No property was supplied to the property access"};if("string"!=typeof e&&"number"!=typeof e)throw{type:"Illegal property access",message:`Cannot use a value of type ${null===e?"null":typeof e} as a property name`};return e}(fg(e.property,t)):function(e){if("Identifier"!==e.type)throw`VisitMemberExpression does not support a property of type '${e.type}'`;return e.name}(e.property);fO(n),function(e,t){if(fP.has(String(t)))return;let r=Object(e);for(;null!==r;){if(Object.hasOwn(r,t)){if(r===Object.prototype||r===Function.prototype)throw{type:"Illegal property access",message:`Cannot access the ${t} property of objects`};return}r=Object.getPrototypeOf(r)}}(r,n);let o=r[n];return"function"==typeof o?o.bind(r):o}function f_(e,t){let r={variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return r.addVariables.bind(r),r}fe.plugins.register({name:"arrow",init(e){e.addBinaryOp("=>",.1,!0),e.hooks.add("gobble-expression",function(t){if(this.gobbleSpaces(),this.code===e.OPAREN_CODE){let r=this.index;if(this.index++,this.gobbleSpaces(),this.code===e.CPAREN_CODE){this.index++;let e=this.gobbleBinaryOp();if("=>"===e){let r=this.gobbleBinaryExpression();r||this.throwError("Expected expression after "+e),t.node={type:fr,params:null,body:r};return}}this.index=r}}),e.hooks.add("after-expression",function(t){!function t(r){r&&(Object.values(r).forEach(e=>{e&&"object"==typeof e&&t(e)}),"=>"===r.operator&&(r.type=fr,r.params=r.left?[r.left]:null,r.body=r.right,r.params&&r.params[0].type===e.SEQUENCE_EXP&&(r.params=r.params[0].expressions),delete r.left,delete r.right,delete r.operator))}(t.node)})}}),fe.plugins.register({name:"new",init(e){e.addUnaryOp("new"),e.hooks.add("after-token",function(t){let r=t.node;if(r&&"new"===r.operator){r.argument&&[e.CALL_EXP,e.MEMBER_EXP].includes(r.argument.type)||this.throwError("Expected new function()"),t.node=r.argument;let n=t.node;for(;n.type===e.MEMBER_EXP||n.type===e.CALL_EXP&&n.callee.type===e.MEMBER_EXP;)n=n.type===e.MEMBER_EXP?n.object:n.callee.object;n.type="NewExpression"}})}}),fe.plugins.register({name:"numbers",init(e){function t(e){return"x"===e||"X"===e?(this.index+=2,[[48,57],[65,70],[97,102]]):"b"===e||"B"===e?(this.index+=2,[[48,49]]):"o"===e||"O"===e||e>="0"&&e<="7"?(this.index+=e<="7"?1:2,[[48,55]]):null}function r(t){let r=this.index,n="",o=()=>{for(;e.isDecimalDigit(this.code)||95===this.code;)95===this.code?this.index++:n+=this.expr.charAt(this.index++)};o(),this.code===e.PERIOD_CODE&&(n+=this.expr.charAt(this.index++),o());let i=this.char;("e"===i||"E"===i)&&(n+=this.expr.charAt(this.index++),("+"===(i=this.char)||"-"===i)&&(n+=this.expr.charAt(this.index++)),o(),e.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+n+this.char+")"));let a=this.code;if(e.isIdentifierStart(a))this.throwError("Variable names cannot start with a number ("+n+this.char+")");else if(a===e.PERIOD_CODE){n.length>1&&this.throwError(`Unexpected period ${JSON.stringify({chCode:a,number:n},null,2)}`),this.index=r;return}t.node={type:e.LITERAL,value:parseFloat(n),raw:this.expr.substring(r,this.index)}}e.hooks.add("gobble-token",function(n){if(48===this.code){var o,i,a;let s=this.index,l=this.expr.charAt(this.index+1),u=t.call(this,l);if(!u)return;let c="";for(;o=this.code,i=u,95===o||i.some(([e,t])=>o>=e&&o<=t);)95===this.code?this.index++:c+=this.expr.charAt(this.index++);if(e.isIdentifierPart(this.code)){if(e.isDecimalDigit(this.code)&&e.isDecimalDigit(l.charCodeAt(0))){this.index=s+1,r.call(this,n);return}this.throwError("unexpected char within number")}n.node={type:e.LITERAL,value:parseInt(c,"x"===(a=l)||"X"===a?16:"b"===a||"B"===a?2:8),raw:this.expr.substring(s,this.index)}}else(e.isDecimalDigit(this.code)||this.code===e.PERIOD_CODE)&&r.call(this,n)})}}),fe.plugins.register({name:"regex",init(e){e.hooks.add("gobble-token",function(t){if(47===this.code){let r=++this.index,n=!1;for(;this.index<this.expr.length;){if(47===this.code&&!n){let n,o=this.expr.slice(r,this.index),i="";for(;++this.index<this.expr.length;){let e=this.code;if(e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57)i+=this.char;else break}try{n=new RegExp(o,i)}catch(e){this.throwError(e.message)}return t.node={type:e.LITERAL,value:n,raw:this.expr.slice(r-1,this.index)},t.node=this.gobbleTokenProperty(t.node),t.node}this.code===e.OBRACK_CODE?n=!0:n&&this.code===e.CBRACK_CODE&&(n=!1),this.index+=92===this.code?2:1}this.throwError("Unclosed Regex")}})}}),fe.plugins.register({name:"ternary",init(e){e.hooks.add("after-expression",function(t){if(t.node&&this.code===e.QUMARK_CODE){this.index++;let r=t.node,n=this.gobbleExpression();if(n||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;let o=this.gobbleExpression();if(o||this.throwError("Expected expression"),t.node={type:"ConditionalExpression",test:r,consequent:n,alternate:o},r.operator&&e.binary_ops[r.operator]<=.9){let n=r;for(;n.right.operator&&e.binary_ops[n.right.operator]<=.9;)n=n.right;t.node.test=n.right,n.right=t.node,t.node=r}}else this.throwError("Expected :")}})}}),fe.plugins.register({name:"jsepTemplateLiteral",init(e){function t(e,r=!0){if(96===this.code){let t={type:"TemplateLiteral",quasis:[],expressions:[]},n="",o="",i=!1,a=this.expr.length,s=()=>t.quasis.push({type:"TemplateElement",value:{raw:o,cooked:n},tail:i});for(;this.index<a;){let a=this.expr.charAt(++this.index);if("`"===a)return this.index+=1,i=!0,s(),e.node=t,r&&(e.node=this.gobbleTokenProperty(e.node)),e.node;if("$"===a&&"{"===this.expr.charAt(this.index+1))this.index+=2,s(),o="",n="",t.expressions.push(...this.gobbleExpressions(125)),125!==this.code&&this.throwError("unclosed ${");else if("\\"===a)switch(o+=a,a=this.expr.charAt(++this.index),o+=a,a){case"n":n+="\n";break;case"r":n+="\r";break;case"t":n+=" ";break;case"b":n+="\b";break;case"f":n+="\f";break;case"v":n+="\v";break;default:n+=a}else n+=a,o+=a}this.throwError("Unclosed `")}}e.hooks.add("gobble-token",t),e.hooks.add("after-token",function(r){if((r.node.type===e.IDENTIFIER||r.node.type===e.MEMBER_EXP)&&96===this.code)return r.node={type:"TaggedTemplateExpression",tag:r.node,quasi:t.bind(this)(r,!1)},r.node=this.gobbleTokenProperty(r.node),r.node})}}),fe.addBinaryOp("in",7),fe.addBinaryOp("??",1);let fx=Symbol("optional chain short-circuited");function fE(e,t){switch(e.type){case"MemberExpression":return fw(e,t);case"CallExpression":return fv(e,t);default:return fg(e,t)}}function fS(e){return e===fx?void 0:e}function fD(e){return function(t){return null===t?null:fg(t,e)}}function fO(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}let fP=new Set(["toString","valueOf","hasOwnProperty"]);function fC(e,t){try{return fb(e,t)}catch{return"<computed>"}}function fk(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function fj(e){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;let t={globals:{...fo},isLocalExpression:!1,variables:new Set};return fT("string"==typeof e?fe(e):e,t),[...t.variables]}function fT(e,t){switch(e.type){case"UnaryExpression":return n=e,o=t,fT(n.argument,o);case"BinaryExpression":return i=e,a=t,[fT(i.left,a),fT(i.right,a)].filter(Boolean);case"ConditionalExpression":return s=e,l=t,[fT(s.consequent,l),fT(s.test,l),fT(s.alternate,l)].filter(Boolean);case"CallExpression":let r;return u=e,c=t,r=fT(u.callee,c),u.arguments?.map(fR(c)),r;case"ArrowFunctionExpression":var n,o,i,a,s,l,u,c,d,p,f,h,m,y,g,b,v=e,w=t;let x={...w};x.isLocalExpression=!0;let E=v.params?.map(fR(x))??[],S=fT(v.body,x)??[];if(S&&Array.isArray(S))for(let e of S)E.includes(e)||w.variables.add(e);return;case"MemberExpression":var D=e,O=t;if(fT(D.object,O),D.computed)return void fT(D.property,O);let P={...O};P.isLocalExpression=!0,fT(D.property,P);return;case"ArrayExpression":return d=e,p=t,void d.elements?.map(fR(p));case"SequenceExpression":return f=e,h=t,void f.expressions?.map(fR(h));case"NewExpression":return m=e,y=t,void m.arguments?.map(fR(y));case"Literal":case"TemplateElement":return;case"Identifier":var C=e,k=t;if(!(C.name in k.globals))if(k.isLocalExpression)return C.name;else k.variables.add(C.name);return;case"TemplateLiteral":return g=e,b=t,void(g.expressions?.map(fR(b)),g.quasis?.map(fR(b)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function fR(e){return function(t){return null===t?null:fT(t,e)}}let fN=J("feature-flags",{flags:function(){let e={};for(let t of Object.keys(localStorage))if(t.startsWith("openmrs:feature-flag:")){let r=t.replace("openmrs:feature-flag:",""),n=JSON.parse(localStorage.getItem(`openmrs:feature-flag-meta:${r}`)||"{}");e[r]={enabled:"true"===localStorage.getItem(t),...n}}return e}()});function fM(e,t,r){fN.setState(n=>({flags:{...n.flags,[e]:{enabled:n.flags[e]?.enabled??!1,label:t,description:r}}}))}function fA(){let e=fN.getState().flags;Object.keys(localStorage).filter(e=>e.startsWith("openmrs:feature-flag:")).forEach(t=>{let r=t.replace("openmrs:feature-flag:","");e[r]||(localStorage.removeItem(t),localStorage.removeItem(`openmrs:feature-flag-meta:${r}`))})}function f$(e){return fN.getState().flags[e].enabled}function fI(e,t){fN.subscribe(r=>{t(r.flags[e].enabled)})}function fL(e,t){fN.setState(r=>({flags:{...r.flags,[e]:{...r.flags[e],enabled:t}}}))}function fF(e){return!window.offlineEnabled||(e??navigator.onLine)}fN.subscribe(e=>{for(let[t,r]of Object.entries(e.flags))localStorage.setItem(`openmrs:feature-flag:${t}`,r.enabled.toString()),localStorage.setItem(`openmrs:feature-flag-meta:${t}`,JSON.stringify({label:r.label,description:r.description}))});var fB=ru(function(e,t,r){rt(e,t,r)});function fV(e=!0,t=!1){return fU(fF(),e,t)}function fU(e,t=!0,r=!1){return!!(e?t:r)}let fW=Y("extensionsInternal",{slots:{},extensions:{}}),fz=Y("extensionRenderings",{renderings:new Map}),fK=()=>J("extensionsInternal",{slots:{},extensions:{}}),fH=()=>J("extensionRenderings",{renderings:new Map});function fG(e){let t=fW.getState(),r=e(t);r!==t&&fW.setState(r)}let fq=null,fY=null;function fZ(){let e=fz.getState();return fq&&e===fY||(fq=new Map(e.renderings),fY=e,function(e){for(let t of(f5.clear(),e.values()))f7(t,1);f9=!0}(fq)),fq}function fJ(e){fY={renderings:e},fz.setState(fY,!0)}function fX(e){let t=fZ();t.has(e.renderingId)||(t.set(e.renderingId,e),f7(e,1),fJ(t))}function fQ(e){let t=fZ(),r=t.get(e);r&&(t.delete(e),f7(r,-1),fJ(t))}let f0=()=>J("extensions",{slots:{}}),f1=0,f2=new Set;function f4(e){f1++;try{return e()}finally{if(0==--f1&&f2.size>0){let e=Array.from(f2);for(let t of(f2.clear(),e))f3(t)}}}function f3(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function f6(e){f1>0?f2.add(e):f3(e)}let f5=new Map,f9=!1;function f7(e,t){let r=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),n=f5.get(r);if(!n){if(t<0)return;f5.set(r,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),f9=!0;return}n.count+=t,n.count<1&&(f5.delete(r),f9=!0)}function f8(){var e,t;if(fZ(),!f9)return;f9=!1;let r=Array.from(f5.values(),({record:e})=>e);r.sort(he),e=nG.getState().mountedExtensions,t=r,e.length===t.length&&e.every((e,r)=>0===he(e,t[r]))||nG.setState({mountedExtensions:r})}function he(e,t){return ht(e.slotName,t.slotName)||ht(e.extensionId,t.extensionId)||ht(e.slotModuleName,t.slotModuleName)||ht(e.extensionModuleName,t.extensionModuleName)}function ht(e,t){return e===t?0:e<t?-1:1}f8(),fz.subscribe(()=>f6(f8));let hr=fK(),hn=f0(),ho=nY(),hi=nX(),ha=new Set,hs=!1;function hl(e){if(null===e)ha=null;else if(null!==ha)for(let t of e)ha.add(t);f6(hu)}function hu(){if(!hs){hs=!0;try{for(let e=1;;e++){let t=ha;if(null!==t&&0===t.size)return;ha=new Set;try{!function(e,t,r,n,o,i=null){let a=hn.getState().slots,s={},l=!1,u=fF(),c=Object.entries(n.flags).filter(([,{enabled:e}])=>e).map(([e])=>e);for(let[n,d]of Object.entries(e.slots)){let p=a[n];if(p&&i&&!i.has(n)){s[n]=p;continue}let{config:f}=nJ(t,d.name),h=function(e,t,r,n,o,i,a){let s=function(e,t){let r=e.add||[],n=e.remove||[],o=e.order||[],{extensions:i}=hr.getState();return[...t,...r].filter(e=>!n.includes(e)).sort((e,r)=>hw(e,o,i[hf(e)]?.order,t)-hw(r,o,i[hf(r)]?.order,t))}(r,t.slots[e].attachedIds),l=[];for(let u of s){let{config:s}=n0(n,e,u),c=n1(r,e,u),d=c?fB({},s,c):s,p=hf(u),f=t.extensions[p];if(f){let e=d?.["Display conditions"]?.privileges??f.privileges??[];if(e&&("string"==typeof e||Array.isArray(e)&&e.length>0)&&(!a?.user||!aV(e,a.user))||f.featureFlag&&!o.includes(f.featureFlag)||window.offlineEnabled&&!fU(i,f.online,f.offline))continue;l.push({id:u,name:p,moduleName:f.moduleName,config:d,featureFlag:f.featureFlag,meta:f.meta,online:d?.["Display conditions"]?.online??f.online??!0,offline:d?.["Display conditions"]?.offline??f.offline??!1,displayConditionExpression:d?.["Display conditions"]?.expression||f.displayExpression})}}return l}(n,e,f,r,c,u,o.session);p&&p.moduleName===d.moduleName&&r0(p.candidateExtensions,h)?s[n]=p:(s[n]={moduleName:d.moduleName,candidateExtensions:h},l=!0)}(l||Object.keys(a).length!==Object.keys(s).length)&&hn.setState({slots:s})}(hr.getState(),ho.getState(),hi.getState(),fN.getState(),aM.getState(),t)}catch(e){throw ha=null===t||null===ha?null:new Set([...t,...ha]),e}if(e>=20)return void console.error("The extension system stopped recomputing after 20 passes because something keeps invalidating slots in response to the extension store being written. Some slots are left stale until the next write.")}}finally{hs=!1}}}function hc(e,t){let r=new Set;for(let n of Object.keys(e))e[n]!==t[n]&&r.add(n);for(let n of Object.keys(t))n in e||r.add(n);return r}function hd(){hl(null)}function hp(e,t){return{moduleName:t,name:e,attachedIds:[]}}function hf(e){let[t]=e.split("#");return t}function hh(e,t){let r=hf(t);return e.extensions[r]}function hm(e){return hh(hr.getState(),e)}hr.subscribe((e,t)=>{hl(e.extensions!==t.extensions?null:hc(e.slots,t.slots))}),ho.subscribe((e,t)=>{hl(hc(e.slots,t.slots))}),hi.subscribe((e,t)=>{hl(hc(e.configs,t.configs))}),fN.subscribe(()=>hl(null)),aM.subscribe(()=>hl(null)),hd(),b(hd);let hy=e=>fG(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function hg(e,t){fG(r=>{let n=r.slots[e];return n?{...r,slots:{...r.slots,[e]:{...n,attachedIds:[...n.attachedIds,t]}}}:{...r,slots:{...r.slots,[e]:{...hp(e),attachedIds:[t]}}}})}function hb(e,t){fG(r=>{let n=r.slots[e];return n&&n.attachedIds.includes(t)?{...r,slots:{...r.slots,[e]:{...n,attachedIds:n.attachedIds.filter(e=>e!==t)}}}:r})}function hv(e){fG(t=>{let r=t.slots[e];return r?{...t,slots:{...t.slots,[e]:{...r,attachedIds:[]}}}:t})}function hw(e,t,r,n){let o=t.indexOf(e);if(-1!==o)return o;{if(void 0!==r)return 1e3+r;let t=n.indexOf(e);return -1!==t?2e3+t:3e3}}function h_(e,t){return function(e,t,r=null,n){let o;return e.filter(e=>{let i=e.displayConditionExpression;if("string"!=typeof i||0===i.trim().length)return!0;o??(o=t&&"object"==typeof t?{session:r,...t}:{session:r});try{return!!fs(i,o)}catch(t){return console.error(`Error while evaluating expression '${i}' for ${e.id}`+(n?` in ${n}`:""),t),!1}})}(hx(e),t,aM.getState().session,e)}function hx(e){return hn.getState().slots[e]?.candidateExtensions??[]}let hE=(e,t)=>hr.setState(r=>{let n=r.slots[t]?.moduleName;if(n&&n!=e)return console.warn(`An extension slot with the name '${t}' already exists. Refusing to register the same slot name twice (in "registerExtensionSlot"). The existing one is from module ${n}.`),r;if(n&&n==e)return r;if(r.slots[t])return{...r,slots:{...r.slots,[t]:{...r.slots[t],moduleName:e}}};let o=hp(t,e);return{...r,slots:{...r.slots,[t]:{...o}}}}),hS=()=>{ha=null,fG(()=>({slots:{},extensions:{}})),fH().setState({renderings:new Map}),hn.setState({slots:{}})},hD=Y("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function hO({name:e,basePath:t,mode:r,componentContext:n,state:o}){hD.setState({slotName:e,basePath:t,mode:r??"normal",componentContext:n,state:o})}function hP(e){hD.getState().slotName===e&&hD.setState(hD.getInitialState(),!0)}let hC=Y("modalRegistry",{modals:{}});function hk(e){hC.setState(t=>(t.modals[e.name]=e,t))}function hj(e){let t=hC.getState().modals[e];if(!t){let r=hm(e);r&&(t={name:e,load:r.load,moduleName:r.moduleName},console.warn(`Modal ${e} was registered as an extension. This is deprecated and will be removed in the future. Please register it in the "modals" section of routes.json instead of the "extensions" section.`),hk(t))}return t}let hT=Y("workspaceRegistrations",{workspaces:{}}),hR=Y("workspaceGroups",{workspaceGroups:{}});function hN(e){hT.setState(t=>({workspaces:{...t.workspaces,[e.name]:{...e,load:e.load,preferredWindowSize:e.preferredWindowSize??"normal",type:e.type??"form",canHide:e.canHide??!1,canMaximize:e.canMaximize??!1,width:e.width??"narrow",groups:e.groups??[]}}}))}function hM(e){hR.setState(t=>{let r=t.workspaceGroups[e.name];return r?{workspaceGroups:{...t.workspaceGroups,[e.name]:{...r,members:Array.from(new Set([...r.members,...e.members]))}}}:{workspaceGroups:{...t.workspaceGroups,[e.name]:{name:e.name,members:e.members}}}})}let hA=new Set;function h$(e){let t=hT.getState().workspaces;if(t[e])return t[e];{let t=hm(e);if(t){var r;let n;return hA.has(e)||(console.warn(`The workspace '${e}' is registered as an extension. This is deprecated. Please register it in the "workspaces" section of the routes.json file.`),hA.add(e)),{name:t.name,title:(r=t,"string"==typeof(n=r?.meta?.title)?n:n&&"object"==typeof n?sj(r.moduleName,n.key,n.default):r.name),moduleName:t.moduleName,preferredWindowSize:t.meta?.screenSize??"normal",load:t.load,type:t.meta?.type??"form",canHide:t.meta?.canHide??!1,canMaximize:t.meta?.canMaximize??!1,width:t.meta?.width??"narrow",groups:t.meta?.groups??[]}}throw Error(`No workspace named '${e}' has been registered.`)}}function hI(e){let t=hR.getState().workspaceGroups;if(t[e])return t[e];throw Error(`No workspace group named '${e}' has been registered.`)}let hL=Y("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],workspaceTitleByWorkspaceName:{},isMostRecentlyOpenedWindowHidden:!1});function hF(e){let{registeredWorkspacesByName:t,registeredWindowsByName:r}=hL.getState(),n=t[e];if(n){let t=r[n.window];if(t)return t;throw Error(`No workspace window found with name: ${n.window} for workspace: ${e}`)}throw Error(`No workspace found with name: ${e}`)}function hB(e){let{registeredGroupsByName:t,registeredWindowsByName:r}=hL.getState(),n=r[e];if(n){let r=t[n.group];if(r)return r;throw Error(`No workspace group found with name: ${n.group} for window: ${e}`)}throw Error(`No workspace window found with name: ${e}`)}function hV(e){let{openedWindows:t}=hL.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function hU(e,t){if(0==t.length)return;let{registeredGroupsByName:r}=hL.getState(),n={...r};for(let r of t){if(n[r.name])throw Error(`Cannot register workspace group ${r.name} more than once`);n[r.name]={...r,moduleName:e}}hL.setState({registeredGroupsByName:n})}function hW(e,t){if(0==t.length)return;let{registeredWindowsByName:r}=hL.getState(),n={...r};for(let r of t){if(n[r.name])throw Error(`Cannot register workspace window ${r.name} more than once`);let t={...r,moduleName:e};n[r.name]=t}hL.setState({registeredWindowsByName:n})}function hz(e,t){if(0==t.length)return;let{registeredWorkspacesByName:r}=hL.getState(),n={...r};for(let r of t){if(n[r.name])throw Error(`Cannot register workspace ${r.name} more than once`);let t={...r,moduleName:e};n[r.name]=t}hL.setState({registeredWorkspacesByName:n})}let hK=0,hH=null,hG={bootstrap:15e3,mount:15e3,unmount:15e3};function hq(e,t){if(e.timeouts)return e;let r=e.name??"parcel",n=Object.fromEntries(Object.keys(hG).filter(t=>e[t]).map(n=>{var o,i;let a,s;return[n,(o=e[n],i=hG[n],a=Array.isArray(o)?o:[o],s=e=>a.reduce((t,o,i)=>t.then(()=>{let t=o(e);return"function"==typeof t?.then&&"function"==typeof t?.catch?t:Promise.reject(Error(`Lifecycle function ${n} at array index ${i} for parcel ${r} did not return a promise`))}),Promise.resolve(void 0)),e=>{let o,a=new Promise((e,t)=>{o=setTimeout(()=>t(Error(`Lifecycle function ${n} for parcel ${r} did not settle within ${i}ms`)),i)});return Promise.race([s(e),a]).finally(()=>clearTimeout(o)).then(e=>(t(n,!1),e),e=>{throw t(n,!0),e})})]}));return{...e,...n}}async function hY(e,t){var r,n;let o,i,a,s,l,u=await (hH??(hH=new Promise((e,t)=>{ik({name:"openmrs-extension-host",bootstrap:()=>Promise.resolve(),mount:t=>(e(t.mountParcel),Promise.resolve()),unmount:()=>Promise.resolve()},{domElement:document.createElement("div")}).mountPromise.catch(t)}).catch(e=>(console.error("The host parcel used to mount extensions could not be mounted. Falling back to mounting extensions as root parcels, which leaks their DOM elements.",e),ik))),hH),c={...t},d=(o=c,i=!1,{retarget:e=>o={...e},release:a=()=>(function(e){for(let t of Object.keys(e))delete e[t]})(o),onSettled(e,t){switch(e){case"bootstrap":t&&a();return;case"mount":i||(i=t);return;case"unmount":(t||i)&&a();return}}});return n=u((r=d.onSettled,"function"==typeof e?()=>e().then(e=>hq(e,r)):hq(e,r)),c),s=e=>t=>e.call(n,d.retarget(t)).catch(e=>{throw"SKIP_BECAUSE_BROKEN"===n.getStatus()&&d.release(),e}),l=n.update&&s(n.update),Object.defineProperty(n,"update",{configurable:!0,enumerable:!0,get:()=>l,set:e=>{l=e&&s(e)}})}function hZ(){return hJ}function hJ(e,t){let r,n=hY(e,t).then(e=>r=e);return{mount:()=>n.then(e=>e.mount()),unmount:()=>n.then(e=>e.unmount()),update:e=>n.then(t=>t.update?.(e)),getStatus:()=>r?.getStatus()??"LOADING_SOURCE_CODE",get loadPromise(){return n.then(e=>e.loadPromise)},get bootstrapPromise(){return n.then(e=>e.bootstrapPromise)},get mountPromise(){return n.then(e=>e.mountPromise)},get unmountPromise(){return n.then(e=>e.unmountPromise)}}}async function hX(e,t,r,n,o=e=>e,i={}){let a=hf(n),s=hm(n),l=null;if(e){if(!s)throw Error(`Couldn't find extension '${a}' to attach to '${t}'`);let{meta:u,moduleName:c,online:d,offline:p,load:f}=s;if(fV(d,p)){let s,d=hK++,p=`${t}/${n}-${d}`;e.dataset.extensionRenderingId=p;let h=e=>{try{fQ(p)}catch(t){console.error(e,t)}};try{fX({renderingId:p,extensionName:a,extensionModuleName:c,extensionId:n,slotName:t,slotModuleName:r})}catch(e){throw h(`Recomputing configuration after registering '${n}' failed also failed`),e}try{s=await f()}catch(e){throw h(`Recomputing configuration after '${n}' failed to load also failed`),e}try{l=await hY(o({...s,name:`${t}/${a}-${d}`}),{...i,_meta:u,_extensionContext:{extensionId:n,extensionSlotName:t,extensionSlotModuleName:r,extensionModuleName:c},domElement:e})}catch(e){throw h(`Recomputing configuration after '${n}' failed to mount also failed`),e}l.mountPromise.then(void 0,e=>{console.error(`Extension '${n}' in slot '${t}' failed to mount`,e),h(`Recomputing configuration after '${n}' failed to mount also failed`)}),l.unmountPromise.then(()=>h(`Recomputing configuration after unmounting '${n}' failed`),e=>{console.error(`Extension '${n}' in slot '${t}' failed to unmount`,e),h(`Recomputing configuration after '${n}' failed to unmount also failed`)})}}else console.warn(`Tried to render ${n} into ${t} but no DOM element was available.`);return l}var hQ=r(7125),h0=r.n(hQ);let h1=(0,hQ.createContext)({moduleName:"",featureName:""});function h2({to:e,templateParams:t,onBeforeNavigate:r,children:n,...o}){return(0,hQ.useEffect)(()=>{o.href&&console.warn(`ConfigurableLink does not support the href prop. Use the 'to' prop instead. The provided href value is '${o.href}'`),o.onClick&&console.warn(`ConfigurableLink does not support the onClick prop. Use the 'onBeforeNavigate' prop instead. The 'to' prop of the offending link is ${e}`)},[]),h0().createElement("a",{onClick:n=>{0===n.button&&!n.ctrlKey&&!n.shiftKey&&!n.altKey&&!n.metaKey&&(n.preventDefault(),r?.(n),ag({to:e,templateParams:t})),0===n.button&&(n.ctrlKey||n.metaKey)&&r?.(n),0===n.button&&n.shiftKey&&r?.(n),1===n.button&&r?.(n)},href:am(e,t),...o},n)}let h4=({state:e,children:t,...r})=>{let{extension:n}=(0,hQ.useContext)(h1),o=(0,hQ.useRef)(null),i=(0,hQ.useRef)(Promise.resolve()),a=(0,hQ.useRef)(!1),s=(0,hQ.useRef)(!1),l=(0,hQ.useRef)(e),u=(0,hQ.useCallback)(e=>{if(!e)return;let t=()=>{"MOUNTED"===e.getStatus()&&e.unmount()};switch(e.getStatus()){case"MOUNTED":e.unmount();break;case"UPDATING":i.current?.then(t,t);break;default:e.mountPromise.then(t,()=>{})}},[]),c=(0,hQ.useCallback)((e,t)=>{e.update&&"UNMOUNTING"!==e.getStatus()&&(i.current=Promise.all([e.mountPromise,i.current]).then(()=>{if(o.current?.getStatus()==="MOUNTED"&&o.current.update)return o.current.update({...t})}).catch(e=>{let t=o.current?.getStatus();"UNMOUNTING"!==t&&"NOT_MOUNTED"!==t&&"UNLOADING"!==t&&console.error(`The extension '${n?.extensionId}' failed to update`,e)}))},[]),d=(0,hQ.useCallback)(t=>{t&&!o.current&&!s.current&&n?.extensionSlotName&&n.extensionSlotModuleName&&(s.current=!0,hX(t,n.extensionSlotName,n.extensionSlotModuleName,n.extensionId,void 0,e).then(t=>{(s.current=!1,o.current=t,a.current)?u(t):t&&l.current!==e&&c(t,l.current)},()=>{s.current=!1}))},[]);return(0,hQ.useEffect)(()=>(a.current=!1,()=>{a.current=!0,u(o.current)}),[]),(0,hQ.useEffect)(()=>{l.current=e,o.current&&c(o.current,e)},[e]),n?h0().createElement("div",{ref:d,"data-extension-id":n?.extensionId,style:{position:"relative"},...r}):null};function h3(e){let t=(0,hQ.useRef)(e);return F(t.current,e)||(t.current=e),t.current}function h6(e,t){"function"==typeof t&&(t=t(e));let r={};for(let[n,o]of Object.entries(t)){let t=function(...t){e.setState(e=>o(e,...t))};r[n]=t}return r}let h5=e=>e;function h9(e,t=h5,r){let n=(0,hQ.useCallback)(t=>e.subscribe(t),[e]),o=(0,hQ.useCallback)(()=>t(e.getState()),[e,t]),i=(0,hQ.useSyncExternalStore)(n,o,o),a=(0,hQ.useMemo)(()=>r?h6(e,r):null,[e,r]);return(0,hQ.useMemo)(()=>a?{...i,...a}:i,[i,a])}function h7(e,t){return h9(e,h5,t)}function h8(e){return function(t){let r=(0,hQ.useCallback)(t=>e.subscribe(t),[]),n=(0,hQ.useCallback)(()=>e.getState(),[]),o=(0,hQ.useSyncExternalStore)(r,n,n),i=(0,hQ.useMemo)(()=>t?h6(e,t):null,[t]);return(0,hQ.useMemo)(()=>i?{...o,...i}:o,[o,i])}}let me=[];Object.freeze(me);let mt={candidateExtensions:me};Object.freeze(mt);let mr=e=>{let t=(0,hQ.useCallback)(t=>t.slots?.[e]??mt,[e]);return h9(f0(),t)},mn=e=>e.session;function mo(e,t){let{candidateExtensions:r}=mr(e),n=h9(aM,mn),o=h3(t);return(0,hQ.useMemo)(()=>h_(e,o),[e,o,n,r])}function mi(e,t){let{moduleName:r}=(0,hQ.useContext)(h1);if(!r)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,hQ.useEffect)(()=>{hE(r,e)},[r,e]),{extensions:mo(e,t),extensionSlotName:e,extensionSlotModuleName:r}}function ma(e){return e}function ms({name:e,extensionSlotName:t,select:r=ma,children:n,state:o,style:i,...a}){if(n&&o)throw Error("Both children and state have been provided. If children are provided, the state must be passed as a prop to the `Extension` component.");let s=e??t,l=(0,hQ.useRef)(null),{extensions:u,extensionSlotModuleName:c}=mi(s,o),d=(0,hQ.useMemo)(()=>r(u),[r,u]),p=(0,hQ.useMemo)(()=>{if("function"==typeof n&&!h0().isValidElement(n))return d.map(e=>n(e,o))},[n,d]);return h0().createElement("div",{ref:l,"data-extension-slot-name":s,"data-extension-slot-module-name":c,style:{...i,position:"relative"},...a},s&&d?.map((e,t)=>h0().createElement(h1.Provider,{key:e.id,value:{moduleName:c,featureName:"",extension:{extensionId:e.id,extensionSlotName:s,extensionSlotModuleName:c}}},p?.[t]??("function"!=typeof n?n:null)??h0().createElement(h4,{state:o}))))}var ml=r(5873);function mu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function mc(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?mu(Object(r),!0).forEach(function(t){var n,o,i;n=e,o=t,i=r[t],o in n?Object.defineProperty(n,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[o]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mu(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function md(e){return(md="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function mp(e){return(mp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function mf(e,t){var r;if("function"!=typeof(r=t.domElement?function(){return t.domElement}:t.domElementGetter?t.domElementGetter:e.domElementGetter?e.domElementGetter:function(e){var t=e.appName||e.name;if(!t)throw Error("single-spa's dom-element-getter-helpers was not given an application name as a prop, so it can't make a unique dom element container for the react application");var r="single-spa-application:".concat(t);return function(){var e=document.getElementById(r);return e||((e=document.createElement("div")).id=r,document.body.appendChild(e)),e}}(t)))throw Error("single-spa's dom-element-getter-helpers was given an invalid domElementGetter for application or parcel '".concat(t.name,"'. Expected a function, received ").concat(mp(r)));return function(){var e=r(t);if(!(e instanceof HTMLElement))throw Error("single-spa's dom-element-getter-helpers: domElementGetter returned an invalid dom element for application or parcel '".concat(t.name,"'. Expected HTMLElement, received ").concat(mp(e)));return e}}var mh=null;try{mh=require("react").createContext()}catch(e){}var mm={React:null,ReactDOM:null,ReactDOMClient:null,rootComponent:null,loadRootComponent:null,errorBoundary:null,errorBoundaryClass:null,domElementGetter:null,parcelCanUpdate:!0,suppressComponentDidCatchWarning:!1,domElements:{},renderResults:{},updateResolves:{},unmountResolves:{}};function my(e,t){return e.rootComponent?Promise.resolve():e.loadRootComponent(t).then(function(t){e.rootComponent=t})}function mg(e,t){return new Promise(function(r,n){e.suppressComponentDidCatchWarning||!function(e){if(!(e&&"string"==typeof e.version&&e.version.indexOf(".")>=0))return!1;var t=e.version.slice(0,e.version.indexOf("."));try{return Number(t)>=16}catch(e){return!1}}(e.React)||e.errorBoundary||e.errorBoundaryClass||(e.rootComponent.prototype?e.rootComponent.prototype.componentDidCatch||console.warn("single-spa-react: ".concat(t.name||t.appName||t.childAppName,"'s rootComponent should implement componentDidCatch to avoid accidentally unmounting the entire single-spa application.")):console.warn("single-spa-react: ".concat(t.name||t.appName||t.childAppName,"'s rootComponent does not implement an error boundary. If using a functional component, consider providing an opts.errorBoundary to singleSpaReact(opts).")));var o,i=m_(e,t,function(){r(this)}),a=mf(e,t)(),s=function(e){var t=e.reactDom,r=e.renderType,n=e.elementToRender,o=e.domElement,i=t[r];if("function"!=typeof i)throw Error('renderType "'.concat(r,'" did not return a function.'));switch(r){case"createRoot":case"unstable_createRoot":case"createBlockingRoot":case"unstable_createBlockingRoot":var a=i(o);return a.render(n),a;case"hydrateRoot":return i(o,n);default:return i(n,o),null}}({elementToRender:i,domElement:a,reactDom:mw(e),renderType:"function"==typeof(o=e).renderType?o.renderType():o.renderType});e.domElements[t.name]=a,e.renderResults[t.name]=s})}function mb(e,t){return new Promise(function(r){e.unmountResolves[t.name]=r;var n=e.renderResults[t.name];n&&n.unmount?n.unmount():mw(e).unmountComponentAtNode(e.domElements[t.name]),delete e.domElements[t.name],delete e.renderResults[t.name]})}function mv(e,t){return new Promise(function(r){e.updateResolves[t.name]||(e.updateResolves[t.name]=[]),e.updateResolves[t.name].push(r);var n=m_(e,t,null),o=e.renderResults[t.name];if(o&&o.render)o.render(n);else{var i=mf(e,t)();mw(e).render(n,i)}})}function mw(e){return e.ReactDOMClient||e.ReactDOM}function m_(e,t,r){var n=e.React.createElement(e.rootComponent,t),o=mh?e.React.createElement(mh.Provider,{value:t},n):n;return(e.errorBoundary||t.errorBoundary||e.errorBoundaryClass||t.errorBoundaryClass)&&(e.errorBoundaryClass=e.errorBoundaryClass||t.errorBoundaryClass||function(e,t){function r(t){e.React.Component.apply(this,arguments),this.state={caughtError:null,caughtErrorInfo:null},r.displayName="SingleSpaReactErrorBoundary(".concat(t.name,")")}return r.prototype=Object.create(e.React.Component.prototype),r.prototype.render=function(){return this.state.caughtError?(e.errorBoundary||t.errorBoundary)(this.state.caughtError,this.state.caughtErrorInfo,this.props):this.props.children},r.prototype.componentDidCatch=function(e,t){this.setState({caughtError:e,caughtErrorInfo:t})},r}(e,t),o=e.React.createElement(e.errorBoundaryClass,t,o)),o=e.React.createElement(e.SingleSpaRoot,mc(mc({},t),{},{mountFinished:r,updateFinished:function(){e.updateResolves[t.name]&&(e.updateResolves[t.name].forEach(function(e){return e()}),delete e.updateResolves[t.name])},unmountFinished:function(){e.unmountResolves[t.name]&&(e.unmountResolves[t.name](),delete e.unmountResolves[t.name])}}),o)}var mx=r(5921),mE=r(7364),mS=r.n(mE),mD=r(9106);let mO={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},mP=new Map;(0,mD.initCache)(mP);let mC={errorRetryCount:3,fetcher:aT,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof aN){let t=e.response.status;return!!(t>=500)||401===t||403===t||429===t}return!0},provider:()=>mP};function mk(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},mO,e),r={...mC,...t.swrConfig};return function(e){var n,o,i,a,s;return i=o=class extends(n=h0().Component){componentDidCatch(e,r){r&&r.componentStack&&(e.extra=Object.assign(e.extra||{},{componentStack:r.componentStack})),t.throwErrorsToConsole&&setTimeout(()=>{throw e}),this.setState({caughtError:e,caughtErrorInfo:r})}render(){if(this.state.caughtError)return h0().createElement("div",null,"An error has occurred. Please try reloading the page.");{let n=h0().createElement(hQ.Suspense,{fallback:null},h0().createElement(mE.SWRConfig,{value:r},h0().createElement(h1.Provider,{value:this.state.config},t.disableTranslations?h0().createElement(e,this.props):h0().createElement(mx.I18nextProvider,{i18n:window.i18next,defaultNS:this.state.config.extension?`${this.state.config.moduleName}___${this.state.config.extension.extensionSlotName}___${this.state.config.extension.extensionId}`:this.state.config.moduleName},h0().createElement(e,this.props)))));return t.strictMode&&h0().StrictMode?h0().createElement(h0().StrictMode,null,n):n}}constructor(e){super(e),this.state={caughtError:null,caughtErrorInfo:null,config:{moduleName:t.moduleName,featureName:t.featureName,extension:e._extensionContext}}}},a="displayName",s=`OpenmrsReactComponent(${t.featureName})`,a in i?Object.defineProperty(i,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[a]=s,o}}function mj(e,t){return function(e){if("object"!==md(e))throw Error("single-spa-react requires a configuration object");var t,r=mc(mc({},mm),e);if(!r.React)throw Error("single-spa-react must be passed opts.React");if(!r.ReactDOM&&!r.ReactDOMClient)throw Error("single-spa-react must be passed opts.ReactDOM or opts.ReactDOMClient");if(r.renderType||(null!=(t=r.ReactDOMClient)&&t.createRoot?r.renderType="createRoot":r.renderType="render"),!r.rootComponent&&!r.loadRootComponent)throw Error("single-spa-react must be passed opts.rootComponent or opts.loadRootComponent");if(r.errorBoundary&&"function"!=typeof r.errorBoundary)throw Error("The errorBoundary opt for single-spa-react must either be omitted or be a function that returns React elements");!mh&&r.React.createContext&&(mh=r.React.createContext()),r.SingleSpaRoot=function(e){function t(e){t.displayName="SingleSpaRoot(".concat(e.name,")")}return t.prototype=Object.create(e.React.Component.prototype),t.prototype.componentDidMount=function(){setTimeout(this.props.mountFinished)},t.prototype.componentWillUnmount=function(){setTimeout(this.props.unmountFinished)},t.prototype.render=function(){return setTimeout(this.props.updateFinished),this.props.children},t}(r);var n={bootstrap:my.bind(null,r),mount:mg.bind(null,r),unmount:mb.bind(null,r)};return r.parcelCanUpdate&&(n.update=mv.bind(null,r)),n}({React:h0(),ReactDOMClient:ml,rootComponent:mk(t)(e)})}function mT(e,t){return()=>e().then(({default:e})=>mj(e,t))}function mR(e,t){return()=>Promise.resolve(mj(e,t))}let mN=mT,mM=W()(()=>({}));Z("openmrs-app-context",mM);let mA={};function m$(e,t=e=>e){let r=mM.getState();return e in r?Object.freeze(Object.assign({},t?t(r[e]):r[e])):null}function mI(e,t){mM.setState(r=>(e in r||(r[e]={}),r[e]=t(r[e]),Object.assign({},r)))}function mL(e){return null===e?null:Object.freeze(Object.assign({},e))}let mF=new Map;function mB(e,t){let r=(0,hQ.useRef)(t??{}),n=(0,hQ.useRef)(t=>mI(e,t)),o=(0,hQ.useRef)(Symbol());return(0,hQ.useEffect)(()=>{let r=t??{},n=o.current;return null===m$(e)?!function(e,t=mA){mM.setState(r=>{if(e in r)throw Error(`Attempted to re-register namespace ${e} in the app context. Each namespace must be unregistered before the name can be registered again.`);return Object.assign({},r,{[e]:t===mA?{}:t})})}(e,r):(console.warn(`Namespace ${e} is already registered in the app context. This is likely a race condition during navigation, but may indicate two components are trying to own the same namespace. Updating the existing context.`),mI(e,()=>r)),mF.set(e,n),()=>{mF.get(e)===n&&(mM.setState(t=>(e in t&&delete t[e],t)),mF.delete(e))}},[e]),(0,hQ.useEffect)(()=>{let n=t??{};F(r.current,n)||(mI(e,()=>n),r.current=n)},[t]),n.current}function mV({namespace:e,value:t}){return mB(e,t),null}let mU=({children:e,value:t,fallback:r})=>t?h0().createElement(h0().Fragment,null,e):r?h0().createElement(h0().Fragment,null,r):null;function mW(){let e=(0,hQ.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,hQ.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function mz(e,t=e=>e??{}){let[r,n]=(0,hQ.useState)(()=>{if(mK(e))return;let r=m$(e);if(null!==r)return t?t(r):r});return(0,hQ.useEffect)(()=>{if(mK(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,hQ.useEffect)(()=>{var r;let o;return(r=e=>{if(null==e)return void n(void 0);let r=t?t(e):e;n(e=>F(e,r)?e:r)})(mL(o=m$(e))),mM.subscribe(t=>{let n=e in t?t[e]:null;n!==o&&(o=n,r(mL(n)))})},[e,t]),r}function mK(e){return"string"!=typeof e||0===e.trim().length}function mH(e){let t=mo(e);return(0,hQ.useMemo)(()=>t.map(e=>e.id),[t])}function mG(e){return mr(e).candidateExtensions}function mq(e,t,r){let{data:n,error:o,mutate:i,isLoading:a,isValidating:s}=mS()(e?lb(e,t,r):null,aT);return(0,hQ.useMemo)(()=>({isLoading:a,data:n?.data.results??[],error:o,mutate:i,isValidating:s}),[n,o,a,s,i])}function mY(e){(0,hQ.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let mZ={},mJ=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
|
|
15
|
+
${this.stack}`}}let aM=Y("session",{loaded:!1,session:null}),aA=0;function a$(e={includeAuthStatus:!0}){return(aA<Date.now()-6e4||!aM.getState().loaded)&&aF(),new ek(t=>{let r=r=>{r.loaded&&(e.includeAuthStatus?t.next(r.session):t.next(r.session?.user))};return r(aM.getState()),aM.subscribe(r)})}function aI(){return(aA<Date.now()-6e4||!aM.getState().loaded)&&aF(),aM}function aL(e){let t=e.locale??e.user?.userProperties?.defaultLocale;t&&t.includes("_")&&(t=t.replaceAll("_","-")),function(e){if(void 0===e||"string"!=typeof e)return!1;try{new Intl.Locale(e)}catch(e){return!1}return!0}(t)&&t!==document.documentElement.getAttribute("lang")&&document.documentElement.setAttribute("lang",t)}function aF(e,t){aA=Date.now();let r={};return e&&t&&(r.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`),aH(aT(ak,{headers:r}))}function aB(){aM.setState({loaded:!0,session:{authenticated:!1,sessionId:""}})}function aV(e,t){var r,n;if(void 0===t)return!e;if(!e)return!0;return r=e,n=t,("string"==typeof r?!ee(n.privileges.find(e=>r===e.display)):Array.isArray(r)?r.every(e=>!ee(n.privileges.find(t=>e===t.display))):(ee(r)||console.error(`Could not understand privileges "${r}"`),!0))||!ee(t.roles.find(e=>"System Developer"===e.display))}function aU(){let e,t;return new Promise(r=>{let n=n=>{n.loaded&&n.session.user&&(e=n.session.user,r(n.session.user),t&&t())};n(aM.getState()),e||(t=aM.subscribe(n))})}function aW(){return new Promise((e,t)=>{a$().subscribe(t=>{e(t.sessionLocation)},t).unsubscribe()})}async function az(e,t){return aH(aT(ak,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},signal:t.signal}))}async function aK(e,t,r){return r||(r=new AbortController),await aT(`${aP}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:r.signal}),aF()}function aH(e){return new Promise((t,r)=>{e.then(e=>{let n;"object"==typeof e?.data?(n={loaded:!0,session:e.data},aM.setState(n),t(n)):(n={loaded:!1,session:null},aM.setState(n),r(n))}).catch(e=>{$(`Failed to fetch new session information: ${e}`);let t={loaded:!1,session:null};aM.setState(t),r(t)})})}function aG(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}aM.subscribe(e=>{e.loaded&&e.session&&aL(e.session)});let aq={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function aY(){ou("@openmrs/esm-api",aD),aF()}let aZ={address1:"Address line 1",address2:"Address line 2",address3:"Address line 3",address4:"Address line 4",address5:"Address line 5",address6:"Address line 6",city:"City",cityVillage:"City",country:"Country",countyDistrict:"District",district:"District",postalCode:"Postal code",state:"State",stateProvince:"State",closeAllOpenedWorkspaces:"Discard changes in {{count}} workspaces",closingAllWorkspacesPromptBody:"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",closingAllWorkspacesPromptTitle:"You have unsaved changes",discard:"Discard",hide:"Hide",maximize:"Maximize",minimize:"Minimize",openAnyway:"Open anyway",unsavedChangesInOpenedWorkspace:"You may have unsaved changes in the opened workspace. Do you want to discard these changes?",unsavedChangesInWorkspace:'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',unsavedChangesTitleText:"Unsaved changes",workspaceHeader:"Workspace header",discardUnsavedChangesPromptBodyMultiple:"{{count}} workspaces have unsaved changes. Closing them will discard the changes:",discardUnsavedChangesPromptBodySingle:"<strong>{{workspaceTitle}}</strong> has unsaved changes. Closing it will discard them.",discardUnsavedChangesPromptTitle:"Discard unsaved changes?",keepEditing:"Keep editing",abnormalValue:"Abnormal value",actions:"Actions",actionableNotification:"Actionable notification",address:"Address",age:"Age",batchActionItemSelected:"{{totalSelected}} item selected",batchActionsItemsSelected:"{{totalSelected}} items selected",cancel:"Cancel",change:"Change",Clinic:"Clinic",close:"Close",closesActionableNotification:"Close actionable notification",closeSnackbar:"Close snackbar",confirm:"Confirm",contactAdministratorIfIssuePersists:"Contact your system administrator if the problem persists.",contactDetails:"Contact details",delete:"Delete",discardChanges:"Discard changes",edit:"Edit",emptyStateText:"There are no {{displayText}} to display",error:"Error",errorCopy:"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.",errorLoadingLoginLocations:"Unable to load login locations. Please try again or contact support if the problem persists.",female:"Female",leftNavigation:"Left navigation",loading:"Loading",localVersion:"Local Build",male:"Male",noResultsToDisplay:"No results to display",notAvailable:"Not available",other:"Other",paginationItemsCount:"{{pageItemsCount}} / {{totalItems}} items",paginationOfPages:"of {{count}} pages",patientAvatarAlt:"Avatar for {{patientName}}",patientIdentifierSticker:"Patient identifier sticker",patientLists:"Patient lists",patientPhotoAlt:"Profile photo of {{patientName}}",patientPhotoPlaceholder:"Photo placeholder for {{patientName}}",prereleaseVersion:"Prerelease",print:"Print",printError:"Print error",printErrorExplainer:"An error occurred in {{errorLocation}}",printIdentifierSticker:"Print identifier sticker",printing:"Printing",recordNewEntry:"Record {{displayText}}",relationships:"Relationships",resetOverrides:"Reset overrides",save:"Save",scriptLoadingFailed:"Error: Script failed to load",scriptLoadingError:"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",searchForLocation:"Search for a location",seeAll:"See all",seeMoreLists:"See {{count}} more lists",selectAll:"Select all",sex:"Sex",showLess:"Show less",showMore:"Show more",snackbarNotification:"Snackbar notification",toggleDevTools:"Toggle dev tools",unknown:"Unknown",yearAbbreviation:"yr",yearsAbbreviation:"yrs"},aJ=e=>"string"==typeof e,aX=()=>{let e,t,r=new Promise((r,n)=>{e=r,t=n});return r.resolve=e,r.reject=t,r},aQ=e=>null==e?"":""+e,a0=/###/g,a1=e=>e&&e.indexOf("###")>-1?e.replace(a0,"."):e,a2=e=>!e||aJ(e),a4=(e,t,r)=>{let n=aJ(t)?t.split("."):t,o=0;for(;o<n.length-1;){if(a2(e))return{};let t=a1(n[o]);!e[t]&&r&&(e[t]=new r),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++o}return a2(e)?{}:{obj:e,k:a1(n[o])}},a3=(e,t,r)=>{let{obj:n,k:o}=a4(e,t,Object);if(void 0!==n||1===t.length){n[o]=r;return}let i=t[t.length-1],a=t.slice(0,t.length-1),s=a4(e,a,Object);for(;void 0===s.obj&&a.length;)i=`${a[a.length-1]}.${i}`,s=a4(e,a=a.slice(0,a.length-1),Object),s?.obj&&void 0!==s.obj[`${s.k}.${i}`]&&(s.obj=void 0);s.obj[`${s.k}.${i}`]=r},a6=(e,t)=>{let{obj:r,k:n}=a4(e,t);if(r&&Object.prototype.hasOwnProperty.call(r,n))return r[n]},a5=(e,t,r)=>{for(let n in t)"__proto__"!==n&&"constructor"!==n&&(n in e?aJ(e[n])||e[n]instanceof String||aJ(t[n])||t[n]instanceof String?r&&(e[n]=t[n]):a5(e[n],t[n],r):e[n]=t[n]);return e};var a9={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};let a7=e=>aJ(e)?e.replace(/[&<>"'\/]/g,e=>a9[e]):e,a8=[" ",",","?","!",";"],se=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){let t=this.regExpMap.get(e);if(void 0!==t)return t;let r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}(20),st=(e,t,r=".")=>{if(!e)return;if(e[t]){if(!Object.prototype.hasOwnProperty.call(e,t))return;return e[t]}let n=t.split(r),o=e;for(let e=0;e<n.length;){let t;if(!o||"object"!=typeof o)return;let i="";for(let a=e;a<n.length;++a)if(a!==e&&(i+=r),i+=n[a],void 0!==(t=o[i])){if(["string","number","boolean"].indexOf(typeof t)>-1&&a<n.length-1)continue;e+=a-e+1;break}o=t}return o},sr=e=>e?.replace("_","-"),sn={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}};class so{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||sn,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,r,n){return n&&!this.debug?null:(aJ(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new so(this.logger,{...{prefix:`${this.prefix}:${e}:`},...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new so(this.logger,e)}}var si=new so;class sa{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(e=>{this.observers[e]||(this.observers[e]=new Map);let r=this.observers[e].get(t)||0;this.observers[e].set(t,r+1)}),this}off(e,t){if(this.observers[e]){if(!t)return void delete this.observers[e];this.observers[e].delete(t)}}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([e,r])=>{for(let n=0;n<r;n++)e(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([r,n])=>{for(let o=0;o<n;o++)r.apply(r,[e,...t])})}}class ss extends sa{constructor(e,t={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}removeNamespaces(e){let t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,r,n={}){let o,i=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,a=void 0!==n.ignoreJSONStructure?n.ignoreJSONStructure:this.options.ignoreJSONStructure;e.indexOf(".")>-1?o=e.split("."):(o=[e,t],r&&(Array.isArray(r)?o.push(...r):aJ(r)&&i?o.push(...r.split(i)):o.push(r)));let s=a6(this.data,o);return(!s&&!t&&!r&&e.indexOf(".")>-1&&(e=o[0],t=o[1],r=o.slice(2).join(".")),!s&&a&&aJ(r))?st(this.data?.[e]?.[t],r,i):s}addResource(e,t,r,n,o={silent:!1}){let i=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,a=[e,t];r&&(a=a.concat(i?r.split(i):r)),e.indexOf(".")>-1&&(a=e.split("."),n=t,t=a[1]),this.addNamespaces(t),a3(this.data,a,n),o.silent||this.emit("added",e,t,r,n)}addResources(e,t,r,n={silent:!1}){for(let n in r)(aJ(r[n])||Array.isArray(r[n]))&&this.addResource(e,t,n,r[n],{silent:!0});n.silent||this.emit("added",e,t,r)}addResourceBundle(e,t,r,n,o,i={silent:!1,skipCopy:!1}){let a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),n=r,r=t,t=a[1]),this.addNamespaces(t);let s=a6(this.data,a)||{};i.skipCopy||(r=JSON.parse(JSON.stringify(r))),n?a5(s,r,o):s={...s,...r},a3(this.data,a,s),i.silent||this.emit("added",e,t,r)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){let t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&Object.keys(t[e]).length>0)}toJSON(){return this.data}}var sl={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,r,n,o){return e.forEach(e=>{t=this.processors[e]?.process(t,r,n,o)??t}),t}};let su=Symbol("i18next/PATH_KEY");function sc(e,t){let r,n,o,{[su]:i}=e((n=[],(o=Object.create(null)).get=(e,t)=>(r?.revoke?.(),t===su)?n:(n.push(t),(r=Proxy.revocable(e,o)).proxy),Proxy.revocable(Object.create(null),o).proxy));return i.join(t?.keySeparator??".")}let sd={},sp=e=>!aJ(e)&&"boolean"!=typeof e&&"number"!=typeof e;class sf extends sa{constructor(e,t={}){super(),((e,t,r)=>{e.forEach(e=>{t[e]&&(r[e]=t[e])})})(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=si.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){let r={...t};if(null==e)return!1;let n=this.resolve(e,r);if(n?.res===void 0)return!1;let o=sp(n.res);return!1!==r.returnObjects||!o}extractFromKey(e,t){let r=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===r&&(r=":");let n=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,o=t.ns||this.options.defaultNS||[],i=r&&e.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!((e,t,r)=>{t=t||"",r=r||"";let n=a8.filter(e=>0>t.indexOf(e)&&0>r.indexOf(e));if(0===n.length)return!0;let o=se.getRegExp(`(${n.map(e=>"?"===e?"\\?":e).join("|")})`),i=!o.test(e);if(!i){let t=e.indexOf(r);t>0&&!o.test(e.substring(0,t))&&(i=!0)}return i})(e,r,n);if(i&&!a){let t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:aJ(o)?[o]:o};let i=e.split(r);(r!==n||r===n&&this.options.ns.indexOf(i[0])>-1)&&(o=i.shift()),e=i.join(n)}return{key:e,namespaces:aJ(o)?[o]:o}}translate(e,t,r){let n="object"==typeof t?{...t}:t;if("object"!=typeof n&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof n&&(n={...n}),n||(n={}),null==e)return"";"function"==typeof e&&(e=sc(e,{...this.options,...n})),Array.isArray(e)||(e=[String(e)]);let o=void 0!==n.returnDetails?n.returnDetails:this.options.returnDetails,i=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,{key:a,namespaces:s}=this.extractFromKey(e[e.length-1],n),l=s[s.length-1],u=void 0!==n.nsSeparator?n.nsSeparator:this.options.nsSeparator;void 0===u&&(u=":");let c=n.lng||this.language,d=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(c?.toLowerCase()==="cimode")return d?o?{res:`${l}${u}${a}`,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${u}${a}`:o?{res:a,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:a;let p=this.resolve(e,n),f=p?.res,h=p?.usedKey||a,m=p?.exactUsedKey||a,y=void 0!==n.joinArrays?n.joinArrays:this.options.joinArrays,g=!this.i18nFormat||this.i18nFormat.handleAsObject,b=void 0!==n.count&&!aJ(n.count),v=sf.hasDefaultValue(n),w=b?this.pluralResolver.getSuffix(c,n.count,n):"",x=n.ordinal&&b?this.pluralResolver.getSuffix(c,n.count,{ordinal:!1}):"",E=b&&!n.ordinal&&0===n.count,S=E&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${w}`]||n[`defaultValue${x}`]||n.defaultValue,D=f;g&&!f&&v&&(D=S);let O=sp(D),P=Object.prototype.toString.apply(D);if(g&&D&&O&&0>["[object Number]","[object Function]","[object RegExp]"].indexOf(P)&&!(aJ(y)&&Array.isArray(D))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");let e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,D,{...n,ns:s}):`key '${a} (${this.language})' returned an object instead of string.`;return o?(p.res=e,p.usedParams=this.getUsedParamsDetails(n),p):e}if(i){let e=Array.isArray(D),t=e?[]:{},r=e?m:h;for(let e in D)if(Object.prototype.hasOwnProperty.call(D,e)){let o=`${r}${i}${e}`;v&&!f?t[e]=this.translate(o,{...n,defaultValue:sp(S)?S[e]:void 0,...{joinArrays:!1,ns:s}}):t[e]=this.translate(o,{...n,joinArrays:!1,ns:s}),t[e]===o&&(t[e]=D[e])}f=t}}else if(g&&aJ(y)&&Array.isArray(f))(f=f.join(y))&&(f=this.extendTranslation(f,e,n,r));else{let t=!1,o=!1;!this.isValidLookup(f)&&v&&(t=!0,f=S),this.isValidLookup(f)||(o=!0,f=a);let s=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&o?void 0:f,d=v&&S!==f&&this.options.updateMissing;if(o||t||d){if(this.logger.log(d?"updateKey":"missingKey",c,l,a,d?S:f),i){let e=this.resolve(a,{...n,keySeparator:!1});e&&e.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=[],t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if("fallback"===this.options.saveMissingTo&&t&&t[0])for(let r=0;r<t.length;r++)e.push(t[r]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(n.lng||this.language):e.push(n.lng||this.language);let r=(e,t,r)=>{let o=v&&r!==f?r:s;this.options.missingKeyHandler?this.options.missingKeyHandler(e,l,t,o,d,n):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,l,t,o,d,n),this.emit("missingKey",e,l,t,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&b?e.forEach(e=>{let t=this.pluralResolver.getSuffixes(e,n);E&&n[`defaultValue${this.options.pluralSeparator}zero`]&&0>t.indexOf(`${this.options.pluralSeparator}zero`)&&t.push(`${this.options.pluralSeparator}zero`),t.forEach(t=>{r([e],a+t,n[`defaultValue${t}`]||S)})}):r(e,a,S))}f=this.extendTranslation(f,e,n,p,r),o&&f===a&&this.options.appendNamespaceToMissingKey&&(f=`${l}${u}${a}`),(o||t)&&this.options.parseMissingKeyHandler&&(f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${u}${a}`:a,t?f:void 0,n))}return o?(p.res=f,p.usedParams=this.getUsedParamsDetails(n),p):f}extendTranslation(e,t,r,n,o){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||n.usedLng,n.usedNS,n.usedKey,{resolved:n});else if(!r.skipInterpolation){let i;r.interpolation&&this.interpolator.init({...r,...{interpolation:{...this.options.interpolation,...r.interpolation}}});let a=aJ(e)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);if(a){let t=e.match(this.interpolator.nestingRegexp);i=t&&t.length}let s=r.replace&&!aJ(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(s={...this.options.interpolation.defaultVariables,...s}),e=this.interpolator.interpolate(e,s,r.lng||this.language||n.usedLng,r),a){let t=e.match(this.interpolator.nestingRegexp);i<(t&&t.length)&&(r.nest=!1)}!r.lng&&n&&n.res&&(r.lng=this.language||n.usedLng),!1!==r.nest&&(e=this.interpolator.nest(e,(...e)=>o?.[0]!==e[0]||r.context?this.translate(...e,t):(this.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${t[0]}`),null),r)),r.interpolation&&this.interpolator.reset()}let i=r.postProcess||this.options.postProcess,a=aJ(i)?[i]:i;return null!=e&&a?.length&&!1!==r.applyPostProcessor&&(e=sl.handle(a,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...n,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e,t={}){let r,n,o,i,a;return aJ(e)&&(e=[e]),e.forEach(e=>{if(this.isValidLookup(r))return;let s=this.extractFromKey(e,t),l=s.key;n=l;let u=s.namespaces;this.options.fallbackNS&&(u=u.concat(this.options.fallbackNS));let c=void 0!==t.count&&!aJ(t.count),d=c&&!t.ordinal&&0===t.count,p=void 0!==t.context&&(aJ(t.context)||"number"==typeof t.context)&&""!==t.context,f=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);u.forEach(e=>{this.isValidLookup(r)||(a=e,!sd[`${f[0]}-${e}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(a)&&(sd[`${f[0]}-${e}`]=!0,this.logger.warn(`key "${n}" for languages "${f.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!!!")),f.forEach(n=>{let a;if(this.isValidLookup(r))return;i=n;let s=[l];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(s,l,n,e,t);else{let e;c&&(e=this.pluralResolver.getSuffix(n,t.count,t));let r=`${this.options.pluralSeparator}zero`,o=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(c&&(t.ordinal&&0===e.indexOf(o)&&s.push(l+e.replace(o,this.options.pluralSeparator)),s.push(l+e),d&&s.push(l+r)),p){let n=`${l}${this.options.contextSeparator||"_"}${t.context}`;s.push(n),c&&(t.ordinal&&0===e.indexOf(o)&&s.push(n+e.replace(o,this.options.pluralSeparator)),s.push(n+e),d&&s.push(n+r))}}for(;a=s.pop();)this.isValidLookup(r)||(o=a,r=this.getResource(n,e,a,t))}))})}),{res:r,usedKey:n,exactUsedKey:o,usedLng:i,usedNS:a}}isValidLookup(e){return void 0!==e&&!(!this.options.returnNull&&null===e)&&!(!this.options.returnEmptyString&&""===e)}getResource(e,t,r,n={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,r,n):this.resourceStore.getResource(e,t,r,n)}getUsedParamsDetails(e={}){let t=e.replace&&!aJ(e.replace),r=t?e.replace:e;if(t&&void 0!==e.count&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!t)for(let e of(r={...r},["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"]))delete r[e];return r}static hasDefaultValue(e){let t="defaultValue";for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t===r.substring(0,t.length)&&void 0!==e[r])return!0;return!1}}class sh{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=si.create("languageUtils")}getScriptPartFromCode(e){if(!(e=sr(e))||0>e.indexOf("-"))return null;let t=e.split("-");return 2===t.length||(t.pop(),"x"===t[t.length-1].toLowerCase())?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(!(e=sr(e))||0>e.indexOf("-"))return e;let t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(aJ(e)&&e.indexOf("-")>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch(e){}return(t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t)?t:this.options.lowerCaseLng?e.toLowerCase():e}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){let t;return e?(e.forEach(e=>{if(t)return;let r=this.formatLanguageCode(e);(!this.options.supportedLngs||this.isSupportedCode(r))&&(t=r)}),!t&&this.options.supportedLngs&&e.forEach(e=>{if(t)return;let r=this.getScriptPartFromCode(e);if(this.isSupportedCode(r))return t=r;let n=this.getLanguagePartFromCode(e);if(this.isSupportedCode(n))return t=n;t=this.options.supportedLngs.find(e=>{if(e===n||!(0>e.indexOf("-")&&0>n.indexOf("-"))&&(e.indexOf("-")>0&&0>n.indexOf("-")&&e.substring(0,e.indexOf("-"))===n||0===e.indexOf(n)&&n.length>1))return e})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),aJ(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let r=e[t];return r||(r=e[this.getScriptPartFromCode(t)]),r||(r=e[this.formatLanguageCode(t)]),r||(r=e[this.getLanguagePartFromCode(t)]),r||(r=e.default),r||[]}toResolveHierarchy(e,t){let r=this.getFallbackCodes((!1===t?[]:t)||this.options.fallbackLng||[],e),n=[],o=e=>{e&&(this.isSupportedCode(e)?n.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return aJ(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&o(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&o(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&o(this.getLanguagePartFromCode(e))):aJ(e)&&o(this.formatLanguageCode(e)),r.forEach(e=>{0>n.indexOf(e)&&o(this.formatLanguageCode(e))}),n}}let sm={zero:0,one:1,two:2,few:3,many:4,other:5},sy={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class sg{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=si.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let r,n=sr("dev"===e?"en":e),o=t.ordinal?"ordinal":"cardinal",i=JSON.stringify({cleanedCode:n,type:o});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];try{r=new Intl.PluralRules(n,{type:o})}catch(o){if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),sy;if(!e.match(/-|_/))return sy;let n=this.languageUtils.getLanguagePartFromCode(e);r=this.getRule(n,t)}return this.pluralRulesCache[i]=r,r}needsPlural(e,t={}){let r=this.getRule(e,t);return r||(r=this.getRule("dev",t)),r?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,r={}){return this.getSuffixes(e,r).map(e=>`${t}${e}`)}getSuffixes(e,t={}){let r=this.getRule(e,t);return(r||(r=this.getRule("dev",t)),r)?r.resolvedOptions().pluralCategories.sort((e,t)=>sm[e]-sm[t]).map(e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`):[]}getSuffix(e,t,r={}){let n=this.getRule(e,r);return n?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${n.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,r))}}let sb=(e,t,r,n=".",o=!0)=>{let i,a=void 0!==(i=a6(e,r))?i:a6(t,r);return!a&&o&&aJ(r)&&void 0===(a=st(e,r,n))&&(a=st(t,r,n)),a};class sv{constructor(e={}){this.logger=si.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});let{escape:t,escapeValue:r,useRawValueToEscape:n,prefix:o,prefixEscaped:i,suffix:a,suffixEscaped:s,formatSeparator:l,unescapeSuffix:u,unescapePrefix:c,nestingPrefix:d,nestingPrefixEscaped:p,nestingSuffix:f,nestingSuffixEscaped:h,nestingOptionsSeparator:m,maxReplaces:y,alwaysFormat:g}=e.interpolation;this.escape=void 0!==t?t:a7,this.escapeValue=void 0===r||r,this.useRawValueToEscape=void 0!==n&&n,this.prefix=o?o.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):i||"{{",this.suffix=a?a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):s||"}}",this.formatSeparator=l||",",this.unescapePrefix=u?"":c||"-",this.unescapeSuffix=this.unescapePrefix?"":u||"",this.nestingPrefix=d?d.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):p||"$t(".replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),this.nestingSuffix=f?f.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):h||")".replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),this.nestingOptionsSeparator=m||",",this.maxReplaces=y||1e3,this.alwaysFormat=void 0!==g&&g,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){let e=(e,t)=>e?.source===t?(e.lastIndex=0,e):RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,r,n){let o,i,a,s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=e=>{if(0>e.indexOf(this.formatSeparator)){let o=sb(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(o,void 0,r,{...n,...t,interpolationkey:e}):o}let o=e.split(this.formatSeparator),i=o.shift().trim(),a=o.join(this.formatSeparator).trim();return this.format(sb(t,s,i,this.options.keySeparator,this.options.ignoreJSONStructure),a,r,{...n,...t,interpolationkey:i})};this.resetRegExp();let u=n?.missingInterpolationHandler||this.options.missingInterpolationHandler,c=n?.interpolation?.skipOnVariables!==void 0?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>e.replace(/\$/g,"$$$$")},{regex:this.regexp,safeValue:e=>this.escapeValue?this.escape(e).replace(/\$/g,"$$$$"):e.replace(/\$/g,"$$$$")}].forEach(t=>{for(a=0;o=t.regex.exec(e);){let r=o[1].trim();if(void 0===(i=l(r)))if("function"==typeof u){let t=u(e,o,n);i=aJ(t)?t:""}else if(n&&Object.prototype.hasOwnProperty.call(n,r))i="";else if(c){i=o[0];continue}else this.logger.warn(`missed to pass in variable ${r} for interpolating ${e}`),i="";else aJ(i)||this.useRawValueToEscape||(i=aQ(i));let s=t.safeValue(i);if(e=e.replace(o[0],s),c?(t.regex.lastIndex+=i.length,t.regex.lastIndex-=o[0].length):t.regex.lastIndex=0,++a>=this.maxReplaces)break}}),e}nest(e,t,r={}){let n,o,i,a=(e,t)=>{let r=this.nestingOptionsSeparator;if(0>e.indexOf(r))return e;let n=e.split(RegExp(`${r}[ ]*{`)),o=`{${n[1]}`;e=n[0];let a=(o=this.interpolate(o,i)).match(/'/g),s=o.match(/"/g);((a?.length??0)%2!=0||s)&&s.length%2==0||(o=o.replace(/'/g,'"'));try{i=JSON.parse(o),t&&(i={...t,...i})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${r}${o}`}return i.defaultValue&&i.defaultValue.indexOf(this.prefix)>-1&&delete i.defaultValue,e};for(;n=this.nestingRegexp.exec(e);){let s=[];(i=(i={...r}).replace&&!aJ(i.replace)?i.replace:i).applyPostProcessor=!1,delete i.defaultValue;let l=/{.*}/.test(n[1])?n[1].lastIndexOf("}")+1:n[1].indexOf(this.formatSeparator);if(-1!==l&&(s=n[1].slice(l).split(this.formatSeparator).map(e=>e.trim()).filter(Boolean),n[1]=n[1].slice(0,l)),(o=t(a.call(this,n[1].trim(),i),i))&&n[0]===e&&!aJ(o))return o;aJ(o)||(o=aQ(o)),o||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${e}`),o=""),s.length&&(o=s.reduce((e,t)=>this.format(e,t,r.lng,{...r,interpolationkey:n[1].trim()}),o.trim())),e=e.replace(n[0],o),this.regexp.lastIndex=0}return e}}let sw=e=>{let t={};return(r,n,o)=>{let i=o;o&&o.interpolationkey&&o.formatParams&&o.formatParams[o.interpolationkey]&&o[o.interpolationkey]&&(i={...i,[o.interpolationkey]:void 0});let a=n+JSON.stringify(i),s=t[a];return s||(s=e(sr(n),o),t[a]=s),s(r)}},s_=e=>(t,r,n)=>e(sr(r),n)(t);class sx{constructor(e={}){this.logger=si.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";let r=t.cacheInBuiltFormats?sw:s_;this.formats={number:r((e,t)=>{let r=new Intl.NumberFormat(e,{...t});return e=>r.format(e)}),currency:r((e,t)=>{let r=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>r.format(e)}),datetime:r((e,t)=>{let r=new Intl.DateTimeFormat(e,{...t});return e=>r.format(e)}),relativetime:r((e,t)=>{let r=new Intl.RelativeTimeFormat(e,{...t});return e=>r.format(e,t.range||"day")}),list:r((e,t)=>{let r=new Intl.ListFormat(e,{...t});return e=>r.format(e)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=sw(t)}format(e,t,r,n={}){let o=t.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&0>o[0].indexOf(")")&&o.find(e=>e.indexOf(")")>-1)){let e=o.findIndex(e=>e.indexOf(")")>-1);o[0]=[o[0],...o.splice(1,e)].join(this.formatSeparator)}return o.reduce((e,t)=>{let{formatName:o,formatOptions:i}=(e=>{let t=e.toLowerCase().trim(),r={};if(e.indexOf("(")>-1){let n=e.split("(");t=n[0].toLowerCase().trim();let o=n[1].substring(0,n[1].length-1);"currency"===t&&0>o.indexOf(":")?r.currency||(r.currency=o.trim()):"relativetime"===t&&0>o.indexOf(":")?r.range||(r.range=o.trim()):o.split(";").forEach(e=>{if(e){let[t,...n]=e.split(":"),o=n.join(":").trim().replace(/^'+|'+$/g,""),i=t.trim();r[i]||(r[i]=o),"false"===o&&(r[i]=!1),"true"===o&&(r[i]=!0),isNaN(o)||(r[i]=parseInt(o,10))}})}return{formatName:t,formatOptions:r}})(t);if(this.formats[o]){let t=e;try{let a=n?.formatParams?.[n.interpolationkey]||{},s=a.locale||a.lng||n.locale||n.lng||r;t=this.formats[o](e,s,{...i,...n,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${o}`),e},e)}}class sE extends sa{constructor(e,t,r,n={}){super(),this.backend=e,this.store=t,this.services=r,this.languageUtils=r.languageUtils,this.options=n,this.logger=si.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=n.maxParallelReads||10,this.readingCalls=0,this.maxRetries=n.maxRetries>=0?n.maxRetries:5,this.retryTimeout=n.retryTimeout>=1?n.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(r,n.backend,n)}queueLoad(e,t,r,n){let o={},i={},a={},s={};return e.forEach(e=>{let n=!0;t.forEach(t=>{let a=`${e}|${t}`;!r.reload&&this.store.hasResourceBundle(e,t)?this.state[a]=2:this.state[a]<0||(1===this.state[a]?void 0===i[a]&&(i[a]=!0):(this.state[a]=1,n=!1,void 0===i[a]&&(i[a]=!0),void 0===o[a]&&(o[a]=!0),void 0===s[t]&&(s[t]=!0)))}),n||(a[e]=!0)}),(Object.keys(o).length||Object.keys(i).length)&&this.queue.push({pending:i,pendingCount:Object.keys(i).length,loaded:{},errors:[],callback:n}),{toLoad:Object.keys(o),pending:Object.keys(i),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(s)}}loaded(e,t,r){let n=e.split("|"),o=n[0],i=n[1];t&&this.emit("failedLoading",o,i,t),!t&&r&&this.store.addResourceBundle(o,i,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&r&&(this.state[e]=0);let a={};this.queue.forEach(r=>{((e,t,r,n)=>{let{obj:o,k:i}=a4(e,t,Object);o[i]=o[i]||[],o[i].push(r)})(r.loaded,[o],i),void 0!==r.pending[e]&&(delete r.pending[e],r.pendingCount--),t&&r.errors.push(t),0!==r.pendingCount||r.done||(Object.keys(r.loaded).forEach(e=>{a[e]||(a[e]={});let t=r.loaded[e];t.length&&t.forEach(t=>{void 0===a[e][t]&&(a[e][t]=!0)})}),r.done=!0,r.errors.length?r.callback(r.errors):r.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(e=>!e.done)}read(e,t,r,n=0,o=this.retryTimeout,i){if(!e.length)return i(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:r,tried:n,wait:o,callback:i});this.readingCalls++;let a=(a,s)=>{if(this.readingCalls--,this.waitingReads.length>0){let e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}a&&s&&n<this.maxRetries?setTimeout(()=>{this.read.call(this,e,t,r,n+1,2*o,i)},o):i(a,s)},s=this.backend[r].bind(this.backend);if(2===s.length){try{let r=s(e,t);r&&"function"==typeof r.then?r.then(e=>a(null,e)).catch(a):a(null,r)}catch(e){a(e)}return}return s(e,t,a)}prepareLoading(e,t,r={},n){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),n&&n();aJ(e)&&(e=this.languageUtils.toResolveHierarchy(e)),aJ(t)&&(t=[t]);let o=this.queueLoad(e,t,r,n);if(!o.toLoad.length)return o.pending.length||n(),null;o.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,r){this.prepareLoading(e,t,{},r)}reload(e,t,r){this.prepareLoading(e,t,{reload:!0},r)}loadOne(e,t=""){let r=e.split("|"),n=r[0],o=r[1];this.read(n,o,"read",void 0,void 0,(r,i)=>{r&&this.logger.warn(`${t}loading namespace ${o} for language ${n} failed`,r),!r&&i&&this.logger.log(`${t}loaded namespace ${o} for language ${n}`,i),this.loaded(e,r,i)})}saveMissing(e,t,r,n,o,i={},a=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t))return void this.logger.warn(`did not save key "${r}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");if(null!=r&&""!==r){if(this.backend?.create){let s={...i,isUpdate:o},l=this.backend.create.bind(this.backend);if(l.length<6)try{let o;(o=5===l.length?l(e,t,r,n,s):l(e,t,r,n))&&"function"==typeof o.then?o.then(e=>a(null,e)).catch(a):a(null,o)}catch(e){a(e)}else l(e,t,r,n,a,s)}e&&e[0]&&this.store.addResource(e[0],t,r,n)}}}let sS=()=>({debug:!1,initAsync:!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:e=>{let t={};if("object"==typeof e[1]&&(t=e[1]),aJ(e[1])&&(t.defaultValue=e[1]),aJ(e[2])&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){let r=e[3]||e[2];Object.keys(r).forEach(e=>{t[e]=r[e]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),sD=e=>(aJ(e.ns)&&(e.ns=[e.ns]),aJ(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),aJ(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),"boolean"==typeof e.initImmediate&&(e.initAsync=e.initImmediate),e),sO=()=>{};class sP extends sa{constructor(e={},t){if(super(),this.options=sD(e),this.services={},this.logger=si,this.modules={external:[]},(e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(t=>{"function"==typeof e[t]&&(e[t]=e[t].bind(e))})})(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,"function"==typeof e&&(t=e,e={}),null==e.defaultNS&&e.ns&&(aJ(e.ns)?e.defaultNS=e.ns:0>e.ns.indexOf("translation")&&(e.defaultNS=e.ns[0]));let r=sS();this.options={...r,...this.options,...sD(e)},this.options.interpolation={...r.interpolation,...this.options.interpolation},void 0!==e.keySeparator&&(this.options.userDefinedKeySeparator=e.keySeparator),void 0!==e.nsSeparator&&(this.options.userDefinedNsSeparator=e.nsSeparator);let n=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let e;this.modules.logger?si.init(n(this.modules.logger),this.options):si.init(null,this.options),e=this.modules.formatter?this.modules.formatter:sx;let t=new sh(this.options);this.store=new ss(this.options.resources,this.options);let o=this.services;o.logger=si,o.resourceStore=this.store,o.languageUtils=t,o.pluralResolver=new sg(t,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),e&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(o.formatter=n(e),o.formatter.init&&o.formatter.init(o,this.options),this.options.interpolation.format=o.formatter.format.bind(o.formatter)),o.interpolator=new sv(this.options),o.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},o.backendConnector=new sE(n(this.modules.backend),o.resourceStore,o,this.options),o.backendConnector.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.languageDetector&&(o.languageDetector=n(this.modules.languageDetector),o.languageDetector.init&&o.languageDetector.init(o,this.options.detection,this.options)),this.modules.i18nFormat&&(o.i18nFormat=n(this.modules.i18nFormat),o.i18nFormat.init&&o.i18nFormat.init(this)),this.translator=new sf(this.services,this.options),this.translator.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.external.forEach(e=>{e.init&&e.init(this)})}if(this.format=this.options.interpolation.format,t||(t=sO),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[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(e=>{this[e]=(...t)=>this.store[e](...t)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(e=>{this[e]=(...t)=>(this.store[e](...t),this)});let o=aX(),i=()=>{let e=(e,r)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),o.resolve(r),t(e,r)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?i():setTimeout(i,0),o}loadResources(e,t=sO){let r=t,n=aJ(e)?e:this.language;if("function"==typeof e&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if(n?.toLowerCase()==="cimode"&&(!this.options.preload||0===this.options.preload.length))return r();let e=[],t=t=>{t&&"cimode"!==t&&this.services.languageUtils.toResolveHierarchy(t).forEach(t=>{"cimode"!==t&&0>e.indexOf(t)&&e.push(t)})};n?t(n):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>t(e)),this.options.preload?.forEach?.(e=>t(e)),this.services.backendConnector.load(e,this.options.ns,e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),r(e)})}else r(null)}reloadResources(e,t,r){let n=aX();return"function"==typeof e&&(r=e,e=void 0),"function"==typeof t&&(r=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),r||(r=sO),this.services.backendConnector.reload(e,t,e=>{n.resolve(),r(e)}),n}use(e){if(!e)throw Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&sl.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1)){for(let e=0;e<this.languages.length;e++){let t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&0>this.languages.indexOf(e)&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;let r=aX();this.emit("languageChanging",e);let n=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},o=(o,i)=>{i?this.isLanguageChangingTo===e&&(n(i),this.translator.changeLanguage(i),this.isLanguageChangingTo=void 0,this.emit("languageChanged",i),this.logger.log("languageChanged",i)):this.isLanguageChangingTo=void 0,r.resolve((...e)=>this.t(...e)),t&&t(o,(...e)=>this.t(...e))},i=t=>{e||t||!this.services.languageDetector||(t=[]);let r=aJ(t)?t:t&&t[0],i=this.store.hasLanguageSomeTranslations(r)?r:this.services.languageUtils.getBestMatchFromCodes(aJ(t)?[t]:t);i&&(this.language||n(i),this.translator.language||this.translator.changeLanguage(i),this.services.languageDetector?.cacheUserLanguage?.(i)),this.loadResources(i,e=>{o(e,i)})};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(i):this.services.languageDetector.detect(i):i(e):i(this.services.languageDetector.detect()),r}getFixedT(e,t,r){let n=(e,t,...o)=>{let i,a;(i="object"!=typeof t?this.options.overloadTranslationOptionHandler([e,t].concat(o)):{...t}).lng=i.lng||n.lng,i.lngs=i.lngs||n.lngs,i.ns=i.ns||n.ns,""!==i.keyPrefix&&(i.keyPrefix=i.keyPrefix||r||n.keyPrefix);let s=this.options.keySeparator||".";return i.keyPrefix&&Array.isArray(e)?a=e.map(e=>("function"==typeof e&&(e=sc(e,{...this.options,...t})),`${i.keyPrefix}${s}${e}`)):("function"==typeof e&&(e=sc(e,{...this.options,...t})),a=i.keyPrefix?`${i.keyPrefix}${s}${e}`:e),this.t(a,i)};return aJ(e)?n.lng=e:n.lngs=e,n.ns=t,n.keyPrefix=r,n}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){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;let r=t.lng||this.resolvedLanguage||this.languages[0],n=!!this.options&&this.options.fallbackLng,o=this.languages[this.languages.length-1];if("cimode"===r.toLowerCase())return!0;let i=(e,t)=>{let r=this.services.backendConnector.state[`${e}|${t}`];return -1===r||0===r||2===r};if(t.precheck){let e=t.precheck(this,i);if(void 0!==e)return e}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||i(r,e)&&(!n||i(o,e)))}loadNamespaces(e,t){let r=aX();return this.options.ns?(aJ(e)&&(e=[e]),e.forEach(e=>{0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}loadLanguages(e,t){let r=aX();aJ(e)&&(e=[e]);let n=this.options.preload||[],o=e.filter(e=>0>n.indexOf(e)&&this.services.languageUtils.isSupportedCode(e));return o.length?(this.options.preload=n.concat(o),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";try{let t=new Intl.Locale(e);if(t&&t.getTextInfo){let e=t.getTextInfo();if(e&&e.direction)return e.direction}}catch(e){}let t=this.services?.languageUtils||new sh(sS());return e.toLowerCase().indexOf("-latn")>1?"ltr":["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"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){return new sP(e,t)}cloneInstance(e={},t=sO){let r=e.forkResourceStore;r&&delete e.forkResourceStore;let n={...this.options,...e,isClone:!0},o=new sP(n);return(void 0!==e.debug||void 0!==e.prefix)&&(o.logger=o.logger.clone(e)),["store","services","language"].forEach(e=>{o[e]=this[e]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new ss(Object.keys(this.store.data).reduce((e,t)=>(e[t]={...this.store.data[t]},e[t]=Object.keys(e[t]).reduce((r,n)=>(r[n]={...e[t][n]},r),e[t]),e),{}),n),o.services.resourceStore=o.store),o.translator=new sf(o.services,n),o.translator.on("*",(e,...t)=>{o.emit(e,...t)}),o.init(n,t),o.translator.options=n,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}let sC=sP.createInstance();sC.createInstance=sP.createInstance,sC.createInstance,sC.dir,sC.init,sC.loadResources,sC.reloadResources,sC.use,sC.changeLanguage,sC.getFixedT,sC.t,sC.exists,sC.setDefaultNamespace,sC.hasLoadedNamespace,sC.loadNamespaces,sC.loadLanguages;let sk=sC.default||sC;function sj(e,t,r,n){return sk.t(t,{ns:e,defaultValue:r,...n})}function sT(e,t,r){return aZ[e]?sj("core",e,t??aZ[e],r):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}sk.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let sR="import-map-override:",sN="import-map-overrides-disabled",sM="import-map-overrides:change",sA=!1,s$=null,sI=null;async function sL(){return sI??(sI=sF().then(({map:e,complete:t})=>(t||(sI=null),e))),sI}async function sF(){let e=document.querySelectorAll('script[type="systemjs-importmap"]'),t=[],r=!0;for(let n=0;n<e.length;n++){let o=e[n];try{if(o.src){let e=await fetch(o.src);if(!e.ok)throw Error(`Request for ${o.src} returned ${e.status} ${e.statusText}`);t.push(await e.json())}else o.textContent&&t.push(JSON.parse(o.textContent))}catch(e){r=!1,console.warn(`[import-maps] Failed to parse import map from script tag at index ${n}`,e)}}return{map:sB(t),complete:r}}function sB(e){let t={imports:{}};for(let r of e)r?.imports&&Object.assign(t.imports,r.imports);return t}function sV(){let e={};try{let t=sH();for(let r=0;r<localStorage.length;r++){let n=localStorage.key(r);if(n?.startsWith(sR)){let r=n.slice(sR.length);if(!t.includes(r)){let t=localStorage.getItem(n);t&&(e[r]=t)}}}}catch(e){console.warn("[import-maps] Failed to read import-map overrides from localStorage",e)}return{imports:e}}async function sU(){let e=await sL();return sA?sB([e,s$??sV()]):e}async function sW(){return sL()}async function sz(){return sA?sB([await sL(),sV()]):sL()}function sK(e){if(!sA)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);if(r?.startsWith(sR)){let t=localStorage.getItem(r);t&&(e[r.slice(sR.length)]=t)}}return{imports:e}}return sV()}function sH(){if(!sA)return[];try{let e=localStorage.getItem(sN);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function sG(e){return!!sA&&sH().includes(e)}function sq(e,t){if(!sA)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(sR+e,t),window.dispatchEvent(new CustomEvent(sM))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function sY(e){if(!sA)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(sR+e);let t=sH().filter(t=>t!==e);t.length>0?localStorage.setItem(sN,JSON.stringify(t)):localStorage.removeItem(sN),window.dispatchEvent(new CustomEvent(sM))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function sZ(){if(!sA)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);r?.startsWith(sR)&&e.push(r)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(sN),window.dispatchEvent(new CustomEvent(sM))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function sJ(e){if(!sA)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=sH().filter(t=>t!==e);t.length>0?localStorage.setItem(sN,JSON.stringify(t)):localStorage.removeItem(sN),window.dispatchEvent(new CustomEvent(sM))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let sX=!1;function sQ(){!sX&&(sX=!0,(sA="development"===window.spaEnv)&&(s$=sV()))}function s0(e){return e.replace(/[\/\-@]/g,"_")}async function s1(e,t="./start",n){var o;let i,a=!n?.maxLoadingTime||n.maxLoadingTime<=0?6e5:n.maxLoadingTime;await Promise.race([s2(e,n?.importMap),new Promise((t,r)=>{i=setTimeout(()=>{var t;r(Error(`Could not resolve requested script, ${e}, within ${(t=a)<1e3?`${t} milliseconds`:t<6e4?`${Math.floor(t/1e3)} seconds`:t<36e5?`${Math.floor(t/6e4)} minutes`:t<864e5?`${Math.floor(t/36e5)} hours`:`${Math.floor(t/864e5)} days`}.`))},a)})]),i&&clearTimeout(i);let s=s0(e),l=window[s];if(!("object"==typeof(o=l)&&null!==o&&"init"in o&&"function"==typeof o.init&&"get"in o&&"function"==typeof o.get)){let e=`The global variable ${s} does not refer to a federated module`;throw console.error(e),Error(e)}l.init(r.S.default);let u=(await l.get(t))();if("object"!=typeof u||null===u){let t=`Container for ${e} did not return an ESM module as expected`;throw console.error(t),Error(t)}return u}async function s2(e,t){if("string"!=typeof e||0===e.trim().length){let e="Attempted to call importDynamic() without supplying a package to load";throw console.error(e),Error(e)}let r=s0(e);if(!window[r]){let r=t??await s4();if(!r.imports.hasOwnProperty(e)){let t=`Could not find the package ${e} defined in the current importmap`;throw console.error(t),Error(t)}let n=r.imports[e];n.startsWith("./")&&(n=window.spaBase+n.substring(1));let o=e in sK().imports;try{return await function(e){var t;let r=(t=window)[s3]??(t[s3]=new Map),n=r.get(e);if(n)return n;if(document.head.querySelector(`script[src="${e}"]`))return console.warn(`Script at ${e} already loaded. Not loading it again.`),Promise.resolve();let o=document.createElement("script");o.src=e,o.type="text/javascript",o.async=!0;let i=new Promise((t,n)=>{let i=setTimeout(()=>{console.error(`The script at ${e} did not load within 5 seconds. This may indicate an issue with the imports in the script's entry-point file or with the script's bundler configuration.`)},5e3);function a(){clearTimeout(i),o.removeEventListener("load",s),o.removeEventListener("error",l)}function s(){a(),t()}function l(t){a(),r.delete(e),o.remove();let i=`Failed to load script from ${e}`;console.error(i,t),n(t.message??i)}o.addEventListener("load",s),o.addEventListener("error",l),document.head.appendChild(o)});return r.set(e,i),i}(n)}catch(e){return o&&T({kind:"error",title:sT("scriptLoadingFailed","Error: Script failed to load"),description:sT("scriptLoadingError","Failed to load overridden script from {{- url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",{url:n}),actionButtonLabel:sT("resetOverrides","Reset overrides"),onActionButtonClick(){sZ(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function s4(){return sU()}let s3=Symbol.for("__openmrs_script_loading");function s6(e){return!!e&&"object"==typeof e&&!(Object.hasOwn(e,"pages")&&(!e.pages||!Array.isArray(e.pages))||Object.hasOwn(e,"extensions")&&(!e.extensions||!Array.isArray(e.extensions))||Object.hasOwn(e,"workspaces")&&(!e.workspaces||!Array.isArray(e.workspaces))||Object.hasOwn(e,"modals")&&(!e.modals||!Array.isArray(e.modals)))}function s5(e){return!!e&&"object"==typeof e&&"routes"in e&&!!e.routes&&"object"==typeof e.routes&&Object.entries(e.routes).every(([e,t])=>"string"==typeof e&&s6(t))}let s9="openmrs-routes:",s7="openmrs-routes:change",s8=!1,le=null,lt=null;async function lr(){return lt??(lt=ln().then(({map:e,complete:t})=>(t||(lt=null),e))),lt}async function ln(){let e=document.querySelectorAll("script[type='openmrs-routes']"),t=[],r=!0;for(let n=0;n<e.length;n++){let o=e[n];try{let e;if(o.src){let t=await fetch(o.src);if(!t.ok)throw Error(`Request for ${o.src} returned ${t.status} ${t.statusText}`);e=await t.json()}else o.textContent&&(e=JSON.parse(o.textContent));e&&s5(e)&&t.push(e)}catch(e){r=!1,console.warn(`[route-maps] Failed to parse routes from script tag at index ${n}`,e)}}return{map:lo(t),complete:r}}function lo(e){let t={routes:{}};for(let r of e)r&&"object"==typeof r&&!Array.isArray(r)&&(Object.assign(t.routes,r.routes),void 0===t.version&&void 0!==r.version&&(t.version=r.version));return t}async function li(){let e={version:void 0,routes:{}};try{let t=[];for(let e=0;e<localStorage.length;e++){let r=localStorage.key(e);if(r?.startsWith(s9)){let e=localStorage.getItem(r);e&&t.push({moduleName:r.slice(s9.length),raw:e})}}for(let r of(await Promise.allSettled(t.map(async({moduleName:e,raw:t})=>{let r=JSON.parse(t);if(s6(r))return{moduleName:e,routes:r};if("string"==typeof r&&r.startsWith("http")){let t=await fetch(r),n=await t.json();if(s6(n))return{moduleName:e,routes:n};throw Error(`${r} did not resolve to a valid OpenmrsAppRoutes object`)}throw Error(`Override for ${e} is neither a valid routes object nor a URL`)}))))"fulfilled"===r.status?e.routes[r.value.moduleName]=r.value.routes:console.warn("[route-maps] Failed to load route override",r.reason)}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}async function la(){let e=await lr();return s8?lo([e,le??await li()]):e}async function ls(){return lr()}async function ll(){return s8?lo([await lr(),await li()]):lr()}function lu(){if(!s8)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);if(r?.startsWith(s9)){let t=localStorage.getItem(r);t&&(e[r.slice(s9.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function lc(e,t){if(!s8)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(s9+e,JSON.stringify(t));else{let r=JSON.parse(t);if(!s6(r))return void console.error(`The supplied routes for ${e} is not a valid OpenmrsAppRoutes object`,t);localStorage.setItem(s9+e,JSON.stringify(r))}else if(t instanceof URL)localStorage.setItem(s9+e,JSON.stringify(t.toString()));else{if(!s6(t))return void console.error(`Override for ${e} is not in a valid format. Expected either a Javascript Object, a JSON string of a Javascript object, or a URL`,t);localStorage.setItem(s9+e,JSON.stringify(t))}window.dispatchEvent(new CustomEvent(s7))}catch(e){console.warn("[route-maps] Failed to write route override to localStorage",e)}}function ld(e){if(!s8)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(s9+e),window.dispatchEvent(new CustomEvent(s7))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function lp(){if(!s8)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);r?.startsWith(s9)&&e.push(r)}e.forEach(e=>localStorage.removeItem(e)),window.dispatchEvent(new CustomEvent(s7))}catch(e){console.warn("[route-maps] Failed to clear route overrides from localStorage",e)}}let lf=null;function lh(){return lf||(lf=(s8="development"===window.spaEnv)?li().then(e=>{le=e}):Promise.resolve())}let lm=`${aP}/attachment`;function ly(e,t){return aT(`${lm}/${e}`,{signal:t.signal})}function lg(e,t,r,n){return aT(lb(e,t,n),{signal:r.signal})}function lb(e,t,r){return r?`${lm}?patient=${e}&encounter=${r}`:`${lm}?patient=${e}&includeEncounterless=${t}`}async function lv(e,t,r){let n=new FormData;return n.append("fileCaption",t.fileDescription),n.append("patient",e),r&&n.append("encounter",r),t.file?n.append("file",t.file,t.fileName):(n.append("file",new File([""],t.fileName),t.fileName),n.append("base64Content",t.base64Content)),aT(`${lm}`,{method:"POST",body:n})}function lw(e,t){return aT(`${lm}/${e}`,{method:"DELETE",signal:t.signal})}try{self["workbox:window:6.5.4"]&&_()}catch(e){}function l_(e,t){return new Promise(function(r){var n=new MessageChannel;n.port1.onmessage=function(e){r(e.data)},e.postMessage(t,[n.port2])})}function lx(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function lE(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}try{self["workbox:core:6.5.4"]&&_()}catch(e){}var lS=function(){var e=this;this.promise=new Promise(function(t,r){e.resolve=t,e.reject=r})};function lD(e,t){var r=location.href;return new URL(e,r).href===new URL(t,r).href}var lO=function(e,t){this.type=e,Object.assign(this,t)};function lP(e,t,r){return r?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}function lC(){}var lk={type:"SKIP_WAITING"};function lj(e,t){if(!t)return e&&e.then?e.then(lC):Promise.resolve()}var lT=function(e){function t(t,r){var n,o;return void 0===r&&(r={}),(n=e.call(this)||this).nn={},n.tn=0,n.rn=new lS,n.en=new lS,n.on=new lS,n.un=0,n.an=new Set,n.cn=function(){var e=n.fn,t=e.installing;n.tn>0||!lD(t.scriptURL,n.sn.toString())||performance.now()>n.un+6e4?(n.vn=t,e.removeEventListener("updatefound",n.cn)):(n.hn=t,n.an.add(t),n.rn.resolve(t)),++n.tn,t.addEventListener("statechange",n.ln)},n.ln=function(e){var t=n.fn,r=e.target,o=r.state,i=r===n.vn,a={sw:r,isExternal:i,originalEvent:e};!i&&n.mn&&(a.isUpdate=!0),n.dispatchEvent(new lO(o,a)),"installed"===o?n.wn=self.setTimeout(function(){"installed"===o&&t.waiting===r&&n.dispatchEvent(new lO("waiting",a))},200):"activating"===o&&(clearTimeout(n.wn),i||n.en.resolve(r))},n.dn=function(e){var t=n.hn,r=t!==navigator.serviceWorker.controller;n.dispatchEvent(new lO("controlling",{isExternal:r,originalEvent:e,sw:t,isUpdate:n.mn})),r||n.on.resolve(t)},o=function(e){var t=e.data,r=e.ports,o=e.source;return lP(n.getSW(),function(){n.an.has(o)&&n.dispatchEvent(new lO("message",{data:t,originalEvent:e,ports:r,sw:o}))})},n.gn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];try{return Promise.resolve(o.apply(this,e))}catch(e){return Promise.reject(e)}},n.sn=t,n.nn=r,navigator.serviceWorker.addEventListener("message",n.gn),n}t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e;var r,n,o=t.prototype;return o.register=function(e){var t=(void 0===e?{}:e).immediate,r=void 0!==t&&t;try{var n,o,i,a=this;return n=function(){if(!r&&"complete"!==document.readyState)return lj(new Promise(function(e){return window.addEventListener("load",e)}))},o=function(){return a.mn=!!navigator.serviceWorker.controller,a.yn=a.pn(),lP(a.bn(),function(e){a.fn=e,a.yn&&(a.hn=a.yn,a.en.resolve(a.yn),a.on.resolve(a.yn),a.yn.addEventListener("statechange",a.ln,{once:!0}));var t=a.fn.waiting;return t&&lD(t.scriptURL,a.sn.toString())&&(a.hn=t,Promise.resolve().then(function(){a.dispatchEvent(new lO("waiting",{sw:t,wasWaitingBeforeRegister:!0}))}).then(function(){})),a.hn&&(a.rn.resolve(a.hn),a.an.add(a.hn)),a.fn.addEventListener("updatefound",a.cn),navigator.serviceWorker.addEventListener("controllerchange",a.dn),a.fn})},(i=n())&&i.then?i.then(o):o(i)}catch(e){return Promise.reject(e)}},o.update=function(){try{return this.fn?lj(this.fn.update()):void 0}catch(e){return Promise.reject(e)}},o.getSW=function(){return void 0!==this.hn?Promise.resolve(this.hn):this.rn.promise},o.messageSW=function(e){try{return lP(this.getSW(),function(t){return l_(t,e)})}catch(e){return Promise.reject(e)}},o.messageSkipWaiting=function(){this.fn&&this.fn.waiting&&l_(this.fn.waiting,lk)},o.pn=function(){var e=navigator.serviceWorker.controller;return e&&lD(e.scriptURL,this.sn.toString())?e:void 0},o.bn=function(){try{var e=this;return function(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}(function(){return lP(navigator.serviceWorker.register(e.sn,e.nn),function(t){return e.un=performance.now(),t})},function(e){throw e})}catch(e){return Promise.reject(e)}},r=[{key:"active",get:function(){return this.en.promise}},{key:"controlling",get:function(){return this.on.promise}}],lx(t.prototype,r),n&&lx(t,n),t}(function(){function e(){this.Pn=new Map}var t=e.prototype;return t.addEventListener=function(e,t){this.Sn(e).add(t)},t.removeEventListener=function(e,t){this.Sn(e).delete(t)},t.dispatchEvent=function(e){e.target=this;for(var t,r=function(e){var t;if("u"<typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(t=function(e){if(e){if("string"==typeof e)return lE(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?lE(e,void 0):void 0}}(e))){t&&(e=t);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(t=e[Symbol.iterator]()).next.bind(t)}(this.Sn(e.type));!(t=r()).done;)(0,t.value)(e)},t.Sn=function(e){return this.Pn.has(e)||this.Pn.set(e,new Set),this.Pn.get(e)},e}());function lR(e,t){if(void 0!==p)return console.warn(`The application's Service Worker has already been registered. The new service worker at ${e} will not be registered.`),p;if(!("serviceWorker"in navigator))throw Error("Registering the Service Worker is not possible due to missing browser capabilities.");let r=new lT(e,t);return p=r.register().then(()=>r.controlling.then(()=>r))}function lN(){return p??Promise.resolve(void 0)}let lM="x-omrs-offline-response-body",lA="x-omrs-offline-response-status",l$="x-omrs-offline-caching-strategy";async function lI(e){let t=await lN();return t?await t.messageSW(e):{success:!1,result:void 0,error:"No service worker has been registered. This is typically the case when the application has been built without offline-related features."}}async function lL(){let e=window.sessionStorage;try{e.setItem("someKeyHere","test"),e.removeItem("someKeyHere")}catch(t){if(t.code===DOMException.QUOTA_EXCEEDED_ERR&&0===e.length)return!0}return!1}async function lF(){return!window.indexedDB}async function lB(){return new Promise(e=>{let t=indexedDB.open("test");t.onerror=()=>e(!0),t.onsuccess=()=>e(!1)})}async function lV(){return await lB()||await lF()||await lL()}let lU="openmrs3:offline-mode",lW="unavailable";function lz(){return{current:lW,notAvailable:"unavailable"===lW,active:"on"===lW}}function lK(e){"unavailable"!==lW&&"unavailable"!==e&&(localStorage.setItem(lU,"on"===e?"active":"disabled"),lW=e)}async function lH(){await lV()||(lW="active"===localStorage.getItem(lU)?"on":"off"),navigator.onLine}let lG="u">typeof globalThis?globalThis:"u">typeof self?self:"u">typeof window?window:global,lq=Object.keys,lY=Array.isArray;function lZ(e,t){return"object"!=typeof t||lq(t).forEach(function(r){e[r]=t[r]}),e}"u"<typeof Promise||lG.Promise||(lG.Promise=Promise);let lJ=Object.getPrototypeOf,lX={}.hasOwnProperty;function lQ(e,t){return lX.call(e,t)}function l0(e,t){"function"==typeof t&&(t=t(lJ(e))),("u"<typeof Reflect?lq:Reflect.ownKeys)(t).forEach(r=>{l2(e,r,t[r])})}let l1=Object.defineProperty;function l2(e,t,r,n){l1(e,t,lZ(r&&lQ(r,"get")&&"function"==typeof r.get?{get:r.get,set:r.set,configurable:!0}:{value:r,configurable:!0,writable:!0},n))}function l4(e){return{from:function(t){return e.prototype=Object.create(t.prototype),l2(e.prototype,"constructor",e),{extend:l0.bind(null,e.prototype)}}}}let l3=Object.getOwnPropertyDescriptor;function l6(e,t){let r;return l3(e,t)||(r=lJ(e))&&l6(r,t)}let l5=[].slice;function l9(e,t,r){return l5.call(e,t,r)}function l7(e,t){return t(e)}function l8(e){if(!e)throw Error("Assertion Failed")}function ue(e){lG.setImmediate?setImmediate(e):setTimeout(e,0)}function ut(e,t){return e.reduce((e,r,n)=>{var o=t(r,n);return o&&(e[o[0]]=o[1]),e},{})}function ur(e,t){if("string"==typeof t&&lQ(e,t))return e[t];if(!t)return e;if("string"!=typeof t){for(var r=[],n=0,o=t.length;n<o;++n){var i=ur(e,t[n]);r.push(i)}return r}var a=t.indexOf(".");if(-1!==a){var s=e[t.substr(0,a)];return null==s?void 0:ur(s,t.substr(a+1))}}function un(e,t,r){if(e&&void 0!==t&&(!("isFrozen"in Object)||!Object.isFrozen(e)))if("string"!=typeof t&&"length"in t){l8("string"!=typeof r&&"length"in r);for(var n=0,o=t.length;n<o;++n)un(e,t[n],r[n])}else{var i=t.indexOf(".");if(-1!==i){var a=t.substr(0,i),s=t.substr(i+1);if(""===s)void 0===r?lY(e)&&!isNaN(parseInt(a))?e.splice(a,1):delete e[a]:e[a]=r;else{var l=e[a];l&&lQ(e,a)||(l=e[a]={}),un(l,s,r)}}else void 0===r?lY(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=r}}function uo(e){var t={};for(var r in e)lQ(e,r)&&(t[r]=e[r]);return t}let ui=[].concat;function ua(e){return ui.apply([],e)}let us="BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(ua([8,16,32,64].map(e=>["Int","Uint","Float"].map(t=>t+e+"Array")))).filter(e=>lG[e]),ul=us.map(e=>lG[e]);ut(us,e=>[e,!0]);let uu=null;function uc(e){uu="u">typeof WeakMap&&new WeakMap;let t=function e(t){if(!t||"object"!=typeof t)return t;let r=uu&&uu.get(t);if(r)return r;if(lY(t)){r=[],uu&&uu.set(t,r);for(var n=0,o=t.length;n<o;++n)r.push(e(t[n]))}else if(ul.indexOf(t.constructor)>=0)r=t;else{let n=lJ(t);for(var i in r=n===Object.prototype?{}:Object.create(n),uu&&uu.set(t,r),t)lQ(t,i)&&(r[i]=e(t[i]))}return r}(e);return uu=null,t}let{toString:ud}={};function up(e){return ud.call(e).slice(8,-1)}let uf="u">typeof Symbol?Symbol.iterator:"@@iterator",uh="symbol"==typeof uf?function(e){var t;return null!=e&&(t=e[uf])&&t.apply(e)}:function(){return null},um={};function uy(e){var t,r,n,o;if(1==arguments.length){if(lY(e))return e.slice();if(this===um&&"string"==typeof e)return[e];if(o=uh(e)){for(r=[];!(n=o.next()).done;)r.push(n.value);return r}if(null==e)return[e];if("number"==typeof(t=e.length)){for(r=Array(t);t--;)r[t]=e[t];return r}return[e]}for(t=arguments.length,r=Array(t);t--;)r[t]=arguments[t];return r}let ug="u">typeof Symbol?e=>"AsyncFunction"===e[Symbol.toStringTag]:()=>!1;var ub="u">typeof location&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href),uv=()=>!0;let uw=!Error("").stack;function u_(){if(uw)try{throw u_.arguments,Error()}catch(e){return e}return Error()}function ux(e,t){var r=e.stack;return r?(t=t||0,0===r.indexOf(e.name)&&(t+=(e.name+e.message).split("\n").length),r.split("\n").slice(t).filter(uv).map(e=>"\n"+e).join("")):""}var uE=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],uS=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"].concat(uE),uD={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has already completed or failed",MissingAPI:"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"};function uO(e,t){this._e=u_(),this.name=e,this.message=t}function uP(e,t){return e+". Errors: "+Object.keys(t).map(e=>t[e].toString()).filter((e,t,r)=>r.indexOf(e)===t).join("\n")}function uC(e,t,r,n){this._e=u_(),this.failures=t,this.failedKeys=n,this.successCount=r,this.message=uP(e,t)}function uk(e,t){this._e=u_(),this.name="BulkError",this.failures=Object.keys(t).map(e=>t[e]),this.failuresByPos=t,this.message=uP(e,t)}l4(uO).from(Error).extend({stack:{get:function(){return this._stack||(this._stack=this.name+": "+this.message+ux(this._e,2))}},toString:function(){return this.name+": "+this.message}}),l4(uC).from(uO),l4(uk).from(uO);var uj=uS.reduce((e,t)=>(e[t]=t+"Error",e),{}),uT=uS.reduce((e,t)=>{var r=t+"Error";function n(e,n){this._e=u_(),this.name=r,e?"string"==typeof e?(this.message=`${e}${n?"\n "+n:""}`,this.inner=n||null):"object"==typeof e&&(this.message=`${e.name} ${e.message}`,this.inner=e):(this.message=uD[t]||r,this.inner=null)}return l4(n).from(uO),e[t]=n,e},{});uT.Syntax=SyntaxError,uT.Type=TypeError,uT.Range=RangeError;var uR=uE.reduce((e,t)=>(e[t+"Error"]=uT[t],e),{}),uN=uS.reduce((e,t)=>(-1===["Syntax","Type","Range"].indexOf(t)&&(e[t+"Error"]=uT[t]),e),{});function uM(){}function uA(e){return e}function u$(e,t){return null==e||e===uA?t:function(r){return t(e(r))}}function uI(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function uL(e,t){return e===uM?t:function(){var r=e.apply(this,arguments);void 0!==r&&(arguments[0]=r);var n=this.onsuccess,o=this.onerror;this.onsuccess=null,this.onerror=null;var i=t.apply(this,arguments);return n&&(this.onsuccess=this.onsuccess?uI(n,this.onsuccess):n),o&&(this.onerror=this.onerror?uI(o,this.onerror):o),void 0!==i?i:r}}function uF(e,t){return e===uM?t:function(){e.apply(this,arguments);var r=this.onsuccess,n=this.onerror;this.onsuccess=this.onerror=null,t.apply(this,arguments),r&&(this.onsuccess=this.onsuccess?uI(r,this.onsuccess):r),n&&(this.onerror=this.onerror?uI(n,this.onerror):n)}}function uB(e,t){return e===uM?t:function(r){var n=e.apply(this,arguments);lZ(r,n);var o=this.onsuccess,i=this.onerror;this.onsuccess=null,this.onerror=null;var a=t.apply(this,arguments);return o&&(this.onsuccess=this.onsuccess?uI(o,this.onsuccess):o),i&&(this.onerror=this.onerror?uI(i,this.onerror):i),void 0===n?void 0===a?void 0:a:lZ(n,a)}}function uV(e,t){return e===uM?t:function(){return!1!==t.apply(this,arguments)&&e.apply(this,arguments)}}function uU(e,t){return e===uM?t:function(){var r=e.apply(this,arguments);if(r&&"function"==typeof r.then){for(var n=this,o=arguments.length,i=Array(o);o--;)i[o]=arguments[o];return r.then(function(){return t.apply(n,i)})}return t.apply(this,arguments)}}uN.ModifyError=uC,uN.DexieError=uO,uN.BulkError=uk;var uW={};let[uz,uK,uH]="u"<typeof Promise?[]:(()=>{let e=Promise.resolve();if("u"<typeof crypto||!crypto.subtle)return[e,lJ(e),e];let t=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[t,lJ(t),e]})(),uG=uK&&uK.then,uq=uz&&uz.constructor,uY=!!uH;var uZ=!1,uJ=uH?()=>{uH.then(cl)}:lG.setImmediate?setImmediate.bind(null,cl):lG.MutationObserver?()=>{var e=document.createElement("div");new MutationObserver(()=>{cl(),e=null}).observe(e,{attributes:!0}),e.setAttribute("i","1")}:()=>{setTimeout(cl,0)},uX=function(e,t){u9.push([e,t]),u0&&(uJ(),u0=!1)},uQ=!0,u0=!0,u1=[],u2=[],u4=null,u3=uA,u6={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:cR,pgp:!1,env:{},finalize:function(){this.unhandleds.forEach(e=>{try{cR(e[0],e[1])}catch(e){}})}},u5=u6,u9=[],u7=0,u8=[];function ce(e){if("object"!=typeof this)throw TypeError("Promises must be constructed via new");this._listeners=[],this.onuncatched=uM,this._lib=!1;var t=this._PSD=u5;if(ub&&(this._stackHolder=u_(),this._prev=null,this._numPrev=0),"function"!=typeof e){if(e!==uW)throw TypeError("Not a function");return this._state=arguments[1],this._value=arguments[2],void(!1===this._state&&cn(this,this._value))}this._state=null,this._value=null,++t.ref,function e(t,r){try{r(r=>{if(null===t._state){if(r===t)throw TypeError("A promise cannot be resolved with itself.");var n=t._lib&&cu();r&&"function"==typeof r.then?e(t,(e,t)=>{r instanceof ce?r._then(e,t):r.then(e,t)}):(t._state=!0,t._value=r,co(t)),n&&cc()}},cn.bind(null,t))}catch(e){cn(t,e)}}(this,e)}let ct={get:function(){var e=u5,t=cb;function r(r,n){var o=!e.global&&(e!==u5||t!==cb);let i=o&&!cx();var a=new ce((t,a)=>{ci(this,new cr(ck(r,e,o,i),ck(n,e,o,i),t,a,e))});return ub&&cs(a,this),a}return r.prototype=uW,r},set:function(e){l2(this,"then",e&&e.prototype===uW?ct:{get:function(){return e},set:ct.set})}};function cr(e,t,r,n,o){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.resolve=r,this.reject=n,this.psd=o}function cn(e,t){if(u2.push(t),null===e._state){var r=e._lib&&cu();t=u3(t),e._state=!1,e._value=t,ub&&null!==t&&"object"==typeof t&&!t._promise&&function(e){try{e.apply(null,void 0)}catch(e){}}(()=>{var r=l6(t,"stack");t._promise=e,l2(t,"stack",{get:()=>uZ?r&&(r.get?r.get.apply(t):r.value):e.stack})}),u1.some(t=>t._value===e._value)||u1.push(e),co(e),r&&cc()}}function co(e){var t=e._listeners;e._listeners=[];for(var r=0,n=t.length;r<n;++r)ci(e,t[r]);var o=e._PSD;--o.ref||o.finalize(),0===u7&&(++u7,uX(()=>{0==--u7&&cd()},[]))}function ci(e,t){if(null!==e._state){var r=e._state?t.onFulfilled:t.onRejected;if(null===r)return(e._state?t.resolve:t.reject)(e._value);++t.psd.ref,++u7,uX(ca,[r,e,t])}else e._listeners.push(t)}function ca(e,t,r){try{u4=t;var n,o=t._value;t._state?n=e(o):(u2.length&&(u2=[]),n=e(o),-1===u2.indexOf(o)&&function(e){for(var t=u1.length;t;)if(u1[--t]._value===e._value)return void u1.splice(t,1)}(t)),r.resolve(n)}catch(e){r.reject(e)}finally{u4=null,0==--u7&&cd(),--r.psd.ref||r.psd.finalize()}}function cs(e,t){var r=t?t._numPrev+1:0;r<100&&(e._prev=t,e._numPrev=r)}function cl(){cu()&&cc()}function cu(){var e=uQ;return uQ=!1,u0=!1,e}function cc(){var e,t,r;do for(;u9.length>0;)for(e=u9,u9=[],r=e.length,t=0;t<r;++t){var n=e[t];n[0].apply(null,n[1])}while(u9.length>0);uQ=!0,u0=!0}function cd(){var e=u1;u1=[],e.forEach(e=>{e._PSD.onunhandled.call(null,e._value,e)});for(var t=u8.slice(0),r=t.length;r;)t[--r]()}function cp(e){return new ce(uW,!1,e)}function cf(e,t){var r=u5;return function(){var n=cu(),o=u5;try{return cO(r,!0),e.apply(this,arguments)}catch(e){t&&t(e)}finally{cO(o,!1),n&&cc()}}}l0(ce.prototype,{then:ct,_then:function(e,t){ci(this,new cr(null,null,e,t,u5))},catch:function(e){if(1==arguments.length)return this.then(null,e);var t=arguments[0],r=arguments[1];return"function"==typeof t?this.then(null,e=>e instanceof t?r(e):cp(e)):this.then(null,e=>e&&e.name===t?r(e):cp(e))},finally:function(e){return this.then(t=>(e(),t),t=>(e(),cp(t)))},stack:{get:function(){if(this._stack)return this._stack;try{uZ=!0;var e=(function e(t,r,n){if(r.length===n)return r;var o="";if(!1===t._state){var i,a,s=t._value;null!=s?(i=s.name||"Error",a=s.message||s,o=ux(s,0)):(i=s,a=""),r.push(i+(a?": "+a:"")+o)}return ub&&((o=ux(t._stackHolder,2))&&-1===r.indexOf(o)&&r.push(o),t._prev&&e(t._prev,r,n)),r})(this,[],20).join("\nFrom previous: ");return null!==this._state&&(this._stack=e),e}finally{uZ=!1}}},timeout:function(e,t){return e<1/0?new ce((r,n)=>{var o=setTimeout(()=>n(new uT.Timeout(t)),e);this.then(r,n).finally(clearTimeout.bind(null,o))}):this}}),"u">typeof Symbol&&Symbol.toStringTag&&l2(ce.prototype,Symbol.toStringTag,"Dexie.Promise"),u6.env=cP(),l0(ce,{all:function(){var e=uy.apply(null,arguments).map(cE);return new ce(function(t,r){0===e.length&&t([]);var n=e.length;e.forEach((o,i)=>ce.resolve(o).then(r=>{e[i]=r,--n||t(e)},r))})},resolve:e=>{if(e instanceof ce)return e;if(e&&"function"==typeof e.then)return new ce((t,r)=>{e.then(t,r)});var t=new ce(uW,!0,e);return cs(t,u4),t},reject:cp,race:function(){var e=uy.apply(null,arguments).map(cE);return new ce((t,r)=>{e.map(e=>ce.resolve(e).then(t,r))})},PSD:{get:()=>u5,set:e=>u5=e},totalEchoes:{get:()=>cb},newPSD:cw,usePSD:cC,scheduler:{get:()=>uX,set:e=>{uX=e}},rejectionMapper:{get:()=>u3,set:e=>{u3=e}},follow:(e,t)=>new ce((r,n)=>cw((t,r)=>{var n=u5;n.unhandleds=[],n.onunhandled=r,n.finalize=uI(function(){var e;e=()=>{0===this.unhandleds.length?t():r(this.unhandleds[0])},u8.push(function t(){e(),u8.splice(u8.indexOf(t),1)}),++u7,uX(()=>{0==--u7&&cd()},[])},n.finalize),e()},t,r,n))}),uq&&(uq.allSettled&&l2(ce,"allSettled",function(){let e=uy.apply(null,arguments).map(cE);return new ce(t=>{0===e.length&&t([]);let r=e.length,n=Array(r);e.forEach((e,o)=>ce.resolve(e).then(e=>n[o]={status:"fulfilled",value:e},e=>n[o]={status:"rejected",reason:e}).then(()=>--r||t(n)))})}),uq.any&&"u">typeof AggregateError&&l2(ce,"any",function(){let e=uy.apply(null,arguments).map(cE);return new ce((t,r)=>{0===e.length&&r(AggregateError([]));let n=e.length,o=Array(n);e.forEach((e,i)=>ce.resolve(e).then(e=>t(e),e=>{o[i]=e,--n||r(AggregateError(o))}))})}));let ch={awaits:0,echoes:0,id:0};var cm=0,cy=[],cg=0,cb=0,cv=0;function cw(e,t,r,n){var o=u5,i=Object.create(o);i.parent=o,i.ref=0,i.global=!1,i.id=++cv;var a=u6.env;i.env=uY?{Promise:ce,PromiseProp:{value:ce,configurable:!0,writable:!0},all:ce.all,race:ce.race,allSettled:ce.allSettled,any:ce.any,resolve:ce.resolve,reject:ce.reject,nthen:cj(a.nthen,i),gthen:cj(a.gthen,i)}:{},t&&lZ(i,t),++o.ref,i.finalize=function(){--this.parent.ref||this.parent.finalize()};var s=cC(i,e,r,n);return 0===i.ref&&i.finalize(),s}function c_(){return ch.id||(ch.id=++cm),++ch.awaits,ch.echoes+=100,ch.id}function cx(){return!!ch.awaits&&(0==--ch.awaits&&(ch.id=0),ch.echoes=100*ch.awaits,!0)}function cE(e){return ch.echoes&&e&&e.constructor===uq?(c_(),e.then(e=>(cx(),e),e=>(cx(),cN(e)))):e}function cS(e){++cb,ch.echoes&&0!=--ch.echoes||(ch.echoes=ch.id=0),cy.push(u5),cO(e,!0)}function cD(){var e=cy[cy.length-1];cy.pop(),cO(e,!1)}function cO(e,t){var r,n=u5;if((t?!ch.echoes||cg++&&e===u5:!cg||--cg&&e===u5)||(r=t?cS.bind(null,e):cD,uG.call(uz,r)),e!==u5&&(u5=e,n===u6&&(u6.env=cP()),uY)){var o=u6.env.Promise,i=e.env;uK.then=i.nthen,o.prototype.then=i.gthen,(n.global||e.global)&&(Object.defineProperty(lG,"Promise",i.PromiseProp),o.all=i.all,o.race=i.race,o.resolve=i.resolve,o.reject=i.reject,i.allSettled&&(o.allSettled=i.allSettled),i.any&&(o.any=i.any))}}function cP(){var e=lG.Promise;return uY?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(lG,"Promise"),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject,nthen:uK.then,gthen:e.prototype.then}:{}}function cC(e,t,r,n,o){var i=u5;try{return cO(e,!0),t(r,n,o)}finally{cO(i,!1)}}function ck(e,t,r,n){return"function"!=typeof e?e:function(){var o,i=u5;r&&c_(),cO(t,!0);try{return e.apply(this,arguments)}finally{cO(i,!1),n&&(o=cx,uG.call(uz,o))}}}function cj(e,t){return function(r,n){return e.call(this,ck(r,t),ck(n,t))}}-1===(""+uG).indexOf("[native code]")&&(c_=cx=uM);let cT="unhandledrejection";function cR(e,t){var r;try{r=t.onuncatched(e)}catch(e){}if(!1!==r)try{var n,o={promise:t,reason:e};if(lG.document&&document.createEvent?((n=document.createEvent("Event")).initEvent(cT,!0,!0),lZ(n,o)):lG.CustomEvent&&lZ(n=new CustomEvent(cT,{detail:o}),o),n&&lG.dispatchEvent&&(dispatchEvent(n),!lG.PromiseRejectionEvent&&lG.onunhandledrejection))try{lG.onunhandledrejection(n)}catch(e){}ub&&n&&!n.defaultPrevented&&console.warn(`Unhandled rejection: ${e.stack||e}`)}catch(e){}}var cN=ce.reject;let cM="3.2.7",cA=String.fromCharCode(65535),c$=-1/0,cI="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",cL="String expected.",cF=[],cB="u">typeof navigator&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),cV=e=>!/(dexie\.js|dexie\.min\.js)/.test(e),cU="__dbnames",cW="readonly",cz="readwrite";function cK(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}let cH={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function cG(e){return"string"!=typeof e||/\./.test(e)?e=>e:t=>(void 0===t[e]&&e in t&&delete(t=uc(t))[e],t)}class cq{_trans(e,t,r){let n=this._tx||u5.trans,o=this.name;function i(e,r,n){if(!n.schema[o])throw new uT.NotFound("Table "+o+" not part of transaction");return t(n.idbtrans,n)}let a=cu();try{return n&&n.db===this.db?n===u5.trans?n._promise(e,i,r):cw(()=>n._promise(e,i,r),{trans:n,transless:u5.transless||u5}):function e(t,r,n,o){if(t.idbdb&&(t._state.openComplete||u5.letThrough||t._vip)){var i=t._createTransaction(r,n,t._dbSchema);try{i.create(),t._state.PR1398_maxLoop=3}catch(i){return i.name===uj.InvalidState&&t.isOpen()&&--t._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),t._close(),t.open().then(()=>e(t,r,n,o))):cN(i)}return i._promise(r,(e,t)=>cw(()=>(u5.trans=i,o(e,t,i)))).then(e=>i._completion.then(()=>e))}if(t._state.openComplete)return cN(new uT.DatabaseClosed(t._state.dbOpenError));if(!t._state.isBeingOpened){if(!t._options.autoOpen)return cN(new uT.DatabaseClosed);t.open().catch(uM)}return t._state.dbReadyPromise.then(()=>e(t,r,n,o))}(this.db,e,[this.name],i)}finally{a&&cc()}}get(e,t){return e&&e.constructor===Object?this.where(e).first(t):this._trans("readonly",t=>this.core.get({trans:t,key:e}).then(e=>this.hook.reading.fire(e))).then(t)}where(e){if("string"==typeof e)return new this.db.WhereClause(this,e);if(lY(e))return new this.db.WhereClause(this,`[${e.join("+")}]`);let t=lq(e);if(1===t.length)return this.where(t[0]).equals(e[t[0]]);let r=this.schema.indexes.concat(this.schema.primKey).filter(e=>{if(e.compound&&t.every(t=>e.keyPath.indexOf(t)>=0)){for(let r=0;r<t.length;++r)if(-1===t.indexOf(e.keyPath[r]))return!1;return!0}return!1}).sort((e,t)=>e.keyPath.length-t.keyPath.length)[0];if(r&&this.db._maxKey!==cA){let n=r.keyPath.slice(0,t.length);return this.where(n).equals(n.map(t=>e[t]))}!r&&ub&&console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${t.join("+")}]`);let{idxByName:n}=this.schema,o=this.db._deps.indexedDB;function i(e,t){try{return 0===o.cmp(e,t)}catch(e){return!1}}let[a,s]=t.reduce(([t,r],o)=>{let a=n[o],s=e[o];return[t||a,t||!a?cK(r,a&&a.multi?e=>{let t=ur(e,o);return lY(t)&&t.some(e=>i(s,e))}:e=>i(s,ur(e,o))):r]},[null,null]);return a?this.where(a.name).equals(e[a.keyPath]).filter(s):r?this.filter(s):this.where(t).equals("")}filter(e){return this.toCollection().and(e)}count(e){return this.toCollection().count(e)}offset(e){return this.toCollection().offset(e)}limit(e){return this.toCollection().limit(e)}each(e){return this.toCollection().each(e)}toArray(e){return this.toCollection().toArray(e)}toCollection(){return new this.db.Collection(new this.db.WhereClause(this))}orderBy(e){return new this.db.Collection(new this.db.WhereClause(this,lY(e)?`[${e.join("+")}]`:e))}reverse(){return this.toCollection().reverse()}mapToClass(e){this.schema.mappedClass=e;let t=t=>{if(!t)return t;let r=Object.create(e.prototype);for(var n in t)if(lQ(t,n))try{r[n]=t[n]}catch(e){}return r};return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=t,this.hook("reading",t),e}defineClass(){return this.mapToClass(function(e){lZ(this,e)})}add(e,t){let{auto:r,keyPath:n}=this.schema.primKey,o=e;return n&&r&&(o=cG(n)(e)),this._trans("readwrite",e=>this.core.mutate({trans:e,type:"add",keys:null!=t?[t]:null,values:[o]})).then(e=>e.numFailures?ce.reject(e.failures[0]):e.lastResult).then(t=>{if(n)try{un(e,n,t)}catch(e){}return t})}update(e,t){if("object"!=typeof e||lY(e))return this.where(":id").equals(e).modify(t);{let r=ur(e,this.schema.primKey.keyPath);if(void 0===r)return cN(new uT.InvalidArgument("Given object does not contain its primary key"));try{"function"!=typeof t?lq(t).forEach(r=>{un(e,r,t[r])}):t(e,{value:e,primKey:r})}catch(e){}return this.where(":id").equals(r).modify(t)}}put(e,t){let{auto:r,keyPath:n}=this.schema.primKey,o=e;return n&&r&&(o=cG(n)(e)),this._trans("readwrite",e=>this.core.mutate({trans:e,type:"put",values:[o],keys:null!=t?[t]:null})).then(e=>e.numFailures?ce.reject(e.failures[0]):e.lastResult).then(t=>{if(n)try{un(e,n,t)}catch(e){}return t})}delete(e){return this._trans("readwrite",t=>this.core.mutate({trans:t,type:"delete",keys:[e]})).then(e=>e.numFailures?ce.reject(e.failures[0]):void 0)}clear(){return this._trans("readwrite",e=>this.core.mutate({trans:e,type:"deleteRange",range:cH})).then(e=>e.numFailures?ce.reject(e.failures[0]):void 0)}bulkGet(e){return this._trans("readonly",t=>this.core.getMany({keys:e,trans:t}).then(e=>e.map(e=>this.hook.reading.fire(e))))}bulkAdd(e,t,r){let n=Array.isArray(t)?t:void 0,o=(r=r||(n?void 0:t))?r.allKeys:void 0;return this._trans("readwrite",t=>{let{auto:r,keyPath:i}=this.schema.primKey;if(i&&n)throw new uT.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(n&&n.length!==e.length)throw new uT.InvalidArgument("Arguments objects and keys must have the same length");let a=e.length,s=i&&r?e.map(cG(i)):e;return this.core.mutate({trans:t,type:"add",keys:n,values:s,wantResults:o}).then(({numFailures:e,results:t,lastResult:r,failures:n})=>{if(0===e)return o?t:r;throw new uk(`${this.name}.bulkAdd(): ${e} of ${a} operations failed`,n)})})}bulkPut(e,t,r){let n=Array.isArray(t)?t:void 0,o=(r=r||(n?void 0:t))?r.allKeys:void 0;return this._trans("readwrite",t=>{let{auto:r,keyPath:i}=this.schema.primKey;if(i&&n)throw new uT.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(n&&n.length!==e.length)throw new uT.InvalidArgument("Arguments objects and keys must have the same length");let a=e.length,s=i&&r?e.map(cG(i)):e;return this.core.mutate({trans:t,type:"put",keys:n,values:s,wantResults:o}).then(({numFailures:e,results:t,lastResult:r,failures:n})=>{if(0===e)return o?t:r;throw new uk(`${this.name}.bulkPut(): ${e} of ${a} operations failed`,n)})})}bulkDelete(e){let t=e.length;return this._trans("readwrite",t=>this.core.mutate({trans:t,type:"delete",keys:e})).then(({numFailures:e,lastResult:r,failures:n})=>{if(0===e)return r;throw new uk(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`,n)})}}function cY(e){var t={},r=function(r,n){if(n){for(var o=arguments.length,i=Array(o-1);--o;)i[o-1]=arguments[o];return t[r].subscribe.apply(null,i),e}if("string"==typeof r)return t[r]};r.addEventType=i;for(var n=1,o=arguments.length;n<o;++n)i(arguments[n]);return r;function i(e,n,o){if("object"!=typeof e){n||(n=uV),o||(o=uM);var a={subscribers:[],fire:o,subscribe:function(e){-1===a.subscribers.indexOf(e)&&(a.subscribers.push(e),a.fire=n(a.fire,e))},unsubscribe:function(e){a.subscribers=a.subscribers.filter(function(t){return t!==e}),a.fire=a.subscribers.reduce(n,o)}};return t[e]=r[e]=a,a}lq(e).forEach(function(t){var r=e[t];if(lY(r))i(t,e[t][0],e[t][1]);else{if("asap"!==r)throw new uT.InvalidArgument("Invalid event config");var n=i(t,uA,function(){for(var e=arguments.length,t=Array(e);e--;)t[e]=arguments[e];n.subscribers.forEach(function(e){ue(function(){e.apply(null,t)})})})}})}}function cZ(e,t){return l4(t).from({prototype:e}),t}function cJ(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function cX(e,t){e.filter=cK(e.filter,t)}function cQ(e,t,r){var n=e.replayFilter;e.replayFilter=n?()=>cK(n(),t()):t,e.justLimit=r&&!n}function c0(e,t){if(e.isPrimKey)return t.primaryKey;let r=t.getIndexByKeyPath(e.index);if(!r)throw new uT.Schema("KeyPath "+e.index+" on object store "+t.name+" is not indexed");return r}function c1(e,t,r){let n=c0(e,t.schema);return t.openCursor({trans:r,values:!e.keysOnly,reverse:"prev"===e.dir,unique:!!e.unique,query:{index:n,range:e.range}})}function c2(e,t,r,n){let o=e.replayFilter?cK(e.filter,e.replayFilter()):e.filter;if(e.or){let i={},a=(e,r,n)=>{if(!o||o(r,n,e=>r.stop(e),e=>r.fail(e))){var a=r.primaryKey,s=""+a;"[object ArrayBuffer]"===s&&(s=""+new Uint8Array(a)),lQ(i,s)||(i[s]=!0,t(e,r,n))}};return Promise.all([e.or._iterate(a,r),c4(c1(e,n,r),e.algorithm,a,!e.keysOnly&&e.valueMapper)])}return c4(c1(e,n,r),cK(e.algorithm,o),t,!e.keysOnly&&e.valueMapper)}function c4(e,t,r,n){var o=cf(n?(e,t,o)=>r(n(e),t,o):r);return e.then(e=>{if(e)return e.start(()=>{var r=()=>e.continue();t&&!t(e,e=>r=e,t=>{e.stop(t),r=uM},t=>{e.fail(t),r=uM})||o(e.value,e,e=>r=e),r()})})}function c3(e,t){try{let r=c6(e),n=c6(t);if(r!==n)return"Array"===r?1:"Array"===n?-1:"binary"===r?1:"binary"===n?-1:"string"===r?1:"string"===n?-1:"Date"===r?1:"Date"!==n?NaN:-1;switch(r){case"number":case"Date":case"string":return e>t?1:e<t?-1:0;case"binary":return function(e,t){let r=e.length,n=t.length,o=r<n?r:n;for(let r=0;r<o;++r)if(e[r]!==t[r])return e[r]<t[r]?-1:1;return r===n?0:r<n?-1:1}(c5(e),c5(t));case"Array":return function(e,t){let r=e.length,n=t.length,o=r<n?r:n;for(let r=0;r<o;++r){let n=c3(e[r],t[r]);if(0!==n)return n}return r===n?0:r<n?-1:1}(e,t)}}catch(e){}return NaN}function c6(e){let t=typeof e;if("object"!==t)return t;if(ArrayBuffer.isView(e))return"binary";let r=up(e);return"ArrayBuffer"===r?"binary":r}function c5(e){return e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}class c9{_read(e,t){var r=this._ctx;return r.error?r.table._trans(null,cN.bind(null,r.error)):r.table._trans("readonly",e).then(t)}_write(e){var t=this._ctx;return t.error?t.table._trans(null,cN.bind(null,t.error)):t.table._trans("readwrite",e,"locked")}_addAlgorithm(e){var t=this._ctx;t.algorithm=cK(t.algorithm,e)}_iterate(e,t){return c2(this._ctx,e,t,this._ctx.table.core)}clone(e){var t=Object.create(this.constructor.prototype),r=Object.create(this._ctx);return e&&lZ(r,e),t._ctx=r,t}raw(){return this._ctx.valueMapper=null,this}each(e){var t=this._ctx;return this._read(r=>c2(t,e,r,t.table.core))}count(e){return this._read(e=>{let t=this._ctx,r=t.table.core;if(cJ(t,!0))return r.count({trans:e,query:{index:c0(t,r.schema),range:t.range}}).then(e=>Math.min(e,t.limit));var n=0;return c2(t,()=>(++n,!1),e,r).then(()=>n)}).then(e)}sortBy(e,t){let r=e.split(".").reverse(),n=r[0],o=r.length-1;function i(e,t){return t?i(e[r[t]],t-1):e[n]}var a="next"===this._ctx.dir?1:-1;function s(e,t){var r=i(e,o),n=i(t,o);return r<n?-a:r>n?a:0}return this.toArray(function(e){return e.sort(s)}).then(t)}toArray(e){return this._read(e=>{var t=this._ctx;if("next"===t.dir&&cJ(t,!0)&&t.limit>0){let{valueMapper:r}=t,n=c0(t,t.table.core.schema);return t.table.core.query({trans:e,limit:t.limit,values:!0,query:{index:n,range:t.range}}).then(({result:e})=>r?e.map(r):e)}{let r=[];return c2(t,e=>r.push(e),e,t.table.core).then(()=>r)}},e)}offset(e){var t=this._ctx;return e<=0||(t.offset+=e,cJ(t)?cQ(t,()=>{var t=e;return(e,r)=>0===t||(1===t?--t:r(()=>{e.advance(t),t=0}),!1)}):cQ(t,()=>{var t=e;return()=>--t<0})),this}limit(e){return this._ctx.limit=Math.min(this._ctx.limit,e),cQ(this._ctx,()=>{var t=e;return function(e,r,n){return--t<=0&&r(n),t>=0}},!0),this}until(e,t){return cX(this._ctx,function(r,n,o){return!e(r.value)||(n(o),t)}),this}first(e){return this.limit(1).toArray(function(e){return e[0]}).then(e)}last(e){return this.reverse().first(e)}filter(e){var t;return cX(this._ctx,function(t){return e(t.value)}),(t=this._ctx).isMatch=cK(t.isMatch,e),this}and(e){return this.filter(e)}or(e){return new this.db.WhereClause(this._ctx.table,e,this)}reverse(){return this._ctx.dir="prev"===this._ctx.dir?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this}desc(){return this.reverse()}eachKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each(function(t,r){e(r.key,r)})}eachUniqueKey(e){return this._ctx.unique="unique",this.eachKey(e)}eachPrimaryKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each(function(t,r){e(r.primaryKey,r)})}keys(e){var t=this._ctx;t.keysOnly=!t.isMatch;var r=[];return this.each(function(e,t){r.push(t.key)}).then(function(){return r}).then(e)}primaryKeys(e){var t=this._ctx;if("next"===t.dir&&cJ(t,!0)&&t.limit>0)return this._read(e=>{var r=c0(t,t.table.core.schema);return t.table.core.query({trans:e,values:!1,limit:t.limit,query:{index:r,range:t.range}})}).then(({result:e})=>e).then(e);t.keysOnly=!t.isMatch;var r=[];return this.each(function(e,t){r.push(t.primaryKey)}).then(function(){return r}).then(e)}uniqueKeys(e){return this._ctx.unique="unique",this.keys(e)}firstKey(e){return this.limit(1).keys(function(e){return e[0]}).then(e)}lastKey(e){return this.reverse().firstKey(e)}distinct(){var e=this._ctx,t=e.index&&e.table.schema.idxByName[e.index];if(!t||!t.multi)return this;var r={};return cX(this._ctx,function(e){var t=e.primaryKey.toString(),n=lQ(r,t);return r[t]=!0,!n}),this}modify(e){var t=this._ctx;return this._write(r=>{var n;if("function"==typeof e)n=e;else{var o=lq(e),i=o.length;n=function(t){for(var r=!1,n=0;n<i;++n){var a=o[n],s=e[a];ur(t,a)!==s&&(un(t,a,s),r=!0)}return r}}let a=t.table.core,{outbound:s,extractKey:l}=a.schema.primaryKey,u=this.db._options.modifyChunkSize||200,c=[],d=0,p=[],f=(e,t)=>{let{failures:r,numFailures:n}=t;for(let t of(d+=e-n,lq(r)))c.push(r[t])};return this.clone().primaryKeys().then(o=>{let i=c=>{let d=Math.min(u,o.length-c);return a.getMany({trans:r,keys:o.slice(c,c+d),cache:"immutable"}).then(p=>{let h=[],m=[],y=s?[]:null,g=[];for(let e=0;e<d;++e){let t=p[e],r={value:uc(t),primKey:o[c+e]};!1!==n.call(r,r.value,r)&&(null==r.value?g.push(o[c+e]):s||0===c3(l(t),l(r.value))?(m.push(r.value),s&&y.push(o[c+e])):(g.push(o[c+e]),h.push(r.value)))}let b=cJ(t)&&t.limit===1/0&&("function"!=typeof e||e===c7)&&{index:t.index,range:t.range};return Promise.resolve(h.length>0&&a.mutate({trans:r,type:"add",values:h}).then(e=>{for(let t in e.failures)g.splice(parseInt(t),1);f(h.length,e)})).then(()=>(m.length>0||b&&"object"==typeof e)&&a.mutate({trans:r,type:"put",keys:y,values:m,criteria:b,changeSpec:"function"!=typeof e&&e}).then(e=>f(m.length,e))).then(()=>(g.length>0||b&&e===c7)&&a.mutate({trans:r,type:"delete",keys:g,criteria:b}).then(e=>f(g.length,e))).then(()=>o.length>c+d&&i(c+u))})};return i(0).then(()=>{if(c.length>0)throw new uC("Error modifying one or more objects",c,d,p);return o.length})})})}delete(){var e=this._ctx,t=e.range;return cJ(e)&&(e.isPrimKey&&!cB||3===t.type)?this._write(r=>{let{primaryKey:n}=e.table.core.schema;return e.table.core.count({trans:r,query:{index:n,range:t}}).then(n=>e.table.core.mutate({trans:r,type:"deleteRange",range:t}).then(({failures:e,lastResult:t,results:r,numFailures:o})=>{if(o)throw new uC("Could not delete some values",Object.keys(e).map(t=>e[t]),n-o);return n-o}))}):this.modify(c7)}}let c7=(e,t)=>t.value=null;function c8(e,t){return e<t?-1:+(e!==t)}function de(e,t){return e>t?-1:+(e!==t)}function dt(e,t,r){var n=e instanceof ds?new e.Collection(e):e;return n._ctx.error=r?new r(t):TypeError(t),n}function dr(e){return new e.Collection(e,()=>da("")).limit(0)}function dn(e,t,r,n){var o,i,a,s,l,u,c,d=r.length;if(!r.every(e=>"string"==typeof e))return dt(e,cL);function p(e){o="next"===e?e=>e.toUpperCase():e=>e.toLowerCase(),i="next"===e?e=>e.toLowerCase():e=>e.toUpperCase(),a="next"===e?c8:de;var t=r.map(function(e){return{lower:i(e),upper:o(e)}}).sort(function(e,t){return a(e.lower,t.lower)});s=t.map(function(e){return e.upper}),l=t.map(function(e){return e.lower}),u=e,c="next"===e?"":n}p("next");var f=new e.Collection(e,()=>di(s[0],l[d-1]+n));f._ondirectionchange=function(e){p(e)};var h=0;return f._addAlgorithm(function(e,r,n){var o=e.key;if("string"!=typeof o)return!1;var p=i(o);if(t(p,l,h))return!0;for(var f=null,m=h;m<d;++m){var y=function(e,t,r,n,o,i){for(var a=Math.min(e.length,n.length),s=-1,l=0;l<a;++l){var u=t[l];if(u!==n[l])return 0>o(e[l],r[l])?e.substr(0,l)+r[l]+r.substr(l+1):0>o(e[l],n[l])?e.substr(0,l)+n[l]+r.substr(l+1):s>=0?e.substr(0,s)+t[s]+r.substr(s+1):null;0>o(e[l],u)&&(s=l)}return a<n.length&&"next"===i?e+r.substr(e.length):a<e.length&&"prev"===i?e.substr(0,r.length):s<0?null:e.substr(0,s)+n[s]+r.substr(s+1)}(o,p,s[m],l[m],a,u);null===y&&null===f?h=m+1:(null===f||a(f,y)>0)&&(f=y)}return r(null!==f?function(){e.continue(f+c)}:n),!1}),f}function di(e,t,r,n){return{type:2,lower:e,upper:t,lowerOpen:r,upperOpen:n}}function da(e){return{type:1,lower:e,upper:e}}class ds{get Collection(){return this._ctx.table.db.Collection}between(e,t,r,n){r=!1!==r,n=!0===n;try{return this._cmp(e,t)>0||0===this._cmp(e,t)&&(r||n)&&(!r||!n)?dr(this):new this.Collection(this,()=>di(e,t,!r,!n))}catch(e){return dt(this,cI)}}equals(e){return null==e?dt(this,cI):new this.Collection(this,()=>da(e))}above(e){return null==e?dt(this,cI):new this.Collection(this,()=>di(e,void 0,!0))}aboveOrEqual(e){return null==e?dt(this,cI):new this.Collection(this,()=>di(e,void 0,!1))}below(e){return null==e?dt(this,cI):new this.Collection(this,()=>di(void 0,e,!1,!0))}belowOrEqual(e){return null==e?dt(this,cI):new this.Collection(this,()=>di(void 0,e))}startsWith(e){return"string"!=typeof e?dt(this,cL):this.between(e,e+cA,!0,!0)}startsWithIgnoreCase(e){return""===e?this.startsWith(e):dn(this,(e,t)=>0===e.indexOf(t[0]),[e],cA)}equalsIgnoreCase(e){return dn(this,(e,t)=>e===t[0],[e],"")}anyOfIgnoreCase(){var e=uy.apply(um,arguments);return 0===e.length?dr(this):dn(this,(e,t)=>-1!==t.indexOf(e),e,"")}startsWithAnyOfIgnoreCase(){var e=uy.apply(um,arguments);return 0===e.length?dr(this):dn(this,(e,t)=>t.some(t=>0===e.indexOf(t)),e,cA)}anyOf(){let e=uy.apply(um,arguments),t=this._cmp;try{e.sort(t)}catch(e){return dt(this,cI)}if(0===e.length)return dr(this);let r=new this.Collection(this,()=>di(e[0],e[e.length-1]));r._ondirectionchange=r=>{t="next"===r?this._ascending:this._descending,e.sort(t)};let n=0;return r._addAlgorithm((r,o,i)=>{let a=r.key;for(;t(a,e[n])>0;)if(++n===e.length)return o(i),!1;return 0===t(a,e[n])||(o(()=>{r.continue(e[n])}),!1)}),r}notEqual(e){return this.inAnyRange([[c$,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})}noneOf(){let e=uy.apply(um,arguments);if(0===e.length)return new this.Collection(this);try{e.sort(this._ascending)}catch(e){return dt(this,cI)}let t=e.reduce((e,t)=>e?e.concat([[e[e.length-1][1],t]]):[[c$,t]],null);return t.push([e[e.length-1],this.db._maxKey]),this.inAnyRange(t,{includeLowers:!1,includeUppers:!1})}inAnyRange(e,t){let r=this._cmp,n=this._ascending,o=this._descending,i=this._min,a=this._max;if(0===e.length)return dr(this);if(!e.every(e=>void 0!==e[0]&&void 0!==e[1]&&0>=n(e[0],e[1])))return dt(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",uT.InvalidArgument);let s=!t||!1!==t.includeLowers,l=t&&!0===t.includeUppers,u,c=n;function d(e,t){return c(e[0],t[0])}try{(u=e.reduce(function(e,t){let n=0,o=e.length;for(;n<o;++n){let o=e[n];if(0>r(t[0],o[1])&&r(t[1],o[0])>0){o[0]=i(o[0],t[0]),o[1]=a(o[1],t[1]);break}}return n===o&&e.push(t),e},[])).sort(d)}catch(e){return dt(this,cI)}let p=0,f=l?e=>n(e,u[p][1])>0:e=>n(e,u[p][1])>=0,h=s?e=>o(e,u[p][0])>0:e=>o(e,u[p][0])>=0,m=f,y=new this.Collection(this,()=>di(u[0][0],u[u.length-1][1],!s,!l));return y._ondirectionchange=e=>{"next"===e?(m=f,c=n):(m=h,c=o),u.sort(d)},y._addAlgorithm((e,t,r)=>{for(var o=e.key;m(o);)if(++p===u.length)return t(r),!1;return!!(!f(o)&&!h(o))||(0===this._cmp(o,u[p][1])||0===this._cmp(o,u[p][0])||t(()=>{c===n?e.continue(u[p][0]):e.continue(u[p][1])}),!1)}),y}startsWithAnyOf(){let e=uy.apply(um,arguments);return e.every(e=>"string"==typeof e)?0===e.length?dr(this):this.inAnyRange(e.map(e=>[e,e+cA])):dt(this,"startsWithAnyOf() only works with strings")}}function dl(e){return cf(function(t){return du(t),e(t.target.error),!1})}function du(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}let dc="storagemutated",dd="x-storagemutated-1",dp=cY(null,dc);class df{_lock(){return l8(!u5.global),++this._reculock,1!==this._reculock||u5.global||(u5.lockOwnerFor=this),this}_unlock(){if(l8(!u5.global),0==--this._reculock)for(u5.global||(u5.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var e=this._blockedFuncs.shift();try{cC(e[1],e[0])}catch(e){}}return this}_locked(){return this._reculock&&u5.lockOwnerFor!==this}create(e){if(!this.mode)return this;let t=this.db.idbdb,r=this.db._state.dbOpenError;if(l8(!this.idbtrans),!e&&!t)switch(r&&r.name){case"DatabaseClosedError":throw new uT.DatabaseClosed(r);case"MissingAPIError":throw new uT.MissingAPI(r.message,r);default:throw new uT.OpenFailed(r)}if(!this.active)throw new uT.TransactionInactive;return l8(null===this._completion._state),(e=this.idbtrans=e||(this.db.core?this.db.core.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}):t.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}))).onerror=cf(t=>{du(t),this._reject(e.error)}),e.onabort=cf(t=>{du(t),this.active&&this._reject(new uT.Abort(e.error)),this.active=!1,this.on("abort").fire(t)}),e.oncomplete=cf(()=>{this.active=!1,this._resolve(),"mutatedParts"in e&&dp.storagemutated.fire(e.mutatedParts)}),this}_promise(e,t,r){if("readwrite"===e&&"readwrite"!==this.mode)return cN(new uT.ReadOnly("Transaction is readonly"));if(!this.active)return cN(new uT.TransactionInactive);if(this._locked())return new ce((n,o)=>{this._blockedFuncs.push([()=>{this._promise(e,t,r).then(n,o)},u5])});if(r)return cw(()=>{var e=new ce((e,r)=>{this._lock();let n=t(e,r,this);n&&n.then&&n.then(e,r)});return e.finally(()=>this._unlock()),e._lib=!0,e});var n=new ce((e,r)=>{var n=t(e,r,this);n&&n.then&&n.then(e,r)});return n._lib=!0,n}_root(){return this.parent?this.parent._root():this}waitFor(e){var t=this._root();let r=ce.resolve(e);if(t._waitingFor)t._waitingFor=t._waitingFor.then(()=>r);else{t._waitingFor=r,t._waitingQueue=[];var n=t.idbtrans.objectStore(t.storeNames[0]);!function e(){for(++t._spinCount;t._waitingQueue.length;)t._waitingQueue.shift()();t._waitingFor&&(n.get(-1/0).onsuccess=e)}()}var o=t._waitingFor;return new ce((e,n)=>{r.then(r=>t._waitingQueue.push(cf(e.bind(null,r))),e=>t._waitingQueue.push(cf(n.bind(null,e)))).finally(()=>{t._waitingFor===o&&(t._waitingFor=null)})})}abort(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new uT.Abort))}table(e){let t=this._memoizedTables||(this._memoizedTables={});if(lQ(t,e))return t[e];let r=this.schema[e];if(!r)throw new uT.NotFound("Table "+e+" not part of transaction");let n=new this.db.Table(e,r,this);return n.core=this.db.core.table(e),t[e]=n,n}}function dh(e,t,r,n,o,i,a){return{name:e,keyPath:t,unique:r,multi:n,auto:o,compound:i,src:(r&&!a?"&":"")+(n?"*":"")+(o?"++":"")+dm(t)}}function dm(e){return"string"==typeof e?e:e?"["+[].join.call(e,"+")+"]":""}function dy(e,t,r){return{name:e,primKey:t,indexes:r,mappedClass:null,idxByName:ut(r,e=>[e.name,e])}}let dg=e=>{try{return e.only([[]]),dg=()=>[[]],[[]]}catch(e){return dg=()=>cA,cA}};function db(e){return null==e?()=>{}:"string"==typeof e?1===e.split(".").length?t=>t[e]:t=>ur(t,e):t=>ur(t,e)}function dv(e){return[].slice.call(e)}let dw=0;function d_(e){return null==e?":id":"string"==typeof e?e:`[${e.join("+")}]`}function dx({_novip:e},t){let r=t.db,n=function(e,t,{IDBKeyRange:r,indexedDB:n},o){var i;return{dbcore:(i=function(e,t,r){let n;function o(e){if(3===e.type)return null;if(4===e.type)throw Error("Cannot convert never type to IDBKeyRange");let{lower:r,upper:n,lowerOpen:o,upperOpen:i}=e;return void 0===r?void 0===n?null:t.upperBound(n,!!i):void 0===n?t.lowerBound(r,!!o):t.bound(r,n,!!o,!!i)}let{schema:i,hasGetAll:a}=(n=dv(e.objectStoreNames),{schema:{name:e.name,tables:n.map(e=>r.objectStore(e)).map(e=>{let{keyPath:t,autoIncrement:r}=e,n=lY(t),o=null==t,i={},a={name:e.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:o,compound:n,keyPath:t,autoIncrement:r,unique:!0,extractKey:db(t)},indexes:dv(e.indexNames).map(t=>e.index(t)).map(e=>{let{name:t,unique:r,multiEntry:n,keyPath:o}=e,a={name:t,compound:lY(o),keyPath:o,unique:r,multiEntry:n,extractKey:db(o)};return i[d_(o)]=a,a}),getIndexByKeyPath:e=>i[d_(e)]};return i[":id"]=a.primaryKey,null!=t&&(i[d_(t)]=a.primaryKey),a})},hasGetAll:n.length>0&&"getAll"in r.objectStore(n[0])&&!("u">typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}),s=i.tables.map(e=>{let t;return{name:t=e.name,schema:e,mutate:function({trans:e,type:r,keys:n,values:i,range:a}){return new Promise((s,l)=>{let u;s=cf(s);let c=e.objectStore(t),d=null==c.keyPath,p="put"===r||"add"===r;if(!p&&"delete"!==r&&"deleteRange"!==r)throw Error("Invalid operation type: "+r);let{length:f}=n||i||{length:1};if(n&&i&&n.length!==i.length)throw Error("Given keys array must have same length as given values array.");if(0===f)return s({numFailures:0,failures:{},results:[],lastResult:void 0});let h=[],m=[],y=0,g=e=>{++y,du(e)};if("deleteRange"===r){if(4===a.type)return s({numFailures:y,failures:m,results:[],lastResult:void 0});3===a.type?h.push(u=c.clear()):h.push(u=c.delete(o(a)))}else{let[e,t]=p?d?[i,n]:[i,null]:[n,null];if(p)for(let n=0;n<f;++n)h.push(u=t&&void 0!==t[n]?c[r](e[n],t[n]):c[r](e[n])),u.onerror=g;else for(let t=0;t<f;++t)h.push(u=c[r](e[t])),u.onerror=g}let b=e=>{let t=e.target.result;h.forEach((e,t)=>null!=e.error&&(m[t]=e.error)),s({numFailures:y,failures:m,results:"delete"===r?n:h.map(e=>e.result),lastResult:t})};u.onerror=e=>{g(e),b(e)},u.onsuccess=b})},getMany:({trans:e,keys:r})=>new Promise((n,o)=>{n=cf(n);let i=e.objectStore(t),a=r.length,s=Array(a),l,u=0,c=0,d=e=>{let t=e.target;s[t._pos]=t.result,++c===u&&n(s)},p=dl(o);for(let e=0;e<a;++e)null!=r[e]&&((l=i.get(r[e]))._pos=e,l.onsuccess=d,l.onerror=p,++u);0===u&&n(s)}),get:({trans:e,key:r})=>new Promise((n,o)=>{n=cf(n);let i=e.objectStore(t).get(r);i.onsuccess=e=>n(e.target.result),i.onerror=dl(o)}),query:e=>new Promise((r,n)=>{r=cf(r);let{trans:i,values:s,limit:l,query:u}=e,c=l===1/0?void 0:l,{index:d,range:p}=u,f=i.objectStore(t),h=d.isPrimaryKey?f:f.index(d.name),m=o(p);if(0===l)return r({result:[]});if(a){let e=s?h.getAll(m,c):h.getAllKeys(m,c);e.onsuccess=e=>r({result:e.target.result}),e.onerror=dl(n)}else{let e=0,t=!s&&"openKeyCursor"in h?h.openKeyCursor(m):h.openCursor(m),o=[];t.onsuccess=n=>{let i=t.result;return i?(o.push(s?i.value:i.primaryKey),++e===l?r({result:o}):void i.continue()):r({result:o})},t.onerror=dl(n)}}),openCursor:function({trans:e,values:r,query:n,reverse:i,unique:a}){return new Promise((s,l)=>{s=cf(s);let{index:u,range:c}=n,d=e.objectStore(t),p=u.isPrimaryKey?d:d.index(u.name),f=i?a?"prevunique":"prev":a?"nextunique":"next",h=!r&&"openKeyCursor"in p?p.openKeyCursor(o(c),f):p.openCursor(o(c),f);h.onerror=dl(l),h.onsuccess=cf(t=>{let r=h.result;if(!r)return void s(null);r.___id=++dw,r.done=!1;let n=r.continue.bind(r),o=r.continuePrimaryKey;o&&(o=o.bind(r));let i=r.advance.bind(r),a=()=>{throw Error("Cursor not stopped")};r.trans=e,r.stop=r.continue=r.continuePrimaryKey=r.advance=()=>{throw Error("Cursor not started")},r.fail=cf(l),r.next=function(){let e=1;return this.start(()=>e--?this.continue():this.stop()).then(()=>this)},r.start=e=>{let t=new Promise((e,t)=>{e=cf(e),h.onerror=dl(t),r.fail=t,r.stop=t=>{r.stop=r.continue=r.continuePrimaryKey=r.advance=a,e(t)}}),s=()=>{if(h.result)try{e()}catch(e){r.fail(e)}else r.done=!0,r.start=()=>{throw Error("Cursor behind last entry")},r.stop()};return h.onsuccess=cf(e=>{h.onsuccess=s,s()}),r.continue=n,r.continuePrimaryKey=o,r.advance=i,s(),t},s(r)},l)})},count({query:e,trans:r}){let{index:n,range:i}=e;return new Promise((e,a)=>{let s=r.objectStore(t),l=n.isPrimaryKey?s:s.index(n.name),u=o(i),c=u?l.count(u):l.count();c.onsuccess=cf(t=>e(t.target.result)),c.onerror=dl(a)})}}}),l={};return s.forEach(e=>l[e.name]=e),{stack:"dbcore",transaction:e.transaction.bind(e),table(e){if(!l[e])throw Error(`Table '${e}' not found`);return l[e]},MIN_KEY:-1/0,MAX_KEY:dg(t),schema:i}}(t,r,o),e.dbcore.reduce((e,{create:t})=>({...e,...t(e)}),i))}}(e._middlewares,r,e._deps,t);e.core=n.dbcore,e.tables.forEach(t=>{let r=t.name;e.core.schema.tables.some(e=>e.name===r)&&(t.core=e.core.table(r),e[r]instanceof e.Table&&(e[r].core=t.core))})}function dE({_novip:e},t,r,n){r.forEach(r=>{let o=n[r];t.forEach(t=>{let n=l6(t,r);(!n||"value"in n&&void 0===n.value)&&(t===e.Transaction.prototype||t instanceof e.Transaction?l2(t,r,{get(){return this.table(r)},set(e){l1(this,r,{value:e,writable:!0,configurable:!0,enumerable:!0})}}):t[r]=new e.Table(r,o))})})}function dS({_novip:e},t){t.forEach(t=>{for(let r in t)t[r]instanceof e.Table&&delete t[r]})}function dD(e,t){return e._cfg.version-t._cfg.version}function dO(e,t){let r,n={del:[],add:[],change:[]};for(r in e)t[r]||n.del.push(r);for(r in t){let o=e[r],i=t[r];if(o){let e={name:r,def:i,recreate:!1,del:[],add:[],change:[]};if(""+(o.primKey.keyPath||"")==""+(i.primKey.keyPath||"")&&(o.primKey.auto===i.primKey.auto||cB)){let t,r=o.idxByName,a=i.idxByName;for(t in r)a[t]||e.del.push(t);for(t in a){let n=r[t],o=a[t];n?n.src!==o.src&&e.change.push(o):e.add.push(o)}(e.del.length>0||e.add.length>0||e.change.length>0)&&n.change.push(e)}else e.recreate=!0,n.change.push(e)}else n.add.push([r,i])}return n}function dP(e,t,r,n){let o=e.db.createObjectStore(t,r.keyPath?{keyPath:r.keyPath,autoIncrement:r.auto}:{autoIncrement:r.auto});return n.forEach(e=>dC(o,e)),o}function dC(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function dk(e,t,r){let n={};return l9(t.objectStoreNames,0).forEach(e=>{let t=r.objectStore(e),o=t.keyPath,i=dh(dm(o),o||"",!1,!1,!!t.autoIncrement,o&&"string"!=typeof o,!0),a=[];for(let e=0;e<t.indexNames.length;++e){let r=t.index(t.indexNames[e]);o=r.keyPath;var s=dh(r.name,o,!!r.unique,!!r.multiEntry,!1,o&&"string"!=typeof o,!1);a.push(s)}n[e]=dy(e,i,a)}),n}function dj({_novip:e},t,r){let n=r.db.objectStoreNames;for(let o=0;o<n.length;++o){let i=n[o],a=r.objectStore(i);e._hasGetAll="getAll"in a;for(let e=0;e<a.indexNames.length;++e){let r=a.indexNames[e],n=a.index(r).keyPath,o="string"==typeof n?n:"["+l9(n).join("+")+"]";if(t[i]){let e=t[i].idxByName[o];e&&(e.name=r,delete t[i].idxByName[o],t[i].idxByName[r]=e)}}}"u">typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&lG.WorkerGlobalScope&&lG instanceof lG.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(e._hasGetAll=!1)}class dT{_parseStoresSpec(e,t){lq(e).forEach(r=>{if(null!==e[r]){var n=e[r].split(",").map((e,t)=>{let r=(e=e.trim()).replace(/([&*]|\+\+)/g,""),n=/^\[/.test(r)?r.match(/^\[(.*)\]$/)[1].split("+"):r;return dh(r,n||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),lY(n),0===t)}),o=n.shift();if(o.multi)throw new uT.Schema("Primary key cannot be multi-valued");n.forEach(e=>{if(e.auto)throw new uT.Schema("Only primary key can be marked as autoIncrement (++)");if(!e.keyPath)throw new uT.Schema("Index must have a name and cannot be an empty string")}),t[r]=dy(r,o,n)}})}stores(e){let t=this.db;this._cfg.storesSource=this._cfg.storesSource?lZ(this._cfg.storesSource,e):e;let r=t._versions,n={},o={};return r.forEach(e=>{lZ(n,e._cfg.storesSource),o=e._cfg.dbschema={},e._parseStoresSpec(n,o)}),t._dbSchema=o,dS(t,[t._allTables,t,t.Transaction.prototype]),dE(t,[t._allTables,t,t.Transaction.prototype,this._cfg.tables],lq(o),o),t._storeNames=lq(o),this}upgrade(e){return this._cfg.contentUpgrade=uU(this._cfg.contentUpgrade||uM,e),this}}function dR(e,t){let r=e._dbNamesDB;return r||(r=e._dbNamesDB=new dJ(cU,{addons:[],indexedDB:e,IDBKeyRange:t})).version(1).stores({dbnames:"name"}),r.table("dbnames")}function dN(e){return e&&"function"==typeof e.databases}function dM(e){return cw(function(){return u5.letThrough=!0,e()})}function dA(e){var t=t=>e.next(t),r=o(t),n=o(t=>e.throw(t));function o(e){return t=>{var o=e(t),i=o.value;return o.done?i:i&&"function"==typeof i.then?i.then(r,n):lY(i)?Promise.all(i).then(r,n):r(i)}}return o(t)()}function d$(e,t,r){var n=arguments.length;if(n<2)throw new uT.InvalidArgument("Too few arguments");for(var o=Array(n-1);--n;)o[n-1]=arguments[n];return r=o.pop(),[e,ua(o),r]}function dI(e,t,r){let n=lY(e)?e.slice():[e];for(let e=0;e<r;++e)n.push(t);return n}let dL={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:function(e){return{...e,table(t){let r=e.table(t),{schema:n}=r,o={},i=[];function a(e,t,r){let n=d_(e),s=o[n]=o[n]||[],l=null==e?0:"string"==typeof e?1:e.length,u=t>0,c={...r,isVirtual:u,keyTail:t,keyLength:l,extractKey:db(e),unique:!u&&r.unique};return s.push(c),c.isPrimaryKey||i.push(c),l>1&&a(2===l?e[0]:e.slice(0,l-1),t+1,r),s.sort((e,t)=>e.keyTail-t.keyTail),c}let s=a(n.primaryKey.keyPath,0,n.primaryKey);for(let e of(o[":id"]=[s],n.indexes))a(e.keyPath,0,e);function l(t){var r,n;let o=t.query.index;return o.isVirtual?{...t,query:{index:o,range:(r=t.query.range,n=o.keyTail,{type:1===r.type?2:r.type,lower:dI(r.lower,r.lowerOpen?e.MAX_KEY:e.MIN_KEY,n),lowerOpen:!0,upper:dI(r.upper,r.upperOpen?e.MIN_KEY:e.MAX_KEY,n),upperOpen:!0})}}:t}return{...r,schema:{...n,primaryKey:s,indexes:i,getIndexByKeyPath:function(e){let t=o[d_(e)];return t&&t[0]}},count:e=>r.count(l(e)),query:e=>r.query(l(e)),openCursor(t){let{keyTail:n,isVirtual:o,keyLength:i}=t.query.index;return o?r.openCursor(l(t)).then(r=>r&&Object.create(r,{continue:{value:function(o){null!=o?r.continue(dI(o,t.reverse?e.MAX_KEY:e.MIN_KEY,n)):t.unique?r.continue(r.key.slice(0,i).concat(t.reverse?e.MIN_KEY:e.MAX_KEY,n)):r.continue()}},continuePrimaryKey:{value(t,o){r.continuePrimaryKey(dI(t,e.MAX_KEY,n),o)}},primaryKey:{get:()=>r.primaryKey},key:{get(){let e=r.key;return 1===i?e[0]:e.slice(0,i)}},value:{get:()=>r.value}})):r.openCursor(t)}}}}}};function dF(e,t,r,n){return r=r||{},n=n||"",lq(e).forEach(o=>{if(lQ(t,o)){var i=e[o],a=t[o];if("object"==typeof i&&"object"==typeof a&&i&&a){let e=up(i);e!==up(a)?r[n+o]=t[o]:"Object"===e?dF(i,a,r,n+o+"."):i!==a&&(r[n+o]=t[o])}else i!==a&&(r[n+o]=t[o])}else r[n+o]=void 0}),lq(t).forEach(o=>{lQ(e,o)||(r[n+o]=t[o])}),r}let dB={stack:"dbcore",name:"HooksMiddleware",level:2,create:e=>({...e,table(t){let r=e.table(t),{primaryKey:n}=r.schema;return{...r,mutate(e){let o=u5.trans,{deleting:i,creating:a,updating:s}=o.table(t).hook;switch(e.type){case"add":if(a.fire===uM)break;return o._promise("readwrite",()=>l(e),!0);case"put":if(a.fire===uM&&s.fire===uM)break;return o._promise("readwrite",()=>l(e),!0);case"delete":if(i.fire===uM)break;return o._promise("readwrite",()=>l(e),!0);case"deleteRange":if(i.fire===uM)break;return o._promise("readwrite",()=>(function e(t,o,i){return r.query({trans:t,values:!1,query:{index:n,range:o},limit:i}).then(({result:r})=>l({type:"delete",keys:r,trans:t}).then(n=>n.numFailures>0?Promise.reject(n.failures[0]):r.length<i?{failures:[],numFailures:0,lastResult:void 0}:e(t,{...o,lower:r[r.length-1],lowerOpen:!0},i)))})(e.trans,e.range,1e4),!0)}return r.mutate(e);function l(e){var t,o;let l=u5.trans,u=e.keys||("delete"===(t=e).type?t.keys:t.keys||t.values.map(n.extractKey));if(!u)throw Error("Keys missing");return"delete"!==(e="add"===e.type||"put"===e.type?{...e,keys:u}:{...e}).type&&(e.values=[...e.values]),e.keys&&(e.keys=[...e.keys]),("add"===(o=e).type?Promise.resolve([]):r.getMany({trans:o.trans,keys:u,cache:"immutable"})).then(t=>{let o=u.map((r,o)=>{let u=t[o],c={onerror:null,onsuccess:null};if("delete"===e.type)i.fire.call(c,r,u,l);else if("add"===e.type||void 0===u){let t=a.fire.call(c,r,e.values[o],l);null==r&&null!=t&&(r=t,e.keys[o]=r,n.outbound||un(e.values[o],n.keyPath,r))}else{let t=dF(u,e.values[o]),n=s.fire.call(c,t,r,u,l);if(n){let t=e.values[o];Object.keys(n).forEach(e=>{lQ(t,e)?t[e]=n[e]:un(t,e,n[e])})}}return c});return r.mutate(e).then(({failures:r,results:n,numFailures:i,lastResult:a})=>{for(let i=0;i<u.length;++i){let a=n?n[i]:u[i],s=o[i];null==a?s.onerror&&s.onerror(r[i]):s.onsuccess&&s.onsuccess("put"===e.type&&t[i]?e.values[i]:a)}return{failures:r,results:n,numFailures:i,lastResult:a}}).catch(e=>(o.forEach(t=>t.onerror&&t.onerror(e)),Promise.reject(e)))})}}}}})};function dV(e,t,r){try{if(!t||t.keys.length<e.length)return null;let n=[];for(let o=0,i=0;o<t.keys.length&&i<e.length;++o)0===c3(t.keys[o],e[i])&&(n.push(r?uc(t.values[o]):t.values[o]),++i);return n.length===e.length?n:null}catch(e){return null}}let dU={stack:"dbcore",level:-1,create:e=>({table:t=>{let r=e.table(t);return{...r,getMany:e=>{if(!e.cache)return r.getMany(e);let t=dV(e.keys,e.trans._cache,"clone"===e.cache);return t?ce.resolve(t):r.getMany(e).then(t=>(e.trans._cache={keys:e.keys,values:"clone"===e.cache?uc(t):t},t))},mutate:e=>("add"!==e.type&&(e.trans._cache=null),r.mutate(e))}}})};function dW(e){return!("from"in e)}let dz=function(e,t){if(!this){let t=new dz;return e&&"d"in e&&lZ(t,e),t}lZ(this,arguments.length?{d:1,from:e,to:arguments.length>1?t:e}:{d:0})};function dK(e,t,r){let n=c3(t,r);if(isNaN(n))return;if(n>0)throw RangeError();if(dW(e))return lZ(e,{from:t,to:r,d:1});let o=e.l,i=e.r;if(0>c3(r,e.from))return o?dK(o,t,r):e.l={from:t,to:r,d:1,l:null,r:null},dq(e);if(c3(t,e.to)>0)return i?dK(i,t,r):e.r={from:t,to:r,d:1,l:null,r:null},dq(e);0>c3(t,e.from)&&(e.from=t,e.l=null,e.d=i?i.d+1:1),c3(r,e.to)>0&&(e.to=r,e.r=null,e.d=e.l?e.l.d+1:1);let a=!e.r;o&&!e.l&&dH(e,o),i&&a&&dH(e,i)}function dH(e,t){dW(t)||function e(t,{from:r,to:n,l:o,r:i}){dK(t,r,n),o&&e(t,o),i&&e(t,i)}(e,t)}function dG(e){let t=dW(e)?null:{s:0,n:e};return{next(e){let r=arguments.length>0;for(;t;)switch(t.s){case 0:if(t.s=1,r)for(;t.n.l&&0>c3(e,t.n.from);)t={up:t,n:t.n.l,s:1};else for(;t.n.l;)t={up:t,n:t.n.l,s:1};case 1:if(t.s=2,!r||0>=c3(e,t.n.to))return{value:t.n,done:!1};case 2:if(t.n.r){t.s=3,t={up:t,n:t.n.r,s:0};continue}case 3:t=t.up}return{done:!0}}}}function dq(e){var t,r;let n=((null==(t=e.r)?void 0:t.d)||0)-((null==(r=e.l)?void 0:r.d)||0),o=n>1?"r":n<-1?"l":"";if(o){let t="r"===o?"l":"r",r={...e},n=e[o];e.from=n.from,e.to=n.to,e[o]=n[o],r[o]=n[t],e[t]=r,r.d=dY(r)}e.d=dY(e)}function dY({r:e,l:t}){return(e?t?Math.max(e.d,t.d):e.d:t?t.d:0)+1}l0(dz.prototype,{add(e){return dH(this,e),this},addKey(e){return dK(this,e,e),this},addKeys(e){return e.forEach(e=>dK(this,e,e)),this},[uf](){return dG(this)}});let dZ={stack:"dbcore",level:0,create:e=>{let t=e.schema.name,r=new dz(e.MIN_KEY,e.MAX_KEY);return{...e,table:n=>{let o=e.table(n),{schema:i}=o,{primaryKey:a}=i,{extractKey:s,outbound:l}=a,u={...o,mutate:e=>{let a=e.trans,s=a.mutatedParts||(a.mutatedParts={}),l=e=>{let r=`idb://${t}/${n}/${e}`;return s[r]||(s[r]=new dz)},u=l(""),c=l(":dels"),{type:d}=e,[p,f]="deleteRange"===e.type?[e.range]:"delete"===e.type?[e.keys]:e.values.length<50?[[],e.values]:[],h=e.trans._cache;return o.mutate(e).then(e=>{if(lY(p)){"delete"!==d&&(p=e.results),u.addKeys(p);let t=dV(p,h);t||"add"===d||c.addKeys(p),(t||f)&&i.indexes.forEach(function(e){let r=l(e.name||"");function n(t){return null!=t?e.extractKey(t):null}let o=t=>e.multiEntry&&lY(t)?t.forEach(e=>r.addKey(e)):r.addKey(t);(t||f).forEach((e,r)=>{let i=t&&n(t[r]),a=f&&n(f[r]);0!==c3(i,a)&&(null!=i&&o(i),null!=a&&o(a))})})}else if(p){let e={from:p.lower,to:p.upper};c.add(e),u.add(e)}else u.add(r),c.add(r),i.indexes.forEach(e=>l(e.name).add(r));return e})}},c=({query:{index:t,range:r}})=>{var n,o;return[t,new dz(null!=(n=r.lower)?n:e.MIN_KEY,null!=(o=r.upper)?o:e.MAX_KEY)]},d={get:e=>[a,new dz(e.key)],getMany:e=>[a,(new dz).addKeys(e.keys)],count:c,query:c,openCursor:c};return lq(d).forEach(e=>{u[e]=function(i){let{subscr:a}=u5;if(a){let u=e=>{let r=`idb://${t}/${n}/${e}`;return a[r]||(a[r]=new dz)},c=u(""),p=u(":dels"),[f,h]=d[e](i);if(u(f.name||"").add(h),!f.isPrimaryKey){if("count"!==e){let t="query"===e&&l&&i.values&&o.query({...i,values:!1});return o[e].apply(this,arguments).then(r=>{if("query"===e){if(l&&i.values)return t.then(({result:e})=>(c.addKeys(e),r));let e=i.values?r.result.map(s):r.result;i.values?c.addKeys(e):p.addKeys(e)}else if("openCursor"===e){let e=i.values;return r&&Object.create(r,{key:{get:()=>(p.addKey(r.primaryKey),r.key)},primaryKey:{get(){let e=r.primaryKey;return p.addKey(e),e}},value:{get:()=>(e&&c.addKey(r.primaryKey),r.value)}})}return r})}p.add(r)}}return o[e].apply(this,arguments)}}),u}}}};class dJ{constructor(e,t){var r;this._middlewares={},this.verno=0;const n=dJ.dependencies;this._options=t={addons:dJ.addons,autoOpen:!0,indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange,...t},this._deps={indexedDB:t.indexedDB,IDBKeyRange:t.IDBKeyRange};const{addons:o}=t;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;const i={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:uM,dbReadyPromise:null,cancelOpen:uM,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3};i.dbReadyPromise=new ce(e=>{i.dbReadyResolve=e}),i.openCanceller=new ce((e,t)=>{i.cancelOpen=t}),this._state=i,this.name=e,this.on=cY(this,"populate","blocked","versionchange","close",{ready:[uU,uM]}),this.on.ready.subscribe=l7(this.on.ready.subscribe,e=>(t,r)=>{dJ.vip(()=>{let n=this._state;if(n.openComplete)n.dbOpenError||ce.resolve().then(t),r&&e(t);else if(n.onReadyBeingFired)n.onReadyBeingFired.push(t),r&&e(t);else{e(t);let n=this;r||e(function e(){n.on.ready.unsubscribe(t),n.on.ready.unsubscribe(e)})}})}),this.Collection=(r=this,cZ(c9.prototype,function(e,t){this.db=r;let n=cH,o=null;if(t)try{n=t()}catch(e){o=e}let i=e._ctx,a=i.table,s=a.hook.reading.fire;this._ctx={table:a,index:i.index,isPrimKey:!i.index||a.schema.primKey.keyPath&&i.index===a.schema.primKey.name,range:n,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:o,or:i.or,valueMapper:s!==uA?s:null}})),this.Table=function(e){return cZ(cq.prototype,function(t,r,n){this.db=e,this._tx=n,this.name=t,this.schema=r,this.hook=e._allTables[t]?e._allTables[t].hook:cY(null,{creating:[uL,uM],reading:[u$,uA],updating:[uB,uM],deleting:[uF,uM]})})}(this),this.Transaction=function(e){return cZ(df.prototype,function(t,r,n,o,i){this.db=e,this.mode=t,this.storeNames=r,this.schema=n,this.chromeTransactionDurability=o,this.idbtrans=null,this.on=cY(this,"complete","error","abort"),this.parent=i||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new ce((e,t)=>{this._resolve=e,this._reject=t}),this._completion.then(()=>{this.active=!1,this.on.complete.fire()},e=>{var t=this.active;return this.active=!1,this.on.error.fire(e),this.parent?this.parent._reject(e):t&&this.idbtrans&&this.idbtrans.abort(),cN(e)})})}(this),this.Version=function(e){return cZ(dT.prototype,function(t){this.db=e,this._cfg={version:t,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})}(this),this.WhereClause=function(e){return cZ(ds.prototype,function(t,r,n){this.db=e,this._ctx={table:t,index:":id"===r?null:r,or:n};let o=e._deps.indexedDB;if(!o)throw new uT.MissingAPI;this._cmp=this._ascending=o.cmp.bind(o),this._descending=(e,t)=>o.cmp(t,e),this._max=(e,t)=>o.cmp(e,t)>0?e:t,this._min=(e,t)=>0>o.cmp(e,t)?e:t,this._IDBKeyRange=e._deps.IDBKeyRange})}(this),this.on("versionchange",e=>{e.newVersion>0?console.warn(`Another connection wants to upgrade database '${this.name}'. Closing db now to resume the upgrade.`):console.warn(`Another connection wants to delete database '${this.name}'. Closing db now to resume the delete request.`),this.close()}),this.on("blocked",e=>{!e.newVersion||e.newVersion<e.oldVersion?console.warn(`Dexie.delete('${this.name}') was blocked`):console.warn(`Upgrade '${this.name}' blocked by other connection holding version ${e.oldVersion/10}`)}),this._maxKey=dg(t.IDBKeyRange),this._createTransaction=(e,t,r,n)=>new this.Transaction(e,t,r,this._options.chromeTransactionDurability,n),this._fireOnBlocked=e=>{this.on("blocked").fire(e),cF.filter(e=>e.name===this.name&&e!==this&&!e._state.vcFired).map(t=>t.on("versionchange").fire(e))},this.use(dL),this.use(dB),this.use(dZ),this.use(dU),this.vip=Object.create(this,{_vip:{value:!0}}),o.forEach(e=>e(this))}version(e){if(isNaN(e)||e<.1)throw new uT.Type("Given version is not a positive number");if(e=Math.round(10*e)/10,this.idbdb||this._state.isBeingOpened)throw new uT.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,e);let t=this._versions;var r=t.filter(t=>t._cfg.version===e)[0];return r||(r=new this.Version(e),t.push(r),t.sort(dD),r.stores({}),this._state.autoSchema=!1,r)}_whenReady(e){return this.idbdb&&(this._state.openComplete||u5.letThrough||this._vip)?e():new ce((e,t)=>{if(this._state.openComplete)return t(new uT.DatabaseClosed(this._state.dbOpenError));if(!this._state.isBeingOpened){if(!this._options.autoOpen)return void t(new uT.DatabaseClosed);this.open().catch(uM)}this._state.dbReadyPromise.then(e,t)}).then(e)}use({stack:e,create:t,level:r,name:n}){n&&this.unuse({stack:e,name:n});let o=this._middlewares[e]||(this._middlewares[e]=[]);return o.push({stack:e,create:t,level:null==r?10:r,name:n}),o.sort((e,t)=>e.level-t.level),this}unuse({stack:e,name:t,create:r}){return e&&this._middlewares[e]&&(this._middlewares[e]=this._middlewares[e].filter(e=>r?e.create!==r:!!t&&e.name!==t)),this}open(){return function(e){var t;let r=e._state,{indexedDB:n}=e._deps;if(r.isBeingOpened||e.idbdb)return r.dbReadyPromise.then(()=>r.dbOpenError?cN(r.dbOpenError):e);ub&&(r.openCanceller._stackHolder=u_()),r.isBeingOpened=!0,r.dbOpenError=null,r.openComplete=!1;let o=r.openCanceller;function i(){if(r.openCanceller!==o)throw new uT.DatabaseClosed("db.open() was cancelled")}let a=r.dbReadyResolve,s=null,l=!1,u=()=>new ce((t,o)=>{if(i(),!n)throw new uT.MissingAPI;let a=e.name,u=r.autoSchema?n.open(a):n.open(a,Math.round(10*e.verno));if(!u)throw new uT.MissingAPI;u.onerror=dl(o),u.onblocked=cf(e._fireOnBlocked),u.onupgradeneeded=cf(t=>{if(s=u.transaction,r.autoSchema&&!e._options.allowEmptyDB){u.onerror=du,s.abort(),u.result.close();let e=n.deleteDatabase(a);e.onsuccess=e.onerror=cf(()=>{o(new uT.NoSuchDatabase(`Database ${a} doesnt exist`))})}else{let r,n,a,p;s.onerror=dl(o);var i,c,d=t.oldVersion>0x4000000000000000?0:t.oldVersion;l=d<1,e._novip.idbdb=u.result,i=d/10,c=s,r=e._dbSchema,(n=e._createTransaction("readwrite",e._storeNames,r)).create(c),n._completion.catch(o),a=n._reject.bind(n),p=u5.transless||u5,cw(()=>{u5.trans=n,u5.transless=p,0===i?(lq(r).forEach(e=>{dP(c,e,r[e].primKey,r[e].indexes)}),dx(e,c),ce.follow(()=>e.on.populate.fire(n)).catch(a)):(function({_novip:e},t,r,n){let o=[],i=e._versions,a=e._dbSchema=dk(e,e.idbdb,n),s=!1;return i.filter(e=>e._cfg.version>=t).forEach(i=>{o.push(()=>{let o=a,l=i._cfg.dbschema;dj(e,o,n),dj(e,l,n),a=e._dbSchema=l;let u=dO(o,l);u.add.forEach(e=>{dP(n,e[0],e[1].primKey,e[1].indexes)}),u.change.forEach(e=>{if(e.recreate)throw new uT.Upgrade("Not yet support for changing primary key");{let t=n.objectStore(e.name);e.add.forEach(e=>dC(t,e)),e.change.forEach(e=>{t.deleteIndex(e.name),dC(t,e)}),e.del.forEach(e=>t.deleteIndex(e))}});let c=i._cfg.contentUpgrade;if(c&&i._cfg.version>t){let t;dx(e,n),r._memoizedTables={},s=!0;let i=uo(l);u.del.forEach(e=>{i[e]=o[e]}),dS(e,[e.Transaction.prototype]),dE(e,[e.Transaction.prototype],lq(i),i),r.schema=i;let a=ug(c);a&&c_();let d=ce.follow(()=>{if((t=c(r))&&a){var e=cx.bind(null,null);t.then(e,e)}});return t&&"function"==typeof t.then?ce.resolve(t):d.then(()=>t)}}),o.push(t=>{var n;s&&cB||(n=i._cfg.dbschema,[].slice.call(t.db.objectStoreNames).forEach(e=>null==n[e]&&t.db.deleteObjectStore(e))),dS(e,[e.Transaction.prototype]),dE(e,[e.Transaction.prototype],e._storeNames,e._dbSchema),r.schema=e._dbSchema})}),(function e(){return o.length?ce.resolve(o.shift()(r.idbtrans)).then(e):ce.resolve()})().then(()=>{var e;lq(e=a).forEach(t=>{n.db.objectStoreNames.contains(t)||dP(n,t,e[t].primKey,e[t].indexes)})})})(e,i,n,c).catch(a)})}},o),u.onsuccess=cf(()=>{s=null;let n=e._novip.idbdb=u.result,o=l9(n.objectStoreNames);if(o.length>0)try{let t,i=n.transaction(1===o.length?o[0]:o,"readonly");r.autoSchema?function({_novip:e},t,r){e.verno=t.version/10;let n=e._dbSchema=dk(0,t,r);e._storeNames=l9(t.objectStoreNames,0),dE(e,[e._allTables],lq(n),n)}(e,n,i):(dj(e,e._dbSchema,i),((t=dO(dk(0,e.idbdb,i),e._dbSchema)).add.length||t.change.some(e=>e.add.length||e.change.length))&&console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.")),dx(e,i)}catch(e){}cF.push(e),n.onversionchange=cf(t=>{r.vcFired=!0,e.on("versionchange").fire(t)}),n.onclose=cf(t=>{e.on("close").fire(t)}),l&&function({indexedDB:e,IDBKeyRange:t},r){dN(e)||r===cU||dR(e,t).put({name:r}).catch(uM)}(e._deps,a),t()},o)}).catch(e=>e&&"UnknownError"===e.name&&r.PR1398_maxLoop>0?(r.PR1398_maxLoop--,console.warn("Dexie: Workaround for Chrome UnknownError on open()"),u()):ce.reject(e));return ce.race([o,("u"<typeof navigator?ce.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(e){var r=function(){return indexedDB.databases().finally(e)};t=setInterval(r,100),r()}).finally(function(){return clearInterval(t)}):Promise.resolve()).then(u)]).then(()=>(i(),r.onReadyBeingFired=[],ce.resolve(dM(()=>e.on.ready.fire(e.vip))).then(function t(){if(r.onReadyBeingFired.length>0){let n=r.onReadyBeingFired.reduce(uU,uM);return r.onReadyBeingFired=[],ce.resolve(dM(()=>n(e.vip))).then(t)}}))).finally(()=>{r.onReadyBeingFired=null,r.isBeingOpened=!1}).then(()=>e).catch(t=>{r.dbOpenError=t;try{s&&s.abort()}catch(e){}return o===r.openCanceller&&e._close(),cN(t)}).finally(()=>{r.openComplete=!0,a()})}(this)}_close(){let e=this._state,t=cF.indexOf(this);if(t>=0&&cF.splice(t,1),this.idbdb){try{this.idbdb.close()}catch(e){}this._novip.idbdb=null}e.dbReadyPromise=new ce(t=>{e.dbReadyResolve=t}),e.openCanceller=new ce((t,r)=>{e.cancelOpen=r})}close(){this._close();let e=this._state;this._options.autoOpen=!1,e.dbOpenError=new uT.DatabaseClosed,e.isBeingOpened&&e.cancelOpen(e.dbOpenError)}delete(){let e=arguments.length>0,t=this._state;return new ce((r,n)=>{let o=()=>{this.close();var e=this._deps.indexedDB.deleteDatabase(this.name);e.onsuccess=cf(()=>{!function({indexedDB:e,IDBKeyRange:t},r){dN(e)||r===cU||dR(e,t).delete(r).catch(uM)}(this._deps,this.name),r()}),e.onerror=dl(n),e.onblocked=this._fireOnBlocked};if(e)throw new uT.InvalidArgument("Arguments not allowed in db.delete()");t.isBeingOpened?t.dbReadyPromise.then(o):o()})}backendDB(){return this.idbdb}isOpen(){return null!==this.idbdb}hasBeenClosed(){let e=this._state.dbOpenError;return e&&"DatabaseClosed"===e.name}hasFailed(){return null!==this._state.dbOpenError}dynamicallyOpened(){return this._state.autoSchema}get tables(){return lq(this._allTables).map(e=>this._allTables[e])}transaction(){let e=d$.apply(this,arguments);return this._transaction.apply(this,e)}_transaction(e,t,r){let n,o,i=u5.trans;i&&i.db===this&&-1===e.indexOf("!")||(i=null);let a=-1!==e.indexOf("?");e=e.replace("!","").replace("?","");try{if(o=t.map(e=>{var t=e instanceof this.Table?e.name:e;if("string"!=typeof t)throw TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return t}),"r"==e||e===cW)n=cW;else{if("rw"!=e&&e!=cz)throw new uT.InvalidArgument("Invalid transaction mode: "+e);n=cz}if(i){if(i.mode===cW&&n===cz){if(!a)throw new uT.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");i=null}i&&o.forEach(e=>{if(i&&-1===i.storeNames.indexOf(e)){if(!a)throw new uT.SubTransaction("Table "+e+" not included in parent transaction.");i=null}}),a&&i&&!i.active&&(i=null)}}catch(e){return i?i._promise(null,(t,r)=>{r(e)}):cN(e)}let s=(function e(t,r,n,o,i){return ce.resolve().then(()=>{let a,s=u5.transless||u5,l=t._createTransaction(r,n,t._dbSchema,o);if(o)l.idbtrans=o.idbtrans;else try{l.create(),t._state.PR1398_maxLoop=3}catch(o){return o.name===uj.InvalidState&&t.isOpen()&&--t._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),t._close(),t.open().then(()=>e(t,r,n,null,i))):cN(o)}let u=ug(i);u&&c_();let c=ce.follow(()=>{if(a=i.call(l,l))if(u){var e=cx.bind(null,null);a.then(e,e)}else"function"==typeof a.next&&"function"==typeof a.throw&&(a=dA(a))},{trans:l,transless:s});return(a&&"function"==typeof a.then?ce.resolve(a).then(e=>l.active?e:cN(new uT.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))):c.then(()=>a)).then(e=>(o&&l._resolve(),l._completion.then(()=>e))).catch(e=>(l._reject(e),cN(e)))})}).bind(null,this,n,o,i,r);return i?i._promise(n,s,"lock"):u5.trans?cC(u5.transless,()=>this._whenReady(s)):this._whenReady(s)}table(e){if(!lQ(this._allTables,e))throw new uT.InvalidTable(`Table ${e} does not exist`);return this._allTables[e]}}let dX="u">typeof Symbol&&"observable"in Symbol?Symbol.observable:"@@observable";class dQ{constructor(e){this._subscribe=e}subscribe(e,t,r){return this._subscribe(e&&"function"!=typeof e?e:{next:e,error:t,complete:r})}[dX](){return this}}function d0(e,t){return lq(t).forEach(r=>{dH(e[r]||(e[r]=new dz),t[r])}),e}try{i={indexedDB:lG.indexedDB||lG.mozIndexedDB||lG.webkitIndexedDB||lG.msIndexedDB,IDBKeyRange:lG.IDBKeyRange||lG.webkitIDBKeyRange}}catch(e){i={indexedDB:null,IDBKeyRange:null}}function d1(e){let t=d2;try{d2=!0,dp.storagemutated.fire(e)}finally{d2=t}}l0(dJ,{...uN,delete:e=>new dJ(e,{addons:[]}).delete(),exists:e=>new dJ(e,{addons:[]}).open().then(e=>(e.close(),!0)).catch("NoSuchDatabaseError",()=>!1),getDatabaseNames(e){try{return(function({indexedDB:e,IDBKeyRange:t}){return dN(e)?Promise.resolve(e.databases()).then(e=>e.map(e=>e.name).filter(e=>e!==cU)):dR(e,t).toCollection().primaryKeys()})(dJ.dependencies).then(e)}catch(e){return cN(new uT.MissingAPI)}},defineClass:()=>function(e){lZ(this,e)},ignoreTransaction:e=>u5.trans?cC(u5.transless,e):e(),vip:dM,async:function(e){return function(){try{var t=dA(e.apply(this,arguments));return t&&"function"==typeof t.then?t:ce.resolve(t)}catch(e){return cN(e)}}},spawn:function(e,t,r){try{var n=dA(e.apply(r,t||[]));return n&&"function"==typeof n.then?n:ce.resolve(n)}catch(e){return cN(e)}},currentTransaction:{get:()=>u5.trans||null},waitFor:function(e,t){let r=ce.resolve("function"==typeof e?dJ.ignoreTransaction(e):e).timeout(t||6e4);return u5.trans?u5.trans.waitFor(r):r},Promise:ce,debug:{get:()=>ub,set:e=>{ub=e,uv="dexie"===e?()=>!0:cV}},derive:l4,extend:lZ,props:l0,override:l7,Events:cY,on:dp,liveQuery:function(e){let t,r=!1,n=new dQ(n=>{let o=ug(e),i=!1,a={},s={},l={get closed(){return i},unsubscribe:()=>{i=!0,dp.storagemutated.unsubscribe(p)}};n.start&&n.start(l);let u=!1,c=!1;function d(){return lq(s).some(e=>a[e]&&function(e,t){let r=dG(t),n=r.next();if(n.done)return!1;let o=n.value,i=dG(e),a=i.next(o.from),s=a.value;for(;!n.done&&!a.done;){if(0>=c3(s.from,o.to)&&c3(s.to,o.from)>=0)return!0;0>c3(o.from,s.from)?o=(n=r.next(s.from)).value:s=(a=i.next(o.from)).value}return!1}(a[e],s[e]))}let p=e=>{d0(a,e),d()&&f()},f=()=>{let h,m;if(u||i)return;a={};let y={},g=(o&&c_(),h=()=>cw(e,{subscr:y,trans:null}),m=u5.trans?cC(u5.transless,h):h(),o&&m.then(cx,cx),m);c||(dp(dc,p),c=!0),u=!0,Promise.resolve(g).then(e=>{r=!0,t=e,u=!1,i||(d()?f():(a={},s=y,n.next&&n.next(e)))},e=>{u=!1,r=!1,n.error&&n.error(e),l.unsubscribe()})};return f(),l});return n.hasValue=()=>r,n.getValue=()=>t,n},extendObservabilitySet:d0,getByKeyPath:ur,setByKeyPath:un,delByKeyPath:function(e,t){"string"==typeof t?un(e,t,void 0):"length"in t&&[].map.call(t,function(t){un(e,t,void 0)})},shallowClone:uo,deepClone:uc,getObjectDiff:dF,cmp:c3,asap:ue,minKey:c$,addons:[],connections:cF,errnames:uj,dependencies:i,semVer:cM,version:cM.split(".").map(e=>parseInt(e)).reduce((e,t,r)=>e+t/Math.pow(10,2*r))}),dJ.maxKey=dg(dJ.dependencies.IDBKeyRange),"u">typeof dispatchEvent&&"u">typeof addEventListener&&(dp(dc,e=>{if(!d2){let t;cB?(t=document.createEvent("CustomEvent")).initCustomEvent(dd,!0,!0,e):t=new CustomEvent(dd,{detail:e}),d2=!0,dispatchEvent(t),d2=!1}}),addEventListener(dd,({detail:e})=>{d2||d1(e)}));let d2=!1;if("u">typeof BroadcastChannel){let e=new BroadcastChannel(dd);"function"==typeof e.unref&&e.unref(),dp(dc,t=>{d2||e.postMessage(t)}),e.onmessage=e=>{e.data&&d1(e.data)}}else if("u">typeof self&&"u">typeof navigator){dp(dc,e=>{try{d2||("u">typeof localStorage&&localStorage.setItem(dd,JSON.stringify({trig:Math.random(),changedParts:e})),"object"==typeof self.clients&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach(t=>t.postMessage({type:dd,changedParts:e})))}catch(e){}}),"u">typeof addEventListener&&addEventListener("storage",e=>{if(e.key===dd){let t=JSON.parse(e.newValue);t&&d1(t.changedParts)}});let e=self.document&&navigator.serviceWorker;e&&e.addEventListener("message",function({data:e}){e&&e.type===dd&&d1(e.changedParts)})}function d4(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}ce.rejectionMapper=function(e,t){if(!e||e instanceof uO||e instanceof TypeError||e instanceof SyntaxError||!e.name||!uR[e.name])return e;var r=new uR[e.name](t||e.message,e);return"stack"in e&&l2(r,"stack",{get:function(){return this.inner.stack}}),r},uv=cV;class d3 extends dJ{constructor(){super("EsmOffline"),d4(this,"syncQueue",void 0),d4(this,"dynamicOfflineData",void 0),this.version(4).stores({syncQueue:"++id,userId,type,[userId+type]",dynamicOfflineData:"++id,type,identifier,*users,&[type+identifier]"}),this.syncQueue=this.table("syncQueue"),this.dynamicOfflineData=this.table("dynamicOfflineData")}}function d6(){return new d3}let d5=new d3,d9={},d7=Y("offline-synchronization",{});function d8(){return d7}async function pe(){if(d7.getState().synchronization)return;let e=await d5.syncQueue.count(),t={},r=Object.entries(d9),n=r.length,o={},i=new AbortController,a=()=>{let e=d7.getState().synchronization;d7.setState({synchronization:{...e,pendingCount:e.pendingCount-1}})};try{d7.setState({synchronization:{totalCount:e,pendingCount:e,abortController:i}});for(let e=0;e<n&&r.length>0;e++)for(let e=r.length;e--;){let[n,s]=r[e],l=s.dependsOn.map(e=>t[e]);l.every(Boolean)&&(o[n]={},await Promise.all(l),t[n]=pt(s,o,i,a),r.splice(e,1))}await Promise.allSettled(Object.values(t))}finally{d7.setState({synchronization:void 0})}}async function pt({type:e,dependsOn:t,process:r},n,o,i){let a=[],s=[],l=await pr();await d5.syncQueue.where({type:e,userId:l}).each((e,t)=>{a.push([t.primaryKey,e.content,e.descriptor]),s.push(e.content)});for(let u=0;u<a.length;u++){let[c,d,{id:p,dependencies:f=[]}]=a[u];try{let i=await r(d,{abort:o,index:u,items:s,userId:l,dependencies:f.map(({id:e,type:r})=>t.includes(r)?n[r][e]:void 0)});void 0!==p&&(n[e][p]=i),await d5.syncQueue.delete(c)}catch(e){await d5.syncQueue.update(c,{lastError:{name:e?.name,message:e?.message??e?.toString()}})}finally{i()}}}async function pr(){let e=await aU();return e?.uuid||"*"}async function pn(e,t,r,n){let o=n&&n.id;return void 0!==o&&await d5.syncQueue.where({type:t,userId:e}).filter(e=>e?.descriptor.id===o).delete().catch(dJ.errnames.DatabaseClosed),await d5.syncQueue.add({type:t,content:r,userId:e,descriptor:n||{},createdOn:new Date}).catch(dJ.errnames.DatabaseClosed,()=>-1)}async function po(e,t,r){let n=await pr();return await pn(n,e,t,r)}async function pi(e,t){return(await pa(e,t)).map(e=>e.content)}async function pa(e,t){return await d5.syncQueue.where(t?{type:t,userId:e}:{userId:e}).toArray().catch(dJ.errnames.DatabaseClosed,()=>[])}async function ps(e){let t=await pr();return await pi(t,e)}async function pl(e){let t=await pr();return await pa(t,e)}async function pu(e){return await d5.syncQueue.get(e).catch(dJ.errnames.DatabaseClosed,()=>void 0)}function pc(e){return!!d9[e]?.options.onBeginEditSyncItem}async function pd(e){let t=await pu(e);if(!t)throw Error(`No sync item with the ID ${e} exists.`);let r=d9[t.type]?.options.onBeginEditSyncItem;if(!r)throw Error(`A sync item with the ID ${e} exists, but the associated handler (if one exists) doesn't support editing the item. You can avoid this error by either verifying that sync items of this type can be edited via the "canEditSynchronizationItemsOfType(type: string)" function or alternatively ensure that the synchronizaton handler for sync items of type "${t.type}" supports editing items.`);r(t)}async function pp(e){await d5.syncQueue.delete(e).catch(dJ.errnames.DatabaseClosed)}function pf(e,t,r,n={}){d9[e]={type:e,dependsOn:t,process:r,options:n}}let ph="u">typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),pm=new Uint8Array(16),py=[];for(let e=0;e<256;++e)py.push((e+256).toString(16).slice(1));let pg=function(e,t,r){if(ph&&!t&&!e)return ph();let n=(e=e||{}).random||(e.rng||function(){if(!a&&!(a="u">typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return a(pm)})();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=n[e];return t}return function(e,t=0){return py[e[t+0]]+py[e[t+1]]+py[e[t+2]]+py[e[t+3]]+"-"+py[e[t+4]]+py[e[t+5]]+"-"+py[e[t+6]]+py[e[t+7]]+"-"+py[e[t+8]]+py[e[t+9]]+"-"+py[e[t+10]]+py[e[t+11]]+py[e[t+12]]+py[e[t+13]]+py[e[t+14]]+py[e[t+15]]}(n)},pb="OFFLINE+";function pv(){return pb+pg()}function pw(e){return e.startsWith(pb)}let p_={};function px(){return Object.values(p_)}function pE(e){p_[e.id]&&console.warn(`[setupDynamicOfflineDataHandler] Another second handler with the ID "${e.id}" was registered. This handler will override the previous one. This could be unintended as the previous handler might run different flows than the newly registered one. If this is the case, ensure that you are setting up the handlers with different IDs.`),p_[e.id]=e}async function pS(e){let t=await pR();return await pD(t,e)}async function pD(e,t){let r=new d3;return await r.dynamicOfflineData.where(t?{type:t,users:e}:{users:e}).toArray().catch(dJ.errnames.DatabaseClosed,()=>[])}async function pO(e,t){let r=await pR();return await pP(r,e,t)}async function pP(e,t,r){let n=new d3,o=await n.dynamicOfflineData.get({type:t,identifier:r}).catch(dJ.errnames.DatabaseClosed,()=>void 0);o?o.users.includes(e)||await n.dynamicOfflineData.update(o.id,{users:[...o.users,e]}).catch(dJ.errnames.DatabaseClosed):await n.dynamicOfflineData.add({users:[e],type:t,identifier:r}).catch(dJ.errnames.DatabaseClosed)}async function pC(e,t){let r=await pR();return await pk(r,e,t)}async function pk(e,t,r){let n=new d3,o=await n.dynamicOfflineData.get({type:t,identifier:r,users:e}).catch(dJ.errnames.DatabaseClosed,()=>void 0);o&&(o.users.length>1?await n.dynamicOfflineData.update(o.id,{users:o.users.filter(t=>t!==e)}).catch(dJ.errnames.DatabaseClosed):await n.dynamicOfflineData.delete(o.id).catch(dJ.errnames.DatabaseClosed))}async function pj(e,t){let r=await pS(e);await Promise.all(r.map(async e=>pT(e.type,e.identifier,t)))}async function pT(e,t,r){await pO(e,t);let n=new d3,o=await pR(),i=await n.dynamicOfflineData.get({type:e,identifier:t}).catch(dJ.errnames.DatabaseClosed,()=>void 0),a=px().filter(t=>t.type===e);if(!i)return;let s=await Promise.all(a.map(async e=>{try{return e.sync(t,r),{id:e.id,error:void 0}}catch(r){let t=r.message?.toString()??r.toString();return{id:e.id,error:t}}})),l=s.filter(e=>!e.error).map(e=>e.id),u=s.filter(e=>e.error).map(e=>e.id),c=s.filter(e=>e.error).map(e=>({handlerId:e.id,message:e.error})),d={syncedOn:new Date,syncedBy:o,succeededHandlers:l,erroredHandlers:u,errors:c};i.id&&await n.dynamicOfflineData.update(i.id,{syncState:d}).catch(dJ.errnames.DatabaseClosed)}async function pR(){let e=(await aU()).uuid;if(!e)throw Error("Using the dynamic offline data API requires a logged in user.");return e}let pN=Y("offline-patients",{offlinePatientDataSyncState:{},handlers:{}});function pM(){return pI(),pN}function pA(e,t){pI(),pE({type:"patient",displayName:t.displayName,id:e,isSynced:()=>Promise.resolve(!0),sync:(e,r)=>t.onOfflinePatientAdded({patientUuid:e,signal:r??new AbortController().signal})})}async function p$(e){pI(),await pT("patient",e)}function pI(){console.warn("The offline patient API has been deprecated and will be removed in a future release. To prevent future crashes, the functions remain available for the moment, but any invocations should be migrated ASAP.")}async function pL(e,t,r=!0){if(e){let n=null,[o,i]=await Promise.all([aT(`${aC}/Patient/${e}`,t).catch(e=>n=e),r?pF(e):Promise.resolve(null)]);if(o.ok)return o.data;if(i)return i;if(n)throw n}return null}async function pF(e){let t=(await ps("patient-registration")).find(t=>t.fhirPatient.id===e);return t?.fhirPatient??null}function pB(e,t){let r=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(r)}function pV(e,t){let r=e=>{t("detail"in e&&null!==e.detail?e.detail:void 0)};return window.addEventListener(`openmrs:${e}`,r),()=>{window.removeEventListener(`openmrs:${e}`,r)}}var pU=r(9549);function pW(e){return{uuid:e.uuid,display:e.display}}function pz(e=null,t=null){let r=new URLSearchParams;e&&r.set("tag",e),t&&r.set("q",t);let n=r.toString();return aR(`${aP}/location${n?"?"+n:""}`).pipe((0,pU.map)(e=>e.data.results.map(pW))).pipe((0,pU.take)(1))}function pK(e){return{uuid:e.uuid,display:e.display,name:e.name}}function pH(){return aR(`${aP}/visittype`).pipe((0,pU.map)(e=>e.data.results.map(pK))).pipe((0,pU.take)(1))}var pG=function(){function e(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return e.prototype=Object.create(Error.prototype),e}(),pq=function(e){function t(t,r){var n=e.call(this)||this;return n.subject=t,n.subscriber=r,n.closed=!1,n}return em(t,e),t.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var e=this.subject,t=e.observers;if(this.subject=null,t&&0!==t.length&&!e.isStopped&&!e.closed){var r=t.indexOf(this.subscriber);-1!==r&&t.splice(r,1)}}},t}(eE),pY=function(e){function t(t){var r=e.call(this,t)||this;return r.destination=t,r}return em(t,e),t}(eO),pZ=function(e){function t(){var t=e.call(this)||this;return t.observers=[],t.closed=!1,t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return em(t,e),t.prototype[eD]=function(){return new pY(this)},t.prototype.lift=function(e){var t=new pJ(this,this);return t.operator=e,t},t.prototype.next=function(e){if(this.closed)throw new pG;if(!this.isStopped)for(var t=this.observers,r=t.length,n=t.slice(),o=0;o<r;o++)n[o].next(e)},t.prototype.error=function(e){if(this.closed)throw new pG;this.hasError=!0,this.thrownError=e,this.isStopped=!0;for(var t=this.observers,r=t.length,n=t.slice(),o=0;o<r;o++)n[o].error(e);this.observers.length=0},t.prototype.complete=function(){if(this.closed)throw new pG;this.isStopped=!0;for(var e=this.observers,t=e.length,r=e.slice(),n=0;n<t;n++)r[n].complete();this.observers.length=0},t.prototype.unsubscribe=function(){this.isStopped=!0,this.closed=!0,this.observers=null},t.prototype._trySubscribe=function(t){if(!this.closed)return e.prototype._trySubscribe.call(this,t);throw new pG},t.prototype._subscribe=function(e){if(this.closed)throw new pG;return this.hasError?(e.error(this.thrownError),eE.EMPTY):this.isStopped?(e.complete(),eE.EMPTY):(this.observers.push(e),new pq(this,e))},t.prototype.asObservable=function(){var e=new ek;return e.source=this,e},t.create=function(e,t){return new pJ(e,t)},t}(ek),pJ=function(e){function t(t,r){var n=e.call(this)||this;return n.destination=t,n.source=r,n}return em(t,e),t.prototype.next=function(e){var t=this.destination;t&&t.next&&t.next(e)},t.prototype.error=function(e){var t=this.destination;t&&t.error&&this.destination.error(e)},t.prototype.complete=function(){var e=this.destination;e&&e.complete&&this.destination.complete()},t.prototype._subscribe=function(e){return this.source?this.source.subscribe(e):eE.EMPTY},t}(pZ),pX=function(e){function t(t){var r=e.call(this)||this;return r._value=t,r}return em(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),t.prototype._subscribe=function(t){var r=e.prototype._subscribe.call(this,t);return r&&!r.closed&&t.next(this._value),r},t.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(!this.closed)return this._value;throw new pG},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(pZ),pQ=((eu={}).NEWVISIT="startVisit",eu.EDITVISIT="editVisit",eu.LOADING="loadingVisit",eu),p0=((ec={}).NOTSTARTED="notStarted",ec.ONGOING="ongoing",ec);let p1="custom:(uuid,display,voided,indication,startDatetime,stopDatetime,encounters:(uuid,display,encounterDatetime,form:(uuid,name),location:ref,encounterType:ref,encounterProviders:(uuid,display,provider:(uuid,display))),patient:(uuid,display),visitType:(uuid,name,display),attributes:(uuid,display,attributeType:(name,datatypeClassname,uuid),value),location:(uuid,name,display))",p2=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function p4(){return J("visit",p2)}function p3(e,t){p4().setState({patientUuid:e,manuallySetVisitUuid:t})}function p6(e,t){return aT(`${aP}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function p5(e,t,r){return aT(`${aP}/visit/${e}`,{signal:r.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function p9(e,t,r){return aT(`${aP}/visit?patient=${e}&v=${r??p1}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}p4().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});let p7=new pX(null);class p8{static get version(){return"1.4.0"}static toString(){return"JavaScript Expression Parser (JSEP) v"+p8.version}static addUnaryOp(e){return p8.max_unop_len=Math.max(e.length,p8.max_unop_len),p8.unary_ops[e]=1,p8}static addBinaryOp(e,t,r){return p8.max_binop_len=Math.max(e.length,p8.max_binop_len),p8.binary_ops[e]=t,r?p8.right_associative.add(e):p8.right_associative.delete(e),p8}static addIdentifierChar(e){return p8.additional_identifier_chars.add(e),p8}static addLiteral(e,t){return p8.literals[e]=t,p8}static removeUnaryOp(e){return delete p8.unary_ops[e],e.length===p8.max_unop_len&&(p8.max_unop_len=p8.getMaxKeyLen(p8.unary_ops)),p8}static removeAllUnaryOps(){return p8.unary_ops={},p8.max_unop_len=0,p8}static removeIdentifierChar(e){return p8.additional_identifier_chars.delete(e),p8}static removeBinaryOp(e){return delete p8.binary_ops[e],e.length===p8.max_binop_len&&(p8.max_binop_len=p8.getMaxKeyLen(p8.binary_ops)),p8.right_associative.delete(e),p8}static removeAllBinaryOps(){return p8.binary_ops={},p8.max_binop_len=0,p8}static removeLiteral(e){return delete p8.literals[e],p8}static removeAllLiterals(){return p8.literals={},p8}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(e){this.expr=e,this.index=0}static parse(e){return new p8(e).parse()}static getMaxKeyLen(e){return Math.max(0,...Object.keys(e).map(e=>e.length))}static isDecimalDigit(e){return e>=48&&e<=57}static binaryPrecedence(e){return p8.binary_ops[e]||0}static isIdentifierStart(e){return e>=65&&e<=90||e>=97&&e<=122||e>=128&&!p8.binary_ops[String.fromCharCode(e)]||p8.additional_identifier_chars.has(String.fromCharCode(e))}static isIdentifierPart(e){return p8.isIdentifierStart(e)||p8.isDecimalDigit(e)}throwError(e){let t=Error(e+" at character "+this.index);throw t.index=this.index,t.description=e,t}runHook(e,t){if(p8.hooks[e]){let r={context:this,node:t};return p8.hooks.run(e,r),r.node}return t}searchHook(e){if(p8.hooks[e]){let t={context:this};return p8.hooks[e].find(function(e){return e.call(t.context,t),t.node}),t.node}}gobbleSpaces(){let e=this.code;for(;e===p8.SPACE_CODE||e===p8.TAB_CODE||e===p8.LF_CODE||e===p8.CR_CODE;)e=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let e=this.gobbleExpressions(),t=1===e.length?e[0]:{type:p8.COMPOUND,body:e};return this.runHook("after-all",t)}gobbleExpressions(e){let t=[],r,n;for(;this.index<this.expr.length;)if((r=this.code)===p8.SEMCOL_CODE||r===p8.COMMA_CODE)this.index++;else if(n=this.gobbleExpression())t.push(n);else if(this.index<this.expr.length){if(r===e)break;this.throwError('Unexpected "'+this.char+'"')}return t}gobbleExpression(){let e=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",e)}gobbleBinaryOp(){this.gobbleSpaces();let e=this.expr.substr(this.index,p8.max_binop_len),t=e.length;for(;t>0;){if(p8.binary_ops.hasOwnProperty(e)&&(!p8.isIdentifierStart(this.code)||this.index+e.length<this.expr.length&&!p8.isIdentifierPart(this.expr.charCodeAt(this.index+e.length))))return this.index+=t,e;e=e.substr(0,--t)}return!1}gobbleBinaryExpression(){let e,t,r,n,o,i,a,s,l;if(!(i=this.gobbleToken())||!(t=this.gobbleBinaryOp()))return i;for(o={value:t,prec:p8.binaryPrecedence(t),right_a:p8.right_associative.has(t)},(a=this.gobbleToken())||this.throwError("Expected expression after "+t),n=[i,o,a];t=this.gobbleBinaryOp();){if(0===(r=p8.binaryPrecedence(t))){this.index-=t.length;break}o={value:t,prec:r,right_a:p8.right_associative.has(t)},l=t;let s=e=>o.right_a&&e.right_a?r>e.prec:r<=e.prec;for(;n.length>2&&s(n[n.length-2]);)a=n.pop(),t=n.pop().value,i=n.pop(),e={type:p8.BINARY_EXP,operator:t,left:i,right:a},n.push(e);(e=this.gobbleToken())||this.throwError("Expected expression after "+l),n.push(o,e)}for(s=n.length-1,e=n[s];s>1;)e={type:p8.BINARY_EXP,operator:n[s-1].value,left:n[s-2],right:e},s-=2;return e}gobbleToken(){let e,t,r,n;if(this.gobbleSpaces(),n=this.searchHook("gobble-token"))return this.runHook("after-token",n);if(e=this.code,p8.isDecimalDigit(e)||e===p8.PERIOD_CODE)return this.gobbleNumericLiteral();if(e===p8.SQUOTE_CODE||e===p8.DQUOTE_CODE)n=this.gobbleStringLiteral();else if(e===p8.OBRACK_CODE)n=this.gobbleArray();else{for(r=(t=this.expr.substr(this.index,p8.max_unop_len)).length;r>0;){if(p8.unary_ops.hasOwnProperty(t)&&(!p8.isIdentifierStart(this.code)||this.index+t.length<this.expr.length&&!p8.isIdentifierPart(this.expr.charCodeAt(this.index+t.length)))){this.index+=r;let e=this.gobbleToken();return e||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:p8.UNARY_EXP,operator:t,argument:e,prefix:!0})}t=t.substr(0,--r)}p8.isIdentifierStart(e)?(n=this.gobbleIdentifier(),p8.literals.hasOwnProperty(n.name)?n={type:p8.LITERAL,value:p8.literals[n.name],raw:n.name}:n.name===p8.this_str&&(n={type:p8.THIS_EXP})):e===p8.OPAREN_CODE&&(n=this.gobbleGroup())}return n?(n=this.gobbleTokenProperty(n),this.runHook("after-token",n)):this.runHook("after-token",!1)}gobbleTokenProperty(e){this.gobbleSpaces();let t=this.code;for(;t===p8.PERIOD_CODE||t===p8.OBRACK_CODE||t===p8.OPAREN_CODE||t===p8.QUMARK_CODE;){let r;if(t===p8.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==p8.PERIOD_CODE)break;r=!0,this.index+=2,this.gobbleSpaces(),t=this.code}this.index++,t===p8.OBRACK_CODE?((e={type:p8.MEMBER_EXP,computed:!0,object:e,property:this.gobbleExpression()}).property||this.throwError('Unexpected "'+this.char+'"'),this.gobbleSpaces(),(t=this.code)!==p8.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):t===p8.OPAREN_CODE?e={type:p8.CALL_EXP,arguments:this.gobbleArguments(p8.CPAREN_CODE),callee:e}:(t===p8.PERIOD_CODE||r)&&(r&&this.index--,this.gobbleSpaces(),e={type:p8.MEMBER_EXP,computed:!1,object:e,property:this.gobbleIdentifier()}),r&&(e.optional=!0),this.gobbleSpaces(),t=this.code}return e}gobbleNumericLiteral(){let e="",t,r;for(;p8.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);if(this.code===p8.PERIOD_CODE)for(e+=this.expr.charAt(this.index++);p8.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);if("e"===(t=this.char)||"E"===t){for(e+=this.expr.charAt(this.index++),("+"===(t=this.char)||"-"===t)&&(e+=this.expr.charAt(this.index++));p8.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);p8.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+e+this.char+")")}return r=this.code,p8.isIdentifierStart(r)?this.throwError("Variable names cannot start with a number ("+e+this.char+")"):(r===p8.PERIOD_CODE||1===e.length&&e.charCodeAt(0)===p8.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:p8.LITERAL,value:parseFloat(e),raw:e}}gobbleStringLiteral(){let e="",t=this.index,r=this.expr.charAt(this.index++),n=!1;for(;this.index<this.expr.length;){let t=this.expr.charAt(this.index++);if(t===r){n=!0;break}if("\\"===t)switch(t=this.expr.charAt(this.index++)){case"n":e+="\n";break;case"r":e+="\r";break;case"t":e+=" ";break;case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="\v";break;default:e+=t}else e+=t}return n||this.throwError('Unclosed quote after "'+e+'"'),{type:p8.LITERAL,value:e,raw:this.expr.substring(t,this.index)}}gobbleIdentifier(){let e=this.code,t=this.index;for(p8.isIdentifierStart(e)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length;)if(e=this.code,p8.isIdentifierPart(e))this.index++;else break;return{type:p8.IDENTIFIER,name:this.expr.slice(t,this.index)}}gobbleArguments(e){let t=[],r=!1,n=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let o=this.code;if(o===e){r=!0,this.index++,e===p8.CPAREN_CODE&&n&&n>=t.length&&this.throwError("Unexpected token "+String.fromCharCode(e));break}if(o===p8.COMMA_CODE){if(this.index++,++n!==t.length){if(e===p8.CPAREN_CODE)this.throwError("Unexpected token ,");else if(e===p8.CBRACK_CODE)for(let e=t.length;e<n;e++)t.push(null)}}else if(t.length!==n&&0!==n)this.throwError("Expected comma");else{let e=this.gobbleExpression();e&&e.type!==p8.COMPOUND||this.throwError("Expected comma"),t.push(e)}}return r||this.throwError("Expected "+String.fromCharCode(e)),t}gobbleGroup(){this.index++;let e=this.gobbleExpressions(p8.CPAREN_CODE);if(this.code===p8.CPAREN_CODE)return(this.index++,1===e.length)?e[0]:!!e.length&&{type:p8.SEQUENCE_EXP,expressions:e};this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:p8.ARRAY_EXP,elements:this.gobbleArguments(p8.CBRACK_CODE)}}}Object.assign(p8,{hooks:new class{add(e,t,r){if("string"!=typeof arguments[0])for(let e in arguments[0])this.add(e,arguments[0][e],arguments[1]);else(Array.isArray(e)?e:[e]).forEach(function(e){this[e]=this[e]||[],t&&this[e][r?"unshift":"push"](t)},this)}run(e,t){this[e]=this[e]||[],this[e].forEach(function(e){e.call(t&&t.context?t.context:t,t)})}},plugins:new class{constructor(e){this.jsep=e,this.registered={}}register(...e){e.forEach(e=>{if("object"!=typeof e||!e.name||!e.init)throw Error("Invalid JSEP plugin format");this.registered[e.name]||(e.init(this.jsep),this.registered[e.name]=e)})}}(p8),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"??":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10,"**":11},right_associative:new Set(["**"]),additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"}),p8.max_unop_len=p8.getMaxKeyLen(p8.unary_ops),p8.max_binop_len=p8.getMaxKeyLen(p8.binary_ops);let fe=e=>new p8(e).parse(),ft=Object.getOwnPropertyNames(class{});Object.getOwnPropertyNames(p8).filter(e=>!ft.includes(e)&&void 0===fe[e]).forEach(e=>{fe[e]=p8[e]}),fe.Jsep=p8,fe.plugins.register({name:"ternary",init(e){e.hooks.add("after-expression",function(t){if(t.node&&this.code===e.QUMARK_CODE){this.index++;let r=t.node,n=this.gobbleExpression();if(n||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;let o=this.gobbleExpression();if(o||this.throwError("Expected expression"),t.node={type:"ConditionalExpression",test:r,consequent:n,alternate:o},r.operator&&e.binary_ops[r.operator]<=.9){let n=r;for(;n.right.operator&&e.binary_ops[n.right.operator]<=.9;)n=n.right;t.node.test=n.right,n.right=t.node,t.node=r}}else this.throwError("Expected :")}})}});let fr="ArrowFunctionExpression",fn={Array,Boolean,Symbol,Infinity,NaN,Math,Number,BigInt,String,RegExp,JSON,isFinite,isNaN,parseFloat,parseInt,decodeURI,encodeURI,encodeURIComponent,Object:{__proto__:void 0,assign:Object.assign.bind(null),fromEntries:Object.fromEntries.bind(null),hasOwn:Object.hasOwn.bind(null),keys:Object.keys.bind(null),is:Object.is.bind(null),values:Object.values.bind(null)}},fo={...fn,Promise};function fi(e,t={}){return fd(e,t,fh)}async function fa(e,t={}){return fp(e,t,fh)}function fs(e,t={}){return fd(e,t,fm)}function fl(e,t={}){return fp(e,t,fm)}function fu(e,t={}){return fd(e,t,fy)}function fc(e,t={}){return fp(e,t,fy)}function fd(e,t={},r){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let n=f_(t,fn),o=fg("string"==typeof e?fe(e):e,n);if(r(o))return o;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}}async function fp(e,t={},r){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))return Promise.reject(`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`);if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let n=f_(t,fo);return Promise.resolve(fg("string"==typeof e?fe(e):e,n)).then(t=>{if(r(t))return t;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}})}function ff(e){return fe(e)}function fh(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function fm(e){return"boolean"==typeof e}function fy(e){return"number"==typeof e}function fg(e,t){switch(e.type){case"UnaryExpression":var r,n,o,i,a,s,l,u,c,d,p,f,h,m=e,y=t;let g=fg(m.argument,y);switch(m.operator){case"+":return+g;case"-":return-g;case"~":return~g;case"!":return!g;default:throw`Expression evaluator does not support operator '${m.operator}''`}case"BinaryExpression":var b=e,v=t;switch(b.operator){case"&&":return fg(b.left,v)&&fg(b.right,v);case"||":return fg(b.left,v)||fg(b.right,v);case"??":return fg(b.left,v)??fg(b.right,v)}let w=fg(b.left,v),x=fg(b.right,v);switch(b.operator){case"+":return w+x;case"-":return w-x;case"*":return w*x;case"/":return w/x;case"%":return w%x;case"**":return w**x;case"==":return w==x;case"===":return w===x;case"!=":return w!=x;case"!==":return w!==x;case">":return w>x;case">=":return w>=x;case"<":return w<x;case"<=":return w<=x;case"in":return w in x;default:throw`Expression evaluator does not support operator '${b.operator}' operator`}case"ConditionalExpression":return r=e,n=t,fg(r.test,n)?fg(r.consequent,n):fg(r.alternate,n);case"CallExpression":return fS(fv(e,t));case"ArrowFunctionExpression":let E;return o=e,i=t,E=o.params?.map(e=>{if("Identifier"===e.type)return e.name;throw`Cannot handle parameter of type ${e.type}`})??[],(function(...e){if(e.length<E.length)throw`Required argument(s) ${E.slice(e.length,-1).join(", ")} were not provided`;let t=Object.fromEntries(E.reduce((t,r,n)=>{let o=e[n];return function e(t){if("string"==typeof t||"number"==typeof t||"boolean"==typeof t||"function"==typeof t||null===t||t instanceof RegExp)return!0;if("object"==typeof t){for(let r of Object.keys(t))if(!e(t[r]))return!1;return!0}if(Array.isArray(t)){for(let r of t)if(!e(r))break}return!1}(o)&&t.push([r,o]),t},[]));return fg(o.body,i.addVariables(t))}).bind(null);case"MemberExpression":return fS(fw(e,t));case"ArrayExpression":return a=e,s=t,a.elements?.map(fD(s));case"SequenceExpression":let S;return l=e,u=t,(S=l.expressions.map(fD(u)))[S.length-1];case"NewExpression":var D=e,O=t;if(D.callee&&"Identifier"===D.callee.type){let e=D.arguments?.map(fD(O));switch(D.callee.name){case"Date":return new Date(...e);case"RegExp":return new RegExp(...e);default:throw`Cannot instantiate object of type ${D.callee.name}`}}if(D.callee)throw"new must be called with either Date or RegExp";throw'Could not handle "new" without a specified class';case"Literal":return e.value;case"Identifier":return c=e,d=t,(fO(c.name),d.variables&&Object.hasOwn(d.variables,c.name))?d.variables[c.name]:Object.hasOwn(d.globals,c.name)?d.globals[c.name]:void 0;case"TemplateLiteral":let P,C;return p=e,f=t,P=p.expressions?.map(fD(f))??[],(C=p.quasis?.map(fD(f))??[]).filter(e=>!e.tail).map(e=>e.value).join("")+P.join("")+C.filter(e=>e.tail).map(e=>e.value).join("");case"TemplateElement":return{value:(h=e).cooked,tail:h.tail};default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function fb(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return fb(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function fv(e,t){let r=fE(e.callee,t);if(r===fx||e.optional&&null==r)return fx;let n=e.arguments?.map(fD(t));if(r){if("function"!=typeof r)throw`${fk(e.callee)} is not a function`}else throw`No function named ${fk(e.callee)} is defined in this context`;return r(...n)}function fw(e,t){let r=fE(e.object,t);if(r===fx||e.optional&&null==r)return fx;if(null===r)throw TypeError(`TypeError: cannot read properties of null (reading '${fC(e.property,t)}')`);if(void 0===r)switch(e.object.type){case"Identifier":{let r=fb(e.object,t);throw ReferenceError(`ReferenceError: ${r} is not defined`)}case"MemberExpression":throw TypeError(`TypeError: cannot read properties of undefined (reading '${fC(e.property,t)}')`);default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}if("object"!=typeof r&&"function"!=typeof r&&"string"!=typeof r&&"number"!=typeof r)throw`VisitMemberExpression does not support member access on type ${typeof r}`;let n=e.computed?function(e){if(void 0===e)throw{type:"Illegal property access",message:"No property was supplied to the property access"};if("string"!=typeof e&&"number"!=typeof e)throw{type:"Illegal property access",message:`Cannot use a value of type ${null===e?"null":typeof e} as a property name`};return e}(fg(e.property,t)):function(e){if("Identifier"!==e.type)throw`VisitMemberExpression does not support a property of type '${e.type}'`;return e.name}(e.property);fO(n),function(e,t){if(fP.has(String(t)))return;let r=Object(e);for(;null!==r;){if(Object.hasOwn(r,t)){if(r===Object.prototype||r===Function.prototype)throw{type:"Illegal property access",message:`Cannot access the ${t} property of objects`};return}r=Object.getPrototypeOf(r)}}(r,n);let o=r[n];return"function"==typeof o?o.bind(r):o}function f_(e,t){let r={variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return r.addVariables.bind(r),r}fe.plugins.register({name:"arrow",init(e){e.addBinaryOp("=>",.1,!0),e.hooks.add("gobble-expression",function(t){if(this.gobbleSpaces(),this.code===e.OPAREN_CODE){let r=this.index;if(this.index++,this.gobbleSpaces(),this.code===e.CPAREN_CODE){this.index++;let e=this.gobbleBinaryOp();if("=>"===e){let r=this.gobbleBinaryExpression();r||this.throwError("Expected expression after "+e),t.node={type:fr,params:null,body:r};return}}this.index=r}}),e.hooks.add("after-expression",function(t){!function t(r){r&&(Object.values(r).forEach(e=>{e&&"object"==typeof e&&t(e)}),"=>"===r.operator&&(r.type=fr,r.params=r.left?[r.left]:null,r.body=r.right,r.params&&r.params[0].type===e.SEQUENCE_EXP&&(r.params=r.params[0].expressions),delete r.left,delete r.right,delete r.operator))}(t.node)})}}),fe.plugins.register({name:"new",init(e){e.addUnaryOp("new"),e.hooks.add("after-token",function(t){let r=t.node;if(r&&"new"===r.operator){r.argument&&[e.CALL_EXP,e.MEMBER_EXP].includes(r.argument.type)||this.throwError("Expected new function()"),t.node=r.argument;let n=t.node;for(;n.type===e.MEMBER_EXP||n.type===e.CALL_EXP&&n.callee.type===e.MEMBER_EXP;)n=n.type===e.MEMBER_EXP?n.object:n.callee.object;n.type="NewExpression"}})}}),fe.plugins.register({name:"numbers",init(e){function t(e){return"x"===e||"X"===e?(this.index+=2,[[48,57],[65,70],[97,102]]):"b"===e||"B"===e?(this.index+=2,[[48,49]]):"o"===e||"O"===e||e>="0"&&e<="7"?(this.index+=e<="7"?1:2,[[48,55]]):null}function r(t){let r=this.index,n="",o=()=>{for(;e.isDecimalDigit(this.code)||95===this.code;)95===this.code?this.index++:n+=this.expr.charAt(this.index++)};o(),this.code===e.PERIOD_CODE&&(n+=this.expr.charAt(this.index++),o());let i=this.char;("e"===i||"E"===i)&&(n+=this.expr.charAt(this.index++),("+"===(i=this.char)||"-"===i)&&(n+=this.expr.charAt(this.index++)),o(),e.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+n+this.char+")"));let a=this.code;if(e.isIdentifierStart(a))this.throwError("Variable names cannot start with a number ("+n+this.char+")");else if(a===e.PERIOD_CODE){n.length>1&&this.throwError(`Unexpected period ${JSON.stringify({chCode:a,number:n},null,2)}`),this.index=r;return}t.node={type:e.LITERAL,value:parseFloat(n),raw:this.expr.substring(r,this.index)}}e.hooks.add("gobble-token",function(n){if(48===this.code){var o,i,a;let s=this.index,l=this.expr.charAt(this.index+1),u=t.call(this,l);if(!u)return;let c="";for(;o=this.code,i=u,95===o||i.some(([e,t])=>o>=e&&o<=t);)95===this.code?this.index++:c+=this.expr.charAt(this.index++);if(e.isIdentifierPart(this.code)){if(e.isDecimalDigit(this.code)&&e.isDecimalDigit(l.charCodeAt(0))){this.index=s+1,r.call(this,n);return}this.throwError("unexpected char within number")}n.node={type:e.LITERAL,value:parseInt(c,"x"===(a=l)||"X"===a?16:"b"===a||"B"===a?2:8),raw:this.expr.substring(s,this.index)}}else(e.isDecimalDigit(this.code)||this.code===e.PERIOD_CODE)&&r.call(this,n)})}}),fe.plugins.register({name:"regex",init(e){e.hooks.add("gobble-token",function(t){if(47===this.code){let r=++this.index,n=!1;for(;this.index<this.expr.length;){if(47===this.code&&!n){let n,o=this.expr.slice(r,this.index),i="";for(;++this.index<this.expr.length;){let e=this.code;if(e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57)i+=this.char;else break}try{n=new RegExp(o,i)}catch(e){this.throwError(e.message)}return t.node={type:e.LITERAL,value:n,raw:this.expr.slice(r-1,this.index)},t.node=this.gobbleTokenProperty(t.node),t.node}this.code===e.OBRACK_CODE?n=!0:n&&this.code===e.CBRACK_CODE&&(n=!1),this.index+=92===this.code?2:1}this.throwError("Unclosed Regex")}})}}),fe.plugins.register({name:"ternary",init(e){e.hooks.add("after-expression",function(t){if(t.node&&this.code===e.QUMARK_CODE){this.index++;let r=t.node,n=this.gobbleExpression();if(n||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;let o=this.gobbleExpression();if(o||this.throwError("Expected expression"),t.node={type:"ConditionalExpression",test:r,consequent:n,alternate:o},r.operator&&e.binary_ops[r.operator]<=.9){let n=r;for(;n.right.operator&&e.binary_ops[n.right.operator]<=.9;)n=n.right;t.node.test=n.right,n.right=t.node,t.node=r}}else this.throwError("Expected :")}})}}),fe.plugins.register({name:"jsepTemplateLiteral",init(e){function t(e,r=!0){if(96===this.code){let t={type:"TemplateLiteral",quasis:[],expressions:[]},n="",o="",i=!1,a=this.expr.length,s=()=>t.quasis.push({type:"TemplateElement",value:{raw:o,cooked:n},tail:i});for(;this.index<a;){let a=this.expr.charAt(++this.index);if("`"===a)return this.index+=1,i=!0,s(),e.node=t,r&&(e.node=this.gobbleTokenProperty(e.node)),e.node;if("$"===a&&"{"===this.expr.charAt(this.index+1))this.index+=2,s(),o="",n="",t.expressions.push(...this.gobbleExpressions(125)),125!==this.code&&this.throwError("unclosed ${");else if("\\"===a)switch(o+=a,a=this.expr.charAt(++this.index),o+=a,a){case"n":n+="\n";break;case"r":n+="\r";break;case"t":n+=" ";break;case"b":n+="\b";break;case"f":n+="\f";break;case"v":n+="\v";break;default:n+=a}else n+=a,o+=a}this.throwError("Unclosed `")}}e.hooks.add("gobble-token",t),e.hooks.add("after-token",function(r){if((r.node.type===e.IDENTIFIER||r.node.type===e.MEMBER_EXP)&&96===this.code)return r.node={type:"TaggedTemplateExpression",tag:r.node,quasi:t.bind(this)(r,!1)},r.node=this.gobbleTokenProperty(r.node),r.node})}}),fe.addBinaryOp("in",7),fe.addBinaryOp("??",1);let fx=Symbol("optional chain short-circuited");function fE(e,t){switch(e.type){case"MemberExpression":return fw(e,t);case"CallExpression":return fv(e,t);default:return fg(e,t)}}function fS(e){return e===fx?void 0:e}function fD(e){return function(t){return null===t?null:fg(t,e)}}function fO(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}let fP=new Set(["toString","valueOf","hasOwnProperty"]);function fC(e,t){try{return fb(e,t)}catch{return"<computed>"}}function fk(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function fj(e){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;let t={globals:{...fo},isLocalExpression:!1,variables:new Set};return fT("string"==typeof e?fe(e):e,t),[...t.variables]}function fT(e,t){switch(e.type){case"UnaryExpression":return n=e,o=t,fT(n.argument,o);case"BinaryExpression":return i=e,a=t,[fT(i.left,a),fT(i.right,a)].filter(Boolean);case"ConditionalExpression":return s=e,l=t,[fT(s.consequent,l),fT(s.test,l),fT(s.alternate,l)].filter(Boolean);case"CallExpression":let r;return u=e,c=t,r=fT(u.callee,c),u.arguments?.map(fR(c)),r;case"ArrowFunctionExpression":var n,o,i,a,s,l,u,c,d,p,f,h,m,y,g,b,v=e,w=t;let x={...w};x.isLocalExpression=!0;let E=v.params?.map(fR(x))??[],S=fT(v.body,x)??[];if(S&&Array.isArray(S))for(let e of S)E.includes(e)||w.variables.add(e);return;case"MemberExpression":var D=e,O=t;if(fT(D.object,O),D.computed)return void fT(D.property,O);let P={...O};P.isLocalExpression=!0,fT(D.property,P);return;case"ArrayExpression":return d=e,p=t,void d.elements?.map(fR(p));case"SequenceExpression":return f=e,h=t,void f.expressions?.map(fR(h));case"NewExpression":return m=e,y=t,void m.arguments?.map(fR(y));case"Literal":case"TemplateElement":return;case"Identifier":var C=e,k=t;if(!(C.name in k.globals))if(k.isLocalExpression)return C.name;else k.variables.add(C.name);return;case"TemplateLiteral":return g=e,b=t,void(g.expressions?.map(fR(b)),g.quasis?.map(fR(b)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function fR(e){return function(t){return null===t?null:fT(t,e)}}let fN=J("feature-flags",{flags:function(){let e={};for(let t of Object.keys(localStorage))if(t.startsWith("openmrs:feature-flag:")){let r=t.replace("openmrs:feature-flag:",""),n=JSON.parse(localStorage.getItem(`openmrs:feature-flag-meta:${r}`)||"{}");e[r]={enabled:"true"===localStorage.getItem(t),...n}}return e}()});function fM(e,t,r){fN.setState(n=>({flags:{...n.flags,[e]:{enabled:n.flags[e]?.enabled??!1,label:t,description:r}}}))}function fA(){let e=fN.getState().flags;Object.keys(localStorage).filter(e=>e.startsWith("openmrs:feature-flag:")).forEach(t=>{let r=t.replace("openmrs:feature-flag:","");e[r]||(localStorage.removeItem(t),localStorage.removeItem(`openmrs:feature-flag-meta:${r}`))})}function f$(e){return fN.getState().flags[e].enabled}function fI(e,t){fN.subscribe(r=>{t(r.flags[e].enabled)})}function fL(e,t){fN.setState(r=>({flags:{...r.flags,[e]:{...r.flags[e],enabled:t}}}))}function fF(e){return!window.offlineEnabled||(e??navigator.onLine)}fN.subscribe(e=>{for(let[t,r]of Object.entries(e.flags))localStorage.setItem(`openmrs:feature-flag:${t}`,r.enabled.toString()),localStorage.setItem(`openmrs:feature-flag-meta:${t}`,JSON.stringify({label:r.label,description:r.description}))});var fB=ru(function(e,t,r){rt(e,t,r)});function fV(e=!0,t=!1){return fU(fF(),e,t)}function fU(e,t=!0,r=!1){return!!(e?t:r)}let fW=Y("extensionsInternal",{slots:{},extensions:{}}),fz=Y("extensionRenderings",{renderings:new Map}),fK=()=>J("extensionsInternal",{slots:{},extensions:{}}),fH=()=>J("extensionRenderings",{renderings:new Map});function fG(e){let t=fW.getState(),r=e(t);r!==t&&fW.setState(r)}let fq=null,fY=null;function fZ(){let e=fz.getState();return fq&&e===fY||(fq=new Map(e.renderings),fY=e,function(e){for(let t of(f5.clear(),e.values()))f7(t,1);f9=!0}(fq)),fq}function fJ(e){fY={renderings:e},fz.setState(fY,!0)}function fX(e){let t=fZ();t.has(e.renderingId)||(t.set(e.renderingId,e),f7(e,1),fJ(t))}function fQ(e){let t=fZ(),r=t.get(e);r&&(t.delete(e),f7(r,-1),fJ(t))}let f0=()=>J("extensions",{slots:{}}),f1=0,f2=new Set;function f4(e){f1++;try{return e()}finally{if(0==--f1&&f2.size>0){let e=Array.from(f2);for(let t of(f2.clear(),e))f3(t)}}}function f3(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function f6(e){f1>0?f2.add(e):f3(e)}let f5=new Map,f9=!1;function f7(e,t){let r=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),n=f5.get(r);if(!n){if(t<0)return;f5.set(r,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),f9=!0;return}n.count+=t,n.count<1&&(f5.delete(r),f9=!0)}function f8(){var e,t;if(fZ(),!f9)return;f9=!1;let r=Array.from(f5.values(),({record:e})=>e);r.sort(he),e=nG.getState().mountedExtensions,t=r,e.length===t.length&&e.every((e,r)=>0===he(e,t[r]))||nG.setState({mountedExtensions:r})}function he(e,t){return ht(e.slotName,t.slotName)||ht(e.extensionId,t.extensionId)||ht(e.slotModuleName,t.slotModuleName)||ht(e.extensionModuleName,t.extensionModuleName)}function ht(e,t){return e===t?0:e<t?-1:1}f8(),fz.subscribe(()=>f6(f8));let hr=fK(),hn=f0(),ho=nY(),hi=nX(),ha=new Set,hs=!1;function hl(e){if(null===e)ha=null;else if(null!==ha)for(let t of e)ha.add(t);f6(hu)}function hu(){if(!hs){hs=!0;try{for(let e=1;;e++){let t=ha;if(null!==t&&0===t.size)return;ha=new Set;try{!function(e,t,r,n,o,i=null){let a=hn.getState().slots,s={},l=!1,u=fF(),c=Object.entries(n.flags).filter(([,{enabled:e}])=>e).map(([e])=>e);for(let[n,d]of Object.entries(e.slots)){let p=a[n];if(p&&i&&!i.has(n)){s[n]=p;continue}let{config:f}=nJ(t,d.name),h=function(e,t,r,n,o,i,a){let s=function(e,t){let r=e.add||[],n=e.remove||[],o=e.order||[],{extensions:i}=hr.getState();return[...t,...r].filter(e=>!n.includes(e)).sort((e,r)=>hw(e,o,i[hf(e)]?.order,t)-hw(r,o,i[hf(r)]?.order,t))}(r,t.slots[e].attachedIds),l=[];for(let u of s){let{config:s}=n0(n,e,u),c=n1(r,e,u),d=c?fB({},s,c):s,p=hf(u),f=t.extensions[p];if(f){let e=d?.["Display conditions"]?.privileges??f.privileges??[];if(e&&("string"==typeof e||Array.isArray(e)&&e.length>0)&&(!a?.user||!aV(e,a.user))||f.featureFlag&&!o.includes(f.featureFlag)||window.offlineEnabled&&!fU(i,f.online,f.offline))continue;l.push({id:u,name:p,moduleName:f.moduleName,config:d,featureFlag:f.featureFlag,meta:f.meta,online:d?.["Display conditions"]?.online??f.online??!0,offline:d?.["Display conditions"]?.offline??f.offline??!1,displayConditionExpression:d?.["Display conditions"]?.expression||f.displayExpression})}}return l}(n,e,f,r,c,u,o.session);p&&p.moduleName===d.moduleName&&r0(p.candidateExtensions,h)?s[n]=p:(s[n]={moduleName:d.moduleName,candidateExtensions:h},l=!0)}(l||Object.keys(a).length!==Object.keys(s).length)&&hn.setState({slots:s})}(hr.getState(),ho.getState(),hi.getState(),fN.getState(),aM.getState(),t)}catch(e){throw ha=null===t||null===ha?null:new Set([...t,...ha]),e}if(e>=20)return void console.error("The extension system stopped recomputing after 20 passes because something keeps invalidating slots in response to the extension store being written. Some slots are left stale until the next write.")}}finally{hs=!1}}}function hc(e,t){let r=new Set;for(let n of Object.keys(e))e[n]!==t[n]&&r.add(n);for(let n of Object.keys(t))n in e||r.add(n);return r}function hd(){hl(null)}function hp(e,t){return{moduleName:t,name:e,attachedIds:[]}}function hf(e){let[t]=e.split("#");return t}function hh(e,t){let r=hf(t);return e.extensions[r]}function hm(e){return hh(hr.getState(),e)}hr.subscribe((e,t)=>{hl(e.extensions!==t.extensions?null:hc(e.slots,t.slots))}),ho.subscribe((e,t)=>{hl(hc(e.slots,t.slots))}),hi.subscribe((e,t)=>{hl(hc(e.configs,t.configs))}),fN.subscribe(()=>hl(null)),aM.subscribe(()=>hl(null)),hd(),b(hd);let hy=e=>fG(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function hg(e,t){fG(r=>{let n=r.slots[e];return n?{...r,slots:{...r.slots,[e]:{...n,attachedIds:[...n.attachedIds,t]}}}:{...r,slots:{...r.slots,[e]:{...hp(e),attachedIds:[t]}}}})}function hb(e,t){fG(r=>{let n=r.slots[e];return n&&n.attachedIds.includes(t)?{...r,slots:{...r.slots,[e]:{...n,attachedIds:n.attachedIds.filter(e=>e!==t)}}}:r})}function hv(e){fG(t=>{let r=t.slots[e];return r?{...t,slots:{...t.slots,[e]:{...r,attachedIds:[]}}}:t})}function hw(e,t,r,n){let o=t.indexOf(e);if(-1!==o)return o;{if(void 0!==r)return 1e3+r;let t=n.indexOf(e);return -1!==t?2e3+t:3e3}}function h_(e,t){return function(e,t,r=null,n){let o;return e.filter(e=>{let i=e.displayConditionExpression;if("string"!=typeof i||0===i.trim().length)return!0;o??(o=t&&"object"==typeof t?{session:r,...t}:{session:r});try{return!!fs(i,o)}catch(t){return console.error(`Error while evaluating expression '${i}' for ${e.id}`+(n?` in ${n}`:""),t),!1}})}(hx(e),t,aM.getState().session,e)}function hx(e){return hn.getState().slots[e]?.candidateExtensions??[]}let hE=(e,t)=>hr.setState(r=>{let n=r.slots[t]?.moduleName;if(n&&n!=e)return console.warn(`An extension slot with the name '${t}' already exists. Refusing to register the same slot name twice (in "registerExtensionSlot"). The existing one is from module ${n}.`),r;if(n&&n==e)return r;if(r.slots[t])return{...r,slots:{...r.slots,[t]:{...r.slots[t],moduleName:e}}};let o=hp(t,e);return{...r,slots:{...r.slots,[t]:{...o}}}}),hS=()=>{ha=null,fG(()=>({slots:{},extensions:{}})),fH().setState({renderings:new Map}),hn.setState({slots:{}})},hD=Y("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function hO({name:e,basePath:t,mode:r,componentContext:n,state:o}){hD.setState({slotName:e,basePath:t,mode:r??"normal",componentContext:n,state:o})}function hP(e){hD.getState().slotName===e&&hD.setState(hD.getInitialState(),!0)}let hC=Y("modalRegistry",{modals:{}});function hk(e){hC.setState(t=>(t.modals[e.name]=e,t))}function hj(e){let t=hC.getState().modals[e];if(!t){let r=hm(e);r&&(t={name:e,load:r.load,moduleName:r.moduleName},console.warn(`Modal ${e} was registered as an extension. This is deprecated and will be removed in the future. Please register it in the "modals" section of routes.json instead of the "extensions" section.`),hk(t))}return t}let hT=Y("workspaceRegistrations",{workspaces:{}}),hR=Y("workspaceGroups",{workspaceGroups:{}});function hN(e){hT.setState(t=>({workspaces:{...t.workspaces,[e.name]:{...e,load:e.load,preferredWindowSize:e.preferredWindowSize??"normal",type:e.type??"form",canHide:e.canHide??!1,canMaximize:e.canMaximize??!1,width:e.width??"narrow",groups:e.groups??[]}}}))}function hM(e){hR.setState(t=>{let r=t.workspaceGroups[e.name];return r?{workspaceGroups:{...t.workspaceGroups,[e.name]:{...r,members:Array.from(new Set([...r.members,...e.members]))}}}:{workspaceGroups:{...t.workspaceGroups,[e.name]:{name:e.name,members:e.members}}}})}let hA=new Set;function h$(e){let t=hT.getState().workspaces;if(t[e])return t[e];{let t=hm(e);if(t){var r;let n;return hA.has(e)||(console.warn(`The workspace '${e}' is registered as an extension. This is deprecated. Please register it in the "workspaces" section of the routes.json file.`),hA.add(e)),{name:t.name,title:(r=t,"string"==typeof(n=r?.meta?.title)?n:n&&"object"==typeof n?sj(r.moduleName,n.key,n.default):r.name),moduleName:t.moduleName,preferredWindowSize:t.meta?.screenSize??"normal",load:t.load,type:t.meta?.type??"form",canHide:t.meta?.canHide??!1,canMaximize:t.meta?.canMaximize??!1,width:t.meta?.width??"narrow",groups:t.meta?.groups??[]}}throw Error(`No workspace named '${e}' has been registered.`)}}function hI(e){let t=hR.getState().workspaceGroups;if(t[e])return t[e];throw Error(`No workspace group named '${e}' has been registered.`)}let hL=Y("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],workspaceTitleByWorkspaceName:{},isMostRecentlyOpenedWindowHidden:!1});function hF(e){let{registeredWorkspacesByName:t,registeredWindowsByName:r}=hL.getState(),n=t[e];if(n){let t=r[n.window];if(t)return t;throw Error(`No workspace window found with name: ${n.window} for workspace: ${e}`)}throw Error(`No workspace found with name: ${e}`)}function hB(e){let{registeredGroupsByName:t,registeredWindowsByName:r}=hL.getState(),n=r[e];if(n){let r=t[n.group];if(r)return r;throw Error(`No workspace group found with name: ${n.group} for window: ${e}`)}throw Error(`No workspace window found with name: ${e}`)}function hV(e){let{openedWindows:t}=hL.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function hU(e,t){if(0==t.length)return;let{registeredGroupsByName:r}=hL.getState(),n={...r};for(let r of t){if(n[r.name])throw Error(`Cannot register workspace group ${r.name} more than once`);n[r.name]={...r,moduleName:e}}hL.setState({registeredGroupsByName:n})}function hW(e,t){if(0==t.length)return;let{registeredWindowsByName:r}=hL.getState(),n={...r};for(let r of t){if(n[r.name])throw Error(`Cannot register workspace window ${r.name} more than once`);let t={...r,moduleName:e};n[r.name]=t}hL.setState({registeredWindowsByName:n})}function hz(e,t){if(0==t.length)return;let{registeredWorkspacesByName:r}=hL.getState(),n={...r};for(let r of t){if(n[r.name])throw Error(`Cannot register workspace ${r.name} more than once`);let t={...r,moduleName:e};n[r.name]=t}hL.setState({registeredWorkspacesByName:n})}let hK=0,hH=null,hG={bootstrap:15e3,mount:15e3,unmount:15e3};function hq(e,t){if(e.timeouts)return e;let r=e.name??"parcel",n=Object.fromEntries(Object.keys(hG).filter(t=>e[t]).map(n=>{var o,i;let a,s;return[n,(o=e[n],i=hG[n],a=Array.isArray(o)?o:[o],s=e=>a.reduce((t,o,i)=>t.then(()=>{let t=o(e);return"function"==typeof t?.then&&"function"==typeof t?.catch?t:Promise.reject(Error(`Lifecycle function ${n} at array index ${i} for parcel ${r} did not return a promise`))}),Promise.resolve(void 0)),e=>{let o,a=new Promise((e,t)=>{o=setTimeout(()=>t(Error(`Lifecycle function ${n} for parcel ${r} did not settle within ${i}ms`)),i)});return Promise.race([s(e),a]).finally(()=>clearTimeout(o)).then(e=>(t(n,!1),e),e=>{throw t(n,!0),e})})]}));return{...e,...n}}async function hY(e,t){var r,n;let o,i,a,s,l,u=await (hH??(hH=new Promise((e,t)=>{ik({name:"openmrs-extension-host",bootstrap:()=>Promise.resolve(),mount:t=>(e(t.mountParcel),Promise.resolve()),unmount:()=>Promise.resolve()},{domElement:document.createElement("div")}).mountPromise.catch(t)}).catch(e=>(console.error("The host parcel used to mount extensions could not be mounted. Falling back to mounting extensions as root parcels, which leaks their DOM elements.",e),ik))),hH),c={...t},d=(o=c,i=!1,{retarget:e=>o={...e},release:a=()=>(function(e){for(let t of Object.keys(e))delete e[t]})(o),onSettled(e,t){switch(e){case"bootstrap":t&&a();return;case"mount":i||(i=t);return;case"unmount":(t||i)&&a();return}}});return n=u((r=d.onSettled,"function"==typeof e?()=>e().then(e=>hq(e,r)):hq(e,r)),c),s=e=>t=>e.call(n,d.retarget(t)).catch(e=>{throw"SKIP_BECAUSE_BROKEN"===n.getStatus()&&d.release(),e}),l=n.update&&s(n.update),Object.defineProperty(n,"update",{configurable:!0,enumerable:!0,get:()=>l,set:e=>{l=e&&s(e)}})}function hZ(){return hJ}function hJ(e,t){let r,n=hY(e,t).then(e=>r=e);return{mount:()=>n.then(e=>e.mount()),unmount:()=>n.then(e=>e.unmount()),update:e=>n.then(t=>t.update?.(e)),getStatus:()=>r?.getStatus()??"LOADING_SOURCE_CODE",get loadPromise(){return n.then(e=>e.loadPromise)},get bootstrapPromise(){return n.then(e=>e.bootstrapPromise)},get mountPromise(){return n.then(e=>e.mountPromise)},get unmountPromise(){return n.then(e=>e.unmountPromise)}}}async function hX(e,t,r,n,o=e=>e,i={}){let a=hf(n),s=hm(n),l=null;if(e){if(!s)throw Error(`Couldn't find extension '${a}' to attach to '${t}'`);let{meta:u,moduleName:c,online:d,offline:p,load:f}=s;if(fV(d,p)){let s,d=hK++,p=`${t}/${n}-${d}`;e.dataset.extensionRenderingId=p;let h=e=>{try{fQ(p)}catch(t){console.error(e,t)}};try{fX({renderingId:p,extensionName:a,extensionModuleName:c,extensionId:n,slotName:t,slotModuleName:r})}catch(e){throw h(`Recomputing configuration after registering '${n}' failed also failed`),e}try{s=await f()}catch(e){throw h(`Recomputing configuration after '${n}' failed to load also failed`),e}try{l=await hY(o({...s,name:`${t}/${a}-${d}`}),{...i,_meta:u,_extensionContext:{extensionId:n,extensionSlotName:t,extensionSlotModuleName:r,extensionModuleName:c},domElement:e})}catch(e){throw h(`Recomputing configuration after '${n}' failed to mount also failed`),e}l.mountPromise.then(void 0,e=>{console.error(`Extension '${n}' in slot '${t}' failed to mount`,e),h(`Recomputing configuration after '${n}' failed to mount also failed`)}),l.unmountPromise.then(()=>h(`Recomputing configuration after unmounting '${n}' failed`),e=>{console.error(`Extension '${n}' in slot '${t}' failed to unmount`,e),h(`Recomputing configuration after '${n}' failed to unmount also failed`)})}}else console.warn(`Tried to render ${n} into ${t} but no DOM element was available.`);return l}var hQ=r(7125),h0=r.n(hQ);let h1=(0,hQ.createContext)({moduleName:"",featureName:""});function h2({to:e,templateParams:t,onBeforeNavigate:r,children:n,...o}){return(0,hQ.useEffect)(()=>{o.href&&console.warn(`ConfigurableLink does not support the href prop. Use the 'to' prop instead. The provided href value is '${o.href}'`),o.onClick&&console.warn(`ConfigurableLink does not support the onClick prop. Use the 'onBeforeNavigate' prop instead. The 'to' prop of the offending link is ${e}`)},[]),h0().createElement("a",{onClick:n=>{0===n.button&&!n.ctrlKey&&!n.shiftKey&&!n.altKey&&!n.metaKey&&(n.preventDefault(),r?.(n),ag({to:e,templateParams:t})),0===n.button&&(n.ctrlKey||n.metaKey)&&r?.(n),0===n.button&&n.shiftKey&&r?.(n),1===n.button&&r?.(n)},href:am(e,t),...o},n)}let h4=({state:e,children:t,...r})=>{let{extension:n}=(0,hQ.useContext)(h1),o=(0,hQ.useRef)(null),i=(0,hQ.useRef)(Promise.resolve()),a=(0,hQ.useRef)(!1),s=(0,hQ.useRef)(!1),l=(0,hQ.useRef)(e),u=(0,hQ.useCallback)(e=>{if(!e)return;let t=()=>{"MOUNTED"===e.getStatus()&&e.unmount()};switch(e.getStatus()){case"MOUNTED":e.unmount();break;case"UPDATING":i.current?.then(t,t);break;default:e.mountPromise.then(t,()=>{})}},[]),c=(0,hQ.useCallback)((e,t)=>{e.update&&"UNMOUNTING"!==e.getStatus()&&(i.current=Promise.all([e.mountPromise,i.current]).then(()=>{if(o.current?.getStatus()==="MOUNTED"&&o.current.update)return o.current.update({...t})}).catch(e=>{let t=o.current?.getStatus();"UNMOUNTING"!==t&&"NOT_MOUNTED"!==t&&"UNLOADING"!==t&&console.error(`The extension '${n?.extensionId}' failed to update`,e)}))},[]),d=(0,hQ.useCallback)(t=>{t&&!o.current&&!s.current&&n?.extensionSlotName&&n.extensionSlotModuleName&&(s.current=!0,hX(t,n.extensionSlotName,n.extensionSlotModuleName,n.extensionId,void 0,e).then(t=>{(s.current=!1,o.current=t,a.current)?u(t):t&&l.current!==e&&c(t,l.current)},()=>{s.current=!1}))},[]);return(0,hQ.useEffect)(()=>(a.current=!1,()=>{a.current=!0,u(o.current)}),[]),(0,hQ.useEffect)(()=>{l.current=e,o.current&&c(o.current,e)},[e]),n?h0().createElement("div",{ref:d,"data-extension-id":n?.extensionId,style:{position:"relative"},...r}):null};function h3(e){let t=(0,hQ.useRef)(e);return F(t.current,e)||(t.current=e),t.current}function h6(e,t){"function"==typeof t&&(t=t(e));let r={};for(let[n,o]of Object.entries(t)){let t=function(...t){e.setState(e=>o(e,...t))};r[n]=t}return r}let h5=e=>e;function h9(e,t=h5,r){let n=(0,hQ.useCallback)(t=>e.subscribe(t),[e]),o=(0,hQ.useCallback)(()=>t(e.getState()),[e,t]),i=(0,hQ.useSyncExternalStore)(n,o,o),a=(0,hQ.useMemo)(()=>r?h6(e,r):null,[e,r]);return(0,hQ.useMemo)(()=>a?{...i,...a}:i,[i,a])}function h7(e,t){return h9(e,h5,t)}function h8(e){return function(t){let r=(0,hQ.useCallback)(t=>e.subscribe(t),[]),n=(0,hQ.useCallback)(()=>e.getState(),[]),o=(0,hQ.useSyncExternalStore)(r,n,n),i=(0,hQ.useMemo)(()=>t?h6(e,t):null,[t]);return(0,hQ.useMemo)(()=>i?{...o,...i}:o,[o,i])}}let me=[];Object.freeze(me);let mt={candidateExtensions:me};Object.freeze(mt);let mr=e=>{let t=(0,hQ.useCallback)(t=>t.slots?.[e]??mt,[e]);return h9(f0(),t)},mn=e=>e.session;function mo(e,t){let{candidateExtensions:r}=mr(e),n=h9(aM,mn),o=h3(t);return(0,hQ.useMemo)(()=>h_(e,o),[e,o,n,r])}function mi(e,t){let{moduleName:r}=(0,hQ.useContext)(h1);if(!r)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,hQ.useEffect)(()=>{hE(r,e)},[r,e]),{extensions:mo(e,t),extensionSlotName:e,extensionSlotModuleName:r}}function ma(e){return e}function ms({name:e,extensionSlotName:t,select:r=ma,children:n,state:o,style:i,...a}){if(n&&o)throw Error("Both children and state have been provided. If children are provided, the state must be passed as a prop to the `Extension` component.");let s=e??t,l=(0,hQ.useRef)(null),{extensions:u,extensionSlotModuleName:c}=mi(s,o),d=(0,hQ.useMemo)(()=>r(u),[r,u]),p=(0,hQ.useMemo)(()=>{if("function"==typeof n&&!h0().isValidElement(n))return d.map(e=>n(e,o))},[n,d]);return h0().createElement("div",{ref:l,"data-extension-slot-name":s,"data-extension-slot-module-name":c,style:{...i,position:"relative"},...a},s&&d?.map((e,t)=>h0().createElement(h1.Provider,{key:e.id,value:{moduleName:c,featureName:"",extension:{extensionId:e.id,extensionSlotName:s,extensionSlotModuleName:c}}},p?.[t]??("function"!=typeof n?n:null)??h0().createElement(h4,{state:o}))))}var ml=r(5873);function mu(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function mc(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?mu(Object(r),!0).forEach(function(t){var n,o,i;n=e,o=t,i=r[t],o in n?Object.defineProperty(n,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[o]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mu(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function md(e){return(md="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function mp(e){return(mp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function mf(e,t){var r;if("function"!=typeof(r=t.domElement?function(){return t.domElement}:t.domElementGetter?t.domElementGetter:e.domElementGetter?e.domElementGetter:function(e){var t=e.appName||e.name;if(!t)throw Error("single-spa's dom-element-getter-helpers was not given an application name as a prop, so it can't make a unique dom element container for the react application");var r="single-spa-application:".concat(t);return function(){var e=document.getElementById(r);return e||((e=document.createElement("div")).id=r,document.body.appendChild(e)),e}}(t)))throw Error("single-spa's dom-element-getter-helpers was given an invalid domElementGetter for application or parcel '".concat(t.name,"'. Expected a function, received ").concat(mp(r)));return function(){var e=r(t);if(!(e instanceof HTMLElement))throw Error("single-spa's dom-element-getter-helpers: domElementGetter returned an invalid dom element for application or parcel '".concat(t.name,"'. Expected HTMLElement, received ").concat(mp(e)));return e}}var mh=null;try{mh=require("react").createContext()}catch(e){}var mm={React:null,ReactDOM:null,ReactDOMClient:null,rootComponent:null,loadRootComponent:null,errorBoundary:null,errorBoundaryClass:null,domElementGetter:null,parcelCanUpdate:!0,suppressComponentDidCatchWarning:!1,domElements:{},renderResults:{},updateResolves:{},unmountResolves:{}};function my(e,t){return e.rootComponent?Promise.resolve():e.loadRootComponent(t).then(function(t){e.rootComponent=t})}function mg(e,t){return new Promise(function(r,n){e.suppressComponentDidCatchWarning||!function(e){if(!(e&&"string"==typeof e.version&&e.version.indexOf(".")>=0))return!1;var t=e.version.slice(0,e.version.indexOf("."));try{return Number(t)>=16}catch(e){return!1}}(e.React)||e.errorBoundary||e.errorBoundaryClass||(e.rootComponent.prototype?e.rootComponent.prototype.componentDidCatch||console.warn("single-spa-react: ".concat(t.name||t.appName||t.childAppName,"'s rootComponent should implement componentDidCatch to avoid accidentally unmounting the entire single-spa application.")):console.warn("single-spa-react: ".concat(t.name||t.appName||t.childAppName,"'s rootComponent does not implement an error boundary. If using a functional component, consider providing an opts.errorBoundary to singleSpaReact(opts).")));var o,i=m_(e,t,function(){r(this)}),a=mf(e,t)(),s=function(e){var t=e.reactDom,r=e.renderType,n=e.elementToRender,o=e.domElement,i=t[r];if("function"!=typeof i)throw Error('renderType "'.concat(r,'" did not return a function.'));switch(r){case"createRoot":case"unstable_createRoot":case"createBlockingRoot":case"unstable_createBlockingRoot":var a=i(o);return a.render(n),a;case"hydrateRoot":return i(o,n);default:return i(n,o),null}}({elementToRender:i,domElement:a,reactDom:mw(e),renderType:"function"==typeof(o=e).renderType?o.renderType():o.renderType});e.domElements[t.name]=a,e.renderResults[t.name]=s})}function mb(e,t){return new Promise(function(r){e.unmountResolves[t.name]=r;var n=e.renderResults[t.name];n&&n.unmount?n.unmount():mw(e).unmountComponentAtNode(e.domElements[t.name]),delete e.domElements[t.name],delete e.renderResults[t.name]})}function mv(e,t){return new Promise(function(r){e.updateResolves[t.name]||(e.updateResolves[t.name]=[]),e.updateResolves[t.name].push(r);var n=m_(e,t,null),o=e.renderResults[t.name];if(o&&o.render)o.render(n);else{var i=mf(e,t)();mw(e).render(n,i)}})}function mw(e){return e.ReactDOMClient||e.ReactDOM}function m_(e,t,r){var n=e.React.createElement(e.rootComponent,t),o=mh?e.React.createElement(mh.Provider,{value:t},n):n;return(e.errorBoundary||t.errorBoundary||e.errorBoundaryClass||t.errorBoundaryClass)&&(e.errorBoundaryClass=e.errorBoundaryClass||t.errorBoundaryClass||function(e,t){function r(t){e.React.Component.apply(this,arguments),this.state={caughtError:null,caughtErrorInfo:null},r.displayName="SingleSpaReactErrorBoundary(".concat(t.name,")")}return r.prototype=Object.create(e.React.Component.prototype),r.prototype.render=function(){return this.state.caughtError?(e.errorBoundary||t.errorBoundary)(this.state.caughtError,this.state.caughtErrorInfo,this.props):this.props.children},r.prototype.componentDidCatch=function(e,t){this.setState({caughtError:e,caughtErrorInfo:t})},r}(e,t),o=e.React.createElement(e.errorBoundaryClass,t,o)),o=e.React.createElement(e.SingleSpaRoot,mc(mc({},t),{},{mountFinished:r,updateFinished:function(){e.updateResolves[t.name]&&(e.updateResolves[t.name].forEach(function(e){return e()}),delete e.updateResolves[t.name])},unmountFinished:function(){e.unmountResolves[t.name]&&(e.unmountResolves[t.name](),delete e.unmountResolves[t.name])}}),o)}var mx=r(5921),mE=r(8909),mS=r.n(mE),mD=r(9106);let mO={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},mP=new Map;(0,mD.initCache)(mP);let mC={errorRetryCount:3,fetcher:aT,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof aN){let t=e.response.status;return!!(t>=500)||401===t||403===t||429===t}return!0},provider:()=>mP};function mk(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},mO,e),r={...mC,...t.swrConfig};return function(e){var n,o,i,a,s;return i=o=class extends(n=h0().Component){componentDidCatch(e,r){r&&r.componentStack&&(e.extra=Object.assign(e.extra||{},{componentStack:r.componentStack})),t.throwErrorsToConsole&&setTimeout(()=>{throw e}),this.setState({caughtError:e,caughtErrorInfo:r})}render(){if(this.state.caughtError)return h0().createElement("div",null,"An error has occurred. Please try reloading the page.");{let n=h0().createElement(hQ.Suspense,{fallback:null},h0().createElement(mE.SWRConfig,{value:r},h0().createElement(h1.Provider,{value:this.state.config},t.disableTranslations?h0().createElement(e,this.props):h0().createElement(mx.I18nextProvider,{i18n:window.i18next,defaultNS:this.state.config.extension?`${this.state.config.moduleName}___${this.state.config.extension.extensionSlotName}___${this.state.config.extension.extensionId}`:this.state.config.moduleName},h0().createElement(e,this.props)))));return t.strictMode&&h0().StrictMode?h0().createElement(h0().StrictMode,null,n):n}}constructor(e){super(e),this.state={caughtError:null,caughtErrorInfo:null,config:{moduleName:t.moduleName,featureName:t.featureName,extension:e._extensionContext}}}},a="displayName",s=`OpenmrsReactComponent(${t.featureName})`,a in i?Object.defineProperty(i,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[a]=s,o}}function mj(e,t){return function(e){if("object"!==md(e))throw Error("single-spa-react requires a configuration object");var t,r=mc(mc({},mm),e);if(!r.React)throw Error("single-spa-react must be passed opts.React");if(!r.ReactDOM&&!r.ReactDOMClient)throw Error("single-spa-react must be passed opts.ReactDOM or opts.ReactDOMClient");if(r.renderType||(null!=(t=r.ReactDOMClient)&&t.createRoot?r.renderType="createRoot":r.renderType="render"),!r.rootComponent&&!r.loadRootComponent)throw Error("single-spa-react must be passed opts.rootComponent or opts.loadRootComponent");if(r.errorBoundary&&"function"!=typeof r.errorBoundary)throw Error("The errorBoundary opt for single-spa-react must either be omitted or be a function that returns React elements");!mh&&r.React.createContext&&(mh=r.React.createContext()),r.SingleSpaRoot=function(e){function t(e){t.displayName="SingleSpaRoot(".concat(e.name,")")}return t.prototype=Object.create(e.React.Component.prototype),t.prototype.componentDidMount=function(){setTimeout(this.props.mountFinished)},t.prototype.componentWillUnmount=function(){setTimeout(this.props.unmountFinished)},t.prototype.render=function(){return setTimeout(this.props.updateFinished),this.props.children},t}(r);var n={bootstrap:my.bind(null,r),mount:mg.bind(null,r),unmount:mb.bind(null,r)};return r.parcelCanUpdate&&(n.update=mv.bind(null,r)),n}({React:h0(),ReactDOMClient:ml,rootComponent:mk(t)(e)})}function mT(e,t){return()=>e().then(({default:e})=>mj(e,t))}function mR(e,t){return()=>Promise.resolve(mj(e,t))}let mN=mT,mM=W()(()=>({}));Z("openmrs-app-context",mM);let mA={};function m$(e,t=e=>e){let r=mM.getState();return e in r?Object.freeze(Object.assign({},t?t(r[e]):r[e])):null}function mI(e,t){mM.setState(r=>(e in r||(r[e]={}),r[e]=t(r[e]),Object.assign({},r)))}function mL(e){return null===e?null:Object.freeze(Object.assign({},e))}let mF=new Map;function mB(e,t){let r=(0,hQ.useRef)(t??{}),n=(0,hQ.useRef)(t=>mI(e,t)),o=(0,hQ.useRef)(Symbol());return(0,hQ.useEffect)(()=>{let r=t??{},n=o.current;return null===m$(e)?!function(e,t=mA){mM.setState(r=>{if(e in r)throw Error(`Attempted to re-register namespace ${e} in the app context. Each namespace must be unregistered before the name can be registered again.`);return Object.assign({},r,{[e]:t===mA?{}:t})})}(e,r):(console.warn(`Namespace ${e} is already registered in the app context. This is likely a race condition during navigation, but may indicate two components are trying to own the same namespace. Updating the existing context.`),mI(e,()=>r)),mF.set(e,n),()=>{mF.get(e)===n&&(mM.setState(t=>(e in t&&delete t[e],t)),mF.delete(e))}},[e]),(0,hQ.useEffect)(()=>{let n=t??{};F(r.current,n)||(mI(e,()=>n),r.current=n)},[t]),n.current}function mV({namespace:e,value:t}){return mB(e,t),null}let mU=({children:e,value:t,fallback:r})=>t?h0().createElement(h0().Fragment,null,e):r?h0().createElement(h0().Fragment,null,r):null;function mW(){let e=(0,hQ.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,hQ.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function mz(e,t=e=>e??{}){let[r,n]=(0,hQ.useState)(()=>{if(mK(e))return;let r=m$(e);if(null!==r)return t?t(r):r});return(0,hQ.useEffect)(()=>{if(mK(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,hQ.useEffect)(()=>{var r;let o;return(r=e=>{if(null==e)return void n(void 0);let r=t?t(e):e;n(e=>F(e,r)?e:r)})(mL(o=m$(e))),mM.subscribe(t=>{let n=e in t?t[e]:null;n!==o&&(o=n,r(mL(n)))})},[e,t]),r}function mK(e){return"string"!=typeof e||0===e.trim().length}function mH(e){let t=mo(e);return(0,hQ.useMemo)(()=>t.map(e=>e.id),[t])}function mG(e){return mr(e).candidateExtensions}function mq(e,t,r){let{data:n,error:o,mutate:i,isLoading:a,isValidating:s}=mS()(e?lb(e,t,r):null,aT);return(0,hQ.useMemo)(()=>({isLoading:a,data:n?.data.results??[],error:o,mutate:i,isValidating:s}),[n,o,a,s,i])}function mY(e){(0,hQ.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let mZ={},mJ=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
|
|
16
16
|
Usually this is already applied when using "getAsyncLifecycle" or "getSyncLifecycle".`;function mX(e){let{moduleName:t,extension:r}=(0,hQ.useContext)(h1),n=e?.externalModuleName??t;if(!n&&!r)throw Error(mJ);let o=function(e){let t=(0,hQ.useMemo)(()=>nq(e),[e]),r=function(e){let[t,r]=(0,hQ.useState)(()=>{let t=e.getState();return t.loaded&&t.config?t.config:null});return(0,hQ.useEffect)(()=>e?.subscribe(e=>{e.loaded&&e.config&&r(e.config)}),[e]),t}(t);if(!r)throw mZ[e]||(mZ[e]=new Promise(e=>{let r=t.subscribe(t=>{t.loaded&&t.config&&(e(t.config),r())})})),mZ[e];return r}(n),i=function(e){let t=(0,hQ.useMemo)(nX,[]),r=function(e,t){let[r,n]=(0,hQ.useState)(t?()=>{let r=n0(e.getState(),t.extensionSlotName,t.extensionId);if(r.loaded&&r.config)return r.config}:null);return(0,hQ.useEffect)(()=>{if(t)return e.subscribe(e=>{let o=n0(e,t.extensionSlotName,t.extensionId);o.loaded&&o.config&&!r0(o.config,r)&&n(o.config)})},[e,t,r]),r}(t,e);if(!r&&e){let r=`${e.extensionSlotName}-${e.extensionId}`;throw!mZ[r]&&t&&(mZ[r]=new Promise(r=>{let n=t.subscribe(t=>{let o=n0(t,e.extensionSlotName,e.extensionId);o.loaded&&o.config&&(r(o.config),n())})})),mZ[r]}return r||{}}(r);return(0,hQ.useMemo)(()=>e?.externalModuleName&&n===e.externalModuleName?{...o}:{...o,...i},[n,e?.externalModuleName,o,i])}let mQ=mo;function m0(){let[e,t]=(0,hQ.useState)(fF());return(0,hQ.useEffect)(()=>b(({online:e})=>t(e)),[]),e}function m1(e,t=300){let[r,n]=(0,hQ.useState)(e);return(0,hQ.useEffect)(()=>{let r=setTimeout(()=>{n(e)},t);return()=>{clearTimeout(r)}},[e,t]),r}var m2=r(4498),m4=r.n(m2);let m3=`custom:${[["admissionDecisionConcept","ref"],["admissionEncounterType","ref"],["admissionForm","ref"],["atFacilityVisitType","ref"],["bedAssignmentEncounterType","ref"],["cancelADTRequestEncounterType","ref"],["checkInClerkEncounterRole","ref"],["checkInEncounterType","ref"],["clinicianEncounterRole","ref"],["conceptSourcesForDiagnosisSearch","ref"],["consultEncounterType","ref"],["consultFreeTextCommentsConcept","ref"],["denyAdmissionConcept","ref"],["diagnosisMetadata","ref"],["diagnosisSets","ref"],["dischargeForm","ref"],["dispositionDescriptor","ref"],["dispositions","ref"],["emrApiConceptSource","ref"],["exitFromInpatientEncounterType","ref"],["extraPatientIdentifierTypes","ref"],["fullPrivilegeLevel","ref"],["highPrivilegeLevel","ref"],["identifierTypesToSearch","ref"],["inpatientNoteEncounterType","ref"],["lastViewedPatientSizeLimit","ref"],["metadataSourceName","ref"],["motherChildRelationshipType","ref"],["narrowerThanConceptMapType","ref"],["nonDiagnosisConceptSets","ref"],["orderingProviderEncounterRole","ref"],["patientDiedConcept","ref"],["personImageDirectory","ref"],["primaryIdentifierType","ref"],["sameAsConceptMapType","ref"],["suppressedDiagnosisConcepts","ref"],["supportsAdmissionLocationTag","(uuid,display,name,links)"],["supportsLoginLocationTag","(uuid,display,name,links)"],["supportsTransferLocationTag","(uuid,display,name,links)"],["supportsVisitsLocationTag","(uuid,display,name,links)"],["telephoneAttributeType","ref"],["testPatientPersonAttributeType","ref"],["transferForm","ref"],["transferRequestEncounterType","ref"],["transferWithinHospitalEncounterType","ref"],["unknownCauseOfDeathConcept","ref"],["unknownLocation","ref"],["unknownPatientPersonAttributeType","ref"],["unknownProvider","ref"],["visitAssignmentHandlerAdjustEncounterTimeOfDayIfNecessary","ref"],["visitExpireHours","ref"],["visitNoteEncounterType","ref"]].map(([e,t])=>`${e}:${t}`).join(",")}`;function m6(){let e=`${aP}/emrapi/configuration?v=${m3}`,t=m4()(e,aT);return(0,hQ.useMemo)(()=>({emrConfiguration:t.data?.data,isLoadingEmrConfiguration:t.isLoading,mutateEmrConfiguration:t.mutate,errorFetchingEmrConfiguration:t.error}),[t])}let m5=h8(fK());function m9(e){let t=mo(e);return(0,hQ.useMemo)(()=>Object.fromEntries(t.map(e=>[e.name,e.meta])),[t])}let m7=h8(f0());function m8(e){let{flags:t}=h9(fN);return t[e]?.enabled??!1}function ye(){let[,e]=(0,hQ.useState)(0);return(0,hQ.useCallback)(()=>{e(e=>e+1)},[])}function yt(e,t,r={}){return yn(e,t,yr,r)}let yr={getPaginatedUrl:(e,t,r)=>{if(!e)return null;{let n=new URL(aj(e.toString()),window.location.toString());return n.searchParams.set("limit",""+t),n.searchParams.set("startIndex",""+r),n.searchParams.set("totalCount","true"),n.toString()}},getNextUrl:e=>{let t=e?.links?.find(e=>"next"==e.rel)?.uri;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.totalCount??NaN,getCurrentPageSize:e=>e?.results?.length??NaN,getData:e=>e?.results};function yn(e,t,r,n={}){let{getPaginatedUrl:o,getTotalCount:i,getCurrentPageSize:a,getData:s}=r,{immutable:l,swrConfig:u}=n,c=n.fetcher??aT,[d,p]=(0,hQ.useState)(1),f=(0,hQ.useRef)(NaN),h=(0,hQ.useRef)(NaN),m=(0,hQ.useRef)(d),y=(0,hQ.useRef)(!1),g=(0,hQ.useRef)(!1),b=e?.toString()??"",[v,w]=(0,hQ.useState)(b);b!==v&&(w(b),p(1),m.current=1,f.current=NaN,h.current=NaN,y.current=!1,g.current=!1);let x=(d-1)*t,E=(0,hQ.useMemo)(()=>o(e,t,x),[e,t,x]),{data:S,...D}=(l?m4():mS())(E,c,u);S?.data&&(f.current=i(S?.data),h.current=a(S?.data),y.current=!0);let O=Math.ceil(f.current/t),P=(0,hQ.useCallback)(e=>{if(!Number.isInteger(e)||e<1)return void console.warn(`useServerPagination: ignoring goTo(${e}); page must be a positive integer.`);let r=Math.ceil(f.current/t);!y.current||Number.isNaN(r)||e<=r?(m.current=e,p(e)):console.warn("Invalid attempt to go to out of bounds page: "+e)},[t]);(0,hQ.useEffect)(()=>{if(!y.current)return;if(Number.isNaN(f.current)){g.current||(g.current=!0,console.warn(`useServerPagination: ${b} returned no total count, so out-of-range pages cannot be detected.`));return}let e=Math.max(1,Math.ceil(f.current/t));d>e&&(console.warn(`Invalid attempt to go to out of bounds page: ${d}; returning to page ${e}.`),m.current=e,p(e))},[d,t,b,S]);let C=(0,hQ.useCallback)(()=>{P(m.current+1)},[P]),k=(0,hQ.useCallback)(()=>{P(m.current-1)},[P]);return{data:s(S?.data),totalPages:O,totalCount:f.current,currentPage:d,currentPageSize:h.current,paginated:O>1,showNextButton:d<O,showPreviousButton:d>1,goTo:P,goToNext:C,goToPrevious:k,...D}}function yo(e,t,r={}){return yn(e,t,yi(),r)}function yi(){return{getPaginatedUrl:(e,t,r)=>{if(!e)return null;{let n=new URL(aj(e.toString()),window.location.toString());return n.searchParams.set("_count",""+t),n.searchParams.set("_getpagesoffset",""+r),n.toString()}},getNextUrl:e=>{let t=e?.link?.find(e=>"next"==e.relation)?.url;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.total??NaN,getCurrentPageSize:e=>e?.entry?.length??NaN,getData:e=>e?.entry?.map(e=>e.resource)}}var ya=r(5292),ys=r.n(ya);function yl(e,t={}){return yu(e,yr,t)}function yu(e,t,r={}){let{swrInfiniteConfig:n,immutable:o}=r,{getNextUrl:i,getTotalCount:a,getData:s}=t,l=r.fetcher??aT,u=(0,hQ.useCallback)((r,n)=>0==r?e?.toString()??null:t.getNextUrl(n.data),[e]),{data:c,size:d,setSize:p,...f}=ys()(u,l,{...n,...o?{revalidateIfStale:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1}:{}}),h=i(c?.[c.length-1].data),m=a(c?.[0]?.data);return{data:c?.flatMap(e=>s(e.data)),totalCount:m,hasMore:null!=h,loadMore:()=>{p((c?.length??0)+1)},nextUri:h,...f}}function yc(e,t={}){return yd(e,yr,t)}function yd(e,t,r={}){let n=yu(e,t,r),{hasMore:o,error:i,data:a,loadMore:s,isLoading:l,nextUri:u}=n;return((0,hQ.useEffect)(()=>{o&&!i&&s()},[o,u]),r.partialData)?n:{...n,data:o||i?void 0:a,isLoading:l||o}}function yp(e,t={}){return yd(e,yi(),t)}function yf(e,t={}){return yu(e,yi(),t)}function yh(){let e="tablet";return document.body.classList.forEach(t=>{switch(t){case"omrs-breakpoint-lt-tablet":e="phone";break;case"omrs-breakpoint-gt-small-desktop":e="large-desktop";break;case"omrs-breakpoint-gt-tablet":e="small-desktop"}}),e}function ym(){let[e,t]=(0,hQ.useState)(yh);return(0,hQ.useEffect)(()=>{let e=()=>{t(yh())};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}let yy=e=>"small-desktop"===e||"large-desktop"===e;function yg(e){let t=(0,hQ.useContext)(h1);(0,hQ.useEffect)(()=>(t&&t.moduleName&&(e.componentContext=t),hO(e),()=>{hP(e.name)}),[t,e])}function yb(){return h9(hD)}function yv(e=null,t=null){let[r,n]=(0,hQ.useState)([]);return(0,hQ.useEffect)(()=>{let r=pz(e,t).subscribe(e=>{n(e)},e=>{console.error(e)});return()=>r.unsubscribe()},[e,t]),r}function yw(e,t=!0){let r=(0,hQ.useRef)(null);return(0,hQ.useEffect)(()=>{let n=n=>{t&&r.current&&n.target&&n.target instanceof Node&&(r.current.contains(n.target)||e(n))};return window.addEventListener("mousedown",n),window.addEventListener("touchstart",n),()=>{window.removeEventListener("mousedown",n),window.removeEventListener("touchstart",n)}},[e,t]),r}function y_(e){let t=(0,hQ.useRef)();return(0,hQ.useEffect)(()=>{let r=new IntersectionObserver(t=>{for(let r of t)if(r.isIntersecting)return void e()},{threshold:1});return t.current&&r.observe(t.current),()=>{t.current&&r.unobserve(t.current)}},[t.current,e]),t}function yx(e,t={}){let{abortController:r,fetchInit:n,url:o,swrConfig:i}=t,a=mW(),s=(0,hQ.useMemo)(()=>n?.signal??r?.signal??a.signal,[r?.signal,n?.signal,a.signal]),l=(0,hQ.useCallback)(e=>aT(function(e,t){if(t)return"function"==typeof t?t(e):t;if("string"==typeof e)return e;throw Error(`When using useOpenmrsSWR with a key that is not a string, you must provide a url() function that converts the key to a valid url. The key for this hook is ${e}.`)}(e,o),{...n,signal:s}),[s,n,o]);return mS()(e,l,i)}function yE(e=[],t=10){let[r,n]=(0,hQ.useState)(1),o=(0,hQ.useMemo)(()=>"number"==typeof t&&t>0?Math.max(1,Math.ceil(e.length/t)):1,[e.length,t]);r>o&&n(o);let i=Math.min(Math.max(1,r),o),a=(0,hQ.useMemo)(()=>{let r=(i-1)*t,n=(i+0)*t;return e.slice(r,n)},[e,i,t]),s=(0,hQ.useCallback)(e=>{!Number.isInteger(e)||e<1?console.warn(`usePagination: ignoring goTo(${e}); page must be a positive integer.`):n(e)},[]),l=(0,hQ.useCallback)(()=>{n(e=>e+1)},[]),u=(0,hQ.useCallback)(()=>{n(e=>Math.max(1,e-1))},[]);return(0,hQ.useMemo)(()=>({results:a,totalPages:o,currentPage:i,paginated:e.length>t,showNextButton:i<o,showPreviousButton:i>1,goTo:s,goToNext:l,goToPrevious:u}),[a,o,e.length,t,i,s,l,u])}function yS(e,t,r,n){return{pageSizes:(0,hQ.useMemo)(()=>{let r=Math.ceil(t/e);return isNaN(r)&&(r=0),[...Array(r).keys()].map(t=>(t+1)*e)},[e,t]),pageItemsCount:(0,hQ.useMemo)(()=>e>t?t:e*r>t?e*(r-1)+n:e*r,[e,t,r,n])}}function yD(){let e=/\/patient\/([a-zA-Z0-9\-]+)\/?/.exec(location.pathname);return e&&e[1]}function yO(e){let[t,r]=(0,hQ.useState)(e??yD()),{data:n,error:o,isValidating:i}=mS()(t?["patient",t]:null,()=>pL(t,{}));return(0,hQ.useEffect)(()=>{let e=()=>{let e=yD();e!==t&&r(e)};return window.addEventListener("single-spa:routing-event",e),()=>window.removeEventListener("single-spa:routing-event",e)},[t]),(0,hQ.useMemo)(()=>({isLoading:i&&!o&&!n,patient:n,patientUuid:t,error:o}),[i,o,n,t])}function yP(){let e=`${aP}/metadatamapping/termmapping?v=custom:(metadataUuid)&code=emr.primaryIdentifierType`,{data:t,error:r,isLoading:n}=mS()(e,aT);return(0,hQ.useMemo)(()=>({primaryIdentifierCode:t?.data?.results[0]?.metadataUuid,isLoading:n,error:r}),[t,r,n])}function yC(e){let{extensions:t,extensionSlotModuleName:r}=mi(e);return e?t.map(t=>({state:n})=>h0().createElement(h1.Provider,{value:{moduleName:r,featureName:"",extension:{extensionId:t.id,extensionSlotName:e,extensionSlotModuleName:r}}},h0().createElement(h4,{state:n}))):[]}function yk(){let e=(0,hQ.useRef)(),[t,r]=(0,hQ.useState)(null),n=null;if(!t){if(s){let e=aI().getState();e.loaded&&(n=e.session)}else s=new Promise(t=>{let r=({loaded:r,session:o})=>{r&&(t(o),n=o,e.current&&(e.current(),e.current=void 0))};r(aI().getState()),n||(e.current=aI().subscribe(r))});if(n)r(n);else throw s}(0,hQ.useEffect)(()=>(e.current||(e.current=aI().subscribe(({loaded:e,session:t})=>{e&&(n=t,r(t))})),()=>{e.current&&(e.current(),e.current=void 0)}),[]);let o=t||n;if(!o)if(s)throw console.warn("useSession is in an unexpected state. Attempting to recover."),s;else throw Error("useSession is in an invalid state.");return o}let yj=({privilege:e,fallback:t,children:r})=>{let[n,o]=(0,hQ.useState)(null);return((0,hQ.useEffect)(()=>{let e=a$({includeAuthStatus:!1}).subscribe(o);return()=>e.unsubscribe()},[]),n&&aV(e,n))?h0().createElement(h0().Fragment,null,r):t?h0().createElement(h0().Fragment,null,t):null};var yT=r(3464),yR=r.n(yT),yN=r(5602);let yM=new Map;function yA(){for(let e of Array.from(yM.values()))e()}let y$={setVisitContext:(e,t)=>null==t?{manuallySetVisitUuid:null}:{manuallySetVisitUuid:t.uuid,patientUuid:t.patient?.uuid}};function yI(e){let t=(0,hQ.useId)();return(0,hQ.useEffect)(()=>{if(e)return yM.set(t,e),()=>{yM.delete(t)}},[t,e]),{...h7(p4(),y$),mutateVisit:yA}}function yL(e,t=p1){let r=(0,hQ.useRef)(void 0),{patientUuid:n,manuallySetVisitUuid:o,setVisitContext:i}=yI((0,hQ.useCallback)(()=>r.current?.(),[])),a=e&&n==e?o:null,s=`?patient=${e}&v=${t}&includeInactive=false`,l=`/${a}?v=${t}`,{data:u,error:c,mutate:d,isValidating:p}=mS()(e?`${aP}/visit${s}`:null,aT),{data:f,error:h,mutate:m,isValidating:y}=mS()(e&&a?`${aP}/visit${l}`:null,aT),g=(0,hQ.useMemo)(()=>u?.data.results.find(e=>null===e.stopDatetime)??null,[u]),b=(0,hQ.useMemo)(()=>a&&f?f.data:null,[f,a]),v=(0,hQ.useRef)(null);(0,hQ.useEffect)(()=>{!p&&g&&n===e&&null===o&&i(g),y||(v.current&&b&&v.current.uuid===b.uuid&&!v.current.stopDatetime&&b.stopDatetime&&i(null),v.current=b)},[b,o,g,p,y,n]);let w=(0,hQ.useCallback)(()=>{d(),m()},[d,m]);(0,hQ.useEffect)(()=>{r.current=w},[w]);let x=!!(!u||a&&!f),E=!!(a?h:c);return{error:c||h,mutate:w,isValidating:p||y,activeVisit:g,currentVisit:b,currentVisitIsRetrospective:!!a,isLoading:x&&!E}}function yF(){let[e,t]=(0,hQ.useState)([]);return(0,hQ.useEffect)(()=>{let e=pH().subscribe(e=>{t(e)},e=>console.error(e));return()=>e.unsubscribe()},[]),e}yT.extend(yN);let yB=new Map;async function yV(e,t){let r=t.indexOf("#"),n=r>=0,o=n?t.substring(0,r):e,i=n?t.substring(r+1):t,a=await s1(o);return a&&Object.hasOwn(a,i)&&"function"==typeof a[i]?yW(o,a).then(()=>a[i]()):(a?a&&Object.hasOwn(a,i)?console.warn(`The export ${t}, defined in ${e}'s routes.json, is not a function`):console.warn(`${o} does not define a component called "${i}", referenced in ${e}'s routes.json. This cannot be loaded.`):console.warn(`Unknown app ${o} for ${t} defined in ${e}'s routes.json`),yU)}let yU={bootstrap:()=>Promise.resolve(),mount:()=>Promise.resolve(),unmount:()=>Promise.resolve()};async function yW(e,t){if(e in yB)await yB[e];else{let r=t??await s1(e);await (yB[e]=new Promise((t,n)=>{if(Object.hasOwn(r,"startupApp")){let o=r.startupApp;if("function"==typeof o)return Promise.resolve(o()).then(()=>{od(e),t(null)}).catch(n)}od(e),t(null)}))}}function yz(e,t){let r=t.name;if(!r)return void console.error(`An extension definition in ${e} is missing an name and thus cannot be
|
|
17
17
|
registered. To fix this, ensure that you define the "name" field inside the
|
|
18
18
|
extension definition.`,t);t.slots&&t.slot&&console.warn(`The extension ${r} from ${e} declares both a 'slots' property and
|