@erhan/utopyatv 0.1.3 → 0.1.5

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.
@@ -4,5 +4,5 @@
4
4
  `+e)).join(``)):``}var ve=[`Unknown`,`Constraint`,`Data`,`TransactionInactive`,`ReadOnly`,`Version`,`NotFound`,`InvalidState`,`InvalidAccess`,`Abort`,`Timeout`,`QuotaExceeded`,`Syntax`,`DataClone`],ye=[`Modify`,`Bulk`,`OpenFailed`,`VersionChange`,`Schema`,`Upgrade`,`InvalidTable`,`MissingAPI`,`NoSuchDatabase`,`InvalidArgument`,`SubTransaction`,`Unsupported`,`Internal`,`DatabaseClosed`,`PrematureCommit`,`ForeignAwait`].concat(ve),be={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 xe(e,t){this._e=k(),this.name=e,this.message=t}function Se(e,t){return e+`. Errors: `+Object.keys(t).map((e=>t[e].toString())).filter(((e,t,n)=>n.indexOf(e)===t)).join(`
5
5
  `)}function Ce(e,t,n,r){this._e=k(),this.failures=t,this.failedKeys=r,this.successCount=n,this.message=Se(e,t)}function we(e,t){this._e=k(),this.name=`BulkError`,this.failures=Object.keys(t).map((e=>t[e])),this.failuresByPos=t,this.message=Se(e,t)}g(xe).from(Error).extend({stack:{get:function(){return this._stack||(this._stack=this.name+`: `+this.message+_e(this._e,2))}},toString:function(){return this.name+`: `+this.message}}),g(Ce).from(xe),g(we).from(xe);var Te=ye.reduce(((e,t)=>(e[t]=t+`Error`,e)),{});let Ee=xe;var A=ye.reduce(((e,t)=>{var n=t+`Error`;function r(e,r){this._e=k(),this.name=n,e?typeof e==`string`?(this.message=`${e}${r?`
6
6
  `+r:``}`,this.inner=r||null):typeof e==`object`&&(this.message=`${e.name} ${e.message}`,this.inner=e):(this.message=be[t]||n,this.inner=null)}return g(r).from(Ee),e[t]=r,e}),{});A.Syntax=SyntaxError,A.Type=TypeError,A.Range=RangeError;var De=ve.reduce(((e,t)=>(e[t+`Error`]=A[t],e)),{}),Oe=ye.reduce(((e,t)=>([`Syntax`,`Type`,`Range`].indexOf(t)===-1&&(e[t+`Error`]=A[t]),e)),{});function j(){}function ke(e){return e}function Ae(e,t){return e==null||e===ke?t:function(n){return t(e(n))}}function je(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function Me(e,t){return e===j?t:function(){var n=e.apply(this,arguments);n!==void 0&&(arguments[0]=n);var r=this.onsuccess,i=this.onerror;this.onsuccess=null,this.onerror=null;var a=t.apply(this,arguments);return r&&(this.onsuccess=this.onsuccess?je(r,this.onsuccess):r),i&&(this.onerror=this.onerror?je(i,this.onerror):i),a===void 0?n:a}}function Ne(e,t){return e===j?t:function(){e.apply(this,arguments);var n=this.onsuccess,r=this.onerror;this.onsuccess=this.onerror=null,t.apply(this,arguments),n&&(this.onsuccess=this.onsuccess?je(n,this.onsuccess):n),r&&(this.onerror=this.onerror?je(r,this.onerror):r)}}function Pe(e,t){return e===j?t:function(n){var r=e.apply(this,arguments);l(n,r);var i=this.onsuccess,a=this.onerror;this.onsuccess=null,this.onerror=null;var o=t.apply(this,arguments);return i&&(this.onsuccess=this.onsuccess?je(i,this.onsuccess):i),a&&(this.onerror=this.onerror?je(a,this.onerror):a),r===void 0?o===void 0?void 0:o:l(r,o)}}function Fe(e,t){return e===j?t:function(){return!1!==t.apply(this,arguments)&&e.apply(this,arguments)}}function Ie(e,t){return e===j?t:function(){var n=e.apply(this,arguments);if(n&&typeof n.then==`function`){for(var r=this,i=arguments.length,a=Array(i);i--;)a[i]=arguments[i];return n.then((function(){return t.apply(r,a)}))}return t.apply(this,arguments)}}Oe.ModifyError=Ce,Oe.DexieError=xe,Oe.BulkError=we;var Le={};let[Re,ze,Be]=typeof Promise>`u`?[]:(()=>{let e=Promise.resolve();if(typeof crypto>`u`||!crypto.subtle)return[e,u(e),e];let t=crypto.subtle.digest(`SHA-512`,new Uint8Array([0]));return[t,u(t),e]})(),Ve=ze&&ze.then,He=Re&&Re.constructor,Ue=!!Be;var We=!1,Ge=Be?()=>{Be.then(ft)}:o.setImmediate?setImmediate.bind(null,ft):o.MutationObserver?()=>{var e=document.createElement(`div`);new MutationObserver((()=>{ft(),e=null})).observe(e,{attributes:!0}),e.setAttribute(`i`,`1`)}:()=>{setTimeout(ft,0)},Ke=function(e,t){et.push([e,t]),Je&&(Ge(),Je=!1)},qe=!0,Je=!0,Ye=[],Xe=[],Ze=null,Qe=ke,$e={id:`global`,global:!0,ref:0,unhandleds:[],onunhandled:Nt,pgp:!1,env:{},finalize:function(){this.unhandleds.forEach((e=>{try{Nt(e[0],e[1])}catch(e){}}))}},M=$e,et=[],tt=0,nt=[];function N(e){if(typeof this!=`object`)throw TypeError(`Promises must be constructed via new`);this._listeners=[],this.onuncatched=j,this._lib=!1;var t=this._PSD=M;if(O&&(this._stackHolder=k(),this._prev=null,this._numPrev=0),typeof e!=`function`){if(e!==Le)throw TypeError(`Not a function`);this._state=arguments[1],this._value=arguments[2],!1===this._state&&ot(this,this._value)}else this._state=null,this._value=null,++t.ref,at(this,e)}let rt={get:function(){var e=M,t=bt;function n(n,r){var i=!e.global&&(e!==M||t!==bt);let a=i&&!I();var o=new N(((t,o)=>{ct(this,new it(At(n,e,i,a),At(r,e,i,a),t,o,e))}));return O&&dt(o,this),o}return n.prototype=Le,n},set:function(e){h(this,`then`,e&&e.prototype===Le?rt:{get:function(){return e},set:rt.set})}};function it(e,t,n,r,i){this.onFulfilled=typeof e==`function`?e:null,this.onRejected=typeof t==`function`?t:null,this.resolve=n,this.reject=r,this.psd=i}function at(e,t){try{t((t=>{if(e._state===null){if(t===e)throw TypeError(`A promise cannot be resolved with itself.`);var n=e._lib&&pt();t&&typeof t.then==`function`?at(e,((e,n)=>{t instanceof N?t._then(e,n):t.then(e,n)})):(e._state=!0,e._value=t,st(e)),n&&mt()}}),ot.bind(null,e))}catch(t){ot(e,t)}}function ot(e,t){if(Xe.push(t),e._state===null){var n=e._lib&&pt();t=Qe(t),e._state=!1,e._value=t,O&&typeof t==`object`&&t&&!t._promise&&function(e,t,n){try{e.apply(null,n)}catch(e){t&&t(e)}}((()=>{var n=v(t,`stack`);t._promise=e,h(t,`stack`,{get:()=>We?n&&(n.get?n.get.apply(t):n.value):e.stack})})),function(e){Ye.some((t=>t._value===e._value))||Ye.push(e)}(e),st(e),n&&mt()}}function st(e){var t=e._listeners;e._listeners=[];for(var n=0,r=t.length;n<r;++n)ct(e,t[n]);var i=e._PSD;--i.ref||i.finalize(),tt===0&&(++tt,Ke((()=>{--tt==0&&ht()}),[]))}function ct(e,t){if(e._state!==null){var n=e._state?t.onFulfilled:t.onRejected;if(n===null)return(e._state?t.resolve:t.reject)(e._value);++t.psd.ref,++tt,Ke(lt,[n,e,t])}else e._listeners.push(t)}function lt(e,t,n){try{Ze=t;var r,i=t._value;t._state?r=e(i):(Xe.length&&(Xe=[]),r=e(i),Xe.indexOf(i)===-1&&function(e){for(var t=Ye.length;t;)if(Ye[--t]._value===e._value)return void Ye.splice(t,1)}(t)),n.resolve(r)}catch(e){n.reject(e)}finally{Ze=null,--tt==0&&ht(),--n.psd.ref||n.psd.finalize()}}function ut(e,t,n){if(t.length===n)return t;var r=``;if(!1===e._state){var i,a,o=e._value;o==null?(i=o,a=``):(i=o.name||`Error`,a=o.message||o,r=_e(o,0)),t.push(i+(a?`: `+a:``)+r)}return O&&((r=_e(e._stackHolder,2))&&t.indexOf(r)===-1&&t.push(r),e._prev&&ut(e._prev,t,n)),t}function dt(e,t){var n=t?t._numPrev+1:0;n<100&&(e._prev=t,e._numPrev=n)}function ft(){pt()&&mt()}function pt(){var e=qe;return qe=!1,Je=!1,e}function mt(){var e,t,n;do for(;et.length>0;)for(e=et,et=[],n=e.length,t=0;t<n;++t){var r=e[t];r[0].apply(null,r[1])}while(et.length>0);qe=!0,Je=!0}function ht(){var e=Ye;Ye=[],e.forEach((e=>{e._PSD.onunhandled.call(null,e._value,e)}));for(var t=nt.slice(0),n=t.length;n;)t[--n]()}function gt(e){return new N(Le,!1,e)}function P(e,t){var n=M;return function(){var r=pt(),i=M;try{return L(n,!0),e.apply(this,arguments)}catch(e){t&&t(e)}finally{L(i,!1),r&&mt()}}}p(N.prototype,{then:rt,_then:function(e,t){ct(this,new it(null,null,e,t,M))},catch:function(e){if(arguments.length===1)return this.then(null,e);var t=arguments[0],n=arguments[1];return typeof t==`function`?this.then(null,(e=>e instanceof t?n(e):gt(e))):this.then(null,(e=>e&&e.name===t?n(e):gt(e)))},finally:function(e){return this.then((t=>(e(),t)),(t=>(e(),gt(t))))},stack:{get:function(){if(this._stack)return this._stack;try{We=!0;var e=ut(this,[],20).join(`
7
- From previous: `);return this._state!==null&&(this._stack=e),e}finally{We=!1}}},timeout:function(e,t){return e<1/0?new N(((n,r)=>{var i=setTimeout((()=>r(new A.Timeout(t))),e);this.then(n,r).finally(clearTimeout.bind(null,i))})):this}}),typeof Symbol<`u`&&Symbol.toStringTag&&h(N.prototype,Symbol.toStringTag,`Dexie.Promise`),$e.env=Dt(),p(N,{all:function(){var e=D.apply(null,arguments).map(wt);return new N((function(t,n){e.length===0&&t([]);var r=e.length;e.forEach(((i,a)=>N.resolve(i).then((n=>{e[a]=n,--r||t(e)}),n)))}))},resolve:e=>{if(e instanceof N)return e;if(e&&typeof e.then==`function`)return new N(((t,n)=>{e.then(t,n)}));var t=new N(Le,!0,e);return dt(t,Ze),t},reject:gt,race:function(){var e=D.apply(null,arguments).map(wt);return new N(((t,n)=>{e.map((e=>N.resolve(e).then(t,n)))}))},PSD:{get:()=>M,set:e=>M=e},totalEchoes:{get:()=>bt},newPSD:St,usePSD:Ot,scheduler:{get:()=>Ke,set:e=>{Ke=e}},rejectionMapper:{get:()=>Qe,set:e=>{Qe=e}},follow:(e,t)=>new N(((n,r)=>St(((t,n)=>{var r=M;r.unhandleds=[],r.onunhandled=n,r.finalize=je((function(){(function(e){function t(){e(),nt.splice(nt.indexOf(t),1)}nt.push(t),++tt,Ke((()=>{--tt==0&&ht()}),[])})((()=>{this.unhandleds.length===0?t():n(this.unhandleds[0])}))}),r.finalize),e()}),t,n,r)))}),He&&(He.allSettled&&h(N,`allSettled`,(function(){let e=D.apply(null,arguments).map(wt);return new N((t=>{e.length===0&&t([]);let n=e.length,r=Array(n);e.forEach(((e,i)=>N.resolve(e).then((e=>r[i]={status:`fulfilled`,value:e}),(e=>r[i]={status:`rejected`,reason:e})).then((()=>--n||t(r)))))}))})),He.any&&typeof AggregateError<`u`&&h(N,`any`,(function(){let e=D.apply(null,arguments).map(wt);return new N(((t,n)=>{e.length===0&&n(/* @__PURE__ */ AggregateError([]));let r=e.length,i=Array(r);e.forEach(((e,a)=>N.resolve(e).then((e=>t(e)),(e=>{i[a]=e,--r||n(AggregateError(i))}))))}))})));let F={awaits:0,echoes:0,id:0};var _t=0,vt=[],yt=0,bt=0,xt=0;function St(e,t,n,r){var i=M,a=Object.create(i);a.parent=i,a.ref=0,a.global=!1,a.id=++xt;var o=$e.env;a.env=Ue?{Promise:N,PromiseProp:{value:N,configurable:!0,writable:!0},all:N.all,race:N.race,allSettled:N.allSettled,any:N.any,resolve:N.resolve,reject:N.reject,nthen:jt(o.nthen,a),gthen:jt(o.gthen,a)}:{},t&&l(a,t),++i.ref,a.finalize=function(){--this.parent.ref||this.parent.finalize()};var s=Ot(a,e,n,r);return a.ref===0&&a.finalize(),s}function Ct(){return F.id||(F.id=++_t),++F.awaits,F.echoes+=100,F.id}function I(){return!!F.awaits&&(--F.awaits==0&&(F.id=0),F.echoes=F.awaits*100,!0)}function wt(e){return F.echoes&&e&&e.constructor===He?(Ct(),e.then((e=>(I(),e)),(e=>(I(),R(e))))):e}function Tt(e){++bt,F.echoes&&--F.echoes!=0||(F.echoes=F.id=0),vt.push(M),L(e,!0)}function Et(){var e=vt[vt.length-1];vt.pop(),L(e,!1)}function L(e,t){var n=M;if((t?!F.echoes||yt++&&e===M:!yt||--yt&&e===M)||kt(t?Tt.bind(null,e):Et),e!==M&&(M=e,n===$e&&($e.env=Dt()),Ue)){var r=$e.env.Promise,i=e.env;ze.then=i.nthen,r.prototype.then=i.gthen,(n.global||e.global)&&(Object.defineProperty(o,"Promise",i.PromiseProp),r.all=i.all,r.race=i.race,r.resolve=i.resolve,r.reject=i.reject,i.allSettled&&(r.allSettled=i.allSettled),i.any&&(r.any=i.any))}}function Dt(){var e=o.Promise;return Ue?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(o,`Promise`),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject,nthen:ze.then,gthen:e.prototype.then}:{}}function Ot(e,t,n,r,i){var a=M;try{return L(e,!0),t(n,r,i)}finally{L(a,!1)}}function kt(e){Ve.call(Re,e)}function At(e,t,n,r){return typeof e==`function`?function(){var i=M;n&&Ct(),L(t,!0);try{return e.apply(this,arguments)}finally{L(i,!1),r&&kt(I)}}:e}function jt(e,t){return function(n,r){return e.call(this,At(n,t),At(r,t))}}(``+Ve).indexOf(`[native code]`)===-1&&(Ct=I=j);let Mt=`unhandledrejection`;function Nt(e,t){var n;try{n=t.onuncatched(e)}catch(e){}if(!1!==n)try{var r,i={promise:t,reason:e};if(o.document&&document.createEvent?((r=document.createEvent(`Event`)).initEvent(Mt,!0,!0),l(r,i)):o.CustomEvent&&l(r=new CustomEvent(Mt,{detail:i}),i),r&&o.dispatchEvent&&(dispatchEvent(r),!o.PromiseRejectionEvent&&o.onunhandledrejection))try{o.onunhandledrejection(r)}catch(e){}O&&r&&!r.defaultPrevented&&console.warn(`Unhandled rejection: ${e.stack||e}`)}catch(e){}}var R=N.reject;function Pt(e,t,n,r){if(e.idbdb&&(e._state.openComplete||M.letThrough||e._vip)){var i=e._createTransaction(t,n,e._dbSchema);try{i.create(),e._state.PR1398_maxLoop=3}catch(i){return i.name===Te.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(console.warn(`Dexie: Need to reopen db`),e._close(),e.open().then((()=>Pt(e,t,n,r)))):R(i)}return i._promise(t,((e,t)=>St((()=>(M.trans=i,r(e,t,i)))))).then((e=>i._completion.then((()=>e))))}if(e._state.openComplete)return R(new A.DatabaseClosed(e._state.dbOpenError));if(!e._state.isBeingOpened){if(!e._options.autoOpen)return R(new A.DatabaseClosed);e.open().catch(j)}return e._state.dbReadyPromise.then((()=>Pt(e,t,n,r)))}let Ft=`3.2.7`,It=-1/0,z=`Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.`,Lt=`String expected.`,Rt=[],zt=typeof navigator<`u`&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),Bt=zt,Vt=zt,Ht=e=>!/(dexie\.js|dexie\.min\.js)/.test(e),Ut=`__dbnames`,Wt=`readonly`,Gt=`readwrite`;function Kt(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}let qt={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Jt(e){return typeof e!=`string`||/\./.test(e)?e=>e:t=>(t[e]===void 0&&e in t&&delete(t=T(t))[e],t)}var Yt=class{_trans(e,t,n){let r=this._tx||M.trans,i=this.name;function a(e,n,r){if(!r.schema[i])throw new A.NotFound(`Table `+i+` not part of transaction`);return t(r.idbtrans,r)}let o=pt();try{return r&&r.db===this.db?r===M.trans?r._promise(e,a,n):St((()=>r._promise(e,a,n)),{trans:r,transless:M.transless||M}):Pt(this.db,e,[this.name],a)}finally{o&&mt()}}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(typeof e==`string`)return new this.db.WhereClause(this,e);if(c(e))return new this.db.WhereClause(this,`[${e.join(`+`)}]`);let t=s(e);if(t.length===1)return this.where(t[0]).equals(e[t[0]]);let n=this.schema.indexes.concat(this.schema.primKey).filter((e=>{if(e.compound&&t.every((t=>e.keyPath.indexOf(t)>=0))){for(let n=0;n<t.length;++n)if(t.indexOf(e.keyPath[n])===-1)return!1;return!0}return!1})).sort(((e,t)=>e.keyPath.length-t.keyPath.length))[0];if(n&&this.db._maxKey!==`￿`){let r=n.keyPath.slice(0,t.length);return this.where(r).equals(r.map((t=>e[t])))}!n&&O&&console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${t.join(`+`)}]`);let{idxByName:r}=this.schema,i=this.db._deps.indexedDB;function a(e,t){try{return i.cmp(e,t)===0}catch(e){return!1}}let[o,l]=t.reduce((([t,n],i)=>{let o=r[i],s=e[i];return[t||o,t||!o?Kt(n,o&&o.multi?e=>{let t=x(e,i);return c(t)&&t.some((e=>a(s,e)))}:e=>a(s,x(e,i))):n]}),[null,null]);return o?this.where(o.name).equals(e[o.keyPath]).filter(l):n?this.filter(l):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,c(e)?`[${e.join(`+`)}]`:e))}reverse(){return this.toCollection().reverse()}mapToClass(e){this.schema.mappedClass=e;let t=t=>{if(!t)return t;let n=Object.create(e.prototype);for(var r in t)if(f(t,r))try{n[r]=t[r]}catch(e){}return n};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){l(this,e)}))}add(e,t){let{auto:n,keyPath:r}=this.schema.primKey,i=e;return r&&n&&(i=Jt(r)(e)),this._trans(`readwrite`,(e=>this.core.mutate({trans:e,type:`add`,keys:t==null?null:[t],values:[i]}))).then((e=>e.numFailures?N.reject(e.failures[0]):e.lastResult)).then((t=>{if(r)try{S(e,r,t)}catch(e){}return t}))}update(e,t){if(typeof e!=`object`||c(e))return this.where(`:id`).equals(e).modify(t);{let n=x(e,this.schema.primKey.keyPath);if(n===void 0)return R(new A.InvalidArgument(`Given object does not contain its primary key`));try{typeof t==`function`?t(e,{value:e,primKey:n}):s(t).forEach((n=>{S(e,n,t[n])}))}catch(e){}return this.where(`:id`).equals(n).modify(t)}}put(e,t){let{auto:n,keyPath:r}=this.schema.primKey,i=e;return r&&n&&(i=Jt(r)(e)),this._trans(`readwrite`,(e=>this.core.mutate({trans:e,type:`put`,values:[i],keys:t==null?null:[t]}))).then((e=>e.numFailures?N.reject(e.failures[0]):e.lastResult)).then((t=>{if(r)try{S(e,r,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?N.reject(e.failures[0]):void 0))}clear(){return this._trans(`readwrite`,(e=>this.core.mutate({trans:e,type:`deleteRange`,range:qt}))).then((e=>e.numFailures?N.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,n){let r=Array.isArray(t)?t:void 0,i=(n=n||(r?void 0:t))?n.allKeys:void 0;return this._trans(`readwrite`,(t=>{let{auto:n,keyPath:a}=this.schema.primKey;if(a&&r)throw new A.InvalidArgument(`bulkAdd(): keys argument invalid on tables with inbound keys`);if(r&&r.length!==e.length)throw new A.InvalidArgument(`Arguments objects and keys must have the same length`);let o=e.length,s=a&&n?e.map(Jt(a)):e;return this.core.mutate({trans:t,type:`add`,keys:r,values:s,wantResults:i}).then((({numFailures:e,results:t,lastResult:n,failures:r})=>{if(e===0)return i?t:n;throw new we(`${this.name}.bulkAdd(): ${e} of ${o} operations failed`,r)}))}))}bulkPut(e,t,n){let r=Array.isArray(t)?t:void 0,i=(n=n||(r?void 0:t))?n.allKeys:void 0;return this._trans(`readwrite`,(t=>{let{auto:n,keyPath:a}=this.schema.primKey;if(a&&r)throw new A.InvalidArgument(`bulkPut(): keys argument invalid on tables with inbound keys`);if(r&&r.length!==e.length)throw new A.InvalidArgument(`Arguments objects and keys must have the same length`);let o=e.length,s=a&&n?e.map(Jt(a)):e;return this.core.mutate({trans:t,type:`put`,keys:r,values:s,wantResults:i}).then((({numFailures:e,results:t,lastResult:n,failures:r})=>{if(e===0)return i?t:n;throw new we(`${this.name}.bulkPut(): ${e} of ${o} operations failed`,r)}))}))}bulkDelete(e){let t=e.length;return this._trans(`readwrite`,(t=>this.core.mutate({trans:t,type:`delete`,keys:e}))).then((({numFailures:e,lastResult:n,failures:r})=>{if(e===0)return n;throw new we(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`,r)}))}};function Xt(e){var t={},n=function(n,r){if(r){for(var i=arguments.length,a=Array(i-1);--i;)a[i-1]=arguments[i];return t[n].subscribe.apply(null,a),e}if(typeof n==`string`)return t[n]};n.addEventType=a;for(var r=1,i=arguments.length;r<i;++r)a(arguments[r]);return n;function a(e,r,i){if(typeof e!=`object`){var o;r||(r=Fe),i||(i=j);var l={subscribers:[],fire:i,subscribe:function(e){l.subscribers.indexOf(e)===-1&&(l.subscribers.push(e),l.fire=r(l.fire,e))},unsubscribe:function(e){l.subscribers=l.subscribers.filter((function(t){return t!==e})),l.fire=l.subscribers.reduce(r,i)}};return t[e]=n[e]=l,l}s(o=e).forEach((function(e){var t=o[e];if(c(t))a(e,o[e][0],o[e][1]);else{if(t!==`asap`)throw new A.InvalidArgument(`Invalid event config`);var n=a(e,ke,(function(){for(var e=arguments.length,t=Array(e);e--;)t[e]=arguments[e];n.subscribers.forEach((function(e){ne((function(){e.apply(null,t)}))}))}))}}))}}function Zt(e,t){return g(t).from({prototype:e}),t}function Qt(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function $t(e,t){e.filter=Kt(e.filter,t)}function en(e,t,n){var r=e.replayFilter;e.replayFilter=r?()=>Kt(r(),t()):t,e.justLimit=n&&!r}function tn(e,t){if(e.isPrimKey)return t.primaryKey;let n=t.getIndexByKeyPath(e.index);if(!n)throw new A.Schema(`KeyPath `+e.index+` on object store `+t.name+` is not indexed`);return n}function nn(e,t,n){let r=tn(e,t.schema);return t.openCursor({trans:n,values:!e.keysOnly,reverse:e.dir===`prev`,unique:!!e.unique,query:{index:r,range:e.range}})}function rn(e,t,n,r){let i=e.replayFilter?Kt(e.filter,e.replayFilter()):e.filter;if(e.or){let a={},o=(e,n,r)=>{if(!i||i(n,r,(e=>n.stop(e)),(e=>n.fail(e)))){var o=n.primaryKey,s=``+o;s===`[object ArrayBuffer]`&&(s=``+new Uint8Array(o)),f(a,s)||(a[s]=!0,t(e,n,r))}};return Promise.all([e.or._iterate(o,n),an(nn(e,r,n),e.algorithm,o,!e.keysOnly&&e.valueMapper)])}return an(nn(e,r,n),Kt(e.algorithm,i),t,!e.keysOnly&&e.valueMapper)}function an(e,t,n,r){var i=P(r?(e,t,i)=>n(r(e),t,i):n);return e.then((e=>{if(e)return e.start((()=>{var n=()=>e.continue();t&&!t(e,(e=>n=e),(t=>{e.stop(t),n=j}),(t=>{e.fail(t),n=j}))||i(e.value,e,(e=>n=e)),n()}))}))}function B(e,t){try{let n=on(e),r=on(t);if(n!==r)return n===`Array`?1:r===`Array`?-1:n===`binary`?1:r===`binary`?-1:n===`string`?1:r===`string`?-1:n===`Date`?1:r===`Date`?-1:NaN;switch(n){case`number`:case`Date`:case`string`:return e>t?1:e<t?-1:0;case`binary`:return function(e,t){let n=e.length,r=t.length,i=n<r?n:r;for(let n=0;n<i;++n)if(e[n]!==t[n])return e[n]<t[n]?-1:1;return n===r?0:n<r?-1:1}(sn(e),sn(t));case`Array`:return function(e,t){let n=e.length,r=t.length,i=n<r?n:r;for(let n=0;n<i;++n){let r=B(e[n],t[n]);if(r!==0)return r}return n===r?0:n<r?-1:1}(e,t)}}catch(e){}return NaN}function on(e){let t=typeof e;if(t!==`object`)return t;if(ArrayBuffer.isView(e))return`binary`;let n=ue(e);return n===`ArrayBuffer`?`binary`:n}function sn(e){return e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}var cn=class{_read(e,t){var n=this._ctx;return n.error?n.table._trans(null,R.bind(null,n.error)):n.table._trans(`readonly`,e).then(t)}_write(e){var t=this._ctx;return t.error?t.table._trans(null,R.bind(null,t.error)):t.table._trans(`readwrite`,e,`locked`)}_addAlgorithm(e){var t=this._ctx;t.algorithm=Kt(t.algorithm,e)}_iterate(e,t){return rn(this._ctx,e,t,this._ctx.table.core)}clone(e){var t=Object.create(this.constructor.prototype),n=Object.create(this._ctx);return e&&l(n,e),t._ctx=n,t}raw(){return this._ctx.valueMapper=null,this}each(e){var t=this._ctx;return this._read((n=>rn(t,e,n,t.table.core)))}count(e){return this._read((e=>{let t=this._ctx,n=t.table.core;if(Qt(t,!0))return n.count({trans:e,query:{index:tn(t,n.schema),range:t.range}}).then((e=>Math.min(e,t.limit)));var r=0;return rn(t,(()=>(++r,!1)),e,n).then((()=>r))})).then(e)}sortBy(e,t){let n=e.split(`.`).reverse(),r=n[0],i=n.length-1;function a(e,t){return t?a(e[n[t]],t-1):e[r]}var o=this._ctx.dir===`next`?1:-1;function s(e,t){var n=a(e,i),r=a(t,i);return n<r?-o:n>r?o:0}return this.toArray((function(e){return e.sort(s)})).then(t)}toArray(e){return this._read((e=>{var t=this._ctx;if(t.dir===`next`&&Qt(t,!0)&&t.limit>0){let{valueMapper:n}=t,r=tn(t,t.table.core.schema);return t.table.core.query({trans:e,limit:t.limit,values:!0,query:{index:r,range:t.range}}).then((({result:e})=>n?e.map(n):e))}{let n=[];return rn(t,(e=>n.push(e)),e,t.table.core).then((()=>n))}}),e)}offset(e){var t=this._ctx;return e<=0||(t.offset+=e,Qt(t)?en(t,(()=>{var t=e;return(e,n)=>t===0||(t===1?(--t,!1):(n((()=>{e.advance(t),t=0})),!1))})):en(t,(()=>{var t=e;return()=>--t<0}))),this}limit(e){return this._ctx.limit=Math.min(this._ctx.limit,e),en(this._ctx,(()=>{var t=e;return function(e,n,r){return--t<=0&&n(r),t>=0}}),!0),this}until(e,t){return $t(this._ctx,(function(n,r,i){return!e(n.value)||(r(i),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,n;return $t(this._ctx,(function(t){return e(t.value)})),t=this._ctx,n=e,t.isMatch=Kt(t.isMatch,n),this}and(e){return this.filter(e)}or(e){return new this.db.WhereClause(this._ctx.table,e,this)}reverse(){return this._ctx.dir=this._ctx.dir===`prev`?`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,n){e(n.key,n)}))}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,n){e(n.primaryKey,n)}))}keys(e){var t=this._ctx;t.keysOnly=!t.isMatch;var n=[];return this.each((function(e,t){n.push(t.key)})).then((function(){return n})).then(e)}primaryKeys(e){var t=this._ctx;if(t.dir===`next`&&Qt(t,!0)&&t.limit>0)return this._read((e=>{var n=tn(t,t.table.core.schema);return t.table.core.query({trans:e,values:!1,limit:t.limit,query:{index:n,range:t.range}})})).then((({result:e})=>e)).then(e);t.keysOnly=!t.isMatch;var n=[];return this.each((function(e,t){n.push(t.primaryKey)})).then((function(){return n})).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 n={};return $t(this._ctx,(function(e){var t=e.primaryKey.toString(),r=f(n,t);return n[t]=!0,!r})),this}modify(e){var t=this._ctx;return this._write((n=>{var r;if(typeof e==`function`)r=e;else{var i=s(e),a=i.length;r=function(t){for(var n=!1,r=0;r<a;++r){var o=i[r],s=e[o];x(t,o)!==s&&(S(t,o,s),n=!0)}return n}}let o=t.table.core,{outbound:c,extractKey:l}=o.schema.primaryKey,u=this.db._options.modifyChunkSize||200,d=[],f=0,p=[],m=(e,t)=>{let{failures:n,numFailures:r}=t;f+=e-r;for(let e of s(n))d.push(n[e])};return this.clone().primaryKeys().then((i=>{let a=s=>{let d=Math.min(u,i.length-s);return o.getMany({trans:n,keys:i.slice(s,s+d),cache:`immutable`}).then((f=>{let p=[],h=[],g=c?[]:null,_=[];for(let e=0;e<d;++e){let t=f[e],n={value:T(t),primKey:i[s+e]};!1!==r.call(n,n.value,n)&&(n.value==null?_.push(i[s+e]):c||B(l(t),l(n.value))===0?(h.push(n.value),c&&g.push(i[s+e])):(_.push(i[s+e]),p.push(n.value)))}let v=Qt(t)&&t.limit===1/0&&(typeof e!=`function`||e===ln)&&{index:t.index,range:t.range};return Promise.resolve(p.length>0&&o.mutate({trans:n,type:`add`,values:p}).then((e=>{for(let t in e.failures)_.splice(parseInt(t),1);m(p.length,e)}))).then((()=>(h.length>0||v&&typeof e==`object`)&&o.mutate({trans:n,type:`put`,keys:g,values:h,criteria:v,changeSpec:typeof e!=`function`&&e}).then((e=>m(h.length,e))))).then((()=>(_.length>0||v&&e===ln)&&o.mutate({trans:n,type:`delete`,keys:_,criteria:v}).then((e=>m(_.length,e))))).then((()=>i.length>s+d&&a(s+u)))}))};return a(0).then((()=>{if(d.length>0)throw new Ce(`Error modifying one or more objects`,d,f,p);return i.length}))}))}))}delete(){var e=this._ctx,t=e.range;return Qt(e)&&(e.isPrimKey&&!Vt||t.type===3)?this._write((n=>{let{primaryKey:r}=e.table.core.schema,i=t;return e.table.core.count({trans:n,query:{index:r,range:i}}).then((t=>e.table.core.mutate({trans:n,type:`deleteRange`,range:i}).then((({failures:e,lastResult:n,results:r,numFailures:i})=>{if(i)throw new Ce(`Could not delete some values`,Object.keys(e).map((t=>e[t])),t-i);return t-i}))))})):this.modify(ln)}};let ln=(e,t)=>t.value=null;function un(e,t){return e<t?-1:e===t?0:1}function dn(e,t){return e>t?-1:e===t?0:1}function V(e,t,n){var r=e instanceof _n?new e.Collection(e):e;return r._ctx.error=n?new n(t):TypeError(t),r}function fn(e){return new e.Collection(e,(()=>gn(``))).limit(0)}function pn(e,t,n,r,i,a){for(var o=Math.min(e.length,r.length),s=-1,c=0;c<o;++c){var l=t[c];if(l!==r[c])return i(e[c],n[c])<0?e.substr(0,c)+n[c]+n.substr(c+1):i(e[c],r[c])<0?e.substr(0,c)+r[c]+n.substr(c+1):s>=0?e.substr(0,s)+t[s]+n.substr(s+1):null;i(e[c],l)<0&&(s=c)}return o<r.length&&a===`next`?e+n.substr(e.length):o<e.length&&a===`prev`?e.substr(0,n.length):s<0?null:e.substr(0,s)+r[s]+n.substr(s+1)}function mn(e,t,n,r){var i,a,o,s,c,l,u,d=n.length;if(!n.every((e=>typeof e==`string`)))return V(e,Lt);function f(e){i=function(e){return e===`next`?e=>e.toUpperCase():e=>e.toLowerCase()}(e),a=function(e){return e===`next`?e=>e.toLowerCase():e=>e.toUpperCase()}(e),o=e===`next`?un:dn;var t=n.map((function(e){return{lower:a(e),upper:i(e)}})).sort((function(e,t){return o(e.lower,t.lower)}));s=t.map((function(e){return e.upper})),c=t.map((function(e){return e.lower})),l=e,u=e===`next`?``:r}f(`next`);var p=new e.Collection(e,(()=>hn(s[0],c[d-1]+r)));p._ondirectionchange=function(e){f(e)};var m=0;return p._addAlgorithm((function(e,n,r){var i=e.key;if(typeof i!=`string`)return!1;var f=a(i);if(t(f,c,m))return!0;for(var p=null,h=m;h<d;++h){var g=pn(i,f,s[h],c[h],o,l);g===null&&p===null?m=h+1:(p===null||o(p,g)>0)&&(p=g)}return n(p===null?r:function(){e.continue(p+u)}),!1})),p}function hn(e,t,n,r){return{type:2,lower:e,upper:t,lowerOpen:n,upperOpen:r}}function gn(e){return{type:1,lower:e,upper:e}}var _n=class{get Collection(){return this._ctx.table.db.Collection}between(e,t,n,r){n=!1!==n,r=!0===r;try{return this._cmp(e,t)>0||this._cmp(e,t)===0&&(n||r)&&(!n||!r)?fn(this):new this.Collection(this,(()=>hn(e,t,!n,!r)))}catch(e){return V(this,z)}}equals(e){return e==null?V(this,z):new this.Collection(this,(()=>gn(e)))}above(e){return e==null?V(this,z):new this.Collection(this,(()=>hn(e,void 0,!0)))}aboveOrEqual(e){return e==null?V(this,z):new this.Collection(this,(()=>hn(e,void 0,!1)))}below(e){return e==null?V(this,z):new this.Collection(this,(()=>hn(void 0,e,!1,!0)))}belowOrEqual(e){return e==null?V(this,z):new this.Collection(this,(()=>hn(void 0,e)))}startsWith(e){return typeof e==`string`?this.between(e,e+`￿`,!0,!0):V(this,Lt)}startsWithIgnoreCase(e){return e===``?this.startsWith(e):mn(this,((e,t)=>e.indexOf(t[0])===0),[e],`￿`)}equalsIgnoreCase(e){return mn(this,((e,t)=>e===t[0]),[e],``)}anyOfIgnoreCase(){var e=D.apply(E,arguments);return e.length===0?fn(this):mn(this,((e,t)=>t.indexOf(e)!==-1),e,``)}startsWithAnyOfIgnoreCase(){var e=D.apply(E,arguments);return e.length===0?fn(this):mn(this,((e,t)=>t.some((t=>e.indexOf(t)===0))),e,`￿`)}anyOf(){let e=D.apply(E,arguments),t=this._cmp;try{e.sort(t)}catch(e){return V(this,z)}if(e.length===0)return fn(this);let n=new this.Collection(this,(()=>hn(e[0],e[e.length-1])));n._ondirectionchange=n=>{t=n===`next`?this._ascending:this._descending,e.sort(t)};let r=0;return n._addAlgorithm(((n,i,a)=>{let o=n.key;for(;t(o,e[r])>0;)if(++r,r===e.length)return i(a),!1;return t(o,e[r])===0||(i((()=>{n.continue(e[r])})),!1)})),n}notEqual(e){return this.inAnyRange([[It,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})}noneOf(){let e=D.apply(E,arguments);if(e.length===0)return new this.Collection(this);try{e.sort(this._ascending)}catch(e){return V(this,z)}let t=e.reduce(((e,t)=>e?e.concat([[e[e.length-1][1],t]]):[[It,t]]),null);return t.push([e[e.length-1],this.db._maxKey]),this.inAnyRange(t,{includeLowers:!1,includeUppers:!1})}inAnyRange(e,t){let n=this._cmp,r=this._ascending,i=this._descending,a=this._min,o=this._max;if(e.length===0)return fn(this);if(!e.every((e=>e[0]!==void 0&&e[1]!==void 0&&r(e[0],e[1])<=0)))return V(this,`First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower`,A.InvalidArgument);let s=!t||!1!==t.includeLowers,c=t&&!0===t.includeUppers,l,u=r;function d(e,t){return u(e[0],t[0])}try{l=e.reduce((function(e,t){let r=0,i=e.length;for(;r<i;++r){let i=e[r];if(n(t[0],i[1])<0&&n(t[1],i[0])>0){i[0]=a(i[0],t[0]),i[1]=o(i[1],t[1]);break}}return r===i&&e.push(t),e}),[]),l.sort(d)}catch(e){return V(this,z)}let f=0,p=c?e=>r(e,l[f][1])>0:e=>r(e,l[f][1])>=0,m=s?e=>i(e,l[f][0])>0:e=>i(e,l[f][0])>=0,h=p,g=new this.Collection(this,(()=>hn(l[0][0],l[l.length-1][1],!s,!c)));return g._ondirectionchange=e=>{e===`next`?(h=p,u=r):(h=m,u=i),l.sort(d)},g._addAlgorithm(((e,t,n)=>{for(var i=e.key;h(i);)if(++f,f===l.length)return t(n),!1;return!!function(e){return!p(e)&&!m(e)}(i)||(this._cmp(i,l[f][1])===0||this._cmp(i,l[f][0])===0||t((()=>{u===r?e.continue(l[f][0]):e.continue(l[f][1])})),!1)})),g}startsWithAnyOf(){let e=D.apply(E,arguments);return e.every((e=>typeof e==`string`))?e.length===0?fn(this):this.inAnyRange(e.map((e=>[e,e+`￿`]))):V(this,`startsWithAnyOf() only works with strings`)}};function H(e){return P((function(t){return vn(t),e(t.target.error),!1}))}function vn(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}let yn=`storagemutated`,bn=`x-storagemutated-1`,xn=Xt(null,yn);var Sn=class{_lock(){return te(!M.global),++this._reculock,this._reculock!==1||M.global||(M.lockOwnerFor=this),this}_unlock(){if(te(!M.global),--this._reculock==0)for(M.global||(M.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var e=this._blockedFuncs.shift();try{Ot(e[1],e[0])}catch(e){}}return this}_locked(){return this._reculock&&M.lockOwnerFor!==this}create(e){if(!this.mode)return this;let t=this.db.idbdb,n=this.db._state.dbOpenError;if(te(!this.idbtrans),!e&&!t)switch(n&&n.name){case`DatabaseClosedError`:throw new A.DatabaseClosed(n);case`MissingAPIError`:throw new A.MissingAPI(n.message,n);default:throw new A.OpenFailed(n)}if(!this.active)throw new A.TransactionInactive;return te(this._completion._state===null),(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=P((t=>{vn(t),this._reject(e.error)})),e.onabort=P((t=>{vn(t),this.active&&this._reject(new A.Abort(e.error)),this.active=!1,this.on(`abort`).fire(t)})),e.oncomplete=P((()=>{this.active=!1,this._resolve(),`mutatedParts`in e&&xn.storagemutated.fire(e.mutatedParts)})),this}_promise(e,t,n){if(e===`readwrite`&&this.mode!==`readwrite`)return R(new A.ReadOnly(`Transaction is readonly`));if(!this.active)return R(new A.TransactionInactive);if(this._locked())return new N(((r,i)=>{this._blockedFuncs.push([()=>{this._promise(e,t,n).then(r,i)},M])}));if(n)return St((()=>{var e=new N(((e,n)=>{this._lock();let r=t(e,n,this);r&&r.then&&r.then(e,n)}));return e.finally((()=>this._unlock())),e._lib=!0,e}));var r=new N(((e,n)=>{var r=t(e,n,this);r&&r.then&&r.then(e,n)}));return r._lib=!0,r}_root(){return this.parent?this.parent._root():this}waitFor(e){var t=this._root();let n=N.resolve(e);if(t._waitingFor)t._waitingFor=t._waitingFor.then((()=>n));else{t._waitingFor=n,t._waitingQueue=[];var r=t.idbtrans.objectStore(t.storeNames[0]);(function e(){for(++t._spinCount;t._waitingQueue.length;)t._waitingQueue.shift()();t._waitingFor&&(r.get(-1/0).onsuccess=e)})()}var i=t._waitingFor;return new N(((e,r)=>{n.then((n=>t._waitingQueue.push(P(e.bind(null,n)))),(e=>t._waitingQueue.push(P(r.bind(null,e))))).finally((()=>{t._waitingFor===i&&(t._waitingFor=null)}))}))}abort(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new A.Abort))}table(e){let t=this._memoizedTables||(this._memoizedTables={});if(f(t,e))return t[e];let n=this.schema[e];if(!n)throw new A.NotFound(`Table `+e+` not part of transaction`);let r=new this.db.Table(e,n,this);return r.core=this.db.core.table(e),t[e]=r,r}};function Cn(e,t,n,r,i,a,o){return{name:e,keyPath:t,unique:n,multi:r,auto:i,compound:a,src:(n&&!o?`&`:``)+(r?`*`:``)+(i?`++`:``)+wn(t)}}function wn(e){return typeof e==`string`?e:e?`[`+[].join.call(e,`+`)+`]`:``}function Tn(e,t,n){return{name:e,primKey:t,indexes:n,mappedClass:null,idxByName:re(n,(e=>[e.name,e]))}}let En=e=>{try{return e.only([[]]),En=()=>[[]],[[]]}catch(e){return En=()=>`￿`,`￿`}};function Dn(e){return e==null?()=>{}:typeof e==`string`?function(e){return e.split(`.`).length===1?t=>t[e]:t=>x(t,e)}(e):t=>x(t,e)}function On(e){return[].slice.call(e)}let kn=0;function An(e){return e==null?`:id`:typeof e==`string`?e:`[${e.join(`+`)}]`}function jn(e,t,n){function r(e){if(e.type===3)return null;if(e.type===4)throw Error(`Cannot convert never type to IDBKeyRange`);let{lower:n,upper:r,lowerOpen:i,upperOpen:a}=e;return n===void 0?r===void 0?null:t.upperBound(r,!!a):r===void 0?t.lowerBound(n,!!i):t.bound(n,r,!!i,!!a)}let{schema:i,hasGetAll:a}=function(e,t){let n=On(e.objectStoreNames);return{schema:{name:e.name,tables:n.map((e=>t.objectStore(e))).map((e=>{let{keyPath:t,autoIncrement:n}=e,r=c(t),i=t==null,a={},o={name:e.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:i,compound:r,keyPath:t,autoIncrement:n,unique:!0,extractKey:Dn(t)},indexes:On(e.indexNames).map((t=>e.index(t))).map((e=>{let{name:t,unique:n,multiEntry:r,keyPath:i}=e,o={name:t,compound:c(i),keyPath:i,unique:n,multiEntry:r,extractKey:Dn(i)};return a[An(i)]=o,o})),getIndexByKeyPath:e=>a[An(e)]};return a[`:id`]=o.primaryKey,t!=null&&(a[An(t)]=o.primaryKey),o}))},hasGetAll:n.length>0&&`getAll`in t.objectStore(n[0])&&!(typeof navigator<`u`&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}}(e,n),o=i.tables.map((e=>function(e){let t=e.name;return{name:t,schema:e,mutate:function({trans:e,type:n,keys:i,values:a,range:o}){return new Promise(((s,c)=>{s=P(s);let l=e.objectStore(t),u=l.keyPath==null,d=n===`put`||n===`add`;if(!d&&n!==`delete`&&n!==`deleteRange`)throw Error(`Invalid operation type: `+n);let{length:f}=i||a||{length:1};if(i&&a&&i.length!==a.length)throw Error(`Given keys array must have same length as given values array.`);if(f===0)return s({numFailures:0,failures:{},results:[],lastResult:void 0});let p,m=[],h=[],g=0,_=e=>{++g,vn(e)};if(n===`deleteRange`){if(o.type===4)return s({numFailures:g,failures:h,results:[],lastResult:void 0});o.type===3?m.push(p=l.clear()):m.push(p=l.delete(r(o)))}else{let[e,t]=d?u?[a,i]:[a,null]:[i,null];if(d)for(let r=0;r<f;++r)m.push(p=t&&t[r]!==void 0?l[n](e[r],t[r]):l[n](e[r])),p.onerror=_;else for(let t=0;t<f;++t)m.push(p=l[n](e[t])),p.onerror=_}let v=e=>{let t=e.target.result;m.forEach(((e,t)=>e.error!=null&&(h[t]=e.error))),s({numFailures:g,failures:h,results:n===`delete`?i:m.map((e=>e.result)),lastResult:t})};p.onerror=e=>{_(e),v(e)},p.onsuccess=v}))},getMany:({trans:e,keys:n})=>new Promise(((r,i)=>{r=P(r);let a=e.objectStore(t),o=n.length,s=Array(o),c,l=0,u=0,d=e=>{let t=e.target;s[t._pos]=t.result,++u===l&&r(s)},f=H(i);for(let e=0;e<o;++e)n[e]!=null&&(c=a.get(n[e]),c._pos=e,c.onsuccess=d,c.onerror=f,++l);l===0&&r(s)})),get:({trans:e,key:n})=>new Promise(((r,i)=>{r=P(r);let a=e.objectStore(t).get(n);a.onsuccess=e=>r(e.target.result),a.onerror=H(i)})),query:function(e){return n=>new Promise(((i,a)=>{i=P(i);let{trans:o,values:s,limit:c,query:l}=n,u=c===1/0?void 0:c,{index:d,range:f}=l,p=o.objectStore(t),m=d.isPrimaryKey?p:p.index(d.name),h=r(f);if(c===0)return i({result:[]});if(e){let e=s?m.getAll(h,u):m.getAllKeys(h,u);e.onsuccess=e=>i({result:e.target.result}),e.onerror=H(a)}else{let e=0,t=s||!(`openKeyCursor`in m)?m.openCursor(h):m.openKeyCursor(h),n=[];t.onsuccess=r=>{let a=t.result;return a?(n.push(s?a.value:a.primaryKey),++e===c?i({result:n}):void a.continue()):i({result:n})},t.onerror=H(a)}}))}(a),openCursor:function({trans:e,values:n,query:i,reverse:a,unique:o}){return new Promise(((s,c)=>{s=P(s);let{index:l,range:u}=i,d=e.objectStore(t),f=l.isPrimaryKey?d:d.index(l.name),p=a?o?`prevunique`:`prev`:o?`nextunique`:`next`,m=n||!(`openKeyCursor`in f)?f.openCursor(r(u),p):f.openKeyCursor(r(u),p);m.onerror=H(c),m.onsuccess=P((t=>{let n=m.result;if(!n)return void s(null);n.___id=++kn,n.done=!1;let r=n.continue.bind(n),i=n.continuePrimaryKey;i&&(i=i.bind(n));let a=n.advance.bind(n),o=()=>{throw Error(`Cursor not stopped`)};n.trans=e,n.stop=n.continue=n.continuePrimaryKey=n.advance=()=>{throw Error(`Cursor not started`)},n.fail=P(c),n.next=function(){let e=1;return this.start((()=>e--?this.continue():this.stop())).then((()=>this))},n.start=e=>{let t=new Promise(((e,t)=>{e=P(e),m.onerror=H(t),n.fail=t,n.stop=t=>{n.stop=n.continue=n.continuePrimaryKey=n.advance=o,e(t)}})),s=()=>{if(m.result)try{e()}catch(e){n.fail(e)}else n.done=!0,n.start=()=>{throw Error(`Cursor behind last entry`)},n.stop()};return m.onsuccess=P((e=>{m.onsuccess=s,s()})),n.continue=r,n.continuePrimaryKey=i,n.advance=a,s(),t},s(n)}),c)}))},count({query:e,trans:n}){let{index:i,range:a}=e;return new Promise(((e,o)=>{let s=n.objectStore(t),c=i.isPrimaryKey?s:s.index(i.name),l=r(a),u=l?c.count(l):c.count();u.onsuccess=P((t=>e(t.target.result))),u.onerror=H(o)}))}}}(e))),s={};return o.forEach((e=>s[e.name]=e)),{stack:`dbcore`,transaction:e.transaction.bind(e),table(e){if(!s[e])throw Error(`Table '${e}' not found`);return s[e]},MIN_KEY:-1/0,MAX_KEY:En(t),schema:i}}function Mn({_novip:e},t){let n=t.db;e.core=function(e,t,{IDBKeyRange:n,indexedDB:r},i){return{dbcore:function(e,t){return t.reduce(((e,{create:t})=>a(a({},e),t(e))),e)}(jn(t,n,i),e.dbcore)}}(e._middlewares,n,e._deps,t).dbcore,e.tables.forEach((t=>{let n=t.name;e.core.schema.tables.some((e=>e.name===n))&&(t.core=e.core.table(n),e[n]instanceof e.Table&&(e[n].core=t.core))}))}function Nn({_novip:e},t,n,r){n.forEach((n=>{let i=r[n];t.forEach((t=>{let r=v(t,n);(!r||`value`in r&&r.value===void 0)&&(t===e.Transaction.prototype||t instanceof e.Transaction?h(t,n,{get(){return this.table(n)},set(e){m(this,n,{value:e,writable:!0,configurable:!0,enumerable:!0})}}):t[n]=new e.Table(n,i))}))}))}function Pn({_novip:e},t){t.forEach((t=>{for(let n in t)t[n]instanceof e.Table&&delete t[n]}))}function Fn(e,t){return e._cfg.version-t._cfg.version}function In(e,t,n,r){let i=e._dbSchema,a=e._createTransaction(`readwrite`,e._storeNames,i);a.create(n),a._completion.catch(r);let o=a._reject.bind(a),c=M.transless||M;St((()=>{M.trans=a,M.transless=c,t===0?(s(i).forEach((e=>{Rn(n,e,i[e].primKey,i[e].indexes)})),Mn(e,n),N.follow((()=>e.on.populate.fire(a))).catch(o)):function({_novip:e},t,n,r){let i=[],a=e._versions,o=e._dbSchema=Bn(e,e.idbdb,r),c=!1,l=a.filter((e=>e._cfg.version>=t));function u(){return i.length?N.resolve(i.shift()(n.idbtrans)).then(u):N.resolve()}return l.forEach((a=>{i.push((()=>{let i=o,l=a._cfg.dbschema;Vn(e,i,r),Vn(e,l,r),o=e._dbSchema=l;let u=Ln(i,l);u.add.forEach((e=>{Rn(r,e[0],e[1].primKey,e[1].indexes)})),u.change.forEach((e=>{if(e.recreate)throw new A.Upgrade(`Not yet support for changing primary key`);{let t=r.objectStore(e.name);e.add.forEach((e=>zn(t,e))),e.change.forEach((e=>{t.deleteIndex(e.name),zn(t,e)})),e.del.forEach((e=>t.deleteIndex(e)))}}));let d=a._cfg.contentUpgrade;if(d&&a._cfg.version>t){Mn(e,r),n._memoizedTables={},c=!0;let t=C(l);u.del.forEach((e=>{t[e]=i[e]})),Pn(e,[e.Transaction.prototype]),Nn(e,[e.Transaction.prototype],s(t),t),n.schema=t;let a=pe(d),o;a&&Ct();let f=N.follow((()=>{if(o=d(n),o&&a){var e=I.bind(null,null);o.then(e,e)}}));return o&&typeof o.then==`function`?N.resolve(o):f.then((()=>o))}})),i.push((t=>{c&&Bt||(function(e,t){[].slice.call(t.db.objectStoreNames).forEach((n=>e[n]==null&&t.db.deleteObjectStore(n)))})(a._cfg.dbschema,t),Pn(e,[e.Transaction.prototype]),Nn(e,[e.Transaction.prototype],e._storeNames,e._dbSchema),n.schema=e._dbSchema}))})),u().then((()=>{var e,t=r;s(e=o).forEach((n=>{t.db.objectStoreNames.contains(n)||Rn(t,n,e[n].primKey,e[n].indexes)}))}))}(e,t,a,n).catch(o)}))}function Ln(e,t){let n={del:[],add:[],change:[]},r;for(r in e)t[r]||n.del.push(r);for(r in t){let i=e[r],a=t[r];if(i){let e={name:r,def:a,recreate:!1,del:[],add:[],change:[]};if(``+(i.primKey.keyPath||``)!=``+(a.primKey.keyPath||``)||i.primKey.auto!==a.primKey.auto&&!zt)e.recreate=!0,n.change.push(e);else{let t=i.idxByName,r=a.idxByName,o;for(o in t)r[o]||e.del.push(o);for(o in r){let n=t[o],i=r[o];n?n.src!==i.src&&e.change.push(i):e.add.push(i)}(e.del.length>0||e.add.length>0||e.change.length>0)&&n.change.push(e)}}else n.add.push([r,a])}return n}function Rn(e,t,n,r){let i=e.db.createObjectStore(t,n.keyPath?{keyPath:n.keyPath,autoIncrement:n.auto}:{autoIncrement:n.auto});return r.forEach((e=>zn(i,e))),i}function zn(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function Bn(e,t,n){let r={};return b(t.objectStoreNames,0).forEach((e=>{let t=n.objectStore(e),i=t.keyPath,a=Cn(wn(i),i||``,!1,!1,!!t.autoIncrement,i&&typeof i!=`string`,!0),o=[];for(let e=0;e<t.indexNames.length;++e){let n=t.index(t.indexNames[e]);i=n.keyPath;var s=Cn(n.name,i,!!n.unique,!!n.multiEntry,!1,i&&typeof i!=`string`,!1);o.push(s)}r[e]=Tn(e,a,o)})),r}function Vn({_novip:e},t,n){let r=n.db.objectStoreNames;for(let i=0;i<r.length;++i){let a=r[i],o=n.objectStore(a);e._hasGetAll=`getAll`in o;for(let e=0;e<o.indexNames.length;++e){let n=o.indexNames[e],r=o.index(n).keyPath,i=typeof r==`string`?r:`[`+b(r).join(`+`)+`]`;if(t[a]){let e=t[a].idxByName[i];e&&(e.name=n,delete t[a].idxByName[i],t[a].idxByName[n]=e)}}}typeof navigator<`u`&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&o.WorkerGlobalScope&&o instanceof o.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(e._hasGetAll=!1)}var Hn=class{_parseStoresSpec(e,t){s(e).forEach((n=>{if(e[n]!==null){var r=e[n].split(`,`).map(((e,t)=>{let n=(e=e.trim()).replace(/([&*]|\+\+)/g,``),r=/^\[/.test(n)?n.match(/^\[(.*)\]$/)[1].split(`+`):n;return Cn(n,r||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),c(r),t===0)})),i=r.shift();if(i.multi)throw new A.Schema(`Primary key cannot be multi-valued`);r.forEach((e=>{if(e.auto)throw new A.Schema(`Only primary key can be marked as autoIncrement (++)`);if(!e.keyPath)throw new A.Schema(`Index must have a name and cannot be an empty string`)})),t[n]=Tn(n,i,r)}}))}stores(e){let t=this.db;this._cfg.storesSource=this._cfg.storesSource?l(this._cfg.storesSource,e):e;let n=t._versions,r={},i={};return n.forEach((e=>{l(r,e._cfg.storesSource),i=e._cfg.dbschema={},e._parseStoresSpec(r,i)})),t._dbSchema=i,Pn(t,[t._allTables,t,t.Transaction.prototype]),Nn(t,[t._allTables,t,t.Transaction.prototype,this._cfg.tables],s(i),i),t._storeNames=s(i),this}upgrade(e){return this._cfg.contentUpgrade=Ie(this._cfg.contentUpgrade||j,e),this}};function Un(e,t){let n=e._dbNamesDB;return n||(n=e._dbNamesDB=new dr(Ut,{addons:[],indexedDB:e,IDBKeyRange:t}),n.version(1).stores({dbnames:`name`})),n.table(`dbnames`)}function Wn(e){return e&&typeof e.databases==`function`}function Gn(e){return St((function(){return M.letThrough=!0,e()}))}function Kn(){var e;return!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise((function(t){var n=function(){return indexedDB.databases().finally(t)};e=setInterval(n,100),n()})).finally((function(){return clearInterval(e)})):Promise.resolve()}function qn(e){let t=e._state,{indexedDB:n}=e._deps;if(t.isBeingOpened||e.idbdb)return t.dbReadyPromise.then((()=>t.dbOpenError?R(t.dbOpenError):e));O&&(t.openCanceller._stackHolder=k()),t.isBeingOpened=!0,t.dbOpenError=null,t.openComplete=!1;let r=t.openCanceller;function i(){if(t.openCanceller!==r)throw new A.DatabaseClosed(`db.open() was cancelled`)}let a=t.dbReadyResolve,o=null,c=!1,l=()=>new N(((r,a)=>{if(i(),!n)throw new A.MissingAPI;let l=e.name,u=t.autoSchema?n.open(l):n.open(l,Math.round(10*e.verno));if(!u)throw new A.MissingAPI;u.onerror=H(a),u.onblocked=P(e._fireOnBlocked),u.onupgradeneeded=P((r=>{if(o=u.transaction,t.autoSchema&&!e._options.allowEmptyDB){u.onerror=vn,o.abort(),u.result.close();let e=n.deleteDatabase(l);e.onsuccess=e.onerror=P((()=>{a(new A.NoSuchDatabase(`Database ${l} doesnt exist`))}))}else{o.onerror=H(a);var i=r.oldVersion>2**62?0:r.oldVersion;c=i<1,e._novip.idbdb=u.result,In(e,i/10,o,a)}}),a),u.onsuccess=P((()=>{o=null;let n=e._novip.idbdb=u.result,i=b(n.objectStoreNames);if(i.length>0)try{let r=n.transaction((a=i).length===1?a[0]:a,`readonly`);t.autoSchema?function({_novip:e},t,n){e.verno=t.version/10;let r=e._dbSchema=Bn(0,t,n);e._storeNames=b(t.objectStoreNames,0),Nn(e,[e._allTables],s(r),r)}(e,n,r):(Vn(e,e._dbSchema,r),function(e,t){let n=Ln(Bn(0,e.idbdb,t),e._dbSchema);return!(n.add.length||n.change.some((e=>e.add.length||e.change.length)))}(e,r)||console.warn(`Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.`)),Mn(e,r)}catch(e){}var a;Rt.push(e),n.onversionchange=P((n=>{t.vcFired=!0,e.on(`versionchange`).fire(n)})),n.onclose=P((t=>{e.on(`close`).fire(t)})),c&&function({indexedDB:e,IDBKeyRange:t},n){!Wn(e)&&n!==Ut&&Un(e,t).put({name:n}).catch(j)}(e._deps,l),r()}),a)})).catch((e=>e&&e.name===`UnknownError`&&t.PR1398_maxLoop>0?(t.PR1398_maxLoop--,console.warn(`Dexie: Workaround for Chrome UnknownError on open()`),l()):N.reject(e)));return N.race([r,(typeof navigator>`u`?N.resolve():Kn()).then(l)]).then((()=>(i(),t.onReadyBeingFired=[],N.resolve(Gn((()=>e.on.ready.fire(e.vip)))).then((function n(){if(t.onReadyBeingFired.length>0){let r=t.onReadyBeingFired.reduce(Ie,j);return t.onReadyBeingFired=[],N.resolve(Gn((()=>r(e.vip)))).then(n)}}))))).finally((()=>{t.onReadyBeingFired=null,t.isBeingOpened=!1})).then((()=>e)).catch((n=>{t.dbOpenError=n;try{o&&o.abort()}catch(e){}return r===t.openCanceller&&e._close(),R(n)})).finally((()=>{t.openComplete=!0,a()}))}function Jn(e){var t=t=>e.next(t),n=i(t),r=i((t=>e.throw(t)));function i(e){return t=>{var i=e(t),a=i.value;return i.done?a:a&&typeof a.then==`function`?a.then(n,r):c(a)?Promise.all(a).then(n,r):n(a)}}return i(t)()}function Yn(e,t,n){var r=arguments.length;if(r<2)throw new A.InvalidArgument(`Too few arguments`);for(var i=Array(r-1);--r;)i[r-1]=arguments[r];return n=i.pop(),[e,ae(i),n]}function Xn(e,t,n,r,i){return N.resolve().then((()=>{let a=M.transless||M,o=e._createTransaction(t,n,e._dbSchema,r),s={trans:o,transless:a};if(r)o.idbtrans=r.idbtrans;else try{o.create(),e._state.PR1398_maxLoop=3}catch(r){return r.name===Te.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(console.warn(`Dexie: Need to reopen db`),e._close(),e.open().then((()=>Xn(e,t,n,null,i)))):R(r)}let c=pe(i),l;c&&Ct();let u=N.follow((()=>{if(l=i.call(o,o),l){if(c){var e=I.bind(null,null);l.then(e,e)}else typeof l.next==`function`&&typeof l.throw==`function`&&(l=Jn(l))}}),s);return(l&&typeof l.then==`function`?N.resolve(l).then((e=>o.active?e:R(new A.PrematureCommit(`Transaction committed too early. See http://bit.ly/2kdckMn`)))):u.then((()=>l))).then((e=>(r&&o._resolve(),o._completion.then((()=>e))))).catch((e=>(o._reject(e),R(e))))}))}function Zn(e,t,n){let r=c(e)?e.slice():[e];for(let e=0;e<n;++e)r.push(t);return r}let Qn={stack:`dbcore`,name:`VirtualIndexMiddleware`,level:1,create:function(e){return a(a({},e),{},{table(t){let n=e.table(t),{schema:r}=n,i={},o=[];function s(e,t,n){let r=An(e),c=i[r]=i[r]||[],l=e==null?0:typeof e==`string`?1:e.length,u=t>0,d=a(a({},n),{},{isVirtual:u,keyTail:t,keyLength:l,extractKey:Dn(e),unique:!u&&n.unique});return c.push(d),d.isPrimaryKey||o.push(d),l>1&&s(l===2?e[0]:e.slice(0,l-1),t+1,n),c.sort(((e,t)=>e.keyTail-t.keyTail)),d}let c=s(r.primaryKey.keyPath,0,r.primaryKey);i[`:id`]=[c];for(let e of r.indexes)s(e.keyPath,0,e);function l(t){let n=t.query.index;return n.isVirtual?a(a({},t),{},{query:{index:n,range:(r=t.query.range,i=n.keyTail,{type:r.type===1?2:r.type,lower:Zn(r.lower,r.lowerOpen?e.MAX_KEY:e.MIN_KEY,i),lowerOpen:!0,upper:Zn(r.upper,r.upperOpen?e.MIN_KEY:e.MAX_KEY,i),upperOpen:!0})}}):t;var r,i}return a(a({},n),{},{schema:a(a({},r),{},{primaryKey:c,indexes:o,getIndexByKeyPath:function(e){let t=i[An(e)];return t&&t[0]}}),count:e=>n.count(l(e)),query:e=>n.query(l(e)),openCursor(t){let{keyTail:r,isVirtual:i,keyLength:a}=t.query.index;return i?n.openCursor(l(t)).then((n=>n&&function(n){return Object.create(n,{continue:{value:function(i){i==null?t.unique?n.continue(n.key.slice(0,a).concat(t.reverse?e.MIN_KEY:e.MAX_KEY,r)):n.continue():n.continue(Zn(i,t.reverse?e.MAX_KEY:e.MIN_KEY,r))}},continuePrimaryKey:{value(t,i){n.continuePrimaryKey(Zn(t,e.MAX_KEY,r),i)}},primaryKey:{get:()=>n.primaryKey},key:{get(){let e=n.key;return a===1?e[0]:e.slice(0,a)}},value:{get:()=>n.value}})}(n))):n.openCursor(t)}})}})}};function $n(e,t,n,r){return n=n||{},r=r||``,s(e).forEach((i=>{if(f(t,i)){var a=e[i],o=t[i];if(typeof a==`object`&&typeof o==`object`&&a&&o){let e=ue(a);e===ue(o)?e===`Object`?$n(a,o,n,r+i+`.`):a!==o&&(n[r+i]=t[i]):n[r+i]=t[i]}else a!==o&&(n[r+i]=t[i])}else n[r+i]=void 0})),s(t).forEach((i=>{f(e,i)||(n[r+i]=t[i])})),n}let er={stack:`dbcore`,name:`HooksMiddleware`,level:2,create:e=>a(a({},e),{},{table(t){let n=e.table(t),{primaryKey:r}=n.schema;return a(a({},n),{},{mutate(e){let i=M.trans,{deleting:o,creating:s,updating:c}=i.table(t).hook;switch(e.type){case`add`:if(s.fire===j)break;return i._promise(`readwrite`,(()=>l(e)),!0);case`put`:if(s.fire===j&&c.fire===j)break;return i._promise(`readwrite`,(()=>l(e)),!0);case`delete`:if(o.fire===j)break;return i._promise(`readwrite`,(()=>l(e)),!0);case`deleteRange`:if(o.fire===j)break;return i._promise(`readwrite`,(()=>function(e){return u(e.trans,e.range,1e4)}(e)),!0)}return n.mutate(e);function l(e){let t=M.trans,i=e.keys||function(e,t){return t.type===`delete`?t.keys:t.keys||t.values.map(e.extractKey)}(r,e);if(!i)throw Error(`Keys missing`);return(e=e.type===`add`||e.type===`put`?a(a({},e),{},{keys:i}):a({},e)).type!==`delete`&&(e.values=[...e.values]),e.keys&&(e.keys=[...e.keys]),function(e,t,n){return t.type===`add`?Promise.resolve([]):e.getMany({trans:t.trans,keys:n,cache:`immutable`})}(n,e,i).then((a=>{let l=i.map(((n,i)=>{let l=a[i],u={onerror:null,onsuccess:null};if(e.type===`delete`)o.fire.call(u,n,l,t);else if(e.type===`add`||l===void 0){let a=s.fire.call(u,n,e.values[i],t);n==null&&a!=null&&(n=a,e.keys[i]=n,r.outbound||S(e.values[i],r.keyPath,n))}else{let r=$n(l,e.values[i]),a=c.fire.call(u,r,n,l,t);if(a){let t=e.values[i];Object.keys(a).forEach((e=>{f(t,e)?t[e]=a[e]:S(t,e,a[e])}))}}return u}));return n.mutate(e).then((({failures:t,results:n,numFailures:r,lastResult:o})=>{for(let r=0;r<i.length;++r){let o=n?n[r]:i[r],s=l[r];o==null?s.onerror&&s.onerror(t[r]):s.onsuccess&&s.onsuccess(e.type===`put`&&a[r]?e.values[r]:o)}return{failures:t,results:n,numFailures:r,lastResult:o}})).catch((e=>(l.forEach((t=>t.onerror&&t.onerror(e))),Promise.reject(e))))}))}function u(e,t,i){return n.query({trans:e,values:!1,query:{index:r,range:t},limit:i}).then((({result:n})=>l({type:`delete`,keys:n,trans:e}).then((r=>r.numFailures>0?Promise.reject(r.failures[0]):n.length<i?{failures:[],numFailures:0,lastResult:void 0}:u(e,a(a({},t),{},{lower:n[n.length-1],lowerOpen:!0}),i)))))}}})}})};function tr(e,t,n){try{if(!t||t.keys.length<e.length)return null;let r=[];for(let i=0,a=0;i<t.keys.length&&a<e.length;++i)B(t.keys[i],e[a])===0&&(r.push(n?T(t.values[i]):t.values[i]),++a);return r.length===e.length?r:null}catch(e){return null}}let nr={stack:`dbcore`,level:-1,create:e=>({table:t=>{let n=e.table(t);return a(a({},n),{},{getMany:e=>{if(!e.cache)return n.getMany(e);let t=tr(e.keys,e.trans._cache,e.cache===`clone`);return t?N.resolve(t):n.getMany(e).then((t=>(e.trans._cache={keys:e.keys,values:e.cache===`clone`?T(t):t},t)))},mutate:e=>(e.type!==`add`&&(e.trans._cache=null),n.mutate(e))})}})};function rr(e){return!(`from`in e)}let U=function(e,t){if(!this){let t=new U;return e&&`d`in e&&l(t,e),t}l(this,arguments.length?{d:1,from:e,to:arguments.length>1?t:e}:{d:0})};function ir(e,t,n){let r=B(t,n);if(isNaN(r))return;if(r>0)throw RangeError();if(rr(e))return l(e,{from:t,to:n,d:1});let i=e.l,a=e.r;if(B(n,e.from)<0)return i?ir(i,t,n):e.l={from:t,to:n,d:1,l:null,r:null},cr(e);if(B(t,e.to)>0)return a?ir(a,t,n):e.r={from:t,to:n,d:1,l:null,r:null},cr(e);B(t,e.from)<0&&(e.from=t,e.l=null,e.d=a?a.d+1:1),B(n,e.to)>0&&(e.to=n,e.r=null,e.d=e.l?e.l.d+1:1);let o=!e.r;i&&!e.l&&ar(e,i),a&&o&&ar(e,a)}function ar(e,t){rr(t)||function e(t,{from:n,to:r,l:i,r:a}){ir(t,n,r),i&&e(t,i),a&&e(t,a)}(e,t)}function or(e,t){let n=sr(t),r=n.next();if(r.done)return!1;let i=r.value,a=sr(e),o=a.next(i.from),s=o.value;for(;!r.done&&!o.done;){if(B(s.from,i.to)<=0&&B(s.to,i.from)>=0)return!0;B(i.from,s.from)<0?i=(r=n.next(s.from)).value:s=(o=a.next(i.from)).value}return!1}function sr(e){let t=rr(e)?null:{s:0,n:e};return{next(e){let n=arguments.length>0;for(;t;)switch(t.s){case 0:if(t.s=1,n)for(;t.n.l&&B(e,t.n.from)<0;)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,!n||B(e,t.n.to)<=0)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 cr(e){var t,n;let r=(((t=e.r)==null?void 0:t.d)||0)-(((n=e.l)==null?void 0:n.d)||0),i=r>1?`r`:r<-1?`l`:``;if(i){let t=i===`r`?`l`:`r`,n=a({},e),r=e[i];e.from=r.from,e.to=r.to,e[i]=r[i],n[i]=r[t],e[t]=n,n.d=lr(n)}e.d=lr(e)}function lr({r:e,l:t}){return(e?t?Math.max(e.d,t.d):e.d:t?t.d:0)+1}p(U.prototype,{add(e){return ar(this,e),this},addKey(e){return ir(this,e,e),this},addKeys(e){return e.forEach((e=>ir(this,e,e))),this},[de](){return sr(this)}});let ur={stack:`dbcore`,level:0,create:e=>{let t=e.schema.name,n=new U(e.MIN_KEY,e.MAX_KEY);return a(a({},e),{},{table:r=>{let i=e.table(r),{schema:o}=i,{primaryKey:l}=o,{extractKey:u,outbound:d}=l,f=a(a({},i),{},{mutate:e=>{let a=e.trans,s=a.mutatedParts||(a.mutatedParts={}),l=e=>{let n=`idb://${t}/${r}/${e}`;return s[n]||(s[n]=new U)},u=l(``),d=l(`:dels`),{type:f}=e,[p,m]=e.type===`deleteRange`?[e.range]:e.type===`delete`?[e.keys]:e.values.length<50?[[],e.values]:[],h=e.trans._cache;return i.mutate(e).then((e=>{if(c(p)){f!==`delete`&&(p=e.results),u.addKeys(p);let t=tr(p,h);t||f===`add`||d.addKeys(p),(t||m)&&function(e,t,n,r){function i(t){let i=e(t.name||``);function a(e){return e==null?null:t.extractKey(e)}let o=e=>t.multiEntry&&c(e)?e.forEach((e=>i.addKey(e))):i.addKey(e);(n||r).forEach(((e,t)=>{let i=n&&a(n[t]),s=r&&a(r[t]);B(i,s)!==0&&(i!=null&&o(i),s!=null&&o(s))}))}t.indexes.forEach(i)}(l,o,t,m)}else if(p){let e={from:p.lower,to:p.upper};d.add(e),u.add(e)}else u.add(n),d.add(n),o.indexes.forEach((e=>l(e.name).add(n)));return e}))}}),p=({query:{index:t,range:n}})=>{var r,i;return[t,new U((r=n.lower)==null?e.MIN_KEY:r,(i=n.upper)==null?e.MAX_KEY:i)]},m={get:e=>[l,new U(e.key)],getMany:e=>[l,new U().addKeys(e.keys)],count:p,query:p,openCursor:p};return s(m).forEach((e=>{f[e]=function(o){let{subscr:s}=M;if(s){let c=e=>{let n=`idb://${t}/${r}/${e}`;return s[n]||(s[n]=new U)},l=c(``),f=c(`:dels`),[p,h]=m[e](o);if(c(p.name||``).add(h),!p.isPrimaryKey){if(e!==`count`){let t=e===`query`&&d&&o.values&&i.query(a(a({},o),{},{values:!1}));return i[e].apply(this,arguments).then((n=>{if(e===`query`){if(d&&o.values)return t.then((({result:e})=>(l.addKeys(e),n)));let e=o.values?n.result.map(u):n.result;o.values?l.addKeys(e):f.addKeys(e)}else if(e===`openCursor`){let e=n,t=o.values;return e&&Object.create(e,{key:{get:()=>(f.addKey(e.primaryKey),e.key)},primaryKey:{get(){let t=e.primaryKey;return f.addKey(t),t}},value:{get:()=>(t&&l.addKey(e.primaryKey),e.value)}})}return n}))}f.add(n)}}return i[e].apply(this,arguments)}})),f}})}};var dr=class e{constructor(t,n){this._middlewares={},this.verno=0;let r=e.dependencies;this._options=n=a({addons:e.addons,autoOpen:!0,indexedDB:r.indexedDB,IDBKeyRange:r.IDBKeyRange},n),this._deps={indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange};let{addons:i}=n;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;let o={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:j,dbReadyPromise:null,cancelOpen:j,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3};var s;o.dbReadyPromise=new N((e=>{o.dbReadyResolve=e})),o.openCanceller=new N(((e,t)=>{o.cancelOpen=t})),this._state=o,this.name=t,this.on=Xt(this,`populate`,`blocked`,`versionchange`,`close`,{ready:[Ie,j]}),this.on.ready.subscribe=ee(this.on.ready.subscribe,(t=>(n,r)=>{e.vip((()=>{let e=this._state;if(e.openComplete)e.dbOpenError||N.resolve().then(n),r&&t(n);else if(e.onReadyBeingFired)e.onReadyBeingFired.push(n),r&&t(n);else{t(n);let e=this;r||t((function t(){e.on.ready.unsubscribe(n),e.on.ready.unsubscribe(t)}))}}))})),this.Collection=(s=this,Zt(cn.prototype,(function(e,t){this.db=s;let n=qt,r=null;if(t)try{n=t()}catch(e){r=e}let i=e._ctx,a=i.table,o=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:r,or:i.or,valueMapper:o===ke?null:o}}))),this.Table=function(e){return Zt(Yt.prototype,(function(t,n,r){this.db=e,this._tx=r,this.name=t,this.schema=n,this.hook=e._allTables[t]?e._allTables[t].hook:Xt(null,{creating:[Me,j],reading:[Ae,ke],updating:[Pe,j],deleting:[Ne,j]})}))}(this),this.Transaction=function(e){return Zt(Sn.prototype,(function(t,n,r,i,a){this.db=e,this.mode=t,this.storeNames=n,this.schema=r,this.chromeTransactionDurability=i,this.idbtrans=null,this.on=Xt(this,`complete`,`error`,`abort`),this.parent=a||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 N(((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(),R(e)}))}))}(this),this.Version=function(e){return Zt(Hn.prototype,(function(t){this.db=e,this._cfg={version:t,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}}))}(this),this.WhereClause=function(e){return Zt(_n.prototype,(function(t,n,r){this.db=e,this._ctx={table:t,index:n===`:id`?null:n,or:r};let i=e._deps.indexedDB;if(!i)throw new A.MissingAPI;this._cmp=this._ascending=i.cmp.bind(i),this._descending=(e,t)=>i.cmp(t,e),this._max=(e,t)=>i.cmp(e,t)>0?e:t,this._min=(e,t)=>i.cmp(e,t)<0?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=En(n.IDBKeyRange),this._createTransaction=(e,t,n,r)=>new this.Transaction(e,t,n,this._options.chromeTransactionDurability,r),this._fireOnBlocked=e=>{this.on(`blocked`).fire(e),Rt.filter((e=>e.name===this.name&&e!==this&&!e._state.vcFired)).map((t=>t.on(`versionchange`).fire(e)))},this.use(Qn),this.use(er),this.use(ur),this.use(nr),this.vip=Object.create(this,{_vip:{value:!0}}),i.forEach((e=>e(this)))}version(e){if(isNaN(e)||e<.1)throw new A.Type(`Given version is not a positive number`);if(e=Math.round(10*e)/10,this.idbdb||this._state.isBeingOpened)throw new A.Schema(`Cannot add version when database is open`);this.verno=Math.max(this.verno,e);let t=this._versions;var n=t.filter((t=>t._cfg.version===e))[0];return n||(n=new this.Version(e),t.push(n),t.sort(Fn),n.stores({}),this._state.autoSchema=!1,n)}_whenReady(e){return this.idbdb&&(this._state.openComplete||M.letThrough||this._vip)?e():new N(((e,t)=>{if(this._state.openComplete)return t(new A.DatabaseClosed(this._state.dbOpenError));if(!this._state.isBeingOpened){if(!this._options.autoOpen)return void t(new A.DatabaseClosed);this.open().catch(j)}this._state.dbReadyPromise.then(e,t)})).then(e)}use({stack:e,create:t,level:n,name:r}){r&&this.unuse({stack:e,name:r});let i=this._middlewares[e]||(this._middlewares[e]=[]);return i.push({stack:e,create:t,level:n==null?10:n,name:r}),i.sort(((e,t)=>e.level-t.level)),this}unuse({stack:e,name:t,create:n}){return e&&this._middlewares[e]&&(this._middlewares[e]=this._middlewares[e].filter((e=>n?e.create!==n:!!t&&e.name!==t))),this}open(){return qn(this)}_close(){let e=this._state,t=Rt.indexOf(this);if(t>=0&&Rt.splice(t,1),this.idbdb){try{this.idbdb.close()}catch(e){}this._novip.idbdb=null}e.dbReadyPromise=new N((t=>{e.dbReadyResolve=t})),e.openCanceller=new N(((t,n)=>{e.cancelOpen=n}))}close(){this._close();let e=this._state;this._options.autoOpen=!1,e.dbOpenError=new A.DatabaseClosed,e.isBeingOpened&&e.cancelOpen(e.dbOpenError)}delete(){let e=arguments.length>0,t=this._state;return new N(((n,r)=>{let i=()=>{this.close();var e=this._deps.indexedDB.deleteDatabase(this.name);e.onsuccess=P((()=>{(function({indexedDB:e,IDBKeyRange:t},n){!Wn(e)&&n!==Ut&&Un(e,t).delete(n).catch(j)})(this._deps,this.name),n()})),e.onerror=H(r),e.onblocked=this._fireOnBlocked};if(e)throw new A.InvalidArgument(`Arguments not allowed in db.delete()`);t.isBeingOpened?t.dbReadyPromise.then(i):i()}))}backendDB(){return this.idbdb}isOpen(){return this.idbdb!==null}hasBeenClosed(){let e=this._state.dbOpenError;return e&&e.name===`DatabaseClosed`}hasFailed(){return this._state.dbOpenError!==null}dynamicallyOpened(){return this._state.autoSchema}get tables(){return s(this._allTables).map((e=>this._allTables[e]))}transaction(){let e=Yn.apply(this,arguments);return this._transaction.apply(this,e)}_transaction(e,t,n){let r=M.trans;r&&r.db===this&&e.indexOf(`!`)===-1||(r=null);let i=e.indexOf(`?`)!==-1,a,o;e=e.replace(`!`,``).replace(`?`,``);try{if(o=t.map((e=>{var t=e instanceof this.Table?e.name:e;if(typeof t!=`string`)throw TypeError(`Invalid table argument to Dexie.transaction(). Only Table or String are allowed`);return t})),e==`r`||e===Wt)a=Wt;else{if(e!=`rw`&&e!=Gt)throw new A.InvalidArgument(`Invalid transaction mode: `+e);a=Gt}if(r){if(r.mode===Wt&&a===Gt){if(!i)throw new A.SubTransaction(`Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY`);r=null}r&&o.forEach((e=>{if(r&&r.storeNames.indexOf(e)===-1){if(!i)throw new A.SubTransaction(`Table `+e+` not included in parent transaction.`);r=null}})),i&&r&&!r.active&&(r=null)}}catch(e){return r?r._promise(null,((t,n)=>{n(e)})):R(e)}let s=Xn.bind(null,this,a,o,r,n);return r?r._promise(a,s,`lock`):M.trans?Ot(M.transless,(()=>this._whenReady(s))):this._whenReady(s)}table(e){if(!f(this._allTables,e))throw new A.InvalidTable(`Table ${e} does not exist`);return this._allTables[e]}};let fr=typeof Symbol<`u`&&`observable`in Symbol?Symbol.observable:`@@observable`;var pr=class{constructor(e){this._subscribe=e}subscribe(e,t,n){return this._subscribe(e&&typeof e!=`function`?e:{next:e,error:t,complete:n})}[fr](){return this}};function mr(e,t){return s(t).forEach((n=>{ar(e[n]||(e[n]=new U),t[n])})),e}function hr(e){let t,n=!1,r=new pr((r=>{let i=pe(e),a=!1,o={},c={},l={get closed(){return a},unsubscribe:()=>{a=!0,xn.storagemutated.unsubscribe(p)}};r.start&&r.start(l);let u=!1,d=!1;function f(){return s(c).some((e=>o[e]&&or(o[e],c[e])))}let p=e=>{mr(o,e),f()&&m()},m=()=>{if(u||a)return;o={};let s={},h=function(t){i&&Ct();let n=()=>St(e,{subscr:t,trans:null}),r=M.trans?Ot(M.transless,n):n();return i&&r.then(I,I),r}(s);d||(xn(yn,p),d=!0),u=!0,Promise.resolve(h).then((e=>{n=!0,t=e,u=!1,a||(f()?m():(o={},c=s,r.next&&r.next(e)))}),(e=>{u=!1,n=!1,r.error&&r.error(e),l.unsubscribe()}))};return m(),l}));return r.hasValue=()=>n,r.getValue=()=>t,r}let gr;try{gr={indexedDB:o.indexedDB||o.mozIndexedDB||o.webkitIndexedDB||o.msIndexedDB,IDBKeyRange:o.IDBKeyRange||o.webkitIDBKeyRange}}catch(e){gr={indexedDB:null,IDBKeyRange:null}}let _r=dr;function vr(e){let t=W;try{W=!0,xn.storagemutated.fire(e)}finally{W=t}}p(_r,a(a({},Oe),{},{delete:e=>new _r(e,{addons:[]}).delete(),exists:e=>new _r(e,{addons:[]}).open().then((e=>(e.close(),!0))).catch(`NoSuchDatabaseError`,(()=>!1)),getDatabaseNames(e){try{return function({indexedDB:e,IDBKeyRange:t}){return Wn(e)?Promise.resolve(e.databases()).then((e=>e.map((e=>e.name)).filter((e=>e!==Ut)))):Un(e,t).toCollection().primaryKeys()}(_r.dependencies).then(e)}catch(e){return R(new A.MissingAPI)}},defineClass:()=>function(e){l(this,e)},ignoreTransaction:e=>M.trans?Ot(M.transless,e):e(),vip:Gn,async:function(e){return function(){try{var t=Jn(e.apply(this,arguments));return t&&typeof t.then==`function`?t:N.resolve(t)}catch(e){return R(e)}}},spawn:function(e,t,n){try{var r=Jn(e.apply(n,t||[]));return r&&typeof r.then==`function`?r:N.resolve(r)}catch(e){return R(e)}},currentTransaction:{get:()=>M.trans||null},waitFor:function(e,t){let n=N.resolve(typeof e==`function`?_r.ignoreTransaction(e):e).timeout(t||6e4);return M.trans?M.trans.waitFor(n):n},Promise:N,debug:{get:()=>O,set:e=>{me(e,e===`dexie`?()=>!0:Ht)}},derive:g,extend:l,props:p,override:ee,Events:Xt,on:xn,liveQuery:hr,extendObservabilitySet:mr,getByKeyPath:x,setByKeyPath:S,delByKeyPath:function(e,t){typeof t==`string`?S(e,t,void 0):`length`in t&&[].map.call(t,(function(t){S(e,t,void 0)}))},shallowClone:C,deepClone:T,getObjectDiff:$n,cmp:B,asap:ne,minKey:It,addons:[],connections:Rt,errnames:Te,dependencies:gr,semVer:Ft,version:Ft.split(`.`).map((e=>parseInt(e))).reduce(((e,t,n)=>e+t/10**(2*n)))})),_r.maxKey=En(_r.dependencies.IDBKeyRange),typeof dispatchEvent<`u`&&typeof addEventListener<`u`&&(xn(yn,(e=>{if(!W){let t;zt?(t=document.createEvent(`CustomEvent`),t.initCustomEvent(bn,!0,!0,e)):t=new CustomEvent(bn,{detail:e}),W=!0,dispatchEvent(t),W=!1}})),addEventListener(bn,(({detail:e})=>{W||vr(e)})));let W=!1;if(typeof BroadcastChannel<`u`){let e=new BroadcastChannel(bn);typeof e.unref==`function`&&e.unref(),xn(yn,(t=>{W||e.postMessage(t)})),e.onmessage=e=>{e.data&&vr(e.data)}}else if(typeof self<`u`&&typeof navigator<`u`){xn(yn,(e=>{try{W||(typeof localStorage<`u`&&localStorage.setItem(bn,JSON.stringify({trig:Math.random(),changedParts:e})),typeof self.clients==`object`&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach((t=>t.postMessage({type:bn,changedParts:e}))))}catch(e){}})),typeof addEventListener<`u`&&addEventListener(`storage`,(e=>{if(e.key===bn){let t=JSON.parse(e.newValue);t&&vr(t.changedParts)}}));let e=self.document&&navigator.serviceWorker;e&&e.addEventListener(`message`,(function({data:e}){e&&e.type===bn&&vr(e.changedParts)}))}N.rejectionMapper=function(e,t){if(!e||e instanceof xe||e instanceof TypeError||e instanceof SyntaxError||!e.name||!De[e.name])return e;var n=new De[e.name](t||e.message,e);return`stack`in e&&h(n,`stack`,{get:function(){return this.inner.stack}}),n},me(O,Ht);let G=new class extends dr{constructor(){super(`utopya`),this.version(1).stores({providers:`++id`,categories:`id, [providerId+kind]`,channels:`id, providerId, [providerId+number], [categoryId+number]`,movies:`id, providerId, [categoryId+added]`,series:`id, providerId, [categoryId+added]`,episodes:`id, seriesId, providerId`}),this.version(2).stores({favorites:`id, [providerId+kind]`,recents:`id, [providerId+kind]`}),this.version(3).stores({programs:`id, providerId, [key+start]`,epgLinks:`id, providerId`}),this.version(4).stores({reminders:`id, start`}),this.version(5).stores({progress:`id, providerId, seriesId, updated`}),this.version(6).stores({movies:`id, providerId, [categoryId+added], [providerId+vkey]`,series:`id, providerId, [categoryId+added], [providerId+vkey]`}),this.version(7).stores({movies:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added]`,series:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added]`}),this.version(8).stores({catState:`id, providerId`,chanState:`id, providerId`,groups:`++id, providerId`,groupItems:`[groupId+channelId], groupId, channelId`}),this.version(9).stores({epgChannels:`id, providerId`})}};function K(...e){let t=e.join(`|`),n=2166136261,r=84696351;for(let e=0;e<t.length;e++){let i=t.charCodeAt(e);n=Math.imul(n^i,16777619),r=Math.imul(r^i,1540483477)}return(r>>>0)%2097152*4294967296+(n>>>0)||1}var q=Uint8Array,yr=Uint16Array,br=Int32Array,xr=new q([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Sr=new q([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Cr=new q([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),wr=function(e,t){for(var n=new yr(31),r=0;r<31;++r)n[r]=t+=1<<e[r-1];for(var i=new br(n[30]),r=1;r<30;++r)for(var a=n[r];a<n[r+1];++a)i[a]=a-n[r]<<5|r;return{b:n,r:i}},Tr=wr(xr,2),Er=Tr.b,Dr=Tr.r;Er[28]=258,Dr[258]=28;var Or=wr(Sr,0),kr=Or.b;Or.r;for(var Ar=new yr(32768),J=0;J<32768;++J){var jr=(J&43690)>>1|(J&21845)<<1;jr=(jr&52428)>>2|(jr&13107)<<2,jr=(jr&61680)>>4|(jr&3855)<<4,Ar[J]=((jr&65280)>>8|(jr&255)<<8)>>1}for(var Mr=(function(e,t,n){for(var r=e.length,i=0,a=new yr(t);i<r;++i)e[i]&&++a[e[i]-1];var o=new yr(t);for(i=1;i<t;++i)o[i]=o[i-1]+a[i-1]<<1;var s;if(n){s=new yr(1<<t);var c=15-t;for(i=0;i<r;++i)if(e[i])for(var l=i<<4|e[i],u=t-e[i],d=o[e[i]-1]++<<u,f=d|(1<<u)-1;d<=f;++d)s[Ar[d]>>c]=l}else for(s=new yr(r),i=0;i<r;++i)e[i]&&(s[i]=Ar[o[e[i]-1]++]>>15-e[i]);return s}),Nr=new q(288),J=0;J<144;++J)Nr[J]=8;for(var J=144;J<256;++J)Nr[J]=9;for(var J=256;J<280;++J)Nr[J]=7;for(var J=280;J<288;++J)Nr[J]=8;for(var Pr=new q(32),J=0;J<32;++J)Pr[J]=5;var Fr=/*#__PURE__*/ Mr(Nr,9,1),Ir=/*#__PURE__*/ Mr(Pr,5,1),Lr=function(e){for(var t=e[0],n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},Y=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(t&7)&n},Rr=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(t&7)},zr=function(e){return(e+7)/8|0},Br=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new q(e.subarray(t,n))},Vr=[`unexpected EOF`,`invalid block type`,`invalid length/literal`,`invalid distance`,`stream finished`,`no stream handler`,,`no callback`,`invalid UTF-8 data`,`extra field too long`,`date not in range 1980-2099`,`filename too long`,`stream finishing`,`invalid zip data`],X=function(e,t,n){var r=Error(t||Vr[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,X),!n)throw r;return r},Hr=function(e,t,n,r){var i=e.length,a=r?r.length:0;if(!i||t.f&&!t.l)return n||new q(0);var o=!n,s=o||t.i!=2,c=t.i;o&&(n=new q(i*3));var l=function(e){var t=n.length;if(e>t){var r=new q(Math.max(t*2,e));r.set(n),n=r}},u=t.f||0,d=t.p||0,f=t.b||0,p=t.l,m=t.d,h=t.m,g=t.n,_=i*8;do{if(!p){u=Y(e,d,1);var v=Y(e,d+1,3);if(d+=3,!v){var y=zr(d)+4,b=e[y-4]|e[y-3]<<8,ee=y+b;if(ee>i){c&&X(0);break}s&&l(f+b),n.set(e.subarray(y,ee),f),t.b=f+=b,t.p=d=ee*8,t.f=u;continue}if(v==1)p=Fr,m=Ir,h=9,g=5;else if(v==2){var te=Y(e,d,31)+257,ne=Y(e,d+10,15)+4,re=te+Y(e,d+5,31)+1;d+=14;for(var x=new q(re),S=new q(19),C=0;C<ne;++C)S[Cr[C]]=Y(e,d+C*3,7);d+=ne*3;for(var ie=Lr(S),ae=(1<<ie)-1,oe=Mr(S,ie,1),C=0;C<re;){var se=oe[Y(e,d,ae)];d+=se&15;var y=se>>4;if(y<16)x[C++]=y;else{var w=0,T=0;for(y==16?(T=3+Y(e,d,3),d+=2,w=x[C-1]):y==17?(T=3+Y(e,d,7),d+=3):y==18&&(T=11+Y(e,d,127),d+=7);T--;)x[C++]=w}}var ce=x.subarray(0,te),le=x.subarray(te);h=Lr(ce),g=Lr(le),p=Mr(ce,h,1),m=Mr(le,g,1)}else X(1);if(d>_){c&&X(0);break}}s&&l(f+131072);for(var ue=(1<<h)-1,de=(1<<g)-1,fe=d;;fe=d){var w=p[Rr(e,d)&ue],E=w>>4;if(d+=w&15,d>_){c&&X(0);break}if(w||X(2),E<256)n[f++]=E;else if(E==256){fe=d,p=null;break}else{var D=E-254;if(E>264){var C=E-257,pe=xr[C];D=Y(e,d,(1<<pe)-1)+Er[C],d+=pe}var O=m[Rr(e,d)&de],me=O>>4;O||X(3),d+=O&15;var le=kr[me];if(me>3){var pe=Sr[me];le+=Rr(e,d)&(1<<pe)-1,d+=pe}if(d>_){c&&X(0);break}s&&l(f+131072);var he=f+D;if(f<le){var ge=a-le,k=Math.min(le,he);for(ge+f<0&&X(3);f<k;++f)n[f]=r[ge+f]}for(;f<he;++f)n[f]=n[f-le]}}t.l=p,t.p=fe,t.b=f,t.f=u,p&&(u=1,t.m=h,t.d=m,t.n=g)}while(!u);return f!=n.length&&o?Br(n,0,f):n.subarray(0,f)},Ur=/*#__PURE__*/ new q(0),Wr=function(e){(e[0]!=31||e[1]!=139||e[2]!=8)&&X(6,`invalid gzip data`);var t=e[3],n=10;t&4&&(n+=(e[10]|e[11]<<8)+2);for(var r=(t>>3&1)+(t>>4&1);r>0;r-=!e[n++]);return n+(t&2)},Gr=/* @__PURE__ */ function(){function e(e,t){typeof e==`function`&&(t=e,e={}),this.ondata=t;var n=e&&e.dictionary&&e.dictionary.subarray(-32768);this.s={i:0,b:n?n.length:0},this.o=new q(32768),this.p=new q(0),n&&this.o.set(n)}return e.prototype.e=function(e){if(this.ondata||X(5),this.d&&X(4),!this.p.length)this.p=e;else if(e.length){var t=new q(this.p.length+e.length);t.set(this.p),t.set(e,this.p.length),this.p=t}},e.prototype.c=function(e){this.s.i=+(this.d=e||!1);var t=this.s.b,n=Hr(this.p,this.s,this.o);this.ondata(Br(n,t,this.s.b),this.d),this.o=Br(n,this.s.b-32768),this.s.b=this.o.length,this.p=Br(this.p,this.s.p/8|0),this.s.p&=7},e.prototype.push=function(e,t){this.e(e),this.c(t)},e}(),Kr=/* @__PURE__ */ function(){function e(e,t){this.v=1,this.r=0,Gr.call(this,e,t)}return e.prototype.push=function(e,t){if(Gr.prototype.e.call(this,e),this.r+=e.length,this.v){var n=this.p.subarray(this.v-1),r=n.length>3?Wr(n):4;if(r>n.length){if(!t)return}else this.v>1&&this.onmember&&this.onmember(this.r-n.length);this.p=n.subarray(r),this.v=0}Gr.prototype.c.call(this,0),this.s.f&&!this.s.l?(this.v=zr(this.s.p)+9,this.s={i:0},this.o=new q(0),this.push(new q(0),t)):t&&Gr.prototype.c.call(this,t)},e}(),qr=typeof TextDecoder<`u`&&/*#__PURE__*/ new TextDecoder;try{qr.decode(Ur,{stream:!0})}catch(e){}var Z=class extends Error{constructor(e,t){super(t||e),r(this,`error`,void 0),this.error=e}};function Jr(e){return e instanceof Z?e.error:e&&e.name===`QuotaExceededError`?`STORAGE`:`UNKNOWN`}let Yr=e=>e;function Xr(e,t){return new Promise((n,r)=>{let i=setTimeout(()=>r(new Z(`TIMEOUT`)),t);e.then(e=>{clearTimeout(i),n(e)},e=>{clearTimeout(i),r(e)})})}async function Zr(e,t=3e4){let n;try{n=await Xr(fetch(Yr(e),{credentials:`omit`}),t)}catch(e){throw e instanceof Z?e:new Z(`NETWORK`,String(e))}if(n.ok)return n;throw n.status===401||n.status===403?new Z(`AUTH`):n.status===404?new Z(`NOT_FOUND`):n.status>=500?new Z(`SERVER`,String(n.status)):new Z(`NETWORK`,String(n.status))}async function Qr(e,t,n=6e4){let r=new TextDecoder(`utf-8`),i=e.body.getReader(),a,o=[],s=(e,t)=>{let n=r.decode(e,{stream:!t});n&&o.push(n)};try{for(;;){let{done:e,value:r}=await Xr(i.read(),n);a===void 0&&r&&r.length&&(a=r[0]===31&&r[1]===139?new Kr((e,t)=>s(e,t)):null),e?a?a.push(/* @__PURE__ */ new Uint8Array,!0):s(/* @__PURE__ */ new Uint8Array,!0):a?a.push(r):s(r,!1);let c=o;o=[];for(let e of c)if(await t(e)===!1){i.cancel();return}if(e)return}}catch(e){throw i.cancel(),e instanceof Z?e:new Z(`NETWORK`,String(e))}}function $r(e){let t=``;return{push(n){let r=(t+n).split(`
7
+ From previous: `);return this._state!==null&&(this._stack=e),e}finally{We=!1}}},timeout:function(e,t){return e<1/0?new N(((n,r)=>{var i=setTimeout((()=>r(new A.Timeout(t))),e);this.then(n,r).finally(clearTimeout.bind(null,i))})):this}}),typeof Symbol<`u`&&Symbol.toStringTag&&h(N.prototype,Symbol.toStringTag,`Dexie.Promise`),$e.env=Dt(),p(N,{all:function(){var e=D.apply(null,arguments).map(wt);return new N((function(t,n){e.length===0&&t([]);var r=e.length;e.forEach(((i,a)=>N.resolve(i).then((n=>{e[a]=n,--r||t(e)}),n)))}))},resolve:e=>{if(e instanceof N)return e;if(e&&typeof e.then==`function`)return new N(((t,n)=>{e.then(t,n)}));var t=new N(Le,!0,e);return dt(t,Ze),t},reject:gt,race:function(){var e=D.apply(null,arguments).map(wt);return new N(((t,n)=>{e.map((e=>N.resolve(e).then(t,n)))}))},PSD:{get:()=>M,set:e=>M=e},totalEchoes:{get:()=>bt},newPSD:St,usePSD:Ot,scheduler:{get:()=>Ke,set:e=>{Ke=e}},rejectionMapper:{get:()=>Qe,set:e=>{Qe=e}},follow:(e,t)=>new N(((n,r)=>St(((t,n)=>{var r=M;r.unhandleds=[],r.onunhandled=n,r.finalize=je((function(){(function(e){function t(){e(),nt.splice(nt.indexOf(t),1)}nt.push(t),++tt,Ke((()=>{--tt==0&&ht()}),[])})((()=>{this.unhandleds.length===0?t():n(this.unhandleds[0])}))}),r.finalize),e()}),t,n,r)))}),He&&(He.allSettled&&h(N,`allSettled`,(function(){let e=D.apply(null,arguments).map(wt);return new N((t=>{e.length===0&&t([]);let n=e.length,r=Array(n);e.forEach(((e,i)=>N.resolve(e).then((e=>r[i]={status:`fulfilled`,value:e}),(e=>r[i]={status:`rejected`,reason:e})).then((()=>--n||t(r)))))}))})),He.any&&typeof AggregateError<`u`&&h(N,`any`,(function(){let e=D.apply(null,arguments).map(wt);return new N(((t,n)=>{e.length===0&&n(/* @__PURE__ */ AggregateError([]));let r=e.length,i=Array(r);e.forEach(((e,a)=>N.resolve(e).then((e=>t(e)),(e=>{i[a]=e,--r||n(AggregateError(i))}))))}))})));let F={awaits:0,echoes:0,id:0};var _t=0,vt=[],yt=0,bt=0,xt=0;function St(e,t,n,r){var i=M,a=Object.create(i);a.parent=i,a.ref=0,a.global=!1,a.id=++xt;var o=$e.env;a.env=Ue?{Promise:N,PromiseProp:{value:N,configurable:!0,writable:!0},all:N.all,race:N.race,allSettled:N.allSettled,any:N.any,resolve:N.resolve,reject:N.reject,nthen:jt(o.nthen,a),gthen:jt(o.gthen,a)}:{},t&&l(a,t),++i.ref,a.finalize=function(){--this.parent.ref||this.parent.finalize()};var s=Ot(a,e,n,r);return a.ref===0&&a.finalize(),s}function Ct(){return F.id||(F.id=++_t),++F.awaits,F.echoes+=100,F.id}function I(){return!!F.awaits&&(--F.awaits==0&&(F.id=0),F.echoes=F.awaits*100,!0)}function wt(e){return F.echoes&&e&&e.constructor===He?(Ct(),e.then((e=>(I(),e)),(e=>(I(),R(e))))):e}function Tt(e){++bt,F.echoes&&--F.echoes!=0||(F.echoes=F.id=0),vt.push(M),L(e,!0)}function Et(){var e=vt[vt.length-1];vt.pop(),L(e,!1)}function L(e,t){var n=M;if((t?!F.echoes||yt++&&e===M:!yt||--yt&&e===M)||kt(t?Tt.bind(null,e):Et),e!==M&&(M=e,n===$e&&($e.env=Dt()),Ue)){var r=$e.env.Promise,i=e.env;ze.then=i.nthen,r.prototype.then=i.gthen,(n.global||e.global)&&(Object.defineProperty(o,"Promise",i.PromiseProp),r.all=i.all,r.race=i.race,r.resolve=i.resolve,r.reject=i.reject,i.allSettled&&(r.allSettled=i.allSettled),i.any&&(r.any=i.any))}}function Dt(){var e=o.Promise;return Ue?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(o,`Promise`),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject,nthen:ze.then,gthen:e.prototype.then}:{}}function Ot(e,t,n,r,i){var a=M;try{return L(e,!0),t(n,r,i)}finally{L(a,!1)}}function kt(e){Ve.call(Re,e)}function At(e,t,n,r){return typeof e==`function`?function(){var i=M;n&&Ct(),L(t,!0);try{return e.apply(this,arguments)}finally{L(i,!1),r&&kt(I)}}:e}function jt(e,t){return function(n,r){return e.call(this,At(n,t),At(r,t))}}(``+Ve).indexOf(`[native code]`)===-1&&(Ct=I=j);let Mt=`unhandledrejection`;function Nt(e,t){var n;try{n=t.onuncatched(e)}catch(e){}if(!1!==n)try{var r,i={promise:t,reason:e};if(o.document&&document.createEvent?((r=document.createEvent(`Event`)).initEvent(Mt,!0,!0),l(r,i)):o.CustomEvent&&l(r=new CustomEvent(Mt,{detail:i}),i),r&&o.dispatchEvent&&(dispatchEvent(r),!o.PromiseRejectionEvent&&o.onunhandledrejection))try{o.onunhandledrejection(r)}catch(e){}O&&r&&!r.defaultPrevented&&console.warn(`Unhandled rejection: ${e.stack||e}`)}catch(e){}}var R=N.reject;function Pt(e,t,n,r){if(e.idbdb&&(e._state.openComplete||M.letThrough||e._vip)){var i=e._createTransaction(t,n,e._dbSchema);try{i.create(),e._state.PR1398_maxLoop=3}catch(i){return i.name===Te.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(console.warn(`Dexie: Need to reopen db`),e._close(),e.open().then((()=>Pt(e,t,n,r)))):R(i)}return i._promise(t,((e,t)=>St((()=>(M.trans=i,r(e,t,i)))))).then((e=>i._completion.then((()=>e))))}if(e._state.openComplete)return R(new A.DatabaseClosed(e._state.dbOpenError));if(!e._state.isBeingOpened){if(!e._options.autoOpen)return R(new A.DatabaseClosed);e.open().catch(j)}return e._state.dbReadyPromise.then((()=>Pt(e,t,n,r)))}let Ft=`3.2.7`,It=-1/0,z=`Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.`,Lt=`String expected.`,Rt=[],zt=typeof navigator<`u`&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),Bt=zt,Vt=zt,Ht=e=>!/(dexie\.js|dexie\.min\.js)/.test(e),Ut=`__dbnames`,Wt=`readonly`,Gt=`readwrite`;function Kt(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}let qt={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Jt(e){return typeof e!=`string`||/\./.test(e)?e=>e:t=>(t[e]===void 0&&e in t&&delete(t=T(t))[e],t)}var Yt=class{_trans(e,t,n){let r=this._tx||M.trans,i=this.name;function a(e,n,r){if(!r.schema[i])throw new A.NotFound(`Table `+i+` not part of transaction`);return t(r.idbtrans,r)}let o=pt();try{return r&&r.db===this.db?r===M.trans?r._promise(e,a,n):St((()=>r._promise(e,a,n)),{trans:r,transless:M.transless||M}):Pt(this.db,e,[this.name],a)}finally{o&&mt()}}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(typeof e==`string`)return new this.db.WhereClause(this,e);if(c(e))return new this.db.WhereClause(this,`[${e.join(`+`)}]`);let t=s(e);if(t.length===1)return this.where(t[0]).equals(e[t[0]]);let n=this.schema.indexes.concat(this.schema.primKey).filter((e=>{if(e.compound&&t.every((t=>e.keyPath.indexOf(t)>=0))){for(let n=0;n<t.length;++n)if(t.indexOf(e.keyPath[n])===-1)return!1;return!0}return!1})).sort(((e,t)=>e.keyPath.length-t.keyPath.length))[0];if(n&&this.db._maxKey!==`￿`){let r=n.keyPath.slice(0,t.length);return this.where(r).equals(r.map((t=>e[t])))}!n&&O&&console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${t.join(`+`)}]`);let{idxByName:r}=this.schema,i=this.db._deps.indexedDB;function a(e,t){try{return i.cmp(e,t)===0}catch(e){return!1}}let[o,l]=t.reduce((([t,n],i)=>{let o=r[i],s=e[i];return[t||o,t||!o?Kt(n,o&&o.multi?e=>{let t=x(e,i);return c(t)&&t.some((e=>a(s,e)))}:e=>a(s,x(e,i))):n]}),[null,null]);return o?this.where(o.name).equals(e[o.keyPath]).filter(l):n?this.filter(l):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,c(e)?`[${e.join(`+`)}]`:e))}reverse(){return this.toCollection().reverse()}mapToClass(e){this.schema.mappedClass=e;let t=t=>{if(!t)return t;let n=Object.create(e.prototype);for(var r in t)if(f(t,r))try{n[r]=t[r]}catch(e){}return n};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){l(this,e)}))}add(e,t){let{auto:n,keyPath:r}=this.schema.primKey,i=e;return r&&n&&(i=Jt(r)(e)),this._trans(`readwrite`,(e=>this.core.mutate({trans:e,type:`add`,keys:t==null?null:[t],values:[i]}))).then((e=>e.numFailures?N.reject(e.failures[0]):e.lastResult)).then((t=>{if(r)try{S(e,r,t)}catch(e){}return t}))}update(e,t){if(typeof e!=`object`||c(e))return this.where(`:id`).equals(e).modify(t);{let n=x(e,this.schema.primKey.keyPath);if(n===void 0)return R(new A.InvalidArgument(`Given object does not contain its primary key`));try{typeof t==`function`?t(e,{value:e,primKey:n}):s(t).forEach((n=>{S(e,n,t[n])}))}catch(e){}return this.where(`:id`).equals(n).modify(t)}}put(e,t){let{auto:n,keyPath:r}=this.schema.primKey,i=e;return r&&n&&(i=Jt(r)(e)),this._trans(`readwrite`,(e=>this.core.mutate({trans:e,type:`put`,values:[i],keys:t==null?null:[t]}))).then((e=>e.numFailures?N.reject(e.failures[0]):e.lastResult)).then((t=>{if(r)try{S(e,r,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?N.reject(e.failures[0]):void 0))}clear(){return this._trans(`readwrite`,(e=>this.core.mutate({trans:e,type:`deleteRange`,range:qt}))).then((e=>e.numFailures?N.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,n){let r=Array.isArray(t)?t:void 0,i=(n=n||(r?void 0:t))?n.allKeys:void 0;return this._trans(`readwrite`,(t=>{let{auto:n,keyPath:a}=this.schema.primKey;if(a&&r)throw new A.InvalidArgument(`bulkAdd(): keys argument invalid on tables with inbound keys`);if(r&&r.length!==e.length)throw new A.InvalidArgument(`Arguments objects and keys must have the same length`);let o=e.length,s=a&&n?e.map(Jt(a)):e;return this.core.mutate({trans:t,type:`add`,keys:r,values:s,wantResults:i}).then((({numFailures:e,results:t,lastResult:n,failures:r})=>{if(e===0)return i?t:n;throw new we(`${this.name}.bulkAdd(): ${e} of ${o} operations failed`,r)}))}))}bulkPut(e,t,n){let r=Array.isArray(t)?t:void 0,i=(n=n||(r?void 0:t))?n.allKeys:void 0;return this._trans(`readwrite`,(t=>{let{auto:n,keyPath:a}=this.schema.primKey;if(a&&r)throw new A.InvalidArgument(`bulkPut(): keys argument invalid on tables with inbound keys`);if(r&&r.length!==e.length)throw new A.InvalidArgument(`Arguments objects and keys must have the same length`);let o=e.length,s=a&&n?e.map(Jt(a)):e;return this.core.mutate({trans:t,type:`put`,keys:r,values:s,wantResults:i}).then((({numFailures:e,results:t,lastResult:n,failures:r})=>{if(e===0)return i?t:n;throw new we(`${this.name}.bulkPut(): ${e} of ${o} operations failed`,r)}))}))}bulkDelete(e){let t=e.length;return this._trans(`readwrite`,(t=>this.core.mutate({trans:t,type:`delete`,keys:e}))).then((({numFailures:e,lastResult:n,failures:r})=>{if(e===0)return n;throw new we(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`,r)}))}};function Xt(e){var t={},n=function(n,r){if(r){for(var i=arguments.length,a=Array(i-1);--i;)a[i-1]=arguments[i];return t[n].subscribe.apply(null,a),e}if(typeof n==`string`)return t[n]};n.addEventType=a;for(var r=1,i=arguments.length;r<i;++r)a(arguments[r]);return n;function a(e,r,i){if(typeof e!=`object`){var o;r||(r=Fe),i||(i=j);var l={subscribers:[],fire:i,subscribe:function(e){l.subscribers.indexOf(e)===-1&&(l.subscribers.push(e),l.fire=r(l.fire,e))},unsubscribe:function(e){l.subscribers=l.subscribers.filter((function(t){return t!==e})),l.fire=l.subscribers.reduce(r,i)}};return t[e]=n[e]=l,l}s(o=e).forEach((function(e){var t=o[e];if(c(t))a(e,o[e][0],o[e][1]);else{if(t!==`asap`)throw new A.InvalidArgument(`Invalid event config`);var n=a(e,ke,(function(){for(var e=arguments.length,t=Array(e);e--;)t[e]=arguments[e];n.subscribers.forEach((function(e){ne((function(){e.apply(null,t)}))}))}))}}))}}function Zt(e,t){return g(t).from({prototype:e}),t}function Qt(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function $t(e,t){e.filter=Kt(e.filter,t)}function en(e,t,n){var r=e.replayFilter;e.replayFilter=r?()=>Kt(r(),t()):t,e.justLimit=n&&!r}function tn(e,t){if(e.isPrimKey)return t.primaryKey;let n=t.getIndexByKeyPath(e.index);if(!n)throw new A.Schema(`KeyPath `+e.index+` on object store `+t.name+` is not indexed`);return n}function nn(e,t,n){let r=tn(e,t.schema);return t.openCursor({trans:n,values:!e.keysOnly,reverse:e.dir===`prev`,unique:!!e.unique,query:{index:r,range:e.range}})}function rn(e,t,n,r){let i=e.replayFilter?Kt(e.filter,e.replayFilter()):e.filter;if(e.or){let a={},o=(e,n,r)=>{if(!i||i(n,r,(e=>n.stop(e)),(e=>n.fail(e)))){var o=n.primaryKey,s=``+o;s===`[object ArrayBuffer]`&&(s=``+new Uint8Array(o)),f(a,s)||(a[s]=!0,t(e,n,r))}};return Promise.all([e.or._iterate(o,n),an(nn(e,r,n),e.algorithm,o,!e.keysOnly&&e.valueMapper)])}return an(nn(e,r,n),Kt(e.algorithm,i),t,!e.keysOnly&&e.valueMapper)}function an(e,t,n,r){var i=P(r?(e,t,i)=>n(r(e),t,i):n);return e.then((e=>{if(e)return e.start((()=>{var n=()=>e.continue();t&&!t(e,(e=>n=e),(t=>{e.stop(t),n=j}),(t=>{e.fail(t),n=j}))||i(e.value,e,(e=>n=e)),n()}))}))}function B(e,t){try{let n=on(e),r=on(t);if(n!==r)return n===`Array`?1:r===`Array`?-1:n===`binary`?1:r===`binary`?-1:n===`string`?1:r===`string`?-1:n===`Date`?1:r===`Date`?-1:NaN;switch(n){case`number`:case`Date`:case`string`:return e>t?1:e<t?-1:0;case`binary`:return function(e,t){let n=e.length,r=t.length,i=n<r?n:r;for(let n=0;n<i;++n)if(e[n]!==t[n])return e[n]<t[n]?-1:1;return n===r?0:n<r?-1:1}(sn(e),sn(t));case`Array`:return function(e,t){let n=e.length,r=t.length,i=n<r?n:r;for(let n=0;n<i;++n){let r=B(e[n],t[n]);if(r!==0)return r}return n===r?0:n<r?-1:1}(e,t)}}catch(e){}return NaN}function on(e){let t=typeof e;if(t!==`object`)return t;if(ArrayBuffer.isView(e))return`binary`;let n=ue(e);return n===`ArrayBuffer`?`binary`:n}function sn(e){return e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}var cn=class{_read(e,t){var n=this._ctx;return n.error?n.table._trans(null,R.bind(null,n.error)):n.table._trans(`readonly`,e).then(t)}_write(e){var t=this._ctx;return t.error?t.table._trans(null,R.bind(null,t.error)):t.table._trans(`readwrite`,e,`locked`)}_addAlgorithm(e){var t=this._ctx;t.algorithm=Kt(t.algorithm,e)}_iterate(e,t){return rn(this._ctx,e,t,this._ctx.table.core)}clone(e){var t=Object.create(this.constructor.prototype),n=Object.create(this._ctx);return e&&l(n,e),t._ctx=n,t}raw(){return this._ctx.valueMapper=null,this}each(e){var t=this._ctx;return this._read((n=>rn(t,e,n,t.table.core)))}count(e){return this._read((e=>{let t=this._ctx,n=t.table.core;if(Qt(t,!0))return n.count({trans:e,query:{index:tn(t,n.schema),range:t.range}}).then((e=>Math.min(e,t.limit)));var r=0;return rn(t,(()=>(++r,!1)),e,n).then((()=>r))})).then(e)}sortBy(e,t){let n=e.split(`.`).reverse(),r=n[0],i=n.length-1;function a(e,t){return t?a(e[n[t]],t-1):e[r]}var o=this._ctx.dir===`next`?1:-1;function s(e,t){var n=a(e,i),r=a(t,i);return n<r?-o:n>r?o:0}return this.toArray((function(e){return e.sort(s)})).then(t)}toArray(e){return this._read((e=>{var t=this._ctx;if(t.dir===`next`&&Qt(t,!0)&&t.limit>0){let{valueMapper:n}=t,r=tn(t,t.table.core.schema);return t.table.core.query({trans:e,limit:t.limit,values:!0,query:{index:r,range:t.range}}).then((({result:e})=>n?e.map(n):e))}{let n=[];return rn(t,(e=>n.push(e)),e,t.table.core).then((()=>n))}}),e)}offset(e){var t=this._ctx;return e<=0||(t.offset+=e,Qt(t)?en(t,(()=>{var t=e;return(e,n)=>t===0||(t===1?(--t,!1):(n((()=>{e.advance(t),t=0})),!1))})):en(t,(()=>{var t=e;return()=>--t<0}))),this}limit(e){return this._ctx.limit=Math.min(this._ctx.limit,e),en(this._ctx,(()=>{var t=e;return function(e,n,r){return--t<=0&&n(r),t>=0}}),!0),this}until(e,t){return $t(this._ctx,(function(n,r,i){return!e(n.value)||(r(i),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,n;return $t(this._ctx,(function(t){return e(t.value)})),t=this._ctx,n=e,t.isMatch=Kt(t.isMatch,n),this}and(e){return this.filter(e)}or(e){return new this.db.WhereClause(this._ctx.table,e,this)}reverse(){return this._ctx.dir=this._ctx.dir===`prev`?`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,n){e(n.key,n)}))}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,n){e(n.primaryKey,n)}))}keys(e){var t=this._ctx;t.keysOnly=!t.isMatch;var n=[];return this.each((function(e,t){n.push(t.key)})).then((function(){return n})).then(e)}primaryKeys(e){var t=this._ctx;if(t.dir===`next`&&Qt(t,!0)&&t.limit>0)return this._read((e=>{var n=tn(t,t.table.core.schema);return t.table.core.query({trans:e,values:!1,limit:t.limit,query:{index:n,range:t.range}})})).then((({result:e})=>e)).then(e);t.keysOnly=!t.isMatch;var n=[];return this.each((function(e,t){n.push(t.primaryKey)})).then((function(){return n})).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 n={};return $t(this._ctx,(function(e){var t=e.primaryKey.toString(),r=f(n,t);return n[t]=!0,!r})),this}modify(e){var t=this._ctx;return this._write((n=>{var r;if(typeof e==`function`)r=e;else{var i=s(e),a=i.length;r=function(t){for(var n=!1,r=0;r<a;++r){var o=i[r],s=e[o];x(t,o)!==s&&(S(t,o,s),n=!0)}return n}}let o=t.table.core,{outbound:c,extractKey:l}=o.schema.primaryKey,u=this.db._options.modifyChunkSize||200,d=[],f=0,p=[],m=(e,t)=>{let{failures:n,numFailures:r}=t;f+=e-r;for(let e of s(n))d.push(n[e])};return this.clone().primaryKeys().then((i=>{let a=s=>{let d=Math.min(u,i.length-s);return o.getMany({trans:n,keys:i.slice(s,s+d),cache:`immutable`}).then((f=>{let p=[],h=[],g=c?[]:null,_=[];for(let e=0;e<d;++e){let t=f[e],n={value:T(t),primKey:i[s+e]};!1!==r.call(n,n.value,n)&&(n.value==null?_.push(i[s+e]):c||B(l(t),l(n.value))===0?(h.push(n.value),c&&g.push(i[s+e])):(_.push(i[s+e]),p.push(n.value)))}let v=Qt(t)&&t.limit===1/0&&(typeof e!=`function`||e===ln)&&{index:t.index,range:t.range};return Promise.resolve(p.length>0&&o.mutate({trans:n,type:`add`,values:p}).then((e=>{for(let t in e.failures)_.splice(parseInt(t),1);m(p.length,e)}))).then((()=>(h.length>0||v&&typeof e==`object`)&&o.mutate({trans:n,type:`put`,keys:g,values:h,criteria:v,changeSpec:typeof e!=`function`&&e}).then((e=>m(h.length,e))))).then((()=>(_.length>0||v&&e===ln)&&o.mutate({trans:n,type:`delete`,keys:_,criteria:v}).then((e=>m(_.length,e))))).then((()=>i.length>s+d&&a(s+u)))}))};return a(0).then((()=>{if(d.length>0)throw new Ce(`Error modifying one or more objects`,d,f,p);return i.length}))}))}))}delete(){var e=this._ctx,t=e.range;return Qt(e)&&(e.isPrimKey&&!Vt||t.type===3)?this._write((n=>{let{primaryKey:r}=e.table.core.schema,i=t;return e.table.core.count({trans:n,query:{index:r,range:i}}).then((t=>e.table.core.mutate({trans:n,type:`deleteRange`,range:i}).then((({failures:e,lastResult:n,results:r,numFailures:i})=>{if(i)throw new Ce(`Could not delete some values`,Object.keys(e).map((t=>e[t])),t-i);return t-i}))))})):this.modify(ln)}};let ln=(e,t)=>t.value=null;function un(e,t){return e<t?-1:e===t?0:1}function dn(e,t){return e>t?-1:e===t?0:1}function V(e,t,n){var r=e instanceof _n?new e.Collection(e):e;return r._ctx.error=n?new n(t):TypeError(t),r}function fn(e){return new e.Collection(e,(()=>gn(``))).limit(0)}function pn(e,t,n,r,i,a){for(var o=Math.min(e.length,r.length),s=-1,c=0;c<o;++c){var l=t[c];if(l!==r[c])return i(e[c],n[c])<0?e.substr(0,c)+n[c]+n.substr(c+1):i(e[c],r[c])<0?e.substr(0,c)+r[c]+n.substr(c+1):s>=0?e.substr(0,s)+t[s]+n.substr(s+1):null;i(e[c],l)<0&&(s=c)}return o<r.length&&a===`next`?e+n.substr(e.length):o<e.length&&a===`prev`?e.substr(0,n.length):s<0?null:e.substr(0,s)+r[s]+n.substr(s+1)}function mn(e,t,n,r){var i,a,o,s,c,l,u,d=n.length;if(!n.every((e=>typeof e==`string`)))return V(e,Lt);function f(e){i=function(e){return e===`next`?e=>e.toUpperCase():e=>e.toLowerCase()}(e),a=function(e){return e===`next`?e=>e.toLowerCase():e=>e.toUpperCase()}(e),o=e===`next`?un:dn;var t=n.map((function(e){return{lower:a(e),upper:i(e)}})).sort((function(e,t){return o(e.lower,t.lower)}));s=t.map((function(e){return e.upper})),c=t.map((function(e){return e.lower})),l=e,u=e===`next`?``:r}f(`next`);var p=new e.Collection(e,(()=>hn(s[0],c[d-1]+r)));p._ondirectionchange=function(e){f(e)};var m=0;return p._addAlgorithm((function(e,n,r){var i=e.key;if(typeof i!=`string`)return!1;var f=a(i);if(t(f,c,m))return!0;for(var p=null,h=m;h<d;++h){var g=pn(i,f,s[h],c[h],o,l);g===null&&p===null?m=h+1:(p===null||o(p,g)>0)&&(p=g)}return n(p===null?r:function(){e.continue(p+u)}),!1})),p}function hn(e,t,n,r){return{type:2,lower:e,upper:t,lowerOpen:n,upperOpen:r}}function gn(e){return{type:1,lower:e,upper:e}}var _n=class{get Collection(){return this._ctx.table.db.Collection}between(e,t,n,r){n=!1!==n,r=!0===r;try{return this._cmp(e,t)>0||this._cmp(e,t)===0&&(n||r)&&(!n||!r)?fn(this):new this.Collection(this,(()=>hn(e,t,!n,!r)))}catch(e){return V(this,z)}}equals(e){return e==null?V(this,z):new this.Collection(this,(()=>gn(e)))}above(e){return e==null?V(this,z):new this.Collection(this,(()=>hn(e,void 0,!0)))}aboveOrEqual(e){return e==null?V(this,z):new this.Collection(this,(()=>hn(e,void 0,!1)))}below(e){return e==null?V(this,z):new this.Collection(this,(()=>hn(void 0,e,!1,!0)))}belowOrEqual(e){return e==null?V(this,z):new this.Collection(this,(()=>hn(void 0,e)))}startsWith(e){return typeof e==`string`?this.between(e,e+`￿`,!0,!0):V(this,Lt)}startsWithIgnoreCase(e){return e===``?this.startsWith(e):mn(this,((e,t)=>e.indexOf(t[0])===0),[e],`￿`)}equalsIgnoreCase(e){return mn(this,((e,t)=>e===t[0]),[e],``)}anyOfIgnoreCase(){var e=D.apply(E,arguments);return e.length===0?fn(this):mn(this,((e,t)=>t.indexOf(e)!==-1),e,``)}startsWithAnyOfIgnoreCase(){var e=D.apply(E,arguments);return e.length===0?fn(this):mn(this,((e,t)=>t.some((t=>e.indexOf(t)===0))),e,`￿`)}anyOf(){let e=D.apply(E,arguments),t=this._cmp;try{e.sort(t)}catch(e){return V(this,z)}if(e.length===0)return fn(this);let n=new this.Collection(this,(()=>hn(e[0],e[e.length-1])));n._ondirectionchange=n=>{t=n===`next`?this._ascending:this._descending,e.sort(t)};let r=0;return n._addAlgorithm(((n,i,a)=>{let o=n.key;for(;t(o,e[r])>0;)if(++r,r===e.length)return i(a),!1;return t(o,e[r])===0||(i((()=>{n.continue(e[r])})),!1)})),n}notEqual(e){return this.inAnyRange([[It,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})}noneOf(){let e=D.apply(E,arguments);if(e.length===0)return new this.Collection(this);try{e.sort(this._ascending)}catch(e){return V(this,z)}let t=e.reduce(((e,t)=>e?e.concat([[e[e.length-1][1],t]]):[[It,t]]),null);return t.push([e[e.length-1],this.db._maxKey]),this.inAnyRange(t,{includeLowers:!1,includeUppers:!1})}inAnyRange(e,t){let n=this._cmp,r=this._ascending,i=this._descending,a=this._min,o=this._max;if(e.length===0)return fn(this);if(!e.every((e=>e[0]!==void 0&&e[1]!==void 0&&r(e[0],e[1])<=0)))return V(this,`First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower`,A.InvalidArgument);let s=!t||!1!==t.includeLowers,c=t&&!0===t.includeUppers,l,u=r;function d(e,t){return u(e[0],t[0])}try{l=e.reduce((function(e,t){let r=0,i=e.length;for(;r<i;++r){let i=e[r];if(n(t[0],i[1])<0&&n(t[1],i[0])>0){i[0]=a(i[0],t[0]),i[1]=o(i[1],t[1]);break}}return r===i&&e.push(t),e}),[]),l.sort(d)}catch(e){return V(this,z)}let f=0,p=c?e=>r(e,l[f][1])>0:e=>r(e,l[f][1])>=0,m=s?e=>i(e,l[f][0])>0:e=>i(e,l[f][0])>=0,h=p,g=new this.Collection(this,(()=>hn(l[0][0],l[l.length-1][1],!s,!c)));return g._ondirectionchange=e=>{e===`next`?(h=p,u=r):(h=m,u=i),l.sort(d)},g._addAlgorithm(((e,t,n)=>{for(var i=e.key;h(i);)if(++f,f===l.length)return t(n),!1;return!!function(e){return!p(e)&&!m(e)}(i)||(this._cmp(i,l[f][1])===0||this._cmp(i,l[f][0])===0||t((()=>{u===r?e.continue(l[f][0]):e.continue(l[f][1])})),!1)})),g}startsWithAnyOf(){let e=D.apply(E,arguments);return e.every((e=>typeof e==`string`))?e.length===0?fn(this):this.inAnyRange(e.map((e=>[e,e+`￿`]))):V(this,`startsWithAnyOf() only works with strings`)}};function H(e){return P((function(t){return vn(t),e(t.target.error),!1}))}function vn(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}let yn=`storagemutated`,bn=`x-storagemutated-1`,xn=Xt(null,yn);var Sn=class{_lock(){return te(!M.global),++this._reculock,this._reculock!==1||M.global||(M.lockOwnerFor=this),this}_unlock(){if(te(!M.global),--this._reculock==0)for(M.global||(M.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var e=this._blockedFuncs.shift();try{Ot(e[1],e[0])}catch(e){}}return this}_locked(){return this._reculock&&M.lockOwnerFor!==this}create(e){if(!this.mode)return this;let t=this.db.idbdb,n=this.db._state.dbOpenError;if(te(!this.idbtrans),!e&&!t)switch(n&&n.name){case`DatabaseClosedError`:throw new A.DatabaseClosed(n);case`MissingAPIError`:throw new A.MissingAPI(n.message,n);default:throw new A.OpenFailed(n)}if(!this.active)throw new A.TransactionInactive;return te(this._completion._state===null),(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=P((t=>{vn(t),this._reject(e.error)})),e.onabort=P((t=>{vn(t),this.active&&this._reject(new A.Abort(e.error)),this.active=!1,this.on(`abort`).fire(t)})),e.oncomplete=P((()=>{this.active=!1,this._resolve(),`mutatedParts`in e&&xn.storagemutated.fire(e.mutatedParts)})),this}_promise(e,t,n){if(e===`readwrite`&&this.mode!==`readwrite`)return R(new A.ReadOnly(`Transaction is readonly`));if(!this.active)return R(new A.TransactionInactive);if(this._locked())return new N(((r,i)=>{this._blockedFuncs.push([()=>{this._promise(e,t,n).then(r,i)},M])}));if(n)return St((()=>{var e=new N(((e,n)=>{this._lock();let r=t(e,n,this);r&&r.then&&r.then(e,n)}));return e.finally((()=>this._unlock())),e._lib=!0,e}));var r=new N(((e,n)=>{var r=t(e,n,this);r&&r.then&&r.then(e,n)}));return r._lib=!0,r}_root(){return this.parent?this.parent._root():this}waitFor(e){var t=this._root();let n=N.resolve(e);if(t._waitingFor)t._waitingFor=t._waitingFor.then((()=>n));else{t._waitingFor=n,t._waitingQueue=[];var r=t.idbtrans.objectStore(t.storeNames[0]);(function e(){for(++t._spinCount;t._waitingQueue.length;)t._waitingQueue.shift()();t._waitingFor&&(r.get(-1/0).onsuccess=e)})()}var i=t._waitingFor;return new N(((e,r)=>{n.then((n=>t._waitingQueue.push(P(e.bind(null,n)))),(e=>t._waitingQueue.push(P(r.bind(null,e))))).finally((()=>{t._waitingFor===i&&(t._waitingFor=null)}))}))}abort(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new A.Abort))}table(e){let t=this._memoizedTables||(this._memoizedTables={});if(f(t,e))return t[e];let n=this.schema[e];if(!n)throw new A.NotFound(`Table `+e+` not part of transaction`);let r=new this.db.Table(e,n,this);return r.core=this.db.core.table(e),t[e]=r,r}};function Cn(e,t,n,r,i,a,o){return{name:e,keyPath:t,unique:n,multi:r,auto:i,compound:a,src:(n&&!o?`&`:``)+(r?`*`:``)+(i?`++`:``)+wn(t)}}function wn(e){return typeof e==`string`?e:e?`[`+[].join.call(e,`+`)+`]`:``}function Tn(e,t,n){return{name:e,primKey:t,indexes:n,mappedClass:null,idxByName:re(n,(e=>[e.name,e]))}}let En=e=>{try{return e.only([[]]),En=()=>[[]],[[]]}catch(e){return En=()=>`￿`,`￿`}};function Dn(e){return e==null?()=>{}:typeof e==`string`?function(e){return e.split(`.`).length===1?t=>t[e]:t=>x(t,e)}(e):t=>x(t,e)}function On(e){return[].slice.call(e)}let kn=0;function An(e){return e==null?`:id`:typeof e==`string`?e:`[${e.join(`+`)}]`}function jn(e,t,n){function r(e){if(e.type===3)return null;if(e.type===4)throw Error(`Cannot convert never type to IDBKeyRange`);let{lower:n,upper:r,lowerOpen:i,upperOpen:a}=e;return n===void 0?r===void 0?null:t.upperBound(r,!!a):r===void 0?t.lowerBound(n,!!i):t.bound(n,r,!!i,!!a)}let{schema:i,hasGetAll:a}=function(e,t){let n=On(e.objectStoreNames);return{schema:{name:e.name,tables:n.map((e=>t.objectStore(e))).map((e=>{let{keyPath:t,autoIncrement:n}=e,r=c(t),i=t==null,a={},o={name:e.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:i,compound:r,keyPath:t,autoIncrement:n,unique:!0,extractKey:Dn(t)},indexes:On(e.indexNames).map((t=>e.index(t))).map((e=>{let{name:t,unique:n,multiEntry:r,keyPath:i}=e,o={name:t,compound:c(i),keyPath:i,unique:n,multiEntry:r,extractKey:Dn(i)};return a[An(i)]=o,o})),getIndexByKeyPath:e=>a[An(e)]};return a[`:id`]=o.primaryKey,t!=null&&(a[An(t)]=o.primaryKey),o}))},hasGetAll:n.length>0&&`getAll`in t.objectStore(n[0])&&!(typeof navigator<`u`&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}}(e,n),o=i.tables.map((e=>function(e){let t=e.name;return{name:t,schema:e,mutate:function({trans:e,type:n,keys:i,values:a,range:o}){return new Promise(((s,c)=>{s=P(s);let l=e.objectStore(t),u=l.keyPath==null,d=n===`put`||n===`add`;if(!d&&n!==`delete`&&n!==`deleteRange`)throw Error(`Invalid operation type: `+n);let{length:f}=i||a||{length:1};if(i&&a&&i.length!==a.length)throw Error(`Given keys array must have same length as given values array.`);if(f===0)return s({numFailures:0,failures:{},results:[],lastResult:void 0});let p,m=[],h=[],g=0,_=e=>{++g,vn(e)};if(n===`deleteRange`){if(o.type===4)return s({numFailures:g,failures:h,results:[],lastResult:void 0});o.type===3?m.push(p=l.clear()):m.push(p=l.delete(r(o)))}else{let[e,t]=d?u?[a,i]:[a,null]:[i,null];if(d)for(let r=0;r<f;++r)m.push(p=t&&t[r]!==void 0?l[n](e[r],t[r]):l[n](e[r])),p.onerror=_;else for(let t=0;t<f;++t)m.push(p=l[n](e[t])),p.onerror=_}let v=e=>{let t=e.target.result;m.forEach(((e,t)=>e.error!=null&&(h[t]=e.error))),s({numFailures:g,failures:h,results:n===`delete`?i:m.map((e=>e.result)),lastResult:t})};p.onerror=e=>{_(e),v(e)},p.onsuccess=v}))},getMany:({trans:e,keys:n})=>new Promise(((r,i)=>{r=P(r);let a=e.objectStore(t),o=n.length,s=Array(o),c,l=0,u=0,d=e=>{let t=e.target;s[t._pos]=t.result,++u===l&&r(s)},f=H(i);for(let e=0;e<o;++e)n[e]!=null&&(c=a.get(n[e]),c._pos=e,c.onsuccess=d,c.onerror=f,++l);l===0&&r(s)})),get:({trans:e,key:n})=>new Promise(((r,i)=>{r=P(r);let a=e.objectStore(t).get(n);a.onsuccess=e=>r(e.target.result),a.onerror=H(i)})),query:function(e){return n=>new Promise(((i,a)=>{i=P(i);let{trans:o,values:s,limit:c,query:l}=n,u=c===1/0?void 0:c,{index:d,range:f}=l,p=o.objectStore(t),m=d.isPrimaryKey?p:p.index(d.name),h=r(f);if(c===0)return i({result:[]});if(e){let e=s?m.getAll(h,u):m.getAllKeys(h,u);e.onsuccess=e=>i({result:e.target.result}),e.onerror=H(a)}else{let e=0,t=s||!(`openKeyCursor`in m)?m.openCursor(h):m.openKeyCursor(h),n=[];t.onsuccess=r=>{let a=t.result;return a?(n.push(s?a.value:a.primaryKey),++e===c?i({result:n}):void a.continue()):i({result:n})},t.onerror=H(a)}}))}(a),openCursor:function({trans:e,values:n,query:i,reverse:a,unique:o}){return new Promise(((s,c)=>{s=P(s);let{index:l,range:u}=i,d=e.objectStore(t),f=l.isPrimaryKey?d:d.index(l.name),p=a?o?`prevunique`:`prev`:o?`nextunique`:`next`,m=n||!(`openKeyCursor`in f)?f.openCursor(r(u),p):f.openKeyCursor(r(u),p);m.onerror=H(c),m.onsuccess=P((t=>{let n=m.result;if(!n)return void s(null);n.___id=++kn,n.done=!1;let r=n.continue.bind(n),i=n.continuePrimaryKey;i&&(i=i.bind(n));let a=n.advance.bind(n),o=()=>{throw Error(`Cursor not stopped`)};n.trans=e,n.stop=n.continue=n.continuePrimaryKey=n.advance=()=>{throw Error(`Cursor not started`)},n.fail=P(c),n.next=function(){let e=1;return this.start((()=>e--?this.continue():this.stop())).then((()=>this))},n.start=e=>{let t=new Promise(((e,t)=>{e=P(e),m.onerror=H(t),n.fail=t,n.stop=t=>{n.stop=n.continue=n.continuePrimaryKey=n.advance=o,e(t)}})),s=()=>{if(m.result)try{e()}catch(e){n.fail(e)}else n.done=!0,n.start=()=>{throw Error(`Cursor behind last entry`)},n.stop()};return m.onsuccess=P((e=>{m.onsuccess=s,s()})),n.continue=r,n.continuePrimaryKey=i,n.advance=a,s(),t},s(n)}),c)}))},count({query:e,trans:n}){let{index:i,range:a}=e;return new Promise(((e,o)=>{let s=n.objectStore(t),c=i.isPrimaryKey?s:s.index(i.name),l=r(a),u=l?c.count(l):c.count();u.onsuccess=P((t=>e(t.target.result))),u.onerror=H(o)}))}}}(e))),s={};return o.forEach((e=>s[e.name]=e)),{stack:`dbcore`,transaction:e.transaction.bind(e),table(e){if(!s[e])throw Error(`Table '${e}' not found`);return s[e]},MIN_KEY:-1/0,MAX_KEY:En(t),schema:i}}function Mn({_novip:e},t){let n=t.db;e.core=function(e,t,{IDBKeyRange:n,indexedDB:r},i){return{dbcore:function(e,t){return t.reduce(((e,{create:t})=>a(a({},e),t(e))),e)}(jn(t,n,i),e.dbcore)}}(e._middlewares,n,e._deps,t).dbcore,e.tables.forEach((t=>{let n=t.name;e.core.schema.tables.some((e=>e.name===n))&&(t.core=e.core.table(n),e[n]instanceof e.Table&&(e[n].core=t.core))}))}function Nn({_novip:e},t,n,r){n.forEach((n=>{let i=r[n];t.forEach((t=>{let r=v(t,n);(!r||`value`in r&&r.value===void 0)&&(t===e.Transaction.prototype||t instanceof e.Transaction?h(t,n,{get(){return this.table(n)},set(e){m(this,n,{value:e,writable:!0,configurable:!0,enumerable:!0})}}):t[n]=new e.Table(n,i))}))}))}function Pn({_novip:e},t){t.forEach((t=>{for(let n in t)t[n]instanceof e.Table&&delete t[n]}))}function Fn(e,t){return e._cfg.version-t._cfg.version}function In(e,t,n,r){let i=e._dbSchema,a=e._createTransaction(`readwrite`,e._storeNames,i);a.create(n),a._completion.catch(r);let o=a._reject.bind(a),c=M.transless||M;St((()=>{M.trans=a,M.transless=c,t===0?(s(i).forEach((e=>{Rn(n,e,i[e].primKey,i[e].indexes)})),Mn(e,n),N.follow((()=>e.on.populate.fire(a))).catch(o)):function({_novip:e},t,n,r){let i=[],a=e._versions,o=e._dbSchema=Bn(e,e.idbdb,r),c=!1,l=a.filter((e=>e._cfg.version>=t));function u(){return i.length?N.resolve(i.shift()(n.idbtrans)).then(u):N.resolve()}return l.forEach((a=>{i.push((()=>{let i=o,l=a._cfg.dbschema;Vn(e,i,r),Vn(e,l,r),o=e._dbSchema=l;let u=Ln(i,l);u.add.forEach((e=>{Rn(r,e[0],e[1].primKey,e[1].indexes)})),u.change.forEach((e=>{if(e.recreate)throw new A.Upgrade(`Not yet support for changing primary key`);{let t=r.objectStore(e.name);e.add.forEach((e=>zn(t,e))),e.change.forEach((e=>{t.deleteIndex(e.name),zn(t,e)})),e.del.forEach((e=>t.deleteIndex(e)))}}));let d=a._cfg.contentUpgrade;if(d&&a._cfg.version>t){Mn(e,r),n._memoizedTables={},c=!0;let t=C(l);u.del.forEach((e=>{t[e]=i[e]})),Pn(e,[e.Transaction.prototype]),Nn(e,[e.Transaction.prototype],s(t),t),n.schema=t;let a=pe(d),o;a&&Ct();let f=N.follow((()=>{if(o=d(n),o&&a){var e=I.bind(null,null);o.then(e,e)}}));return o&&typeof o.then==`function`?N.resolve(o):f.then((()=>o))}})),i.push((t=>{c&&Bt||(function(e,t){[].slice.call(t.db.objectStoreNames).forEach((n=>e[n]==null&&t.db.deleteObjectStore(n)))})(a._cfg.dbschema,t),Pn(e,[e.Transaction.prototype]),Nn(e,[e.Transaction.prototype],e._storeNames,e._dbSchema),n.schema=e._dbSchema}))})),u().then((()=>{var e,t=r;s(e=o).forEach((n=>{t.db.objectStoreNames.contains(n)||Rn(t,n,e[n].primKey,e[n].indexes)}))}))}(e,t,a,n).catch(o)}))}function Ln(e,t){let n={del:[],add:[],change:[]},r;for(r in e)t[r]||n.del.push(r);for(r in t){let i=e[r],a=t[r];if(i){let e={name:r,def:a,recreate:!1,del:[],add:[],change:[]};if(``+(i.primKey.keyPath||``)!=``+(a.primKey.keyPath||``)||i.primKey.auto!==a.primKey.auto&&!zt)e.recreate=!0,n.change.push(e);else{let t=i.idxByName,r=a.idxByName,o;for(o in t)r[o]||e.del.push(o);for(o in r){let n=t[o],i=r[o];n?n.src!==i.src&&e.change.push(i):e.add.push(i)}(e.del.length>0||e.add.length>0||e.change.length>0)&&n.change.push(e)}}else n.add.push([r,a])}return n}function Rn(e,t,n,r){let i=e.db.createObjectStore(t,n.keyPath?{keyPath:n.keyPath,autoIncrement:n.auto}:{autoIncrement:n.auto});return r.forEach((e=>zn(i,e))),i}function zn(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function Bn(e,t,n){let r={};return b(t.objectStoreNames,0).forEach((e=>{let t=n.objectStore(e),i=t.keyPath,a=Cn(wn(i),i||``,!1,!1,!!t.autoIncrement,i&&typeof i!=`string`,!0),o=[];for(let e=0;e<t.indexNames.length;++e){let n=t.index(t.indexNames[e]);i=n.keyPath;var s=Cn(n.name,i,!!n.unique,!!n.multiEntry,!1,i&&typeof i!=`string`,!1);o.push(s)}r[e]=Tn(e,a,o)})),r}function Vn({_novip:e},t,n){let r=n.db.objectStoreNames;for(let i=0;i<r.length;++i){let a=r[i],o=n.objectStore(a);e._hasGetAll=`getAll`in o;for(let e=0;e<o.indexNames.length;++e){let n=o.indexNames[e],r=o.index(n).keyPath,i=typeof r==`string`?r:`[`+b(r).join(`+`)+`]`;if(t[a]){let e=t[a].idxByName[i];e&&(e.name=n,delete t[a].idxByName[i],t[a].idxByName[n]=e)}}}typeof navigator<`u`&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&o.WorkerGlobalScope&&o instanceof o.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(e._hasGetAll=!1)}var Hn=class{_parseStoresSpec(e,t){s(e).forEach((n=>{if(e[n]!==null){var r=e[n].split(`,`).map(((e,t)=>{let n=(e=e.trim()).replace(/([&*]|\+\+)/g,``),r=/^\[/.test(n)?n.match(/^\[(.*)\]$/)[1].split(`+`):n;return Cn(n,r||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),c(r),t===0)})),i=r.shift();if(i.multi)throw new A.Schema(`Primary key cannot be multi-valued`);r.forEach((e=>{if(e.auto)throw new A.Schema(`Only primary key can be marked as autoIncrement (++)`);if(!e.keyPath)throw new A.Schema(`Index must have a name and cannot be an empty string`)})),t[n]=Tn(n,i,r)}}))}stores(e){let t=this.db;this._cfg.storesSource=this._cfg.storesSource?l(this._cfg.storesSource,e):e;let n=t._versions,r={},i={};return n.forEach((e=>{l(r,e._cfg.storesSource),i=e._cfg.dbschema={},e._parseStoresSpec(r,i)})),t._dbSchema=i,Pn(t,[t._allTables,t,t.Transaction.prototype]),Nn(t,[t._allTables,t,t.Transaction.prototype,this._cfg.tables],s(i),i),t._storeNames=s(i),this}upgrade(e){return this._cfg.contentUpgrade=Ie(this._cfg.contentUpgrade||j,e),this}};function Un(e,t){let n=e._dbNamesDB;return n||(n=e._dbNamesDB=new dr(Ut,{addons:[],indexedDB:e,IDBKeyRange:t}),n.version(1).stores({dbnames:`name`})),n.table(`dbnames`)}function Wn(e){return e&&typeof e.databases==`function`}function Gn(e){return St((function(){return M.letThrough=!0,e()}))}function Kn(){var e;return!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise((function(t){var n=function(){return indexedDB.databases().finally(t)};e=setInterval(n,100),n()})).finally((function(){return clearInterval(e)})):Promise.resolve()}function qn(e){let t=e._state,{indexedDB:n}=e._deps;if(t.isBeingOpened||e.idbdb)return t.dbReadyPromise.then((()=>t.dbOpenError?R(t.dbOpenError):e));O&&(t.openCanceller._stackHolder=k()),t.isBeingOpened=!0,t.dbOpenError=null,t.openComplete=!1;let r=t.openCanceller;function i(){if(t.openCanceller!==r)throw new A.DatabaseClosed(`db.open() was cancelled`)}let a=t.dbReadyResolve,o=null,c=!1,l=()=>new N(((r,a)=>{if(i(),!n)throw new A.MissingAPI;let l=e.name,u=t.autoSchema?n.open(l):n.open(l,Math.round(10*e.verno));if(!u)throw new A.MissingAPI;u.onerror=H(a),u.onblocked=P(e._fireOnBlocked),u.onupgradeneeded=P((r=>{if(o=u.transaction,t.autoSchema&&!e._options.allowEmptyDB){u.onerror=vn,o.abort(),u.result.close();let e=n.deleteDatabase(l);e.onsuccess=e.onerror=P((()=>{a(new A.NoSuchDatabase(`Database ${l} doesnt exist`))}))}else{o.onerror=H(a);var i=r.oldVersion>2**62?0:r.oldVersion;c=i<1,e._novip.idbdb=u.result,In(e,i/10,o,a)}}),a),u.onsuccess=P((()=>{o=null;let n=e._novip.idbdb=u.result,i=b(n.objectStoreNames);if(i.length>0)try{let r=n.transaction((a=i).length===1?a[0]:a,`readonly`);t.autoSchema?function({_novip:e},t,n){e.verno=t.version/10;let r=e._dbSchema=Bn(0,t,n);e._storeNames=b(t.objectStoreNames,0),Nn(e,[e._allTables],s(r),r)}(e,n,r):(Vn(e,e._dbSchema,r),function(e,t){let n=Ln(Bn(0,e.idbdb,t),e._dbSchema);return!(n.add.length||n.change.some((e=>e.add.length||e.change.length)))}(e,r)||console.warn(`Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.`)),Mn(e,r)}catch(e){}var a;Rt.push(e),n.onversionchange=P((n=>{t.vcFired=!0,e.on(`versionchange`).fire(n)})),n.onclose=P((t=>{e.on(`close`).fire(t)})),c&&function({indexedDB:e,IDBKeyRange:t},n){!Wn(e)&&n!==Ut&&Un(e,t).put({name:n}).catch(j)}(e._deps,l),r()}),a)})).catch((e=>e&&e.name===`UnknownError`&&t.PR1398_maxLoop>0?(t.PR1398_maxLoop--,console.warn(`Dexie: Workaround for Chrome UnknownError on open()`),l()):N.reject(e)));return N.race([r,(typeof navigator>`u`?N.resolve():Kn()).then(l)]).then((()=>(i(),t.onReadyBeingFired=[],N.resolve(Gn((()=>e.on.ready.fire(e.vip)))).then((function n(){if(t.onReadyBeingFired.length>0){let r=t.onReadyBeingFired.reduce(Ie,j);return t.onReadyBeingFired=[],N.resolve(Gn((()=>r(e.vip)))).then(n)}}))))).finally((()=>{t.onReadyBeingFired=null,t.isBeingOpened=!1})).then((()=>e)).catch((n=>{t.dbOpenError=n;try{o&&o.abort()}catch(e){}return r===t.openCanceller&&e._close(),R(n)})).finally((()=>{t.openComplete=!0,a()}))}function Jn(e){var t=t=>e.next(t),n=i(t),r=i((t=>e.throw(t)));function i(e){return t=>{var i=e(t),a=i.value;return i.done?a:a&&typeof a.then==`function`?a.then(n,r):c(a)?Promise.all(a).then(n,r):n(a)}}return i(t)()}function Yn(e,t,n){var r=arguments.length;if(r<2)throw new A.InvalidArgument(`Too few arguments`);for(var i=Array(r-1);--r;)i[r-1]=arguments[r];return n=i.pop(),[e,ae(i),n]}function Xn(e,t,n,r,i){return N.resolve().then((()=>{let a=M.transless||M,o=e._createTransaction(t,n,e._dbSchema,r),s={trans:o,transless:a};if(r)o.idbtrans=r.idbtrans;else try{o.create(),e._state.PR1398_maxLoop=3}catch(r){return r.name===Te.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(console.warn(`Dexie: Need to reopen db`),e._close(),e.open().then((()=>Xn(e,t,n,null,i)))):R(r)}let c=pe(i),l;c&&Ct();let u=N.follow((()=>{if(l=i.call(o,o),l){if(c){var e=I.bind(null,null);l.then(e,e)}else typeof l.next==`function`&&typeof l.throw==`function`&&(l=Jn(l))}}),s);return(l&&typeof l.then==`function`?N.resolve(l).then((e=>o.active?e:R(new A.PrematureCommit(`Transaction committed too early. See http://bit.ly/2kdckMn`)))):u.then((()=>l))).then((e=>(r&&o._resolve(),o._completion.then((()=>e))))).catch((e=>(o._reject(e),R(e))))}))}function Zn(e,t,n){let r=c(e)?e.slice():[e];for(let e=0;e<n;++e)r.push(t);return r}let Qn={stack:`dbcore`,name:`VirtualIndexMiddleware`,level:1,create:function(e){return a(a({},e),{},{table(t){let n=e.table(t),{schema:r}=n,i={},o=[];function s(e,t,n){let r=An(e),c=i[r]=i[r]||[],l=e==null?0:typeof e==`string`?1:e.length,u=t>0,d=a(a({},n),{},{isVirtual:u,keyTail:t,keyLength:l,extractKey:Dn(e),unique:!u&&n.unique});return c.push(d),d.isPrimaryKey||o.push(d),l>1&&s(l===2?e[0]:e.slice(0,l-1),t+1,n),c.sort(((e,t)=>e.keyTail-t.keyTail)),d}let c=s(r.primaryKey.keyPath,0,r.primaryKey);i[`:id`]=[c];for(let e of r.indexes)s(e.keyPath,0,e);function l(t){let n=t.query.index;return n.isVirtual?a(a({},t),{},{query:{index:n,range:(r=t.query.range,i=n.keyTail,{type:r.type===1?2:r.type,lower:Zn(r.lower,r.lowerOpen?e.MAX_KEY:e.MIN_KEY,i),lowerOpen:!0,upper:Zn(r.upper,r.upperOpen?e.MIN_KEY:e.MAX_KEY,i),upperOpen:!0})}}):t;var r,i}return a(a({},n),{},{schema:a(a({},r),{},{primaryKey:c,indexes:o,getIndexByKeyPath:function(e){let t=i[An(e)];return t&&t[0]}}),count:e=>n.count(l(e)),query:e=>n.query(l(e)),openCursor(t){let{keyTail:r,isVirtual:i,keyLength:a}=t.query.index;return i?n.openCursor(l(t)).then((n=>n&&function(n){return Object.create(n,{continue:{value:function(i){i==null?t.unique?n.continue(n.key.slice(0,a).concat(t.reverse?e.MIN_KEY:e.MAX_KEY,r)):n.continue():n.continue(Zn(i,t.reverse?e.MAX_KEY:e.MIN_KEY,r))}},continuePrimaryKey:{value(t,i){n.continuePrimaryKey(Zn(t,e.MAX_KEY,r),i)}},primaryKey:{get:()=>n.primaryKey},key:{get(){let e=n.key;return a===1?e[0]:e.slice(0,a)}},value:{get:()=>n.value}})}(n))):n.openCursor(t)}})}})}};function $n(e,t,n,r){return n=n||{},r=r||``,s(e).forEach((i=>{if(f(t,i)){var a=e[i],o=t[i];if(typeof a==`object`&&typeof o==`object`&&a&&o){let e=ue(a);e===ue(o)?e===`Object`?$n(a,o,n,r+i+`.`):a!==o&&(n[r+i]=t[i]):n[r+i]=t[i]}else a!==o&&(n[r+i]=t[i])}else n[r+i]=void 0})),s(t).forEach((i=>{f(e,i)||(n[r+i]=t[i])})),n}let er={stack:`dbcore`,name:`HooksMiddleware`,level:2,create:e=>a(a({},e),{},{table(t){let n=e.table(t),{primaryKey:r}=n.schema;return a(a({},n),{},{mutate(e){let i=M.trans,{deleting:o,creating:s,updating:c}=i.table(t).hook;switch(e.type){case`add`:if(s.fire===j)break;return i._promise(`readwrite`,(()=>l(e)),!0);case`put`:if(s.fire===j&&c.fire===j)break;return i._promise(`readwrite`,(()=>l(e)),!0);case`delete`:if(o.fire===j)break;return i._promise(`readwrite`,(()=>l(e)),!0);case`deleteRange`:if(o.fire===j)break;return i._promise(`readwrite`,(()=>function(e){return u(e.trans,e.range,1e4)}(e)),!0)}return n.mutate(e);function l(e){let t=M.trans,i=e.keys||function(e,t){return t.type===`delete`?t.keys:t.keys||t.values.map(e.extractKey)}(r,e);if(!i)throw Error(`Keys missing`);return(e=e.type===`add`||e.type===`put`?a(a({},e),{},{keys:i}):a({},e)).type!==`delete`&&(e.values=[...e.values]),e.keys&&(e.keys=[...e.keys]),function(e,t,n){return t.type===`add`?Promise.resolve([]):e.getMany({trans:t.trans,keys:n,cache:`immutable`})}(n,e,i).then((a=>{let l=i.map(((n,i)=>{let l=a[i],u={onerror:null,onsuccess:null};if(e.type===`delete`)o.fire.call(u,n,l,t);else if(e.type===`add`||l===void 0){let a=s.fire.call(u,n,e.values[i],t);n==null&&a!=null&&(n=a,e.keys[i]=n,r.outbound||S(e.values[i],r.keyPath,n))}else{let r=$n(l,e.values[i]),a=c.fire.call(u,r,n,l,t);if(a){let t=e.values[i];Object.keys(a).forEach((e=>{f(t,e)?t[e]=a[e]:S(t,e,a[e])}))}}return u}));return n.mutate(e).then((({failures:t,results:n,numFailures:r,lastResult:o})=>{for(let r=0;r<i.length;++r){let o=n?n[r]:i[r],s=l[r];o==null?s.onerror&&s.onerror(t[r]):s.onsuccess&&s.onsuccess(e.type===`put`&&a[r]?e.values[r]:o)}return{failures:t,results:n,numFailures:r,lastResult:o}})).catch((e=>(l.forEach((t=>t.onerror&&t.onerror(e))),Promise.reject(e))))}))}function u(e,t,i){return n.query({trans:e,values:!1,query:{index:r,range:t},limit:i}).then((({result:n})=>l({type:`delete`,keys:n,trans:e}).then((r=>r.numFailures>0?Promise.reject(r.failures[0]):n.length<i?{failures:[],numFailures:0,lastResult:void 0}:u(e,a(a({},t),{},{lower:n[n.length-1],lowerOpen:!0}),i)))))}}})}})};function tr(e,t,n){try{if(!t||t.keys.length<e.length)return null;let r=[];for(let i=0,a=0;i<t.keys.length&&a<e.length;++i)B(t.keys[i],e[a])===0&&(r.push(n?T(t.values[i]):t.values[i]),++a);return r.length===e.length?r:null}catch(e){return null}}let nr={stack:`dbcore`,level:-1,create:e=>({table:t=>{let n=e.table(t);return a(a({},n),{},{getMany:e=>{if(!e.cache)return n.getMany(e);let t=tr(e.keys,e.trans._cache,e.cache===`clone`);return t?N.resolve(t):n.getMany(e).then((t=>(e.trans._cache={keys:e.keys,values:e.cache===`clone`?T(t):t},t)))},mutate:e=>(e.type!==`add`&&(e.trans._cache=null),n.mutate(e))})}})};function rr(e){return!(`from`in e)}let U=function(e,t){if(!this){let t=new U;return e&&`d`in e&&l(t,e),t}l(this,arguments.length?{d:1,from:e,to:arguments.length>1?t:e}:{d:0})};function ir(e,t,n){let r=B(t,n);if(isNaN(r))return;if(r>0)throw RangeError();if(rr(e))return l(e,{from:t,to:n,d:1});let i=e.l,a=e.r;if(B(n,e.from)<0)return i?ir(i,t,n):e.l={from:t,to:n,d:1,l:null,r:null},cr(e);if(B(t,e.to)>0)return a?ir(a,t,n):e.r={from:t,to:n,d:1,l:null,r:null},cr(e);B(t,e.from)<0&&(e.from=t,e.l=null,e.d=a?a.d+1:1),B(n,e.to)>0&&(e.to=n,e.r=null,e.d=e.l?e.l.d+1:1);let o=!e.r;i&&!e.l&&ar(e,i),a&&o&&ar(e,a)}function ar(e,t){rr(t)||function e(t,{from:n,to:r,l:i,r:a}){ir(t,n,r),i&&e(t,i),a&&e(t,a)}(e,t)}function or(e,t){let n=sr(t),r=n.next();if(r.done)return!1;let i=r.value,a=sr(e),o=a.next(i.from),s=o.value;for(;!r.done&&!o.done;){if(B(s.from,i.to)<=0&&B(s.to,i.from)>=0)return!0;B(i.from,s.from)<0?i=(r=n.next(s.from)).value:s=(o=a.next(i.from)).value}return!1}function sr(e){let t=rr(e)?null:{s:0,n:e};return{next(e){let n=arguments.length>0;for(;t;)switch(t.s){case 0:if(t.s=1,n)for(;t.n.l&&B(e,t.n.from)<0;)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,!n||B(e,t.n.to)<=0)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 cr(e){var t,n;let r=(((t=e.r)==null?void 0:t.d)||0)-(((n=e.l)==null?void 0:n.d)||0),i=r>1?`r`:r<-1?`l`:``;if(i){let t=i===`r`?`l`:`r`,n=a({},e),r=e[i];e.from=r.from,e.to=r.to,e[i]=r[i],n[i]=r[t],e[t]=n,n.d=lr(n)}e.d=lr(e)}function lr({r:e,l:t}){return(e?t?Math.max(e.d,t.d):e.d:t?t.d:0)+1}p(U.prototype,{add(e){return ar(this,e),this},addKey(e){return ir(this,e,e),this},addKeys(e){return e.forEach((e=>ir(this,e,e))),this},[de](){return sr(this)}});let ur={stack:`dbcore`,level:0,create:e=>{let t=e.schema.name,n=new U(e.MIN_KEY,e.MAX_KEY);return a(a({},e),{},{table:r=>{let i=e.table(r),{schema:o}=i,{primaryKey:l}=o,{extractKey:u,outbound:d}=l,f=a(a({},i),{},{mutate:e=>{let a=e.trans,s=a.mutatedParts||(a.mutatedParts={}),l=e=>{let n=`idb://${t}/${r}/${e}`;return s[n]||(s[n]=new U)},u=l(``),d=l(`:dels`),{type:f}=e,[p,m]=e.type===`deleteRange`?[e.range]:e.type===`delete`?[e.keys]:e.values.length<50?[[],e.values]:[],h=e.trans._cache;return i.mutate(e).then((e=>{if(c(p)){f!==`delete`&&(p=e.results),u.addKeys(p);let t=tr(p,h);t||f===`add`||d.addKeys(p),(t||m)&&function(e,t,n,r){function i(t){let i=e(t.name||``);function a(e){return e==null?null:t.extractKey(e)}let o=e=>t.multiEntry&&c(e)?e.forEach((e=>i.addKey(e))):i.addKey(e);(n||r).forEach(((e,t)=>{let i=n&&a(n[t]),s=r&&a(r[t]);B(i,s)!==0&&(i!=null&&o(i),s!=null&&o(s))}))}t.indexes.forEach(i)}(l,o,t,m)}else if(p){let e={from:p.lower,to:p.upper};d.add(e),u.add(e)}else u.add(n),d.add(n),o.indexes.forEach((e=>l(e.name).add(n)));return e}))}}),p=({query:{index:t,range:n}})=>{var r,i;return[t,new U((r=n.lower)==null?e.MIN_KEY:r,(i=n.upper)==null?e.MAX_KEY:i)]},m={get:e=>[l,new U(e.key)],getMany:e=>[l,new U().addKeys(e.keys)],count:p,query:p,openCursor:p};return s(m).forEach((e=>{f[e]=function(o){let{subscr:s}=M;if(s){let c=e=>{let n=`idb://${t}/${r}/${e}`;return s[n]||(s[n]=new U)},l=c(``),f=c(`:dels`),[p,h]=m[e](o);if(c(p.name||``).add(h),!p.isPrimaryKey){if(e!==`count`){let t=e===`query`&&d&&o.values&&i.query(a(a({},o),{},{values:!1}));return i[e].apply(this,arguments).then((n=>{if(e===`query`){if(d&&o.values)return t.then((({result:e})=>(l.addKeys(e),n)));let e=o.values?n.result.map(u):n.result;o.values?l.addKeys(e):f.addKeys(e)}else if(e===`openCursor`){let e=n,t=o.values;return e&&Object.create(e,{key:{get:()=>(f.addKey(e.primaryKey),e.key)},primaryKey:{get(){let t=e.primaryKey;return f.addKey(t),t}},value:{get:()=>(t&&l.addKey(e.primaryKey),e.value)}})}return n}))}f.add(n)}}return i[e].apply(this,arguments)}})),f}})}};var dr=class e{constructor(t,n){this._middlewares={},this.verno=0;let r=e.dependencies;this._options=n=a({addons:e.addons,autoOpen:!0,indexedDB:r.indexedDB,IDBKeyRange:r.IDBKeyRange},n),this._deps={indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange};let{addons:i}=n;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;let o={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:j,dbReadyPromise:null,cancelOpen:j,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3};var s;o.dbReadyPromise=new N((e=>{o.dbReadyResolve=e})),o.openCanceller=new N(((e,t)=>{o.cancelOpen=t})),this._state=o,this.name=t,this.on=Xt(this,`populate`,`blocked`,`versionchange`,`close`,{ready:[Ie,j]}),this.on.ready.subscribe=ee(this.on.ready.subscribe,(t=>(n,r)=>{e.vip((()=>{let e=this._state;if(e.openComplete)e.dbOpenError||N.resolve().then(n),r&&t(n);else if(e.onReadyBeingFired)e.onReadyBeingFired.push(n),r&&t(n);else{t(n);let e=this;r||t((function t(){e.on.ready.unsubscribe(n),e.on.ready.unsubscribe(t)}))}}))})),this.Collection=(s=this,Zt(cn.prototype,(function(e,t){this.db=s;let n=qt,r=null;if(t)try{n=t()}catch(e){r=e}let i=e._ctx,a=i.table,o=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:r,or:i.or,valueMapper:o===ke?null:o}}))),this.Table=function(e){return Zt(Yt.prototype,(function(t,n,r){this.db=e,this._tx=r,this.name=t,this.schema=n,this.hook=e._allTables[t]?e._allTables[t].hook:Xt(null,{creating:[Me,j],reading:[Ae,ke],updating:[Pe,j],deleting:[Ne,j]})}))}(this),this.Transaction=function(e){return Zt(Sn.prototype,(function(t,n,r,i,a){this.db=e,this.mode=t,this.storeNames=n,this.schema=r,this.chromeTransactionDurability=i,this.idbtrans=null,this.on=Xt(this,`complete`,`error`,`abort`),this.parent=a||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 N(((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(),R(e)}))}))}(this),this.Version=function(e){return Zt(Hn.prototype,(function(t){this.db=e,this._cfg={version:t,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}}))}(this),this.WhereClause=function(e){return Zt(_n.prototype,(function(t,n,r){this.db=e,this._ctx={table:t,index:n===`:id`?null:n,or:r};let i=e._deps.indexedDB;if(!i)throw new A.MissingAPI;this._cmp=this._ascending=i.cmp.bind(i),this._descending=(e,t)=>i.cmp(t,e),this._max=(e,t)=>i.cmp(e,t)>0?e:t,this._min=(e,t)=>i.cmp(e,t)<0?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=En(n.IDBKeyRange),this._createTransaction=(e,t,n,r)=>new this.Transaction(e,t,n,this._options.chromeTransactionDurability,r),this._fireOnBlocked=e=>{this.on(`blocked`).fire(e),Rt.filter((e=>e.name===this.name&&e!==this&&!e._state.vcFired)).map((t=>t.on(`versionchange`).fire(e)))},this.use(Qn),this.use(er),this.use(ur),this.use(nr),this.vip=Object.create(this,{_vip:{value:!0}}),i.forEach((e=>e(this)))}version(e){if(isNaN(e)||e<.1)throw new A.Type(`Given version is not a positive number`);if(e=Math.round(10*e)/10,this.idbdb||this._state.isBeingOpened)throw new A.Schema(`Cannot add version when database is open`);this.verno=Math.max(this.verno,e);let t=this._versions;var n=t.filter((t=>t._cfg.version===e))[0];return n||(n=new this.Version(e),t.push(n),t.sort(Fn),n.stores({}),this._state.autoSchema=!1,n)}_whenReady(e){return this.idbdb&&(this._state.openComplete||M.letThrough||this._vip)?e():new N(((e,t)=>{if(this._state.openComplete)return t(new A.DatabaseClosed(this._state.dbOpenError));if(!this._state.isBeingOpened){if(!this._options.autoOpen)return void t(new A.DatabaseClosed);this.open().catch(j)}this._state.dbReadyPromise.then(e,t)})).then(e)}use({stack:e,create:t,level:n,name:r}){r&&this.unuse({stack:e,name:r});let i=this._middlewares[e]||(this._middlewares[e]=[]);return i.push({stack:e,create:t,level:n==null?10:n,name:r}),i.sort(((e,t)=>e.level-t.level)),this}unuse({stack:e,name:t,create:n}){return e&&this._middlewares[e]&&(this._middlewares[e]=this._middlewares[e].filter((e=>n?e.create!==n:!!t&&e.name!==t))),this}open(){return qn(this)}_close(){let e=this._state,t=Rt.indexOf(this);if(t>=0&&Rt.splice(t,1),this.idbdb){try{this.idbdb.close()}catch(e){}this._novip.idbdb=null}e.dbReadyPromise=new N((t=>{e.dbReadyResolve=t})),e.openCanceller=new N(((t,n)=>{e.cancelOpen=n}))}close(){this._close();let e=this._state;this._options.autoOpen=!1,e.dbOpenError=new A.DatabaseClosed,e.isBeingOpened&&e.cancelOpen(e.dbOpenError)}delete(){let e=arguments.length>0,t=this._state;return new N(((n,r)=>{let i=()=>{this.close();var e=this._deps.indexedDB.deleteDatabase(this.name);e.onsuccess=P((()=>{(function({indexedDB:e,IDBKeyRange:t},n){!Wn(e)&&n!==Ut&&Un(e,t).delete(n).catch(j)})(this._deps,this.name),n()})),e.onerror=H(r),e.onblocked=this._fireOnBlocked};if(e)throw new A.InvalidArgument(`Arguments not allowed in db.delete()`);t.isBeingOpened?t.dbReadyPromise.then(i):i()}))}backendDB(){return this.idbdb}isOpen(){return this.idbdb!==null}hasBeenClosed(){let e=this._state.dbOpenError;return e&&e.name===`DatabaseClosed`}hasFailed(){return this._state.dbOpenError!==null}dynamicallyOpened(){return this._state.autoSchema}get tables(){return s(this._allTables).map((e=>this._allTables[e]))}transaction(){let e=Yn.apply(this,arguments);return this._transaction.apply(this,e)}_transaction(e,t,n){let r=M.trans;r&&r.db===this&&e.indexOf(`!`)===-1||(r=null);let i=e.indexOf(`?`)!==-1,a,o;e=e.replace(`!`,``).replace(`?`,``);try{if(o=t.map((e=>{var t=e instanceof this.Table?e.name:e;if(typeof t!=`string`)throw TypeError(`Invalid table argument to Dexie.transaction(). Only Table or String are allowed`);return t})),e==`r`||e===Wt)a=Wt;else{if(e!=`rw`&&e!=Gt)throw new A.InvalidArgument(`Invalid transaction mode: `+e);a=Gt}if(r){if(r.mode===Wt&&a===Gt){if(!i)throw new A.SubTransaction(`Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY`);r=null}r&&o.forEach((e=>{if(r&&r.storeNames.indexOf(e)===-1){if(!i)throw new A.SubTransaction(`Table `+e+` not included in parent transaction.`);r=null}})),i&&r&&!r.active&&(r=null)}}catch(e){return r?r._promise(null,((t,n)=>{n(e)})):R(e)}let s=Xn.bind(null,this,a,o,r,n);return r?r._promise(a,s,`lock`):M.trans?Ot(M.transless,(()=>this._whenReady(s))):this._whenReady(s)}table(e){if(!f(this._allTables,e))throw new A.InvalidTable(`Table ${e} does not exist`);return this._allTables[e]}};let fr=typeof Symbol<`u`&&`observable`in Symbol?Symbol.observable:`@@observable`;var pr=class{constructor(e){this._subscribe=e}subscribe(e,t,n){return this._subscribe(e&&typeof e!=`function`?e:{next:e,error:t,complete:n})}[fr](){return this}};function mr(e,t){return s(t).forEach((n=>{ar(e[n]||(e[n]=new U),t[n])})),e}function hr(e){let t,n=!1,r=new pr((r=>{let i=pe(e),a=!1,o={},c={},l={get closed(){return a},unsubscribe:()=>{a=!0,xn.storagemutated.unsubscribe(p)}};r.start&&r.start(l);let u=!1,d=!1;function f(){return s(c).some((e=>o[e]&&or(o[e],c[e])))}let p=e=>{mr(o,e),f()&&m()},m=()=>{if(u||a)return;o={};let s={},h=function(t){i&&Ct();let n=()=>St(e,{subscr:t,trans:null}),r=M.trans?Ot(M.transless,n):n();return i&&r.then(I,I),r}(s);d||(xn(yn,p),d=!0),u=!0,Promise.resolve(h).then((e=>{n=!0,t=e,u=!1,a||(f()?m():(o={},c=s,r.next&&r.next(e)))}),(e=>{u=!1,n=!1,r.error&&r.error(e),l.unsubscribe()}))};return m(),l}));return r.hasValue=()=>n,r.getValue=()=>t,r}let gr;try{gr={indexedDB:o.indexedDB||o.mozIndexedDB||o.webkitIndexedDB||o.msIndexedDB,IDBKeyRange:o.IDBKeyRange||o.webkitIDBKeyRange}}catch(e){gr={indexedDB:null,IDBKeyRange:null}}let _r=dr;function vr(e){let t=W;try{W=!0,xn.storagemutated.fire(e)}finally{W=t}}p(_r,a(a({},Oe),{},{delete:e=>new _r(e,{addons:[]}).delete(),exists:e=>new _r(e,{addons:[]}).open().then((e=>(e.close(),!0))).catch(`NoSuchDatabaseError`,(()=>!1)),getDatabaseNames(e){try{return function({indexedDB:e,IDBKeyRange:t}){return Wn(e)?Promise.resolve(e.databases()).then((e=>e.map((e=>e.name)).filter((e=>e!==Ut)))):Un(e,t).toCollection().primaryKeys()}(_r.dependencies).then(e)}catch(e){return R(new A.MissingAPI)}},defineClass:()=>function(e){l(this,e)},ignoreTransaction:e=>M.trans?Ot(M.transless,e):e(),vip:Gn,async:function(e){return function(){try{var t=Jn(e.apply(this,arguments));return t&&typeof t.then==`function`?t:N.resolve(t)}catch(e){return R(e)}}},spawn:function(e,t,n){try{var r=Jn(e.apply(n,t||[]));return r&&typeof r.then==`function`?r:N.resolve(r)}catch(e){return R(e)}},currentTransaction:{get:()=>M.trans||null},waitFor:function(e,t){let n=N.resolve(typeof e==`function`?_r.ignoreTransaction(e):e).timeout(t||6e4);return M.trans?M.trans.waitFor(n):n},Promise:N,debug:{get:()=>O,set:e=>{me(e,e===`dexie`?()=>!0:Ht)}},derive:g,extend:l,props:p,override:ee,Events:Xt,on:xn,liveQuery:hr,extendObservabilitySet:mr,getByKeyPath:x,setByKeyPath:S,delByKeyPath:function(e,t){typeof t==`string`?S(e,t,void 0):`length`in t&&[].map.call(t,(function(t){S(e,t,void 0)}))},shallowClone:C,deepClone:T,getObjectDiff:$n,cmp:B,asap:ne,minKey:It,addons:[],connections:Rt,errnames:Te,dependencies:gr,semVer:Ft,version:Ft.split(`.`).map((e=>parseInt(e))).reduce(((e,t,n)=>e+t/10**(2*n)))})),_r.maxKey=En(_r.dependencies.IDBKeyRange),typeof dispatchEvent<`u`&&typeof addEventListener<`u`&&(xn(yn,(e=>{if(!W){let t;zt?(t=document.createEvent(`CustomEvent`),t.initCustomEvent(bn,!0,!0,e)):t=new CustomEvent(bn,{detail:e}),W=!0,dispatchEvent(t),W=!1}})),addEventListener(bn,(({detail:e})=>{W||vr(e)})));let W=!1;if(typeof BroadcastChannel<`u`){let e=new BroadcastChannel(bn);typeof e.unref==`function`&&e.unref(),xn(yn,(t=>{W||e.postMessage(t)})),e.onmessage=e=>{e.data&&vr(e.data)}}else if(typeof self<`u`&&typeof navigator<`u`){xn(yn,(e=>{try{W||(typeof localStorage<`u`&&localStorage.setItem(bn,JSON.stringify({trig:Math.random(),changedParts:e})),typeof self.clients==`object`&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach((t=>t.postMessage({type:bn,changedParts:e}))))}catch(e){}})),typeof addEventListener<`u`&&addEventListener(`storage`,(e=>{if(e.key===bn){let t=JSON.parse(e.newValue);t&&vr(t.changedParts)}}));let e=self.document&&navigator.serviceWorker;e&&e.addEventListener(`message`,(function({data:e}){e&&e.type===bn&&vr(e.changedParts)}))}N.rejectionMapper=function(e,t){if(!e||e instanceof xe||e instanceof TypeError||e instanceof SyntaxError||!e.name||!De[e.name])return e;var n=new De[e.name](t||e.message,e);return`stack`in e&&h(n,`stack`,{get:function(){return this.inner.stack}}),n},me(O,Ht);let G=new class extends dr{constructor(){super(`utopya`),this.version(1).stores({providers:`++id`,categories:`id, [providerId+kind]`,channels:`id, providerId, [providerId+number], [categoryId+number]`,movies:`id, providerId, [categoryId+added]`,series:`id, providerId, [categoryId+added]`,episodes:`id, seriesId, providerId`}),this.version(2).stores({favorites:`id, [providerId+kind]`,recents:`id, [providerId+kind]`}),this.version(3).stores({programs:`id, providerId, [key+start]`,epgLinks:`id, providerId`}),this.version(4).stores({reminders:`id, start`}),this.version(5).stores({progress:`id, providerId, seriesId, updated`}),this.version(6).stores({movies:`id, providerId, [categoryId+added], [providerId+vkey]`,series:`id, providerId, [categoryId+added], [providerId+vkey]`}),this.version(7).stores({movies:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added]`,series:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added]`}),this.version(8).stores({catState:`id, providerId`,chanState:`id, providerId`,groups:`++id, providerId`,groupItems:`[groupId+channelId], groupId, channelId`}),this.version(9).stores({epgChannels:`id, providerId`}),this.version(10).stores({movies:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added], [providerId+rating]`,series:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added], [providerId+rating]`})}};function K(...e){let t=e.join(`|`),n=2166136261,r=84696351;for(let e=0;e<t.length;e++){let i=t.charCodeAt(e);n=Math.imul(n^i,16777619),r=Math.imul(r^i,1540483477)}return(r>>>0)%2097152*4294967296+(n>>>0)||1}var q=Uint8Array,yr=Uint16Array,br=Int32Array,xr=new q([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Sr=new q([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Cr=new q([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),wr=function(e,t){for(var n=new yr(31),r=0;r<31;++r)n[r]=t+=1<<e[r-1];for(var i=new br(n[30]),r=1;r<30;++r)for(var a=n[r];a<n[r+1];++a)i[a]=a-n[r]<<5|r;return{b:n,r:i}},Tr=wr(xr,2),Er=Tr.b,Dr=Tr.r;Er[28]=258,Dr[258]=28;var Or=wr(Sr,0),kr=Or.b;Or.r;for(var Ar=new yr(32768),J=0;J<32768;++J){var jr=(J&43690)>>1|(J&21845)<<1;jr=(jr&52428)>>2|(jr&13107)<<2,jr=(jr&61680)>>4|(jr&3855)<<4,Ar[J]=((jr&65280)>>8|(jr&255)<<8)>>1}for(var Mr=(function(e,t,n){for(var r=e.length,i=0,a=new yr(t);i<r;++i)e[i]&&++a[e[i]-1];var o=new yr(t);for(i=1;i<t;++i)o[i]=o[i-1]+a[i-1]<<1;var s;if(n){s=new yr(1<<t);var c=15-t;for(i=0;i<r;++i)if(e[i])for(var l=i<<4|e[i],u=t-e[i],d=o[e[i]-1]++<<u,f=d|(1<<u)-1;d<=f;++d)s[Ar[d]>>c]=l}else for(s=new yr(r),i=0;i<r;++i)e[i]&&(s[i]=Ar[o[e[i]-1]++]>>15-e[i]);return s}),Nr=new q(288),J=0;J<144;++J)Nr[J]=8;for(var J=144;J<256;++J)Nr[J]=9;for(var J=256;J<280;++J)Nr[J]=7;for(var J=280;J<288;++J)Nr[J]=8;for(var Pr=new q(32),J=0;J<32;++J)Pr[J]=5;var Fr=/*#__PURE__*/ Mr(Nr,9,1),Ir=/*#__PURE__*/ Mr(Pr,5,1),Lr=function(e){for(var t=e[0],n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},Y=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(t&7)&n},Rr=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(t&7)},zr=function(e){return(e+7)/8|0},Br=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new q(e.subarray(t,n))},Vr=[`unexpected EOF`,`invalid block type`,`invalid length/literal`,`invalid distance`,`stream finished`,`no stream handler`,,`no callback`,`invalid UTF-8 data`,`extra field too long`,`date not in range 1980-2099`,`filename too long`,`stream finishing`,`invalid zip data`],X=function(e,t,n){var r=Error(t||Vr[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,X),!n)throw r;return r},Hr=function(e,t,n,r){var i=e.length,a=r?r.length:0;if(!i||t.f&&!t.l)return n||new q(0);var o=!n,s=o||t.i!=2,c=t.i;o&&(n=new q(i*3));var l=function(e){var t=n.length;if(e>t){var r=new q(Math.max(t*2,e));r.set(n),n=r}},u=t.f||0,d=t.p||0,f=t.b||0,p=t.l,m=t.d,h=t.m,g=t.n,_=i*8;do{if(!p){u=Y(e,d,1);var v=Y(e,d+1,3);if(d+=3,!v){var y=zr(d)+4,b=e[y-4]|e[y-3]<<8,ee=y+b;if(ee>i){c&&X(0);break}s&&l(f+b),n.set(e.subarray(y,ee),f),t.b=f+=b,t.p=d=ee*8,t.f=u;continue}if(v==1)p=Fr,m=Ir,h=9,g=5;else if(v==2){var te=Y(e,d,31)+257,ne=Y(e,d+10,15)+4,re=te+Y(e,d+5,31)+1;d+=14;for(var x=new q(re),S=new q(19),C=0;C<ne;++C)S[Cr[C]]=Y(e,d+C*3,7);d+=ne*3;for(var ie=Lr(S),ae=(1<<ie)-1,oe=Mr(S,ie,1),C=0;C<re;){var se=oe[Y(e,d,ae)];d+=se&15;var y=se>>4;if(y<16)x[C++]=y;else{var w=0,T=0;for(y==16?(T=3+Y(e,d,3),d+=2,w=x[C-1]):y==17?(T=3+Y(e,d,7),d+=3):y==18&&(T=11+Y(e,d,127),d+=7);T--;)x[C++]=w}}var ce=x.subarray(0,te),le=x.subarray(te);h=Lr(ce),g=Lr(le),p=Mr(ce,h,1),m=Mr(le,g,1)}else X(1);if(d>_){c&&X(0);break}}s&&l(f+131072);for(var ue=(1<<h)-1,de=(1<<g)-1,fe=d;;fe=d){var w=p[Rr(e,d)&ue],E=w>>4;if(d+=w&15,d>_){c&&X(0);break}if(w||X(2),E<256)n[f++]=E;else if(E==256){fe=d,p=null;break}else{var D=E-254;if(E>264){var C=E-257,pe=xr[C];D=Y(e,d,(1<<pe)-1)+Er[C],d+=pe}var O=m[Rr(e,d)&de],me=O>>4;O||X(3),d+=O&15;var le=kr[me];if(me>3){var pe=Sr[me];le+=Rr(e,d)&(1<<pe)-1,d+=pe}if(d>_){c&&X(0);break}s&&l(f+131072);var he=f+D;if(f<le){var ge=a-le,k=Math.min(le,he);for(ge+f<0&&X(3);f<k;++f)n[f]=r[ge+f]}for(;f<he;++f)n[f]=n[f-le]}}t.l=p,t.p=fe,t.b=f,t.f=u,p&&(u=1,t.m=h,t.d=m,t.n=g)}while(!u);return f!=n.length&&o?Br(n,0,f):n.subarray(0,f)},Ur=/*#__PURE__*/ new q(0),Wr=function(e){(e[0]!=31||e[1]!=139||e[2]!=8)&&X(6,`invalid gzip data`);var t=e[3],n=10;t&4&&(n+=(e[10]|e[11]<<8)+2);for(var r=(t>>3&1)+(t>>4&1);r>0;r-=!e[n++]);return n+(t&2)},Gr=/* @__PURE__ */ function(){function e(e,t){typeof e==`function`&&(t=e,e={}),this.ondata=t;var n=e&&e.dictionary&&e.dictionary.subarray(-32768);this.s={i:0,b:n?n.length:0},this.o=new q(32768),this.p=new q(0),n&&this.o.set(n)}return e.prototype.e=function(e){if(this.ondata||X(5),this.d&&X(4),!this.p.length)this.p=e;else if(e.length){var t=new q(this.p.length+e.length);t.set(this.p),t.set(e,this.p.length),this.p=t}},e.prototype.c=function(e){this.s.i=+(this.d=e||!1);var t=this.s.b,n=Hr(this.p,this.s,this.o);this.ondata(Br(n,t,this.s.b),this.d),this.o=Br(n,this.s.b-32768),this.s.b=this.o.length,this.p=Br(this.p,this.s.p/8|0),this.s.p&=7},e.prototype.push=function(e,t){this.e(e),this.c(t)},e}(),Kr=/* @__PURE__ */ function(){function e(e,t){this.v=1,this.r=0,Gr.call(this,e,t)}return e.prototype.push=function(e,t){if(Gr.prototype.e.call(this,e),this.r+=e.length,this.v){var n=this.p.subarray(this.v-1),r=n.length>3?Wr(n):4;if(r>n.length){if(!t)return}else this.v>1&&this.onmember&&this.onmember(this.r-n.length);this.p=n.subarray(r),this.v=0}Gr.prototype.c.call(this,0),this.s.f&&!this.s.l?(this.v=zr(this.s.p)+9,this.s={i:0},this.o=new q(0),this.push(new q(0),t)):t&&Gr.prototype.c.call(this,t)},e}(),qr=typeof TextDecoder<`u`&&/*#__PURE__*/ new TextDecoder;try{qr.decode(Ur,{stream:!0})}catch(e){}var Z=class extends Error{constructor(e,t){super(t||e),r(this,`error`,void 0),this.error=e}};function Jr(e){return e instanceof Z?e.error:e&&e.name===`QuotaExceededError`?`STORAGE`:`UNKNOWN`}let Yr=e=>e;function Xr(e,t){return new Promise((n,r)=>{let i=setTimeout(()=>r(new Z(`TIMEOUT`)),t);e.then(e=>{clearTimeout(i),n(e)},e=>{clearTimeout(i),r(e)})})}async function Zr(e,t=3e4){let n;try{n=await Xr(fetch(Yr(e),{credentials:`omit`}),t)}catch(e){throw e instanceof Z?e:new Z(`NETWORK`,String(e))}if(n.ok)return n;throw n.status===401||n.status===403?new Z(`AUTH`):n.status===404?new Z(`NOT_FOUND`):n.status>=500?new Z(`SERVER`,String(n.status)):new Z(`NETWORK`,String(n.status))}async function Qr(e,t,n=6e4){let r=new TextDecoder(`utf-8`),i=e.body.getReader(),a,o=[],s=(e,t)=>{let n=r.decode(e,{stream:!t});n&&o.push(n)};try{for(;;){let{done:e,value:r}=await Xr(i.read(),n);a===void 0&&r&&r.length&&(a=r[0]===31&&r[1]===139?new Kr((e,t)=>s(e,t)):null),e?a?a.push(/* @__PURE__ */ new Uint8Array,!0):s(/* @__PURE__ */ new Uint8Array,!0):a?a.push(r):s(r,!1);let c=o;o=[];for(let e of c)if(await t(e)===!1){i.cancel();return}if(e)return}}catch(e){throw i.cancel(),e instanceof Z?e:new Z(`NETWORK`,String(e))}}function $r(e){let t=``;return{push(n){let r=(t+n).split(`
8
8
  `);t=r.pop();for(let t of r)e(t)},end(){t&&e(t),t=``}}}var ei={_doc:`İçerik sınıflandırma. adultWords: kategori adı küçük harfe çevrilip (katlanmadan) alt dize araması. M3U girdisi: adres yolunda /series/ → dizi, /movie/ veya /movies/ → film; uzantı vodExtensions'taysa bölüm kalıbı varsa dizi yoksa film; uzantısız/uzun uzantılı adreslerde grup adı (küçük harf) seriesWords içeriyor ve bölüm kalıbı varsa dizi, movieWords'ten biriyle başlıyor ya da 'vod' içeriyorsa film; aksi halde canlı. notMatchWords: spor programı başlığında geçerse maç sayılmaz (büyük/küçük harf duyarsız).`,adultWords:[`xxx`,`adult`,`+18`,`18+`,`yetişkin`,`yetiskin`,`porn`,`erotic`,`erotik`],vodExtensions:[`mp4`,`mkv`,`avi`,`mov`,`wmv`,`flv`,`m4v`,`webm`,`mpg`,`mpeg`,`divx`],seriesWords:[`series`,`dizi`,`season`,`sezon`,`tv shows`,`shows`],movieWords:[`movie`,`film`,`vod`,`sinema`,`cinema`,`box office`],notMatchWords:[`özet`,`ozet`,`highlights`,`tekrar`,`replay`,`stüdyo`,`studio`,`analiz`,`magazin`,`klip`]},ti={_doc:`Ad işleme. foldName: küçük harf + fold eşlemesi (platform/tür tanıma, arama). normalizeName: küçük harf + normalizeFold, [..] ve (..) silinir, qualityTags harf olmayan sınırlarda silinir, baştaki 2-3 harfli ülke öneki ('tr:', 'uk |') silinir, yalnızca harf/rakam kalır (EPG ve sürüm eşleşmesi). Yapısal regex'ler (ülke öneki, yıl, etiket) her platformun kodunda; davranış fixtures/cases/names.json ile sınanır. U+0307 (birleşik nokta) silinir: 'İ'.lowercase() = 'i̇' olduğundan aksi halde 'DİZİ' 'dizi' ile eşleşmez.`,fold:{"̇":``,ı:`i`,ş:`s`,ğ:`g`,ü:`u`,ö:`o`,ç:`c`,ß:`b`,ə:`e`},normalizeFold:{"̇":``,ı:`i`,ş:`s`,ğ:`g`,ü:`u`,ö:`o`,ç:`c`},qualityTags:[`uhd`,`fhd`,`hd`,`sd`,`4k`,`8k`,`hevc`,`h265`,`1080p`,`720p`,`backup`,`yedek`],removeWordsTrim:` |-:/●`};let ni=(()=>{try{return RegExp(`\\p{L}`,`u`).test(`ş`)}catch(e){return!1}})(),ri=ni?`\\p{L}`:`A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u024F\\u0370-\\u03FF\\u0400-\\u04FF\\u0590-\\u06FF\\u3040-\\u30FF\\u4E00-\\u9FFF\\uAC00-\\uD7AF`,ii=(e,t=``)=>new RegExp(e.replace(/LETTER/g,ri),ni?t+`u`:t),ai=e=>{let t=RegExp(`[${Object.keys(e).join(``)}]`,`g`);return n=>n.replace(t,t=>e[t])};ai(ti.fold);let oi=ai(ti.normalizeFold),si=/\[[^\]]*\]|\([^)]*\)/g,ci=RegExp(`(^|[^a-z])(${ti.qualityTags.join(`|`)})(?![a-z])`,`g`),li=/^[a-z]{2,3}\s*[:|]\s*/,ui=ii(`[^LETTER0-9]`,`g`);function di(e){return oi(e.toLowerCase()).replace(si,` `).replace(ci,`$1 `).replace(li,` `).replace(ui,``)}let fi=/(^|\D)((?:19|20)\d{2})(?!\d)/;function pi(e,t){let n=t?t.slice(0,4):(fi.exec(e)||[])[2]||``;return di(e)+`|`+n}let mi=/^(.*?)[\s._\-|:]*S(\d{1,2})\s*[._-]?\s*E(\d{1,4})\b/i,hi=/^(.*?)[\s._\-|:]+(\d{1,2})x(\d{1,3})\b/i;function gi(e){let t=mi.exec(e)||hi.exec(e);if(!t)return null;let n=t[1].trim().replace(/[-|:.]+$/,``).trim();return n?{series:n,season:+t[2],episode:+t[3]}:null}function _i(e,t,n){let r=e.split(`?`)[0].toLowerCase();if(r.indexOf(`/series/`)>=0)return`SERIES`;if(r.indexOf(`/movie/`)>=0||r.indexOf(`/movies/`)>=0)return`MOVIE`;let i=r.slice(r.lastIndexOf(`/`)+1),a=i.lastIndexOf(`.`),o=a>=0?i.slice(a+1):``;if(ei.vodExtensions.indexOf(o)>=0)return gi(n)?`SERIES`:`MOVIE`;if(!o||o.length>4){let e=(t||``).toLowerCase();if(ei.seriesWords.some(t=>e.indexOf(t)>=0)&&gi(n))return`SERIES`;if(ei.movieWords.some(t=>e.startsWith(t)||e.indexOf(`vod`)>=0))return`MOVIE`}return`LIVE`}ii(`[LETTER]{2,}.*\\s(?:-|–|vs\\.?|v)\\s.*[LETTER]{2,}`,`i`);var vi={_doc:`Kategori adından platform tanıma. Ad foldName ile katlanır, separators boşluğa çevrilir, başa/sona boşluk eklenir; keywords'ten biri geçiyor ve excludes'tan hiçbiri geçmiyorsa eşleşir. Listede İLK eşleşen kazanır (sıra önemli). logo: Wikimedia Commons dosya adı (https://commons.wikimedia.org/wiki/Special:FilePath/<ad>?width=320) ya da https ile başlıyorsa doğrudan adres; null ise ad yazı logosu olarak çizilir. tintWhite=false: kendi arka planlı logo, beyaza boyanmaz.`,separators:`|:-_/[]()●•`,platforms:[{key:`netflix`,name:`Netflix`,color:`#E50914`,keywords:[`netflix`],logo:`Netflix_2015_logo.svg`},{key:`hbo`,name:`HBO Max`,color:`#5822B4`,keywords:[`hbo`,` max `,`max original`],excludes:[`max prime`],logo:`Max_logo.svg`},{key:`disney`,name:`Disney+`,color:`#113CCF`,keywords:[`disney`],logo:`Disney%2B_logo.svg`},{key:`prime`,name:`Prime Video`,color:`#00A8E1`,keywords:[`prime`,`amazon`],excludes:[`max prime`],logo:`Amazon_Prime_Video_logo.svg`},{key:`apple`,name:`Apple TV+`,color:`#333333`,keywords:[`apple`],logo:`Apple_TV_Plus_Logo.svg`},{key:`blutv`,name:`BluTV`,color:`#0F6FFF`,keywords:[`blutv`,`blu tv`],logo:`BluTV_logo.svg`,tintWhite:!1},{key:`exxen`,name:`Exxen`,color:`#FFB800`,keywords:[`exxen`],logo:`Exxen.png`,tintWhite:!1},{key:`gain`,name:`Gain`,color:`#7B2CF5`,keywords:[`gain`],logo:`GA%C4%B0N_LOGO.jpg`,tintWhite:!1},{key:`tabii`,name:`tabii`,color:`#00B67A`,keywords:[`tabii`],logo:`Tabii_logo.svg`},{key:`tvplus`,name:`TV+`,color:`#8A7300`,keywords:[`tv+`,`tvplus`,`tv plus`,`turkcell tv`],logo:`https://tvplus.com.tr/images/pwa/icon-192x192.png`,tintWhite:!1},{key:`tod`,name:`TOD`,color:`#6D1ED4`,keywords:[`tod `,`bein connect`,`tod|`,`tod -`]},{key:`puhu`,name:`puhutv`,color:`#FF3D00`,keywords:[`puhu`],logo:`Puhutv.png`,tintWhite:!1},{key:`mubi`,name:`MUBI`,color:`#001489`,keywords:[`mubi`],logo:`Mubi_logo.svg`},{key:`paramount`,name:`Paramount+`,color:`#0064FF`,keywords:[`paramount`],logo:`Paramount_Plus.svg`},{key:`hulu`,name:`Hulu`,color:`#1CE783`,keywords:[`hulu`],logo:`Hulu_Logo.svg`},{key:`bein`,name:`beIN SPORTS`,color:`#5B2C83`,keywords:[`bein`]},{key:`ssport`,name:`S Sport`,color:`#0057B8`,keywords:[`s sport`,`ssport`]},{key:`tivibu`,name:`Tivibu`,color:`#00A0E3`,keywords:[`tivibu`]},{key:`dazn`,name:`DAZN`,color:`#1A1A1A`,keywords:[`dazn`]},{key:`sky`,name:`Sky`,color:`#0072C9`,keywords:[` sky `]},{key:`peacock`,name:`Peacock`,color:`#222222`,keywords:[`peacock`]}]};vi.platforms,{_doc:`Kategori adından tür. Ad foldName ile katlanır, başa/sona boşluk eklenir (ayırıcılar çevrilmez); alt dize araması, İLK eşleşen kazanır. Hiçbiri eşleşmezse OTHER. Gruplamada sıra bu listenin sırasıdır, OTHER en sonda.`,genres:[{key:`ADULT`,keywords:[`adult`,`xxx`,`+18`,`18+`]},{key:`KIDS`,keywords:[`cocuk`,`kids`,`kinder`,`cartoon`,`cizgi`]},{key:`SPORTS`,keywords:[`spor`,`sport`,`bein`,`futbol`,`football`,`nba`,`ufc`,`f1 `,`motogp`,`epl`,`tennis`,`golf`,`dazn`,`event`]},{key:`NEWS`,keywords:[`haber`,`news`,`nachrichten`]},{key:`DOCS`,keywords:[`belgesel`,`docu`,`doku`,`documentary`,`nature`,`discovery`]},{key:`MUSIC`,keywords:[`muzik`,`music`,`musik`,`radyo`,`radio`]},{key:`MOVIES`,keywords:[`film`,`dizi`,`sinema`,`cinema`,`movie`,`kino`,`serien`,`series`,`boxset`,`yesilcam`,`actor`,`anime`]},{key:`RELIGION`,keywords:[`dini`,`religio`]},{key:`LOCAL`,keywords:[`yerel`,`local`,`regional`]},{key:`NATIONAL`,keywords:[`ulusal`,`national`,`genel`,`general`]},{key:`UHD`,keywords:[`4k`,`uhd`]},{key:`OTHER`,keywords:[]}]}.genres.map(e=>e.key),RegExp(`[${vi.separators.replace(/[\]\\\-^]/g,`\\$&`)}]`,`g`);function yi(e){let t=e.toLowerCase();return ei.adultWords.some(e=>t.indexOf(e)>=0)}let bi=/([A-Za-z0-9_-]+)\s*=\s*"([^"]*)"/g;function xi(e){let t={},n;for(bi.lastIndex=0;n=bi.exec(e);)t[n[1].toLowerCase()]=n[2].trim();return t}let Si=e=>{let t=e===void 0?NaN:parseInt(e,10);return isNaN(t)?null:t},Ci=e=>e||null;function wi(e,t,n,r){let i=xi(e),a=e.lastIndexOf(`"`),o=e.indexOf(`,`,a>=0?a:0);return{name:(o>=0?e.slice(o+1).trim():``)||i[`tvg-name`]||t.slice(t.lastIndexOf(`/`)+1),url:t,tvgId:Ci(i[`tvg-id`]),tvgName:Ci(i[`tvg-name`]),logo:Ci(i[`tvg-logo`]),group:Ci(i[`group-title`]===void 0?n||void 0:i[`group-title`]),catchup:i.catchup===void 0?i[`catchup-type`]===void 0?null:i[`catchup-type`]:i.catchup,catchupDays:Si(i[`catchup-days`]===void 0?i.timeshift:i[`catchup-days`]),catchupSource:Ci(i[`catchup-source`]),userAgent:r}}function Ti(e,t){let n=null,r=null,i=null,a=!0;return o=>{let s=o.trim().replace(/^/,``);if(!s)return;let c=s.slice(0,28).toUpperCase();if(a&&s.startsWith(`#EXTM3U`)){var l,u;let t=xi(s);e({epgUrls:(t[`url-tvg`]||t[`x-tvg-url`]||t[`tvg-url`]||``).split(/[, ]/).map(e=>e.trim()).filter(e=>e.startsWith(`http`)),catchup:(l=t.catchup)==null?null:l,catchupDays:Si(t[`catchup-days`]),catchupSource:(u=t[`catchup-source`])==null?null:u})}else c.startsWith(`#EXTINF`)?(n=s,r=null,i=null):c.startsWith(`#EXTGRP:`)?r=s.slice(s.indexOf(`:`)+1).trim():c.startsWith(`#EXTVLCOPT:HTTP-USER-AGENT=`)?i=s.slice(s.indexOf(`=`)+1).trim():s.startsWith(`#`)||(n!==null&&t(wi(n,s,r,i)),n=null);a=!1}}function Ei(e,t){switch((e||``).toLowerCase().trim()){case`default`:return`DEFAULT`;case`append`:return`APPEND`;case`shift`:case`timeshift`:return`SHIFT`;case`flussonic`:case`flussonic-hls`:case`flussonic-ts`:case`fs`:return`FLUSSONIC`;case`xc`:return`XTREAM`;default:return t===null?`NONE`:`DEFAULT`}}let Di=e=>e.split(/\s+/).filter(Boolean);async function Oi(e,t,n){let r=t.providerId,i={epgUrls:[],catchup:null,catchupDays:null,catchupSource:null},a=/* @__PURE__ */ new Map,o=/* @__PURE__ */ new Map,s=/* @__PURE__ */ new Set,c=[],l=0,u=0,d=(e,n)=>{if(!n||!n.trim())return null;let i=`${e}|${n}`,o=a.get(i);return o===void 0&&(o=K(r,`cat-${e}`,n),a.set(i,o),t.category({id:o,kind:e,name:n,order:a.size-1,adult:yi(n)})),o},f=(e,t)=>{let n=`${e}|${t.group||``}|${t.name}`,r=n;for(let e=2;s.has(r);e++)r=`${n}#${e}`;return s.add(r),r},p=e=>{l++;let n=_i(e.url,e.group,e.name);if(n===`LIVE`){var a,s,c,p,m;let n=f(`live`,e),o=Ei((a=e.catchup)==null?i.catchup:a,(s=e.catchupSource)==null?i.catchupSource:s);t.channel({id:K(r,`live`,n),remoteId:n,name:e.name,normName:di(e.tvgName||e.name),number:++u,logo:e.logo,categoryId:d(`live`,e.group),url:e.url,epgId:(e.tvgId||e.tvgName||``).toLowerCase()||null,catchupType:o,catchupDays:o===`NONE`?0:(c=(p=e.catchupDays)==null?i.catchupDays:p)==null?1:c,catchupSource:(m=e.catchupSource)==null?i.catchupSource:m})}else if(n===`MOVIE`){let n=f(`movie`,e),i=/\((\d{4})\)/.exec(e.name);t.movie({id:K(r,`movie`,n),remoteId:n,name:e.name,poster:e.logo,categoryId:d(`movie`,e.group),url:e.url,rating:null,year:i?i[1]:null,plot:null,genre:null,vkey:pi(e.name,i?i[1]:null),added:l})}else{let n=gi(e.name),i=n?n.series:e.name,a=`${e.group||``}|${i}`,s=o.get(a);s===void 0&&(s=K(r,`series`,a),o.set(a,s),t.series({id:s,remoteId:a,name:i,poster:e.logo,backdrop:null,categoryId:d(`series`,e.group),rating:null,year:null,plot:null,cast:null,genre:null,added:l,vkey:pi(i,null)}));let c=f(`episode`,e);t.episode({id:K(r,`episode`,c),seriesId:s,remoteId:c,season:n?n.season:1,episode:n?n.episode:l,title:e.name,url:e.url,poster:e.logo})}};t.stage(`LIVE`);let m=()=>{let e=$r(Ti(e=>{i=e,e.epgUrls.forEach(e=>c.indexOf(e)<0&&c.push(e))},p));return{feed:async n=>{e.push(n),await t.flush()},end:()=>e.end()}};if(n!==void 0){let e=m();for(let t=0;t<n.length;t+=1<<20)await e.feed(n.slice(t,t+(1<<20)));e.end()}else for(let t of Di(e.url)){let e=m();await Qr(await Zr(t,6e4),e.feed),e.end()}if(l===0)throw new Z(`EMPTY`);return await t.complete(`live`),await t.complete(`movie`),await t.complete(`series`),c}function ki(e){let t=e.trim().replace(/\/+$/,``);return/^https?:\/\//i.test(t)||(t=`http://${t}`),t.split(`/player_api.php`)[0].split(`/get.php`)[0].replace(/\/+$/,``)}let Ai=(e,t,n={})=>{let r=[`username=${encodeURIComponent(e.username)}`,`password=${encodeURIComponent(e.password)}`];t&&r.push(`action=${t}`);for(let e in n)r.push(`${e}=${encodeURIComponent(n[e])}`);return`${ki(e.url)}/player_api.php?${r.join(`&`)}`},ji=e=>`${ki(e.url)}/xmltv.php?username=${encodeURIComponent(e.username)}&password=${encodeURIComponent(e.password)}`,Mi=(e,t)=>`${ki(e.url)}/live/${e.username}/${e.password}/${t}.${e.liveFormat}`,Ni=(e,t,n)=>`${ki(e.url)}/movie/${e.username}/${e.password}/${t}.${n}`,Q=(e,t)=>{let n=e[t];return n==null||n===``||typeof n==`object`?null:String(n)},$=(e,t)=>{let n=parseFloat(Q(e,t)||``);return isNaN(n)?null:n},Pi=(e,t)=>{let n=e[t];return Array.isArray(n)?n.length&&typeof n[0]==`string`&&n[0]?n[0]:null:Q(e,t)},Fi=e=>{let t=$(e,`rating`);if(t&&t>0)return t;let n=$(e,`rating_5based`);return n&&n>0?n*2:null};async function Ii(e){let t=``;await Qr(await Zr(e),e=>{t+=e});try{let e=JSON.parse(t);return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}catch(e){throw new Z(`PARSE`,`json`)}}async function Li(e){let t=await Ii(Ai(e)),n=t.user_info;if(!n||typeof n!=`object`||$(n,`auth`)===0)throw new Z(`AUTH`);let r=(Q(n,`status`)||``).toLowerCase();if(r===`expired`)throw new Z(`EXPIRED`);if(r&&r!==`active`)throw new Z(`AUTH`,r);return t}function Ri(e){let t=`start`,n=0,r=!1,i=!1,a=``;return o=>{if(t===`skip`)return;let s=n>0?0:-1;for(let c=0;c<o.length;c++){let l=o.charCodeAt(c);if(t===`start`){if(l===91)t=`array`;else if(l!==32&&l!==10&&l!==13&&l!==9&&l!==65279){t=`skip`;return}}else if(n===0)l===123&&(n=1,s=c,r=!1,i=!1);else if(r)i?i=!1:l===92?i=!0:l===34&&(r=!1);else if(l===34)r=!0;else if(l===123||l===91)n++;else if((l===125||l===93)&&--n===0){let t=a+o.slice(s,c+1);a=``,s=-1;try{e(JSON.parse(t))}catch(e){}}}n>0&&(a+=o.slice(s))}}async function zi(e,t,n,r){let i=Ri(r);await Qr(await Zr(Ai(e,t),12e4),async e=>{i(e),await n.flush()})}let Bi=(e,t,n)=>n?K(e,`cat-${t}`,n):null;async function Vi(e,t){let n=t.providerId;t.stage(`CONNECTING`);let r=await Li(e),i=r.user_info,a=r.server_info||{},o=$(i,`exp_date`),s={serverTimezone:Q(a,`timezone`),expDate:o?o*1e3:null,maxConnections:$(i,`max_connections`)};t.stage(`CATEGORIES`);for(let[r,i]of[[`live`,`get_live_categories`],[`movie`,`get_vod_categories`],[`series`,`get_series_categories`]]){let a=0;await Hi(()=>zi(e,i,t,e=>{let i=Q(e,`category_id`);if(!i)return;let o=Q(e,`category_name`)||i;t.category({id:Bi(n,r,i),kind:r,name:o,order:a++,adult:yi(o)})}))}t.stage(`LIVE`);let c=0;return await zi(e,`get_live_streams`,t,r=>{var i,a;let o=Q(r,`stream_id`),s=Q(r,`name`);if(c++,!o||!s)return;let l=$(r,`tv_archive`)===1;t.channel({id:K(n,`live`,o),remoteId:o,name:s,normName:di(s),number:(i=$(r,`num`))==null?c:i,logo:Q(r,`stream_icon`),categoryId:Bi(n,`live`,Q(r,`category_id`)),url:Mi(e,o),epgId:(Q(r,`epg_channel_id`)||``).toLowerCase()||null,catchupType:l?`XTREAM`:`NONE`,catchupDays:l?(a=$(r,`tv_archive_duration`))==null?1:a:0,catchupSource:null})}),await t.complete(`live`),t.stage(`MOVIES`),await Hi(()=>zi(e,`get_vod_streams`,t,r=>{let i=Q(r,`stream_id`),a=Q(r,`name`);i&&a&&t.movie({id:K(n,`movie`,i),remoteId:i,name:a,poster:Q(r,`stream_icon`)||Q(r,`cover`),categoryId:Bi(n,`movie`,Q(r,`category_id`)),url:Ni(e,i,Q(r,`container_extension`)||`mp4`),rating:Fi(r),year:Q(r,`year`)||(Q(r,`releaseDate`)||``).slice(0,4)||null,plot:Q(r,`plot`),genre:Q(r,`genre`),added:($(r,`added`)||0)*1e3,vkey:pi(a,Q(r,`year`)||(Q(r,`releaseDate`)||``).slice(0,4)||null)})}))&&await t.complete(`movie`),t.stage(`SERIES`),await Hi(()=>zi(e,`get_series`,t,e=>{let r=Q(e,`series_id`),i=Q(e,`name`);r&&i&&t.series({id:K(n,`series`,r),remoteId:r,name:i,poster:Q(e,`cover`),backdrop:Pi(e,`backdrop_path`),categoryId:Bi(n,`series`,Q(e,`category_id`)),rating:Fi(e),year:Q(e,`year`)||(Q(e,`releaseDate`)||Q(e,`release_date`)||``).slice(0,4)||null,plot:Q(e,`plot`),cast:Q(e,`cast`),genre:Q(e,`genre`),added:($(e,`last_modified`)||0)*1e3,vkey:pi(i,Q(e,`year`)||(Q(e,`releaseDate`)||Q(e,`release_date`)||``).slice(0,4)||null)})}))&&await t.complete(`series`,{keepEpisodes:!0}),{epgUrls:[ji(e)],info:s}}async function Hi(e){try{return await e(),!0}catch(e){return console.warn(`Xtream bölümü alınamadı`,e),!1}}var Ui=class{constructor(e,t){r(this,`stamp`,Date.now()),r(this,`categories`,[]),r(this,`channels`,[]),r(this,`movies`,[]),r(this,`seriesList`,[]),r(this,`episodes`,[]),r(this,`current`,`CONNECTING`),r(this,`lastReport`,0),r(this,`counts`,{live:0,movie:0,series:0}),r(this,`providerId`,void 0),r(this,`progress`,void 0),this.providerId=e,this.progress=t}stage(e,t=0){this.current=e,this.progress(e,t)}report(e){e-this.lastReport>=500&&(this.lastReport=e,this.progress(this.current,e))}category(e){this.categories.push(a(a({},e),{},{providerId:this.providerId,stamp:this.stamp}))}channel(e){this.channels.push(a(a({},e),{},{providerId:this.providerId,stamp:this.stamp})),this.report(++this.counts.live)}movie(e){this.movies.push(a(a({},e),{},{providerId:this.providerId,stamp:this.stamp})),this.report(++this.counts.movie)}series(e){this.seriesList.push(a(a({},e),{},{providerId:this.providerId,stamp:this.stamp})),this.report(++this.counts.series)}episode(e){this.episodes.push(a(a({},e),{},{providerId:this.providerId,stamp:this.stamp}))}get pending(){return this.categories.length+this.channels.length+this.movies.length+this.seriesList.length+this.episodes.length}async flush(e=!1){if(!e&&this.pending<1e3)return;let[t,n,r,i,a]=[this.categories,this.channels,this.movies,this.seriesList,this.episodes];this.categories=[],this.channels=[],this.movies=[],this.seriesList=[],this.episodes=[],await G.transaction(`rw`,[G.categories,G.channels,G.movies,G.series,G.episodes],async()=>{t.length&&await G.categories.bulkPut(t),n.length&&await G.channels.bulkPut(n),r.length&&await G.movies.bulkPut(r),i.length&&await G.series.bulkPut(i),a.length&&await G.episodes.bulkPut(a)})}async complete(e,t={}){await this.flush(!0);let n=this.providerId,r=e=>e.stamp!==this.stamp;if(await G.categories.where(`[providerId+kind]`).equals([n,e]).and(r).delete(),e===`live`&&await G.channels.where(`providerId`).equals(n).and(r).delete(),e===`movie`&&await G.movies.where(`providerId`).equals(n).and(r).delete(),e===`series`){if(await G.series.where(`providerId`).equals(n).and(r).delete(),t.keepEpisodes){let e=new Set(await G.series.where(`providerId`).equals(n).primaryKeys());await G.episodes.where(`providerId`).equals(n).and(t=>!e.has(t.seriesId)).delete()}else await G.episodes.where(`providerId`).equals(n).and(r).delete()}}};function Wi(e){let t=e?/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})?\s*(?:([+-])(\d{2}):?(\d{2}))?/.exec(e.trim()):null;return t?Date.UTC(+t[1],t[2]-1,+t[3],+t[4],+t[5],t[6]?+t[6]:0)-(t[7]?(t[7]===`-`?-1:1)*(t[8]*60+ +t[9])*6e4:0):null}let Gi=/&(#x[0-9a-f]+|#\d+|amp|lt|gt|quot|apos);/gi,Ki={amp:`&`,lt:`<`,gt:`>`,quot:`"`,apos:`'`};function qi(e){return e.indexOf(`&`)<0?e:e.replace(Gi,(e,t)=>{if(t[0]!==`#`)return Ki[t.toLowerCase()];let n=t[1]===`x`||t[1]===`X`?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return String.fromCharCode(n)})}function Ji(e,t){let n=RegExp(`\\s${t}\\s*=\\s*("([^"]*)"|'([^']*)')`).exec(e);return n?qi(n[2]===void 0?n[3]:n[2]):void 0}function Yi(e,t,n){let r=RegExp(`<${t}(\\s[^>]*)?>([\\s\\S]*?)</${t}>`,`g`),i=[],a;for(;a=r.exec(e);){let e=a[2].replace(/^\s*<!\[CDATA\[([\s\S]*?)\]\]>\s*$/,`$1`);if(i.push(qi(e.trim())),!n)break}return i}function Xi(e,t){let n=``,r=(n,r)=>{let i=n.slice(0,n.indexOf(`>`)+1);if(r){let t=Ji(i,`id`);if(!t)return;let r=/<icon\s[^>]*>/.exec(n);e({id:t,names:Yi(n,`display-name`,!0),icon:r&&Ji(r[0],`src`)||null});return}let a=Ji(i,`channel`),o=Wi(Ji(i,`start`));if(!a||o===null)return;let s=Wi(Ji(i,`stop`));t({channel:a,start:o,stop:s!==null&&s>o?s:o+36e5,title:Yi(n,`title`,!1)[0]||``,description:Yi(n,`desc`,!1)[0]||null,category:Yi(n,`category`,!1)[0]||null})};return e=>{n+=e;let t=0;for(;;){let e=n.indexOf(`<channel`,t),i=n.indexOf(`<programme`,t);if(e<0&&i<0){t=Math.max(t,n.length-16);break}let a=e>=0&&(i<0||e<i),o=a?e:i,s=a?`</channel>`:`</programme>`,c=n.indexOf(`>`,o);if(c<0){t=o;break}let l=n[c-1]===`/`?c+1:n.indexOf(s,c)+(n.indexOf(s,c)<0?0:s.length);if(l<=c){t=o;break}r(n.slice(o,l),a),t=l}n=n.slice(t)}}let Zi=864e5,Qi=(e,t)=>`${e}|${t.toLowerCase()}`;async function $i(e,t,n=0){let r=n*6e4,i=e.id,a=[...e.sourceEpgUrls||[],...e.epgUrls].map(e=>e.trim()).filter((e,t,n)=>e&&n.indexOf(e)===t);if(!a.length)return 0;let o=await G.epgLinks.where(`providerId`).equals(i).filter(e=>e.manual).toArray(),s=new Set(o.map(e=>e.id)),c=[];await G.channels.where(`providerId`).equals(i).each(e=>{s.has(e.id)||c.push({id:e.id,epgId:e.epgId,normName:e.normName,logo:e.logo})});let l=Date.now(),u=l-7*Zi,d=l+8*Zi,f=/* @__PURE__ */ new Map,p=/* @__PURE__ */ new Map,m=new Set(o.map(e=>e.key.slice(e.key.indexOf(`|`)+1))),h=[],g=0,_=!1,v=[],y=e=>{for(let t of e)v.push({id:Qi(i,t.id),providerId:i,xmlId:t.id,name:t.names[0]||t.id});let t=/* @__PURE__ */ new Map,n=/* @__PURE__ */ new Map;for(let r of e){let e=r.id.toLowerCase();t.has(e)||t.set(e,r);let i=r.names.map(di).filter(Boolean)[0]||di(r.id);i&&!n.has(i)&&n.set(i,r)}let r=(e,t)=>{let n=Qi(i,t.id);f.set(e.id,n),m.add(t.id.toLowerCase()),t.icon&&p.set(n,t.icon)};for(let e of c){if(f.has(e.id)||!e.epgId)continue;let n=t.get(e.epgId);n&&r(e,n)}for(let e of c){if(f.has(e.id)||!e.normName)continue;let t=n.get(e.normName);t&&r(e,t)}};for(let e of a)try{let n=[],a=!1,o=Xi(e=>n.push(e),e=>{a||(a=!0,y(n));let t=e.channel.toLowerCase();if(!e.title||!m.has(t)||e.stop<u||e.start>d)return;let o=Qi(i,t);h.push({id:K(o,e.start+r),providerId:i,key:o,start:e.start+r,stop:e.stop+r,title:e.title,desc:e.description,category:e.category,stamp:l})});await Qr(await Zr(e,6e4),async e=>{if(o(e),h.length>=2e3){let e=h;h=[],await G.programs.bulkPut(e),g+=e.length,t(`EPG`,g)}}),a||y(n),_=!0}catch(t){console.warn(`EPG alınamadı`,e,t)}if(h.length&&(await G.programs.bulkPut(h),g+=h.length),!_)return 0;await G.epgLinks.where(`providerId`).equals(i).filter(e=>!e.manual).delete();let b=[];f.forEach((e,t)=>b.push({id:t,providerId:i,key:e,manual:!1})),await G.epgLinks.bulkPut(b),await G.epgChannels.where(`providerId`).equals(i).delete(),await G.epgChannels.bulkPut(v),await G.programs.where(`providerId`).equals(i).filter(e=>e.stamp!==l).delete();let ee=c.filter(e=>!e.logo&&f.has(e.id)&&p.has(f.get(e.id)));for(let e of ee)await G.channels.update(e.id,{logo:p.get(f.get(e.id))});return await G.providers.update(i,{lastEpgSync:l}),t(`EPG`,g),g}let ea=e=>self.postMessage(e),ta=Promise.resolve();self.onmessage=e=>{ta=ta.then(()=>na(e.data))};async function na(e){let{providerId:t,fileText:n,mode:r,epgOffsetMin:i=0}=e;try{let e=await G.providers.get(t);if(!e)throw new Z(`NOT_FOUND`,`provider`);let o=new Ui(t,(e,n)=>ea({type:`progress`,providerId:t,stage:e,count:n}));if(r===`epg`){o.stage(`EPG`),await $i(e,(e,n)=>ea({type:`progress`,providerId:t,stage:e,count:n}),i),ea({type:`done`,providerId:t,counts:o.counts});return}let s,c={};e.type===`xtream`?{epgUrls:s,info:c}=await Vi(e,o):s=await Oi(e,o,n),await G.providers.update(t,a(a({},c),{},{sourceEpgUrls:s})),o.stage(`EPG`),await $i(a(a({},e),{},{sourceEpgUrls:s}),(e,n)=>ea({type:`progress`,providerId:t,stage:e,count:n}),i),await G.providers.update(t,{lastSync:Date.now()}),ea({type:`done`,providerId:t,counts:o.counts})}catch(e){console.error(`senkron hatası`,e),ea({type:`error`,providerId:t,error:Jr(e),detail:String(e)})}}})();
package/app/index.html CHANGED
@@ -5,7 +5,7 @@
5
5
  <meta charset="utf-8" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
7
  <title>UtopyaTV</title>
8
- <script defer src="./assets/index-Bcvgcl1X.js"></script>
8
+ <script defer src="./assets/index-wxe7pwbC.js"></script>
9
9
  </head>
10
10
  <body>
11
11
  <div id="video"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@erhan/utopyatv",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "UtopyaTV IPTV oynatıcısı (Samsung Tizen, TizenBrew modülü). Kanal ya da içerik içermez.",
5
5
  "license": "UNLICENSED",
6
6
  "keywords": [