PageSourceSearch

https://sukistudy.vercel.app/sw.js

js sukistudy.vercel.app collected 2026-10-03 07:49:00 UTC 245,302 bytes, 20 lines download raw bytes

1var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));try{self[`workbox:core:7.3.0`]&&_()}catch{}var u=(e,...t)=>{let n=e;return t.length>0&&(n+=` :: ${JSON.stringify(t)}`),n},d=class extends Error{constructor(e,t){let n=u(e,t);super(n),this.name=e,this.details=t}},f=new Set;function p(e){f.add(e)}var m={googleAnalytics:`googleAnalytics`,precache:`precache-v2`,prefix:`workbox`,runtime:`runtime`,suffix:typeof registration<`u`?registration.scope:``},h=e=>[m.prefix,e,m.suffix].filter(e=>e&&e.length>0).join(`-`),g=e=>{for(let t of Object.keys(m))e(t)},v={updateDetails:e=>{g(t=>{typeof e[t]==`string`&&(m[t]=e[t])})},getGoogleAnalyticsName:e=>e||h(m.googleAnalytics),getPrecacheName:e=>e||h(m.precache),getPrefix:()=>m.prefix,getRuntimeName:e=>e||h(m.runtime),getSuffix:()=>m.suffix};function y(e,t){let n=new URL(e);for(let e of t)n.searchParams.delete(e);return n.href}async function b(e,t,n,r){let i=y(t.url,n);if(t.url===i)return e.match(t,r);let a=Object.assign(Object.assign({},r),{ignoreSearch:!0}),o=await e.keys(t,a);for(let t of o)if(i===y(t.url,n))return e.match(t,r)}var x;function S(){if(x===void 0){let e=new Response(``);if(`body`in e)try{new Response(e.body),x=!0}catch{x=!1}x=!1}return x}function ee(e){e.then(()=>{})}var C=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};async function te(){for(let e of f)await e()}var ne=e=>new URL(String(e),location.href).href.replace(RegExp(`^${location.origin}`),``);function re(e){return new Promise(t=>setTimeout(t,e))}function ie(e,t){let n=t();return e.waitUntil(n),n}async function ae(e,t){let n=null;if(e.url&&(n=new URL(e.url).origin),n!==self.location.origin)throw new d(`cross-origin-copy-response`,{origin:n});let r=e.clone(),i={headers:new Headers(r.headers),status:r.status,statusText:r.statusText},a=t?t(i):i,o=S()?r.body:await r.blob();return new Response(o,a)}function oe(){self.addEventListener(`activate`,()=>self.clients.claim())}try{self[`workbox:cacheable-response:7.3.0`]&&_()}catch{}var se=class{constructor(e={}){this._statuses=e.statuses,this._headers=e.headers}isResponseCacheable(e){let t=!0;return this._statuses&&(t=this._statuses.includes(e.status)),this._headers&&t&&(t=Object.keys(this._headers).some(t=>e.headers.get(t)===this._headers[t])),t}},ce=class{constructor(e){this.cacheWillUpdate=async({response:e})=>this._cacheableResponse.isResponseCacheable(e)?e:null,this._cacheableResponse=new se(e)}},le=(e,t)=>t.some(t=>e instanceof t),ue,de;function fe(){return ue||=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]}function pe(){return de||=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey]}var me=new WeakMap,he=new WeakMap,ge=new WeakMap,_e=new WeakMap,ve=new WeakMap;function ye(e){let t=new Promise((t,n)=>{let r=()=>{e.removeEventListener(`success`,i),e.removeEventListener(`error`,a)},i=()=>{t(Te(e.result)),r()},a=()=>{n(e.error),r()};e.addEventListener(`success`,i),e.addEventListener(`error`,a)});return t.then(t=>{t instanceof IDBCursor&&me.set(t,e)}).catch(()=>{}),ve.set(t,e),t}function be(e){if(he.has(e))return;let t=new Promise((t,n)=>{let r=()=>{e.removeEventListener(`complete`,i),e.removeEventListener(`error`,a),e.removeEventListener(`abort`,a)},i=()=>{t(),r()},a=()=>{n(e.error||new DOMException(`AbortError`,`AbortError`)),r()};e.addEventListener(`complete`,i),e.addEventListener(`error`,a),e.addEventListener(`abort`,a)});he.set(e,t)}var xe={get(e,t,n){if(e instanceof IDBTransaction){if(t===`done`)return he.get(e);if(t===`objectStoreNames`)return e.objectStoreNames||ge.get(e);if(t===`store`)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return Te(e[t])},set(e,t,n){return e[t]=n,!0},has(e,t){return e instanceof IDBTransaction&&(t===`done`||t===`store`)?!0:t in e}};function Se(e){xe=e(xe)}function Ce(e){return e===IDBDatabase.prototype.transaction&&!(`objectStoreNames`in IDBTransaction.prototype)?function(t,...n){let r=e.call(Ee(this),t,...n);return ge.set(r,t.sort?t.sort():[t]),Te(r)}:pe().includes(e)?function(...t){return e.apply(Ee(this),t),Te(me.get(this))}:function(...t){return Te(e.apply(Ee(this),t))}}function we(e){return typeof e==`function`?Ce(e):(e instanceof IDBTransaction&&be(e),le(e,fe())?new Proxy(e,xe):e)}function Te(e){if(e instanceof IDBRequest)return ye(e);if(_e.has(e))return _e.get(e);let t=we(e);return t!==e&&(_e.set(e,t),ve.set(t,e)),t}var Ee=e=>ve.get(e);function De(e,t,{blocked:n,upgrade:r,blocking:i,terminated:a}={}){let o=indexedDB.open(e,t),s=Te(o);return r&&o.addEventListener(`upgradeneeded`,e=>{r(Te(o.result),e.oldVersion,e.newVersion,Te(o.transaction),e)}),n&&o.addEventListener(`blocked`,e=>n(e.oldVersion,e.newVersion,e)),s.then(e=>{a&&e.addEventListener(`close`,()=>a()),i&&e.addEventListener(`versionchange`,e=>i(e.oldVersion,e.newVersion,e))}).catch(()=>{}),s}function Oe(e,{blocked:t}={}){let n=indexedDB.deleteDatabase(e);return t&&n.addEventListener(`blocked`,e=>t(e.oldVersion,e)),Te(n).then(()=>void 0)}var ke=[`get`,`getKey`,`getAll`,`getAllKeys`,`count`],Ae=[`put`,`add`,`delete`,`clear`],je=new Map;function Me(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t==`string`))return;if(je.get(t))return je.get(t);let n=t.replace(/FromIndex$/,``),r=t!==n,i=Ae.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!(i||ke.includes(n)))return;let a=async function(e,...t){let a=this.transaction(e,i?`readwrite`:`readonly`),o=a.store;
1return r&&(o=o.index(t.shift())),(await Promise.all([o[n](...t),i&&a.done]))[0]};return je.set(t,a),a}Se(e=>({...e,get:(t,n,r)=>Me(t,n)||e.get(t,n,r),has:(t,n)=>!!Me(t,n)||e.has(t,n)}));try{self[`workbox:expiration:7.3.0`]&&_()}catch{}var Ne=`workbox-expiration`,Pe=`cache-entries`,Fe=e=>{let t=new URL(e,location.href);return t.hash=``,t.href},Ie=class{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){let t=e.createObjectStore(Pe,{keyPath:`id`});t.createIndex(`cacheName`,`cacheName`,{unique:!1}),t.createIndex(`timestamp`,`timestamp`,{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&Oe(this._cacheName)}async setTimestamp(e,t){e=Fe(e);let n={url:e,timestamp:t,cacheName:this._cacheName,id:this._getId(e)},r=(await this.getDb()).transaction(Pe,`readwrite`,{durability:`relaxed`});await r.store.put(n),await r.done}async getTimestamp(e){return(await(await this.getDb()).get(Pe,this._getId(e)))?.timestamp}async expireEntries(e,t){let n=await this.getDb(),r=await n.transaction(Pe).store.index(`timestamp`).openCursor(null,`prev`),i=[],a=0;for(;r;){let n=r.value;n.cacheName===this._cacheName&&(e&&n.timestamp<e||t&&a>=t?i.push(r.value):a++),r=await r.continue()}let o=[];for(let e of i)await n.delete(Pe,e.id),o.push(e.url);return o}_getId(e){return this._cacheName+`|`+Fe(e)}async getDb(){return this._db||=await De(Ne,1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)}),this._db}},Le=class{constructor(e,t={}){this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new Ie(e)}async expireEntries(){if(this._isRunning){this._rerunRequested=!0;return}this._isRunning=!0;let e=this._maxAgeSeconds?Date.now()-this._maxAgeSeconds*1e3:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),n=await self.caches.open(this._cacheName);for(let e of t)await n.delete(e,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,ee(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(this._maxAgeSeconds){let t=await this._timestampModel.getTimestamp(e),n=Date.now()-this._maxAgeSeconds*1e3;return t===void 0?!0:t<n}else return!1}async delete(){this._rerunRequested=!1,await this._timestampModel.expireEntries(1/0)}},Re=class{constructor(e={}){this.cachedResponseWillBeUsed=async({event:e,request:t,cacheName:n,cachedResponse:r})=>{if(!r)return null;let i=this._isResponseDateFresh(r),a=this._getCacheExpiration(n);ee(a.expireEntries());let o=a.updateTimestamp(t.url);if(e)try{e.waitUntil(o)}catch{}return i?r:null},this.cacheDidUpdate=async({cacheName:e,request:t})=>{let n=this._getCacheExpiration(e);await n.updateTimestamp(t.url),await n.expireEntries()},this._config=e,this._maxAgeSeconds=e.maxAgeSeconds,this._cacheExpirations=new Map,e.purgeOnQuotaError&&p(()=>
1this.deleteCacheAndMetadata())}_getCacheExpiration(e){if(e===v.getRuntimeName())throw new d(`expire-custom-caches-only`);let t=this._cacheExpirations.get(e);return t||(t=new Le(e,this._config),this._cacheExpirations.set(e,t)),t}_isResponseDateFresh(e){if(!this._maxAgeSeconds)return!0;let t=this._getDateHeaderTimestamp(e);return t===null?!0:t>=Date.now()-this._maxAgeSeconds*1e3}_getDateHeaderTimestamp(e){if(!e.headers.has(`date`))return null;let t=e.headers.get(`date`),n=new Date(t).getTime();return isNaN(n)?null:n}async deleteCacheAndMetadata(){for(let[e,t]of this._cacheExpirations)await self.caches.delete(e),await t.delete();this._cacheExpirations=new Map}};try{self[`workbox:precaching:7.3.0`]&&_()}catch{}var ze=`__WB_REVISION__`;function Be(e){if(!e)throw new d(`add-to-cache-list-unexpected-type`,{entry:e});if(typeof e==`string`){let t=new URL(e,location.href);return{cacheKey:t.href,url:t.href}}let{revision:t,url:n}=e;if(!n)throw new d(`add-to-cache-list-unexpected-type`,{entry:e});if(!t){let e=new URL(n,location.href);return{cacheKey:e.href,url:e.href}}let r=new URL(n,location.href),i=new URL(n,location.href);return r.searchParams.set(ze,t),{cacheKey:r.href,url:i.href}}var Ve=class{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:n})=>{if(e.type===`install`&&t&&t.originalRequest&&t.originalRequest instanceof Request){let e=t.originalRequest.url;n?this.notUpdatedURLs.push(e):this.updatedURLs.push(e)}return n}}},He=class{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:e,params:t})=>{let n=t?.cacheKey||this._precacheController.getCacheKeyForURL(e.url);return n?new Request(n,{headers:e.headers}):e},this._precacheController=e}};try{self[`workbox:strategies:7.3.0`]&&_()}catch{}function Ue(e){return typeof e==`string`?new Request(e):e}var We=class{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new C,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(let e of this._plugins)this._pluginStateMap.set(e,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){let{event:t}=this,n=Ue(e);if(n.mode===`navigate`&&t instanceof FetchEvent&&t.preloadResponse){let e=await t.preloadResponse;if(e)return e}let r=this.hasCallback(`fetchDidFail`)?n.clone():null;try{for(let e of this.iterateCallbacks(`requestWillFetch`))n=await e({request:n.clone(),event:t})}catch(e){if(e instanceof Error)throw new d(`plugin-error-request-will-fetch`,{thrownErrorMessage:e.message})}let i=n.clone();try{let e;e=await fetch(n,n.mode===`navigate`?void 0:this._strategy.fetchOptions);for(let n of this.iterateCallbacks(`fetchDidSucceed`))e=await n({event:t,request:i,response:e});return e}catch(e){throw r&&await this.runCallbacks(`fetchDidFail`,{error:e,event:t,originalRequest:r.clone(),request:i.clone()}),e}}async fetchAndCachePut(e){let t=await this.fetch(e),n=t.clone();return this.waitUntil(this.cachePut(e,n)),t}async cacheMatch(e){let t=Ue(e),n,{cacheName:r,matchOptions:i}=this._strategy,a=await this.getCacheKey(t,`read`),o=Object.assign(Object.assign({},i),{cacheName:r});n=await caches.match(a,o);for(let e of this.iterateCallbacks(`cachedResponseWillBeUsed`))n=await e({cacheName:r,matchOptions:i,cachedResponse:n,request:a,event:this.event})||void 0;return n}async cachePut(e,t){let n=Ue(e);await re(0);let r=await this.getCacheKey(n,`write`);if(!t)throw new d(`cache-put-with-no-response`,{url:ne(r.url)});let i=await this._ensureResponseSafeToCache(t);if(!i)return!1;let{cacheName:a,matchOptions:o}=this._strategy,s=await self.caches.open(a),c=this.hasCallback(`cacheDidUpdate`),l=c?await b(s,r.clone(),[`__WB_REVISION__`],o):null;try{await s.put(r,c?i.clone():i)}catch(e){if(e instanceof Error)throw e.name===`QuotaExceededError`&&await te(),e}for(let e of this.iterateCallbacks(`cacheDidUpdate`))await e({cacheName:a,oldResponse:l,newResponse:i.clone(),request:r,event:this.event});return!0}async getCacheKey(e,t){let n=`${e.url} | ${t}`;if(!this._cacheKeys[n]){let r=e;for(let e of this.iterateCallbacks(`cacheKeyWillBeUsed`))r=Ue(await e({mode:t,request:r,event:this.event,params:this.params}));this._cacheKeys[n]=r}return this._cacheKeys[n]}hasCallback(e){for(let t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(let n of this.iterateCallbacks(e))await n(t)}*iterateCallbacks(e){for(let t of this._strategy.plugins)if(typeof t[e]==`function`){let n=this._pluginStateMap.get(t);yield r=>{let i=Object.assign(Object.assign({},r),{state:n});return t[e](i)}}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){for(;this._extendLifetimePromises.length;){let e=this._extendLifetimePromises.splice(0),t=(await Promise.allSettled(e)).find(e=>e.status===`rejected`);if(t)throw t.reason}}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,n=!1;for(let e of this.iterateCallbacks(`cacheWillUpdate`))if(t=await e({request:this.request,response:t,event:this.event})||void 0,n=!0,!t)break;return n||t&&t.status!==200&&(t=void 0),t}},Ge=class{constructor(e={}
1){this.cacheName=v.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){let[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});let t=e.event,n=typeof e.request==`string`?new Request(e.request):e.request,r=`params`in e?e.params:void 0,i=new We(this,{event:t,request:n,params:r}),a=this._getResponse(i,n,t);return[a,this._awaitComplete(a,i,n,t)]}async _getResponse(e,t,n){await e.runCallbacks(`handlerWillStart`,{event:n,request:t});let r;try{if(r=await this._handle(t,e),!r||r.type===`error`)throw new d(`no-response`,{url:t.url})}catch(i){if(i instanceof Error){for(let a of e.iterateCallbacks(`handlerDidError`))if(r=await a({error:i,event:n,request:t}),r)break}if(!r)throw i}for(let i of e.iterateCallbacks(`handlerWillRespond`))r=await i({event:n,request:t,response:r});return r}async _awaitComplete(e,t,n,r){let i,a;try{i=await e}catch{}try{await t.runCallbacks(`handlerDidRespond`,{event:r,request:n,response:i}),await t.doneWaiting()}catch(e){e instanceof Error&&(a=e)}if(await t.runCallbacks(`handlerDidComplete`,{event:r,request:n,response:i,error:a}),t.destroy(),a)throw a}},Ke=class e extends Ge{constructor(t={}){t.cacheName=v.getPrecacheName(t.cacheName),super(t),this._fallbackToNetwork=t.fallbackToNetwork!==!1,this.plugins.push(e.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){return await t.cacheMatch(e)||(t.event&&t.event.type===`install`?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let n,r=t.params||{};if(this._fallbackToNetwork){let i=r.integrity,a=e.integrity,o=!a||a===i;n=await t.fetch(new Request(e,{integrity:e.mode===`no-cors`?void 0:a||i})),i&&o&&e.mode!==`no-cors`&&(this._useDefaultCacheabilityPluginIfNeeded(),await t.cachePut(e,n.clone()))}else throw new d(`missing-precache-entry`,{cacheName:this.cacheName,url:e.url});return n}async _handleInstall(e,t){this._useDefaultCacheabilityPluginIfNeeded();let n=await t.fetch(e);if(!await t.cachePut(e,n.clone()))throw new d(`bad-precaching-response`,{url:e.url,status:n.status});return n}_useDefaultCacheabilityPluginIfNeeded(){let t=null,n=0;for(let[r,i]of this.plugins.entries())i!==e.copyRedirectedCacheableResponsesPlugin&&(i===e.defaultPrecacheCacheabilityPlugin&&(t=r),i.cacheWillUpdate&&n++);n===0?this.plugins.push(e.defaultPrecacheCacheabilityPlugin):n>1&&t!==null&&this.plugins.splice(t,1)}};Ke.defaultPrecacheCacheabilityPlugin={async cacheWillUpdate({response:e}){return!e||e.status>=400?null:e}},Ke.copyRedirectedCacheableResponsesPlugin={async cacheWillUpdate({response:e}){return e.redirected?await ae(e):e}};var qe=class{constructor({cacheName:e,plugins:t=[],fallbackToNetwork:n=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new Ke({cacheName:v.getPrecacheName(e),plugins:[...t,new He({precacheController:this})],fallbackToNetwork:n}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||=(self.addEventListener(`install`,this.install),self.addEventListener(`activate`,this.activate),!0)}addToCacheList(e){let t=[];for(let n of e){typeof n==`string`?t.push(n):n&&n.revision===void 0&&t.push(n.url);let{cacheKey:e,url:r}=Be(n),i=typeof n!=`string`&&n.revision?`reload`:`default`;if(this._urlsToCacheKeys.has(r)&&this._urlsToCacheKeys.get(r)!==e)throw new d(`add-to-cache-list-conflicting-entries`,{firstEntry:this._urlsToCacheKeys.get(r),secondEntry:e});if(typeof n!=`string`&&n.integrity){if(this._cacheKeysToIntegrities.has(e)&&this._cacheKeysToIntegrities.get(e)!==n.integrity)throw new d(`add-to-cache-list-conflicting-integrities`,{url:r});this._cacheKeysToIntegrities.set(e,n.integrity)}if(this._urlsToCacheKeys.set(r,e),this._urlsToCacheModes.set(r,i),t.length>0){let e=`Workbox is precaching URLs without revision info: ${t.join(`, `)}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(e)}}}install(e){return ie(e,async()=>{let t=new Ve;this.strategy.plugins.push(t);for(let[t,n]of this._urlsToCacheKeys){let r=this._cacheKeysToIntegrities.get(n),i=this._urlsToCacheModes.get(t),a=new Request
1(t,{integrity:r,cache:i,credentials:`same-origin`});await Promise.all(this.strategy.handleAll({params:{cacheKey:n},request:a,event:e}))}let{updatedURLs:n,notUpdatedURLs:r}=t;return{updatedURLs:n,notUpdatedURLs:r}})}activate(e){return ie(e,async()=>{let e=await self.caches.open(this.strategy.cacheName),t=await e.keys(),n=new Set(this._urlsToCacheKeys.values()),r=[];for(let i of t)n.has(i.url)||(await e.delete(i),r.push(i.url));return{deletedURLs:r}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){let t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){let t=e instanceof Request?e.url:e,n=this.getCacheKeyForURL(t);if(n)return(await self.caches.open(this.strategy.cacheName)).match(n)}createHandlerBoundToURL(e){let t=this.getCacheKeyForURL(e);if(!t)throw new d(`non-precached-url`,{url:e});return n=>(n.request=new Request(e),n.params=Object.assign({cacheKey:t},n.params),this.strategy.handle(n))}},Je,Ye=()=>(Je||=new qe,Je);try{self[`workbox:routing:7.3.0`]&&_()}catch{}var Xe=e=>e&&typeof e==`object`?e:{handle:e},Ze=class{constructor(e,t,n=`GET`){this.handler=Xe(t),this.match=e,this.method=n}setCatchHandler(e){this.catchHandler=Xe(e)}},Qe=class extends Ze{constructor(e,t,n){super(({url:t})=>{let n=e.exec(t.href);if(n&&!(t.origin!==location.origin&&n.index!==0))return n.slice(1)},t,n)}},$e=class{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener(`fetch`,(e=>{let{request:t}=e,n=this.handleRequest({request:t,event:e});n&&e.respondWith(n)}))}addCacheListener(){self.addEventListener(`message`,(e=>{if(e.data&&e.data.type===`CACHE_URLS`){let{payload:t}=e.data,n=Promise.all(t.urlsToCache.map(t=>{typeof t==`string`&&(t=[t]);let n=new Request(...t);return this.handleRequest({request:n,event:e})}));e.waitUntil(n),e.ports&&e.ports[0]&&n.then(()=>e.ports[0].postMessage(!0))}}))}handleRequest({request:e,event:t}){let n=new URL(e.url,location.href);if(!n.protocol.startsWith(`http`))return;let r=n.origin===location.origin,{params:i,route:a}=this.findMatchingRoute({event:t,request:e,sameOrigin:r,url:n}),o=a&&a.handler,s=e.method;if(!o&&this._defaultHandlerMap.has(s)&&(o=this._defaultHandlerMap.get(s)),!o)return;let c;try{c=o.handle({url:n,request:e,event:t,params:i})}catch(e){c=Promise.reject(e)}let l=a&&a.catchHandler;return c instanceof Promise&&(this._catchHandler||l)&&(c=c.catch(async r=>{if(l)try{return await l.handle({url:n,request:e,event:t,params:i})}catch(e){e instanceof Error&&(r=e)}if(this._catchHandler)return this._catchHandler.handle({url:n,request:e,event:t});throw r})),c}findMatchingRoute({url:e,sameOrigin:t,request:n,event:r}){let i=this._routes.get(n.method)||[];for(let a of i){let i,o=a.match({url:e,sameOrigin:t,request:n,event:r});if(o)return i=o,(Array.isArray(i)&&i.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o==`boolean`)&&(i=void 0),{route:a,params:i}}return{}}setDefaultHandler(e,t=`GET`){this._defaultHandlerMap.set(t,Xe(e))}setCatchHandler(e){this._catchHandler=Xe(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new d(`unregister-route-but-not-found-with-method`,{method:e.method});let t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new d(`unregister-route-route-not-registered`)}},et,tt=()=>(et||(et=new $e,et.addFetchListener(),et.addCacheListener()),et);function nt(e,t,n){let r;if(typeof e==`string`){let i=new URL(e,location.href);r=new Ze(({url:e})=>e.href===i.href,t,n)}else if(e instanceof RegExp)r=new Qe(e,t,n);else if(typeof e==`function`)r=new Ze(e,t,n);else if(e instanceof Ze)r=e;else throw new d(`unsupported-route-type`,{moduleName:`workbox-routing`,funcName:`registerRoute`,paramName:`capture`});return tt().registerRoute(r),r}function rt(e,t=[]){for(let n of[...e.searchParams.keys()])t.some(e=>e.test(n))&&e.searchParams.delete(n);return e}function*it(e,{ignoreURLParametersMatching:t=[/^utm_/,/^fbclid$/],directoryIndex:n=`index.html`,cleanURLs:r=!0,urlManipulation:i}={}){let a=new URL(e,location.href);a.hash=``,yield a.href;let o=rt(a,t);if(yield o.href,n&&o.pathname.endsWith(`/`)){let e=new URL(o.href);e.pathname+=n,yield e.href}if(r){let e=new URL(o.href);e.pathname+=`.html`,yield e.href}if(i){let e=i({url:a});for(let t of e)yield t.href}}var at=class extends Ze{constructor(e,t){super(({request:n})=>{let r=e.getURLsToCacheKeys();for(let i of it(n.url,t)){let t=r.get(i);if(t)return{cacheKey:t,integrity:e.getIntegrityForCacheKey(t)}}},e.strategy)}};function ot(e){nt(new at(Ye(),e))}var st=`-precache-`,ct=async(e,t=st)=>{let n=(await self.caches.keys()).filter(n=>n.includes(t)&&n.includes(self.registration.scope)&&n!==e);return await Promise.all(n.map(e=>
1self.caches.delete(e))),n};function lt(){self.addEventListener(`activate`,(e=>{let t=v.getPrecacheName();e.waitUntil(ct(t).then(e=>{}))}))}function ut(e){Ye().precache(e)}function dt(e,t){ut(e),ot(t)}var ft=class extends Ze{constructor(e,{allowlist:t=[/./],denylist:n=[]}={}){super(e=>this._match(e),e),this._allowlist=t,this._denylist=n}_match({url:e,request:t}){if(t&&t.mode!==`navigate`)return!1;let n=e.pathname+e.search;for(let e of this._denylist)if(e.test(n))return!1;return!!this._allowlist.some(e=>e.test(n))}},pt=class extends Ge{async _handle(e,t){let n=await t.cacheMatch(e),r;if(!n)try{n=await t.fetchAndCachePut(e)}catch(e){e instanceof Error&&(r=e)}if(!n)throw new d(`no-response`,{url:e.url,error:r});return n}},mt=e=>{self.skipWaiting(),oe(),dt(e),lt(),nt(new ft(()=>fetch(`/`),{denylist:[/^\/api\//,/^\/_/]})),nt(/\.(?:woff|woff2|eot|ttf|otf)$/,new pt({cacheName:`fonts-cache`,plugins:[new Re({maxEntries:50,maxAgeSeconds:3600*24*365}),new ce({statuses:[0,200]})]})),nt(/\.(?:png|jpg|jpeg|svg|gif|webp)$/,new pt({cacheName:`images-cache`,plugins:[new Re({maxEntries:60,maxAgeSeconds:720*60*60})]}))},ht=o(((e,t)=>{(function(){var n,r=`4.17.21`,i=200,a=`Unsupported core-js use. Try https://npms.io/search?q=ponyfill.`,o=`Expected a function`,s="Invalid `variable` option passed into `_.template`",c=`__lodash_hash_undefined__`,l=500,u=`__lodash_placeholder__`,d=1,f=2,p=4,m=1,h=2,g=1,v=2,y=4,b=8,x=16,S=32,ee=64,C=128,te=256,ne=512,re=30,ie=`...`,ae=800,oe=16,se=1,ce=2,le=3,ue=1/0,de=9007199254740991,fe=17976931348623157e292,pe=NaN,me=4294967295,he=me-1,ge=me>>>1,_e=[[`ary`,C],[`bind`,g],[`bindKey`,v],[`curry`,b],[`curryRight`,x],[`flip`,ne],[`partial`,S],[`partialRight`,ee],[`rearg`,te]],ve=`[object Arguments]`,ye=`[object Array]`,be=`[object AsyncFunction]`,xe=`[object Boolean]`,Se=`[object Date]`,Ce=`[object DOMException]`,we=`[object Error]`,Te=`[object Function]`,Ee=`[object GeneratorFunction]`,De=`[object Map]`,Oe=`[object Number]`,ke=`[object Null]`,Ae=`[object Object]`,je=`[object Promise]`,Me=`[object Proxy]`,Ne=`[object RegExp]`,Pe=`[object Set]`,Fe=`[object String]`,Ie=`[object Symbol]`,Le=`[object Undefined]`,Re=`[object WeakMap]`,ze=`[object WeakSet]`,Be=`[object ArrayBuffer]`,Ve=`[object DataView]`,He=`[object Float32Array]`,Ue=`[object Float64Array]`,We=`[object Int8Array]`,Ge=`[object Int16Array]`,Ke=`[object Int32Array]`,qe=`[object Uint8Array]`,Je=`[object Uint8ClampedArray]`,Ye=`[object Uint16Array]`,Xe=`[object Uint32Array]`,Ze=/\b__p \+= '';/g,Qe=/\b(__p \+=) '' \+/g,$e=/(__e\(.*?\)|\b__t\)) \+\n'';/g,et=/&(?:amp|lt|gt|quot|#39);/g,tt=/[&<>"']/g,nt=RegExp(et.source),rt=RegExp(tt.source),it=/<%-([\s\S]+?)%>/g,at=/<%([\s\S]+?)%>/g,ot=/<%=([\s\S]+?)%>/g,st=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ct=/^\w*$/,lt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ut=/[\\^$.*+?()[\]{}|]/g,dt=RegExp(ut.source),ft=/^\s+/,pt=/\s/,mt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ht=/\{\n\/\* \[wrapped with (.+)\] \*/,gt=/,? & /,_t=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,vt=/[()=,{}\[\]\/\s]/,yt=/\\(\\)?/g,bt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,xt=/\w*$/,St=/^[-+]0x[0-9a-f]+$/i,Ct=/^0b[01]+$/i,wt=/^\[object .+?Constructor\]$/,Tt=/^0o[0-7]+$/i,Et=/^(?:0|[1-9]\d*)$/,Dt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u01
vendor: 47,155 bytes, lines 1-3
17f]/g,Ot=/($^)/,kt=/['\n\r\u2028\u2029\\]/g,At=`\\ud800-\\udfff`,jt=`\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff`,Mt=`\\u2700-\\u27bf`,w=`a-z\\xdf-\\xf6\\xf8-\\xff`,Nt=`\\xac\\xb1\\xd7\\xf7`,Pt=`\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf`,Ft=`\\u2000-\\u206f`,It=` \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000`,T=`A-Z\\xc0-\\xd6\\xd8-\\xde`,Lt=`\\ufe0e\\ufe0f`,Rt=Nt+Pt+Ft+It,zt=`['’]`,E=`[`+At+`]`,Bt=`[`+Rt+`]`,Vt=`[`+jt+`]`,Ht=`\\d+`,Ut=`[`+Mt+`]`,Wt=`[`+w+`]`,Gt=`[^`+At+Rt+Ht+Mt+w+T+`]`,Kt=`\\ud83c[\\udffb-\\udfff]`,qt=`(?:`+Vt+`|`+Kt+`)`,Jt=`[^`+At+`]`,Yt=`(?:\\ud83c[\\udde6-\\uddff]){2}`,Xt=`[\\ud800-\\udbff][\\udc00-\\udfff]`,Zt=`[`+T+`]`,Qt=`\\u200d`,$t=`(?:`+Wt+`|`+Gt+`)`,en=`(?:`+Zt+`|`+Gt+`)`,tn=`(?:`+zt+`(?:d|ll|m|re|s|t|ve))?`,nn=`(?:`+zt+`(?:D|LL|M|RE|S|T|VE))?`,rn=qt+`?`,D=`[`+Lt+`]?`,an=`(?:`+Qt+`(?:`+[Jt,Yt,Xt].join(`|`)+`)`+D+rn+`)*`,on=`\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])`,sn=`\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])`,O=D+rn+an,cn=`(?:`+[Ut,Yt,Xt].join(`|`)+`)`+O,ln=`(?:`+[Jt+Vt+`?`,Vt,Yt,Xt,E].join(`|`)+`)`,k=RegExp(zt,`g`),A=RegExp(Vt,`g`),j=RegExp(Kt+`(?=`+Kt+`)|`+ln+O,`g`),M=RegExp([Zt+`?`+Wt+`+`+tn+`(?=`+[Bt,Zt,`$`].join(`|`)+`)`,en+`+`+nn+`(?=`+[Bt,Zt+$t,`$`].join(`|`)+`)`,Zt+`?`+$t+`+`+tn,Zt+`+`+nn,sn,on,Ht,cn].join(`|`),`g`),N=RegExp(`[`+Qt+At+jt+Lt+`]`),un=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,P=`Array.Buffer.DataView.Date.Error.Float32Array.Float64Array.Function.Int8Array.Int16Array.Int32Array.Map.Math.Object.Promise.RegExp.Set.String.Symbol.TypeError.Uint8Array.Uint8ClampedArray.Uint16Array.Uint32Array.WeakMap._.clearTimeout.isFinite.parseInt.setTimeout`.split(`.`),dn=-1,F={};F[He]=F[Ue]=F[We]=F[Ge]=F[Ke]=F[qe]=F[Je]=F[Ye]=F[Xe]=!0,F[ve]=F[ye]=F[Be]=F[xe]=F[Ve]=F[Se]=F[we]=F[Te]=F[De]=F[Oe]=F[Ae]=F[Ne]=F[Pe]=F[Fe]=F[Re]=!1;var I={};I[ve]=I[ye]=I[Be]=I[Ve]=I[xe]=I[Se]=I[He]=I[Ue]=I[We]=I[Ge]=I[Ke]=I[De]=I[Oe]=I[Ae]=I[Ne]=I[Pe]=I[Fe]=I[Ie]=I[qe]=I[Je]=I[Ye]=I[Xe]=!0,I[we]=I[Te]=I[Re]=!1;var L={À:`A`,Á:`A`,Â:`A`,Ã:`A`,Ä:`A`,Å:`A`,à:`a`,á:`a`,â:`a`,ã:`a`,ä:`a`,å:`a`,Ç:`C`,ç:`c`,Ð:`D`,ð:`d`,È:`E`,É:`E`,Ê:`E`,Ë:`E`,è:`e`,é:`e`,ê:`e`,ë:`e`,Ì:`I`,Í:`I`,Î:`I`,Ï:`I`,ì:`i`,í:`i`,î:`i`,ï:`i`,Ñ:`N`,ñ:`n`,Ò:`O`,Ó:`O`,Ô:`O`,Õ:`O`,Ö:`O`,Ø:`O`,ò:`o`,ó:`o`,ô:`o`,õ:`o`,ö:`o`,ø:`o`,Ù:`U`,Ú:`U`,Û:`U`,Ü:`U`,ù:`u`,ú:`u`,û:`u`,ü:`u`,Ý:`Y`,ý:`y`,ÿ:`y`,Æ:`Ae`,æ:`ae`,Þ:`Th`,þ:`th`,ß:`ss`,Ā:`A`,Ă:`A`,Ą:`A`,ā:`a`,ă:`a`,ą:`a`,Ć:`C`,Ĉ:`C`,Ċ:`C`,Č:`C`,ć:`c`,ĉ:`c`,ċ:`c`,č:`c`,Ď:`D`,Đ:`D`,ď:`d`,đ:`d`,Ē:`E`,Ĕ:`E`,Ė:`E`,Ę:`E`,Ě:`E`,ē:`e`,ĕ:`e`,ė:`e`,ę:`e`,ě:`e`,Ĝ:`G`,Ğ:`G`,Ġ:`G`,Ģ:`G`,ĝ:`g`,ğ:`g`,ġ:`g`,ģ:`g`,Ĥ:`H`,Ħ:`H`,ĥ:`h`,ħ:`h`,Ĩ:`I`,Ī:`I`,Ĭ:`I`,Į:`I`,İ:`I`,ĩ:`i`,ī:`i`,ĭ:`i`,į:`i`,ı:`i`,Ĵ:`J`,ĵ:`j`,Ķ:`K`,ķ:`k`,ĸ:`k`,Ĺ:`L`,Ļ:`L`,Ľ:`L`,Ŀ:`L`,Ł:`L`,ĺ:`l`,ļ:`l`,ľ:`l`,ŀ:`l`,ł:`l`,Ń:`N`,Ņ:`N`,Ň:`N`,Ŋ:`N`,ń:`n`,ņ:`n`,ň:`n`,ŋ:`n`,Ō:`O`,Ŏ:`O`,Ő:`O`,ō:`o`,ŏ:`o`,ő:`o`,Ŕ:`R`,Ŗ:`R`,Ř:`R`,ŕ:`r`,ŗ:`r`,ř:`r`,Ś:`S`,Ŝ:`S`,Ş:`S`,Š:`S`,ś:`s`,ŝ:`s`,ş:`s`,š:`s`,Ţ:`T`,Ť:`T`,Ŧ:`T`,ţ:`t`,ť:`t`,ŧ:`t`,Ũ:`U`,Ū:`U`,Ŭ:`U`,Ů:`U`,Ű:`U`,Ų:`U`,ũ:`u`,ū:`u`,ŭ:`u`,ů:`u`,ű:`u`,ų:`u`,Ŵ:`W`,ŵ:`w`,Ŷ:`Y`,ŷ:`y`,Ÿ:`Y`,Ź:`Z`,Ż:`Z`,Ž:`Z`,ź:`z`,ż:`z`,ž:`z`,IJ:`IJ`,ij:`ij`,Œ:`Oe`,œ:`oe`,ʼn:`'n`,ſ:`s`},fn={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`},pn={"&amp;":`&`,"&lt;":`<`,"&gt;":`>`,"&quot;":`"`,"&#39;":`'`},R={"\\":`\\`,"'":`'`,"\n":`n`,"\r":`r`,"\u2028":`u2028`,"\u2029":`u2029`},mn=parseFloat,hn=parseInt,gn=typeof global==`object`&&global&&global.Object===Object&&global,_n=typeof self==`object`&&self&&self.Object===Object&&self,vn=gn||_n||Function(`return this`)(),yn=typeof e==`object`&&e&&!e.nodeType&&e,bn=yn&&typeof t==`object`&&t&&!t.nodeType&&t,xn=bn&&bn.exports===yn,z=xn&&gn.process,Sn=function(){try{return bn&&bn.require&&bn.require(`util`).types||z&&z.binding&&z.binding(`util`)}catch{}}(),Cn=Sn&&Sn.isArrayBuffer,wn=Sn&&Sn.isDate,Tn=Sn&&Sn.isMap,En=Sn&&Sn.isRegExp,Dn=Sn&&Sn.isSet,On=Sn&&Sn.isTypedArray;function kn(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function An(e,t,n,r){for(var i=-1,a=e==null?0:e.length;++i<a;){var o=e[i];t(r,o,n(o),e)}return r}function jn(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}function Mn(e,t){for(var n=e==null?0:e.length;n--&&t(e[n],n,e)!==!1;);return e}function Nn(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}function Pn(e,t){for(var n=-1,r=e==null?0:e.length,i=0,a=[];++n<r;){var o=e[n];t(o,n,e)&&(a[i++]=o)}return a}function Fn(e,t){return!!(e!=null&&e.length)&&Wn(e,t,0)>-1}function B(e,t,n){for(var r=-1,i=e==null?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}function In(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}function Ln(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}function Rn(e,t,n,r){var i=-1,a=e==null?0:e.length;for(r&&a&&(n=e[++i]);++i<a;)n=t(n,e[i],i,e);return n}function V(e,t,n,r){var i=e==null?0:e.length;for(r&&i&&(n=e[--i]);i--;)n=t(n,e[i],i,e);return n}function zn(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}var Bn=Jn(`length`);function Vn(e){return e.split(``)}function Hn(e){return e.match(_t)||[]}function Un(e,t,n){var r;return n(e,function(e,n,i){if(t(e,n,i))return r=n,!1}),r}function H(e,t,n,r){for(var i=e.length,a=n+(r?1:-1);r?a--:++a<i;)if(t(e[a],a,e))return a;return-1}function Wn(e,t,n){return t===t?vr(e,t,n):H(e,Kn,n)}function Gn(e,t,n,r){for(var i=n-1,a=e.length;++i<a;)if(r(e[i],t))return i;return-1}function Kn(e){return e!==e}function qn(e,t){var n=e==null?0:e.length;return n?Qn(e,t)/n:pe}function Jn(e){return function(t){return t==null?n:t[e]}}function Yn(e){return function(t){return e==null?n:e[t]}}function Xn(e,t,n,r,i){return i(e,function(e,i,a){n=r?(r=!1,e):t(n,e,i,a)}),n}function Zn(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}function Qn(e,t){for(var r,i=-1,a=e.length;++i<a;){var o=t(e[i]);o!==n&&(r=r===n?o:r+o)}return r}function $n(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function er(e,t){return In(t,function(t){return[t,e[t]]})}function tr(e){return e&&e.slice(0,Sr(e)+1).replace(ft,``)}function nr(e){return function(t){return e(t)}}function rr(e,t){return In(t,function(t){return e[t]})}function ir(e,t){return e.has(t)}function ar(e,t){for(var n=-1,r=e.length;++n<r&&Wn(t,e[n],0)>-1;);return n}function or(e,t){for(var n=e.length;n--&&Wn(t,e[n],0)>-1;);return n}function sr(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}var cr=Yn(L),U=Yn(fn);function W(e){return`\\`+R[e]}function lr(e,t){return e==null?n:e[t]}function ur(e){return N.test(e)}function dr(e){return un.test(e)}function fr(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}function pr(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function mr(e,t){return function(n){return e(t(n))}}function hr(e,t){for(var n=-1,r=e.length,i=0,a=[];++n<r;){var o=e[n];(o===t||o===u)&&(e[n]=u,a[i++]=n)}return a}function gr(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}function _r(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=[e,e]}),n}function vr(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}function yr(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}function br(e){return ur(e)?wr(e):Bn(e)}function xr(e){return ur(e)?Tr(e):Vn(e)}function Sr(e){for(var t=e.length;t--&&pt.test(e.charAt(t)););return t}var Cr=Yn(pn);function wr(e){for(var t=j.lastIndex=0;j.test(e);)++t;return t}function Tr(e){return e.match(j)||[]}function Er(e){return e.match(M)||[]}var Dr=(function e(t){t=t==null?vn:Dr.defaults(vn.Object(),t,Dr.pick(vn,P));var pt=t.Array,_t=t.Date,At=t.Error,jt=t.Function,Mt=t.Math,w=t.Object,Nt=t.RegExp,Pt=t.String,Ft=t.TypeError,It=pt.prototype,T=jt.prototype,Lt=w.prototype,Rt=t[`__core-js_shared__`],zt=T.toString,E=Lt.hasOwnProperty,Bt=0,Vt=function(){var e=/[^.]+$/.exec(Rt&&Rt.keys&&Rt.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}(),Ht=Lt.toString,Ut=zt.call(w),Wt=vn._,Gt=Nt(`^`+zt.call(E).replace(ut,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`),Kt=xn?t.Buffer:n,qt=t.Symbol,Jt=t.Uint8Array,Yt=Kt?Kt.allocUnsafe:n,Xt=mr(w.getPrototypeOf,w),Zt=w.create,Qt=Lt.propertyIsEnumerable,$t=It.splice,en=qt?qt.isConcatSpreadable:n,tn=qt?qt.iterator:n,nn=qt?qt.toStringTag:n,rn=function(){try{var e=$o(w,`defineProperty`);return e({},``,{}),e}catch{}}(),D=t.clearTimeout!==vn.clearTimeout&&t.clearTimeout,an=_t&&_t.now!==vn.Date.now&&_t.now,on=t.setTimeout!==vn.setTimeout&&t.setTimeout,sn=Mt.ceil,O=Mt.floor,cn=w.getOwnPropertySymbols,ln=Kt?Kt.isBuffer:n,j=t.isFinite,M=It.join,N=mr(w.keys,w),un=Mt.max,L=Mt.min,fn=_t.now,pn=t.parseInt,R=Mt.random,gn=It.reverse,_n=$o(t,`DataView`),yn=$o(t,`Map`),bn=$o(t,`Promise`),z=$o(t,`Set`),Sn=$o(t,`WeakMap`),Bn=$o(w,`create`),Vn=Sn&&new Sn,Yn={},vr=Rs(_n),wr=Rs(yn),Tr=Rs(bn),Or=Rs(z),kr=Rs(Sn),Ar=qt?qt.prototype:n,jr=Ar?Ar.valueOf:n,Mr=Ar?Ar.toString:n;function G(e){if(ku(e)&&!Y(e)&&!(e instanceof K)){if(e instanceof Fr)return e;if(E.call(e,`__wrapped__`))return Bs(e)}return new Fr(e)}var Nr=function(){function e(){}return function(t){if(!Ou(t))return{};if(Zt)return Zt(t);e.prototype=t;var r=new e;return e.prototype=n,r}}();function Pr(){}function Fr(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=n}G.templateSettings={escape:it,evaluate:at,interpolate:ot,variable:``,imports:{_:G}},G.prototype=Pr.prototype,G.prototype.constructor=G,Fr.prototype=Nr(Pr.prototype),Fr.prototype.constructor=Fr;function K(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=me,this.__views__=[]}function Ir(){var e=new K(this.__wrapped__);return e.__actions__=uo(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=uo(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=uo(this.__views__),e}function Lr(){if(this.__filtered__){var e=new K(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}function Rr(){var e=this.__wrapped__.value(),t=this.__dir__,n=Y(e),r=t<0,i=n?e.length:0,a=is(0,i,this.__views__),o=a.start,s=a.end,c=s-o,l=r?s:o-1,u=this.__iteratees__,d=u.length,f=0,p=L(c,this.__takeCount__);if(!n||!r&&i==c&&p==c)return Ga(e,this.__actions__);var m=[];outer:for(;c--&&f<p;){l+=t;for(var h=-1,g=e[l];++h<d;){var v=u[h],y=v.iteratee,b=v.type,x=y(g);if(b==ce)g=x;else if(!x){if(b==se)continue outer;break outer}}m[f++]=g}return m}K.prototype=Nr(Pr.prototype),K.prototype.constructor=K;function zr(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Br(){this.__data__=Bn?Bn(null):{},this.size=0}function Vr(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=+!!t,t}function Hr(e){var t=this.__data__;if(Bn){var r=t[e];return r===c?n:r}return E.call(t,e)?t[e]:n}function Ur(e){var t=this.__data__;return Bn?t[e]!==n:E.call(t,e)}function Wr(e,t){var r=this.__data__;return this.size+=+!this.has(e),r[e]=Bn&&t===n?c:t,this}zr.prototype.clear=Br,zr.prototype.delete=Vr,zr.prototype.get=Hr,zr.prototype.has=Ur,zr.prototype.set=Wr;function Gr(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Kr(){this.__data__=[],this.size=0}function qr(e){var t=this.__data__,n=vi(t,e);return n<0?!1:(n==t.length-1?t.pop():$t.call(t,n,1),--this.size,!0)}function Jr(e){var t=this.__data__,r=vi(t,e);return r<0?n:t[r][1]}function Yr(e){return vi(this.__data__,e)>-1}function Xr(e,t){var n=this.__data__,r=vi(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}Gr.prototype.clear=Kr,Gr.prototype.delete=qr,Gr.prototype.get=Jr,Gr.prototype.has=Yr,Gr.prototype.set=Xr;function Zr(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Qr(){this.size=0,this.__data__={hash:new zr,map:new(yn||Gr),string:new zr}}function $r(e){var t=Zo(this,e).delete(e);return this.size-=+!!t,t}function ei(e){return Zo(this,e).get(e)}function ti(e){return Zo(this,e).has(e)}function ni(e,t){var n=Zo(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}Zr.prototype.clear=Qr,Zr.prototype.delete=$r,Zr.prototype.get=ei,Zr.prototype.has=ti,Zr.prototype.set=ni;function ri(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new Zr;++t<n;)this.add(e[t])}function ii(e){return this.__data__.set(e,c),this}function ai(e){return this.__data__.has(e)}ri.prototype.add=ri.prototype.push=ii,ri.prototype.has=ai;function oi(e){var t=this.__data__=new Gr(e);this.size=t.size}function si(){this.__data__=new Gr,this.size=0}function ci(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function li(e){return this.__data__.get(e)}function ui(e){return this.__data__.has(e)}function di(e,t){var n=this.__data__;if(n instanceof Gr){var r=n.__data__;if(!yn||r.length<i-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Zr(r)}return n.set(e,t),this.size=n.size,this}oi.prototype.clear=si,oi.prototype.delete=ci,oi.prototype.get=li,oi.prototype.has=ui,oi.prototype.set=di;function fi(e,t){var n=Y(e),r=!n&&pu(e),i=!n&&!r&&vu(e),a=!n&&!r&&!i&&Wu(e),o=n||r||i||a,s=o?$n(e.length,Pt):[],c=s.length;for(var l in e)(t||E.call(e,l))&&!(o&&(l==`length`||i&&(l==`offset`||l==`parent`)||a&&(l==`buffer`||l==`byteLength`||l==`byteOffset`)||fs(l,c)))&&s.push(l);return s}function pi(e){var t=e.length;return t?e[Ta(0,t-1)]:n}function mi(e,t){return Fs(uo(e),wi(t,0,e.length))}function hi(e){return Fs(uo(e))}function gi(e,t,r){(r!==n&&!uu(e[t],r)||r===n&&!(t in e))&&Si(e,t,r)}function _i(e,t,r){var i=e[t];(!(E.call(e,t)&&uu(i,r))||r===n&&!(t in e))&&Si(e,t,r)}function vi(e,t){for(var n=e.length;n--;)if(uu(e[n][0],t))return n;return-1}function yi(e,t,n,r){return Ai(e,function(e,i,a){t(r,e,n(e),a)}),r}function bi(e,t){return e&&fo(t,wd(t),e)}function xi(e,t){return e&&fo(t,Td(t),e)}function Si(e,t,n){t==`__proto__`&&rn?rn(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function Ci(e,t){for(var r=-1,i=t.length,a=pt(i),o=e==null;++r<i;)a[r]=o?n:vd(e,t[r]);return a}function wi(e,t,r){return e===e&&(r!==n&&(e=e<=r?e:r),t!==n&&(e=e>=t?e:t)),e}function Ti(e,t,r,i,a,o){var s,c=t&d,l=t&f,u=t&p;if(r&&(s=a?r(e,i,a,o):r(e)),s!==n)return s;if(!Ou(e))return e;var m=Y(e);if(m){if(s=ss(e),!c)return uo(e,s)}else{var h=rs(e),g=h==Te||h==Ee;if(vu(e))return eo(e,c);if(h==Ae||h==ve||g&&!a){if(s=l||g?{}:cs(e),!c)return l?mo(e,xi(s,e)):po(e,bi(s,e))}else{if(!I[h])return a?e:{};s=ls(e,h,c)}}o||=new oi;var v=o.get(e);if(v)return v;o.set(e,s),Vu(e)?e.forEach(function(n){s.add(Ti(n,t,r,n,e,o))}):Au(e)&&e.forEach(function(n,i){s.set(i,Ti(n,t,r,i,e,o))});var y=m?n:(u?l?qo:Ko:l?Td:wd)(e);return jn(y||e,function(n,i){y&&(i=n,n=e[i]),_i(s,i,Ti(n,t,r,i,e,o))}),s}function Ei(e){var t=wd(e);return function(n){return Di(n,e,t)}}function Di(e,t,r){var i=r.length;if(e==null)return!i;for(e=w(e);i--;){var a=r[i],o=t[a],s=e[a];if(s===n&&!(a in e)||!o(s))return!1}return!0}function Oi(e,t,r){if(typeof e!=`function`)throw new Ft(o);return js(function(){e.apply(n,r)},t)}function ki(e,t,n,r){var a=-1,o=Fn,s=!0,c=e.length,l=[],u=t.length;if(!c)return l;n&&(t=In(t,nr(n))),r?(o=B,s=!1):t.length>=i&&(o=ir,s=!1,t=new ri(t));outer:for(;++a<c;){var d=e[a],f=n==null?d:n(d);if(d=r||d!==0?d:0,s&&f===f){for(var p=u;p--;)if(t[p]===f)continue outer;l.push(d)}else o(t,f,r)||l.push(d)}return l}var Ai=_o(zi),ji=_o(Bi,!0);function Mi(e,t){var n=!0;return Ai(e,function(e,r,i){return n=!!t(e,r,i),n}),n}function Ni(e,t,r){for(var i=-1,a=e.length;++i<a;){var o=e[i],s=t(o);if(s!=null&&(c===n?s===s&&!Uu(s):r(s,c)))var c=s,l=o}return l}function Pi(e,t,r,i){var a=e.length;for(r=Z(r),r<0&&(r=-r>a?0:a+r),i=i===n||i>a?a:Z(i),i<0&&(i+=a),i=r>i?0:Qu(i);r<i;)e[r++]=t;return e}function Fi(e,t){var n=[];return Ai(e,function(e,r,i){t(e,r,i)&&n.push(e)}),n}function Ii(e,t,n,r,i){var a=-1,o=e.length;for(n||=ds,i||=[];++a<o;){var s=e[a];t>0&&n(s)?t>1?Ii(s,t-1,n,r,i):Ln(i,s):r||(i[i.length]=s)}return i}var Li=vo(),Ri=vo(!0);function zi(e,t){return e&&Li(e,t,wd)}function Bi(e,t){return e&&Ri(e,t,wd)}function Vi(e,t){return Pn(t,function(t){return Eu(e[t])})}function Hi(e,t){t=Xa(t,e);for(var r=0,i=t.length;e!=null&&r<i;)e=e[Ls(t[r++])];return r&&r==i?e:n}function Ui(e,t,n){var r=t(e);return Y(e)?r:Ln(r,n(e))}function Wi(e){return e==null?e===n?Le:ke:nn&&nn in w(e)?es(e):Ts(e)}function Gi(e,t){return e>t}function Ki(e,t){return e!=null&&E.call(e,t)}function qi(e,t){return e!=null&&t in w(e)}function Ji(e,t,n){return e>=L(t,n)&&e<un(t,n)}function Yi(e,t,r){for(var i=r?B:Fn,a=e[0].length,o=e.length,s=o,c=pt(o),l=1/0,u=[];s--;){var d=e[s];s&&t&&(d=In(d,nr(t))),l=L(d.length,l),c[s]=!r&&(t||a>=120&&d.length>=120)?new ri(s&&d):n}d=e[0];var f=-1,p=c[0];outer:for(;++f<a&&u.length<l;){var m=d[f],h=t?t(m):m;if(m=r||m!==0?m:0,!(p?ir(p,h):i(u,h,r))){for(s=o;--s;){var g=c[s];if(!(g?ir(g,h):i(e[s],h,r)))continue outer}p&&p.push(h),u.push(m)}}return u}function Xi(e,t,n,r){return zi(e,function(e,i,a){t(r,n(e),i,a)}),r}function Zi(e,t,r){t=Xa(t,e),e=Ds(e,t);var i=e==null?e:e[Ls(dc(t))];return i==null?n:kn(i,e,r)}function Qi(e){return ku(e)&&Wi(e)==ve}function $i(e){return ku(e)&&Wi(e)==Be}function ea(e){return ku(e)&&Wi(e)==Se}function ta(e,t,n,r,i){return e===t?!0:e==null||t==null||!ku(e)&&!ku(t)?e!==e&&t!==t:na(e,t,n,r,ta,i)}function na(e,t,n,r,i,a){var o=Y(e),s=Y(t),c=o?ye:rs(e),l=s?ye:rs(t);c=c==ve?Ae:c,l=l==ve?Ae:l;var u=c==Ae,d=l==Ae,f=c==l;if(f&&vu(e)){if(!vu(t))return!1;o=!0,u=!1}if(f&&!u)return a||=new oi,o||Wu(e)?Ho(e,t,n,r,i,a):Uo(e,t,c,n,r,i,a);if(!(n&m)){var p=u&&E.call(e,`__wrapped__`),h=d&&E.call(t,`__wrapped__`);if(p||h){var g=p?e.value():e,v=h?t.value():t;return a||=new oi,i(g,v,n,r,a)}}return f?(a||=new oi,Wo(e,t,n,r,i,a)):!1}function ra(e){return ku(e)&&rs(e)==De}function ia(e,t,r,i){var a=r.length,o=a,s=!i;if(e==null)return!o;for(e=w(e);a--;){var c=r[a];if(s&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++a<o;){c=r[a];var l=c[0],u=e[l],d=c[1];if(s&&c[2]){if(u===n&&!(l in e))return!1}else{var f=new oi;if(i)var p=i(u,d,l,e,t,f);if(!(p===n?ta(d,u,m|h,i,f):p))return!1}}return!0}function aa(e){return!Ou(e)||_s(e)?!1:(Eu(e)?Gt:wt).test(Rs(e))}function oa(e){return ku(e)&&Wi(e)==Ne}function sa(e){return ku(e)&&rs(e)==Pe}function ca(e){return ku(e)&&Du(e.length)&&!!F[Wi(e)]}function la(e){return typeof e==`function`?e:e==null?Mf:typeof e==`object`?Y(e)?ha(e[0],e[1]):ma(e):Gf(e)}function ua(e){if(!ys(e))return N(e);var t=[];for(var n in w(e))E.call(e,n)&&n!=`constructor`&&t.push(n);return t}function da(e){if(!Ou(e))return ws(e);var t=ys(e),n=[];for(var r in e)r==`constructor`&&(t||!E.call(e,r))||n.push(r);return n}function fa(e,t){return e<t}function pa(e,t){var n=-1,r=hu(e)?pt(e.length):[];return Ai(e,function(e,i,a){r[++n]=t(e,i,a)}),r}function ma(e){var t=Qo(e);return t.length==1&&t[0][2]?xs(t[0][0],t[0][1]):function(n){return n===e||ia(n,e,t)}}function ha(e,t){return ms(e)&&bs(t)?xs(Ls(e),t):function(r){var i=vd(r,e);return i===n&&i===t?bd(r,e):ta(t,i,m|h)}}function ga(e,t,r,i,a){e!==t&&Li(t,function(o,s){if(a||=new oi,Ou(o))_a(e,t,s,r,ga,i,a);else{var c=i?i(ks(e,s),o,s+``,e,t,a):n;c===n&&(c=o),gi(e,s,c)}},Td)}function _a(e,t,r,i,a,o,s){var c=ks(e,r),l=ks(t,r),u=s.get(l);if(u){gi(e,r,u);return}var d=o?o(c,l,r+``,e,t,s):n,f=d===n;if(f){var p=Y(l),m=!p&&vu(l),h=!p&&!m&&Wu(l);d=l,p||m||h?Y(c)?d=c:gu(c)?d=uo(c):m?(f=!1,d=eo(l,!0)):h?(f=!1,d=ao(l,!0)):d=[]:Ru(l)||pu(l)?(d=c,pu(c)?d=ed(c):(!Ou(c)||Eu(c))&&(d=cs(l))):f=!1}f&&(s.set(l,d),a(d,l,i,o,s),s.delete(l)),gi(e,r,d)}function va(e,t){var r=e.length;if(r)return t+=t<0?r:0,fs(t,r)?e[t]:n}function ya(e,t,n){t=t.length?In(t,function(e){return Y(e)?function(t){return Hi(t,e.length===1?e[0]:e)}:e}):[Mf];var r=-1;return t=In(t,nr(J())),Zn(pa(e,function(e,n,i){return{criteria:In(t,function(t){return t(e)}),index:++r,value:e}}),function(e,t){return so(e,t,n)})}function ba(e,t){return xa(e,t,function(t,n){return bd(e,n)})}function xa(e,t,n){for(var r=-1,i=t.length,a={};++r<i;){var o=t[r],s=Hi(e,o);n(s,o)&&Aa(a,Xa(o,e),s)}return a}function Sa(e){return function(t){return Hi(t,e)}}function Ca(e,t,n,r){var i=r?Gn:Wn,a=-1,o=t.length,s=e;for(e===t&&(t=uo(t)),n&&(s=In(e,nr(n)));++a<o;)for(var c=0,l=t[a],u=n?n(l):l;(c=i(s,u,c,r))>-1;)s!==e&&$t.call(s,c,1),$t.call(e,c,1);return e}function wa(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==a){var a=i;fs(i)?$t.call(e,i,1):Ha(e,i)}}return e}function Ta(e,t){return e+O(R()*(t-e+1))}function Ea(e,t,n,r){for(var i=-1,a=un(sn((t-e)/(n||1)),0),o=pt(a);a--;)o[r?a:++i]=e,e+=n;return o}function Da(e,t){var n=``;if(!e||t<1||t>de)return n;do t%2&&(n+=e),t=O(t/2),t&&(e+=e);while(t);return n}function q(e,t){return Ms(Es(e,t,Mf),e+``)}function Oa(e){return pi(Ud(e))}function ka(e,t){var n=Ud(e);return Fs(n,wi(t,0,n.length))}function Aa(e,t,r,i){if(!Ou(e))return e;t=Xa(t,e);for(var a=-1,o=t.length,s=o-1,c=e;c!=null&&++a<o;){var l=Ls(t[a]),u=r;if(l===`__proto__`||l===`constructor`||l===`prototype`)return e;if(a!=s){var d=c[l];u=i?i(d,l,c):n,u===n&&(u=Ou(d)?d:fs(t[a+1])?[]:{})}_i(c,l,u),c=c[l]}return e}var ja=Vn?function(e,t){return Vn.set(e,t),e}:Mf,Ma=rn?function(e,t){return rn(e,`toString`,{configurable:!0,enumerable:!1,value:Of(t),writable:!0})}:Mf;function Na(e){return Fs(Ud(e))}function Pa(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var a=pt(i);++r<i;)a[r]=e[r+t];return a}function Fa(e,t){var n;return Ai(e,function(e,r,i){return n=t(e,r,i),!n}),!!n}function Ia(e,t,n){var r=0,i=e==null?r:e.length;if(typeof t==`number`&&t===t&&i<=ge){for(;r<i;){var a=r+i>>>1,o=e[a];o!==null&&!Uu(o)&&(n?o<=t:o<t)?r=a+1:i=a}return i}return La(e,t,Mf,n)}function La(e,t,r,i){var a=0,o=e==null?0:e.length;if(o===0)return 0;t=r(t);for(var s=t!==t,c=t===null,l=Uu(t),u=t===n;a<o;){var d=O((a+o)/2),f=r(e[d]),p=f!==n,m=f===null,h=f===f,g=Uu(f);if(s)var v=i||h;else v=u?h&&(i||p):c?h&&p&&(i||!m):l?h&&p&&!m&&(i||!g):m||g?!1:i?f<=t:f<t;v?a=d+1:o=d}return L(o,he)}function Ra(e,t){for(var n=-1,r=e.length,i=0,a=[];++n<r;){var o=e[n],s=t?t(o):o;if(!n||!uu(s,c)){var c=s;a[i++]=o===0?0:o}}return a}function za(e){return typeof e==`number`?e:Uu(e)?pe:+e}function Ba(e){if(typeof e==`string`)return e;if(Y(e))return In(e,Ba)+``;if(Uu(e))return Mr?Mr.call(e):``;var t=e+``;return t==`0`&&1/e==-ue?`-0`:t}function Va(e,t,n){var r=-1,a=Fn,o=e.length,s=!0,c=[],l=c;if(n)s=!1,a=B;else if(o>=i){var u=t?null:Io(e);if(u)return gr(u);s=!1,a=ir,l=new ri}else l=t?[]:c;outer:for(;++r<o;){var d=e[r],f=t?t(d):d;if(d=n||d!==0?d:0,s&&f===f){for(var p=l.length;p--;)if(l[p]===f)continue outer;t&&l.push(f),c.push(d)}else a(l,f,n)||(l!==c&&l.push(f),c.push(d))}return c}function Ha(e,t){return t=Xa(t,e),e=Ds(e,t),e==null||delete e[Ls(dc(t))]}function Ua(e,t,n,r){return Aa(e,t,n(Hi(e,t)),r)}function Wa(e,t,n,r){for(var i=e.length,a=r?i:-1;(r?a--:++a<i)&&t(e[a],a,e););return n?Pa(e,r?0:a,r?a+1:i):Pa(e,r?a+1:0,r?i:a)}function Ga(e,t){var n=e;return n instanceof K&&(n=n.value()),Rn(t,function(e,t){return t.func.apply(t.thisArg,Ln([e],t.args))},n)}function Ka(e,t,n){var r=e.length;if(r<2)return r?Va(e[0]):[];for(var i=-1,a=pt(r);++i<r;)for(var o=e[i],s=-1;++s<r;)s!=i&&(a[i]=ki(a[i]||o,e[s],t,n));return Va(Ii(a,1),t,n)}function qa(e,t,r){for(var i=-1,a=e.length,o=t.length,s={};++i<a;){var c=i<o?t[i]:n;r(s,e[i],c)}return s}function Ja(e){return gu(e)?e:[]}function Ya(e){return typeof e==`function`?e:Mf}function Xa(e,t){return Y(e)?e:ms(e,t)?[e]:Is(Q(e))}var Za=q;function Qa(e,t,r){var i=e.length;return r=r===n?i:r,!t&&r>=i?e:Pa(e,t,r)}var $a=D||function(e){return vn.clearTimeout(e)};function eo(e,t){if(t)return e.slice();var n=e.length,r=Yt?Yt(n):new e.constructor(n);return e.copy(r),r}function to(e){var t=new e.constructor(e.byteLength);return new Jt(t).set(new Jt(e)),t}function no(e,t){var n=t?to(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}function ro(e){var t=new e.constructor(e.source,xt.exec(e));return t.lastIndex=e.lastIndex,t}function io(e){return jr?w(jr.call(e)):{}}function ao(e,t){var n=t?to(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function oo(e,t){if(e!==t){var r=e!==n,i=e===null,a=e===e,o=Uu(e),s=t!==n,c=t===null,l=t===t,u=Uu(t);if(!c&&!u&&!o&&e>t||o&&s&&l&&!c&&!u||i&&s&&l||!r&&l||!a)return 1;if(!i&&!o&&!u&&e<t||u&&r&&a&&!i&&!o||c&&r&&a||!s&&a||!l)return-1}return 0}function so(e,t,n){for(var r=-1,i=e.criteria,a=t.criteria,o=i.length,s=n.length;++r<o;){var c=oo(i[r],a[r]);if(c)return r>=s?c:c*(n[r]==`desc`?-1:1)}return e.index-t.index}function co(e,t,n,r){for(var i=-1,a=e.length,o=n.length,s=-1,c=t.length,l=un(a-o,0),u=pt(c+l),d=!r;++s<c;)u[s]=t[s];for(;++i<o;)(d||i<a)&&(u[n[i]]=e[i]);for(;l--;)u[s++]=e[i++];return u}function lo(e,t,n,r){for(var i=-1,a=e.length,o=-1,s=n.length,c=-1,l=t.length,u=un(a-s,0),d=pt(u+l),f=!r;++i<u;)d[i]=e[i];for(var p=i;++c<l;)d[p+c]=t[c];for(;++o<s;)(f||i<a)&&(d[p+n[o]]=e[i++]);return d}function uo(e,t){var n=-1,r=e.length;for(t||=pt(r);++n<r;)t[n]=e[n];return t}function fo(e,t,r,i){var a=!r;r||={};for(var o=-1,s=t.length;++o<s;){var c=t[o],l=i?i(r[c],e[c],c,r,e):n;l===n&&(l=e[c]),a?Si(r,c,l):_i(r,c,l)}return r}function po(e,t){return fo(e,ts(e),t)}function mo(e,t){return fo(e,ns(e),t)}function ho(e,t){return function(n,r){var i=Y(n)?An:yi,a=t?t():{};return i(n,e,J(r,2),a)}}function go(e){return q(function(t,r){var i=-1,a=r.length,o=a>1?r[a-1]:n,s=a>2?r[2]:n;for(o=e.length>3&&typeof o==`function`?(a--,o):n,s&&ps(r[0],r[1],s)&&(o=a<3?n:o,a=1),t=w(t);++i<a;){var c=r[i];c&&e(t,c,i,o)}return t})}function _o(e,t){return function(n,r){if(n==null)return n;if(!hu(n))return e(n,r);for(var i=n.length,a=t?i:-1,o=w(n);(t?a--:++a<i)&&r(o[a],a,o)!==!1;);return n}}function vo(e){return function(t,n,r){for(var i=-1,a=w(t),o=r(t),s=o.length;s--;){var c=o[e?s:++i];if(n(a[c],c,a)===!1)break}return t}}function yo(e,t,n){var r=t&g,i=So(e);function a(){return(this&&this!==vn&&this instanceof a?i:e).apply(r?n:this,arguments)}return a}function bo(e){return function(t){t=Q(t);var r=ur(t)?xr(t):n,i=r?r[0]:t.charAt(0),a=r?Qa(r,1).join(``):t.slice(1);return i[e]()+a}}function xo(e){return function(t){return Rn(Cf(Xd(t).replace(k,``)),e,``)}}function So(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var n=Nr(e.prototype),r=e.apply(n,t);return Ou(r)?r:n}}function Co(e,t,r){var i=So(e);function a(){for(var o=arguments.length,s=pt(o),c=o,l=Xo(a);c--;)s[c]=arguments[c];var u=o<3&&s[0]!==l&&s[o-1]!==l?[]:hr(s,l);return o-=u.length,o<r?Po(e,t,Eo,a.placeholder,n,s,u,n,n,r-o):kn(this&&this!==vn&&this instanceof a?i:e,this,s)}return a}function wo(e){return function(t,r,i){var a=w(t);if(!hu(t)){var o=J(r,3);t=wd(t),r=function(e){return o(a[e],e,a)}}var s=e(t,r,i);return s>-1?a[o?t[s]:s]:n}}function To(e){return Go(function(t){var r=t.length,i=r,a=Fr.prototype.thru;for(e&&t.reverse();i--;){var s=t[i];if(typeof s!=`function`)throw new Ft(o);if(a&&!c&&Yo(s)==`wrapper`)var c=new Fr([],!0)}for(i=c?i:r;++i<r;){s=t[i];var l=Yo(s),u=l==`wrapper`?Jo(s):n;c=u&&gs(u[0])&&u[1]==(C|b|S|te)&&!u[4].length&&u[9]==1?c[Yo(u[0])].apply(c,u[3]):s.length==1&&gs(s)?c[l]():c.thru(s)}return function(){var e=arguments,n=e[0];if(c&&e.length==1&&Y(n))return c.plant(n).value();for(var i=0,a=r?t[i].apply(this,e):n;++i<r;)a=t[i].call(this,a);return a}})}function Eo(e,t,r,i,a,o,s,c,l,u){var d=t&C,f=t&g,p=t&v,m=t&(b|x),h=t&ne,y=p?n:So(e);function S(){for(var n=arguments.length,g=pt(n),v=n;v--;)g[v]=arguments[v];if(m)var b=Xo(S),x=sr(g,b);if(i&&(g=co(g,i,a,m)),o&&(g=lo(g,o,s,m)),n-=x,m&&n<u){var ee=hr(g,b);return Po(e,t,Eo,S.placeholder,r,g,ee,c,l,u-n)}var C=f?r:this,te=p?C[e]:e;return n=g.length,c?g=Os(g,c):h&&n>1&&g.reverse(),d&&l<n&&(g.length=l),this&&this!==vn&&this instanceof S&&(te=y||So(te)),te.apply(C,g)}return S}function Do(e,t){return function(n,r){return Xi(n,e,t(r),{})}}function Oo(e,t){return function(r,i){var a;if(r===n&&i===n)return t;if(r!==n&&(a=r),i!==n){if(a===n)return i;typeof r==`string`||typeof i==`string`?(r=Ba(r),i=Ba(i)):(r=za(r),i=za(i)),a=e(r,i)}return a}}function ko(e){return Go(function(t){return t=In(t,nr(J())),q(function(n){var r=this;return e(t,function(e){return kn(e,r,n)})})})}function Ao(e,t){t=t===n?` `:Ba(t);var r=t.length;if(r<2)return r?Da(t,e):t;var i=Da(t,sn(e/br(t)));return ur(t)?Qa(xr(i),0,e).join(``):i.slice(0,e)}function jo(e,t,n,r){var i=t&g,a=So(e);function o(){for(var t=-1,s=arguments.length,c=-1,l=r.length,u=pt(l+s),d=this&&this!==vn&&this instanceof o?a:e;++c<l;)u[c]=r[c];for(;s--;)u[c++]=arguments[++t];return kn(d,i?n:this,u)}return o}function Mo(e){return function(t,r,i){return i&&typeof i!=`number`&&ps(t,r,i)&&(r=i=n),t=Zu(t),r===n?(r=t,t=0):r=Zu(r),i=i===n?t<r?1:-1:Zu(i),Ea(t,r,i,e)}}function No(e){return function(t,n){return typeof t==`string`&&typeof n==`string`||(t=$u(t),n=$u(n)),e(t,n)}}function Po(e,t,r,i,a,o,s,c,l,u){var d=t&b,f=d?s:n,p=d?n:s,m=d?o:n,h=d?n:o;t|=d?S:ee,t&=~(d?ee:S),t&y||(t&=~(g|v));var x=[e,t,a,m,f,h,p,c,l,u],C=r.apply(n,x);return gs(e)&&As(C,x),C.placeholder=i,Ns(C,e,t)}function Fo(e){var t=Mt[e];return function(e,n){if(e=$u(e),n=n==null?0:L(Z(n),292),n&&j(e)){var r=(Q(e)+`e`).split(`e`);return r=(Q(t(r[0]+`e`+(+r[1]+n)))+`e`).split(`e`),+(r[0]+`e`+(+r[1]-n))}return t(e)}}var Io=z&&1/gr(new z([,-0]))[1]==ue?function(e){return new z(e)}:Bf;function Lo(e){return function(t){var n=rs(t);return n==De?pr(t):n==Pe?_r(t):er(t,e(t))}}function Ro(e,t,r,i,a,s,c,l){var u=t&v;if(!u&&typeof e!=`function`)throw new Ft(o);var d=i?i.length:0;if(d||(t&=~(S|ee),i=a=n),c=c===n?c:un(Z(c),0),l=l===n?l:Z(l),d-=a?a.length:0,t&ee){var f=i,p=a;i=a=n}var m=u?n:Jo(e),h=[e,t,r,i,a,f,p,s,c,l];if(m&&Cs(h,m),e=h[0],t=h[1],r=h[2],i=h[3],a=h[4],l=h[9]=h[9]===n?u?0:e.length:un(h[9]-d,0),!l&&t&(b|x)&&(t&=~(b|x)),!t||t==g)var y=yo(e,t,r);else y=t==b||t==x?Co(e,t,l):(t==S||t==(g|S))&&!a.length?jo(e,t,r,i):Eo.apply(n,h);return Ns((m?ja:As)(y,h),e,t)}function zo(e,t,r,i){return e===n||uu(e,Lt[r])&&!E.call(i,r)?t:e}function Bo(e,t,r,i,a,o){return Ou(e)&&Ou(t)&&(o.set(t,e),ga(e,t,n,Bo,o),o.delete(t)),e}function Vo(e){return Ru(e)?n:e}function Ho(e,t,r,i,a,o){var s=r&m,c=e.length,l=t.length;if(c!=l&&!(s&&l>c))return!1;var u=o.get(e),d=o.get(t);if(u&&d)return u==t&&d==e;var f=-1,p=!0,g=r&h?new ri:n;for(o.set(e,t),o.set(t,e);++f<c;){var v=e[f],y=t[f];if(i)var b=s?i(y,v,f,t,e,o):i(v,y,f,e,t,o);if(b!==n){if(b)continue;p=!1;break}if(g){if(!zn(t,function(e,t){if(!ir(g,t)&&(v===e||a(v,e,r,i,o)))return g.push(t)})){p=!1;break}}else if(!(v===y||a(v,y,r,i,o))){p=!1;break}}return o.delete(e),o.delete(t),p}function Uo(e,t,n,r,i,a,o){switch(n){case Ve:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Be:return!(e.byteLength!=t.byteLength||!a(new Jt(e),new Jt(t)));case xe:case Se:case Oe:return uu(+e,+t);case we:return e.name==t.name&&e.message==t.message;case Ne:case Fe:return e==t+``;case De:var s=pr;case Pe:var c=r&m;if(s||=gr,e.size!=t.size&&!c)return!1;var l=o.get(e);if(l)return l==t;r|=h,o.set(e,t);var u=Ho(s(e),s(t),r,i,a,o);return o.delete(e),u;case Ie:if(jr)return jr.call(e)==jr.call(t)}return!1}function Wo(e,t,r,i,a,o){var s=r&m,c=Ko(e),l=c.length;if(l!=Ko(t).length&&!s)return!1;for(var u=l;u--;){var d=c[u];if(!(s?d in t:E.call(t,d)))return!1}var f=o.get(e),p=o.get(t);if(f&&p)return f==t&&p==e;var h=!0;o.set(e,t),o.set(t,e);for(var g=s;++u<l;){d=c[u];var v=e[d],y=t[d];if(i)var b=s?i(y,v,d,t,e,o):i(v,y,d,e,t,o);if(!(b===n?v===y||a(v,y,r,i,o):b)){h=!1;break}g||=d==`constructor`}if(h&&!g){var x=e.constructor,S=t.constructor;x!=S&&`constructor`in e&&`constructor`in t&&!(typeof x==`function`&&x instanceof x&&typeof S==`function`&&S instanceof S)&&(h=!1)}return o.delete(e),o.delete(t),h}function Go(e){return Ms(Es(e,n,ec),e+``)}function Ko(e){return Ui(e,wd,ts)}function qo(e){return Ui(e,Td,ns)}var Jo=Vn?function(e){return Vn.get(e)}:Bf;function Yo(e){for(var t=e.name+``,n=Yn[t],r=E.call(Yn,t)?n.length:0;r--;){var i=n[r],a=i.func;if(a==null||a==e)return i.name}return t}function Xo(e){return(E.call(G,`placeholder`)?G:e).placeholder}function J(){var e=G.iteratee||Nf;return e=e===Nf?la:e,arguments.length?e(arguments[0],arguments[1]):e}function Zo(e,t){var n=e.__data__;return hs(t)?n[typeof t==`string`?`string`:`hash`]:n.map}function Qo(e){for(var t=wd(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,bs(i)]}return t}function $o(e,t){var r=lr(e,t);return aa(r)?r:n}function es(e){var t=E.call(e,nn),r=e[nn];try{e[nn]=n;var i=!0}catch{}var a=Ht.call(e);return i&&(t?e[nn]=r:delete e[nn]),a}var ts=cn?function(e){return e==null?[]:(e=w(e),Pn(cn(e),function(t){return Qt.call(e,t)}))}:Yf,ns=cn?function(e){for(var t=[];e;)Ln(t,ts(e)),e=Xt(e);return t}:Yf,rs=Wi;(_n&&rs(new _n(new ArrayBuffer(1)))!=Ve||yn&&rs(new yn)!=De||bn&&rs(bn.resolve())!=je||z&&rs(new z)!=Pe||Sn&&rs(new Sn)!=Re)&&(rs=function(e){var t=Wi(e),r=t==Ae?e.constructor:n,i=r?Rs(r):``;if(i)switch(i){case vr:return Ve;case wr:return De;case Tr:return je;case Or:return Pe;case kr:return Re}return t});function is(e,t,n){for(var r=-1,i=n.length;++r<i;){var a=n[r],o=a.size;switch(a.type){case`drop`:e+=o;break;case`dropRight`:t-=o;break;case`take`:t=L(t,e+o);break;case`takeRight`:e=un(e,t-o);break}}return{start:e,end:t}}function as(e){var t=e.match(ht);return t?t[1].split(gt):[]}function os(e,t,n){t=Xa(t,e);for(var r=-1,i=t.length,a=!1;++r<i;){var o=Ls(t[r]);if(!(a=e!=null&&n(e,o)))break;e=e[o]}return a||++r!=i?a:(i=e==null?0:e.length,!!i&&Du(i)&&fs(o,i)&&(Y(e)||pu(e)))}function ss(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]==`string`&&E.call(e,`index`)&&(n.index=e.index,n.input=e.input),n}function cs(e){return typeof e.constructor==`function`&&!ys(e)?Nr(Xt(e)):{}}function ls(e,t,n){var r=e.constructor;switch(t){case Be:return to(e);case xe:case Se:return new r(+e);case Ve:return no(e,n);case He:case Ue:case We:case Ge:case Ke:case qe:case Je:case Ye:case Xe:return ao(e,n);case De:return new r;case Oe:case Fe:return new r(e);case Ne:return ro(e);case Pe:return new r;case Ie:return io(e)}}function us(e,t){var n=t.length;if(!n)return e;var r=n-1;return t[r]=(n>1?`& `:``)+t[r],t=t.join(n>2?`, `:` `),e.replace(mt,`{
2/* [wrapped with `+t+`] */
3`)}function ds(e){return Y(e)||pu(e)||!!(en&&e&&e[en])}function fs(e,t){var n=typeof e;return t??=de,!!t&&(n==`number`||n!=`symbol`&&Et.test(e))&&e>-1&&e%1==0&&e<t}function ps(e,t,n){if(!Ou(n))return!1;var r=typeof t;return(r==`number`?hu(n)&&fs(t,n.length):r==`string`&&t in n)?uu(n[t],e):!1}function ms(e,t){if(Y(e))return!1;var n=typeof e;return n==`number`||n==`symbol`||n==`boolean`||e==null||Uu(e)?!0:ct.test(e)||!st.test(e)||t!=null&&e in w(t)}function hs(e){var t=typeof e;return t==`string`||t==`number`||t==`symbol`||t==`boolean`?e!==`__proto__`:e===null}function gs(e){var t=Yo(e),n=G[t];if(typeof n!=`function`||!(t in K.prototype))return!1;if(e===n)return!0;var r=Jo(n);return!!r&&e===r[0]}function _s(e){return!!Vt&&Vt in e}var vs=Rt?Eu:Xf;function ys(e){var t=e&&e.constructor;return e===(typeof t==`function`&&t.prototype||Lt)}function bs(e){return e===e&&!Ou(e)}function xs(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==n||e in w(r))}}function Ss(e){var t=Kl(e,function(e){return n.size===l&&n.clear(),e}),n=t.cache;return t}function Cs(e,t){var n=e[1],r=t[1],i=n|r,a=i<(g|v|C),o=r==C&&n==b||r==C&&n==te&&e[7].length<=t[8]||r==(C|te)&&t[7].length<=t[8]&&n==b;if(!(a||o))return e;r&g&&(e[2]=t[2],i|=n&g?0:y);var s=t[3];if(s){var c=e[3];e[3]=c?co(c,s,t[4]):s,e[4]=c?hr(e[3],u):t[4]}return s=t[5],s&&(c=e[5],e[5]=c?lo(c,s,t[6]):s,e[6]=c?hr(e[5],u):t[6]),s=t[7],s&&(e[7]=s),r&C&&(e[8]=e[8]==null?t[8]:L(e[8],t[8])),e[9]??=t[9],e[0]=t[0],e[1]=i,e}function ws(e){var t=[];if(e!=null)for(var n in w(e))t.push(n);return t}function Ts(e){return Ht.call(e)}function Es(e,t,r){return t=un(t===n?e.length-1:t,0),function(){for(var n=arguments,i=-1,a=un(n.length-t,0),o=pt(a);++i<a;)o[i]=n[t+i];i=-1;for(var s=pt(t+1);++i<t;)s[i]=n[i];return s[t]=r(o),kn(e,this,s)}}function Ds(e,t){return t.length<2?e:Hi(e,Pa(t,0,-1))}function Os(e,t){for(var r=e.length,i=L(t.length,r),a=uo(e);i--;){var o=t[i];e[i]=fs(o,r)?a[o]:n}return e}function ks(e,t){if(!(t===`constructor`&&typeof e[t]==`function`)&&t!=`__proto__`)return e[t]}var As=Ps(ja),js=on||function(e,t){return vn.setTimeout(e,t)},Ms=Ps(Ma);function Ns(e,t,n){var r=t+``;return Ms(e,us(r,zs(as(r),n)))}function Ps(e){var t=0,r=0;return function(){var i=fn(),a=oe-(i-r);if(r=i,a>0){if(++t>=ae)return arguments[0]}else t=0;return e.apply(n,arguments)}}function Fs(e,t){var r=-1,i=e.length,a=i-1;for(t=t===n?i:t;++r<t;){var o=Ta(r,a),s=e[o];e[o]=e[r],e[r]=s}return e.length=t,e}var Is=Ss(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(``),e.replace(lt,function(e,n,r,i){t.push(r?i.replace(yt,`$1`):n||e)}),t});function Ls(e){if(typeof e==`string`||Uu(e))return e;var t=e+``;return t==`0`&&1/e==-ue?`-0`:t}function Rs(e){if(e!=null){try{return zt.call(e)}catch{}try{return e+``}catch{}}return``}function zs(e,t){return jn(_e,function(n){var r=`_.`+n[0];t&n[1]&&!Fn(e,r)&&e.push(r)}),e.sort()}function Bs(e){if(e instanceof K)return e.clone();var t=new Fr(e.__wrapped__,e.__chain__);return t.__actions__=uo(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}function Vs(e,t,r){t=(r?ps(e,t,r):t===n)?1:un(Z(t),0);var i=e==null?0:e.length;if(!i||t<1)return[];for(var a=0,o=0,s=pt(sn(i/t));a<i;)s[o++]=Pa(e,a,a+=t);return s}function Hs(e){for(var t=-1,n=e==null?0:e.length,r=0,i=[];++t<n;){var a=e[t];a&&(i[r++]=a)}return i}function Us(){var e=arguments.length;if(!e)return[];for(var t=pt(e-1),n=arguments[0],r=e;r--;)t[r-1]=arguments[r];return Ln(Y(n)?uo(n):[n],Ii(t,1))}var Ws=q(function(e,t){return gu(e)?ki(e,Ii(t,1,gu,!0)):[]}),Gs=q(function(e,t){var r=dc(t);return gu(r)&&(r=n),gu(e)?ki(e,Ii(t,1,gu,!0),J(r,2)):[]}),Ks=q(function(e,t){var r=dc(t);return gu(r)&&(r=n),gu(e)?ki(e,Ii(t,1,gu,!0),n,r):[]});function qs(e,t,r){var i=e==null?0:e.length;return i?(t=r||t===n?1:Z(t),Pa(e,t<0?0:t,i)):[]}function Js(e,t,r){var i=e==null?0:e.length;return i?(t=r||t===n?1:Z(t),t=i-t,Pa(e,0,t<0?0:t)):[]}function Ys(e,t){return e&&e.length?Wa(e,J(t,3),!0,!0):[]}function Xs(e,t){return e&&e.length?Wa(e,J(t,3),!0):[]}function Zs(e,t,n,r){var i=e==null?0:e.length;return i?(n&&typeof n!=`number`&&ps(e,t,n)&&(n=0,r=i),Pi(e,t,n,r)):[]}function Qs(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var i=n==null?0:Z(n);return i<0&&(i=un(r+i,0)),H(e,J(t,3),i)}function $s(e,t,r){var i=e==null?0:e.length;if(!i)return-1;var a=i-1;return r!==n&&(a=Z(r),a=r<0?un(i+a,0):L(a,i-1)),H(e,J(t,3),a,!0)}function ec(e){return e!=null&&e.length?Ii(e,1):[]}function tc(e){return e!=null&&e.length?Ii(e,ue):[]}function nc(e,t){return e!=null&&e.length?(t=t===n?1:Z(t),Ii(e,t)):[]}function rc(e){for(var t=-1,n=e==null?0:e.length,r={};++t<n;){var i=e[t];r[i[0]]=i[1]}return r}function ic(e){return e&&e.length?e[0]:n}function ac(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var i=n==null?0:Z(n);return i<0&&(i=un(r+i,0)),Wn(e,t,i)}function oc(e){return e!=null&&e.length?Pa(e,0,-1):[]}var sc=q(function(e){var t=In(e,Ja);return t.length&&t[0]===e[0]?Yi(t):[]}),cc=q(function(e){var t=dc(e),r=In(e,Ja);return t===dc(r)?t=n:r.pop(),r.length&&r[0]===e[0]?Yi(r,J(t,2)):[]}),lc=q(function(e){var t=dc(e),r=In(e,Ja);return t=typeof t==`function`?t:n,t&&r.pop(),r.length&&r[0]===e[0]?Yi(r,n,t):[]});function uc(e,t){return e==null?``:M.call(e,t)}function dc(e){var t=e==null?0:e.length;return t?e[t-1]:n}function fc(e,t,r){var i=e==null?0:e.length;if(!i)return-1;var a=i;return r!==n&&(a=Z(r),a=a<0?un(i+a,0):L(a,i-1)),t===t?yr(e,t,a):H(e,Kn,a,!0)}function pc(e,t){return e&&e.length?va(e,Z(t)):n}var mc=q(hc);function hc(e,t){return e&&e.length&&t&&t.length?Ca(e,t):e}function gc(e,t,n){return e&&e.length&&t&&t.length?Ca(e,t,J(n,2)):e}function _c(e,t,r){return e&&e.length&&t&&t.length?Ca(e,t,n,r):e}var vc=Go(function(e,t){var n=e==null?0:e.length,r=Ci(e,t);return wa(e,In(t,function(e){return fs(e,n)?+e:e}).sort(oo)),r});function yc(e,t){var n=[];if(!(e&&e.length))return n;var r=-1,i=[],a=e.length;for(t=J(t,3);++r<a;){var o=e[r];t(o,r,e)&&(n.push(o),i.push(r))}return wa(e,i),n}function bc(e){return e==null?e:gn.call(e)}function xc(e,t,r){var i=e==null?0:e.length;return i?(r&&typeof r!=`number`&&ps(e,t,r)?(t=0,r=i):(t=t==null?0:Z(t),r=r===n?i:Z(r)),Pa(e,t,r)):[]}function Sc(e,t){return Ia(e,t)}function Cc(e,t,n){return La(e,t,J(n,2))}function wc(e,t){var n=e==null?0:e.length;if(n){var r=Ia(e,t);if(r<n&&uu(e[r],t))return r}return-1}function Tc(e,t){return Ia(e,t,!0)}function Ec(e,t,n){return La(e,t,J(n,2),!0)}function Dc(e,t){if(e!=null&&e.length){var n=Ia(e,t,!0)-1;if(uu(e[n],t))return n}return-1}function Oc(e){return e&&e.length?Ra(e):[]}function kc(e,t){return e&&e.length?Ra(e,J(t,2)):[]}function Ac(e){var t=e==null?0:e.length;return t?Pa(e,1,t):[]}function jc(e,t,r){return e&&e.length?(t=r||t===n?1:Z(t),Pa(e,0,t<0?0:t)):[]}function Mc(e,t,r){var i=e==null?0:e.length;return i?(t=r||t===n?1:Z(t),t=i-t,Pa(e,t<0?0:t,i)):[]}function Nc(e,t){return e&&e.length?Wa(e,J(t,3),!1,!0):[]}function Pc(e,t){return e&&e.length?Wa(e,J(t,3)):[]}var Fc=q(function(e){return Va(Ii(e,1,gu,!0))}),Ic=q(function(e){var t=dc(e);return gu(t)&&(t=n),Va(Ii(e,1,gu,!0),J(t,2))}),Lc=q(function(e){var t=dc(e);return t=typeof t==`function`?t:n,Va(Ii(e,1,gu,!0),n,t)});function Rc(e){return e&&e.length?Va(e):[]}function zc(e,t){return e&&e.length?Va(e,J(t,2)):[]}function Bc(e,t){return t=typeof t==`function`?t:n,e&&e.length?Va(e,n,t):[]}function Vc(e){if(!(e&&e.length))return[];var t=0;return e=Pn(e,function(e){if(gu(e))return t=un(e.length,t),!0}),$n(t,function(t){return In(e,Jn(t))})}function Hc(e,t){if(!(e&&e.length))return[];var r=Vc(e);return t==null?r:In(r,function(e){return kn(t,n,e)})}var Uc=q(function(e,t){return gu(e)?ki(e,t):[]}),Wc=q(function(e){return Ka(Pn(e,gu))}),Gc=q(function(e){var t=dc(e);return gu(t)&&(t=n),Ka(Pn(e,gu),J(t,2))}),Kc=q(function(e){var t=dc(e);return t=typeof t==`function`?t:n,Ka(Pn(e,gu),n,t)}),qc=q(Vc);function Jc(e,t){return qa(e||[],t||[],_i)}function Yc(e,t){return qa(e||[],t||[],Aa)}var Xc=q(function(e){var t=e.length,r=t>1?e[t-1]:n;return r=typeof r==`function`?(e.pop(),r):n,Hc(e,r)});function Zc(e){var t=G(e);return t.__chain__=!0,t}function Qc(e,t){return t(e),e}function $c(e,t){return t(e)}var el=Go(function(e){var t=e.length,r=t?e[0]:0,i=this.__wrapped__,a=function(t){return Ci(t,e)};return t>1||this.__actions__.length||!(i instanceof K)||!fs(r)?this.thru(a):(i=i.slice(r,+r+ +!!t),i.__actions__.push({func:$c,args:[a],thisArg:n}),new Fr(i,this.__chain__).thru(function(e){return t&&!e.length&&e.push(n),e}))});function tl(){return Zc(this)}function nl(){return new Fr(this.value(),this.__chain__)}function rl(){this.__values__===n&&(this.__values__=Xu(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?n:this.__values__[this.__index__++]}}function il(){return this}function al(e){for(var t,r=this;r instanceof Pr;){var i=Bs(r);i.__index__=0,i.__values__=n,t?a.__wrapped__=i:t=i;var a=i;r=r.__wrapped__}return a.__wrapped__=e,t}function ol(){var e=this.__wrapped__;if(e instanceof K){var t=e;return this.__actions__.length&&(t=new K(this)),t=t.reverse(),t.__actions__.push({func:$c,args:[bc],thisArg:n}),new Fr(t,this.__chain__)}return this.thru(bc)}function sl(){return Ga(this.__wrapped__,this.__actions__)}var cl=ho(function(e,t,n){E.call(e,n)?++e[n]:Si(e,n,1)});function ll(e,t,r){var i=Y(e)?Nn:Mi;return r&&ps(e,t,r)&&(t=n),i(e,J(t,3))}function ul(e,t){return(Y(e)?Pn:Fi)(e,J(t,3))}var dl=wo(Qs),fl=wo($s);function pl(e,t){return Ii(Sl(e,t),1)}function ml(e,t){return Ii(Sl(e,t),ue)}function hl(e,t,r){return r=r===n?1:Z(r),Ii(Sl(e,t),r)}function gl(e,t){return(Y(e)?jn:Ai)(e,J(t,3))}function _l(e,t){return(Y(e)?Mn:ji)(e,J(t,3))}var vl=ho(function(e,t,n){E.call(e,n)?e[n].push(t):Si(e,n,[t])});function yl(e,t,n,r){e=hu(e)?e:Ud(e),n=n&&!r?Z(n):0;var i=e.length;return n<0&&(n=un(i+n,0)),Hu(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&Wn(e,t,n)>-1}var bl=q(function(e,t,n){var r=-1,i=typeof t==`function`,a=hu(e)?pt(e.length):[];return Ai(e,function(e){a[++r]=i?kn(t,e,n):Zi(e,t,n)}),a}),xl=ho(function(e,t,n){Si(e,n,t)});function Sl(e,t){return(Y(e)?In:pa)(e,J(t,3))}function Cl(e,t,r,i){return e==null?[]:(Y(t)||(t=t==null?[]:[t]),r=i?n:r,Y(r)||(r=r==null?[]:[r]),ya(e,t,r))}var wl=ho(function(e,t,n){e[+!n].push(t)},function(){return[[],[]]});function Tl(e,t,n){var r=Y(e)?Rn:Xn,i=arguments.length<3;return r(e,J(t,4),n,i,Ai)}function El(e,t,n){var r=Y(e)?V:Xn,i=arguments.length<3;return r(e,J(t,4),n,i,ji)}function Dl(e,t){return(Y(e)?Pn:Fi)(e,ql(J(t,3)))}function Ol(e){return(Y(e)?pi:Oa)(e)}function kl(e,t,r){return t=(r?ps(e,t,r):t===n)?1:Z(t),(Y(e)?mi:ka)(e,t)}function Al(e){return(Y(e)?hi:Na)(e)}function jl(e){if(e==null)return 0;if(hu(e))return Hu(e)?br(e):e.length;var t=rs(e);return t==De||t==Pe?e.size:ua(e).length}function Ml(e,t,r){var i=Y(e)?zn:Fa;return r&&ps(e,t,r)&&(t=n),i(e,J(t,3))}var Nl=q(function(e,t){if(e==null)return[];var n=t.length;return n>1&&ps(e,t[0],t[1])?t=[]:n>2&&ps(t[0],t[1],t[2])&&(t=[t[0]]),ya(e,Ii(t,1),[])}),Pl=an||function(){return vn.Date.now()};function Fl(e,t){if(typeof t!=`function`)throw new Ft(o);return e=Z(e),function(){if(--e<1)return t.apply(this,arguments)}}function Il(e,t,r){return t=r?n:t,t=e&&t==null?e.length:t,Ro(e,C,n,n,n,n,t)}function Ll(e,t){var r;if(typeof t!=`function`)throw new Ft(o);return e=Z(e),function(){return--e>0&&(r=t.apply(this,arguments)),e<=1&&(t=n),r}}var Rl=q(function(e,t,n){var r=g;if(n.length){var i=hr(n,Xo(Rl));r|=S}return Ro(e,r,t,n,i)}),zl=q(function(e,t,n){var r=g|v;if(n.length){var i=hr(n,Xo(zl));r|=S}return Ro(t,r,e,n,i)});function Bl(e,t,r){t=r?n:t;var i=Ro(e,b,n,n,n,n,n,t);return i.placeholder=Bl.placeholder,i}function Vl(e,t,r){t=r?n:t;var i=Ro(e,x,n,n,n,n,n,t);return i.placeholder=Vl.placeholder,i}function Hl(e,t,r){var i,a,s,c,l,u,d=0,f=!1,p=!1,m=!0;if(typeof e!=`function`)throw new Ft(o);t=$u(t)||0,Ou(r)&&(f=!!r.leading,p=`maxWait`in r,s=p?un($u(r.maxWait)||0,t):s,m=`trailing`in r?!!r.trailing:m);function h(t){var r=i,o=a;return i=a=n,d=t,c=e.apply(o,r),c}function g(e){return d=e,l=js(b,t),f?h(e):c}function v(e){var n=e-u,r=e-d,i=t-n;return p?L(i,s-r):i}function y(e){var r=e-u,i=e-d;return u===n||r>=t||r<0||p&&i>=s}function b(){var e=Pl();if(y(e))return x(e);l=js(b,v(e))}function x(e){return l=n,m&&i?h(e):(i=a=n,c)}function S(){l!==n&&$a(l),d=0,i=u=a=l=n}function ee(){return l===n?c:x(Pl())}function C(){var e=Pl(),r=y(e);if(i=arguments,a=this,u=e,r){if(l===n)return g(u);
vendor: 4,962 bytes, line 3
3if(p)return $a(l),l=js(b,t),h(u)}return l===n&&(l=js(b,t)),c}return C.cancel=S,C.flush=ee,C}var Ul=q(function(e,t){return Oi(e,1,t)}),Wl=q(function(e,t,n){return Oi(e,$u(t)||0,n)});function Gl(e){return Ro(e,ne)}function Kl(e,t){if(typeof e!=`function`||t!=null&&typeof t!=`function`)throw new Ft(o);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(Kl.Cache||Zr),n}Kl.Cache=Zr;function ql(e){if(typeof e!=`function`)throw new Ft(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function Jl(e){return Ll(2,e)}var Yl=Za(function(e,t){t=t.length==1&&Y(t[0])?In(t[0],nr(J())):In(Ii(t,1),nr(J()));var n=t.length;return q(function(r){for(var i=-1,a=L(r.length,n);++i<a;)r[i]=t[i].call(this,r[i]);return kn(e,this,r)})}),Xl=q(function(e,t){return Ro(e,S,n,t,hr(t,Xo(Xl)))}),Zl=q(function(e,t){return Ro(e,ee,n,t,hr(t,Xo(Zl)))}),Ql=Go(function(e,t){return Ro(e,te,n,n,n,t)});function $l(e,t){if(typeof e!=`function`)throw new Ft(o);return t=t===n?t:Z(t),q(e,t)}function eu(e,t){if(typeof e!=`function`)throw new Ft(o);return t=t==null?0:un(Z(t),0),q(function(n){var r=n[t],i=Qa(n,0,t);return r&&Ln(i,r),kn(e,this,i)})}function tu(e,t,n){var r=!0,i=!0;if(typeof e!=`function`)throw new Ft(o);return Ou(n)&&(r=`leading`in n?!!n.leading:r,i=`trailing`in n?!!n.trailing:i),Hl(e,t,{leading:r,maxWait:t,trailing:i})}function nu(e){return Il(e,1)}function ru(e,t){return Xl(Ya(t),e)}function iu(){if(!arguments.length)return[];var e=arguments[0];return Y(e)?e:[e]}function au(e){return Ti(e,p)}function ou(e,t){return t=typeof t==`function`?t:n,Ti(e,p,t)}function su(e){return Ti(e,d|p)}function cu(e,t){return t=typeof t==`function`?t:n,Ti(e,d|p,t)}function lu(e,t){return t==null||Di(e,t,wd(t))}function uu(e,t){return e===t||e!==e&&t!==t}var du=No(Gi),fu=No(function(e,t){return e>=t}),pu=Qi(function(){return arguments}())?Qi:function(e){return ku(e)&&E.call(e,`callee`)&&!Qt.call(e,`callee`)},Y=pt.isArray,mu=Cn?nr(Cn):$i;function hu(e){return e!=null&&Du(e.length)&&!Eu(e)}function gu(e){return ku(e)&&hu(e)}function _u(e){return e===!0||e===!1||ku(e)&&Wi(e)==xe}var vu=ln||Xf,yu=wn?nr(wn):ea;function bu(e){return ku(e)&&e.nodeType===1&&!Ru(e)}function xu(e){if(e==null)return!0;if(hu(e)&&(Y(e)||typeof e==`string`||typeof e.splice==`function`||vu(e)||Wu(e)||pu(e)))return!e.length;var t=rs(e);if(t==De||t==Pe)return!e.size;if(ys(e))return!ua(e).length;for(var n in e)if(E.call(e,n))return!1;return!0}function Su(e,t){return ta(e,t)}function Cu(e,t,r){r=typeof r==`function`?r:n;var i=r?r(e,t):n;return i===n?ta(e,t,n,r):!!i}function wu(e){if(!ku(e))return!1;var t=Wi(e);return t==we||t==Ce||typeof e.message==`string`&&typeof e.name==`string`&&!Ru(e)}function Tu(e){return typeof e==`number`&&j(e)}function Eu(e){if(!Ou(e))return!1;var t=Wi(e);return t==Te||t==Ee||t==be||t==Me}function X(e){return typeof e==`number`&&e==Z(e)}function Du(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=de}function Ou(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}function ku(e){return typeof e==`object`&&!!e}var Au=Tn?nr(Tn):ra;function ju(e,t){return e===t||ia(e,t,Qo(t))}function Mu(e,t,r){return r=typeof r==`function`?r:n,ia(e,t,Qo(t),r)}function Nu(e){return Lu(e)&&e!=+e}function Pu(e){if(vs(e))throw new At(a);return aa(e)}function Fu(e){return e===null}function Iu(e){return e==null}function Lu(e){return typeof e==`number`||ku(e)&&Wi(e)==Oe}function Ru(e){if(!ku(e)||Wi(e)!=Ae)return!1;var t=Xt(e);if(t===null)return!0;var n=E.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n instanceof n&&zt.call(n)==Ut}var zu=En?nr(En):oa;function Bu(e){return X(e)&&e>=-de&&e<=de}var Vu=Dn?nr(Dn):sa;function Hu(e){return typeof e==`string`||!Y(e)&&ku(e)&&Wi(e)==Fe}function Uu(e){return typeof e==`symbol`||ku(e)&&Wi(e)==Ie}var Wu=On?nr(On):ca;function Gu(e){return e===n}function Ku(e){return ku(e)&&rs(e)==Re}function qu(e){return ku(e)&&Wi(e)==ze}var Ju=No(fa),Yu=No(function(e,t){return e<=t});function Xu(e){if(!e)return[];if(hu(e))return Hu(e)?xr(e):uo(e);if(tn&&e[tn])return fr(e[tn]());var t=rs(e);return(t==De?pr:t==Pe?gr:Ud)(e)}function Zu(e){return e?(e=$u(e),e===ue||e===-ue?(e<0?-1:1)*fe:e===e?e:0):e===0?e:0}function Z(e){var t=Zu(e),n=t%1;return t===t?n?t-n:t:0}function Qu(e){return e?wi(Z(e),0,me):0}function $u(e){if(typeof e==`number`)return e;if(Uu(e))return pe;if(Ou(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=Ou(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=tr(e);var n=Ct.test(e);return n||Tt.test(e)?hn(e.slice(2),n?2:8):St.test(e)?pe:+e}function ed(e){return fo(e,Td(e))}function td(e){return e?wi(Z(e),-de,de):e===0?e:0}function Q(e){return e==null?``:Ba(e)}var nd=go(function(e,t){if(ys(t)||hu(t)){fo(t,wd(t),e);return}
vendor: 1,742 bytes, line 3
3for(var n in t)E.call(t,n)&&_i(e,n,t[n])}),rd=go(function(e,t){fo(t,Td(t),e)}),id=go(function(e,t,n,r){fo(t,Td(t),e,r)}),ad=go(function(e,t,n,r){fo(t,wd(t),e,r)}),od=Go(Ci);function sd(e,t){var n=Nr(e);return t==null?n:bi(n,t)}var cd=q(function(e,t){e=w(e);var r=-1,i=t.length,a=i>2?t[2]:n;for(a&&ps(t[0],t[1],a)&&(i=1);++r<i;)for(var o=t[r],s=Td(o),c=-1,l=s.length;++c<l;){var u=s[c],d=e[u];(d===n||uu(d,Lt[u])&&!E.call(e,u))&&(e[u]=o[u])}return e}),ld=q(function(e){return e.push(n,Bo),kn(kd,n,e)});function ud(e,t){return Un(e,J(t,3),zi)}function dd(e,t){return Un(e,J(t,3),Bi)}function fd(e,t){return e==null?e:Li(e,J(t,3),Td)}function pd(e,t){return e==null?e:Ri(e,J(t,3),Td)}function md(e,t){return e&&zi(e,J(t,3))}function hd(e,t){return e&&Bi(e,J(t,3))}function gd(e){return e==null?[]:Vi(e,wd(e))}function _d(e){return e==null?[]:Vi(e,Td(e))}function vd(e,t,r){var i=e==null?n:Hi(e,t);return i===n?r:i}function yd(e,t){return e!=null&&os(e,t,Ki)}function bd(e,t){return e!=null&&os(e,t,qi)}var xd=Do(function(e,t,n){t!=null&&typeof t.toString!=`function`&&(t=Ht.call(t)),e[t]=n},Of(Mf)),Sd=Do(function(e,t,n){t!=null&&typeof t.toString!=`function`&&(t=Ht.call(t)),E.call(e,t)?e[t].push(n):e[t]=[n]},J),Cd=q(Zi);function wd(e){return hu(e)?fi(e):ua(e)}function Td(e){return hu(e)?fi(e,!0):da(e)}function Ed(e,t){var n={};return t=J(t,3),zi(e,function(e,r,i){Si(n,t(e,r,i),e)}),n}function Dd(e,t){var n={};return t=J(t,3),zi(e,function(e,r,i){Si(n,r,t(e,r,i))}),n}var Od=go(function(e,t,n){ga(e,t,n)}),kd=go(function(e,t,n,r){ga(e,t,n,r)}),Ad=Go(function(e,t){var n={};if(e==null)return n;var r=!1;t=In(t,function(t){return t=Xa(t,e),r||=t.length>1,t}),fo(e,qo(e),n),r&&(n=Ti(n,d|f|p,Vo));for(var i=t.length;i--;)Ha(n,t[i]);return n});
vendor: 11,434 bytes, lines 3-20
3function jd(e,t){return Nd(e,ql(J(t)))}var Md=Go(function(e,t){return e==null?{}:ba(e,t)});function Nd(e,t){if(e==null)return{};var n=In(qo(e),function(e){return[e]});return t=J(t),xa(e,n,function(e,n){return t(e,n[0])})}function Pd(e,t,r){t=Xa(t,e);var i=-1,a=t.length;for(a||(a=1,e=n);++i<a;){var o=e==null?n:e[Ls(t[i])];o===n&&(i=a,o=r),e=Eu(o)?o.call(e):o}return e}function Fd(e,t,n){return e==null?e:Aa(e,t,n)}function Id(e,t,r,i){return i=typeof i==`function`?i:n,e==null?e:Aa(e,t,r,i)}var Ld=Lo(wd),Rd=Lo(Td);function zd(e,t,n){var r=Y(e),i=r||vu(e)||Wu(e);if(t=J(t,4),n==null){var a=e&&e.constructor;n=i?r?new a:[]:Ou(e)&&Eu(a)?Nr(Xt(e)):{}}return(i?jn:zi)(e,function(e,r,i){return t(n,e,r,i)}),n}function Bd(e,t){return e==null?!0:Ha(e,t)}function Vd(e,t,n){return e==null?e:Ua(e,t,Ya(n))}function Hd(e,t,r,i){return i=typeof i==`function`?i:n,e==null?e:Ua(e,t,Ya(r),i)}function Ud(e){return e==null?[]:rr(e,wd(e))}function Wd(e){return e==null?[]:rr(e,Td(e))}function Gd(e,t,r){return r===n&&(r=t,t=n),r!==n&&(r=$u(r),r=r===r?r:0),t!==n&&(t=$u(t),t=t===t?t:0),wi($u(e),t,r)}function Kd(e,t,r){return t=Zu(t),r===n?(r=t,t=0):r=Zu(r),e=$u(e),Ji(e,t,r)}function qd(e,t,r){if(r&&typeof r!=`boolean`&&ps(e,t,r)&&(t=r=n),r===n&&(typeof t==`boolean`?(r=t,t=n):typeof e==`boolean`&&(r=e,e=n)),e===n&&t===n?(e=0,t=1):(e=Zu(e),t===n?(t=e,e=0):t=Zu(t)),e>t){var i=e;e=t,t=i}if(r||e%1||t%1){var a=R();return L(e+a*(t-e+mn(`1e-`+((a+``).length-1))),t)}return Ta(e,t)}var Jd=xo(function(e,t,n){return t=t.toLowerCase(),e+(n?Yd(t):t)});function Yd(e){return Sf(Q(e).toLowerCase())}function Xd(e){return e=Q(e),e&&e.replace(Dt,cr).replace(A,``)}function Zd(e,t,r){e=Q(e),t=Ba(t);var i=e.length;r=r===n?i:wi(Z(r),0,i);var a=r;return r-=t.length,r>=0&&e.slice(r,a)==t}function $(e){return e=Q(e),e&&rt.test(e)?e.replace(tt,U):e}function Qd(e){return e=Q(e),e&&dt.test(e)?e.replace(ut,`\\$&`):e}var $d=xo(function(e,t,n){return e+(n?`-`:``)+t.toLowerCase()}),ef=xo(function(e,t,n){return e+(n?` `:``)+t.toLowerCase()}),tf=bo(`toLowerCase`);function nf(e,t,n){e=Q(e),t=Z(t);var r=t?br(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return Ao(O(i),n)+e+Ao(sn(i),n)}function rf(e,t,n){e=Q(e),t=Z(t);var r=t?br(e):0;return t&&r<t?e+Ao(t-r,n):e}function af(e,t,n){e=Q(e),t=Z(t);var r=t?br(e):0;return t&&r<t?Ao(t-r,n)+e:e}function of(e,t,n){return n||t==null?t=0:t&&=+t,pn(Q(e).replace(ft,``),t||0)}function sf(e,t,r){return t=(r?ps(e,t,r):t===n)?1:Z(t),Da(Q(e),t)}function cf(){var e=arguments,t=Q(e[0]);return e.length<3?t:t.replace(e[1],e[2])}var lf=xo(function(e,t,n){return e+(n?`_`:``)+t.toLowerCase()});function uf(e,t,r){return r&&typeof r!=`number`&&ps(e,t,r)&&(t=r=n),r=r===n?me:r>>>0,r?(e=Q(e),e&&(typeof t==`string`||t!=null&&!zu(t))&&(t=Ba(t),!t&&ur(e))?Qa(xr(e),0,r):e.split(t,r)):[]}var df=xo(function(e,t,n){return e+(n?` `:``)+Sf(t)});function ff(e,t,n){return e=Q(e),n=n==null?0:wi(Z(n),0,e.length),t=Ba(t),e.slice(n,n+t.length)==t}function pf(e,t,r){var i=G.templateSettings;r&&ps(e,t,r)&&(t=n),e=Q(e),t=id({},t,i,zo);var a=id({},t.imports,i.imports,zo),o=wd(a),c=rr(a,o),l,u,d=0,f=t.interpolate||Ot,p=`__p += '`,m=Nt((t.escape||Ot).source+`|`+f.source+`|`+(f===ot?bt:Ot).source+`|`+(t.evaluate||Ot).source+`|$`,`g`),h=`//# sourceURL=`+(E.call(t,`sourceURL`)?(t.sourceURL+``).replace(/\s/g,` `):`lodash.templateSources[`+ ++dn+`]`)+`
4`;e.replace(m,function(t,n,r,i,a,o){return r||=i,p+=e.slice(d,o).replace(kt,W),n&&(l=!0,p+=`' +
5__e(`+n+`) +
6'`),a&&(u=!0,p+=`';
7`+a+`;
8__p += '`),r&&(p+=`' +
9((__t = (`+r+`)) == null ? '' : __t) +
10'`),d=o+t.length,t}),p+=`';
11`;var g=E.call(t,`variable`)&&t.variable;if(!g)p=`with (obj) {
12`+p+`
13}
14`;else if(vt.test(g))throw new At(s);p=(u?p.replace(Ze,``):p).replace(Qe,`$1`).replace($e,`$1;`),p=`function(`+(g||`obj`)+`) {
15`+(g?``:`obj || (obj = {});
16`)+`var __t, __p = ''`+(l?`, __e = _.escape`:``)+(u?`, __j = Array.prototype.join;
17function print() { __p += __j.call(arguments, '') }
18`:`;
19`)+p+`return __p
20}`;var v=wf(function(){return jt(o,h+`return `+p).apply(n,c)});if(v.source=p,wu(v))throw v;return v}function mf(e){return Q(e).toLowerCase()}function hf(e){return Q(e).toUpperCase()}function gf(e,t,r){if(e=Q(e),e&&(r||t===n))return tr(e);if(!e||!(t=Ba(t)))return e;var i=xr(e),a=xr(t);return Qa(i,ar(i,a),or(i,a)+1).join(``)}function _f(e,t,r){if(e=Q(e),e&&(r||t===n))return e.slice(0,Sr(e)+1);if(!e||!(t=Ba(t)))return e;var i=xr(e);return Qa(i,0,or(i,xr(t))+1).join(``)}function vf(e,t,r){if(e=Q(e),e&&(r||t===n))return e.replace(ft,``);if(!e||!(t=Ba(t)))return e;var i=xr(e);return Qa(i,ar(i,xr(t))).join(``)}function yf(e,t){var r=re,i=ie;if(Ou(t)){var a=`separator`in t?t.separator:a;r=`length`in t?Z(t.length):r,i=`omission`in t?Ba(t.omission):i}e=Q(e);var o=e.length;if(ur(e)){var s=xr(e);o=s.length}if(r>=o)return e;var c=r-br(i);if(c<1)return i;var l=s?Qa(s,0,c).join(``):e.slice(0,c);if(a===n)return l+i;if(s&&(c+=l.length-c),zu(a)){if(e.slice(c).search(a)){var u,d=l;for(a.global||(a=Nt(a.source,Q(xt.exec(a))+`g`)),a.lastIndex=0;u=a.exec(d);)var f=u.index;l=l.slice(0,f===n?c:f)}}else if(e.indexOf(Ba(a),c)!=c){var p=l.lastIndexOf(a);p>-1&&(l=l.slice(0,p))}return l+i}function bf(e){return e=Q(e),e&&nt.test(e)?e.replace(et,Cr):e}var xf=xo(function(e,t,n){return e+(n?` `:``)+t.toUpperCase()}),Sf=bo(`toUpperCase`);function Cf(e,t,r){return e=Q(e),t=r?n:t,t===n?dr(e)?Er(e):Hn(e):e.match(t)||[]}var wf=q(function(e,t){try{return kn(e,n,t)}catch(e){return wu(e)?e:new At(e)}}),Tf=Go(function(e,t){return jn(t,function(t){t=Ls(t),Si(e,t,Rl(e[t],e))}),e});function Ef(e){var t=e==null?0:e.length,n=J();return e=t?In(e,function(e){if(typeof e[1]!=`function`)throw new Ft(o);return[n(e[0]),e[1]]}):[],q(function(n){for(var r=-1;++r<t;){var i=e[r];if(kn(i[0],this,n))return kn(i[1],this,n)}})}function Df(e){return Ei(Ti(e,d))}function Of(e){return function(){return e}}function kf(e,t){return e==null||e!==e?t:e}var Af=To(),jf=To(!0);function Mf(e){return e}function Nf(e){return la(typeof e==`function`?e:Ti(e,d))}function Pf(e){return ma(Ti(e,d))}function Ff(e,t){return ha(e,Ti(t,d))}var If=q(function(e,t){return function(n){return Zi(n,e,t)}}),Lf=q(function(e,t){return function(n){return Zi(e,n,t)}});function Rf(e,t,n){var r=wd(t),i=Vi(t,r);n==null&&!(Ou(t)&&(i.length||!r.length))&&(n=t,t=e,e=this,i=Vi(t,wd(t)));var a=!(Ou(n)&&`chain`in n)||!!n.chain,o=Eu(e);return jn(i,function(n){var r=t[n];e[n]=r,o&&(e.prototype[n]=function(){var t=this.__chain__;if(a||t){var n=e(this.__wrapped__);return(n.__actions__=uo(this.__actions__)).push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,Ln([this.value()],arguments))})}),e}function zf(){return vn._===this&&(vn._=Wt),this}function Bf(){}function Vf(e){return e=Z(e),q(function(t){return va(t,e)})}var Hf=ko(In),Uf=ko(Nn),Wf=ko(zn);function Gf(e){return ms(e)?Jn(Ls(e)):Sa(e)}function Kf(e){return function(t){return e==null?n:Hi(e,t)}}var qf=Mo(),Jf=Mo(!0);function Yf(){return[]}function Xf(){return!1}function Zf(){return{}}function Qf(){return``}function $f(){return!0}function ep(e,t){if(e=Z(e),e<1||e>de)return[];var n=me,r=L(e,me);t=J(t),e-=me;for(var i=$n(r,t);++n<e;)t(n);return i}function tp(e){return Y(e)?In(e,Ls):Uu(e)?[e]:uo(Is(Q(e)))}function np(e){var t=++Bt;return Q(e)+t}var rp=Oo(function(e,t){return e+t},0),ip=Fo(`ceil`),ap=Oo(function(e,t){return e/t},1),op=Fo(`floor`);function sp(e){return e&&e.length?Ni(e,Mf,Gi):n}function cp(e,t){return e&&e.length?Ni(e,J(t,2),Gi):n}function lp(e){return qn(e,Mf)}function up(e,t){return qn(e,J(t,2))}function dp(e){return e&&e.length?Ni(e,Mf,fa):n}function fp(e,t){return e&&e.length?Ni(e,J(t,2),fa):n}var pp=Oo(function(e,t){return e*t},1),mp=Fo(`round`),hp=Oo(function(e,t){return e-t},0);function gp(e){return e&&e.length?Qn(e,Mf):0}function _p(e,t){return e&&e.length?Qn(e,J(t,2)):0}return G.after=Fl,G.ary=Il,G.assign=nd,G.assignIn=rd,G.assignInWith=id,G.assignWith=ad,G.at=od,G.before=Ll,G.bind=Rl,G.bindAll=Tf,G.bindKey=zl,G.castArray=iu,G.chain=Zc,G.chunk=Vs,G.compact=Hs,G.concat=Us,G.cond=Ef,G.conforms=Df,G.constant=Of,G.countBy=cl,G.create=sd,G.curry=Bl,G.curryRight=Vl,G.debounce=Hl,G.defaults=cd,G.defaultsDeep=ld,G.defer=Ul,G.delay=Wl,G.difference=Ws,G.differenceBy=Gs,G.differenceWith=Ks,G.drop=qs,G.dropRight=Js,G.dropRightWhile=Ys,G.dropWhile=Xs,G.fill=Zs,G.filter=ul,G.flatMap=pl,G.flatMapDeep=ml,G.flatMapDepth=hl,G.flatten=ec,G.flattenDeep=tc,G.flattenDepth=nc,G.flip=Gl,G.flow=Af,G.flowRight=jf,G.fromPairs=rc,G.functions=gd,G.functionsIn=_d,G.groupBy=vl,G.initial=oc,G.intersection=sc,G.intersectionBy=cc,G.intersectionWith=lc,G.invert=xd,G.invertBy=Sd,G.invokeMap=bl,G.iteratee=Nf,G.keyBy=xl,G.keys=wd,G.keysIn=Td,G.map=Sl,G.mapKeys=Ed,G.mapValues=Dd,G.matches=Pf,G.matchesProperty=Ff,G.memoize=Kl,G.merge=Od,G.mergeWith=kd,G.method=If,G.methodOf=Lf,G.mixin=Rf,G.negate=ql,G.nthArg=Vf,G.omit=Ad,G.omitBy=jd,G.once=Jl,G.orderBy=Cl,G.over=Hf,G.overArgs=Yl,G.overEvery=Uf,G.overSome=Wf,G.partial=Xl,G.partialRight=Zl,G.partition=wl,G.pick=Md,G.pickBy=Nd,G.property=Gf,G.propertyOf=Kf,G.pull=mc,G.pullAll=hc,G.pullAllBy=gc,G.pullAllWith=_c,G.pullAt=vc,G.range=qf,G.rangeRight=Jf,G.rearg=Ql,G.reject=Dl,G.remove=yc,G.rest=$l,G.reverse=bc,G.sampleSize=kl,G.set=Fd,G.setWith=Id,G.shuffle=Al,G.slice=xc,G.sortBy=Nl,G.sortedUniq=Oc,G.sortedUniqBy=kc,G.split=uf,G.spread=eu,G.tail=Ac,G.take=jc,G.takeRight=Mc,G.takeRightWhile=Nc,G.takeWhile=Pc,G.tap=Qc,G.throttle=tu,G.thru=$c,G.toArray=Xu,G.toPairs=Ld,G.toPairsIn=Rd,G.toPath=tp,G.toPlainObject=ed,G.transform=zd,G.unary=nu,G.union=Fc,G.unionBy=Ic,G.unionWith=Lc,G.uniq=Rc,G.uniqBy=zc,G.uniqWith=Bc,G.unset=Bd,G.unzip=Vc,G.unzipWith=Hc,G.update=Vd,G.updateWith=Hd,G.values=Ud,G.valuesIn=Wd,G.without=Uc,G.words=Cf,G.wrap=ru,G.xor=Wc,G.xorBy=Gc,G.xorWith=Kc,G.zip=qc,G.zipObject=Jc,G.zipObjectDeep=Yc,G.zipWith=Xc,G.entries=Ld,G.entriesIn=Rd,G.extend=rd,G.extendWith=id,Rf(G,G),G.add=rp,G.attempt=wf,G.camelCase=Jd,G.capitalize=Yd,G.ceil=ip,G.clamp=Gd,G.clone=au,G.cloneDeep=su,G.cloneDeepWith=cu,G.cloneWith=ou,G.conformsTo=lu,G.deburr=Xd,G.defaultTo=kf,G.divide=ap,G.endsWith=Zd,G.eq=uu,G.escape=$,G.escapeRegExp=Qd,G.every=ll,G.find=dl,G.findIndex=Qs,G.findKey=ud,G.findLast=fl,G.findLastIndex=$s,G.findLastKey=dd,G.floor=op,G.forEach=gl,G.forEachRight=_l,G.forIn=fd,G.forInRight=pd,G.forOwn=md,G.forOwnRight=hd,G.get=vd,G.gt=du,G.gte=fu,G.has=yd,G.hasIn=bd,G.head=ic,G.identity=Mf,G.includes=yl,G.indexOf=ac,G.inRange=Kd,G.invoke=Cd,G.isArguments=pu,G.isArray=Y,G.isArrayBuffer=mu,G.isArrayLike=hu,G.isArrayLikeObject=gu,G.isBoolean=_u,G.isBuffer=vu,G.isDate=yu,G.isElement=bu,G.isEmpty=xu,G.isEqual=Su,G.isEqualWith=Cu,G.isError=wu,G.isFinite=Tu,G.isFunction=Eu,G.isInteger=X,G.isLength=Du,G.isMap=Au,G.isMatch=ju,G.isMatchWith=Mu,G.isNaN=Nu,G.isNative=Pu,G.isNil=Iu,G.isNull=Fu,G.isNumber=Lu,G.isObject=Ou,G.isObjectLike=ku,G.isPlainObject=Ru,G.isRegExp=zu,G.isSafeInteger=Bu,G.isSet=Vu,G.isString=Hu,G.isSymbol=Uu,G.isTypedArray=Wu,G.isUndefined=Gu,G.isWeakMap=Ku,G.isWeakSet=qu,G.join=uc,G.kebabCase=$d,G.last=dc,G.lastIndexOf=fc,G.lowerCase=ef,G.lowerFirst=tf,G.lt=Ju,G.lte=Yu,G.max=sp,G.maxBy=cp,G.mean=lp,G.meanBy=up,G.min=dp,G.minBy=fp,G.stubArray=Yf,G.stubFalse=Xf,G.stubObject=Zf,G.stubString=Qf,G.stubTrue=$f,G.multiply=pp,G.nth=pc,G.noConflict=zf,G.noop=Bf,G.now=Pl,G.pad=nf,G.padEnd=rf,G.padStart=af,G.parseInt=of,G.random=qd,G.reduce=Tl,G.reduceRight=El,G.repeat=sf,G.replace=cf,G.result=Pd,G.round=mp,G.runInContext=e,G.sample=Ol,G.size=jl,G.snakeCase=lf,G.some=Ml,G.s
20ortedIndex=Sc,G.sortedIndexBy=Cc,G.sortedIndexOf=wc,G.sortedLastIndex=Tc,G.sortedLastIndexBy=Ec,G.sortedLastIndexOf=Dc,G.startCase=df,G.startsWith=ff,G.subtract=hp,G.sum=gp,G.sumBy=_p,G.template=pf,G.times=ep,G.toFinite=Zu,G.toInteger=Z,G.toLength=Qu,G.toLower=mf,G.toNumber=$u,G.toSafeInteger=td,G.toString=Q,G.toUpper=hf,G.trim=gf,G.trimEnd=_f,G.trimStart=vf,G.truncate=yf,G.unescape=bf,G.uniqueId=np,G.upperCase=xf,G.upperFirst=Sf,G.each=gl,G.eachRight=_l,G.first=ic,Rf(G,function(){var e={};return zi(G,function(t,n){E.call(G.prototype,n)||(e[n]=t)}),e}(),{chain:!1}),G.VERSION=r,jn([`bind`,`bindKey`,`curry`,`curryRight`,`partial`,`partialRight`],function(e){G[e].placeholder=G}),jn([`drop`,`take`],function(e,t){K.prototype[e]=function(r){r=r===n?1:un(Z(r),0);var i=this.__filtered__&&!t?new K(this):this.clone();return i.__filtered__?i.__takeCount__=L(r,i.__takeCount__):i.__views__.push({size:L(r,me),type:e+(i.__dir__<0?`Right`:``)}),i},K.prototype[e+`Right`]=function(t){return this.reverse()[e](t).reverse()}}),jn([`filter`,`map`,`takeWhile`],function(e,t){var n=t+1,r=n==se||n==le;K.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:J(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}}),jn([`head`,`last`],function(e,t){var n=`take`+(t?`Right`:``);K.prototype[e]=function(){return this[n](1).value()[0]}}),jn([`initial`,`tail`],function(e,t){var n=`drop`+(t?``:`Right`);K.prototype[e]=function(){return this.__filtered__?new K(this):this[n](1)}}),K.prototype.compact=function(){return this.filter(Mf)},K.prototype.find=function(e){return this.filter(e).head()},K.prototype.findLast=function(e){return this.reverse().find(e)},K.prototype.invokeMap=q(function(e,t){return typeof e==`function`?new K(this):this.map(function(n){return Zi(n,e,t)})}),K.prototype.reject=function(e){return this.filter(ql(J(e)))},K.prototype.slice=function(e,t){e=Z(e);var r=this;return r.__filtered__&&(e>0||t<0)?new K(r):(e<0?r=r.takeRight(-e):e&&(r=r.drop(e)),t!==n&&(t=Z(t),r=t<0?r.dropRight(-t):r.take(t-e)),r)},K.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},K.prototype.toArray=function(){return this.take(me)},zi(K.prototype,function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),a=G[i?`take`+(t==`last`?`Right`:``):t],o=i||/^find/.test(t);a&&(G.prototype[t]=function(){var t=this.__wrapped__,s=i?[1]:arguments,c=t instanceof K,l=s[0],u=c||Y(t),d=function(e){var t=a.apply(G,Ln([e],s));return i&&f?t[0]:t};u&&r&&typeof l==`function`&&l.length!=1&&(c=u=!1);var f=this.__chain__,p=!!this.__actions__.length,m=o&&!f,h=c&&!p;if(!o&&u){t=h?t:new K(this);var g=e.apply(t,s);return g.__actions__.push({func:$c,args:[d],thisArg:n}),new Fr(g,f)}return m&&h?e.apply(this,s):(g=this.thru(d),m?i?g.value()[0]:g.value():g)})}),jn([`pop`,`push`,`shift`,`sort`,`splice`,`unshift`],function(e){var t=It[e],n=/^(?:push|sort|unshift)$/.test(e)?`tap`:`thru`,r=/^(?:pop|shift)$/.test(e);G.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(Y(i)?i:[],e)}return this[n](function(n){return t.apply(Y(n)?n:[],e)})}}),zi(K.prototype,function(e,t){var n=G[t];if(n){var r=n.name+``;E.call(Yn,r)||(Yn[r]=[]),Yn[r].push({name:t,func:n})}}),Yn[Eo(n,v).name]=[{name:`wrapper`,func:n}],K.prototype.clone=Ir,K.prototype.reverse=Lr,K.prototype.value=Rr,G.prototype.at=el,G.prototype.chain=tl,G.prototype.commit=nl,G.prototype.next=rl,G.prototype.plant=al,G.prototype.reverse=ol,G.prototype.toJSON=G.prototype.valueOf=G.prototype.value=sl,G.prototype.first=G.prototype.head,tn&&(G.prototype[tn]=il),G})();typeof define==`function`&&typeof define.amd==`object`&&define.amd?(vn._=Dr,define(function(){return Dr})):bn?((bn.exports=Dr)._=Dr,yn._=Dr):vn._=Dr}).call(e)}));function gt(e,t){if(Object.is(e,t))return!0;if(e instanceof RegExp&&t instanceof RegExp)return e.toString()===t.toString();if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(typeof e!=`object`||typeof t!=`object`||e===null||t===null)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i of n)if(!r.includes(i)||!gt(e[i],t[i]))return!1;return!0}function _t(e,t){let n=t.replaceAll(/\[(\w+)\]/g,`.$1`);if(n.includes(`..`)||n.startsWith(`.`)||n.endsWith(`.`))return;let r=n.split(`.`),i=e;for(let e of r){if(i==null)return;i=i[e]}if(i!==void 0)return i}var vt=function(e){return function(t,n,r){return e(t,n,r)*r}},yt=function(e,t){if(e)throw Error(`Invalid sort config: `+t)},bt=function(e){var t=e||{},n=t.asc,r=t.desc,i=n?1:-1,a=n||r;return yt(!a,"Expected `asc` or `desc` property"),yt(n&&r,"Ambiguous object with `asc` and `desc` config properties"),{order:i,sortBy:a,comparer:e.comparer&&vt(e.comparer)}},xt=function(e){return function t(n,r,i,a,o,s,c){var l,u;if(typeof n==`string`)l=s[n],u=c[n];else if(typeof n==`function`)l=n(s),u=n(c);else{var d=bt(n);return t(d.sortBy,r,i,d.order,d.comparer||e,s,c)}var f=o(l,u,a);return(f===0||l==null&&u==null)&&r.length>i?t(r[i],r,i+1,a,o,s,c):f}};function St(e,t,n){if(e===void 0||e===!0)return function(e,r){return t(e,r,n)};if(typeof e==`string`)return yt(e.includes(`.`),`String syntax not allowed for nested properties.`),function(r,i){return t(r[e],i[e],n)};if(typeof e==`function`)return function(r,i){return t(e(r),e(i),n)};if(Array.isArray(e)){var r=xt(t);return function(i,a){return r(e[0],e,1,n,t,i,a)}}var i=bt(e);return St(i.sortBy,i.comparer||t,i.order)}var Ct=function(e,t,n,r){var i;return Array.isArray(t)?(Array.isArray(n)&&n.length<2&&(i=n,n=i[0]),t.sort(St(n,r,e))):t};function wt(e){var t=vt(e.comparer);return function(n){var r=Array.isArray(n)&&!e.inPlaceSorting?n.slice():n;return{asc:function(e){return Ct(1,r,e,t)},desc:function(e){return Ct(-1,r,e,t)},by:function(e){return Ct(1,r,e,t)}}}}var Tt=function(e,t,n){return e==null?n:t==null?-n:typeof e==typeof t?e<t?-1:+(e>t):typeof e<typeof t?-1:1},Et=wt({comparer:Tt});wt({comparer:Tt,inPlaceSorting:!0});function Dt(e,t){return Et(e).by(Object.entries(t).map(([e,t])=>({[t===1?`asc`:`desc`]:t=>_t(t,e)})))}function Ot(e,t,n,r=!1){if(e==null)return e;let i=t.split(/[.[\]]/g);i[0]===``&&i.shift(),i.at(-1)===``&&i.pop();let a=e=>{if(i.length>1){let t=i.shift(),n=!Number.isNaN(Number.parseInt(i[0],10));e[t]===void 0&&(e[t]=n?[]:{}),a(e[t])}else{if(r&&n===void 0){delete e[i[0]];return}e[i[0]]=n}};return a(e),e}function kt(e,t){if(Object.values(t).every(e=>e===0)){let n={...e};return Object.keys(t).forEach(t=>{_t(e,t)!==void 0&&Ot(n,t,void 0,!0)}),n}let n={};return Object.entries(t).forEach(([t,r])=>{let i=_t(e,t);
20i!==void 0&&(i==null&&r!==1||Ot(n,t,r===1?i:void 0))}),n}function At(e){if(typeof e==`function`)throw Error(`Cloning functions is not supported`);if(typeof e!=`object`||!e)return e;if(e instanceof Date)return new Date(e);if(Array.isArray(e))return e.map(e=>At(e));if(e instanceof Map){let t=new Map;return e.forEach((e,n)=>{t.set(n,At(e))}),t}if(e instanceof Set){let t=new Set;return e.forEach(e=>{t.add(At(e))}),t}if(e instanceof RegExp)return new RegExp(e);let t={};for(let n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=At(e[n]));return t}function jt(e){return typeof structuredClone==`function`?structuredClone(e):At(e)}function Mt(e,t){let n=new Set;return e.filter(e=>{let r=typeof t==`function`?t(e):e[t];return!n.has(r)&&n.add(r)})}var w=class{previousItems=[];callbacks;unbindEvents;constructor(e){this.callbacks={added:[],addedBefore:[],changed:[],changedField:[],movedBefore:[],removed:[]},this.unbindEvents=e()}call(e,...t){this.callbacks[e].forEach(({callback:e,options:n})=>{(!n.skipInitial||!n.isInitial)&&e(...t)})}hasCallbacks(e){return e.some(e=>this.callbacks[e].length>0)}isEmpty(){return!this.hasCallbacks([`added`,`addedBefore`,`changed`,`changedField`,`movedBefore`,`removed`])}runChecks(e){let t=new Map(this.previousItems.map((e,t)=>[e.id,{item:e,index:t,beforeItem:this.previousItems[t+1]||null}])),n=new Map(e.map((t,n)=>[t.id,{item:t,index:n,beforeItem:e[n+1]||null}]));this.hasCallbacks([`changed`,`changedField`,`movedBefore`,`removed`])&&t.forEach(({item:e,index:t,beforeItem:r})=>{let i=n.get(e.id);i?(this.hasCallbacks([`changed`,`changedField`])&&!gt(i.item,e)&&(this.call(`changed`,i.item),this.hasCallbacks([`changedField`])&&Mt([...Object.keys(i.item),...Object.keys(e)],e=>e).forEach(t=>{gt(i.item[t],e[t])||this.call(`changedField`,i.item,t,e[t],i.item[t])})),i.index!==t&&i.beforeItem?.id!==r?.id&&this.call(`movedBefore`,i.item,i.beforeItem)):this.call(`removed`,e)}),this.hasCallbacks([`added`,`addedBefore`])&&e.forEach((n,r)=>{t.get(n.id)||(this.call(`added`,n),this.call(`addedBefore`,n,e[r+1]||null))}
20),this.previousItems=e,Object.keys(this.callbacks).forEach(e=>{let t=e,n=this.callbacks[t];this.callbacks[t]=n.map(e=>({...e,options:{...e.options,isInitial:!1}}))})}stop(){this.unbindEvents()}addCallbacks(e,t=!1){Object.keys(e).forEach(n=>{let r=n;this.callbacks[r].push({callback:e[r],options:{skipInitial:t,isInitial:!0}})})}removeCallbacks(e){Object.keys(e).forEach(t=>{let n=t,r=this.callbacks[n].findIndex(({callback:t})=>t===e[n]);this.callbacks[n].splice(r,1)})}};function Nt(e){return e?e.isInScope?e.isInScope():!0:!1}var Pt=class{observer;getFilteredItems;options;onCleanupCallbacks=[];constructor(e,t){this.getFilteredItems=e,this.options=t||{}}addGetters(e){if(!Nt(this.options.reactive))return e;let t=this.depend.bind(this);return Object.entries(e).reduce((n,[r,i])=>(Object.defineProperty(n,r,{get(){return t({changedField:t=>(n,i)=>{i!==r||n.id!==e.id||t()}}),i},enumerable:!0,configurable:!0}),n),{})}transform(e){let t=this.options.fieldTracking?this.addGetters(e):e;return this.options.transform?this.options.transform(t):t}getItems(){let e=this.getFilteredItems(),{sort:t,skip:n,limit:r,transformAll:i,fields:a}=this.options,o=t?Dt(e,t):e,s=n?o.slice(n):o,c=r?s.slice(0,r):s,l=this.options.fields&&this.options.fields.id===0,u=c;return i&&(u=i(jt(c),a)),u.map(e=>this.options.fields?{...l?{}:{id:e.id},...kt(e,this.options.fields)}:e)}depend(e){if(!this.options.reactive||!Nt(this.options.reactive))return;let t=this.options.reactive.create();t.depend();let n=()=>t.notify();function r(t){let r=e[t];return(...e)=>{if(r===!0){n();return}typeof r==`function`&&r(n)(...e)}}let i=this.observeRawChanges({added:r(`added`),addedBefore:r(`addedBefore`),changed:r(`changed`),changedField:r(`changedField`),movedBefore:r(`movedBefore`),removed:r(`removed`)},!0);this.options.reactive.onDispose&&this.options.reactive.onDispose(()=>i(),t),this.onCleanup(i)}ensureObserver(){if(!this.observer){let e=new w(()=>{let t=this.options.bindEvents&&this.options.bindEvents(()=>{e.runChecks(this.getItems())});return()=>{t&&t()}});this.onCleanup(()=>e.stop()),this.observer=e}return this.observer}observeRawChanges(e,t=!1){let n=this.ensureObserver();return n.addCallbacks(e,t),n.runChecks(this.getItems()),()=>{n.removeCallbacks(e),n.isEmpty()&&(n.stop(),this.observer=void 0)}}cleanup(){this.onCleanupCallbacks.forEach(e=>{e()}),this.onCleanupCallbacks=[]}onCleanup(e){this.onCleanupCallbacks.push(e)}forEach(e){let t=this.getItems();this.depend({addedBefore:!0,removed:!0,movedBefore:!0,...this.options.fieldTracking?{}:{changed:!0}}),t.forEach(t=>{e(this.transform(t))})}map(e){let t=[];return this.forEach(n=>{t.push(e(n))}),t}fetch(){return this.map(e=>e)}count(){let e=this.getItems();return this.depend({added:!0,removed:!0}),e.length}observeChanges(e,t=!1){return this.observeRawChanges(Object.entries(e).reduce((e,[t,n])=>n?{...e,[t]:(e,t)=>{let r=this.transform(e),i=t!==void 0,a=i&&t?this.transform(t):null;return n(r,...i?[a]:[])}}:e,{}),t)}requery(){this.observer&&this.observer.runChecks(this.getItems())}},Ft=class{_maxListeners=100;_listenerStore=new Map;setMaxListeners(e){return this._maxListeners=e,this}on(e,t){let n=this._listenerStore.get(e);return n||(n=new Set,this._listenerStore.set(e,n)),n.add(t),n.size>this._maxListeners&&console.warn(`Possible EventEmitter memory leak detected. ${n.size} ${String(e)} listeners added. Use emitter.setMaxListeners() to increase limit.`),this}addListener(e,t){return this.on(e,t)}once(e,t){let n=((...r)=>{t(...r),this.off(e,n)});return this.on(e,n)}off(e,t){let n=this._listenerStore.get(e);return n?(n.delete(t),n.size===0&&this._listenerStore.delete(e),this):this}removeListener(e,t){return this.off(e,t)}emit(e,...t){this.listeners(e).forEach(e=>{e(...t)})}listeners(e){let t=this._listenerStore.get(e);return t?[...t.values()]:[]}listenerCount(e){let t=this._listenerStore.get(e);return t?t.size:0}removeAllListeners(e){if(e===void 0){for(let[e,t]of this._listenerStore.entries())for(let n of t.values())this.off(e,n);this._listenerStore.clear()}else{let t=this._listenerStore.get(e);if(t){for(let n of t.values())this.off(e,n);this._listenerStore.delete(e)}}return this}},It=16777619;function T(e,t){return e*It^t>>>0}function Lt(e){if(Number.isNaN(e))return 2143289344;if(!Number.isFinite(e))return e>0?2139095040:4286578688;let t=Math.trunc(e),n=e-t,r=t|0;if(n!==0){let e=Math.floor(n*4294967296);r=T(r,e|0)}return r>>>0}function Rt(e){let t=0;for(let n=0;n<e.length;n++)t=T(t,e.charCodeAt(n));return t>>>0}function zt(e){let t=0,n=e<0n,r=n?-e:e;if(r===0n)t=T(t,0);else for(;r>0n;){let e=Number(r&255n);t=T(t,e),r>>=8n}return T(t,+n)>>>0}function E(e){let t=Rt((e.name||``)+e.toString());return t=T(t,e.length),t>>>0}function Bt(e){let t=0;for(let n=0;n<e.length;n++)t=T(t,e[n]);return t>>>0}function Vt(e){let t=Rt(e.constructor.name),n=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return t=T(t,Bt(n)),t>>>0}function Ht(e,t){if(t.has(e))return 13;t.add(e);let n=1;for(let r=0;r<e.length;r++)n=T(n,qt(e[r],t));return t.delete(e),n>>>0}function Ut(e,t){if(t.has(e))return 13;t.add(e);let n=Object.keys(e).sort(),r=Rt(e?.constructor?.name);for(let i of n)r=T(r,Rt(i)),r=T(r,qt(e[i],t));return t.delete(e),r>>>0}var Wt=[3735928559,305441741].map(e=>T(3,e)),Gt=T(1,0),Kt=T(2,0);function qt(e,t){if(e===null)return Gt;switch(typeof e){case`undefined`:return Kt;case`boolean`:return Wt[+e];case`number`:return T(4,Lt(e));case`string`:return T(5,Rt(e));case`bigint`:return T(6,zt(e));case`function`:return T(7,E(e));default:return ArrayBuffer.isView(e)&&!(e instanceof DataView)?T(12,Vt(e)):e instanceof Date?T(10,Lt(e.getTime())):e instanceof RegExp?T(11,T(Rt(e.source),Rt(e.flags))):Array.isArray(e)?T(8,Ht(e,t)):T(9,Ut(e,t))}}function Jt(e){return qt(e,new WeakSet)>>>0}
20var Yt=class extends Error{},Xt=Symbol(`missing`),Zt=`mingo: cycle detected while processing object/array`,Qt=e=>typeof e!=`object`&&typeof e!=`function`||e===null,$t=e=>Qt(e)||P(e)||dn(e),en={undefined:1,null:2,number:3,string:4,symbol:5,object:6,array:7,arraybuffer:8,boolean:9,date:10,regexp:11,function:12},tn=(e,t)=>e<t?-1:+(e>t),nn=(e,t)=>{let n=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),i=Math.min(n.length,r.length);for(let e=0;e<i;e++){let t=tn(n[e],r[e]);if(t!==0)return t}return tn(n.length,r.length)};function rn(e,t,n=!1){if(e===Xt&&(e=void 0),t===Xt&&(t=void 0),e===t||Object.is(e,t))return 0;let r=cn(e),i=cn(t),a=0;if(r===i)switch(r){case`number`:case`string`:case`boolean`:return tn(e,t);case`date`:return tn(+e,+t);case`regexp`:return(a=tn(e.source,t.source))?a:tn(e.flags,t.flags);case`arraybuffer`:return nn(e,t);case`array`:{let n=e.slice().sort(rn),r=t.slice().sort(rn),i=Math.min(n.length,r.length);for(let e=0;e<i;e++)if(a=rn(n[e],r[e]))return a;return tn(n.length,r.length)}default:{if(r!==`object`){if(e?.constructor===t?.constructor&&an(e))return tn(e.toString(),t.toString());if(a=tn(e?.constructor?.name,t?.constructor?.name))return a}let n=Object.keys(e).sort();if(a=rn(n,Object.keys(t).sort()))return a;for(let r of n)if(a=rn(e[r],t[r]))return a;return 0}}if(r==`undefined`)return-1;if(i==`undefined`)return 1;if(n){if(r==`array`){let n=e;if(!n.length)return-1;let r=n.slice().sort(rn);a=1;for(let e of r)if((a=Math.min(a,rn(e,t)))<0)return a;return a}if(i==`array`){let n=t;if(!n.length)return 1;let r=n.slice().sort(rn);a=-1;for(let t of r)if((a=Math.max(a,rn(e,t)))>0)return a;return a}}let o=en[r]??Number.MAX_VALUE,s=en[i]??Number.MAX_VALUE;return o===s?tn(r,i):tn(o,s)}var D=(e,t)=>rn(e,t,!0),an=e=>e!=null&&e.toString!==Object.prototype.toString;function on(e,t){if(e===t||Object.is(e,t))return!0;if(e===null||t===null||typeof e!=typeof t||typeof e!=`object`||e.constructor!==t?.constructor)return!1;if(P(e))return P(t)&&+e==+t;if(dn(e))return dn(t)&&e.source===t.source&&e.flags===t.flags;if(M(e)&&M(t))return e.length===t.length&&e.every((e,n)=>on(e,t[n]));if(e?.constructor!==Object&&an(e))return e?.toString()===t?.toString();let n=e,r=t,i=Object.keys(n),a=Object.keys(r);return i.length===a.length?i.every(e=>R(r,e)&&on(n[e],r[e])):!1}var sn=class e extends Map{#e=new Map;#t=e=>{let t=Jt(e);return[(this.#e.get(t)??[]).find(t=>on(t,e)),t]};constructor(){super()}static init(){return new e}clear(){super.clear(),this.#e.clear()}delete(e){if(Qt(e))return super.delete(e);let[t,n]=this.#t(e);return super.delete(t)?(this.#e.set(n,this.#e.get(n).filter(e=>!on(e,t))),!0):!1}get(e){if(Qt(e))return super.get(e);let[t,n]=this.#t(e);return super.get(t)}has(e){if(Qt(e))return super.has(e);let[t,n]=this.#t(e);return super.has(t)}set(e,t){if(Qt(e))return super.set(e,t);let[n,r]=this.#t(e);if(super.has(n))super.set(n,t);else{super.set(e,t);let n=this.#e.get(r)||[];n.push(e),this.#e.set(r,n)}return this}get size(){return super.size}};function O(e,t){if(!e)throw new Yt(t)}function cn(e){let t=typeof e;switch(t){case`number`:case`string`:case`boolean`:case`undefined`:case`function`:case`symbol`:return t}return e===null?`null`:M(e)?`array`:P(e)?`date`:dn(e)?`regexp`:mn(e)?`arraybuffer`:e?.constructor===Object?`object`:e?.constructor?.name?.toLowerCase()??`object`}var ln=e=>typeof e==`boolean`,k=e=>typeof e==`string`,A=e=>!Number.isNaN(e)&&typeof e==`number`,j=Number.isInteger,M=Array.isArray,N=e=>cn(e)===`object`,un=e=>!Qt(e),P=e=>e instanceof Date,dn=e=>e instanceof RegExp,F=e=>typeof e==`function`,I=e=>e==null,L=(e,t=!0)=>!!e||t&&e===``,fn=e=>I(e)||k(e)&&!e||M(e)&&e.length===0||N(e)&&Object.keys(e).length===0,pn=e=>M(e)?e:[e],R=(e,...t)=>!!e&&t.every(t=>Object.prototype.hasOwnProperty.call(e,t)),mn=e=>typeof ArrayBuffer<`u`&&ArrayBuffer.isView(e),hn=(e,t)=>{if(I(e)||ln(e)||A(e)||k(e))return e;if(P(e))return new Date(e);if(dn(e))return new RegExp(e);if(mn(e)){let t=e.constructor;return new t(e)}if(t instanceof WeakSet||(t=new WeakSet),t.has(e))throw Error(Zt);t.add(e);try{if(M(e)){let n=Array(e.length);for(let r=0;r<e.length;r++)n[r]=hn(e[r],t);return n}if(N(e)){let n={};for(let r of Object.keys(e))n[r]=hn(e[r],t);return n}}finally{t.delete(e)}return e};function gn(e){if(e.length===0)return[];if(e.length===1)return e[0].slice();for(let t of e)if(t.length===0)return[];let t=[sn.init(),sn.init()],n=0;for(let n of e[e.length-1])t[0].set(n,!0);for(let r=e.length-2;r>=0;r--){for(let i=0;i<e[r].length;i++){let a=e[r][i];t[n].has(a)&&t[n^1].set(a,!0)}if(t[n^1].size===0)return[];t[n].clear(),n^=1}return Array.from(t[n].keys())}function _n(e,t=1){let n=[];function r(e,t){for(let i=0,a=e.length;i<a;i++)M(e[i])&&(t>0||t<0)?r(e[i],Math.max(-1,t-1)):n.push(e[i])}return r(e,t),n}function vn(e){let t=sn.init();for(let n of e)t.set(n,!0);return Array.from(t.keys())}function yn(e,t){if(e.length<1)return new Map;let n=sn.init();for(let r=0;r<e.length;r++){let i=e[r],a=t(i,r)??null,o=n.get(a);o?o.push(i):(o=[i],n.set(a,o))}return n}function bn(e,t){return un(e)?e[t]:void 0}function xn(e,t){if(t<1)return e;for(;t--&&e.length===1&&M(e[0]);)e=e[0];return e}function z(e,t,n){if($t(e))return e;let r=n?.pathArray??t.split(`.`);if(r.length===1&&!M(e))return bn(e,r[0]);if(r.length===2&&!M(e)){let t=bn(e,r[0]);if(t==null)return;if(!M(t))return bn(t,r[1])}let i=0;function a(e,t){let n=e;for(let e=0;e<t.length;e++){let r=t[e];if(!wn.test(r)&&M(n)){if(e===0&&i>0)break;i+=1;let r=t.slice(e);n=n.reduce((e,t)=>
20{let n=a(t,r);return n!==void 0&&e.push(n),e},[]);break}else n=bn(n,r);if(n===void 0)break}return n}let o=a(e,r);return M(o)&&n?.unwrapArray?xn(o,i):o}function Sn(e,t,n){let r=t.indexOf(`.`),i=r==-1?t:t.substring(0,r),a=t.substring(r+1),o=r!=-1;if(M(e)){let r=/^\d+$/.test(i),s=r&&n?.preserveIndex?e.slice():[];if(r){let t=parseInt(i),r=bn(e,t);o&&(r=Sn(r,a,n)),n?.preserveIndex?s[t]=r:s.push(r)}else for(let r of e){let e=Sn(r,t,n);n?.preserveMissing?s.push(e??Xt):(e!=null||n?.preserveIndex)&&s.push(e)}return s}let s=n?.preserveKeys?{...e}:{},c=bn(e,i);if(o&&(c=Sn(c,a,n)),c!==void 0)return s[i]=c,s}function Cn(e){if(M(e))for(let t=e.length-1;t>=0;t--)e[t]===Xt?e.splice(t,1):Cn(e[t]);else if(N(e))for(let t of Object.keys(e))R(e,t)&&Cn(e[t])}var wn=/^\d+$/;function Tn(e,t,n,r){let i=t.split(`.`),a=i[0],o=i.slice(1).join(`.`);if(i.length===1)(N(e)||M(e)&&wn.test(a))&&n(e,a);else{r?.buildGraph&&I(e[a])&&(e[a]={});let t=e[a];if(!t)return;let s=!!(i.length>1&&wn.test(i[1]));M(t)&&r?.descendArray&&!s?t.forEach((e=>Tn(e,o,n,r))):Tn(t,o,n,r)}}function En(e,t,n){Tn(e,t,(e,t)=>e[t]=n,{buildGraph:!0})}function Dn(e,t,n){Tn(e,t,((e,t)=>{M(e)?e.splice(parseInt(t),1):N(e)&&delete e[t]}),n)}var On=e=>!!e&&e[0]===`$`&&/^\$[a-zA-Z0-9_]+$/.test(e);function kn(e){if($t(e))return dn(e)?{$regex:e}:{$eq:e};if(un(e)){if(!Object.keys(e).some(On))return{$eq:e};if(N(e)&&R(e,`$regex`)){let t={...e};return t.$regex=new RegExp(e.$regex,e.$options),delete t.$options,t}}return e}function An(e,t,n=D){let r=0,i=e.length-1;for(;r<=i;){let a=Math.round(r+(i-r)/2);if(n(t,e[a])<0)i=a-1;else if(n(t,e[a])>0)r=a+1;else return a}return r}var jn=class{constructor(){this.root={children:new Map,isTerminal:!1}}add(e){let t=e.split(`.`),n=this.root;for(let e of t){if(n.isTerminal)return!1;n.children.has(e)||n.children.set(e,{children:new Map,isTerminal:!1}),n=n.children.get(e)}return n.isTerminal||n.children.size?!1:n.isTerminal=!0}},Mn=(e=>(e[e.CLONE_OFF=0]=`CLONE_OFF`,e[e.CLONE_INPUT=1]=`CLONE_INPUT`,e[e.CLONE_OUTPUT=2]=`CLONE_OUTPUT`,e[e.CLONE_ALL=3]=`CLONE_ALL`,e))(Mn||{}),Nn=class e{constructor(e,t){this.options=e,this.#e=t?{...t}:{}}#e;static init(t){return t instanceof e?new e(t.options,t.#e):new e({idKey:`_id`,scriptEnabled:!0,useStrictMode:!0,failOnError:!0,processingMode:0,...t,context:t?.context?Fn.from(t?.context):Fn.init()})}update(e){return Object.assign(this.#e,e,{timestamp:this.#e.timestamp,variables:{...this.#e?.variables,...e?.variables}}),this}get local(){return this.#e}get now(){let e=this.#e.timestamp??0;return e||(e=Date.now(),Object.assign(this.#e,{timestamp:e})),new Date(e)}get idKey(){return this.options.idKey}get collation(){return this.options?.collation}get processingMode(){return this.options?.processingMode}get useStrictMode(){return this.options?.useStrictMode}get scriptEnabled(){return this.options?.scriptEnabled}get failOnError(){return this.options?.failOnError}get collectionResolver(){return this.options?.collectionResolver}get jsonSchemaValidator(){return this.options?.jsonSchemaValidator}get variables(){return this.options?.variables}get context(){return this.options?.context}},Pn=(e=>(e.ACCUMULATOR=`accumulator`,e.EXPRESSION=`expression`,e.PIPELINE=`pipeline`,e.PROJECTION=`projection`,e.QUERY=`query`,e.WINDOW=`window`,e))(Pn||{}),Fn=class e{#e;constructor(){this.#e={accumulator:{},expression:{},pipeline:{},projection:{},query:{},window:{}}}static init(t={}){let n=new e;for(let e of Object.keys(t))n.#e[e]={...t[e]};return n}static from(...t){if(t.length===1)return e.init(t[0].#e);let n=new e;for(let e of t)for(let t of Object.values(Pn))n.addOps(t,e.#e[t]);return n}addOps(e,t){return this.#e[e]=Object.assign({},t,this.#e[e]),this}getOperator(e,t){return this.#e[e][t]??null}addAccumulatorOps(e){return this.addOps(`accumulator`,e)}addExpressionOps(e){return this.addOps(`expression`,e)}addQueryOps(e){return this.addOps(`query`,e)}addPipelineOps(e){return this.addOps(`pipeline`,e)}addProjectionOps(e){return this.addOps(`projection`,e)}addWindowOps(e){return this.addOps(`window`,e)}};function B(e,t,n){return Ln(e,t,!(n instanceof Nn)||I(n.local.root)?Nn.init(n).update({root:e}):n)}var In=new Set([`$$ROOT`,`$$CURRENT`,`$$REMOVE`,`$$NOW`]);function Ln(e,t,n){if(k(t)&&t.length>0&&t[0]===`$`){if(t===`$$KEEP`||t===`$$PRUNE`||t===`$$DESCEND`)return t;let r=n.local.root,i=t.split(`.`),a=t.indexOf(`.`),o=a===-1?t:t.substring(0,a);if(In.has(i[0])){switch(o){case`$$ROOT`:break;case`$$CURRENT`:r=e;break;case`$$REMOVE`:r=void 0;break;case`$$NOW`:r=new Date(n.now);break}t=a===-1?``:t.substring(a+1)}else if(o.length>=2&&o[1]===`$`){r=Object.assign({},n.variables,{this:e},n?.local?.variables);let i=o.substring(2);O(R(r,i),`Use of undefined variable: ${i}`),t=t.substring(2)}else t=t.substring(1);return t===``?r:z(r,t)}if(M(t))return t.map(t=>Ln(e,t,n));if(N(t)){let r=Object.keys(t);if(On(r[0]))return O(r.length===1,`Expression must contain a single operator.`),Rn(e,t[r[0]],r[0],n);let i={};for(let a=0;a<r.length;a++)i[r[a]]=Ln(e,t[r[a]],n);return i}return t}function Rn(e,t,n,r){let i=r.context,a=i.getOperator(`expression`,n);if(a)return a(e,t,r);let o=i.getOperator(`accumulator`,n);return O(!!o,`accumulator '${n}' is not registered.`),M(e)||(e=Ln(e,t,r),t=null),O(M(e),`arguments must resolve to array for ${n}.`),o(e,t,r)}function V(e){return new Hn(e)}function zn(...e){let t=0;return V(()=>{for(;t<e.length;){let n=e[t].next();if(!n.done)return n;t++}return{done:!0,value:void 0}})}function Bn(e){return!!e&&typeof e==`object`&&typeof e?.next==`function`}function Vn(e){return!!e&&(typeof e==`object`||typeof e==`function`)&&typeof e[Symbol.iterator]==`function`}var Hn=class{#e=[];#t=[];#n;#r=!1;constructor(e){let t;Vn(e)?t=e[Symbol.iterator]():Bn(e)?t=e:typeof e==`function`?t={next:e}:O(0,`mingo: iterator requires an iterable, generator or function`);let n=-1;this.#n=()=>{for(;;){let{value:e,done:r}=t.next();if(r)return{done:r};let i=!0;n++;for(let t=0;t<this.#e.length;t++){let{op:r,fn:a}=this.#e[t],o=a(e,n);if(r===`map`)e=o;else if(!o){i=!1;break}}if(i)return{value:e,done:r}}}}push(e,t){return this.#e.push({op:e,fn:t}),this}next(){return this.#n()}map(e){return this.push(`map`,e)}filter(e){return this.push(`filter`,e)}take(e){return O(e>=0,`value must be a non-negative integer`),this.filter(t=>e-- >0)}drop(e){return O(e>=0,`value must be a non-negative integer`),this.filter(t=>e--<=0)}transform(e){let t=this,n;return V(()=>(n||=e(t.collect()),n.next()))}collect(){for(;!this.#r;){let{done:e,value:t}=this.#n();e||this.#t.push(t),this.#r=e}return this.#t}each(e){for(let t=this.next();t.done!==!0;t=this.next())e(t.value)}reduce(e,t){let n=this.next();
20for(t===void 0&&!n.done&&(t=n.value,n=this.next());!n.done;)t=e(t,n.value),n=this.next();return t}size(){return this.collect().length}[Symbol.iterator](){return this}},Un=class{#e;#t;constructor(e,t){this.#e=e,this.#t=Nn.init(t)}stream(e,t){let n=V(e),r=t??this.#t,i=r.processingMode;return i&Mn.CLONE_INPUT&&n.map(e=>hn(e)),n=this.#e.map((e,t)=>{let n=Object.keys(e);O(n.length===1,`aggregation stage must have single operator, got ${n.toString()}.`);let i=n[0];O(i!==`$documents`||t==0,`$documents must be first stage in pipeline.`);let a=r.context.getOperator(Pn.PIPELINE,i);return O(!!a,`unregistered pipeline operator ${i}.`),[a,e[i]]}).reduce((e,[t,n])=>t(e,n,r),n),i&Mn.CLONE_OUTPUT&&n.map(e=>hn(e)),n}run(e,t){return this.stream(e,t).collect()}},H=(e,t,n)=>{if(I(t))return e;let r=Nn.init(n),i=Array(e.length);for(let n=0;n<e.length;n++){let a=e[n];i[n]=B(a,t,r.update({root:a}))??null}return i},Wn=(e,t,n)=>{O(n.scriptEnabled,`$accumulator requires 'scriptEnabled' option to be true`);let r=Nn.init(n),i=t,a=B(r?.local?.groupId,i.initArgs||[],r.update({root:r?.local?.groupId})),o=H(e,i.accumulateArgs,r);for(let e=0;e<o.length;e++)for(let t=0;t<o[e].length;t++)o[e][t]=o[e][t]??null;let s=i.init.apply(null,a),c=i.accumulate,l=s;for(let e=0;e<o.length;e++)l=c.apply(null,[l,...o[e]]);return i.finalize&&(l=i.finalize.call(null,l)),l},Gn=(e,t,n)=>vn(H(e,t,n)),Kn=(e,t,n)=>{let r=H(e,t,n).filter(A);return r.length===0?null:r.reduce((e,t)=>e+t,0)/r.length};function qn(e,t,n){O(N(t)&&Object.keys(t).length>0,`$sort specification is invalid`);let r=D,i=n.collation;return N(i)&&k(i.locale)&&(r=Yn(i)),e.transform(e=>{let n=Object.keys(t);for(let i of n.reverse()){let n=yn(e,e=>z(e,i)),a=Array.from(n.keys()),o=!1;if(r===D){let e=!0,t=!0;for(let n of a)if(e&&=k(n),t&&=A(n),!e&&!t)break;if(o=e||t,e)a.sort();else if(t){let e=new Float64Array(a).sort();for(let t=0;t<e.length;t++)a[t]=e[t]}}o||a.sort(r),t[i]===-1&&a.reverse();let s=0;for(let t of a)for(let r of n.get(t))e[s++]=r;O(s==e.length,`bug: counter must match collection size.`)}return V(e)})}var Jn={1:`base`,2:`accent`,3:`variant`};function Yn(e){let t={sensitivity:Jn[e.strength||3],caseFirst:e.caseFirst===`off`?`false`:e.caseFirst,numeric:e.numericOrdering||!1,ignorePunctuation:e.alternate===`shifted`};e.caseLevel===!0&&(t.sensitivity===`base`&&(t.sensitivity=`case`),t.sensitivity===`accent`&&(t.sensitivity=`variant`));let n=new Intl.Collator(e.locale,t);return(e,t)=>k(e)&&k(t)?n.compare(e,t):D(e,t)}var Xn=(e,t,n)=>{let r=n,i=t,a=B(r?.local?.groupId,i.n,r),o=qn(V(e),i.sortBy,n).collect(),s=o.length;return H(s<=a?o:o.slice(s-a),i.output,r)},Zn=(e,t,n)=>Xn(e,{...t,n:1},n),Qn=(e,t,n)=>e.length;function $n(e,t=!0){let n=e.reduce((e,t)=>e+t,0),r=Math.max(e.length,1),i=n/r;return Math.sqrt(e.reduce((e,t)=>e+(t-i)**2,0)/(r-Number(t)))}function er(e,t=!0){if(e.length<2)return t?null:0;let n=0,r=0;for(let[t,i]of e)n+=t,r+=i;n/=e.length,r/=e.length;let i=0;for(let[t,a]of e)i+=(t-n)*(a-r);return i/(e.length-Number(t))}var tr=(e,t,n)=>er(H(e,t,n),!1),nr=(e,t,n)=>er(H(e,t,n),!0),rr=(e,t,n)=>{let r=e[0];return B(r,t,Nn.init(n).update({root:r}))??null},ir={int:{int:!0},pos:{min:1,int:!0},index:{min:0,int:!0},nzero:{min:0,max:0,int:!0}},ar={int:{type:`integers`},obj:{type:`objects`}};function or(e,t){return O(!e,t),null}function sr(e,t){let n=`${t} expression must resolve to object`;return O(!e,n),null}function cr(e,t){let n=`${t} expression must resolve to string`;return O(!e,n),null}function U(e,t,n){let r=n?.int?`integer`:`number`,i=n?.min??-1/0,a=n?.max??1/0,o;return o=i===0&&a===0?`${t} expression must resolve to non-zero ${r}`:i===0&&a===1/0?`${t} expression must resolve to non-negative ${r}`:i!==-1/0&&a!==1/0?`${t} expression must resolve to ${r} in range [${i}, ${a}]`:i>0?`${t} expression must resolve to positive ${r}`:`${t} expression must resolve to ${r}`,O(!e,o),null}function W(e,t,n){let r=`array`;!I(n?.size)&&n?.size>=0&&(r=n.size===0?`non-zero array`:`array(${n.size})`),n?.type&&(r=`array of ${n.type}`);let i=`${t} expression must resolve to ${r}`;return O(!e,i),null}var lr=(e,t,n)=>{let r=n.failOnError,i=n,a=e.length,o=B(i?.local?.groupId,t.n,i);return!j(o)||o<1?U(r,`$firstN 'n'`,ir.pos):H(a<=o?e:e.slice(0,o),t.input,n)},ur=(e,t,n)=>{let r=e[e.length-1];return B(r,t,Nn.init(n).update({root:r}))??null}
20,dr=(e,t,n)=>{let r=n,i=e.length,a=B(r?.local?.groupId,t.n,r),o=n.failOnError;return!j(a)||a<1?U(o,`$lastN 'n'`,ir.pos):H(i<=a?e:e.slice(i-a),t.input,n)},fr=(e,t,n)=>{let r=H(e,t,n).filter(e=>!I(e));return r.length?r.reduce((e,t)=>D(e,t)>=0?e:t):null},pr=(e,t,n)=>{let r=n,i=e.length,a=B(r?.local?.groupId,t.n,r);if(!j(a)||a<1)return U(n.failOnError,`$maxN 'n'`,ir.pos);let o=H(e,t.input,n).filter(e=>!I(e));return o.sort((e,t)=>-1*D(e,t)),i<=a?o:o.slice(0,a)},mr=(e,t,n)=>{O(N(t)&&R(t,`input`,`p`)&&M(t.p),`$percentile expects object { input, p }`);let r=H(e,t.input,n).filter(A).sort(),i=H(t.p,`$$CURRENT`,n),a=t.method||`approximate`;for(let e of i)if(!A(e)||e<0||e>1)return or(n.failOnError,`$percentile 'p' must resolve to array of numbers between [0.0, 1.0]`);return i.map(e=>{let t=e*(r.length-1)+1,n=Math.floor(t),i=t===n?r[t-1]:r[n-1]+t%1*(r[n]-r[n-1]);switch(a){case`exact`:return i;case`approximate`:{let t=An(r,i);return t/r.length>=e?r[Math.max(t-1,0)]:r[t]}}})},hr=(e,t,n)=>mr(e,{...t,p:[.5]},n)?.pop(),gr=(e,t,n)=>{let r={};for(let t of e)if(!I(t))for(let e of Object.keys(t))t[e]!==void 0&&(r[e]=t[e]);return r},_r=(e,t,n)=>{let r=H(e,t,n).filter(e=>!I(e));return r.length?r.reduce((e,t)=>D(e,t)<=0?e:t):null},vr=(e,t,n)=>{let r=n,i=e.length,a=B(r?.local?.groupId,t.n,r);if(!j(a)||a<1)return U(n.failOnError,`$minN 'n'`,ir.pos);let o=H(e,t.input,n).filter(e=>!I(e));return o.sort(D),i<=a?o:o.slice(0,a)},yr=(e,t,n)=>$n(H(e,t,n).filter(A),!1),br=(e,t,n)=>$n(H(e,t,n).filter(A),!0),xr=(e,t,n)=>A(t)?e.length*t:H(e,t,n).filter(A).reduce((e,t)=>e+t,0),Sr=(e,t,n)=>{let r=n,{n:i,sortBy:a}=B(r?.local?.groupId,t,r);return H(qn(V(e),a,n).take(i).collect(),t.output,r)},Cr=(e,t,n)=>Sr(e,{...t,n:1},n),wr=s({$accumulator:()=>Wn,$addToSet:()=>Gn,$avg:()=>Kn,$bottom:()=>Zn,$bottomN:()=>Xn,$count:()=>Qn,$covariancePop:()=>tr,$covarianceSamp:()=>nr,$first:()=>rr,$firstN:()=>lr,$last:()=>ur,$lastN:()=>dr,$max:()=>fr,$maxN:()=>pr,$median:()=>hr,$mergeObjects:()=>gr,$min:()=>_r,$minN:()=>vr,$percentile:()=>mr,$push:()=>H,$stdDevPop:()=>yr,$stdDevSamp:()=>br,$sum:()=>xr,$top:()=>Cr,$topN:()=>Sr}),Tr=(e,t,n)=>{let r=B(e,t,n);return I(r)?null:typeof r==`number`?Math.abs(r):U(n.failOnError,`$abs`)},Er=`$add expression must resolve to array of numbers.`,Dr=(e,t,n)=>{let r=B(e,t,n),i=n.failOnError,a=!1,o=0;if(!M(r))return or(i,Er);for(let e of r){if(I(e))return null;if(typeof e==`number`)o+=e;else if(P(e)){if(a)return or(i,`$add must only have one date`);a=!0,o+=+e}else return or(i,Er)}return a?new Date(o):o},Or=(e,t,n)=>{let r=B(e,t,n);return I(r)?null:typeof r==`number`?Math.ceil(r):U(n.failOnError,`$ceil`)},kr=(e,t,n)=>{O(M(t),`$divide expects array(2)`);let r=B(e,t,n),i=n.failOnError,a=!0;for(let e of r){if(I(e))return null;a&&=A(e)}return a?r[1]===0?or(i,`$divide cannot divide by zero`):r[0]/r[1]:W(i,`$divide`,{size:2,type:`number`})},Ar=(e,t,n)=>{let r=B(e,t,n);return I(r)?null:typeof r==`number`?Math.exp(r):U(n.failOnError,`$exp`)},jr=(e,t,n)=>{let r=B(e,t,n);return I(r)?null:typeof r==`number`?Math.floor(r):U(n.failOnError,`$floor`)},Mr=(e,t,n)=>{let r=B(e,t,n);return I(r)?null:typeof r==`number`?Math.log(r):U(n.failOnError,`$ln`)},G=(e,t,n)=>{let r=B(e,t,n);if(M(r)&&r.length==2){let e=!0;for(let t of r){if(I(t))return null;e&&=typeof t==`number`}if(e)return Math.log10(r[0])/Math.log10(r[1])}return W(n.failOnError,`$log`,{size:2,type:`number`})},Nr=(e,t,n)=>{let r=B(e,t,n);return I(r)?null:typeof r==`number`?Math.log10(r):U(n.failOnError,`$log10`)},Pr=(e,t,n)=>{let r=B(e,t,n),i=!M(r)||r.length!=2;return i||=!r.every(e=>typeof e==`number`),i?W(n.failOnError,`$mod`,{size:2,type:`number`}):r[0]%r[1]},Fr=(e,t,n)=>{O(M(t),`$multiply expects array`);let r=B(e,t,n),i=n.failOnError;if(r.some(I))return null;let a=1;for(let e of r){if(!A(e))return W(i,`$multiply`,{type:`number`});a*=e}return a},K=(e,t,n)=>{O(M(t)&&t.length===2,`$pow expects array(2)`);let r=B(e,t,n),i=n.failOnError,a=!0;for(let e of r){if(I(e))return null;a&&=A(e)}return a?(r[0]===0&&r[1]<0&&or(i,`$pow cannot raise 0 to a negative exponent`),r[0]**+r[1]):W(i,`$pow`,{size:2,type:`number`})};function Ir(e,t,n){let{name:r,roundOff:i,failOnError:a}=n;
20if(I(e))return null;if(Number.isNaN(e)||Math.abs(e)===1/0)return e;if(!A(e))return U(a,`${r} arg1 <number>`);if(!j(t)||t<-20||t>100)return U(a,`${r} arg2 <precision>`,{min:-20,max:100,int:!0});let o=Math.abs(e)===e?1:-1;e=Math.abs(e);let s=Math.trunc(e),c=parseFloat((e-s).toFixed(Math.abs(t)+1));if(t===0){let e=Math.trunc(10*c);i&&((s&1)==1&&e>=5||e>5)&&s++}else if(t>0){let e=10**t,n=Math.trunc(c*e),r=Math.trunc(c*e*10)%10;i&&r>5&&(n+=1),s=(s*e+n)/e}else if(t<0){let e=10**(-1*t),n=s%e;if(s=Math.max(0,s-n),i&&o===-1){for(;n>10;)n-=n/10;s>0&&n>=5&&(s+=e)}}return s*o}var Lr=(e,t,n)=>{O(M(t),`$round expects array(2)`);let[r,i]=B(e,t,n);return Ir(r,i??0,{name:`$round`,roundOff:!0,failOnError:n.failOnError})},Rr=1e10,zr=(e,t,n)=>{if(I(t))return null;let r=B(e,t,n),{input:i,onNull:a}=N(r)?r:{input:r};if(I(i))return A(a)?a:null;if(A(i)){let e=1/(1+Math.exp(-i));return Math.round(e*Rr)/Rr}return U(n.failOnError,`$sigmoid`)},Br=(e,t,n)=>{let r=B(e,t,n),i=!n.failOnError;return I(r)?null:typeof r!=`number`||r<0?(O(i,`$sqrt expression must resolve to non-negative number.`),null):Math.sqrt(r)},Vr=(e,t,n)=>{O(M(t),`$subtract expects array(2)`);let r=B(e,t,n);if(r.some(I))return null;let i=n.failOnError,[a,o]=r;return P(a)&&A(o)?new Date(+a-Math.round(o)):P(a)&&P(o)?a-+o:r.every(e=>typeof e==`number`)?a-o:A(a)&&P(o)?or(i,`$subtract cannot subtract date from number`):W(i,`$subtract`,{size:2,type:`number|date`})}
20,Hr=(e,t,n)=>{O(M(t),`$trunc expects array(2)`);let[r,i]=B(e,t,n);return Ir(r,i??0,{name:`$trunc`,roundOff:!1,failOnError:n.failOnError})},Ur=`$arrayElemAt`,Wr=(e,t,n)=>{O(M(t)&&t.length===2,`${Ur} expects array(2)`);let r=B(e,t,n);if(r.some(I))return null;let i=n.failOnError,[a,o]=r;if(!M(a))return W(i,`${Ur} arg1 <array>`);if(!j(o))return U(i,`${Ur} arg2 <index>`,ir.int);if(o<0&&Math.abs(o)<=a.length)return a[(o+a.length)%a.length];if(o>=0&&o<a.length)return a[o]},Gr={generic:{type:`key-value pairs`},array:{type:`[k,v]`},object:{type:`{k,v}`}},Kr=(e,t,n)=>{let r=n.failOnError,i=B(e,t,n);if(I(i))return null;if(!M(i))return W(r,`$arrayToObject`,Gr.generic);let a=0,o={};for(let e of i)if(M(e)){let t=_n(e);if(a||=1,a!==1)return W(r,`$arrayToObject`,Gr.object);let[n,i]=t;o[n]=i}else if(N(e)&&R(e,`k`,`v`)){if(a||=2,a!==2)return W(r,`$arrayToObject`,Gr.array);let{k:t,v:n}=e;o[t]=n}else return W(r,`$arrayToObject`,Gr.generic);return o},qr=(e,t,n)=>{let r=B(e,t,n),i=n.failOnError;if(I(r))return null;if(!M(r))return W(i,`$concatArrays`);let a=0;for(let e of r){if(I(e))return null;if(!M(e))return W(i,`$concatArrays`);a+=e.length}let o=Array(a),s=0;for(let e of r)for(let t of e)o[s++]=t;return o},Jr=(e,t,n)=>{O(N(t)&&R(t,`input`,`cond`),`$filter expects object { input, as, cond, limit }`);let r=B(e,t.input,n),i=n.failOnError;if(I(r))return null;if(!M(r))return W(i,`$filter 'input'`);let a=t.limit??Math.max(r.length,1);if(!j(a)||a<1)return U(i,`$filter 'limit'`,{min:1,int:!0});if(r.length===0)return[];let o=Nn.init(n),s=t?.as||`this`,c={variables:{}},l=[];for(let i=0,u=0;i<r.length&&u<a;i++)c.variables[s]=r[i],L(B(e,t.cond,o.update(c)),n.useStrictMode)&&(l.push(r[i]),u++);return l},Yr=(e,t,n)=>{if(M(e))return rr(e,t,n);let r=B(e,t,n);return I(r)?null:M(r)?_n(r)[0]:W(n.failOnError,`$first`)},Xr=(e,t,n)=>{if(O(N(t)&&R(t,`input`,`n`),`$firstN expects object { input, n }`),M(e))return lr(e,t,n);
20let{input:r,n:i}=B(e,t,n);return I(r)?null:M(r)?lr(r,{n:i,input:`$$this`},n):W(n.failOnError,`$firstN 'input'`)},Zr=(e,t,n)=>{O(M(t)&&t.length===2,`$in expects array(2)`);let[r,i]=B(e,t,n);if(!M(i))return or(n.failOnError,`$in arg2 <array>`);for(let e of i)if(on(e,r))return!0;return!1},Qr=`$indexOfArray`,$r=(e,t,n)=>{O(M(t)&&t.length>1&&t.length<5,`${Qr} expects array(4)`);let r=B(e,t,n),i=n.failOnError,a=r[0];if(I(a))return null;if(!M(a))return W(i,`${Qr} arg1 <array>`);let o=r[1],s=r[2]??0,c=r[3]??a.length;return!j(s)||s<0?U(i,`${Qr} arg3 <start>`,ir.pos):!j(c)||c<0?U(i,`${Qr} arg4 <end>`,ir.pos):s>c?-1:(s>0||c<a.length?a.slice(s,c):a).findIndex(e=>on(e,o))+s},ei=(e,t,n)=>{let r=t;return M(t)&&(O(t.length===1,`$isArray expects array(1)`),r=t[0]),M(B(e,r,n))},ti=(e,t,n)=>{if(M(e))return ur(e,t,n);let r=B(e,t,n);return I(r)?null:!M(r)||r.length===0?W(n.failOnError,`$last`,{size:0}):_n(r)[r.length-1]},ni=(e,t,n)=>{if(O(N(t)&&R(t,`input`,`n`),`$lastN expects object { input, n }`),M(e))return dr(e,t,n);let{input:r,n:i}=B(e,t,n);return I(r)?null:M(r)?dr(r,{n:i,input:`$$this`},n):W(n.failOnError,`$lastN 'input'`)},ri=(e,t,n)=>{O(N(t)&&R(t,`input`,`in`),`$map expects object { input, as, in }`);let r=B(e,t.input,n),i=n.failOnError;if(I(r))return null;if(!M(r))return W(i,`$map 'input'`);if(!I(t.as)&&!k(t.as))return cr(i,`$map 'as'`);let a=Nn.init(n),o=t.as||`this`,s={variables:{}};return r.map(n=>(s.variables[o]=n,B(e,t.in,a.update(s))))},ii=(e,t,n)=>{if(O(N(t)&&R(t,`input`,`n`),`$maxN expects object { input, n }`),M(e))return pr(e,t,n);
20let{input:r,n:i}=B(e,t,n);return I(r)?null:M(r)?pr(r,{n:i,input:`$$this`},n):W(n.failOnError,`$maxN 'input'`)},ai=(e,t,n)=>{if(O(N(t)&&R(t,`input`,`n`),`$minN expects object { input, n }`),M(e))return vr(e,t,n);let{input:r,n:i}=B(e,t,n);return I(r)?null:M(r)?vr(r,{n:i,input:`$$this`},n):W(n.failOnError,`$minN 'input'`)},oi=(e,t,n)=>{O(M(t)&&t.length>1&&t.length<4,`$range expects array(3)`);let[r,i,a]=B(e,t,n),o=n.failOnError,s=a??1;if(!j(r))return U(o,`$range arg1 <start>`,ir.int);if(!j(i))return U(o,`$range arg2 <end>`,ir.int);if(!j(s)||s===0)return U(o,`$range arg3 <step>`,ir.nzero);let c=[],l=r;for(;l<i&&s>0||l>i&&s<0;)c.push(l),l+=s;return c};function si(e,t,n){O(N(t)&&R(t,`input`,`initialValue`,`in`),`$reduce expects object { input, initialValue, in }`);let r=B(e,t.input,n),i=B(e,t.initialValue,n),a=t.in;if(I(r))return null;if(!M(r))return W(n.failOnError,`$reduce 'input'`);let o=Nn.init(n),s={variables:{value:null}},c=i;for(let e=0;e<r.length;e++)s.variables.value=c,c=B(r[e],a,o.update(s));return c}var ci=(e,t,n)=>{let r=B(e,t,n);return I(r)?null:M(r)?r.slice().reverse():W(n.failOnError,`$reverseArray`)},li=(e,t,n)=>{let r=B(e,t,n);return I(r)?null:M(r)?r.length:U(n.failOnError,`$size`)},ui=(e,t,n)=>{O(M(t)&&t.length>1&&t.length<4,`$slice expects array(3)`);let r=n.failOnError,i=B(e,t,n),a=i[0],o=i[1],s=i[2];if(!M(a))return W(r,`$slice arg1 <array>`);if(!j(o))return U(r,`$slice arg2 <n>`,ir.int);if(!I(s)&&!j(s))return U(r,`$slice arg3 <n>`,ir.int);if(I(s))o<0?o=Math.max(0,a.length+o):(s=o,o=0);else{if(o<0&&(o=Math.max(0,a.length+o)),s<1)return U(r,`$slice arg3 <n>`,ir.pos);s+=o}return a.slice(o,s)},di=(e,t,n)=>{O(N(t)&&`input`in t&&`sortBy`in t,`$sortArray expects object { input, sortBy }`);let{input:r,sortBy:i}=B(e,t,n);if(I(r))return null;if(!M(r))return W(n.failOnError,`$sortArray 'input'`);if(N(i))return qn(V(r),i,n).collect();let a=r.slice().sort(D);return i===-1&&a.reverse(),a},fi=(e,t,n)=>{O(N(t)&&R(t,`inputs`),`$zip received invalid arguments`);let r=B(e,t.inputs,n),i=B(e,t.defaults,n)??[],a=t.useLongestLength??!1,o=n.failOnError;if(I(r))return null;if(!M(r))return W(o,`$zip 'inputs'`);let s=0;for(let e of r){if(I(e))return null;M(e)||s++}
20if(s)return W(o,`$zip elements of 'inputs'`);ln(a)||or(o,`$zip 'useLongestLength' must be boolean`),M(i)&&i.length>0&&O(a&&i.length===r.length,`$zip 'useLongestLength' must be set to true to use 'defaults'`);let c=0;for(let e of r)c=a?Math.max(c,e.length):Math.min(c||e.length,e.length);let l=[];for(let e=0;e<c;e++){let t=r.map((t,n)=>I(t[e])?i[n]??null:t[e]);l.push(t)}return l};function pi(e,t,n,r,i){O(M(t),`${r} expects array as argument`);let a=B(e,t,n),o=!0;for(let e of a){if(I(e))return null;o&&=j(e)}return o?i(a):or(n.failOnError,`${r} array elements must resolve to integers`)}var mi=(e,t,n)=>pi(e,t,n,`$bitAnd`,e=>e.reduce((e,t)=>e&t,-1)),hi=(e,t,n)=>{let r=B(e,t,n);return I(r)?null:j(r)?~r:U(n.failOnError,`$bitNot`,ir.int)},gi=(e,t,n)=>pi(e,t,n,`$bitOr`,e=>e.reduce((e,t)=>e|t,0)),_i=(e,t,n)=>pi(e,t,n,`$bitXor`,e=>e.reduce((e,t)=>e^t,0)),vi=(e,t,n)=>{O(M(t),`$and expects array`);let r=n.useStrictMode;return t.every(t=>L(B(e,t,n),r))},yi=(e,t,n)=>{let r=pn(t);return r.length===0?!1:r.length>1?W(n.failOnError,`$not`,{size:1}):!B(e,r[0],n)},bi=(e,t,n)=>{O(M(t),`$or expects array of expressions`);let r=n.useStrictMode;for(let i of t)if(L(B(e,i,n),r))return!0;return!1},xi=s({$and:()=>vi,$not:()=>yi,$or:()=>bi}),Si=(e,t,n)=>{O(M(t)&&t.length===2,`$cmp expects array(2)`);let[r,i]=B(e,t,n);return D(r,i)};function Ci(e,t,n){return e.take(t)}function wi(e,t,n){let r=B(null,t,n);O(M(r),`$documents expression must resolve to an array.`);let i=V(r);return n.processingMode&Mn.CLONE_ALL?i.map(e=>hn(e)):i}var Ti=V([]);function Ei(e,t){if(!e)return{};let n=e[0]?.$documents;return n?{documents:wi(Ti,n,t).collect(),pipeline:e.slice(1)}:{pipeline:e}}function Di(e,t,n=!0){let r={exclusions:[],inclusions:[],positional:0},i=Object.keys(e);O(i.length,`Invalid empty sub-projection`);let a=t?.idKey,o=!1;for(let s of i){if(s.startsWith(`$`))return O(!n&&i.length===1,`FieldPath field names may not start with '$', given '${s}'.`),r;s.endsWith(`.$`)&&r.positional++;let c=e[s];if(c===!1||A(c)&&c===0)s===a?o=!0:r.exclusions.push(s);else if(!N(c))r.inclusions.push(s);else{let e=Di(c,t,!1);if(!e.inclusions.length&&!e.exclusions.length)r.inclusions.includes(s)||r.inclusions.push(s);else{for(let t of e.exclusions)r.exclusions.push(`${s}.${t}`);for(let t of e.inclusions)r.inclusions.push(`${s}.${t}`)}r.positional+=e.positional}O(!(r.exclusions.length&&r.inclusions.length),`Cannot do exclusion and inclusion in projection.`),O(r.positional<=1,`Cannot specify more than one positional projection.`)}if(o&&r.exclusions.push(a),n){let e=new jn;for(let t of r.exclusions)O(e.add(t),`Path collision at ${t}.`);for(let t of r.inclusions)O(e.add(t),`Path collision at ${t}.`);r.exclusions.sort(),r.inclusions.sort()}return r}function Oi(e,t,n){k(t)&&O(n.collectionResolver,`${e} requires 'collectionResolver' option to resolve named collection`);let r=k(t)?n.collectionResolver(t):t;return O(M(r),`${e} could not resolve input collection`),r}var ki=`$project`;function Ai(e,t,n){if(fn(t))return e;let r=Di(t,n),i=ji(t,Nn.init(n),r);return e.map(i)}function ji(e,t,n){let r=t.idKey,{exclusions:i,inclusions:a}=n,o={},s={preserveMissing:!0};for(let e of i)o[e]=(t,n)=>{Dn(t,e,{descendArray:!0})};for(let n of a){let r=z(e,n)??e[n];if(n.endsWith(`.$`)&&r===1){let e=t?.local?.condition??{};O(e,`${ki}: positional operator '.$' requires array condition.`);let r=n.slice(0,-2);o[r]=Fi(r,e,t);continue}if(M(r))o[n]=(e,i)=>{t.update({root:i}),En(e,n,r.map(e=>B(i,e,t)??null))};else if(A(r)||r===!0)o[n]=(e,r)=>{t.update({root:r}),Ii(e,Sn(r,n,s))};else if(!N(r))o[n]=(e,i)=>{t.update({root:i}),En(e,n,B(i,r,t))};else{let e=Object.keys(r);O(e.length===1&&On(e[0]),`Not a valid operator`);let i=e[0],a=r[i],s=t.context.getOperator(Pn.PROJECTION,i);!s||i===`$slice`&&!pn(a).every(A)?o[n]=(e,i)=>{t.update({root:i}),En(e,n,B(i,r,t))}:o[n]=(e,r)=>{t.update({root:r}),En(e,n,s(r,a,n,t))}}}let c=i.length===1&&i.includes(r),l=!i.includes(r),u=!a.length,d=u&&c||u&&i.length&&!c;return e=>{let t={};d&&Object.assign(t,e);for(let n in o)o[n](t,e);return u||Cn(t),l&&!R(t,r)&&R(e,r)&&(t[r]=z(e,r)),t}}var Mi=(e,t,n,r)=>{let i=z(e,t);M(i)||(i=z(i,n)),O(M(i),`${ki}: field '${t}' must resolve to array`);let a=[];for(let e=0;e<i.length;e++)r({[n]:[i[e]]})&&a.push(e);return a},Ni=e=>(t=>!e(t)),Pi={$and:1,$or:1,$nor:1};function Fi(e,t,n){let r=Object.entries(t).slice(),i={$and:[],$or:[]};for(let t=0;t<r.length;t++){let[a,o,s]=r[t];if(a===e||a.startsWith(e+`.`)){let e=kn(o),t=Object.keys(e)[0],r=e[t],c=n.context.getOperator(Pn.QUERY,t),l=a.substring(a.lastIndexOf(`.`)+1),u=c(l,r,n);!s||s===`$and`?i.$and.push([a,u,l]):s===`$nor`?i.$and.push([a,Ni(u),l]):s===`$or`&&i.$or.push([a,u,l])}
20else if(On(a)){O(!!Pi[a],`${ki}: '${a}' is not allowed in this context`);for(let e of o)for(let t of Object.keys(e))r.push([t,e[t],a])}}let a=e.lastIndexOf(`.`),o=e.substring(0,a)||e,s=e.substring(a+1);return(t,n)=>{let r=[];for(let[e,t,a]of i.$and)r.push(Mi(n,e,a,t));if(i.$or.length){let e=[];for(let[t,r,a]of i.$or)e.push(...Mi(n,t,a,r));r.push(vn(e))}let a=gn(r).sort()[0],c=z(n,e)[a];o!=s&&!N(c)&&(c={[s]:c}),En(t,o,[c])}}function Ii(e,t){if(e===Xt||I(e))return t;if(I(t))return e;let n=e,r=t;for(let e of Object.keys(t))n[e]=Ii(n[e],r[e]);return n}function Li(e,t,n){return O(t>=0,`$skip value must be a non-negative integer`),e.drop(t)}var Ri={$sort:qn,$skip:Li,$limit:Ci},zi=class{#e;#t;#n;#r;#i={};#a=null;#o=[];constructor(e,t,n,r){this.#e=e,this.#t=t,this.#n=n,this.#r=r}fetch(){if(this.#a)return this.#a;this.#a=V(this.#e).filter(this.#t);let e=this.#r.processingMode;e&Mn.CLONE_INPUT&&this.#a.map(e=>hn(e));for(let e of Object.keys(Ri))if(R(this.#i,e)){let t=Ri[e];this.#a=t(this.#a,this.#i[e],this.#r)}return Object.keys(this.#n).length&&(this.#a=Ai(this.#a,this.#n,this.#r)),e&Mn.CLONE_OUTPUT&&this.#a.map(e=>hn(e)),this.#a}fetchAll(){let e=V(Array.from(this.#o));return this.#o.length=0,zn(e,this.fetch())}all(){return this.fetchAll().collect()}skip(e){return this.#i.$skip=e,this}limit(e){return this.#i.$limit=e,this}sort(e){return this.#i.$sort=e,this}collation(e){return this.#r={...this.#r,collation:e},this}next(){if(this.#o.length>0)return this.#o.pop();let e=this.fetch().next();if(!e.done)return e.value}hasNext(){if(this.#o.length>0)return!0;let e=this.fetch().next();return e.done?!1:(this.#o.push(e.value),!0)}[Symbol.iterator](){return this.fetchAll()}},Bi=new Set([`$and`,`$or`,`$nor`,`$expr`,`$jsonSchema`]),Vi=class{#e;#t;#n;constructor(e,t){this.#t=hn(e),this.#n=Nn.init(t).update({condition:e}),this.#e=[],this.compile()}compile(){O(N(this.#t),`query criteria must be an object: ${JSON.stringify(this.#t)}`);let e={};for(let t of Object.keys(this.#t)){let n=this.#t[t];if(t===`$where`)O(this.#n.scriptEnabled,`$where operator requires 'scriptEnabled' option to be true.`),Object.assign(e,{field:t,expr:n});else if(Bi.has(t))this.processOperator(t,t,n);else{O(!On(t),`unknown top level operator: ${t}`);let e=kn(n);for(let n of Object.keys(e))this.processOperator(t,n,e[n])}e.field&&this.processOperator(e.field,e.field,e.expr)}}processOperator(e,t,n){let r=this.#n.context.getOperator(Pn.QUERY,t);O(!!r,`unknown query operator ${t}`),this.#e.push(r(e,n,this.#n))}test(e){return this.#e.every(t=>t(e))}find(e,t){return new zi(e,e=>this.test(e),t||{},this.#n)}};function Hi(e,t){let n=e=>e,r=!0;for(let t of Object.keys(e))if(r&&=On(t)&&t!==`$and`&&t!==`$or`&&t!==`$nor`,!r)break;r&&(e={field:e},n=e=>({field:e}));let i=new Vi(e,t);return e=>i.test(n(e))}function Ui(e,t,n,r){let i=e.split(`.`),a=Math.max(1,i.length-1),o=Nn.init(n).update({depth:a}),s={unwrapArray:!0,pathArray:i};return r===ra&&(t=Hi(t,n)),n=>r(z(n,e,s),t,o)}function Wi(e,t,n,r){O(M(t)&&t.length===2,`${r.name} expects array(2)`);let[i,a]=B(e,t,n);return r(i,a,n)}function Gi(e,t,n){if(on(e,t)||I(e)&&I(t))return!0;if(M(e)){let r=n?.local?.depth??1;return e.some(e=>on(e,t))||_n(e,r).some(e=>on(e,t))}return!1}function Ki(e,t,n){return!Gi(e,t,n)}function qi(e,t,n){return I(e)?t.some(e=>e===null):gn([pn(e),t]).length>0}function Ji(e,t,n){return!qi(e,t,n)}function Yi(e,t,n){return ca(e,t,(e,t)=>D(e,t)<0)}function Xi(e,t,n){return ca(e,t,(e,t)=>D(e,t)<=0)}function Zi(e,t,n){return ca(e,t,(e,t)=>D(e,t)>0)}function Qi(e,t,n){return ca(e,t,(e,t)=>D(e,t)>=0)}function $i(e,t,n){return pn(e).some((e=>t.length===2&&e%t[0]===t[1]))}function ea(e,t,n){let r=pn(e),i=e=>k(e)&&L(t.exec(e),n?.useStrictMode);return r.some(i)||_n(r,1).some(i)}function ta(e,t,n){if(!M(e)||!M(t)||!e.length||!t.length)return!1;let r=!0;for(let i of t){if(!r)break;if(N(i)&&Object.keys(i)[0]===`$elemMatch`){let t=i.$elemMatch;r=ra(e,Hi(t,n),n)}else r=dn(i)?e.some(e=>k(e)&&i.test(e)):e.some(e=>on(i,e))}return r}function na(e,t,n){return Array.isArray(e)&&e.length===t}function ra(e,t,n){if(M(e)&&!fn(e)){for(let n=0,r=e.length;n<r;n++)if(t(e[n]))return!0}return!1}var ia=e=>e===null,aa={array:M,boolean:ln,bool:ln,date:P,number:A,int:A,long:A,double:A,decimal:A,null:ia,object:N,regexp:dn,regex:dn,string:k,undefined:I,1:A,2:k,3:N,4:M,6:I,8:ln,9:P,10:ia,11:dn,16:A,18:A,19:A};
20function oa(e,t,n){let r=aa[t];return r?r(e):!1}function sa(e,t,n){return M(t)?t.findIndex(t=>oa(e,t,n))>=0:oa(e,t,n)}function ca(e,t,n){for(let r of pn(e))if(cn(r)===cn(t)&&n(r,t))return!0;return!1}var la=(e,t,n)=>Wi(e,t,n,Gi),ua=(e,t,n)=>Wi(e,t,n,Zi),da=(e,t,n)=>Wi(e,t,n,Qi),fa=(e,t,n)=>Wi(e,t,n,Yi),pa=(e,t,n)=>Wi(e,t,n,Xi),ma=(e,t,n)=>Wi(e,t,n,Ki),ha=s({$cmp:()=>Si,$eq:()=>la,$gt:()=>ua,$gte:()=>da,$lt:()=>fa,$lte:()=>pa,$ne:()=>ma}),ga=`$cond expects array(3) or object with 'if-then-else' expressions`,_a=(e,t,n)=>{let r,i,a;return M(t)?(O(t.length===3,ga),r=t[0],i=t[1],a=t[2]):(O(N(t),ga),r=t.if,i=t.then,a=t.else),B(e,L(B(e,r,n),n.useStrictMode)?i:a,n)},va=(e,t,n)=>{O(M(t),`$ifNull expects an array`);let r;for(let i of t)if(r=B(e,i,n),!I(r))return r;return r},ya=(e,t,n)=>{O(N(t),`$switch received invalid arguments`);for(let{case:r,then:i}of t.branches)if(L(B(e,r,n),n.useStrictMode))return B(e,i,n);return B(e,t.default,n)},ba=(e,t,n)=>{O(n.scriptEnabled,`$function requires 'scriptEnabled' option to be true`);let r=B(e,t,n);return r.body.apply(null,r.args)},xa=[`year`,`quarter`,`month`,`week`,`day`,`hour`,`minute`,`second`,`millisecond`],Sa={mon:1,tue:2,wed:3,thu:4,fri:5,sat:6,sun:7},Ca=-1e9,wa=e=>(e&3)==0&&(e%100!=0||e%400==0),Ta=[365,366],Ea=[[0,31,59,90,120,151,181,212,243,273,304,334],[0,31,60,91,121,152,182,213,244,274,305,335]],Da=e=>Ea[+wa(e.getUTCFullYear())][e.getUTCMonth()]+e.getUTCDate(),q=(e,t)=>((e.getUTCDay()||7)-Sa[t.toLowerCase().substring(0,3)]+7)%7,Oa=e=>(e+Math.floor(e/4)-Math.floor(e/100)+Math.floor(e/400))%7,ka=e=>52+Number(Oa(e)==4||Oa(e-1)==3);function Aa(e){let t=e.getUTCDay()||7,n=Math.floor((10+Da(e)-t)/7);return n<1?ka(e.getUTCFullYear()-1):n>ka(e.getUTCFullYear())?1:n}function ja(e){let t=Aa(e);return e.getUTCDay()>0&&e.getUTCDate()==1&&e.getUTCMonth()==0?0:e.getUTCDay()==0?t+1:t}function Ma(e){return e.getUTCFullYear()-Number(e.getUTCMonth()===0&&e.getUTCDate()==1&&e.getUTCDay()<1)}var Na={week:6048e5,day:864e5,hour:36e5,minute:6e4,second:1e3,millisecond:1},Pa=[[`year`,0,9999],[`month`,1,12],[`day`,1,31],[`hour`,0,23],[`minute`,0,59],[`second`,0,59],[`millisecond`,0,999]],Fa={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},Ia={"%b":{name:`abbr_month`,padding:3,re:/(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)/i},"%B":{name:`full_month`,padding:0,re:/(January|February|March|April|May|June|July|August|September|October|November|December)/i},"%Y":{name:`year`,padding:4,re:/([0-9]{4})/},"%G":{name:`year`,padding:4,re:/([0-9]{4})/},"%m":{name:`month`,padding:2,re:/(0[1-9]|1[012])/},"%d":{name:`day`,padding:2,re:/(0[1-9]|[12][0-9]|3[01])/},"%j":{name:`day_of_year`,padding:3,re:/(0[0-9][1-9]|[12][0-9]{2}|3[0-5][0-9]|36[0-6])/},"%H":{name:`hour`,padding:2,re:/([01][0-9]|2[0-3])/},"%M":{name:`minute`,padding:2,re:/([0-5][0-9])/},"%S":{name:`second`,padding:2,re:/([0-5][0-9]|60)/},"%L":{name:`millisecond`,padding:3,re:/([0-9]{3})/},"%w":{name:`day_of_week`,padding:1,re:/([0-6])/},"%u":{name:`day_of_week_iso`,padding:1,re:/([1-7])/},"%U":{name:`week_of_year`,padding:2,re:/([1-4][0-9]?|5[0-3]?)/},"%V":{name:`week_of_year_iso`,padding:2,re:/([1-4][0-9]?|5[0-3]?)/},"%z":{name:`timezone`,padding:2,re:/(([+-][01][0-9]|2[0-3]):?([0-5][0-9])?)/},"%Z":{name:`minute_offset`,padding:3,re:/([+-][0-9]{3})/},"%%":{name:`percent_literal`,padding:1,re:/%%/}},La=/(%[bBYGmdjHMSLwuUVzZ%])/g,Ra=/%[bBYGmdjHMSLwuUVzZ%]/,za=/^[a-zA-Z_]+\/[a-zA-Z_]+$/;function Ba(e,t){if(e===void 0)return 0;if(za.test(e)){let n=new Date(t.toLocaleString(`en-US`,{timeZone:`UTC`})),r=new Date(t.toLocaleString(`en-US`,{timeZone:e}));return Math.round((r.getTime()-n.getTime())/6e4)}let n=Ia[`%z`].re.exec(e)??[];O(!!n,`timezone '${e}' is invalid or not supported.`);let r=parseInt(n[2])||0,i=parseInt(n[3])||0;return(Math.abs(r*60)+i)*(r<0?-1:1)}function Va(e){return(e<0?`-`:`+`)+Wa(Math.abs(Math.floor(e/60)),2)+Wa(Math.abs(e)%60,2)}function Ha(e,t){e.setUTCMinutes(e.getUTCMinutes()+t)}function Ua(e,t,n){if(P(e))return e;let r=B(e,t,n);if(P(r))return new Date(r);if(A(r))return new Date(r*1e3);O(!!r?.date,`cannot convert ${JSON.stringify(t)} to date`);let i=P(r.date)?new Date(r.date):new Date(r.date*1e3);return r.timezone&&Ha(i,Ba(r.timezone,i)),i}function Wa(e,t){return Array(Math.max(t-String(e).length+1,0)).join(`0`)+e.toString()}var Ga=e=>{let t=e-Ca;return Math.trunc(t/4)-Math.trunc(t/100)+Math.trunc(t/400)};function Ka(e,t){return Math.trunc(Ga(t-1)-Ga(e-1)+(t-e)*Ta[0])}var qa=(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),Ja=(e,t)=>t.getUTCMonth()-e.getUTCMonth()+qa(e,t)*12,Ya=(e,t)=>{let n=Math.trunc(e.getUTCMonth()/3);return Math.trunc(t.getUTCMonth()/3)-n+qa(e,t)*4},Xa=(e,t)=>Da(t)-Da(e)+Ka(e.getUTCFullYear(),t.getUTCFullYear()),Za=(e,t,n)=>{let r=(n||`sun`).substring(0,3);return Math.trunc((Xa(e,t)+q(e,r)-q(t,r))/7)},Qa=(e,t)=>t.getUTCHours()-e.getUTCHours()+Xa(e,t)*24,$a=(e,t)=>{let n=e.getUTCMonth()+t,r=Math.floor(n/12);if(n<0){let t=n%12+12;e.setUTCFullYear(e.getUTCFullYear()+r,t,e.getUTCDate())}else e.setUTCFullYear(e.getUTCFullYear()+r,n%12,e.getUTCDate())},eo=(e,t,n,r)=>{let i=new Date(e);switch(t){case`year`:i.setUTCFullYear(i.getUTCFullYear()+n);break;case`quarter`:$a(i,3*n);break;case`month`:$a(i,n);break;default:i.setTime(i.getTime()+Na[t]*n)}return i},to=(e,t,n)=>{let r=B(e,t,n);return eo(r.startDate,r.unit,r.amount,r.timezone)},no=(e,t,n)=>{let{startDate:r,endDate:i,unit:a,timezone:o,startOfWeek:s}
20=B(e,t,n),c=new Date(r),l=new Date(i);switch(Ha(c,Ba(o,c)),Ha(l,Ba(o,l)),a){case`year`:return qa(c,l);case`quarter`:return Ya(c,l);case`month`:return Ja(c,l);case`week`:return Za(c,l,s);case`day`:return Xa(c,l);case`hour`:return Qa(c,l);case`minute`:return c.setUTCSeconds(0),c.setUTCMilliseconds(0),l.setUTCSeconds(0),l.setUTCMilliseconds(0),Math.round((l.getTime()-c.getTime())/Na[a]);default:return Math.round((l.getTime()-c.getTime())/Na[a])}},ro=[31,28,31,30,31,30,31,31,30,31,30,31],io=e=>e.month==2&&wa(e.year)?29:ro[e.month-1],ao=(e,t,n)=>{let r=B(e,t,n),i=Ba(r.timezone,new Date);for(let e=Pa.length-1,t=0;e>=0;e--){let n=Pa[e],a=n[0],o=n[1],s=n[2],c=(r[a]||0)+t;t=0;let l=s+1;if(a==`hour`&&(c+=Math.floor(i/60)*-1),a==`minute`&&(c+=i%60*-1),c<o){let e=o-c;t=-1*Math.ceil(e/l),c=l-e%l}else c>s&&(c+=o,t=Math.trunc(c/l),c%=l);r[a]=c}return r.day=Math.min(r.day,io(r)),new Date(Date.UTC(r.year,r.month-1,r.day,r.hour,r.minute,r.second,r.millisecond))};function oo(e){return e===`Z`?0:e>=`A`&&e<`N`?e.charCodeAt(0)-64:77-e.charCodeAt(0)}var so=e=>e.replace(/^\//,``).replace(/\/$/,``).replace(/\/i/,``),co=[`^`,`.`,`-`,`*`,`?`,`$`];function lo(e){for(let t of co)e=e.replace(t,`\\${t}`);return e}function uo(e,t,n){let r=B(e,t,n),i=r.format||`%Y-%m-%dT%H:%M:%S.%LZ`,a=r.onNull||null,o=r.dateString;if(I(o))return a;let s=i.split(Ra);s.reverse();let c=i.match(La),l={},u=``;for(let e=0,t=c.length;e<t;e++){let t=Ia[c[e]];if(N(t)){let e=t.re.exec(o),n=s.pop()||``;e===null?l[t.name]=null:(l[t.name]=/^\d+$/.exec(e[0])?parseInt(e[0]):e[0],o=o.substring(e.index+e[0].length+1),u+=lo(n)+so(t.re.toString()))}}if(I(l.month)){let e=(l.full_month?.slice(0,3)??l.abbr_month??``).toLowerCase();Fa[e]&&(l.month=Fa[e])}if(I(l.year)||I(l.month)||I(l.day)||!RegExp(`^`+u+`[A-Z]?$`).test(r.dateString))return r.onError;let d=r.dateString.match(/([A-Z])$/);O(!(d&&r.timezone),`$dateFromString: you cannot pass in a date/time string with time zone information ('${d&&d[0]}') together with a timezone argument`);let f=d?oo(d[0])*60:Ba(r.timezone,new Date),p=new Date(Date.UTC(l.year,l.month-1,l.day,0,0,0));return I(l.hour)||p.setUTCHours(l.hour),I(l.minute)||p.setUTCMinutes(l.minute),I(l.second)||p.setUTCSeconds(l.second),I(l.millisecond)||p.setUTCMilliseconds(l.millisecond),Ha(p,-f),p}var fo=(e,t,n)=>{let r=B(e,t,n);return eo(r.startDate,r.unit,-r.amount,r.timezone)},po=(e,t,n)=>{let r=B(e,t,n),i=new Date(r.date);Ha(i,Ba(r.timezone,i));let a={hour:i.getUTCHours(),minute:i.getUTCMinutes(),second:i.getUTCSeconds(),millisecond:i.getUTCMilliseconds()};return r.iso8601==1?Object.assign(a,{isoWeekYear:Ma(i),isoWeek:Aa(i),isoDayOfWeek:i.getUTCDay()||7}):Object.assign(a,{year:i.getUTCFullYear(),month:i.getUTCMonth()+1,day:i.getUTCDate()})},mo={"%Y":e=>e.getUTCFullYear(),"%G":e=>e.getUTCFullYear(),"%m":e=>e.getUTCMonth()+1,"%d":e=>e.getUTCDate(),"%H":e=>e.getUTCHours(),"%M":e=>e.getUTCMinutes(),"%S":e=>e.getUTCSeconds(),"%L":e=>e.getUTCMilliseconds(),"%u":e=>e.getUTCDay()||7,"%U":ja,"%V":Aa,"%j":Da,"%w":e=>e.getUTCDay()},ho=(e,t,n)=>{let r=B(e,t,n);if(I(r.onNull)&&(r.onNull=null),I(r.date))return r.onNull;let i=Ua(e,r.date,n),a=r.format??`%Y-%m-%dT%H:%M:%S.%LZ`,o=Ba(r.timezone,i),s=a.match(La);if(!s)return a;Ha(i,o);for(let e=0,t=s.length;e<t;e++){let t=s[e];O(t in Ia,`$dateToString: invalid format specifier ${t}`);let{name:n,padding:r}=Ia[t],c=mo[t],l=``;if(c)l=Wa(c(i),r);else switch(n){case`timezone`:l=Va(o);break;case`minute_offset`:l=o.toString();break;case`abbr_month`:case`full_month`:{let e=n.startsWith(`abbr`)?`short`:`long`;l=i.toLocaleString(`en-US`,{month:e});break}}a=a.replace(t,l)}return a},go=9466848e5,_o=(e,t)=>{let n=e%t;return n<0&&(n+=t),n},vo={day:Xa,month:Ja,quarter:Ya,year:qa},yo=/(mon(day)?|tue(sday)?|wed(nesday)?|thu(rsday)?|fri(day)?|sat(urday)?|sun(day)?)/i,bo=(e,t,n)=>{let{date:r,unit:i,binSize:a,timezone:o,startOfWeek:s}=B(e,t,n);if(I(r)||I(i))return null;let c=(s??`sun`).toLowerCase().substring(0,3);O(P(r),`$dateTrunc: 'date' must resolve to a valid Date object.`),O(xa.includes(i),`$dateTrunc: unit is invalid.`),O(i!=`week`||yo.test(c),`$dateTrunc: startOfWeek '${c}' is not a valid.`),O(I(a)||a>0,`$dateTrunc requires 'binSize' to be greater than 0, but got value 0.`);let l=a??1;switch(i){case`millisecond`:case`second`:case`minute`:case`hour`:{let e=l*Na[i],t=r.getTime()-go;return new Date(r.getTime()-_o(t,e))}default:{O(l<=1e11,`dateTrunc unsupported binSize value`);let e=new Date(r),t=new Date(go),n=0;
20if(i==`week`){let r=(7-q(t,c))%7;t.setTime(t.getTime()+r*Na.day),n=Za(t,e,c)}else n=vo[i](t,e);let a=eo(t,i,n-_o(n,l),o);return Ha(a,-Ba(o,a)),a}}},xo=(e,t,n)=>Ua(e,t,n).getUTCDate(),So=(e,t,n)=>Ua(e,t,n).getUTCDay()+1,Co=(e,t,n)=>Da(Ua(e,t,n)),wo=(e,t,n)=>Ua(e,t,n).getUTCHours(),To=(e,t,n)=>Ua(e,t,n).getUTCDay()||7,Eo=(e,t,n)=>Aa(Ua(e,t,n)),Do=(e,t,n)=>Ma(Ua(e,t,n)),Oo=(e,t,n)=>Ua(e,t,n).getUTCMilliseconds(),ko=(e,t,n)=>Ua(e,t,n).getUTCMinutes(),Ao=(e,t,n)=>Ua(e,t,n).getUTCMonth()+1,jo=(e,t,n)=>Ua(e,t,n).getUTCSeconds(),Mo=(e,t,n)=>ja(Ua(e,t,n)),No=(e,t,n)=>Ua(e,t,n).getUTCFullYear(),Po=(e,t,n)=>t,Fo=(e,t,n)=>hr(B(e,t.input,n),{input:`$$CURRENT`,method:t.method},n),Io=(e,t,n)=>{let r=B(e,t,n),{field:i,input:a}=k(r)?{field:r,input:e}:{field:r.field,input:r.input??e};return a[i]},Lo=(e,t,n)=>Math.random(),Ro=(e,t,n)=>Math.random()<=B(e,t,n),zo=(e,t,n)=>{let r=B(e,t,n);return I(r)?{}:M(r)?gr(r,t,n):W(n.failOnError,`$mergeObjects`,ar.obj)},Bo=(e,t,n)=>{let r=B(e,t,n);if(I(r))return null;if(!N(r))return sr(n.failOnError,`$objectToArray`);let i=Object.keys(r),a=Array(i.length),o=0;for(let e of i)a[o++]={k:e,v:r[e]};return a},Vo=`$setField`,Ho=(e,t,n)=>{O(N(t)&&R(t,`input`,`field`,`value`),`$setField expects object { input, field, value }`);let{input:r,field:i,value:a}=B(e,t,n);if(I(r))return null;let o=n.failOnError;if(!N(r))return sr(o,`${Vo} 'input'`);if(!k(i))return cr(o,`${Vo} 'field'`);let s={...r};return t.value==`$$REMOVE`?delete s[i]:s[i]=a,s},Uo=(e,t,n)=>Ho(e,{...t,value:`$$REMOVE`},n),Wo=(e,t,n)=>mr(B(e,t.input,n),{...t,input:`$$CURRENT`},n),Go=(e,t,n)=>{if(M(t)){if(t.length===0)return!0;O(t.length===1,`$allElementsTrue expects array(1)`),t=t[0]}let r=n.failOnError,i=B(e,t,n);if(!M(i))return W(r,`$allElementsTrue argument`);for(let e of i)if(!L(e,n.useStrictMode))return!1;return!0},Ko=(e,t,n)=>{if(M(t)){if(t.length===0)return!1;O(t.length===1,`$anyElementTrue expects array(1)`),t=t[0]}let r=n.failOnError,i=B(e,t,n);if(!M(i))return W(r,`$anyElementTrue argument`);for(let e of i)if(L(e,n.useStrictMode))return!0;return!1},qo=`$setDifference`,Jo=(e,t,n)=>{O(M(t)&&t.length==2,`${qo} expects array(2)`);let r=B(e,t,n),i=n.failOnError,a=!0;for(let e of r){if(I(e))return null;a&&=M(e)}if(!a)return W(i,`${qo} arguments`);let o=sn.init();for(let e of r[0])o.set(e,!0);for(let e of r[1])o.delete(e);return Array.from(o.keys())},Yo=(e,t,n)=>{O(M(t),`$setEquals expects array`);let r=B(e,t,n),i=n.failOnError;if(!r.every(M))return W(i,`$setEquals arguments`);let a=sn.init(),o=r[0];for(let e=0;e<o.length;e++)a.set(o[e],e);for(let e=1;e<r.length;e++){let t=r[e],n=new Set;for(let e=0;e<t.length;e++){let r=a.get(t[e])??-1;if(r===-1)return!1;n.add(r)}if(n.size!==a.size)return!1}return!0},Xo=`$setIntersection`,J=(e,t,n)=>{O(M(t),`${Xo} expects array`);let r=B(e,t,n),i=n.failOnError,a=!0;for(let e of r){if(I(e))return null;a&&=M(e)}return a?gn(r):W(i,`${Xo} arguments`)},Zo=`$setIsSubset`,Qo=(e,t,n)=>{O(M(t)&&t.length===2,`${Zo} expects array(2)`);let r=B(e,t,n);if(!r.every(M))return W(n.failOnError,`${Zo} arguments`);let[i,a]=r,o=sn.init();for(let e of a)o.set(e,0);for(let e of i)if(!o.has(e))return!1;return!0},$o=(e,t,n)=>{let r=B(e,t,n),i=n.failOnError;return I(r)?null:M(r)?M(t)?r.every(M)?vn(_n(r)):W(i,`$setUnion arguments`):vn(r):W(i,`$setUnion`)},es=(e,t,n)=>{O(M(t),`$concat expects array`);let r=n.failOnError,i=B(e,t,n),a=!0;for(let e of i){if(I(e))return null;a&&=k(e)}return a?i.join(``):W(r,`$concat`,{type:`string`})},ts=`$indexOfBytes`,ns=(e,t,n)=>{O(M(t)&&t.length>1&&t.length<5,`${ts} expects array(4)`);let r=B(e,t,n),i=n.failOnError,a=r[0];if(I(a))return null;if(!k(a))return cr(i,`${ts} arg1 <string>`);let o=r[1];if(!k(o))return cr(i,`${ts} arg2 <search>`);let s=r[2]??0,c=r[3]??a.length;if(!j(s)||s<0)return U(i,`${ts} arg3 <start>`,ir.index);if(!j(c)||c<0)return U(i,`${ts} arg4 <end>`,ir.index);if(s>c)return-1;let l=a.substring(s,c).indexOf(o);return l>-1?l+s:l},rs=[0,32,9,10,11,12,13,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202];function is(e,t,n,r){let i=B(e,t,n),a=i.input;if(I(a))return null;let o=I(i.chars)?rs:i.chars.split(``).map(e=>e.codePointAt(0)),s=0,c=a.length-1;for(;r.left&&s<=c&&o.indexOf(a[s].codePointAt(0))!==-1;)s++;for(;r.right&&s<=c&&o.indexOf(a[c].codePointAt(0))!==-1;)c--;return a.substring(s,c+1)}
20function as(e,t,n,r){let i=B(e,t,n);if(!k(i.input))return[];let a=i.options;a&&(O(a.indexOf(`x`)===-1,`extended capability option 'x' not supported`),O(a.indexOf(`g`)===-1,`global option 'g' not supported`));let o=i.input,s=new RegExp(i.regex,a),c,l=[],u=0;for(;c=s.exec(o);){let e={match:c[0],idx:c.index+u,captures:[]};for(let t=1;t<c.length;t++)e.captures.push(c[t]||null);if(l.push(e),!r.global)break;u=c.index+c[0].length,o=o.substring(u)}return l}var os=(e,t,n)=>is(e,t,n,{left:!0,right:!1}),ss=(e,t,n)=>{let r=as(e,t,n,{global:!1});return M(r)&&r.length>0?r[0]:null},cs=(e,t,n)=>as(e,t,n,{global:!0}),ls=(e,t,n)=>as(e,t,n,{global:!1})?.length!=0,us=`$replaceAll`,ds=(e,t,n)=>{O(N(t),`${us} expects an object argument`);let r=n.failOnError,{input:i,find:a,replacement:o}=B(e,t,n);return I(i)||I(a)||I(o)?null:k(i)?k(a)?k(o)?i.replace(new RegExp(a,`g`),o):cr(r,`${us} 'replacement'`):cr(r,`${us} 'find'`):cr(r,`${us} 'input'`)},fs=`$replaceOne`,ps=(e,t,n)=>{let r=n.failOnError,i=B(e,t,n),{input:a,find:o,replacement:s}=i;return I(a)||I(o)||I(s)?null:k(a)?k(o)?k(s)?i.input.replace(i.find,i.replacement):cr(r,`${fs} 'replacement'`):cr(r,`${fs} 'find'`):cr(r,`${fs} 'input'`)},ms=(e,t,n)=>is(e,t,n,{left:!1,right:!0}),hs=(e,t,n)=>{O(M(t)&&t.length===2,`$split expects array(2)`);let r=B(e,t,n),i=n.failOnError;return I(r[0])?null:r.every(k)?r[0].split(r[1]):W(i,`$split `,{size:2,type:`string`})},gs=(e,t,n)=>{O(M(t)&&t.length===2,`$strcasecmp expects array(2)`);let r=B(e,t,n),i=n.failOnError,a=!0,o=!0;for(let e of r)a&&=I(e),o&&=k(e);return a?0:o?tn(r[0].toLowerCase(),r[1].toLowerCase()):W(i,`$strcasecmp arguments`,{type:`string`})},_s=(e,t,n)=>{let r=B(e,t,n);return k(r)?~-encodeURI(r).split(/%..|./).length:cr(n.failOnError,`$strLenBytes`)},vs=(e,t,n)=>{let r=B(e,t,n);return k(r)?r.length:cr(n.failOnError,`$strLenCP`)},ys=`$substrBytes`,bs=(e,t,n)=>{O(M(t)&&t.length===3,`${ys} expects array(3)`);let[r,i,a]=B(e,t,n),o=n.failOnError,s=I(r);if(!s&&!k(r))return cr(o,`${ys} arg1 <string>`);if(!j(i)||i<0)return U(o,`${ys} arg2 <index>`,ir.index);if(!j(a)||a<0)return U(o,`${ys} arg3 <count>`,ir.index);if(s)return``;let c=0,l=null,u=null,d=`${ys} UTF-8 boundary falls inside a continuation byte`;for(let e=0;e<r.length;){let t=r.codePointAt(e);if(t===void 0)return or(o,`${ys} byte index out of range`);let n=t<128?1:t<2048?2:t<65536?3:4,s=t>65535?2:1;if(l===null){if(i>c&&i<c+n)return or(o,d);c===i&&(l=e)}let f=i+a;if(l!==null&&u===null){if(f>c&&f<c+n)return or(o,d);if(c===f){u=e;break}}c+=n,e+=s}if(l===null)return i===c?``:or(o,`${ys} byte index out of range`);if(u===null){if(i+a!==c)return or(o,`${ys} count extends beyond UTF-8 length`);u=r.length}return r.slice(l,u)},xs=bs,Ss=`$substrCP`,Cs=(e,t,n)=>{O(M(t)&&t.length===3,`${Ss} expects array(3)`);let[r,i,a]=B(e,t,n),o=I(r),s=n.failOnError;return!o&&!k(r)?cr(s,`${Ss} arg1 <string>`):j(i)?j(a)?o||i<0?``:a<0?r.substring(i):r.substring(i,i+a):U(s,`${Ss} arg3 <count>`):U(s,`${Ss} arg2 <index>`)},ws=(e,t,n)=>{let r=B(e,t,n);return I(r)?null:k(r)?!0:!!r},Ts=(e,t,n)=>{let r=B(e,t,n);if(P(r))return r;if(I(r))return null;let i=new Date(r);return O(!isNaN(i.getTime()),`cannot convert '${r}' to date`),i},Es=(e,t,n)=>{let r=B(e,t,n);if(I(r))return null;if(P(r))return r.getTime();if(r===!0)return 1;if(r===!1)return 0;let i=Number(r);return O(A(i),`cannot convert '${r}' to double/decimal`),i},Ds=2147483647,Os=-2147483648,ks=9007199254740991,As=-9007199254740991;function js(e,t,n,r,i){let a=B(e,t,n);if(a===!0)return 1;if(a===!1)return 0;if(I(a))return null;if(P(a))return a.getTime();let o=Number(a);return O(A(o)&&o>=r&&o<=i&&(!k(a)||o.toString().indexOf(`.`)===-1),`cannot convert '${a}' to ${i==2147483647?`int`:`long`}`),Math.trunc(o)}var Ms=(e,t,n)=>js(e,t,n,Os,Ds),Ns=(e,t,n)=>js(e,t,n,As,ks),Ps=(e,t,n)=>{let r=B(e,t,n);return I(r)?null:P(r)?r.toISOString():Qt(r)||dn(r)?String(r):or(n.failOnError,`$toString cannot convert from object to string`)},Fs=(e,t,n)=>{O(N(t)&&R(t,`input`,`to`),`$convert expects object { input, to, onError, onNull }`);let r=B(e,t.input,n);if(I(r))return B(e,t.onNull,n)??null;let i=B(e,t.to,n);try{switch(i){case 2:case`string`:return Ps(e,r,n);case 8:case`boolean`:case`bool`:return ws(e,r,n);case 9:case`date`:return Ts(e,r,n);case 1:case 19:case`double`:case`decimal`:case`number`:return Es(e,r,n);case 16:case`int`:return Ms(e,r,n);case 18:case`long`:return Ns(e,r,n)}}catch{}return t.onError===void 0?or(n.failOnError,`$convert cannot convert from object to ${t.to} with no onError value`):B(e,t.onError,n)},Is=(e,t,n)=>A(B(e,t,n)),Ls=Es,Rs=(e,t,n)=>{let r=B(e,t,n);if(n.useStrictMode){if(r===void 0)return`missing`;if(r===!0||r===!1)return`bool`;if(A(r))return r%1==0?r>=-2147483648&&r<=2147483647?`int`:`long`:`double`;if(dn(r))return`regex`}return cn(r)},zs=(e,t,n)=>{M(t)&&t.length===1&&(t=t[0]);
20let r=Ps(e,t,n);return r===null?r:r.toLowerCase()},Bs=(e,t,n)=>{M(t)&&t.length===1&&(t=t[0]);let r=Ps(e,t,n);return r===null?r:r.toUpperCase()},Vs=(e,t,n)=>is(e,t,n,{left:!0,right:!0}),Hs=(e,t,n)=>Jt(B(e,t,n));function Us(e,t,n,r,i){let a={undefined:null,null:null,NaN:NaN,Infinity:Error(),"-Infinity":Error(),...i},o=n.failOnError,s=r.name,c=B(e,t,n);if(c in a){let e=a[c];return e instanceof Error?U(o,`$${s} invalid input '${c}'`):e}return A(c)?r(c):U(o,`$${s}`)}var Ws=(e,t,n)=>Us(e,t,n,Math.acos,{Infinity:1/0,0:Error()}),Gs=(e,t,n)=>Us(e,t,n,Math.acosh,{Infinity:1/0,0:Error()}),Ks=(e,t,n)=>Us(e,t,n,Math.asin),qs=(e,t,n)=>Us(e,t,n,Math.asinh,{Infinity:1/0,"-Infinity":-1/0}),Js=(e,t,n)=>Us(e,t,n,Math.atan),Ys=(e,t,n)=>{let[r,i]=B(e,t,n);return isNaN(r)||I(r)?r:isNaN(i)||I(i)?i:Math.atan2(r,i)},Xs=(e,t,n)=>Us(e,t,n,Math.atanh,{1:1/0,"-1":-1/0}),Zs=(e,t,n)=>Us(e,t,n,Math.cos),Qs=(e,t,n)=>Us(e,t,n,Math.cosh,{"-Infinity":1/0,Infinity:1/0}),$s=e=>Math.PI/180*e,ec=(e,t,n)=>Us(e,t,n,$s,{Infinity:1/0,"-Infinity":1/0}),tc=e=>180/Math.PI*e,nc=(e,t,n)=>Us(e,t,n,tc,{Infinity:1/0,"-Infinity":1/0}),rc=(e,t,n)=>Us(e,t,n,Math.sin),ic=(e,t,n)=>Us(e,t,n,Math.sinh,{"-Infinity":-1/0,Infinity:1/0}),ac=(e,t,n)=>Us(e,t,n,Math.tan),oc=(e,t,n)=>Us(e,t,n,Math.tanh,{Infinity:1,"-Infinity":-1}),sc=(e,t,n)=>{let r={};for(let i of Object.keys(t.vars))r[i]=B(e,t.vars[i],n);return B(e,t.in,Nn.init(n).update({variables:r}))},cc=s({$abs:()=>Tr,$acos:()=>Ws,$acosh:()=>Gs,$add:()=>Dr,$allElementsTrue:()=>Go,$and:()=>vi,$anyElementTrue:()=>Ko,$arrayElemAt:()=>Wr,$arrayToObject:()=>Kr,$asin:()=>Ks,$asinh:()=>qs,$atan:()=>Js,$atan2:()=>Ys,$atanh:()=>Xs,$bitAnd:()=>mi,$bitNot:()=>hi,$bitOr:()=>gi,$bitXor:()=>_i,$ceil:()=>Or,$cmp:()=>Si,$concat:()=>es,$concatArrays:()=>qr,$cond:()=>_a,$convert:()=>Fs,$cos:()=>Zs,$cosh:()=>Qs,$dateAdd:()=>to,$dateDiff:()=>no,$dateFromParts:()=>ao,$dateFromString:()=>uo,$dateSubtract:()=>fo,$dateToParts:()=>po,$dateToString:()=>ho,$dateTrunc:()=>bo,$dayOfMonth:()=>xo,$dayOfWeek:()=>So,$dayOfYear:()=>Co,$degreesToRadians:()=>ec,$divide:()=>kr,$eq:()=>la,$exp:()=>Ar,$filter:()=>Jr,$first:()=>Yr,$firstN:()=>Xr,$floor:()=>jr,$function:()=>ba,$getField:()=>Io,$gt:()=>ua,$gte:()=>da,$hour:()=>wo,$ifNull:()=>va,$in:()=>Zr,$indexOfArray:()=>$r,$indexOfBytes:()=>ns,$isArray:()=>ei,$isNumber:()=>Is,$isoDayOfWeek:()=>To,$isoWeek:()=>Eo,$isoWeekYear:()=>Do,$last:()=>ti,$lastN:()=>ni,$let:()=>sc,$literal:()=>Po,$ln:()=>Mr,$log:()=>G,$log10:()=>Nr,$lt:()=>fa,$lte:()=>pa,$ltrim:()=>os,$map:()=>ri,$maxN:()=>ii,$median:()=>Fo,$mergeObjects:()=>zo,$millisecond:()=>Oo,$minN:()=>ai,$minute:()=>ko,$mod:()=>Pr,$month:()=>Ao,$multiply:()=>Fr,$ne:()=>ma,$not:()=>yi,$objectToArray:()=>Bo,$or:()=>bi,$percentile:()=>Wo,$pow:()=>K,$radiansToDegrees:()=>nc,$rand:()=>Lo,$range:()=>oi,$reduce:()=>si,$regexFind:()=>ss,$regexFindAll:()=>cs,$regexMatch:()=>ls,$replaceAll:()=>ds,$replaceOne:()=>ps,$reverseArray:()=>ci,$round:()=>Lr,$rtrim:()=>ms,$sampleRate:()=>Ro,$second:()=>jo,$setDifference:()=>Jo,$setEquals:()=>Yo,$setField:()=>Ho,$setIntersection:()=>J,$setIsSubset:()=>Qo,$setUnion:()=>$o,$sigmoid:()=>zr,$sin:()=>rc,$sinh:()=>ic,$size:()=>li,$slice:()=>ui,$sortArray:()=>di,$split:()=>hs,$sqrt:()=>Br,$strLenBytes:()=>_s,$strLenCP:()=>vs,$strcasecmp:()=>gs,$substr:()=>xs,$substrBytes:()=>bs,$substrCP:()=>Cs,$subtract:()=>Vr,$switch:()=>ya,$tan:()=>ac,$tanh:()=>oc,$toBool:()=>ws,$toDate:()=>Ts,$toDecimal:()=>Ls,$toDouble:()=>Es,$toHashedIndexKey:()=>Hs,$toInt:()=>Ms,$toLong:()=>Ns,$toLower:()=>zs,$toString:()=>Ps,$toUpper:()=>Bs,$trim:()=>Vs,$trunc:()=>Hr,$type:()=>Rs,$unsetField:()=>Uo,$week:()=>Mo,$year:()=>No,$zip:()=>fi});function lc(e,t,n){let r=Object.keys(t);return r.length===0?e:e.map(e=>{let i={...e};for(let a of r){let r=B(e,t[a],n);r===void 0?Dn(i,a):En(i,a,r)}return i})}function uc(e,t,n){let r=t.boundaries.slice(),i=t.default,a=r[0],o=r[r.length-1],s=t.output||{count:{$sum:1}};O(r.length>1,`$bucket: must specify at least two boundaries.`),O(r.every((e,t)=>t===0||cn(e)===cn(r[t-1])&&D(e,r[t-1])>0),`$bucket: bounds must be of same type and in ascending order`),O(I(i)||cn(i)!==cn(a)||D(i,o)>=0||D(i,a)<0,`$bucket: 'default' expression must be out of boundaries range`);let c=()=>{let c=new Map;for(let e=0;e<r.length-1;e++)c.set(r[e],[]);return I(i)||c.set(i,[]),e.each(e=>{let s=B(e,t.groupBy,n);if(I(s)||D(s,a)<0||D(s,o)>=0)O(!I(i),`$bucket require a default for out of range values`),c.get(i)?.pu
20sh(e);else{O(D(s,a)>=0&&D(s,o)<0,`$bucket 'groupBy' expression must resolve to a value in range of boundaries`);let t=An(r,s),n=r[Math.max(0,t-1)];c.get(n)?.push(e)}}),r.pop(),I(i)||(c.get(i)?.length?r.push(i):c.delete(i)),O(c.size===r.length,`bounds and groups must be of equal size.`),V(r).map(e=>({...B(c.get(e),s,n),_id:e}))},l;return V(()=>(l||=c(),l.next()))}function dc(e,t,n){let{buckets:r,groupBy:i,output:a,granularity:o}=t,s=a??{count:{$sum:1}};O(r>0,`$bucketAuto: 'buckets' field must be greater than 0, but found: ${r}`),o&&O(/^(POWERSOF2|1-2-5|E(6|12|24|48|96|192)|R(5|10|20|40|80))$/.test(o),`$bucketAuto: invalid granularity '${o}'.`);let c=new Map,l=o?(e,t)=>{}:(e,t)=>c.set(e,t),u=e.map(e=>{let t=B(e,i,n)??null;return O(!o||A(t),`$bucketAuto: groupBy values must be numeric when granularity is specified.`),l(e,t??null),[t??null,e]}).collect();u.sort((e,t)=>I(e[0])?-1:I(t[0])?1:D(e[0],t[0]));let d;d=o?o==`POWERSOF2`?pc(u,r):gc(u,r,o):fc(u,r,c);let f=!1;return V(()=>{if(f)return{done:!0};let{min:e,max:t,bucket:r,done:i}=d();f=i;let a=B(r,s,n);for(let e of Object.keys(a)){let t=a[e];M(t)&&(a[e]=t.filter(e=>!I(e)))}return{done:!1,value:{...a,_id:{min:e,max:t}}}})}function fc(e,t,n){let r=e.length,i=Math.max(1,Math.round(e.length/t)),a=0,o=0;return()=>{let s=++o==t,c=[];for(;a<r&&(s||c.length<i||a>0&&on(e[a-1][0],e[a][0]));)c.push(e[a++][1]);let l=n.get(c[0]),u;return u=a<r?e[a][0]:n.get(c[c.length-1]),O(I(u)||I(l)||D(l,u)<=0,`error: $bucketAuto boundary must be in order.`),{min:l,max:u,bucket:c,done:a>=r}}}function pc(e,t){let n=e.length,r=Math.max(1,Math.round(e.length/t)),i=e=>e===0?0:2**(Math.floor(Math.log2(e))+1),a=0,o=0,s=0;return()=>{let t=[],c=i(s);for(o=a>0?s:0;t.length<r&&a<n&&(s===0||e[a][0]<c);)t.push(e[a++][1]);for(s=s==0?i(e[a-1][0]):c;a<n&&e[a][0]<s;)t.push(e[a++][1]);return{min:o,max:s,bucket:t,done:a>=n}}}var mc={R5:[10,16,25,40,63],R10:[100,125,160,200,250,315,400,500,630,800],R20:[100,112,125,140,160,180,200,224,250,280,315,355,400,450,500,560,630,710,800,900],R40:[100,106,112,118,125,132,140,150,160,170,180,190,200,212,224,236,250,265,280,300,315,355,375,400,425,450,475,500,530,560,600,630,670,710,750,800,850,900,950],R80:[103,109,115,122,128,136,145,155,165,175,185,195,206,218,230,243,258,272,290,307,325,345,365,387,412,437,462,487,515,545,575,615,650,690,730,775,825,875,925,975],"1-2-5":[10,20,50],E6:[10,15,22,33,47,68],E12:[10,12,15,18,22,27,33,39,47,56,68,82],E24:[10,11,12,13,15,16,18,20,22,24,27,30,33,36,39,43,47,51,56,62,68,75,82,91],E48:[100,105,110,115,121,127,133,140,147,154,162,169,178,187,196,205,215,226,237,249,261,274,287,301,316,332,348,365,383,402,422,442,464,487,511,536,562,590,619,649,681,715,750,787,825,866,909,953],E96:[100,102,105,107,110,113,115,118,121,124,127,130,133,137,140,143,147,150,154,158,162,165,169,174,178,182,187,191,196,200,205,210,215,221,226,232,237,243,249,255,261,267,274,280,287,294,301,309,316,324,332,340,348,357,365,374,383,392,402,412,422,432,442,453,464,475,487,499,511,523,536,549,562,576,590,604,619,634,649,665,681,698,715,732,750,768,787,806,825,845,866,887,909,931,953,976],E192:[100,101,102,104,105,106,107,109,110,111,113,114,115,117,118,120,121,123,124,126,127,129,130,132,133,135,137,138,140,142,143,145,147,149,150,152,154,156,158,160,162,164,165,167,169,172,174,176,178,180,182,184,187,189,191,193,196,198,200,203,205,208,210,213,215,218,221,223,226,229,232,234,237,240,243,246,249,252,255,258,261,264,267,271,274,277,280,284,287,291,294,298,301,305,309,312,316,320,324,328,332,336,340,344,348,352,357,361,365,370,374,379,383,388,392,397,402,407,412,417,422,427,432,437,442,448,453,459,464,470,475,481,487,493,499,505,511,517,523,530,536,542,549,556,562,569,576,583,590,597,604,612,619,626,634,642,649,657,665,673,681,690,698,706,715,723,732,741,750,759,768,777,787,796,806,816,825,835,845,856,866,876,887,898,909,920,931,942,953,965,976,988]},hc=(e,t)=>{if(e==0)return 0;let n=mc[t],r=n[0],i=n[n.length-1],a=1;for(;e>=i*a;)a*=10;let o=0;for(;e<r*a;)if(o=r*a,a/=10,e>=i*a)return o;O(e>=r*a&&e<i*a,`$bucketAuto: number out of range of series.`);let s=An(n,e,(e,t)=>(t*=a,e<t?-1:+(e>t))),c=n[s]*a;return e==c?n[s+1]*a:c};
20function gc(e,t,n){let r=e.length,i=Math.max(1,Math.round(e.length/t)),a=0,o=0,s=0,c=0;return()=>{let l=++o==t,u=[];for(s=a>0?c:0;a<r&&(l||u.length<i);)u.push(e[a++][1]);c=hc(e[a-1][0],n);let d=u.length;for(;a<r&&(l||e[a][0]<c);)u.push(e[a++][1]);return d!=u.length&&(c=hc(e[a-1][0],n)),O(s<c,`$bucketAuto: ${s} < ${c}.`),{min:s,max:c,bucket:u,done:a>=r}}}function _c(e,t,n){O(k(t)&&t.trim().length>0&&!t.includes(`.`)&&t[0]!==`$`,`$count expression must evaluate to valid field name`);let r=0;return V(()=>r++==0?{value:{[t]:e.size()},done:!1}:{done:!0})}var vc=`$densify`;function yc(e,t,n){let{step:r,bounds:i,unit:a}=t.range;a?(O(xa.includes(a),`${vc} 'range.unit' value is not supported.`),O(j(r)&&r>0,`${vc} 'range.step' must resolve to integer if 'range.unit' is specified.`)):O(A(r),`${vc} 'range.step' must resolve to number.`),M(i)&&(O(!!i&&i.length===2,`${vc} 'range.bounds' must have exactly two elements.`),O((i.every(A)||i.every(P))&&i[0]<i[1],`${vc} 'range.bounds' must be ordered lower then upper.`),a&&O(i.every(P),`${vc} 'range.bounds' must be dates if 'range.unit' is specified.`)),t.partitionByFields&&O(M(t.partitionByFields),`${vc} 'partitionByFields' must resolve to array of strings.`);let o=t.partitionByFields??[];e=qn(e,{[t.field]:1},n);let s=e=>A(e)?e+r:to({},{startDate:e,unit:a,amount:r},n),c=!!a&&xa.includes(a),l=e=>{let n=z(e,t.field);return O(I(n)||P(n)&&c||A(n)&&!c,`${vc} Densify field type must be numeric with 'unit' unspecified, or a date with 'unit' specified.`),n},u=[],d=V(()=>{let t=e.next();return I(l(t.value))?t:(u.push(t),{done:!0})}),f=sn.init(),[p,m]=M(i)?i:[i,i],h,g=e=>{h=h===void 0||h<e?e:h},v=[],y=V(()=>{let n=u.pop()||e.next();if(n.done)return n;let r=v;M(o)&&(r=o.map(e=>z(n.value,e)),O(r.every(k),`$densify: Partition fields must evaluate to string values.`)),O(N(n.value),`$densify: collection must contain documents`);let i=l(n.value);f.has(r)||(p==`full`?(f.has(v)||f.set(v,i),f.set(r,f.get(v))):p==`partition`?f.set(r,i):f.set(r,p));let a=f.get(r);if(i<=a||m!=`full`&&m!=`partition`&&a>=m)return a<=i&&f.set(r,s(a)),g(i),n;f.set(r,s(a)),g(a);let c={[t.field]:a};if(r)for(let e=0;e<r.length;e++)c[o[e]]=r[e];return u.push(n),{done:!1,value:c}});if(p!==`full`)return zn(d,y);let b=-1,x;return zn(d,y,V(()=>{if(b===-1){let e=f.get(v);f.delete(v),x=Array.from(f.keys()),x.length===0&&(x.push(v),f.set(v,e)),b++}do{let e=x[b],n=f.get(e);if(n<h){f.set(e,s(n));let r={[t.field]:n};for(let t=0;t<e.length;t++)r[o[t]]=e[t];return{done:!1,value:r}}b++}while(b<x.length);return{done:!0}}))}function bc(e,t,n){return n.processingMode&Mn.CLONE_INPUT||(n={...Nn.init(n).options,processingMode:Mn.CLONE_INPUT}),e.transform(e=>{let r={};for(let i of Object.keys(t))r[i]=new Un(t[i],n).run(e);return V([r])})}var xc=new WeakMap;function Sc(e,t,n,r){xc.has(e)||xc.set(e,{});let i=xc.get(e);t.field in i||(i[t.field]=n());let a=!1;try{let e=r(i[t.field]);return a=!0,e}finally{a?t.documentNumber===e.length&&(delete i[t.field],Object.keys(i).length===0&&xc.delete(e)):xc.delete(e)}}function Cc(e,t,n,r,i){return Sc(t,n,()=>{let e=H(t,`$`+Object.keys(n.parentExpr.sortBy)[0],r),i=yn(e,((t,n)=>e[n])),a=0,o=0;for(let e of i.keys()){let t=i.get(e).length;i.set(e,[a++,o]),o+=t}return{values:e,groups:i}},({values:e,groups:r})=>{if(r.size==t.length)return n.documentNumber;let a=e[n.documentNumber-1],[o,s]=r.get(a);return(i?o:s)+1})}var wc=(e,t,n,r,i)=>t+(i-e)*((r-t)/(n-e)),Tc=(e,t,n,r)=>
20Sc(t,n,()=>{let e=H(t,[`$`+Object.keys(n.parentExpr.sortBy)[0],n.inputExpr],r).filter((([e,t])=>A(+e))),i=-1,a=0;for(;a<e.length;){for(;i+1<e.length&&A(e[i+1][1]);)i++,a=i;for(;a+1<e.length&&!A(e[a+1][1]);)a++;if(a+1>=e.length)break;for(a++;i+1<a;)e[i+1][1]=wc(e[i][0],e[i][1],e[a][0],e[a][1],e[i+1][0]),i++;i=a}return e.map(([e,t])=>t)},e=>e[n.documentNumber-1]),Ec=(e,t,n,r)=>Sc(t,n,()=>{let e=H(t,n.inputExpr,r);for(let t=1;t<e.length;t++)I(e[t])&&(e[t]=e[t-1]);return e},e=>e[n.documentNumber-1]),Dc=`_id`;function Oc(e,t,n){O(R(t,Dc),`$group specification must include an '_id'`);let r=t[Dc],i=Nn.init(n),a=Object.keys(t).filter(e=>e!=Dc);return e.transform(e=>{let o=yn(e,e=>B(e,r,n)),s=-1,c=Array.from(o.keys());return V(()=>{if(++s===o.size)return{done:!0};let e=c[s],n={};e!==void 0&&(n[Dc]=e);for(let r of a)n[r]=B(o.get(e),t[r],i.update({root:null,groupId:e}));return{value:n,done:!1}})})}var kc=[`$denseRank`,`$documentNumber`,`$first`,`$last`,`$linearFill`,`$rank`,`$shift`],Ac=[`$denseRank`,`$expMovingAvg`,`$linearFill`,`$locf`,`$rank`,`$shift`],jc=e=>{let t=e?.documents||e?.range;return!t||t[0]===`unbounded`&&t[1]===`unbounded`},Mc=`$setWindowFields`;function Nc(e,t,n){n=Nn.init(n),n.context.addExpressionOps({$function:ba});let r={},i=Object.keys(t.output);for(let e of i){let i=t.output[e],a=Object.keys(i),o=a.find(On),s=n.context;if(O(o&&(!!s.getOperator(Pn.WINDOW,o)||!!s.getOperator(Pn.ACCUMULATOR,o)),`${Mc} '${o}' is not a valid window operator`),O(a.length>0&&a.length<=2&&(a.length==1||a.includes(`window`)),`${Mc} 'output' option should have a single window operator.`),i?.window){let{documents:e,range:t}=i.window;O((!!e^+!!t)==1,`'window' option supports only one of 'documents' or 'range'.`)}r[e]=o}return t.sortBy&&(e=qn(e,t.sortBy,n)),e=Oc(e,{_id:t.partitionBy,items:{$push:`$$CURRENT`}},n),e.transform(e=>{let a=[],o=[];for(let e of i){let i=t.output[e],a=r[e],s={operatorName:a,func:{left:n.context.getOperator(Pn.ACCUMULATOR,a),right:n.context.getOperator(Pn.WINDOW,a)},args:i[a],field:e,window:i.window},c=jc(s.window);if(c==0||kc.includes(a)){let e=c?`'${a}'`:`bounded window operations`;O(t.sortBy,`${Mc} 'sortBy' is required for ${e}.`)}O(c||!Ac.includes(a),`${Mc} cannot use bounded window for operator '${a}'.`),o.push(s)}for(let r of e){let e=r.items,i=V(e),s={};for(let r of o){let{func:a,args:o,field:c,window:l}=r,u=e=>{let r=-1;return i=>{if(++r,a.left)return a.left(e(i,r),o,n);if(a.right)return a.right(i,e(i,r),{parentExpr:t,inputExpr:o,documentNumber:r+1,field:c},n)}};if(l){let{documents:r,range:i,unit:a}=l,o=r||i;if(!jc(l)){let[i,l]=o,d=e=>i==`current`?e:i==`unbounded`?0:Math.max(i+e,0),f=t=>l==`current`?t+1:l==`unbounded`?e.length:l+t+1;s[c]=u((s,c)=>{if(r||o?.every(k))return e.slice(d(c),f(c));let u=Object.keys(t.sortBy)[0],p,m;if(a){let e=new Date(s[u]),t=t=>to(s,{startDate:e,unit:a,amount:t},n).getTime();p=A(i)?t(i):-1/0,m=A(l)?t(l):1/0}else{let e=s[u];p=A(i)?e+i:-1/0,m=A(l)?e+l:1/0}let h=i==`current`?c:0,g=l==`current`?c+1:e.length,v=[];for(;h<g;){let t=e[h++],n=+t[u];n>=p&&n<=m&&v.push(t)}return v})}}s[c]||(s[c]=u(t=>e)),i=lc(i,{[c]:{$function:{body:e=>s[c](e),args:[`$$CURRENT`]}}},n)}a.push(i)}return zn(...a)})}var Pc={locf:`$locf`,linear:`$linearFill`};function Fc(e,t,n){O(!t.sortBy||N(t.sortBy),`sortBy must be an object.`),O(!!t.sortBy||Object.values(t.output).every(e=>R(e,`value`)),`sortBy required if any output field specifies a 'method'.`),O(!(t.partitionBy&&t.partitionByFields),`specify either partitionBy or partitionByFields.`),O(!t.partitionByFields||t?.partitionByFields?.every(e=>e[0]!==`$`),`fields in partitionByFields cannot begin with '$'.`),n.context.addExpressionOps({$ifNull:va}),n.context.addWindowOps({$locf:Ec,$linearFill:Tc});let r=t.partitionBy||t?.partitionByFields?.map(e=>`$`+e),i={},a={};for(let e of Object.keys(t.output)){let n=t.output[e];
20if(R(n,`value`)){let t=n;i[e]={$ifNull:[`$$CURRENT.${e}`,t.value]}}else{let t=n,r=Pc[t.method];O(!!r,`invalid fill method '${t.method}'.`),a[e]={[r]:`$`+e}}}return Object.keys(a).length>0&&(e=Nc(e,{sortBy:t.sortBy||{},partitionBy:r,output:a},n)),Object.keys(i).length>0&&(e=lc(e,i,n)),e}function Ic(e,t,n){let{let:r,foreignField:i,localField:a}=t,o=e=>[!0,[]],s=k(t.from)?Oi(`$lookup`,t.from,n):t.from,{documents:c,pipeline:l}=Ei(t.pipeline??[],n);if(O(!s!=!c,"$lookup: must specify single join input with `expr.from` or `expr.pipeline`."),s??=c,O(M(s),`$lookup: join collection must resolve to an array.`),i&&a){let n=sn.init();for(let e of s)for(let t of pn(z(e,i)??null)){let r=n.get(t),i=r??[];i.push(e),i!==r&&n.set(t,i)}if(o=e=>{let t=z(e,a)??null;if(M(t)){if(l?.length)return[t.some(e=>n.has(e)),[]];let e=Array.from(new Set(_n(t.map(e=>n.get(e)))));return[e.length>0,e]}let r=n.get(t)??null;return[r!==null,r??[]]},l?.length===0)return e.map(e=>({...e,[t.as]:o(e).pop()}))}let u=new Un(l??[],n),d=Nn.init(n);return e.map(e=>{let i=B(e,r,n);d.update({root:null,variables:i});let[a,c]=o(e);return{...e,[t.as]:a?u.run(s,d):c}})}function Lc(e,t,n){let r=Oi(`$graphLookup`,t.from,n);O(M(r),`$graphLookup: expression 'from' must resolve to array`);let{connectFromField:i,connectToField:a,as:o,maxDepth:s,depthField:c,restrictSearchWithMatch:l}=t,u=l?{pipeline:[{$match:l}]}:{};return e.map(e=>{let l={};En(l,i,B(e,t.startWith,n));let d=[l],f=-1,p=sn.init();do{f++,d=_n(Ic(V(d),{from:r,localField:i,foreignField:a,as:o,...u},n).map(e=>e[o]).collect());let e=p.size;for(let e of d)p.set(e,p.get(e)??f);if(e==p.size)break}while(I(s)||f<s);let m=Array(p.size),h=0;for(let[e,t]of p.entries())m[h++]=Object.assign(c?{[c]:t}:{},e);return{...e,[o]:m}})}function Rc(e,t,n){let r=new Vi(t,n);return e.filter(e=>r.test(e))}function zc(e,t,n){let r=Oi(`$merge`,t.into,n);O(M(r),`$merge: expression 'into' must resolve to an array`);let i=t.on||n.idKey,a=k(i)?e=>Jt(z(e,i)):e=>Jt(i.map(t=>z(e,t))),o=sn.init();for(let e=0;e<r.length;e++){let t=r[e],n=a(t);O(!o.has(n),`$merge: 'into' collection must have unique entries for the 'on' field.`),o.set(n,[t,e])}let s=Nn.init(n);return e.map(e=>{let n=a(e);if(o.has(n)){let[i,a]=o.get(n),c=B(i,t.let||{new:`$$ROOT`},s.update({root:e}));if(M(t.whenMatched))r[a]=new Un(t.whenMatched,s.update({root:null,variables:c})).run([i])[0];else switch(t.whenMatched){case`replace`:r[a]=e;break;case`fail`:throw new Yt(`$merge: failed due to matching as specified by 'whenMatched' option.`);case`keepExisting`:break;default:r[a]=zo(i,[i,e],s.update({root:e,variables:c}));break}}else switch(t.whenNotMatched){case`discard`:break;case`fail`:throw new Yt(`$merge: failed due to matching as specified by 'whenMatched' option.`);default:r.push(e);break}return e})}function Bc(e,t,n){let r=Oi(`$out`,t,n);return O(M(r),`$out: expression must resolve to an array`),e.map(e=>(r.push(hn(e)),e))}function Vc(e,t,n){let r=Nn.init(n);return e.map(e=>Hc(e,t,r.update({root:e})))}function Hc(e,t,n){let r=B(e,t,n);switch(r){case`$$KEEP`:return e;case`$$PRUNE`:return;case`$$DESCEND`:{if(!R(t,`$cond`))return e;let r={};for(let i of Object.keys(e)){let a=e[i];if(M(a)){let e=[];for(let r of a)N(r)&&(r=Hc(r,t,n.update({root:r}))),I(r)||e.push(r);r[i]=e}else if(N(a)){let e=Hc(a,t,n.update({root:a}));I(e)||(r[i]=e)}else r[i]=a}return r}default:return r}}function Uc(e,t,n){return e.map(e=>(e=B(e,t.newRoot,n),O(N(e),`$replaceRoot expression must return an object`),e))}function Wc(e,t,n){return e.map(e=>(e=B(e,t,n),O(N(e),`$replaceWith expression must return an object`),e))}function Gc(e,t,n){return e.transform(e=>{let n=e.length,r=-1;return V(()=>++r===t.size?{done:!0}:{value:e[Math.floor(Math.random()*n)],done:!1})})}var Kc=lc;function qc(e,t,n){return qn(Oc(e,{_id:t,count:{$sum:1}},n),{count:-1},n)}function Jc(e,t,n){let{coll:r,pipeline:i}=k(t)||M(t)?{coll:t}:t,a=k(r)?Oi(`$unionWith`,r,n):r,{documents:o,pipeline:s}=Ei(i,n);O(a||o,"$unionWith must specify single collection input with `expr.coll` or `expr.pipeline`.");let c=a??o;return zn(e,s?new Un(s,n).stream(c):V(c))}function Yc(e,t,n){t=pn(t);let r={};for(let e of t)r[e]=0;return Ai(e,r,n)}function Xc(e,t,n){k(t)&&(t={path:t});let r=t.path.substring(1),i=t?.includeArrayIndex||!1,a=t.preserveNullAndEmptyArrays||!1,o=(e,t)=>(i!==!1&&(e[i]=t),e),s;return V(()=>{for(;;){if(s instanceof Hn){let e=s.next();if(!e.done)return e}let t=e.next();if(t.done)return t;let n=t.value;if(s=z(n,r),M(s)){if(s.length===0&&a===!0)return s=null,Dn(n,r),{value:o(n,null),done:!1};s=V(s).map(((e,t)=>{let i=Sn(n,r,{preserveKeys:!0});return En(i,r,e),o(i,t)}))}else if(!fn(s)||a===!0)return{value:o(n,null),done:!1}}})}var Zc=s({$addFields:()=>lc,$bucket:()=>uc,$bucketAuto:()=>dc,$count:()=>_c,$densify:()=>yc,$documents:()=>wi,$facet:()=>bc,$fill:()=>Fc,$graphLookup:()=>Lc,$group:()=>Oc,$limit:()=>Ci,$lookup:()=>Ic,$match:()=>Rc,$merge:()=>zc,$out:()=>Bc,$project:()=>Ai,$redact:()=>Vc,$replaceRoot:()=>Uc,$replaceWith:()=>Wc,$sample:()=>Gc,$set:()=>Kc,$setWindowFields:()=>Nc,$skip:()=>Li,$sort:()=>qn,$sortByCount:()=>qc,$unionWith:()=>Jc,$unset:()=>Yc,$unwind:()=>Xc}),Qc=(e,t,n,r)=>{let i=z(e,n),a=new Vi(t,r);if(!M(i))return;let o=[];for(let e=0;e<i.length;e++)if(a.test(i[e])){if(r.useStrictMode)return[i[e]];o.push(i[e])}return o.length>0?o:void 0},$c=(e,t,n,r)=>{let i=z(e,n);return M(i)?ui(e,M(t)?[i,...t]:[i,t],r):i},el=s({$elemMatch:()=>
20Qc,$slice:()=>$c}),tl=(e,t,n)=>Ui(e,t,n,ta),nl=(e,t,n)=>Ui(e,t,n,ra),rl=(e,t,n)=>Ui(e,t,n,na),il=(e,t,n)=>Ui(e,t,null,(e,t)=>{let r=0;if(M(t))for(let e of t)r|=1<<e;else r=t;return n(e&r,r)}),al=(e,t,n)=>il(e,t,(e,t)=>e==0),ol=(e,t,n)=>il(e,t,(e,t)=>e==t),sl=(e,t,n)=>il(e,t,(e,t)=>e<t),cl=(e,t,n)=>il(e,t,(e,t)=>e>0),ll=(e,t,n)=>Ui(e,t,n,Gi),ul=(e,t,n)=>Ui(e,t,n,Zi),dl=(e,t,n)=>Ui(e,t,n,Qi),fl=(e,t,n)=>Ui(e,t,n,qi),pl=(e,t,n)=>Ui(e,t,n,Yi),ml=(e,t,n)=>Ui(e,t,n,Xi),hl=(e,t,n)=>Ui(e,t,n,Ki),gl=(e,t,n)=>Ui(e,t,n,Ji),_l=(e,t,n)=>{let r=e.includes(`.`),i=!!t;if(!r||e.match(/\.\d+$/)){let t={pathArray:e.split(`.`)};return n=>z(n,e,t)!==void 0===i}let a=e.substring(0,e.lastIndexOf(`.`)),o={pathArray:a.split(`.`),preserveIndex:!0};return t=>{let n=z(Sn(t,e,o),a,o);return M(n)?n.some(e=>e!==void 0)===i:n!==void 0===i}},vl=(e,t,n)=>Ui(e,t,n,sa);function yl(e,t,n){return e=>L(B(e,t,n),n.useStrictMode)}function bl(e,t,n){O(!!n?.jsonSchemaValidator,`$jsonSchema requires 'jsonSchemaValidator' option to be defined.`);let r=n.jsonSchemaValidator(t);return e=>r(e)}var xl=(e,t,n)=>Ui(e,t,n,$i),Sl=(e,t,n)=>Ui(e,t,n,ea);function Cl(e,t,n){O(n.scriptEnabled,`$where requires 'scriptEnabled' option to be true`);let r=t;return O(F(r),`$where only accepts a Function objects`),e=>L(r.call(e),n?.useStrictMode)}var wl=(e,t,n)=>{O(M(t),`$and expects value to be an Array.`);let r=t.map(e=>new Vi(e,n));return e=>r.every(t=>t.test(e))};function Tl(e,t,n){O(M(t),`Invalid expression. $or expects value to be an Array`);let r=t.map(e=>new Vi(e,n));return e=>r.some(t=>t.test(e))}function El(e,t,n){O(M(t),`Invalid expression. $nor expects value to be an array.`);let r=Tl(`$or`,t,n);return e=>!r(e)}function Dl(e,t,n){let r={};r[e]=kn(t);let i=new Vi(r,n);return e=>!i.test(e)}var Ol=s({$all:()=>tl,$and:()=>wl,$bitsAllClear:()=>al,$bitsAllSet:()=>ol,$bitsAnyClear:()=>sl,$bitsAnySet:()=>cl,$elemMatch:()=>nl,$eq:()=>ll,$exists:()=>_l,$expr:()=>yl,$gt:()=>ul,$gte:()=>dl,$in:()=>fl,$jsonSchema:()=>bl,$lt:()=>pl,$lte:()=>ml,$mod:()=>xl,$ne:()=>hl,$nin:()=>gl,$nor:()=>El,$not:()=>Dl,$or:()=>Tl,$regex:()=>Sl,$size:()=>rl,$type:()=>vl,$where:()=>Cl}),kl=(e,t,n,r)=>Cc(e,t,n,r,!0),Al=(e,t,n,r)=>{if(t.length<2)return null;let{input:i,unit:a}=n.inputExpr,o=`$`+Object.keys(n.parentExpr.sortBy)[0],s=H([t[0],t[t.length-1]],[o,i],r).filter((([e,t])=>A(+e)&&A(+t)));O(s.length===2,`$derivative arguments must resolve to numeric`);let[[c,l],[u,d]]=s,f=(u-c)/Na[a??`millisecond`];return(d-l)/f},jl=(e,t,n,r)=>n.documentNumber,Ml=(e,t,n,r)=>{let{input:i,N:a,alpha:o}=n.inputExpr;return O(!(a&&o),`$expMovingAvg: must provide either 'N' or 'alpha' field.`),O(!a||A(a)&&a>0,`$expMovingAvg: 'N' must be greater than zero. Got ${a}.`),O(!o||A(o)&&o>0&&o<1,`$expMovingAvg: 'alpha' must be between 0 and 1 (exclusive), found alpha: ${o}`),Sc(t,n,()=>{let e=a==null?o:2/(a+1),n=H(t,i,r);for(let t=0;t<n.length;t++){if(t===0){A(n[t])||(n[t]=null);continue}if(!A(n[t])){n[t]=n[t-1];continue}A(n[t-1])&&(n[t]=n[t]*e+n[t-1]*(1-e))}return n},e=>e[n.documentNumber-1])},Nl=(e,t,n,r)=>{let{input:i,unit:a}=n.inputExpr,o=H(t,[`$`+Object.keys(n.parentExpr.sortBy)[0],i],r).filter((([e,t])=>A(+e)&&A(+t))),s=o.length;O(t.length===s,`$integral expects an array of numeric values`);let c=0;for(let e=1;e<s;e++){let[t,n]=o[e-1],[r,i]=o[e],s=(r-t)/Na[a??`millisecond`];c+=.5*(n+i)*s}return c},Pl=(e,t,n,r)=>
20Sc(t,n,()=>{let e=n.inputExpr,i=e.min||0,a=e.max||1,o=H(t,e.input||n.inputExpr,r);O(M(o)&&o.length>0&&o.every(A),`$minMaxScaler: input must be a numeric array`);let s=o[0],c=o[0];for(let e of o)e<s?s=e:e>c&&(c=e);let l=a-i,u=c-s;return O(u!==0,`$minMaxScaler: input range must not be zero`),{min:i,scale:l,rmin:s,range:u,nums:o}},e=>{let{min:t,rmin:r,scale:i,range:a,nums:o}=e;return(o[n.documentNumber-1]-r)/a*i+t}),Fl=(e,t,n,r)=>Cc(e,t,n,r,!1),Il=(e,t,n,r)=>{let i=n.inputExpr,a=n.documentNumber-1+i.by;return a<0||a>t.length-1?B(e,i.default,r)??null:B(t[a],i.output,r)},Ll=s({$denseRank:()=>kl,$derivative:()=>Al,$documentNumber:()=>jl,$expMovingAvg:()=>Ml,$integral:()=>Nl,$linearFill:()=>Tc,$locf:()=>Ec,$minMaxScaler:()=>Pl,$rank:()=>Fl,$shift:()=>Il}),Rl=Nn.init({context:Fn.init().addQueryOps(Ol).addExpressionOps(xi).addExpressionOps(ha)}).update({updateConfig:{cloneMode:`copy`}}),zl=(e,t)=>{switch(t?.local?.updateConfig?.cloneMode){case`deep`:return hn(e);case`copy`:return P(e)?new Date(e):M(e)?e.slice():N(e)?Object.assign({},e):dn(e)?new RegExp(e):e}return e},Bl=`$`,Vl=`$[]`,Hl=(e,t,n,r,i)=>{let{selector:a,position:o,next:s}=t;if(!o){let t=!1;return Tn(e,a,(e,n)=>t=!!r(e,n)||t,i),t}let c=z(e,a);if(!M(c)||!c.length)return!1;if(o===Bl){let e=c.findIndex(e=>n[a].test({[a]:[e]}));return O(e>-1,`BUG: positional operator found no match for `+a),s?Hl(c[e],s,n,r,i):r(c,e)}return c.map((e,t)=>o!==Vl&&n[o]&&!n[o].test({[o]:[e]})?!1:s?Hl(e,s,n,r,i):r(c,t)).some(e=>!!e)},Ul=`You must include the array field for '.$' as part of the query document.`,Wl=(e,t)=>`Performing an update on the path '${e}' would modify the immutable field '${t}'.`;function Gl(e,t,n,r){let i=n,a=i.local.updateParams??Kl([e],t,i),o=[];for(let t of Object.keys(e)){let{node:n,queries:i}=a[t];r(e[t],n,i)&&o.push(n.selector)}return o.sort()}function Kl(e,t,n){let r={};t||=[];let i=t.reduce((e,t)=>{for(let n of Object.keys(t)){let r=n.split(`.`)[0];e[r]?e[r][n]=t[n]:e[r]={[n]:t[n]}}return e},{}),{condition:a}=n.local;a??={};let o=Object.keys(a),s=new jn;for(let t of e)for(let e of Object.keys(t)){let t=[],c=e.includes(`$`)?{selector:``}:{selector:e};c.selector||e.split(`.`).reduce((e,n)=>{if(n===Bl||n===Vl)e.position=n;else if(n.startsWith(`$[`)&&n.endsWith(`]`)){let r=n.slice(2,-1);O(/^[a-z]+\w*$/.test(r),`The filter <identifier> must begin with a lowercase letter and contain only alphanumeric characters. '${n}' is invalid.`),t.push(r),e.position=r}else if(!e.selector)e.selector=n;else if(!e.position)e.selector+=`.`+n;else return e.next={selector:n},e.next;return e},c);let l={};if(t.length){let e={};for(let n of t)e[n]=i[n];for(let t of Object.keys(e))l[t]=new Vi(e[t],n)}if(c.position===Bl){let e=c.selector;O(o&&o.length,Ul);let t=o.filter(t=>t===e||t.startsWith(e+`.`));O(t.length===1,Ul);let r=t[0];l[e]=new Vi({[r]:a[r]},n)}let u=n.idKey;O(c.selector!==u&&!c.selector.startsWith(`${u}.`),Wl(c.selector,u)),O(s.add(c.selector),`updating the path '${c.selector}' would create a conflict at '${c.selector}'`),r[e]={node:c,queries:l}}return r}function ql(e,t=[],n=Rl){return r=>Gl(e,t,n,(e,t,i)=>{let a={$each:[e]};return N(e)&&R(e,`$each`)&&Object.assign(a,e),Hl(r,t,i,(e,t)=>{let r=e[t];if(M(r)){let i=vn(r.concat(a.$each));if(i.length===r.length)return!1;e[t]=zl(i,n)}else if(r===void 0)e[t]=zl(a.$each,n);else return!1;return!0},{buildGraph:!0})})}var Jl=[`and`,`or`,`xor`];function Yl(e,t=[],n=Rl){for(let t of Object.values(e)){O(N(t),`$bit operator expression must be an object.`);let e=Object.keys(t);
20O(e.length===1&&Jl.includes(e[0]),`$bit spec is invalid '${e[0]}'. Must be one of 'and', 'or', or 'xor'.`),O(A(t[e[0]]),`$bit expression value must be a number. Got ${typeof t[e[0]]}`)}return r=>Gl(e,t,n,(e,t,n)=>{let i=Object.keys(e);return Hl(r,t,n,(t,n)=>{let r=t[n],a=e[i[0]];if(r!==void 0&&!(A(r)&&A(a)))return!1;switch(r||=0,i[0]){case`and`:return(t[n]=r&a)!==r;case`or`:return(t[n]=r|a)!==r;case`xor`:return(t[n]=r^a)!==r}},{buildGraph:!0})})}function Xl(e,t=[],n=Rl){return r=>Gl(e,t,n,(e,t,i)=>Hl(r,t,i,(t,r)=>(t[r]=e===!0||e.$type===`date`?n.now:n.now.getTime(),!0),{buildGraph:!0}))}function Zl(e,t=[],n=Rl){return r=>Gl(e,t,n,(e,t,n)=>Hl(r,t,n,(t,n)=>A(t[n])||t[n]===void 0?(t[n]||=0,t[n]+=e,!0):!1,{buildGraph:!0}))}function Ql(e,t=[],n=Rl){return r=>Gl(e,t,n,(e,t,n)=>Hl(r,t,n,(t,n)=>D(t[n],e)>-1?!1:(t[n]=e,!0),{buildGraph:!0}))}function $l(e,t=[],n=Rl){return r=>Gl(e,t,n,(e,t,n)=>Hl(r,t,n,(t,n)=>D(t[n],e)<1?!1:(t[n]=e,!0),{buildGraph:!0}))}function eu(e,t=[],n=Rl){return r=>Gl(e,t,n,(e,t,n)=>Hl(r,t,n,(t,n)=>{let r=t[n];return A(t[n])?t[n]=t[n]*e:t[n]===void 0&&(t[n]=0),t[n]!==r},{buildGraph:!0}))}function tu(e,t=[],n=Rl){return r=>Gl(e,t,n,(e,t,n)=>Hl(r,t,n,(t,n)=>{let r=t[n];return!M(r)||!r.length?!1:(e===-1?r.splice(0,1):r.pop(),!0)}))}function nu(e,t=[],n=Rl){return r=>Gl(e,t,n,(e,t,i)=>{let a=!N(e)||Object.keys(e).some(On),o=new Vi(a?{k:e}:e,n),s=a?e=>o.test({k:e}):e=>o.test(e);return Hl(r,t,i,(e,t)=>{let n=e[t];if(!M(n)||!n.length)return!1;let r=[],i=!1;for(let e of n){let t=s(e);t||r.push(e),i||=t}return i?(e[t]=r,!0):!1})})}function ru(e,t=[],n=Rl){let r={};for(let t of Object.keys(e))r[t]={$in:e[t]};return nu(r,t,n)}var iu=[`$each`,`$slice`,`$sort`,`$position`];function au(e,t=[],n=Rl){return r=>Gl(e,t,n,(e,t,i)=>{let a={$each:[e]};return N(e)&&iu.some(t=>R(e,t))&&Object.assign(a,e),Hl(r,t,i,(e,t)=>{let r=e[t];if(!M(r))return r===void 0?(e[t]=zl(a.$each,n),!0):!1;let i=r.slice(0,a.$slice||r.length),o=r.length,s=A(a.$position)?a.$position:r.length;if(r.splice(s,0,...zl(a.$each,n)),a.$sort){let e=N(a.$sort)?Object.keys(a.$sort)[0]:``,t=e?a.$sort[e]:a.$sort,n=e?t=>z(t,e):e=>e;r.sort((e,r)=>t*D(n(e),n(r)))}return A(a.$slice)&&(a.$slice<0?r.splice(0,r.length+a.$slice):r.splice(a.$slice)),o!=r.length||!on(i,r)},{descendArray:!0,buildGraph:!0})})}function ou(e,t=[],n=Rl){return r=>Gl(e,t,n,(e,t,i)=>Hl(r,t,i,(t,r)=>on(t[r],e)?!1:(t[r]=zl(e,n),!0),{buildGraph:!0}))}var su=(e,t)=>e===t||e.startsWith(`${t}.`);function cu(e,t=[],n=Rl){let r=n.idKey;for(let t of Object.values(e))O(!su(t,r),`Performing an update on the path '${t}' would modify the immutable field '${r}'.`);return r=>{let i=[],a=Gl(e,t,n,(e,a,o)=>Hl(r,a,o,(a,o)=>R(a,o)?(Array.prototype.push.apply(i,ou({[e]:a[o]},t,n)(r)),delete a[o],!0):!1));return Array.from(new Set(a.concat(i)))}}function lu(e,t=[],n=Rl){return r=>Gl(e,t,n,(e,t,n)=>Hl(r,t,n,(e,t)=>{if(!R(e,t))return!1;let n=e[t];return M(e)?e[t]=null:delete e[t],!on(n,e[t])}))}var uu=s({$addToSet:()=>ql,$bit:()=>Yl,$currentDate:()=>Xl,$inc:()=>Zl,$max:()=>Ql,$min:()=>$l,$mul:()=>eu,$pop:()=>tu,$pull:()=>nu,$pullAll:()=>ru,$push:()=>au,$rename:()=>cu,$set:()=>ou,$unset:()=>lu}),du={$addFields:lc,$set:Kc,$project:Ai,$unset:Yc,$replaceRoot:Uc,$replaceWith:Wc};function fu(e,t,n,r,i){return pu([e],r||{},t,{arrayFilters:n,cloneMode:i?.cloneMode??`copy`},i?.queryOptions).modifiedFields??[]}function pu(e,t,n,r={},i){return Y(e,t,n,r,{...i,firstOnly:!0})}function Y(e,t,n,r={},i){i||={};let a=i?.firstOnly??!1,o=Nn.init({...i,collation:Object.assign({},i?.collation,r?.collation)}).update({condition:t,updateConfig:{cloneMode:`copy`,...r},variables:r.let,updateParams:{}});o.context.addExpressionOps(xi).addExpressionOps(ha).addQueryOps(Ol).addPipelineOps(du);let s=Object.keys(t).length>0,c=new Map,l=V(e);if(s){let e=new Vi(t,o);l=l.filter((t,n)=>e.test(t)?(c.set(t,n),!0):!1)}let u=-1;if(a){let e=new Map;r.sort&&(s||(l=l.map((t,n)=>(e.set(t,n),t))),l=qn(l,r.sort,o)),l=l.take(1);let t=l.collect()[0];u=c.get(t)??e.get(t)??0}let d=l.collect();if(d.length===0)return{matchedCount:0,modifiedCount:0};if(M(n)){let t=a?[u]:Array.from(c.values()),r=t.length?t.map(t=>Jt(e[t])):d.map(e=>Jt(e)),i={matchedCount:r.length,modifiedCount:0},s=a?hn(e[t[0]]):void 0,l=V(d);for(let e of n){let[t,n]=Object.entries(e)[0],r=du[t];O(r,`Unknown pipeline operator: '${t}'.`),l=r(l,n,o)}let f=l.collect();if(t.length){O(t.length===f.length,`bug: indexes and result size must match.`);for(let n=0;n<t.length;n++)Jt(f[n])!==r[n]&&(e[t[n]]=f[n],i.modifiedCount++)}else for(let t=0;t<e.length;t++)Jt(f[t])!==r[t]&&(e[t]=f[t],i.modifiedCount++);if(a&&i.modifiedCount&&s){let r=e[t[0]],a=mu(n,s,r);O(a.length,`bug: failed to retrieve modified fields`),Object.assign(i,{modifiedFields:a,modifiedIndex:u})}return i}let f=Object.keys(n).find(e=>!uu[e]);O(!f,`Unknown update operator: '${f}'.`);let p=r?.arrayFilters??[];o.update({updateParams:Kl(Object.values(n),p,o)});let m={matchedCount:d.length,modifiedCount:0},h=[],g=[];for(let e of Object.keys(n)){let t=uu[e],r=n[e];g.push(t(r,p,o))}for(let e of d){let t=!1;for(let n of g){let r=n(e);r.length&&(t=!0,a&&Array.prototype.push.apply(h,r))}m.modifiedCount+=+t}return a&&h.length&&(h.sort(),Object.assign(m,{modifiedFields:h,modifiedIndex:u})),m}function mu(e,t,n){let r=[];for(let t of e){let e=Object.keys(t)[0],n=t[e];switch(e){case`$addFields`:case`$set`:case`$project`:case`$replaceWith`:r.push(...Object.keys(n));break;case`$unset`:r.push(...pn(n));break;case`$replaceRoot`:r.length=0,r.push(...Object.keys(n?.newRoot));break}}let i=new Set(r.sort()),a=new jn,o=[];for(let e of i)a.add(e)&&!on(z(n,e),z(t,e))&&o.push(e);for(let e of Object.keys(t))i.has(e)||(!a.add(e)||!on(n[e],t[e]))&&o.push(e);let s=new jn;return o.sort().filter(e=>s.add(e))}var hu=Fn.init({accumulator:wr,expression:cc,pipeline:Zc,projection:el,query:Ol,window:Ll}),gu=e=>Object.assign({...e,context:e?.context?Fn.from(hu,e?.context):hu}),_u=class extends Vi{constructor(e,t){super(e,gu(t))}};function vu(e,t,n,r,i){return fu(e,t,n,r,{cloneMode:i?.cloneMode,queryOptions:gu(i?.queryOptions)})}function yu(e,t){if(!Object.keys(t).some(e=>e.startsWith(`$`)))return t;let n=jt(e);return vu(n,t),n}function bu(){return Math.floor(Math.random()*0x16345785d8a0000).toString(16)}function xu(e){return e}function Su(e){return e==null?null:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`?e.toString():e instanceof Date?e.toISOString():JSON.stringify(e)}var Cu=new Set([`$eq`,`$gt`,`$gte`,`$lt`,`$lte`,`$in`,`$nin`,`$ne`,`$exists`,`$not`,`$expr`,`$jsonSchema`,`$mod`,`$regex`,`$options`,`$text`,`$where`,`$all`,`$elemMatch`,`$size`,`$bitsAllClear`,`$bitsAllSet`,`$b
20itsAnyClear`,`$bitsAnySet`]);function wu(e){if(typeof e!=`object`||!e)return!1;let t=Object.keys(e);return t.length===0||t.some(e=>!Cu.has(e))?!1:t.every(e=>Cu.has(e))}function Tu(e,t){let n={include:null,exclude:null},r=t[e];return r instanceof RegExp||r==null?n:wu(r)?r.$ne==null?Array.isArray(r.$in)&&r.$in.length>0?(n.include=r.$in.map(Su),n):Array.isArray(r.$nin)&&r.$nin.length>0?(n.exclude=r.$nin.map(Su),n):{include:null,exclude:null}:(n.exclude=[Su(r.$ne)],n):(n.include=[Su(r)],n)}function Eu(e,t){return xu({query(n){if(!Object.hasOwnProperty.call(n,e))return{matched:!1};let r=n[e],i=r==null||r.$exists===!1,a=i?{include:null,exclude:[...t.keys()].filter(e=>e!=null)}:Tu(e,n);if(a.include==null&&a.exclude==null)return{matched:!1};let o=[];if(a.include==null)for(let e of t.values())for(let t of e)o.push(t);else for(let e of a.include){let n=t.get(e);if(n)for(let e of n)o.push(e)}if(a.exclude!=null){let e=new Set;for(let n of a.exclude){let r=t.get(n);if(r)for(let t of r)e.add(t)}o=o.filter(t=>!e.has(t))}return{matched:!0,positions:o,fields:[e],keepSelector:i}},rebuild(){}})}function X(e){let t=new Map;return{...Eu(e,t),rebuild(n){t.clear(),n.forEach((n,r)=>{let i=Su(_t(n,e)),a=t.get(i)||new Set;a.add(r),t.set(i,a)})}}}function Du(e,t){return new _u(t).test(e)}function Ou(e,t,n=Object.is){let r=t,i=e?.create(),a=()=>e?.isInScope?e.isInScope():!0;return{get(){return i&&a()&&i.depend(),r},set(e){n(r,e)||(r=e,i&&i.notify())}}}function ku(...e){return e.length===0?[]:[...new Set(e.reduce((e,t)=>e.filter(e=>t.includes(e))))]}function Au(e,t){return e.reduce((e,n)=>{let r=n.query(t);if(!r.matched)return e;let i=r.keepSelector?e.optimizedSelector:Object.fromEntries(Object.entries(e.optimizedSelector).filter(([e])=>!r.fields.includes(e)));return{matched:!0,positions:[...new Set(e.matched?ku(e.positions,r.positions):r.positions)],optimizedSelector:i}},{matched:!1,positions:[],optimizedSelector:{...t}})}function ju(e,t){if(t==null||Object.keys(t).length<=0)return{matched:!1,positions:[],optimizedSelector:t};let{$and:n,$or:r,...i}=t,a=Au(e,i),{matched:o,positions:s}=a,c=a.optimizedSelector;if(Array.isArray(n)){let t=[];for(let r of n){let{matched:n,positions:i,optimizedSelector:a}=ju(e,r);n?(s=o?ku(s,i):i,o=!0,Object.keys(a).length>0&&t.push(a)):t.push(r)}t.length>0&&(c.$and=t)}if(Array.isArray(r)){let t=[],n=o,i=s,a=!1;for(let n of r){let{matched:r,positions:i,optimizedSelector:c}=ju(e,n);r?(s=[...new Set([...s,...i])],o=!0,Object.keys(c).length>0&&t.push(c)):(t.push(n),a=!0)}t.length>0&&(c.$or=t),a&&(c.$or=r,o=n,s=i)}return{matched:o,positions:s||[],optimizedSelector:c}}function Mu(e){return e.added.length>0||e.modified.length>0||e.removed.length>0}function Nu(e,{added:t,modified:n,removed:r}){let i=[...e];return t.forEach(e=>{i.push(e)}),n.forEach(e=>{let t=i.findIndex(({id:t})=>t===e.id);t!==-1&&(i[t]=e)}),r.forEach(e=>{let t=i.findIndex(({id:t})=>t===e.id);t!==-1&&i.splice(t,1)}),i}var Pu=class e extends Ft{static collections=[];static debugMode=!1;static batchOperationInProgress=!1;static fieldTracking=!1;static onCreationCallbacks=[];static onDisposeCallbacks=[];static getCollections(){return e.collections}static onCreation(t){e.onCreationCallbacks.push(t)}static onDispose(t){e.onDisposeCallbacks.push(t)}static enableDebugMode=()=>{e.debugMode=!0,e.collections.forEach(e=>{e.setDebugMode(!0)})};static setFieldTracking=t=>{e.fieldTracking=t,e.collections.forEach(e=>{e.setFieldTracking(t)})};static batch(t){e.batchOperationInProgress=!0,e.collections.reduce((e,t)=>()=>t.batch(()=>e()),t)(),e.batchOperationInProgress=!1}name;options;persistenceAdapter=null;isPullingSignal;isPushingSignal;indexProviders=[];indicesOutdated=!1;idIndex=new Map;debugMode;batchOperationInProgress=!1;isDisposed=!1;postBatchCallbacks=new Set;fieldTracking=!1;persistenceReadyPromise;pendingUpdates={added:[],modified:[],removed:[]};constructor(t){if(super(),e.collections.push(this),this.name=t?.name??`${this.constructor.name}-${bu()}`,this.options={memory:[],...t},this.fieldTracking=this.options.fieldTracking??e.fieldTracking,this.debugMode=this.options.enableDebugMode??e.debugMode,this.indexProviders=[Eu(`id`,this.idIndex),...this.options.indices||[]],this.rebuildIndices(),this.isPullingSignal=Ou(this.options.reactivity,!!t?.persistence),this.isPushingSignal=Ou(this.options.reactivity,!1),this.on(`persistence.pullStarted`,()=>{this.isPullingSignal.set(!0)}),this.on(`persistence.pullCompleted`,()=>{this.isPullingSignal.set(!1)}),this.on(`persistence.pushStarted`,()=>{this.isPushingSignal.set(!0)}),this.on(`persistence.pushCompleted`,()=>{this.isPushingSignal.set(!1)}),this.persistenceAdapter=this.options.persistence??null,this.persistenceAdapter){let e=0,t=!1,n={added:[],modified:[],removed:[]},r=!1,i=()=>
20{if(!this.persistenceAdapter)throw Error(`Persistence adapter not found`);if(e<=0&&this.emit(`persistence.pushStarted`),r||!Mu(n))return;r=!0,e+=1;let t=this.memoryArray(),a={...n};n.added=[],n.modified=[],n.removed=[],this.persistenceAdapter.save(t,a).then(()=>{this.emit(`persistence.transmitted`)}).catch(e=>{this.emit(`persistence.error`,e instanceof Error?e:Error(e))}).finally(()=>{--e,r=!1,i(),e<=0&&this.emit(`persistence.pushCompleted`)})};this.on(`added`,e=>{if(!t){this.pendingUpdates.added.push(e);return}n.added.push(e),i()}),this.on(`changed`,e=>{if(!t){this.pendingUpdates.modified.push(e);return}n.modified.push(e),i()}),this.on(`removed`,e=>{if(!t){this.pendingUpdates.removed.push(e);return}n.removed.push(e),i()}),this.persistenceAdapter.register(t=>this.loadPersistentData(t,e>0)).then(async()=>{if(!this.persistenceAdapter)throw Error(`Persistence adapter not found`);let e=this.memoryArray();for(await this.loadPersistentData();Mu(this.pendingUpdates);){let t=this.pendingUpdates.added.splice(0),n=this.pendingUpdates.modified.splice(0),r=this.pendingUpdates.removed.splice(0);e=Nu(this.memoryArray(),{added:t,modified:n,removed:r}),await this.persistenceAdapter.save(e,{added:t,modified:n,removed:r}).then(()=>{this.emit(`persistence.transmitted`)})}await this.loadPersistentData(),t=!0,setTimeout(()=>
20this.emit(`persistence.init`),0)}).catch(e=>{this.emit(`persistence.error`,e instanceof Error?e:Error(e))})}this.persistenceReadyPromise=new Promise((e,t)=>{if(!this.persistenceAdapter)return e();this.once(`persistence.init`,e),this.once(`persistence.error`,t)}),e.onCreationCallbacks.forEach(e=>e(this))}async resetData(){Mu(this.pendingUpdates)&&await new Promise(e=>{this.on(`persistence.transmitted`,e)}),this.options.memory=[],await this.loadPersistentData()}async loadPersistentData(e,t=!1){if(!this.persistenceAdapter)throw Error(`Persistence adapter not found`);this.emit(`persistence.pullStarted`);let{items:n,changes:r}=e??await this.persistenceAdapter.load();if(n){if(t)return;this.memory().splice(0,this.memoryArray().length,...n),this.idIndex.clear(),this.memory().map((e,t)=>{this.idIndex.set(Su(e.id),new Set([t]))})}else r&&(r.added.forEach(e=>{let t=this.memory().findIndex(t=>t.id===e.id);if(t!==-1){this.memory().splice(t,1,e);return}this.memory().push(e);let n=this.memory().findIndex(t=>t===e);this.idIndex.set(Su(e.id),new Set([n]))}),r.modified.forEach(e=>{let t=this.memory().findIndex(t=>t.id===e.id);if(t===-1)throw Error(`Cannot resolve index for item`);this.memory().splice(t,1,e)}),r.removed.forEach(e=>{let t=this.memory().findIndex(t=>t.id===e.id);if(t===-1)throw Error(`Cannot resolve index for item`);this.memory().splice(t,1)}));this.rebuildIndices(),this.emit(`persistence.received`),setTimeout(()=>
20this.emit(`persistence.pullCompleted`),0)}isPulling(){return this.isPullingSignal.get()??!1}isPushing(){return this.isPushingSignal.get()??!1}isLoading(){let e=this.isPulling(),t=this.isPushing();return e||t}getDebugMode(){return this.debugMode}setDebugMode(e){this.debugMode=e}setFieldTracking(e){this.fieldTracking=e}async isReady(){return this.persistenceReadyPromise}profile(e,t){if(!this.debugMode)return e();let n=performance.now(),r=e();return t(performance.now()-n),r}executeInDebugMode(e){this.debugMode&&e(Error().stack||``)}rebuildIndices(){this.indicesOutdated=!0,!this.batchOperationInProgress&&this.rebuildAllIndices()}rebuildAllIndices(){this.idIndex.clear(),this.memory().map((e,t)=>{this.idIndex.set(Su(e.id),new Set([t]))}),this.indexProviders.forEach(e=>e.rebuild(this.memoryArray())),this.indicesOutdated=!1}getIndexInfo(e){return e!=null&&Object.keys(e).length===1&&`id`in e&&typeof e.id!=`object`?{matched:!0,positions:[...this.idIndex.get(Su(e.id))||[]],optimizedSelector:{}}:e==null?{matched:!1,positions:[],optimizedSelector:{}}:this.indicesOutdated?{matched:!1,positions:[],optimizedSelector:e}:ju(this.indexProviders,e)}getItemAndIndex(e){let t=this.memoryArray(),n=this.getIndexInfo(e),r=(n.matched?n.positions.map(e=>t[e]).filter(e=>e!=null):t).find(t=>Du(t,e)),i=n.matched&&n.positions.find(e=>t[e]===r)||t.findIndex(e=>e===r);if(r==null)return{item:null,index:-1};if(i===-1)throw Error(`Cannot resolve index for item`);return{item:r,index:i}}deleteFromIdIndex(e,t){this.idIndex.delete(Su(e)),this.batchOperationInProgress&&this.idIndex.forEach(([e],n)=>{e>t&&this.idIndex.set(n,new Set([e-1]))})}memory(){return this.options.memory}memoryArray(){return this.memory().map(e=>e)}transform(e){return this.options.transform?this.options.transform(e):e}transformAll(e,t){return this.options.transformAll?this.options.transformAll(e,t):e}getItems(e){return this.profile(()=>{let t=this.getIndexInfo(e),n=e=>t.optimizedSelector==null||Object.keys(t.optimizedSelector).length<=0?!0:Du(e,t.optimizedSelector);this.emit(`getItems`,e);let r=this.memoryArray();if(!t.matched)return gt(e,{})?r:r.filter(n);let i=t.positions.map(e=>r[e]).filter(e=>e!=null);return gt(t.optimizedSelector,{})?i:i.filter(n)},t=>this.executeInDebugMode(n=>this.emit(`_debug.getItems`,n,e,t)))}async dispose(){this.persistenceAdapter?.unregister&&await this.persistenceAdapter.unregister(),this.persistenceAdapter=null,this.memory().map(()=>this.memory().pop()),this.idIndex.clear(),this.indexProviders=[],this.isDisposed=!0,this.removeAllListeners(),e.collections=e.collections.filter(e=>e!==this),e.onDisposeCallbacks.forEach(e=>e(this))}find(e,t){if(this.isDisposed)throw Error(`Collection is disposed`);if(e!==void 0&&(!e||typeof e!=`object`))throw Error(`Invalid selector`);let n=new Pt(()=>this.getItems(e),{reactive:this.options.reactivity,fieldTracking:this.fieldTracking,...t,transform:this.transform.bind(this),transformAll:this.transformAll.bind(this),bindEvents:n=>{let r=()=>{if(this.batchOperationInProgress){this.postBatchCallbacks.add(n);return}n()};return this.addListener(`persistence.received`,r),this.addListener(`added`,r),this.addListener(`changed`,r),this.addListener(`removed`,r),this.emit(`observer.created`,e,t),()=>{this.removeListener(`persistence.received`,r),this.removeListener(`added`,r),this.removeListener(`changed`,r),this.removeListener(`removed`,r),this.emit(`observer.disposed`,e,t)}}});return this.emit(`find`,e,t,n),this.executeInDebugMode(r=>this.emit(`_debug.find`,r,e,t,n)),n}findOne(e,t){if(this.isDisposed)throw Error(`Collection is disposed`);let n=this.find(e,{limit:1,...t}).fetch()[0]||void 0;return this.emit(`findOne`,e,t,n),this.executeInDebugMode(r=>this.emit(`_debug.findOne`,r,e,t,n)),n}batch(e){this.batchOperationInProgress=!0,e(),this.batchOperationInProgress=!1,this.rebuildAllIndices(),this.postBatchCallbacks.forEach(e=>e()),this.postBatchCallbacks.clear()}insert(e){if(this.isDisposed)throw Error(`Collection is disposed`);if(!e)throw Error(`Invalid item`);let t={id:(this.options.primaryKeyGenerator??bu)(e),...e};if(this.emit(`validate`,t),this.idIndex.has(Su(t.id)))throw Error(`Item with same id already exists`);this.memory().push(t);let n=this.memory().findIndex(e=>e===t);
20return this.idIndex.set(Su(t.id),new Set([n])),this.rebuildIndices(),this.emit(`added`,t),this.emit(`insert`,t),this.executeInDebugMode(e=>this.emit(`_debug.insert`,e,t)),t.id}insertMany(e){if(this.isDisposed)throw Error(`Collection is disposed`);if(!e)throw Error(`Invalid items`);if(e.length===0)return[];let t=[];return this.batch(()=>{e.forEach(e=>{t.push(this.insert(e))})}),t}updateOne(e,t,n){if(this.isDisposed)throw Error(`Collection is disposed`);if(!e)throw Error(`Invalid selector`);if(!t)throw Error(`Invalid modifier`);let{$setOnInsert:r,...i}=t,{item:a,index:o}=this.getItemAndIndex(e);if(a==null){if(n?.upsert){let e=yu({},{...i,$set:{...r,...i.$set}});if(e.id!=null&&this.getItemAndIndex({id:e.id}).item!=null)throw Error(`Item with same id already exists`);this.insert(e)}}else{let e=yu(jt(a),i);if(a.id!==e.id&&this.getItemAndIndex({id:e.id}).item!=null)throw Error(`Item with same id already exists`);this.emit(`validate`,e),this.memory().splice(o,1,e),this.rebuildIndices(),this.emit(`changed`,e,i)}return this.emit(`updateOne`,e,t),this.executeInDebugMode(n=>this.emit(`_debug.updateOne`,n,e,t)),a==null&&!n?.upsert?0:1}updateMany(e,t,n){if(this.isDisposed)throw Error(`Collection is disposed`);if(!e)throw Error(`Invalid selector`);if(!t)throw Error(`Invalid modifier`);let{$setOnInsert:r,...i}=t,a=this.getItems(e);if(a.length===0&&n?.upsert){let e=yu({},{...i,$set:{...r,...i.$set}});if(e.id!=null&&this.getItemAndIndex({id:e.id}).item!=null)throw Error(`Item with same id already exists`);this.insert(e)}let o=a.map(e=>{let{index:t}=this.getItemAndIndex({id:e.id});if(t===-1)throw Error(`Cannot resolve index for item with id '${e.id}'`);let n=yu(jt(e),i);if(e.id!==n.id&&this.getItemAndIndex({id:n.id}).item!=null)throw Error(`Item with same id '${n.id}' already exists`);return this.emit(`validate`,n),{item:n,index:t}});return o.forEach(({item:e,index:t})=>{this.memory().splice(t,1,e)}),this.rebuildIndices(),o.forEach(({item:e})=>{this.emit(`changed`,e,i)}),this.emit(`updateMany`,e,t),this.executeInDebugMode(n=>this.emit(`_debug.updateMany`,n,e,t)),o.length===0&&n?.upsert?1:o.length}replaceOne(e,t,n){if(this.isDisposed)throw Error(`Collection is disposed`);if(!e)throw Error(`Invalid selector`);let{item:r,index:i}=this.getItemAndIndex(e);if(r==null){if(n?.upsert){if(t.id!=null&&this.getItemAndIndex({id:t.id}).item!=null)throw Error(`Item with same id already exists`);this.insert(t)}}else{if(r.id!==t.id&&this.getItemAndIndex({id:t.id}).item!=null)throw Error(`Item with same id already exists`);let e={id:r.id,...t};this.emit(`validate`,e),this.memory().splice(i,1,e),this.rebuildIndices(),this.emit(`changed`,e,t)}return this.emit(`replaceOne`,e,t),this.executeInDebugMode(n=>this.emit(`_debug.replaceOne`,n,e,t)),r==null&&!n?.upsert?0:1}removeOne(e){if(this.isDisposed)throw Error(`Collection is disposed`);if(!e)throw Error(`Invalid selector`);let{item:t,index:n}=this.getItemAndIndex(e);return t!=null&&(this.memory().splice(n,1),this.deleteFromIdIndex(t.id,n),this.rebuildIndices(),this.emit(`removed`,t)),this.emit(`removeOne`,e),this.executeInDebugMode(t=>this.emit(`_debug.removeOne`,t,e)),t==null?0:1}removeMany(e){if(this.isDisposed)throw Error(`Collection is disposed`);if(!e)throw Error(`Invalid selector`);let t=this.getItems(e);return t.forEach(e=>{let t=this.memory().findIndex(t=>t===e);if(t===-1)throw Error(`Cannot resolve index for item`);this.memory().splice(t,1),this.deleteFromIdIndex(e.id,t),this.rebuildIndices()}),t.forEach(e=>{this.emit(`removed`,e)}),this.emit(`removeMany`,e),this.executeInDebugMode(t=>this.emit(`_debug.removeMany`,t,e)),t.length}};function Fu(e){return e}function Iu(e){return e}var Lu=l(ht(),1);function Ru(e,t){let{prefix:n=`signaldb-`}=t||{},r=`${n}${e}`,i=`items`;function a(){return new Promise((e,t)=>{let n=indexedDB.open(r,1);n.addEventListener(`upgradeneeded`,()=>{let e=n.result;e.objectStoreNames.contains(i)||e.createObjectStore(i,{keyPath:`id`})}),n.addEventListener(`success`,()=>e(n.result)),n.addEventListener(`error`,()=>t(Error(n.error?.message||`Database error`)))})}async function o(){let e=await a();return new Promise((t,n)=>{let r=e.transaction(i,`readonly`).objectStore(i).getAll();r.addEventListener(`success`,()=>t(r.result)),r.addEventListener(`error`,()=>n(Error(r.error?.message||`Error fetching items`)))})}return Fu({async load(){return{items:await o()}},async save(e,{added:t,modified:n,removed:r}){let o=(await a()).transaction(i,`readwrite`),s=o.objectStore(i);
20return t.forEach(e=>s.add(e)),n.forEach(e=>s.put(e)),r.forEach(e=>s.delete(e.id)),new Promise((e,t)=>{o.addEventListener(`complete`,()=>e()),o.addEventListener(`error`,()=>t(Error(o.error?.message||`Transaction error`)))})},async register(){}})}var zu=Symbol(0),Bu=!1,Vu=null,Hu=null,Uu=null,Wu=0,Gu=[],Ku={},qu=()=>{},Ju=0,Yu=1,Xu=2,Zu=3;function Z(){Bu=!0,queueMicrotask(Qu)}function Qu(){if(!Gu.length){Bu=!1;return}for(let e=0;e<Gu.length;e++)Gu[e].$st!==Ju&&$u(Gu[e]);Gu=[],Bu=!1}function $u(e){let t=[e];for(;e=e[zu];)e.$e&&e.$st!==Ju&&t.push(e);for(let e=t.length-1;e>=0;e--)gd(t[e])}function ed(e){return ad(Vu,e,null)}function td(){return Vu}function Q(e){if(!e||!Vu)return e||qu;let t=Vu;return t.$d?Array.isArray(t.$d)?t.$d.push(e):t.$d=[t.$d,e]:t.$d=e,function(){t.$st!==Zu&&(e.call(null),hd(t.$d)?t.$d=null:Array.isArray(t.$d)&&t.$d.splice(t.$d.indexOf(e),1))}}function nd(e=!0){if(this.$st!==Zu){if(this.$h)if(Array.isArray(this.$h))for(let e=this.$h.length-1;e>=0;e--)nd.call(this.$h[e]);else nd.call(this.$h);if(e){let e=this[zu];e&&(Array.isArray(e.$h)?e.$h.splice(e.$h.indexOf(this),1):e.$h=null),rd(this)}}}function rd(e){e.$st=Zu,e.$d&&id(e),e.$s&&xd(e,0),e[zu]=null,e.$s=null,e.$o=null,e.$h=null,e.$cx=Ku,e.$eh=null}function id(e){try{if(Array.isArray(e.$d))for(let t=e.$d.length-1;t>=0;t--){let n=e.$d[t];n.call(n)}else e.$d.call(e.$d);e.$d=null}catch(t){od(e,t)}}function ad(e,t,n){let r=Vu,i=Hu;Vu=e,Hu=n;try{return t.call(e)}finally{Vu=r,Hu=i}}function od(e,t){if(!e||!e.$eh)throw t;let n=0,r=e.$eh.length,i=t;for(n=0;n<r;n++)try{e.$eh[n](i);break}catch(e){i=e}if(n===r)throw i}function sd(){return this.$st===Zu?this.$v:(Hu&&!this.$e&&(!Uu&&Hu.$s&&Hu.$s[Wu]==this?Wu++:Uu?Uu.push(this):Uu=[this]),this.$c&&gd(this),this.$v)}function cd(e){let t=hd(e)?e(this.$v):e;if(this.$ch(this.$v,t)&&(this.$v=t,this.$o))for(let e=0;e<this.$o.length;e++)bd(this.$o[e],Xu);return this.$v}var ld=function(){this[zu]=null,this.$h=null,Vu&&Vu.append(this)},ud=ld.prototype;ud.$cx=Ku,ud.$eh=null,ud.$c=null,ud.$d=null,ud.append=function(e){e[zu]=this,this.$h?Array.isArray(this.$h)?this.$h.push(e):this.$h=[this.$h,e]:this.$h=e,e.$cx=e.$cx===Ku?this.$cx:{...this.$cx,...e.$cx},this.$eh&&(e.$eh=e.$eh?[...e.$eh,...this.$eh]:this.$eh)},ud.dispose=function(){nd.call(this)};var dd=function(e,t,n){ld.call(this),this.$st=t?Xu:Ju,this.$i=!1,this.$e=!1,this.$s=null,this.$o=null,this.$v=e,t&&(this.$c=t),n&&n.dirty&&(this.$ch=n.dirty)},fd=dd.prototype;Object.setPrototypeOf(fd,ud),fd.$ch=md,fd.call=sd;function pd(e,t,n){return new dd(e,t,n)}function md(e,t){return e!==t}function hd(e){return typeof e==`function`}function gd(e){if(e.$st===Yu)for(let t=0;t<e.$s.length&&(gd(e.$s[t]),e.$st!==Xu);t++);e.$st===Xu?vd(e):e.$st=Ju}function _d(e){e.$h&&nd.call(e,!1),e.$d&&id(e),e.$eh=e[zu]?e[zu].$eh:null}function vd(e){let t=Uu,n=Wu;Uu=null,Wu=0;try{_d(e);let t=ad(e,e.$c,e);yd(e),!e.$e&&e.$i?cd.call(e,t):(e.$v=t,e.$i=!0)}catch(t){yd(e),od(e,t)}finally{Uu=t,Wu=n,e.$st=Ju}}function yd(e){if(Uu){if(e.$s&&xd(e,Wu),e.$s&&Wu>0){e.$s.length=Wu+Uu.length;for(let t=0;t<Uu.length;t++)e.$s[Wu+t]=Uu[t]}else e.$s=Uu;let t;for(let n=Wu;n<e.$s.length;n++)t=e.$s[n],t.$o?t.$o.push(e):t.$o=[e]}else e.$s&&Wu<e.$s.length&&(xd(e,Wu),e.$s.length=Wu)}function bd(e,t){if(!(e.$st>=t)&&(e.$e&&e.$st===Ju&&(Gu.push(e),Bu||Z()),e.$st=t,e.$o))for(let t=0;t<e.$o.length;t++)bd(e.$o[t],Yu)}function xd(e,t){let n,r;for(let i=t;i<e.$s.length;i++)n=e.$s[i],n.$o&&(r=n.$o.indexOf(e),n.$o[r]=n.$o[n.$o.length-1],n.$o.pop())}function Sd(e,t){let n=pd(e,null,t),r=sd.bind(n);return r[zu]=!0,r.set=cd.bind(n),r}var Cd=Iu({create:()=>{let e=Sd(0);return{depend:()=>{e()},notify:()=>{e.set(ed(()=>e()+1))}}},isInScope:()=>!!td(),onDispose:e=>Q(e)}),wd=1e3,Td=(...e)=>e.map(e=>{if(typeof e==`object`)try{return JSON.stringify(e,null,2).substring(0,1e3)}catch{return String(e)}return String(e)}).join(` `);function Ed(e){let t=(t,...n)=>{let r=Td(...n),i={id:`${Date.now()}-${Math.random()}`,time:Date.now(),level:t,message:r};e.insert(i)},n={log:(...e)=>t(`log`,...e),error:(...e)=>t(`error`,...e),warn:(...e)=>t(`warn`,...e),info:(...e)=>t(`info`,...e),debug:(...e)=>t(`debug`,...e)},r=console.log,i=console.error,a=console.warn,o=console.info,s=console.debug;console.log=(...e)=>{r(...e),n.log(...e)},console.error=(...e)=>{i(...e),n.error(...e)},console.warn=(...e)=>{a(...e),n.warn(...e)},console.info=(...e)=>{o(...e),n.info(...e)},console.debug=(...e)=>
20{s(...e),n.debug(...e)},e.isReady().then(()=>{e.removeMany({time:void 0});let[t]=e.find({},{skip:wd-1,sort:{time:1},limit:1}).fetch();t&&(console.log(`reducing logs`),e.removeMany({time:{$lte:t.time}}))})}var Dd=class extends Pu{upsertMany(e){this.batch(()=>{for(let t of e)this.updateOne({id:t.id},{$set:t},{upsert:!0})})}},Od=new Dd({persistence:Ru(`subjects`),reactivity:Cd,indices:[X(`id`),X(`object`),X(`level`)]}),kd=new Dd({persistence:Ru(`assignments`),reactivity:Cd,indices:[X(`id`),X(`subject_id`),X(`srs_stage`),X(`available_at`)]});new Dd({persistence:Ru(`study_materials`),reactivity:Cd,indices:[X(`id`),X(`subject_id`)]}),new Dd({persistence:Ru(`users`),reactivity:Cd});var Ad=new Dd({persistence:Ru(`preferences`),reactivity:Cd,indices:[X(`id`)]}),jd=new Dd({persistence:Ru(`subject_collections`),reactivity:Cd,indices:[X(`id`),X(`source`),X(`updatedAt`)]});Ed(new Dd({persistence:Ru(`logs`),reactivity:Cd,indices:[X(`id`),X(`timestamp`),X(`level`)]})),new Dd({persistence:Ru(`encounters`),reactivity:Cd,indices:[X(`id`),X(`gameId`),X(`startedAt`)]}),new Dd({persistence:Ru(`encounter_items`),reactivity:Cd,indices:[X(`id`),X(`sessionId`),X(`gameId`),X(`subjectId`),X(`timestamp`)]});var Md=BigInt(2**32-1),Nd=BigInt(32);function Pd(e,t=!1){return t?{h:Number(e&Md),l:Number(e>>Nd&Md)}:{h:Number(e>>Nd&Md)|0,l:Number(e&Md)|0}}function Fd(e,t=!1){let n=e.length,r=new Uint32Array(n),i=new Uint32Array(n);for(let a=0;a<n;a++){let{h:n,l:o}=Pd(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}new Uint8Array(new Uint32Array([287454020]).buffer)[0];var Id=BigInt(0),Ld=BigInt(1),Rd=BigInt(2),zd=BigInt(7),Bd=BigInt(256),Vd=BigInt(113),Hd=[],Ud=[],Wd=[];for(let e=0,t=Ld,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],Hd.push(2*(5*r+n)),Ud.push((e+1)*(e+2)/2%64);let i=Id;for(let e=0;e<7;e++)t=(t<<Ld^(t>>zd)*Vd)%Bd,t&Rd&&(i^=Ld<<(Ld<<BigInt(e))-Ld);Wd.push(i)}var Gd=Fd(Wd,!0);Gd[0],Gd[1];var Kd=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,qd=Math.ceil,Jd=Math.floor,Yd=`[BigNumber Error] `,Xd=Yd+`Number primitive has more than 15 significant digits: `,Zd=0x5af3107a4000,$=14,Qd=9007199254740991,$d=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,0xe8d4a51000,0x9184e72a000],ef=1e7,tf=1e9;function nf(e){var t,n,r,i=y.prototype={constructor:y,toString:null,valueOf:null},a=new y(1),o=20,s=4,c=-7,l=21,u=-1e7,d=1e7,f=!1,p=1,m=0,h={prefix:``,groupSize:3,secondaryGroupSize:0,groupSeparator:`,`,decimalSeparator:`.`,fractionGroupSize:0,fractionGroupSeparator:`\xA0`,suffix:``},g=`0123456789abcdefghijklmnopqrstuvwxyz`,v=!0;function y(e,t){var i,a,c,l,f,p,m,h,b=this;if(!(b instanceof y))return new y(e,t);if(t==null){if(e&&e._isBigNumber===!0){b.s=e.s,!e.c||e.e>d?b.c=b.e=null:e.e<u?b.c=[b.e=0]:(b.e=e.e,b.c=e.c.slice());return}if((p=typeof e==`number`)&&e*0==0){if(b.s=1/e<0?(e=-e,-1):1,e===~~e){for(l=0,f=e;f>=10;f/=10,l++);l>d?b.c=b.e=null:(b.e=l,b.c=[e]);return}h=String(e)}else{if(!Kd.test(h=String(e)))return r(b,h,p);b.s=h.charCodeAt(0)==45?(h=h.slice(1),-1):1}(l=h.indexOf(`.`))>-1&&(h=h.replace(`.`,``)),(f=h.search(/e/i))>0?(l<0&&(l=f),l+=+h.slice(f+1),h=h.substring(0,f)):l<0&&(l=h.length)}else{if(sf(t,2,g.length,`Base`),t==10&&v)return b=new y(e),ee(b,o+b.e+1,s);if(h=String(e),p=typeof e==`number`){if(e*0!=0)return r(b,h,p,t);if(b.s=1/e<0?(h=h.slice(1),-1):1,y.DEBUG&&h.replace(/^0\.0*|\./,``).length>15)throw Error(Xd+e)}else b.s=h.charCodeAt(0)===45?(h=h.slice(1),-1):1;for(i=g.slice(0,t),l=f=0,m=h.length;f<m;f++)if(i.indexOf(a=h.charAt(f))<0){if(a==`.`){if(f>l){l=m;continue}}else if(!c&&(h==h.toUpperCase()&&(h=h.toLowerCase())||h==h.toLowerCase()&&(h=h.toUpperCase()))){c=!0,f=-1,l=0;continue}return r(b,String(e),p,t)}p=!1,h=n(h,t,10,b.s),(l=h.indexOf(`.`))>-1?h=h.replace(`.`,``):l=h.length}for(f=0;h.charCodeAt(f)===48;f++);for(m=h.length;h.charCodeAt(--m)===48;);if(h=h.slice(f,++m)){if(m-=f,p&&y.DEBUG&&m>15&&(e>Qd||e!==Jd(e)))throw Error(Xd+b.s*e);if((l=l-f-1)>d)b.c=b.e=null;else if(l<u)b.c=[b.e=0];else{if(b.e=l,b.c=[],f=(l+1)%$,l<0&&(f+=$),f<m){for(f&&b.c.push(+h.slice(0,f)),m-=$;f<m;)b.c.push(+h.slice(f,f+=$));f=$-(h=h.slice(f)).length}else f-=m;for(;f--;h+=`0`);
vendor: 14,562 bytes, line 20
20b.c.push(+h)}}else b.c=[b.e=0]}y.clone=nf,y.ROUND_UP=0,y.ROUND_DOWN=1,y.ROUND_CEIL=2,y.ROUND_FLOOR=3,y.ROUND_HALF_UP=4,y.ROUND_HALF_DOWN=5,y.ROUND_HALF_EVEN=6,y.ROUND_HALF_CEIL=7,y.ROUND_HALF_FLOOR=8,y.EUCLID=9,y.config=y.set=function(e){var t,n;if(e!=null)if(typeof e==`object`){if(e.hasOwnProperty(t=`DECIMAL_PLACES`)&&(n=e[t],sf(n,0,tf,t),o=n),e.hasOwnProperty(t=`ROUNDING_MODE`)&&(n=e[t],sf(n,0,8,t),s=n),e.hasOwnProperty(t=`EXPONENTIAL_AT`)&&(n=e[t],n&&n.pop?(sf(n[0],-tf,0,t),sf(n[1],0,tf,t),c=n[0],l=n[1]):(sf(n,-tf,tf,t),c=-(l=n<0?-n:n))),e.hasOwnProperty(t=`RANGE`))if(n=e[t],n&&n.pop)sf(n[0],-tf,-1,t),sf(n[1],1,tf,t),u=n[0],d=n[1];else if(sf(n,-tf,tf,t),n)u=-(d=n<0?-n:n);else throw Error(Yd+t+` cannot be zero: `+n);if(e.hasOwnProperty(t=`CRYPTO`))if(n=e[t],n===!!n)if(n)if(typeof crypto<`u`&&crypto&&(crypto.getRandomValues||crypto.randomBytes))f=n;else throw f=!n,Error(Yd+`crypto unavailable`);else f=n;else throw Error(Yd+t+` not true or false: `+n);if(e.hasOwnProperty(t=`MODULO_MODE`)&&(n=e[t],sf(n,0,9,t),p=n),e.hasOwnProperty(t=`POW_PRECISION`)&&(n=e[t],sf(n,0,tf,t),m=n),e.hasOwnProperty(t=`FORMAT`))if(n=e[t],typeof n==`object`)h=n;else throw Error(Yd+t+` not an object: `+n);if(e.hasOwnProperty(t=`ALPHABET`))if(n=e[t],typeof n==`string`&&!/^.?$|[+\-.\s]|(.).*\1/.test(n))v=n.slice(0,10)==`0123456789`,g=n;else throw Error(Yd+t+` invalid: `+n)}else throw Error(Yd+`Object expected: `+e);return{DECIMAL_PLACES:o,ROUNDING_MODE:s,EXPONENTIAL_AT:[c,l],RANGE:[u,d],CRYPTO:f,MODULO_MODE:p,POW_PRECISION:m,FORMAT:h,ALPHABET:g}},y.isBigNumber=function(e){if(!e||e._isBigNumber!==!0)return!1;if(!y.DEBUG)return!0;var t,n,r=e.c,i=e.e,a=e.s;out:if({}.toString.call(r)==`[object Array]`){if((a===1||a===-1)&&i>=-tf&&i<=tf&&i===Jd(i)){if(r[0]===0){if(i===0&&r.length===1)return!0;break out}if(t=(i+1)%$,t<1&&(t+=$),String(r[0]).length==t){for(t=0;t<r.length;t++)if(n=r[t],n<0||n>=Zd||n!==Jd(n))break out;if(n!==0)return!0}}}else if(r===null&&i===null&&(a===null||a===1||a===-1))return!0;throw Error(Yd+`Invalid BigNumber: `+e)},y.maximum=y.max=function(){return x(arguments,-1)},y.minimum=y.min=function(){return x(arguments,1)},y.random=(function(){var e=9007199254740992,t=Math.random()*e&2097151?function(){return Jd(Math.random()*e)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(e){var n,r,i,s,c,l=0,u=[],d=new y(a);if(e==null?e=o:sf(e,0,tf),s=qd(e/$),f)if(crypto.getRandomValues){for(n=crypto.getRandomValues(new Uint32Array(s*=2));l<s;)c=n[l]*131072+(n[l+1]>>>11),c>=9e15?(r=crypto.getRandomValues(new Uint32Array(2)),n[l]=r[0],n[l+1]=r[1]):(u.push(c%0x5af3107a4000),l+=2);l=s/2}else if(crypto.randomBytes){for(n=crypto.randomBytes(s*=7);l<s;)c=(n[l]&31)*281474976710656+n[l+1]*1099511627776+n[l+2]*4294967296+n[l+3]*16777216+(n[l+4]<<16)+(n[l+5]<<8)+n[l+6],c>=9e15?crypto.randomBytes(7).copy(n,l):(u.push(c%0x5af3107a4000),l+=7);l=s/7}else throw f=!1,Error(Yd+`crypto unavailable`);if(!f)for(;l<s;)c=t(),c<9e15&&(u[l++]=c%0x5af3107a4000);for(s=u[--l],e%=$,s&&e&&(c=$d[$-e],u[l]=Jd(s/c)*c);u[l]===0;u.pop(),l--);if(l<0)u=[i=0];else{for(i=-1;u[0]===0;u.splice(0,1),i-=$);for(l=1,c=u[0];c>=10;c/=10,l++);l<$&&(i-=$-l)}return d.e=i,d.c=u,d}})(),y.sum=function(){for(var e=1,t=arguments,n=new y(t[0]);e<t.length;)n=n.plus(t[e++]);return n},n=(function(){var e=`0123456789`;function n(e,t,n,r){for(var i,a=[0],o,s=0,c=e.length;s<c;){for(o=a.length;o--;a[o]*=t);for(a[0]+=r.indexOf(e.charAt(s++)),i=0;i<a.length;i++)a[i]>n-1&&(a[i+1]??(a[i+1]=0),a[i+1]+=a[i]/n|0,a[i]%=n)}return a.reverse()}return function(r,i,a,c,l){var u,d,f,p,h,v,b,x,S=r.indexOf(`.`),ee=o,C=s;for(S>=0&&(p=m,m=0,r=r.replace(`.`,``),x=new y(i),v=x.pow(r.length-S),m=p,x.c=n(uf(af(v.c),v.e,`0`),10,a,e),x.e=x.c.length),b=n(r,i,a,l?(u=g,e):(u=e,g)),f=p=b.length;b[--p]==0;b.pop());if(!b[0])return u.charAt(0);if(S<0?--f:(v.c=b,v.e=f,v.s=c,v=t(v,x,ee,C,a),b=v.c,h=v.r,f=v.e),d=f+ee+1,S=b[d],p=a/2,h=h||d<0||b[d+1]!=null,h=C<4?(S!=null||h)&&(C==0||C==(v.s<0?3:2)):S>p||S==p&&(C==4||h||C==6&&b[d-1]&1||C==(v.s<0?8:7)),d<1||!b[0])r=h?uf(u.charAt(1),-ee,u.charAt(0)):u.charAt(0);else{if(b.length=d,h)for(--a;++b[--d]>a;)b[d]=0,d||(++f,b=[1].concat(b));for(p=b.length;!b[--p];);for(S=0,r=``;S<=p;r+=u.charAt(b[S++]));r=uf(r,f,u.charAt(0))}return r}})(),t=(function(){function e(e,t,n){var r,i,a,o,s=0,c=e.length,l=t%ef,u=t/ef|0;for(e=e.slice();c--;)a=e[c]%ef,o=e[c]/ef|0,r=u*a+o*l,i=l*a+r%ef*ef+s,s=(i/n|0)+(r/ef|0)+u*o,e[c]=i%n;return s&&(e=[s].concat(e)),e}function t(e,t,n,r){var i,a;if(n!=r)a=n>r?1:-1;else for(i=a=0;i<n;i++)if(e[i]!=t[i]){a=e[i]>t[i]?1:-1;break}return a}function n(e,t,n,r){for(var i=0;n--;)e[n]-=i,i=+(e[n]<t[n]),e[n]=i*r+e[n]-t[n];for(;!e[0]&&e.length>1;e.splice(0,1));}return function(r,i,a,o,s){var c,l,u,d,f,p,m,h,g,v,b,x,S,C,te,ne,re,ie=r.s==i.s?1:-1,ae=r.c,oe=i.c;if(!ae||!ae[0]||!oe||!oe[0])return new y(!r.s||!i.s||(ae?oe&&ae[0]==oe[0]:!oe)?NaN:ae&&ae[0]==0||!oe?ie*0:ie/0);for(h=new y(ie),g=h.c=[],l=r.e-i.e,ie=a+l+1,s||(s=Zd,l=rf(r.e/$)-rf(i.e/$),ie=ie/$|0),u=0;oe[u]==(ae[u]||0);u++);if(oe[u]>(ae[u]||0)&&l--,ie<0)g.push(1),d=!0;else{for(C=ae.length,ne=oe.length,u=0,ie+=2,f=Jd(s/(oe[0]+1)),f>1&&(oe=e(oe,f,s),ae=e(ae,f,s),ne=oe.length,C=ae.length),S=ne,v=ae.slice(0,ne),b=v.length;b<ne;v[b++]=0);re=oe.slice(),re=[0].concat(re),te=oe[0],oe[1]>=s/2&&te++;do{if(f=0,c=t(oe,v,ne,b),c<0){if(x=v[0],ne!=b&&(x=x*s+(v[1]||0)),f=Jd(x/te),f>1)for(f>=s&&(f=s-1),p=e(oe,f,s),m=p.length,b=v.length;t(p,v,m,b)==1;)f--,n(p,ne<m?re:oe,m,s),m=p.length,c=1;else f==0&&(c=f=1),p=oe.slice(),m=p.length;if(m<b&&(p=[0].concat(p)),n(v,p,b,s),b=v.length,c==-1)for(;t(oe,v,ne,b)<1;)f++,n(v,ne<b?re:oe,b,s),b=v.length}else c===0&&(f++,v=[0]);g[u++]=f,v[0]?v[b++]=ae[S]||0:(v=[ae[S]],b=1)}while((S++<C||v[0]!=null)&&ie--);d=v[0]!=null,g[0]||g.splice(0,1)}if(s==Zd){for(u=1,ie=g[0];ie>=10;ie/=10,u++);ee(h,a+(h.e=u+l*$-1)+1,o,d)}else h.e=l,h.r=+d;return h}})();function b(e,t,n,r){var i,a,o,u,d;if(n==null?n=s:sf(n,0,8),!e.c)return e.toString();if(i=e.c[0],o=e.e,t==null)d=af(e.c),d=r==1||r==2&&(o<=c||o>=l)?lf(d,o):uf(d,o,`0`);else if(e=ee(new y(e),t,n),a=e.e,d=af(e.c),u=d.length,r==1||r==2&&(t<=a||a<=c)){for(;u<t;d+=`0`,u++);d=lf(d,a)}else if(t-=o+(r===2&&a>o),d=uf(d,a,`0`),a+1>u){if(--t>0)for(d+=`.`;t--;d+=`0`);}else if(t+=a-u,t>0)for(a+1==u&&(d+=`.`);t--;d+=`0`);return e.s<0&&i?`-`+d:d}function x(e,t){for(var n,r,i=1,a=new y(e[0]);i<e.length;i++)r=new y(e[i]),(!r.s||(n=of(a,r))===t||n===0&&a.s===t)&&(a=r);return a}function S(e,t,n){for(var r=1,i=t.length;!t[--i];t.pop());for(i=t[0];i>=10;i/=10,r++);return(n=r+n*$-1)>d?e.c=e.e=null:n<u?e.c=[e.e=0]:(e.e=n,e.c=t),e}r=(function(){var e=/^(-?)0([xbo])(?=\w[\w.]*$)/i,t=/^([^.]+)\.$/,n=/^\.([^.]+)$/,r=/^-?(Infinity|NaN)$/,i=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(a,o,s,c){var l,u=s?o:o.replace(i,``);if(r.test(u))a.s=isNaN(u)?null:u<0?-1:1;else{if(!s&&(u=u.replace(e,function(e,t,n){return l=(n=n.toLowerCase())==`x`?16:n==`b`?2:8,!c||c==l?t:e}),c&&(l=c,u=u.replace(t,`$1`).replace(n,`0.$1`)),o!=u))return new y(u,l);if(y.DEBUG)throw Error(Yd+`Not a`+(c?` base `+c:``)+` number: `+o);a.s=null}a.c=a.e=null}})();function ee(e,t,n,r){var i,a,o,s,c,l,f,p=e.c,m=$d;if(p){out:{for(i=1,s=p[0];s>=10;s/=10,i++);if(a=t-i,a<0)a+=$,o=t,c=p[l=0],f=Jd(c/m[i-o-1]%10);else if(l=qd((a+1)/$),l>=p.length)if(r){for(;p.length<=l;p.push(0));c=f=0,i=1,a%=$,o=a-$+1}else break out;else{for(c=s=p[l],i=1;s>=10;s/=10,i++);a%=$,o=a-$+i,f=o<0?0:Jd(c/m[i-o-1]%10)}if(r=r||t<0||p[l+1]!=null||(o<0?c:c%m[i-o-1]),r=n<4?(f||r)&&(n==0||n==(e.s<0?3:2)):f>5||f==5&&(n==4||r||n==6&&(a>0?o>0?c/m[i-o]:0:p[l-1])%10&1||n==(e.s<0?8:7)),t<1||!p[0])return p.length=0,r?(t-=e.e+1,p[0]=m[($-t%$)%$],e.e=-t||0):p[0]=e.e=0,e;if(a==0?(p.length=l,s=1,l--):(p.length=l+1,s=m[$-a],p[l]=o>0?Jd(c/m[i-o]%m[o])*s:0),r)for(;;)if(l==0){for(a=1,o=p[0];o>=10;o/=10,a++);for(o=p[0]+=s,s=1;o>=10;o/=10,s++);a!=s&&(e.e++,p[0]==Zd&&(p[0]=1));break}else{if(p[l]+=s,p[l]!=Zd)break;p[l--]=0,s=1}for(a=p.length;p[--a]===0;p.pop());}e.e>d?e.c=e.e=null:e.e<u&&(e.c=[e.e=0])}return e}function C(e){var t,n=e.e;return n===null?e.toString():(t=af(e.c),t=n<=c||n>=l?lf(t,n):uf(t,n,`0`),e.s<0?`-`+t:t)}return i.absoluteValue=i.abs=function(){var e=new y(this);return e.s<0&&(e.s=1),e},i.comparedTo=function(e,t){return of(this,new y(e,t))},i.decimalPlaces=i.dp=function(e,t){var n,r,i,a=this;if(e!=null)return sf(e,0,tf),t==null?t=s:sf(t,0,8),ee(new y(a),e+a.e+1,t);if(!(n=a.c))return null;if(r=((i=n.length-1)-rf(this.e/$))*$,i=n[i])for(;i%10==0;i/=10,r--);return r<0&&(r=0),r},i.dividedBy=i.div=function(e,n){return t(this,new y(e,n),o,s)},i.dividedToIntegerBy=i.idiv=function(e,n){return t(this,new y(e,n),0,1)},i.exponentiatedBy=i.pow=function(e,t){var n,r,i,o,c,l,u,d,f,p=this;if(e=new y(e),e.c&&!e.isInteger())throw Error(Yd+`Exponent not an integer: `+C(e));if(t!=null&&(t=new y(t)),l=e.e>14,!p.c||!p.c[0]||p.c[0]==1&&!p.e&&p.c.length==1||!e.c||!e.c[0])return f=new y(C(p)**(l?e.s*(2-cf(e)):+C(e))),t?f.mod(t):f;if(u=e.s<0,t){if(t.c?!t.c[0]:!t.s)return new y(NaN);r=!u&&p.isInteger()&&t.isInteger(),r&&(p=p.mod(t))}else if(e.e>9&&(p.e>0||p.e<-1||(p.e==0?p.c[0]>1||l&&p.c[1]>=24e7:p.c[0]<8e13||l&&p.c[0]<=9999975e7)))return o=p.s<0&&cf(e)?-0:0,p.e>-1&&(o=1/o),new y(u?1/o:o);else m&&(o=qd(m/$+2));for(l?(n=new y(.5),u&&(e.s=1),d=cf(e)):(i=Math.abs(+C(e)),d=i%2),f=new y(a);;){if(d){if(f=f.times(p),!f.c)break;o?f.c.length>o&&(f.c.length=o):r&&(f=f.mod(t))}if(i){if(i=Jd(i/2),i===0)break;d=i%2}else if(e=e.times(n),ee(e,e.e+1,1),e.e>14)d=cf(e);else{if(i=+C(e),i===0)break;d=i%2}p=p.times(p),o?p.c&&p.c.length>o&&(p.c.length=o):r&&(p=p.mod(t))}return r?f:(u&&(f=a.div(f)),t?f.mod(t):o?ee(f,m,s,c):f)},i.integerValue=function(e){var t=new y(this);return e==null?e=s:sf(e,0,8),ee(t,t.e+1,e)},i.isEqualTo=i.eq=function(e,t){return of(this,new y(e,t))===0},i.isFinite=function(){return!!this.c},i.isGreaterThan=i.gt=function(e,t){return of(this,new y(e,t))>0},i.isGreaterThanOrEqualTo=i.gte=function(e,t){return(t=of(this,new y(e,t)))===1||t===0},i.isInteger=function(){return!!this.c&&rf(this.e/$)>this.c.length-2},i.isLessThan=i.lt=function(e,t){return of(this,new y(e,t))<0},i.isLessThanOrEqualTo=i.lte=function(e,t){return(t=of(this,new y(e,t)))===-1||t===0},i.isNaN=function(){return!this.s},i.isNegative=function(){return this.s<0},i.isPositive=function(){return this.s>0},i.isZero=function(){return!!this.c&&this.c[0]==0},i.minus=function(e,t){var n,r,i,a,o=this,c=o.s;if(e=new y(e,t),t=e.s,!c||!t)return new y(NaN);if(c!=t)return e.s=-t,o.plus(e);var l=o.e/$,u=e.e/$,d=o.c,f=e.c;if(!l||!u){if(!d||!f)return d?(e.s=-t,e):new y(f?o:NaN);if(!d[0]||!f[0])return f[0]?(e.s=-t,e):new y(d[0]?o:s==3?-0:0)}if(l=rf(l),u=rf(u),d=d.slice(),c=l-u){for((a=c<0)?(c=-c,i=d):(u=l,i=f),i.reverse(),t=c;t--;i.push(0));i.reverse()}else for(r=(a=(c=d.length)<(t=f.length))?c:t,c=t=0;t<r;t++)if(d[t]!=f[t]){a=d[t]<f[t];break}if(a&&(i=d,d=f,f=i,e.s=-e.s),t=(r=f.length)-(n=d.length),t>0)for(;t--;d[n++]=0);for(t=Zd-1;r>c;){if(d[--r]<f[r]){for(n=r;n&&!d[--n];d[n]=t);--d[n],d[r]+=Zd}d[r]-=f[r]}for(;d[0]==0;d.splice(0,1),--u);return d[0]?S(e,d,u):(e.s=s==3?-1:1,e.c=[e.e=0],e)},i.modulo=i.mod=function(e,n){var r,i,a=this;return e=new y(e,n),!a.c||!e.s||e.c&&!e.c[0]?new y(NaN):!e.c||a.c&&!a.c[0]?new y(a):(p==9?(i=e.s,e.s=1,r=t(a,e,0,3),e.s=i,r.s*=i):r=t(a,e,0,p),e=a.minus(r.times(e)),!e.c[0]&&p==1&&(e.s=a.s),e)},i.multipliedBy=i.times=function(e,t){var n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,v=this,b=v.c,x=(e=new y(e,t)).c;if(!b||!x||!b[0]||!x[0])return!v.s||!e.s||b&&!b[0]&&!x||x&&!x[0]&&!b?e.c=e.e=e.s=null:(e.s*=v.s,!b||!x?e.c=e.e=null:(e.c=[0],e.e=0)),e;for(r=rf(v.e/$)+rf(e.e/$),e.s*=v.s,c=b.length,d=x.length,c<d&&(m=b,b=x,x=m,i=c,c=d,d=i),i=c+d,m=[];i--;m.push(0));for(h=Zd,g=ef,i=d;--i>=0;){for(n=0,f=x[i]%g,p=x[i]/g|0,o=c,a=i+o;a>i;)l=b[--o]%g,u=b[o]/g|0,s=p*l+u*f,l=f*l+s%g*g+m[a]+n,n=(l/h|0)+(s/g|0)+p*u,m[a--]=l%h;m[a]=n}return n?++r:m.splice(0,1),S(e,m,r)},i.negated=function(){var e=new y(this);return e.s=-e.s||null,e},i.plus=function(e,t){var n,r=this,i=r.s;if(e=new y(e,t),t=e.s,!i||!t)return new y(NaN);if(i!=t)return e.s=-t,r.minus(e);var a=r.e/$,o=e.e/$,s=r.c,c=e.c;if(!a||!o){if(!s||!c)return new y(i/0);if(!s[0]||!c[0])return c[0]?e:new y(s[0]?r:i*0)}if(a=rf(a),o=rf(o),s=s.slice(),i=a-o){for(i>0?(o=a,n=c):(i=-i,n=s),n.reverse();i--;n.push(0));n.reverse()}for(i=s.length,t=c.length,i-t<0&&(n=c,c=s,s=n,t=i),i=0;t;)i=(s[--t]=s[t]+c[t]+i)/Zd|0,s[t]=Zd===s[t]?0:s[t]%Zd;return i&&(s=[i].concat(s),++o),S(e,s,o)},i.precision=i.sd=function(e,t){var n,r,i,a=this;if(e!=null&&e!==!!e)return sf(e,1,tf),t==null?t=s:sf(t,0,8),ee(new y(a),e,t);if(!(n=a.c))return null;if(i=n.length-1,r=i*$+1,i=n[i]){for(;i%10==0;i/=10,r--);for(i=n[0];i>=10;i/=10,r++);}return e&&a.e+1>r&&(r=a.e+1),r},i.shiftedBy=function(e){return sf(e,-Qd,Qd),this.times(`1e`+e)},i.squareRoot=i.sqrt=function(){var e,n,r,i,a,c=this,l=c.c,u=c.s,d=c.e,f=o+4,p=new y(`0.5`);if(u!==1||!l||!l[0])return new y(!u||u<0&&(!l||l[0])?NaN:l?c:1/0);if(u=Math.sqrt(+C(c)),u==0||u==1/0?(n=af(l),(n.length+d)%2==0&&(n+=`0`),u=Math.sqrt(+n),d=rf((d+1)/2)-(d<0||d%2),u==1/0?n=`5e`+d:(n=u.toExponential(),n=n.slice(0,n.indexOf(`e`)+1)+d),r=new y(n)):r=new y(u+``),r.c[0]){for(d=r.e,u=d+f,u<3&&(u=0);;)if(a=r,r=p.times(a.plus(t(c,a,f,1))),af(a.c).slice(0,u)===(n=af(r.c)).slice(0,u))if(r.e<d&&--u,n=n.slice(u-3,u+1),n==`9999`||!i&&n==`4999`){if(!i&&(ee(a,a.e+o+2,0),a.times(a).eq(c))){r=a;break}f+=4,u+=4,i=1}else{(!+n||!+n.slice(1)&&n.charAt(0)==`5`)&&(ee(r,r.e+o+2,1),e=!r.times(r).eq(c));break}}return ee(r,r.e+o+1,s,e)},i.toExponential=function(e,t){return e!=null&&(sf(e,0,tf),e++),b(this,e,t,1)},i.toFixed=function(e,t){return e!=null&&(sf(e,0,tf),e=e+this.e+1),b(this,e,t)},i.toFormat=function(e,t,n){var r,i=this;if(n==null)e!=null&&t&&typeof t==`object`?(n=t,t=null):e&&typeof e==`object`?(n=e,e=t=null):n=h;else if(typeof n!=`object`)throw Error(Yd+`Argument not an object: `+n);if(r=i.toFixed(e,t),i.c){var a,o=r.split(`.`),s=+n.groupSize,c=+n.secondaryGroupSize,l=n.groupSeparator||``,u=o[0],d=o[1],f=i.s<0,p=f?u.slice(1):u,m=p.length;if(c&&(a=s,s=c,c=a,m-=a),s>0&&m>0){for(a=m%s||s,u=p.substr(0,a);a<m;a+=s)u+=l+p.substr(a,s);c>0&&(u+=l+p.slice(a)),f&&(u=`-`+u)}r=d?u+(n.decimalSeparator||``)+((c=+n.fractionGroupSize)?d.replace(RegExp(`\\d{`+c+`}\\B`,`g`),`$&`+(n.fractionGroupSeparator||``)):d):u}return(n.prefix||``)+r+(n.suffix||``)},i.toFraction=function(e){var n,r,i,o,c,l,u,f,p,m,h,g,v=this,b=v.c;if(e!=null&&(u=new y(e),!u.isInteger()&&(u.c||u.s!==1)||u.lt(a)))throw Error(Yd+`Argument `+(u.isInteger()?`out of range: `:`not an integer: `)+C(u));if(!b)return new y(v);
20for(n=new y(a),p=r=new y(a),i=f=new y(a),g=af(b),c=n.e=g.length-v.e-1,n.c[0]=$d[(l=c%$)<0?$+l:l],e=!e||u.comparedTo(n)>0?c>0?n:p:u,l=d,d=1/0,u=new y(g),f.c[0]=0;m=t(u,n,0,1),o=r.plus(m.times(i)),o.comparedTo(e)!=1;)r=i,i=o,p=f.plus(m.times(o=p)),f=o,n=u.minus(m.times(o=n)),u=o;return o=t(e.minus(r),i,0,1),f=f.plus(o.times(p)),r=r.plus(o.times(i)),f.s=p.s=v.s,c*=2,h=t(p,i,c,s).minus(v).abs().comparedTo(t(f,r,c,s).minus(v).abs())<1?[p,i]:[f,r],d=l,h},i.toNumber=function(){return+C(this)},i.toPrecision=function(e,t){return e!=null&&sf(e,1,tf),b(this,e,t,2)},i.toString=function(e){var t,r=this,i=r.s,a=r.e;return a===null?i?(t=`Infinity`,i<0&&(t=`-`+t)):t=`NaN`:(e==null?t=a<=c||a>=l?lf(af(r.c),a):uf(af(r.c),a,`0`):e===10&&v?(r=ee(new y(r),o+a+1,s),t=uf(af(r.c),r.e,`0`)):(sf(e,2,g.length,`Base`),t=n(uf(af(r.c),a,`0`),10,e,i,!0)),i<0&&r.c[0]&&(t=`-`+t)),t},i.valueOf=i.toJSON=function(){return C(this)},i._isBigNumber=!0,i[Symbol.toStringTag]=`BigNumber`,i[Symbol.for(`nodejs.util.inspect.custom`)]=i.valueOf,e!=null&&y.set(e),y}function rf(e){var t=e|0;return e>0||e===t?t:t-1}function af(e){for(var t,n,r=1,i=e.length,a=e[0]+``;r<i;){for(t=e[r++]+``,n=$-t.length;n--;t=`0`+t);a+=t}for(i=a.length;a.charCodeAt(--i)===48;);return a.slice(0,i+1||1)}function of(e,t){var n,r,i=e.c,a=t.c,o=e.s,s=t.s,c=e.e,l=t.e;if(!o||!s)return null;if(n=i&&!i[0],r=a&&!a[0],n||r)return n?r?0:-s:o;if(o!=s)return o;if(n=o<0,r=c==l,!i||!a)return r?0:!i^n?1:-1;if(!r)return c>l^n?1:-1;for(s=(c=i.length)<(l=a.length)?c:l,o=0;o<s;o++)if(i[o]!=a[o])return i[o]>a[o]^n?1:-1;return c==l?0:c>l^n?1:-1}function sf(e,t,n,r){if(e<t||e>n||e!==Jd(e))throw Error(Yd+(r||`Argument`)+(typeof e==`number`?e<t||e>n?` out of range: `:` not an integer: `:` not a primitive number: `)+String(e))}function cf(e){var t=e.c.length-1;return rf(e.e/$)==t&&e.c[t]%2!=0}function lf(e,t){return(e.length>1?e.charAt(0)+`.`+e.slice(1):e)+(t<0?`e`:`e+`)+t}function uf(e,t,n){var r,i;if(t<0){for(i=n+`.`;++t;i+=n);e=i+e}else if(r=e.length,++t>r){for(i=n,t-=r;--t;i+=n);e+=i}else t<r&&(e=e.slice(0,t)+`.`+e.slice(t));return e}nf(),typeof globalThis<`u`&&globalThis.crypto&&globalThis.crypto.getRandomValues,Array.from({length:26},(e,t)=>String.fromCharCode(t+97));var df=`system-hidden`,ff=function(e){return e.HIRAGANA=`hiragana`,e.KATAKANA=`katakana`,e.RADICAL=`radical`,e.KANJI=`kanji`,e.VOCABULARY=`vocabulary`,e}({}),pf=[ff.HIRAGANA,ff.KATAKANA],mf=Object.values(ff),hf=e=>e instanceof Date?e.getTime():typeof e==`number`?e:new Date(e).getTime(),gf=({hiddenSubjects:e=[],subjectTypes:t=mf})=>t.filter(t=>!e.includes(t)),_f=({gameLevelMin:e=1,gameLevelMax:t=60})=>({gameLevelMin:e,gameLevelMax:t}),vf=()=>{let e=jd.findOne({id:df});return!e||e.isDeleted||e.subjectIds.length===0?null:new Set(e.subjectIds)},yf=e=>{if(!e||e.length===0)return null;let t=jd.find({id:{$in:e},isDeleted:void 0}).fetch().flatMap(e=>e.subjectIds);return new Set(t)},bf=(e,{gameLevelMin:t,gameLevelMax:n},r)=>{let i=pf.filter(t=>e.includes(t));return i.length===0?[]:Od.find({isKana:!0,object:{$in:i},level:{$gte:t,$lte:n}},{sort:{id:1}}).fetch().filter(e=>!r||r.has(e.id)).map(e=>({subject:e}))},xf=(e,t,{gameLevelMin:n,gameLevelMax:r},i)=>{let a=e.map(e=>e.subject_id).filter(e=>!i||i.has(e));if(a.length===0)return new Map;let o=Od.find({id:{$in:a},object:{$in:t},level:{$gte:n,$lte:r}}).fetch();return new Map(o.map(e=>[e.id,e]))},Sf=(e,t,n)=>e.flatMap(e=>{let r=t.get(e.subject_id);return r?[{subject:r,assignment:e,isReviewable:e.available_at?hf(e.available_at)<=n:!1}]:[]}),Cf=(e,t)=>{let n=hf(t.now??new Date),r=gf(t),i=_f(t),a=yf(t.collectionIds),o=Sf(e,xf(e,r,i,a),n),s=t.includeKana===!1?[]:bf(r,i,a),c=vf(),l=[...s,...o];return c?l.filter(e=>!c.has(e.subject.id)):l},wf=({includeKana:e=!1,...t})=>{let n=hf(t.now??new Date);return Cf(kd.find({srs_stage:0,hidden:!1},{sort:{unlocked_at:1}}).fetch().filter(e=>!e.started_at&&!!e.unlocked_at&&hf(e.unlocked_at)<=n),{...t,includeKana:e})},Tf=`current`,Ef={hiddenSubjects:[],gameLevelMin:1,gameLevelMax:60,dashboardSubjectSource:`review`,dashboardCollectionIds:[],studyCollectionIds:[],notificationCollectionIds:[]},Df=async()=>(await Ad.isReady(),Ad.findOne({id:Tf}));Promise.resolve();var Of=async()=>{let e=await Df(),t=e?.notification?.schedule;return t?{...e,schedule:t,updatedAt:e.notification?.updatedAt??0}:null},kf=async()=>{let e=await Df();return{...Ef,...e?.content}},Af=[{action:`more_info`,title:`More Info`},{action:`learn`,title:`Learn`}],jf=e=>{if(!e)return;let t=e.characters||e.slug,n=e.meanings.find(e=>e.primary)?.meaning||e.meanings?.[0]?.meaning;if(!(!t||!n||!e.object))return{subject:e,label:t,definition:n,type:e.object}},Mf=(e,t)=>
20{let n=wf({now:e,...t,collectionIds:t.notificationCollectionIds,includeKana:void 0}),{subject:r,assignment:i}=Lu.default.sample(n)??{};return{assignment:i,...jf(r)}};async function Nf({triggerType:e,now:t}){try{if(!(await Of())?.schedule.enabled)return{kind:`skip`,reason:`notifications-disabled`};if(e!==`review_due`)return{kind:`skip`,reason:`unsupported-trigger`};let n=await kf();await Od.isReady(),await kd.isReady();let r=Mf(t,n);return r?r.subject?{kind:`show`,title:`Review ${r.label}`,body:`${r.subject.object}: ${r.definition}`,url:`/`,itemId:String(r.subject.id),actions:Af}:{kind:`skip`,reason:`no-local-data`}:{kind:`skip`,reason:`no-review-due`}}catch(e){return console.warn(`Could not build subject based notification`,e),{kind:`fallback`,title:`Come back to review`,body:`Your Japanese practice is waiting.`,url:`/`,actions:[{action:`open`,title:`Open app`},{action:`disable_notifications`,title:`Turn off`}]}}}var Pf=e=>{if(!e?.enabled||!/^\d{2}:\d{2}$/.test(e.time))return Date.now();let[t,n]=e.time.split(`:`).map(Number),r=e.daysOfWeek.length>0?e.daysOfWeek:[new Date().getDay()],i=new Date;for(let e=0;e<=7;e+=1){let a=new Date(i);if(a.setDate(i.getDate()+e),a.setHours(t,n,0,0),r.includes(a.getDay())&&!(a.getTime()<=i.getTime()))return a.getTime()}return Date.now()},Ff=async(e,t,n)=>{let r=Pf(n),i=self.TimestampTrigger;if(i&&r>Date.now()){let n={...t,showTrigger:new i(r)};await self.registration.showNotification(e,n);return}await self.registration.showNotification(e,t)},If=e=>{try{return e.data?.json()||{}}catch{return{}}},Lf=async(e,t={})=>{let n={type:`sukistudy:sw-debug`,message:e,details:t};console.log(`[SukiStudy SW] ${e}`,t);let r=await self.clients.matchAll({type:`window`,includeUncontrolled:!0});for(let e of r)e.postMessage(n)},Rf=({action:e,notification:t})=>{if(e===`disable_notifications`)return`/settings/notifications?disable=true`;if(e===`learn`)return`/session/lesson`;let n=t.data?.itemId,r=t.data?.url;return n&&(e===`more_info`||!e)?`/subjects/${n}`:r||`/`},zf=async e=>{let t=new URL(e,self.location.origin).href,n=await self.clients.matchAll({type:`window`,includeUncontrolled:!0});await Lf(`notificationclick clients found`,{targetUrl:t,clients:n.map(e=>e.url)});for(let e of n){let n;try{n=new URL(e.url)}catch(t){await Lf(`notificationclick skipped invalid client URL`,{clientUrl:e.url,error:t instanceof Error?t.message:String(t)});continue}if(n.origin===self.location.origin)try{let n=await e.navigate(t);return await Lf(`notificationclick navigated existing client`,{from:e.url,targetUrl:t,navigatedUrl:n?.url}),(n||e).focus()}catch(n){await Lf(`notificationclick client.navigate failed`,{from:e.url,targetUrl:t,error:n instanceof Error?n.message:String(n)});continue}}await Lf(`notificationclick opening new window`,{targetUrl:t});let r=await self.clients.openWindow(t);return await Lf(`notificationclick openWindow result`,{targetUrl:t,openedUrl:r?.url,opened:!!r}),r},Bf=e=>({kind:`fallback`,title:`Test push received`,body:`The service worker handled this push. Decision: ${e}.`,url:`/`,actions:[{action:`open`,title:`Open app`}]}),Vf=async e=>{try{let t=If(e),n=await Nf({triggerType:t.type??`review_due`,now:Date.now()}),r=n.kind===`skip`&&t.test?Bf(n.reason):n;if(r.kind===`skip`)return;let i=await Of(),a={body:r.body,icon:`/pwa-192x192.png`,badge:`/pwa-64x64.png`,tag:r.kind===`show`?`review-due`:`generic-return`,renotify:!1,data:{url:r.url,itemId:r.kind===`show`?r.itemId:``,kind:r.kind},actions:r.actions};await Ff(r.title,a,t.test?void 0:i?.schedule),console.log(`created a push`)}catch(e){console.warn(`Push notification skipped after an unexpected error`,e)}},Hf=async e=>{let t=Rf(e);await Lf(`notificationclick received`,{action:e.action,url:t,notificationData:e.notification.data}),e.notification.close(),await zf(t)};mt([{"revision":"bddeb250807508e6d6769626186712e8","url":"maskable-icon-512x512.png"},{"revision":"f86fc5c9bfb3976ccae430cd275de791","url":"pwa-192x192.png"},{"revision":"20e05efa1dc363ca32cad68c1284a8a8","url":"pwa-512x512.png"},{"revision":"d6f50f8fce97818c191a68955ba22558","url":"manifest.webmanifest"}]),self.addEventListener(`push`,e=>{e.waitUntil(Vf(e))}),self.addEventListener(`notificationclick`,e=>{e.waitUntil(Hf(e))});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.