json-fs-query 3.3.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -3
- package/browser/jsonFsQuery.js +781 -3849
- package/browser/jsonFsQuery.min.js +1 -1
- package/dist/data/introspect/alter.js +0 -5
- package/dist/data/introspect/alter.min.js +1 -1
- package/dist/data/introspect/create.js +6 -5
- package/dist/data/introspect/create.min.js +1 -1
- package/dist/data/introspect/definitions/key.js +0 -2
- package/dist/data/introspect/definitions/key.min.js +1 -1
- package/dist/data/introspect/definitions/record.js +0 -2
- package/dist/data/introspect/definitions/record.min.js +1 -1
- package/dist/data/introspect/drop.js +0 -4
- package/dist/data/introspect/drop.min.js +1 -1
- package/dist/data/introspect/formatDatabase.js +0 -2
- package/dist/data/introspect/formatDatabase.min.js +1 -1
- package/dist/data/introspect/index.js +0 -4
- package/dist/data/introspect/index.min.js +1 -1
- package/dist/data/introspect/packDatabase.js +0 -19
- package/dist/data/introspect/packDatabase.min.js +1 -1
- package/dist/data/queries/createRecord.js +0 -2
- package/dist/data/queries/createRecord.min.js +1 -1
- package/dist/data/queries/databaseStatements.js +0 -3
- package/dist/data/queries/databaseStatements.min.js +1 -1
- package/dist/data/queries/deleteEntity.js +0 -20
- package/dist/data/queries/deleteEntity.min.js +1 -1
- package/dist/data/queries/dropRecord.js +0 -5
- package/dist/data/queries/dropRecord.min.js +1 -1
- package/dist/data/queries/groupBy.js +0 -16
- package/dist/data/queries/groupBy.min.js +1 -1
- package/dist/data/queries/insertEntity.js +6 -37
- package/dist/data/queries/insertEntity.min.js +1 -1
- package/dist/data/queries/joinEntity.js +0 -15
- package/dist/data/queries/joinEntity.min.js +1 -1
- package/dist/data/queries/parser.js +0 -2
- package/dist/data/queries/parser.min.js +1 -1
- package/dist/data/queries/selectFields.js +0 -3
- package/dist/data/queries/selectFields.min.js +1 -1
- package/dist/data/queries/showRecords.js +0 -2
- package/dist/data/queries/showRecords.min.js +1 -1
- package/dist/data/queries/updateEntity.js +0 -4
- package/dist/data/queries/updateEntity.min.js +1 -1
- package/dist/data/queries/where.js +0 -4
- package/dist/data/queries/where.min.js +1 -1
- package/dist/data/storage/databases.js +1 -2
- package/dist/data/storage/databases.min.js +1 -1
- package/dist/data/storage/listFiles.js +0 -2
- package/dist/data/storage/listFiles.min.js +1 -1
- package/dist/data/storage/readCache.js +0 -13
- package/dist/data/storage/readCache.min.js +1 -1
- package/dist/data/storage/readJson.js +2 -2
- package/dist/data/storage/readJson.min.js +1 -1
- package/dist/data/storage/storagePath.js +0 -1
- package/dist/data/storage/storagePath.min.js +1 -1
- package/dist/data/storage/writeSet.js +0 -32
- package/dist/data/storage/writeSet.min.js +1 -1
- package/dist/data/utilities/computeKeyValue.js +0 -2
- package/dist/data/utilities/computeKeyValue.min.js +1 -1
- package/dist/data/utilities/conditionEntities.js +0 -20
- package/dist/data/utilities/conditionEntities.min.js +1 -1
- package/dist/data/utilities/conditionTree.js +0 -3
- package/dist/data/utilities/conditionTree.min.js +1 -1
- package/dist/data/utilities/config.d.ts +11 -0
- package/dist/data/utilities/config.js +15 -1
- package/dist/data/utilities/config.min.js +1 -1
- package/dist/data/utilities/databaseLock.js +0 -14
- package/dist/data/utilities/databaseLock.min.js +1 -1
- package/dist/data/utilities/deregisterRecord.js +0 -2
- package/dist/data/utilities/deregisterRecord.min.js +1 -1
- package/dist/data/utilities/fieldType.js +0 -2
- package/dist/data/utilities/fieldType.min.js +1 -1
- package/dist/data/utilities/getConditionIndexedList.js +0 -20
- package/dist/data/utilities/getConditionIndexedList.min.js +1 -1
- package/dist/data/utilities/indexBuffer.js +0 -33
- package/dist/data/utilities/indexBuffer.min.js +1 -1
- package/dist/data/utilities/indexHas.js +0 -3
- package/dist/data/utilities/indexHas.min.js +1 -1
- package/dist/data/utilities/joinBases.js +0 -33
- package/dist/data/utilities/joinBases.min.js +1 -1
- package/dist/data/utilities/keyIndexFiles.js +0 -19
- package/dist/data/utilities/keyIndexFiles.min.js +1 -1
- package/dist/data/utilities/knownFields.js +0 -21
- package/dist/data/utilities/knownFields.min.js +1 -1
- package/dist/data/utilities/mergeJoin.js +0 -2
- package/dist/data/utilities/mergeJoin.min.js +1 -1
- package/dist/data/utilities/packedTable.js +0 -3
- package/dist/data/utilities/packedTable.min.js +1 -1
- package/dist/data/utilities/parsers/findConditions.js +0 -2
- package/dist/data/utilities/parsers/findConditions.min.js +1 -1
- package/dist/data/utilities/parsers/findGroupBy.js +0 -2
- package/dist/data/utilities/parsers/findGroupBy.min.js +1 -1
- package/dist/data/utilities/parsers/maskStrings.js +0 -3
- package/dist/data/utilities/parsers/maskStrings.min.js +1 -1
- package/dist/data/utilities/parsers/parseCreate.js +0 -21
- package/dist/data/utilities/parsers/parseCreate.min.js +1 -1
- package/dist/data/utilities/parsers/splitClauses.js +0 -16
- package/dist/data/utilities/parsers/splitClauses.min.js +1 -1
- package/dist/data/utilities/parsers/splitQueries.js +0 -3
- package/dist/data/utilities/parsers/splitQueries.min.js +1 -1
- package/dist/data/utilities/reconcileJoin.d.ts +12 -0
- package/dist/data/utilities/reconcileJoin.js +28 -12
- package/dist/data/utilities/reconcileJoin.min.js +1 -1
- package/dist/data/utilities/removeFromIndex.js +0 -3
- package/dist/data/utilities/removeFromIndex.min.js +1 -1
- package/dist/data/utilities/requireNode.js +0 -1
- package/dist/data/utilities/requireNode.min.js +1 -1
- package/dist/data/utilities/retrieveRecord.js +0 -1
- package/dist/data/utilities/retrieveRecord.min.js +1 -1
- package/dist/data/utilities/retrieveRecords.js +0 -16
- package/dist/data/utilities/retrieveRecords.min.js +1 -1
- package/dist/data/utilities/rowLookup.js +0 -15
- package/dist/data/utilities/rowLookup.min.js +1 -1
- package/dist/data/utilities/runQuery.js +0 -16
- package/dist/data/utilities/runQuery.min.js +1 -1
- package/dist/data/utilities/semiJoin.js +0 -19
- package/dist/data/utilities/semiJoin.min.js +1 -1
- package/dist/data/utilities/updateIndex.js +0 -2
- package/dist/data/utilities/updateIndex.min.js +1 -1
- package/dist/index.js +0 -4
- package/dist/index.min.js +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var jsonFsQuery=(()=>{var e,t,r,n,o=Object.create,s=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,c=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,d=(e,t)=>function(){try{return t||(0,e[a(e)[0]])((t={exports:{}}).exports,t),t.exports}catch(e){throw t=0,e}},u=(e,t,r)=>(r=null!=e?o(c(e)):{},((e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of a(t))l.call(e,o)||o===r||s(e,o,{get:()=>t[o],enumerable:!(n=i(t,o))||n.enumerable});return e})(!t&&e&&e.__esModule?r:s(r,"default",{value:e,enumerable:!0}),e)),f=d({"node_modules/process/browser.js"(e,t){p();var r,n,o=t.exports={};function s(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function a(e){if(r===setTimeout)return setTimeout(e,0);if((r===s||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:s}catch(e){r=s}try{n="function"==typeof clearTimeout?clearTimeout:i}catch(e){n=i}}();var c,l=[],d=!1,u=-1;function f(){d&&c&&(d=!1,c.length?l=c.concat(l):u=-1,l.length&&y())}function y(){if(!d){var e=a(f);d=!0;for(var t=l.length;t;){for(c=l,l=[];++u<t;)c&&c[u].run();u=-1,t=l.length}c=null,d=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===i||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function m(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];l.push(new h(e,t)),1!==l.length||d||a(y)},h.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=m,o.addListener=m,o.once=m,o.off=m,o.removeListener=m,o.removeAllListeners=m,o.emit=m,o.prependListener=m,o.prependOnceListener=m,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}}}),p=(t={"js-build-tools-inject:process"(){e=u(f())}},function(){if(n)throw n[0];try{return t&&(r=(0,t[a(t)[0]])(t=0)),r}catch(e){throw n=[e],e}}),y=d({"node_modules/core-js/internals/global-this.js"(e,t){p();var r=function(e){return e&&e.Math===Math&&e};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof globalThis&&globalThis)||r("object"==typeof e&&e)||function(){return this}()||Function("return this")()}}),h=d({"node_modules/core-js/internals/fails.js"(e,t){p(),t.exports=function(e){try{return!!e()}catch(e){return!0}}}}),m=d({"node_modules/core-js/internals/descriptors.js"(e,t){p();var r=h();t.exports=!r((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))}}),v=d({"node_modules/core-js/internals/function-bind-native.js"(e,t){p();var r=h();t.exports=!r((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))}}),w=d({"node_modules/core-js/internals/function-call.js"(e,t){p();var r=v(),n=Function.prototype.call;t.exports=r?n.bind(n):function(){return n.apply(n,arguments)}}}),g=d({"node_modules/core-js/internals/object-property-is-enumerable.js"(e){p();var t={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,n=r&&!t.call({1:2},1);e.f=n?function(e){var t=r(this,e);return!!t&&t.enumerable}:t}}),j=d({"node_modules/core-js/internals/create-property-descriptor.js"(e,t){p(),t.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}}}),b=d({"node_modules/core-js/internals/function-uncurry-this.js"(e,t){p();var r=v(),n=Function.prototype,o=n.call,s=r&&n.bind.bind(o,o);t.exports=r?s:function(e){return function(){return o.apply(e,arguments)}}}}),_=d({"node_modules/core-js/internals/classof-raw.js"(e,t){p();var r=b(),n=r({}.toString),o=r("".slice);t.exports=function(e){return o(n(e),8,-1)}}}),x=d({"node_modules/core-js/internals/indexed-object.js"(e,t){p();var r=b(),n=h(),o=_(),s=Object,i=r("".split);t.exports=n((function(){return!s("z").propertyIsEnumerable(0)}))?function(e){return"String"===o(e)?i(e,""):s(e)}:s}}),$=d({"node_modules/core-js/internals/is-null-or-undefined.js"(e,t){p(),t.exports=function(e){return null==e}}}),O=d({"node_modules/core-js/internals/require-object-coercible.js"(e,t){p();var r=$(),n=TypeError;t.exports=function(e){if(r(e))throw new n("Can't call method on "+e);return e}}}),E=d({"node_modules/core-js/internals/to-indexed-object.js"(e,t){p();var r=x(),n=O();t.exports=function(e){return r(n(e))}}}),k=d({"node_modules/core-js/internals/is-callable.js"(e,t){p();var r="object"==typeof document&&document.all;t.exports=void 0===r&&void 0!==r?function(e){return"function"==typeof e||e===r}:function(e){return"function"==typeof e}}}),P=d({"node_modules/core-js/internals/is-object.js"(e,t){p();var r=k();t.exports=function(e){return"object"==typeof e?null!==e:r(e)}}}),S=d({"node_modules/core-js/internals/get-built-in.js"(e,t){p();var r=y(),n=k();t.exports=function(e,t){return arguments.length<2?(o=r[e],n(o)?o:void 0):r[e]&&r[e][t];var o}}}),M=d({"node_modules/core-js/internals/object-is-prototype-of.js"(e,t){p();var r=b();t.exports=r({}.isPrototypeOf)}}),R=d({"node_modules/core-js/internals/environment-user-agent.js"(e,t){p();var r=y().navigator,n=r&&r.userAgent;t.exports=n?String(n):""}}),D=d({"node_modules/core-js/internals/environment-v8-version.js"(e,t){p();var r,n,o=y(),s=R(),i=o.process,a=o.Deno,c=i&&i.versions||a&&a.version,l=c&&c.v8;l&&(n=(r=l.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!n&&s&&(!(r=s.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=s.match(/Chrome\/(\d+)/))&&(n=+r[1]),t.exports=n}}),C=d({"node_modules/core-js/internals/symbol-constructor-detection.js"(e,t){p();var r=D(),n=h(),o=y().String;t.exports=!!Object.getOwnPropertySymbols&&!n((function(){var e=Symbol("symbol detection");return!o(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))}}),F=d({"node_modules/core-js/internals/use-symbol-as-uid.js"(e,t){p();var r=C();t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator}}),A=d({"node_modules/core-js/internals/is-symbol.js"(e,t){p();var r=S(),n=k(),o=M(),s=F(),i=Object;t.exports=s?function(e){return"symbol"==typeof e}:function(e){var t=r("Symbol");return n(t)&&o(t.prototype,i(e))}}}),T=d({"node_modules/core-js/internals/try-to-string.js"(e,t){p();var r=String;t.exports=function(e){try{return r(e)}catch(e){return"Object"}}}}),I=d({"node_modules/core-js/internals/a-callable.js"(e,t){p();var r=k(),n=T(),o=TypeError;t.exports=function(e){if(r(e))return e;throw new o(n(e)+" is not a function")}}}),N=d({"node_modules/core-js/internals/get-method.js"(e,t){p();var r=I(),n=$();t.exports=function(e,t){var o=e[t];return n(o)?void 0:r(o)}}}),J=d({"node_modules/core-js/internals/ordinary-to-primitive.js"(e,t){p();var r=w(),n=k(),o=P(),s=TypeError;t.exports=function(e,t){var i,a;if("string"===t&&n(i=e.toString)&&!o(a=r(i,e)))return a;if(n(i=e.valueOf)&&!o(a=r(i,e)))return a;if("string"!==t&&n(i=e.toString)&&!o(a=r(i,e)))return a;throw new s("Can't convert object to primitive value")}}}),q=d({"node_modules/core-js/internals/is-pure.js"(e,t){p(),t.exports=!1}}),L=d({"node_modules/core-js/internals/define-global-property.js"(e,t){p();var r=y(),n=Object.defineProperty;t.exports=function(e,t){try{n(r,e,{value:t,configurable:!0,writable:!0})}catch(n){r[e]=t}return t}}}),z=d({"node_modules/core-js/internals/shared-store.js"(e,t){p();var r=q(),n=y(),o=L(),s="__core-js_shared__",i=t.exports=n[s]||o(s,{});(i.versions||(i.versions=[])).push({version:"3.51.0",mode:r?"pure":"global",copyright:"© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.",license:"https://github.com/zloirock/core-js/blob/v3.51.0/LICENSE",source:"https://github.com/zloirock/core-js"})}}),B=d({"node_modules/core-js/internals/shared.js"(e,t){p();var r=z(),n=Object.create||Object;t.exports=function(e,t){return r[e]||(r[e]=t||n(null))}}}),V=d({"node_modules/core-js/internals/to-object.js"(e,t){p();var r=O(),n=Object;t.exports=function(e){return n(r(e))}}}),W=d({"node_modules/core-js/internals/has-own-property.js"(e,t){p();var r=b(),n=V(),o=r({}.hasOwnProperty);t.exports=Object.hasOwn||function(e,t){return o(n(e),t)}}}),U=d({"node_modules/core-js/internals/uid.js"(e,t){p();var r=b(),n=0,o=Math.random(),s=r(1.1.toString);t.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+s(++n+o,36)}}}),K=d({"node_modules/core-js/internals/well-known-symbol.js"(e,t){p();var r=y(),n=B(),o=W(),s=U(),i=C(),a=F(),c=r.Symbol,l=n("wks"),d=a?c.for||c:c&&c.withoutSetter||s;t.exports=function(e){return o(l,e)||(l[e]=i&&o(c,e)?c[e]:d("Symbol."+e)),l[e]}}}),Q=d({"node_modules/core-js/internals/to-primitive.js"(e,t){p();var r=w(),n=P(),o=A(),s=N(),i=J(),a=K(),c=TypeError,l=a("toPrimitive");t.exports=function(e,t){if(!n(e)||o(e))return e;var a,d=s(e,l);if(d){if(void 0===t&&(t="default"),a=r(d,e,t),!n(a)||o(a))return a;throw new c("Can't convert object to primitive value")}return void 0===t&&(t="number"),i(e,t)}}}),G=d({"node_modules/core-js/internals/to-property-key.js"(e,t){p();var r=Q(),n=A();t.exports=function(e){var t=r(e,"string");return n(t)?t:t+""}}}),H=d({"node_modules/core-js/internals/document-create-element.js"(e,t){p();var r=y(),n=P(),o=r.document,s=n(o)&&n(o.createElement);t.exports=function(e){return s?o.createElement(e):{}}}}),X=d({"node_modules/core-js/internals/ie8-dom-define.js"(e,t){p();var r=m(),n=h(),o=H();t.exports=!r&&!n((function(){return 7!==Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))}}),Y=d({"node_modules/core-js/internals/object-get-own-property-descriptor.js"(e){p();var t=m(),r=w(),n=g(),o=j(),s=E(),i=G(),a=W(),c=X(),l=Object.getOwnPropertyDescriptor;e.f=t?l:function(e,t){if(e=s(e),t=i(t),c)try{return l(e,t)}catch(e){}if(a(e,t))return o(!r(n.f,e,t),e[t])}}}),Z=d({"node_modules/core-js/internals/v8-prototype-define-bug.js"(e,t){p();var r=m(),n=h();t.exports=r&&n((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))}}),ee=d({"node_modules/core-js/internals/an-object.js"(e,t){p();var r=P(),n=String,o=TypeError;t.exports=function(e){if(r(e))return e;throw new o(n(e)+" is not an object")}}}),te=d({"node_modules/core-js/internals/object-define-property.js"(e){p();var t=m(),r=X(),n=Z(),o=ee(),s=G(),i=TypeError,a=Object.defineProperty,c=Object.getOwnPropertyDescriptor,l="enumerable",d="configurable",u="writable";e.f=t?n?function(e,t,r){if(o(e),t=s(t),o(r),"function"==typeof e&&"prototype"===t&&"value"in r&&u in r&&!r[u]){var n=c(e,t);n&&n[u]&&(e[t]=r.value,r={configurable:d in r?r[d]:n[d],enumerable:l in r?r[l]:n[l],writable:!1})}return a(e,t,r)}:a:function(e,t,n){if(o(e),t=s(t),o(n),r)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw new i("Accessors not supported");return"value"in n&&(e[t]=n.value),e}}}),re=d({"node_modules/core-js/internals/create-non-enumerable-property.js"(e,t){p();var r=m(),n=te(),o=j();t.exports=r?function(e,t,r){return n.f(e,t,o(1,r))}:function(e,t,r){return e[t]=r,e}}}),ne=d({"node_modules/core-js/internals/function-name.js"(e,t){p();var r=m(),n=W(),o=Function.prototype,s=r&&Object.getOwnPropertyDescriptor,i=n(o,"name"),a=i&&"something"===function(){}.name,c=i&&(!r||r&&s(o,"name").configurable);t.exports={EXISTS:i,PROPER:a,CONFIGURABLE:c}}}),oe=d({"node_modules/core-js/internals/inspect-source.js"(e,t){p();var r=b(),n=k(),o=z(),s=r(Function.toString);n(o.inspectSource)||(o.inspectSource=function(e){return s(e)}),t.exports=o.inspectSource}}),se=d({"node_modules/core-js/internals/weak-map-basic-detection.js"(e,t){p();var r=y(),n=k(),o=r.WeakMap;t.exports=n(o)&&/native code/.test(String(o))}}),ie=d({"node_modules/core-js/internals/shared-key.js"(e,t){p();var r=B(),n=U(),o=r("keys");t.exports=function(e){return o[e]||(o[e]=n(e))}}}),ae=d({"node_modules/core-js/internals/hidden-keys.js"(e,t){p(),t.exports={}}}),ce=d({"node_modules/core-js/internals/internal-state.js"(e,t){p();var r,n,o,s,i,a=se(),c=y(),l=P(),d=re(),u=W(),f=z(),h=ie(),m=ae(),v="Object already initialized",w=c.TypeError,g=c.WeakMap;a||f.state?((s=f.state||(f.state=new g)).get=s.get,s.has=s.has,s.set=s.set,r=function(e,t){if(s.has(e))throw new w(v);return t.facade=e,s.set(e,t),t},n=function(e){return s.get(e)||{}},o=function(e){return s.has(e)}):(m[i=h("state")]=!0,r=function(e,t){if(u(e,i))throw new w(v);return t.facade=e,d(e,i,t),t},n=function(e){return u(e,i)?e[i]:{}},o=function(e){return u(e,i)}),t.exports={set:r,get:n,has:o,enforce:function(e){return o(e)?n(e):r(e,{})},getterFor:function(e){return function(t){var r;if(!l(t)||(r=n(t)).type!==e)throw new w("Incompatible receiver, "+e+" required");return r}}}}}),le=d({"node_modules/core-js/internals/make-built-in.js"(e,t){p();var r=b(),n=h(),o=k(),s=W(),i=m(),a=ne().CONFIGURABLE,c=oe(),l=ce(),d=l.enforce,u=l.get,f=String,y=Object.defineProperty,v=r("".slice),w=r("".replace),g=r([].join),j=i&&!n((function(){return 8!==y((function(){}),"length",{value:8}).length})),_=String(String).split("String"),x=t.exports=function(e,t,r){"Symbol("===v(f(t),0,7)&&(t="["+w(f(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!s(e,"name")||a&&e.name!==t)&&(i?y(e,"name",{value:t,configurable:!0}):e.name=t),j&&r&&s(r,"arity")&&e.length!==r.arity&&y(e,"length",{value:r.arity});try{r&&s(r,"constructor")&&r.constructor?i&&y(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var n=d(e);return s(n,"source")||(n.source=g(_,"string"==typeof t?t:"")),e};Function.prototype.toString=x((function(){return o(this)&&u(this).source||c(this)}),"toString")}}),de=d({"node_modules/core-js/internals/define-built-in.js"(e,t){p();var r=k(),n=te(),o=le(),s=L();t.exports=function(e,t,i,a){a||(a={});var c=a.enumerable,l=void 0!==a.name?a.name:t;if(r(i)&&o(i,l,a),a.global)c?e[t]=i:s(t,i);else{try{a.unsafe?e[t]&&(c=!0):delete e[t]}catch(e){}c?e[t]=i:n.f(e,t,{value:i,enumerable:!1,configurable:!a.nonConfigurable,writable:!a.nonWritable})}return e}}}),ue=d({"node_modules/core-js/internals/math-trunc.js"(e,t){p();var r=Math.ceil,n=Math.floor;t.exports=Math.trunc||function(e){var t=+e;return(t>0?n:r)(t)}}}),fe=d({"node_modules/core-js/internals/to-integer-or-infinity.js"(e,t){p();var r=ue();t.exports=function(e){var t=+e;return t!=t||0===t?0:r(t)}}}),pe=d({"node_modules/core-js/internals/to-absolute-index.js"(e,t){p();var r=fe(),n=Math.max,o=Math.min;t.exports=function(e,t){var s=r(e);return s<0?n(s+t,0):o(s,t)}}}),ye=d({"node_modules/core-js/internals/to-length.js"(e,t){p();var r=fe(),n=Math.min;t.exports=function(e){var t=r(e);return t>0?n(t,9007199254740991):0}}}),he=d({"node_modules/core-js/internals/length-of-array-like.js"(e,t){p();var r=ye();t.exports=function(e){return r(e.length)}}}),me=d({"node_modules/core-js/internals/array-includes.js"(e,t){p();var r=E(),n=pe(),o=he(),s=function(e){return function(t,s,i){var a=r(t),c=o(a);if(0===c)return!e&&-1;var l,d=n(i,c);if(e&&s!=s){for(;c>d;)if((l=a[d++])!=l)return!0}else for(;c>d;d++)if((e||d in a)&&a[d]===s)return e||d||0;return!e&&-1}};t.exports={includes:s(!0),indexOf:s(!1)}}}),ve=d({"node_modules/core-js/internals/object-keys-internal.js"(e,t){p();var r=b(),n=W(),o=E(),s=me().indexOf,i=ae(),a=r([].push);t.exports=function(e,t){var r,c=o(e),l=0,d=[];for(r in c)!n(i,r)&&n(c,r)&&a(d,r);for(;t.length>l;)n(c,r=t[l++])&&(~s(d,r)||a(d,r));return d}}}),we=d({"node_modules/core-js/internals/enum-bug-keys.js"(e,t){p(),t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]}}),ge=d({"node_modules/core-js/internals/object-get-own-property-names.js"(e){p();var t=ve(),r=we().concat("length","prototype");e.f=Object.getOwnPropertyNames||function(e){return t(e,r)}}}),je=d({"node_modules/core-js/internals/object-get-own-property-symbols.js"(e){p(),e.f=Object.getOwnPropertySymbols}}),be=d({"node_modules/core-js/internals/own-keys.js"(e,t){p();var r=S(),n=b(),o=ge(),s=je(),i=ee(),a=n([].concat);t.exports=r("Reflect","ownKeys")||function(e){var t=o.f(i(e)),r=s.f;return r?a(t,r(e)):t}}}),_e=d({"node_modules/core-js/internals/copy-constructor-properties.js"(e,t){p();var r=W(),n=be(),o=Y(),s=te();t.exports=function(e,t,i){for(var a=n(t),c=s.f,l=o.f,d=0;d<a.length;d++){var u=a[d];r(e,u)||i&&r(i,u)||c(e,u,l(t,u))}}}}),xe=d({"node_modules/core-js/internals/is-forced.js"(e,t){p();var r=h(),n=k(),o=/#|\.prototype\./,s=function(e,t){var o=a[i(e)];return o===l||o!==c&&(n(t)?r(t):!!t)},i=s.normalize=function(e){return String(e).replace(o,".").toLowerCase()},a=s.data={},c=s.NATIVE="N",l=s.POLYFILL="P";t.exports=s}}),$e=d({"node_modules/core-js/internals/export.js"(e,t){p();var r=y(),n=Y().f,o=re(),s=de(),i=L(),a=_e(),c=xe();t.exports=function(e,t){var l,d,u,f,p,y=e.target,h=e.global,m=e.stat;if(l=h?r:m?r[y]||i(y,{}):r[y]&&r[y].prototype)for(d in t){if(f=t[d],u=e.dontCallGetSet?(p=n(l,d))&&p.value:l[d],!c(h?d:y+(m?".":"#")+d,e.forced)&&void 0!==u){if(typeof f==typeof u)continue;a(f,u)}(e.sham||u&&u.sham)&&o(f,"sham",!0),s(l,d,f,e)}}}}),Oe=d({"node_modules/core-js/internals/an-instance.js"(e,t){p();var r=M(),n=TypeError;t.exports=function(e,t){if(r(t,e))return e;throw new n("Incorrect invocation")}}}),Ee=d({"node_modules/core-js/internals/correct-prototype-getter.js"(e,t){p();var r=h();t.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))}}),ke=d({"node_modules/core-js/internals/object-get-prototype-of.js"(e,t){p();var r=W(),n=k(),o=V(),s=ie(),i=Ee(),a=s("IE_PROTO"),c=Object,l=c.prototype;t.exports=i?c.getPrototypeOf:function(e){var t=o(e);if(r(t,a))return t[a];var s=t.constructor;return n(s)&&t instanceof s?s.prototype:t instanceof c?l:null}}}),Pe=d({"node_modules/core-js/internals/object-keys.js"(e,t){p();var r=ve(),n=we();t.exports=Object.keys||function(e){return r(e,n)}}}),Se=d({"node_modules/core-js/internals/object-define-properties.js"(e){p();var t=m(),r=Z(),n=te(),o=ee(),s=E(),i=Pe();e.f=t&&!r?Object.defineProperties:function(e,t){o(e);for(var r,a=s(t),c=i(t),l=c.length,d=0;l>d;)n.f(e,r=c[d++],a[r]);return e}}}),Me=d({"node_modules/core-js/internals/html.js"(e,t){p();var r=S();t.exports=r("document","documentElement")}}),Re=d({"node_modules/core-js/internals/object-create.js"(e,t){p();var r,n=ee(),o=Se(),s=we(),i=ae(),a=Me(),c=H(),l=ie(),d="prototype",u="script",f=l("IE_PROTO"),y=function(){},h=function(e){return"<"+u+">"+e+"</"+u+">"},m=function(e){e.write(h("")),e.close();var t=e.parentWindow.Object;return e=null,t},v=function(){try{r=new ActiveXObject("htmlfile")}catch(e){}var e,t,n;v="undefined"!=typeof document?document.domain&&r?m(r):(t=c("iframe"),n="java"+u+":",t.style.display="none",a.appendChild(t),t.src=String(n),(e=t.contentWindow.document).open(),e.write(h("document.F=Object")),e.close(),e.F):m(r);for(var o=s.length;o--;)delete v[d][s[o]];return v()};i[f]=!0,t.exports=Object.create||function(e,t){var r;return null!==e?(y[d]=n(e),r=new y,y[d]=null,r[f]=e):r=v(),void 0===t?r:o.f(r,t)}}}),De=d({"node_modules/core-js/internals/async-iterator-prototype.js"(e,t){p();var r,n,o=y(),s=z(),i=k(),a=Re(),c=ke(),l=de(),d=K(),u=q(),f="USE_FUNCTION_CONSTRUCTOR",h=d("asyncIterator"),m=o.AsyncIterator,v=s.AsyncIteratorPrototype;if(v)r=v;else if(i(m))r=m.prototype;else if(s[f]||o[f])try{n=c(c(c(Function("return async function*(){}()")()))),c(n)===Object.prototype&&(r=n)}catch(e){}r?u&&(r=a(r)):r={},i(r[h])||l(r,h,(function(){return this})),t.exports=r}}),Ce=d({"node_modules/core-js/modules/esnext.async-iterator.constructor.js"(){p();var e=$e(),t=Oe(),r=ke(),n=re(),o=W(),s=K(),i=De(),a=q(),c=s("toStringTag"),l=TypeError,d=function(){if(t(this,i),r(this)===i)throw new l("Abstract class AsyncIterator not directly constructable")};d.prototype=i,o(i,c)||n(i,c,"AsyncIterator"),!a&&o(i,"constructor")&&i.constructor!==Object||n(i,"constructor",d),e({global:!0,constructor:!0,forced:a},{AsyncIterator:d})}}),Fe=d({"node_modules/core-js/internals/get-iterator-direct.js"(e,t){p(),t.exports=function(e){return{iterator:e,next:e.next,done:!1}}}}),Ae=d({"node_modules/core-js/internals/not-a-nan.js"(e,t){p();var r=RangeError;t.exports=function(e){if(e==e)return e;throw new r("NaN is not allowed")}}}),Te=d({"node_modules/core-js/internals/to-positive-integer.js"(e,t){p();var r=fe(),n=RangeError;t.exports=function(e){var t=r(e);if(t<0)throw new n("The argument can't be less than 0");return t}}}),Ie=d({"node_modules/core-js/internals/perform.js"(e,t){p(),t.exports=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}}}}),Ne=d({"node_modules/core-js/internals/define-built-ins.js"(e,t){p();var r=de();t.exports=function(e,t,n){for(var o in t)r(e,o,t[o],n);return e}}}),Je=d({"node_modules/core-js/internals/create-iter-result-object.js"(e,t){p(),t.exports=function(e,t){return{value:e,done:t}}}}),qe=d({"node_modules/core-js/internals/iterator-cleanup-state.js"(e,t){p(),t.exports=function(e){e.iterator=e.next=e.nextHandler=e.mapper=e.predicate=e.inner=e.iterables=e.iters=e.openIters=e.padding=e.finishResults=e.buffer=null}}}),Le=d({"node_modules/core-js/internals/async-iterator-create-proxy.js"(e,t){p();var r=w(),n=Ie(),o=ee(),s=Re(),i=re(),a=Ne(),c=K(),l=ce(),d=S(),u=N(),f=De(),y=Je(),h=qe(),m=d("Promise"),v=c("toStringTag"),g="AsyncIteratorHelper",j="WrapForValidAsyncIterator",b=l.set,_=function(e){var t=!e,i=l.getterFor(e?j:g),c=function(e){var r=n((function(){return i(e)})),o=r.error,s=r.value;return o||t&&s.done?{exit:!0,value:o?m.reject(s):m.resolve(y(void 0,!0))}:{exit:!1,value:s}};return a(s(f),{next:function(){var e=c(this),r=e.value;if(e.exit)return r;var s=n((function(){return o(r.nextHandler(m))})),i=s.error,a=s.value;return i?(r.done=!0,t&&h(r),m.reject(a)):t?m.resolve(a).then((function(e){return r.done&&h(r),e}),(function(e){throw h(r),e})):m.resolve(a)},return:function(){var s=c(this),i=s.value;if(s.exit)return i;i.done=!0;var a,l,d=i.iterator,f=i.inner;t&&h(i);var p=function(){var t=n((function(){return u(d,"return")}));return a=l=t.value,t.error?m.reject(l):void 0===a?m.resolve(y(void 0,!0)):(t=n((function(){return r(a,d)})),l=t.value,t.error?m.reject(l):e?m.resolve(l):m.resolve(l).then((function(e){return o(e),y(void 0,!0)})))},v=function(e){return p().then((function(){throw e}),(function(){throw e}))};if(f){var w,g=f.iterator,j=n((function(){if(w=u(g,"return"))return r(w,g)}));if(j.error)return v(j.value);if(w)return m.resolve(j.value).then((function(e){try{o(e)}catch(e){return v(e)}return p()}),v)}return p()}})},x=_(!0),$=_(!1);i($,v,"Async Iterator Helper"),t.exports=function(e,t){var r=function(r,n){n?(n.iterator=r.iterator,n.next=r.next):n=r,n.type=t?j:g,n.nextHandler=e,n.counter=0,n.done=!1,b(this,n)};return r.prototype=t?x:$,r}}}),ze=d({"node_modules/core-js/modules/esnext.async-iterator.drop.js"(){p();var e=$e(),t=w(),r=ee(),n=Fe(),o=Ae(),s=Te(),i=Le(),a=Je(),c=i((function(e){var n=this;return new e((function(o,s){var i=function(e){n.done=!0,s(e)},c=function(){try{e.resolve(r(t(n.next,n.iterator))).then((function(e){try{r(e).done?(n.done=!0,o(a(void 0,!0))):n.remaining?(n.remaining--,c()):o(a(e.value,!1))}catch(e){i(e)}}),i)}catch(e){i(e)}};c()}))}));e({target:"AsyncIterator",proto:!0,real:!0,forced:!0},{drop:function(e){r(this);var t=s(o(+e));return new c(n(this),{remaining:t})}})}}),Be=d({"node_modules/core-js/internals/define-built-in-accessor.js"(e,t){p();var r=le(),n=te();t.exports=function(e,t,o){return o.get&&r(o.get,t,{getter:!0}),o.set&&r(o.set,t,{setter:!0}),n.f(e,t,o)}}}),Ve=d({"node_modules/core-js/internals/create-property.js"(e,t){p();var r=m(),n=te(),o=j();t.exports=function(e,t,s){r?n.f(e,t,o(0,s)):e[t]=s}}}),We=d({"node_modules/core-js/internals/iterators-core.js"(e,t){p();var r,n,o,s=h(),i=k(),a=P(),c=Re(),l=ke(),d=de(),u=K(),f=q(),y=u("iterator"),m=!1;[].keys&&("next"in(o=[].keys())?(n=l(l(o)))!==Object.prototype&&(r=n):m=!0),!a(r)||s((function(){var e={};return r[y].call(e)!==e}))?r={}:f&&(r=c(r)),i(r[y])||d(r,y,(function(){return this})),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:m}}}),Ue=d({"node_modules/core-js/modules/es.iterator.constructor.js"(){p();var e=$e(),t=y(),r=Oe(),n=ee(),o=k(),s=ke(),i=Be(),a=Ve(),c=h(),l=W(),d=K(),u=We().IteratorPrototype,f=m(),v=q(),w="constructor",g="Iterator",j=d("toStringTag"),b=TypeError,_=t[g],x=v||!o(_)||_.prototype!==u||!c((function(){_({})})),$=function(){if(r(this,u),s(this)===u)throw new b("Abstract class Iterator not directly constructable")},O=function(e,t){f?i(u,e,{configurable:!0,get:function(){return t},set:function(t){if(n(this),this===u)throw new b("You can't redefine this property");l(this,e)?this[e]=t:a(this,e,t)}}):u[e]=t};l(u,j)||O(j,g),!x&&l(u,w)&&u[w]!==Object||O(w,$),$.prototype=u,e({global:!0,constructor:!0,forced:x},{Iterator:$})}}),Ke=d({"node_modules/core-js/modules/esnext.iterator.constructor.js"(){p(),Ue()}}),Qe=d({"node_modules/core-js/internals/iterator-close.js"(e,t){p();var r=w(),n=ee(),o=N();t.exports=function(e,t,s){var i,a;n(e);try{if(!(i=o(e,"return"))){if("throw"===t)throw s;return s}i=r(i,e)}catch(e){a=!0,i=e}if("throw"===t)throw s;if(a)throw i;return n(i),s}}}),Ge=d({"node_modules/core-js/internals/iterator-close-all.js"(e,t){p();var r=Qe();t.exports=function(e,t,n){for(var o=e.length-1;o>=0;o--)if(void 0!==e[o])try{n=r(e[o].iterator,t,n)}catch(e){t="throw",n=e}if("throw"===t)throw n;return n}}}),He=d({"node_modules/core-js/internals/iterator-create-proxy.js"(e,t){p();var r=w(),n=Re(),o=re(),s=Ne(),i=K(),a=ce(),c=N(),l=We().IteratorPrototype,d=Je(),u=Qe(),f=Ge(),y=qe(),h=i("toStringTag"),m="IteratorHelper",v="WrapForValidIterator",g="normal",j="throw",b=a.set,_=function(e){var t=a.getterFor(e?v:m);return s(n(l),{next:function(){var r=t(this);if(e)return r.nextHandler();if(r.done)return d(void 0,!0);try{var n=r.nextHandler();return r.done&&y(r),r.returnHandlerResult?n:d(n,r.done)}catch(e){throw r.done=!0,y(r),e}},return:function(){var n=t(this),o=n.iterator,s=n.inner,i=n.openIters,a=n.done;if(n.done=!0,e){var l=c(o,"return");return l?r(l,o):d(void 0,!0)}if(y(n),a)return d(void 0,!0);if(s)try{u(s.iterator,g)}catch(e){return u(o,j,e)}if(i)try{f(i,g)}catch(e){if(o)return u(o,j,e);throw e}return o&&u(o,g),d(void 0,!0)}})},x=_(!0),$=_(!1);o($,h,"Iterator Helper"),t.exports=function(e,t,r){var n=function(n,o){o?(o.iterator=n.iterator,o.next=n.next):o=n,o.type=t?v:m,o.returnHandlerResult=!!r,o.nextHandler=e,o.counter=0,o.done=!1,b(this,o)};return n.prototype=t?x:$,n}}}),Xe=d({"node_modules/core-js/internals/iterator-helper-throws-on-invalid-iterator.js"(e,t){p(),t.exports=function(e,t){var r="function"==typeof Iterator&&Iterator.prototype[e];if(r)try{r.call({next:null},t).next()}catch(e){return!0}}}}),Ye=d({"node_modules/core-js/internals/iterator-helper-without-closing-on-early-error.js"(e,t){p();var r=y();t.exports=function(e,t){var n=r.Iterator,o=n&&n.prototype,s=o&&o[e],i=!1;if(s)try{s.call({next:function(){return{done:!0}},return:function(){i=!0}},-1)}catch(e){e instanceof t||(i=!1)}if(!i)return s}}}),Ze=d({"node_modules/core-js/modules/es.iterator.drop.js"(){p();var e=$e(),t=w(),r=ee(),n=Fe(),o=Ae(),s=Te(),i=Qe(),a=He(),c=Xe(),l=Ye(),d=q(),u=RangeError,f=1/0,y=!d&&!c("drop",0),h=!d&&!y&&l("drop",RangeError),m=d||y||h||!function(){try{Iterator.prototype.drop.call({next:function(){return{done:!0}}},9007199254740992)}catch(e){return e instanceof u}}(),v=a((function(){for(var e,n=this.iterator,o=this.next;this.remaining;)if(this.remaining--,e=r(t(o,n)),this.done=!!e.done)return;if(e=r(t(o,n)),!(this.done=!!e.done))return e.value}));e({target:"Iterator",proto:!0,real:!0,forced:m},{drop:function(e){var a;r(this);try{if((a=s(o(+e)))>9007199254740991&&a!==f)throw new u("The argument should be a safe integer")}catch(e){i(this,"throw",e)}return h?t(h,this,a):new v(n(this),{remaining:a})}})}}),et=d({"node_modules/core-js/modules/esnext.iterator.drop.js"(){p(),Ze()}}),tt=d({"node_modules/core-js/internals/call-with-safe-iteration-closing.js"(e,t){p();var r=ee(),n=Qe();t.exports=function(e,t,o,s){try{return s?t(r(o)[0],o[1]):t(o)}catch(t){n(e,"throw",t)}}}}),rt=d({"node_modules/core-js/modules/es.iterator.map.js"(){p();var e=$e(),t=w(),r=I(),n=ee(),o=Fe(),s=He(),i=tt(),a=Qe(),c=Xe(),l=Ye(),d=q(),u=!d&&!c("map",(function(){})),f=!d&&!u&&l("map",TypeError),y=d||u||f,h=s((function(){var e=this.iterator,r=n(t(this.next,e));if(!(this.done=!!r.done))return i(e,this.mapper,[r.value,this.counter++],!0)}));e({target:"Iterator",proto:!0,real:!0,forced:y},{map:function(e){n(this);try{r(e)}catch(e){a(this,"throw",e)}return f?t(f,this,e):new h(o(this),{mapper:e})}})}}),nt=d({"node_modules/core-js/modules/esnext.iterator.map.js"(){p(),rt()}}),ot=d({"node_modules/core-js/modules/es.iterator.filter.js"(){p();var e=$e(),t=w(),r=I(),n=ee(),o=Fe(),s=He(),i=tt(),a=q(),c=Qe(),l=Xe(),d=Ye(),u=!a&&!l("filter",(function(){})),f=!a&&!u&&d("filter",TypeError),y=a||u||f,h=s((function(){for(var e,r,o=this.iterator,s=this.predicate,a=this.next;;){if(e=n(t(a,o)),this.done=!!e.done)return;if(r=e.value,i(o,s,[r,this.counter++],!0))return r}}));e({target:"Iterator",proto:!0,real:!0,forced:y},{filter:function(e){n(this);try{r(e)}catch(e){c(this,"throw",e)}return f?t(f,this,e):new h(o(this),{predicate:e})}})}}),st=d({"node_modules/core-js/modules/esnext.iterator.filter.js"(){p(),ot()}}),it=d({"node_modules/core-js/internals/function-uncurry-this-clause.js"(e,t){p();var r=_(),n=b();t.exports=function(e){if("Function"===r(e))return n(e)}}}),at=d({"node_modules/core-js/internals/function-bind-context.js"(e,t){p();var r=it(),n=I(),o=v(),s=r(r.bind);t.exports=function(e,t){return n(e),void 0===t?e:o?s(e,t):function(){return e.apply(t,arguments)}}}}),ct=d({"node_modules/core-js/internals/iterators.js"(e,t){p(),t.exports=Object.create?Object.create(null):{}}}),lt=d({"node_modules/core-js/internals/is-array-iterator-method.js"(e,t){p();var r=K(),n=ct(),o=r("iterator"),s=Array.prototype;t.exports=function(e){return void 0!==e&&(n.Array===e||s[o]===e)}}}),dt=d({"node_modules/core-js/internals/get-iterator-method-internal.js"(e,t){p();var r=_(),n=$(),o=N(),s=K()("iterator"),i=Array.prototype;t.exports=function(e){if(!n(e))return o(e,s)||o(e,"@@iterator")||("Arguments"===r(e)?i[s]:void 0)}}}),ut=d({"node_modules/core-js/internals/get-iterator-internal.js"(e,t){p();var r=w(),n=k(),o=ee(),s=T(),i=dt(),a=TypeError;t.exports=function(e,t){var c=arguments.length<2?i(e):t;if(n(c))return o(r(c,e));throw new a(s(e)+" is not iterable")}}}),ft=d({"node_modules/core-js/internals/iterate.js"(e,t){p();var r=at(),n=w(),o=ee(),s=T(),i=lt(),a=he(),c=M(),l=ut(),d=dt(),u=Qe(),f=TypeError,y=function(e,t){this.stopped=e,this.result=t},h=y.prototype;t.exports=function(e,t,p){var m,v,w,g,j,b,_,x=p&&p.that,$=!(!p||!p.AS_ENTRIES),O=!(!p||!p.IS_RECORD),E=!(!p||!p.IS_ITERATOR),k=!(!p||!p.INTERRUPTED),P=r(t,x),S=function(e){var t=m;return m=void 0,t&&u(t,"normal"),new y(!0,e)},M=function(e){return $?(o(e),k?P(e[0],e[1],S):P(e[0],e[1])):k?P(e,S):P(e)};if(O)m=e.iterator;else if(E)m=e;else{if(!(v=d(e)))throw new f(s(e)+" is not iterable");if(i(v)){for(w=0,g=a(e);g>w;w++)if((j=M(e[w]))&&c(h,j))return j;return new y(!1)}m=l(e,v)}for(b=O?e.next:m.next;!(_=n(b,m)).done;){var R=_.value;try{j=M(R)}catch(e){if(!m)throw e;u(m,"throw",e)}if("object"==typeof j&&j&&c(h,j))return j}return new y(!1)}}}),pt=d({"node_modules/core-js/internals/function-apply.js"(e,t){p();var r=v(),n=Function.prototype,o=n.apply,s=n.call;t.exports="object"==typeof Reflect&&Reflect.apply||(r?s.bind(o):function(){return s.apply(o,arguments)})}}),yt=d({"node_modules/core-js/modules/es.iterator.reduce.js"(){p();var e=$e(),t=ft(),r=I(),n=ee(),o=Fe(),s=Qe(),i=Ye(),a=pt(),c=h(),l=TypeError,d=c((function(){[].keys().reduce((function(){}),void 0)})),u=!d&&i("reduce",l);e({target:"Iterator",proto:!0,real:!0,forced:d||u},{reduce:function(e){n(this);try{r(e)}catch(e){s(this,"throw",e)}var i=arguments.length<2,c=i?void 0:arguments[1];if(u)return a(u,this,i?[e]:[e,c]);var d=o(this),f=0;if(t(d,(function(t){i?(i=!1,c=t):c=e(c,t,f),f++}),{IS_RECORD:!0}),i)throw new l("Reduce of empty iterator with no initial value");return c}})}}),ht=d({"node_modules/core-js/modules/esnext.iterator.reduce.js"(){p(),yt()}}),mt=d({"dist/data/utilities/parsers/scanQuery.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.scanQuery=e.assertClosed=void 0;var t={n:"\n",t:"\t"},r={"]":"[",")":"("};e.scanQuery=(e="")=>{const n=[],o=[],s=[],i=[];let a,c,l=!1,d=!1,u=-1,f=0;for(;f<e.length;){const p=e[f],y=e[f+1];if("'"!==p&&'"'!==p)if("-"!==p||"-"!==y||0!==f&&!/[\s;]/.test(e[f-1]))if("/"!==p||"*"!==y)"["===p||"("===p?i.push(p):r[p]?i[i.length-1]===r[p]?i.pop():a||(a={char:p,index:f}):";"===p&&0===i.length&&s.push(f),/\s/.test(p)||(u=f),f++;else{const t=e.indexOf("*/",f+2),r=-1===t?e.length:t+2;d=-1===t,o.push({start:f,end:r,kind:"block"}),f=r}else{const t=e.indexOf("\n",f+2),r=-1===t?e.length:t+1;o.push({start:f,end:r,kind:"line"}),f=r}else{const r=f;let o="";for(f++;f<e.length&&e[f]!==p;)if("\\"!==e[f])o+=e[f],f++;else{if(f+1===e.length){l=!0,f++;break}o+=t[e[f+1]]??e[f+1],f+=2}f<e.length?f++:c=p,n.push({start:r,end:f,quote:p,value:o}),u=r}}const p={quote:c,escape:l,blockComment:d,brackets:i,strayCloser:a},y=!p.quote&&!p.blockComment&&0===i.length;return{strings:n,comments:o,semicolons:s,end:p,closed:y,terminated:y&&s.length>0&&s[s.length-1]===u}};e.assertClosed=e=>{const{end:t}=e;if(t.quote){const r=e.strings[e.strings.length-1];throw new Error(`Unclosed string: the ${t.quote} at position ${r.start} is never closed`)}if(t.blockComment)throw new Error(`Unclosed comment: the /* at position ${e.comments[e.comments.length-1].start} is never closed`);if(t.strayCloser)throw new Error(`Unexpected ${t.strayCloser.char} at position ${t.strayCloser.index}: there is nothing to close`);if(t.brackets.length>0)throw new Error(`Unclosed bracket: ${t.brackets.join(" ")} never closed`);return e}}}),vt=d({"dist/data/utilities/parsers/splitQueries.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.splitQueries=void 0,Ke(),st(),ht();var t=mt();e.splitQueries=(e="")=>{const{comments:r,semicolons:n}=(0,t.assertClosed)((0,t.scanQuery)(e)),o=r.reduce(((e,{start:t,end:r})=>`${e.slice(0,t)}${" ".repeat(r-t)}${e.slice(r)}`),e);return[...n,o.length].map(((e,t)=>o.slice(0===t?0:n[t-1]+1,e).trim())).filter((e=>e.length>0))}}}),wt=d({"dist/data/utilities/parsers/findCommand.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findCommand=void 0;var t=/^(delete|insert|read|update)\s+([a-z0-9_-]+)/i;e.findCommand=(e,r)=>{const n=r.match(t);return e.command=void 0,e.entity=void 0,n?(e.command=n[1].toLowerCase(),e.entity=n[2],r.slice(n[0].length).trim()):r}}}),gt=d({"node_modules/core-js/internals/is-array.js"(e,t){p();var r=_();t.exports=Array.isArray||function(e){return"Array"===r(e)}}}),jt=d({"node_modules/core-js/internals/is-raw-json.js"(e,t){p();var r=P(),n=ce().get;t.exports=function(e){if(!r(e))return!1;var t=n(e);return!!t&&"RawJSON"===t.type}}}),bt=d({"node_modules/core-js/internals/this-number-value.js"(e,t){p();var r=b();t.exports=r(1.1.valueOf)}}),_t=d({"node_modules/core-js/internals/to-string-tag-support.js"(e,t){p();var r={};r[K()("toStringTag")]="z",t.exports="[object z]"===String(r)}}),xt=d({"node_modules/core-js/internals/classof.js"(e,t){p();var r=_t(),n=k(),o=_(),s=K()("toStringTag"),i=Object,a="Arguments"===o(function(){return arguments}());t.exports=r?o:function(e){var t,r,c;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=i(e),s))?r:a?o(t):"Object"===(c=o(t))&&n(t.callee)?"Arguments":c}}}),$t=d({"node_modules/core-js/internals/to-string.js"(e,t){p();var r=xt(),n=String;t.exports=function(e){if("Symbol"===r(e))throw new TypeError("Cannot convert a Symbol value to a string");return n(e)}}}),Ot=d({"node_modules/core-js/internals/parse-json-string.js"(e,t){p();var r=b(),n=W(),o=SyntaxError,s=parseInt,i=String.fromCharCode,a=r("".charAt),c=r("".slice),l=r(/./.exec),d={'\\"':'"',"\\\\":"\\","\\/":"/","\\b":"\b","\\f":"\f","\\n":"\n","\\r":"\r","\\t":"\t"},u=/^[\da-f]{4}$/i,f=/^[\u0000-\u001F]$/;t.exports=function(e,t){for(var r=!0,p="";t<e.length;){var y=a(e,t);if("\\"===y){var h=c(e,t,t+2);if(n(d,h))p+=d[h],t+=2;else{if("\\u"!==h)throw new o('Unknown escape sequence: "'+h+'"');var m=c(e,t+=2,t+4);if(!l(u,m))throw new o("Bad Unicode escape at: "+t);p+=i(s(m,16)),t+=4}}else{if('"'===y){r=!1,t++;break}if(l(f,y))throw new o("Bad control character in string literal at: "+t);p+=y,t++}}if(r)throw new o("Unterminated string at: "+t);return{value:p,end:t}}}}),Et=d({"node_modules/core-js/internals/native-raw-json.js"(e,t){p();var r=h();t.exports=!r((function(){var e="9007199254740993",t=JSON.rawJSON(e);return!JSON.isRawJSON(t)||JSON.stringify(t)!==e}))}}),kt=d({"node_modules/core-js/modules/es.json.stringify.js"(){p();var e=$e(),t=S(),r=w(),n=b(),o=h(),s=gt(),i=k(),a=P(),c=Re(),l=jt(),d=A(),u=_(),f=bt(),y=me().includes,m=W(),v=$t(),g=Ot(),j=U(),x=C(),$=Et(),O=String,E=TypeError,M=t("JSON","stringify"),R=t("BigInt"),D=n("".valueOf),F=n((!0).valueOf),T=R&&n(R.prototype.valueOf),I=n(/./.exec),N=n("".charAt),J=n("".charCodeAt),q=n("".replace),L=n("".slice),z=n([].push),B=n([].pop),V=n(1.1.toString),K=/[\uD800-\uDFFF]/g,Q=/^[\uD800-\uDBFF]$/,G=/^[\uDC00-\uDFFF]$/,H=/^\d+$/,X=j(),Y=j(),Z=j(),ee=X.length,te=Y.length,re=!x||o((function(){var e=t("Symbol")("stringify detection");return"[null]"!==M([e])||"{}"!==M({a:e})||"{}"!==M(Object(e))})),ne=o((function(){return'"\\udf06\\ud834"'!==M("\udf06\ud834")||'"\\udead"'!==M("\udead")})),oe=$?t("JSON","isRawJSON"):l,se=re?function(e,t,n){return M(e,(function(e,n){var o=r(t,this,e,n);if(!d(o))return o}),n)}:M,ie=function(e,t,r){var n=N(r,t-1),o=N(r,t+1);return I(Q,e)&&!I(G,o)||I(G,e)&&!I(Q,n)?"\\u"+V(J(e,0),16):e},ae=function(e,t){try{return e(t),!0}catch(e){return!1}},ce=function(e){if(!a(e)||i(e)||s(e))return!1;try{return!function(e){var t=u(e);return"Number"===t&&ae(f,e)||"String"===t&&ae(D,e)||"Boolean"===t&&ae(F,e)||!!T&&"BigInt"===t&&ae(T,e)}(e)}catch(e){return!0}},le=function(e,t){return{toJSON:function(){var n=e[t];if(a(n)||"bigint"==typeof n){var o=n.toJSON;i(o)&&(n=r(o,n,t))}return n}}};M&&e({target:"JSON",stat:!0,arity:3,forced:re||ne||!$},{stringify:function(e,t,n){var o,a=i(t)?t:void 0,l=a?void 0:function(e){if(s(e)){for(var t=e.length,r=[],n=c(null),o=0;o<t;o++){var i,a=e[o];if("string"==typeof a)i=a;else{if("number"!=typeof a&&"Number"!==u(a)&&"String"!==u(a))continue;i=v(a)}m(n,i)||(n[i]=!0,z(r,i))}return r}}(t),d=l&&function(e){for(var t=0,r=e.length;t<r;t++)if(I(H,e[t]))return Y;return""}(l),f=[],p=[],h=[],w=!1,j=!0,b=se(e,(function(e,t){if(e=O(e),l){if(e===Z)return B(p),void(o=B(h));if(j)j=!1;else if(this!==o&&!s(this)&&!y(l,e))return}else a&&(t=r(a,this,e,t));if(oe(t))return $?t:(w=!0,X+(z(f,t.rawJSON)-1));if(l&&ce(t)){if(y(p,t))throw new E("Converting circular structure to JSON");var n=function(e,t,r){for(var n=c(null),o=0,s=t.length;o<s;o++){var i=t[o];n[r+i]=le(e,i)}return n[Z]=null,n}(t,l,d);return z(p,t),z(h,o),o=n,d&&(w=!0),n}return t}),n);if("string"!=typeof b)return b;if(ne&&(b=q(b,K,ie)),!w)return b;for(var _="",x=b.length,k=0;k<x;k++){var P=N(b,k);if('"'===P){var S=g(b,++k).end-1,M=L(b,k,S);L(M,0,ee)===X?_+=f[L(M,ee)]:L(M,0,te)===Y?_+='"'+L(M,te)+'"':_+='"'+M+'"',k=S}else _+=P}return _}})}}),Pt=d({"node_modules/core-js/modules/es.iterator.some.js"(){p();var e=$e(),t=w(),r=ft(),n=I(),o=ee(),s=Fe(),i=Qe(),a=Ye()("some",TypeError);e({target:"Iterator",proto:!0,real:!0,forced:a},{some:function(e){o(this);try{n(e)}catch(e){i(this,"throw",e)}if(a)return t(a,this,e);var c=s(this),l=0;return r(c,(function(t,r){if(e(t,l++))return r()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})}}),St=d({"node_modules/core-js/modules/esnext.iterator.some.js"(){p(),Pt()}}),Mt=d({"dist/data/utilities/parsers/maskStrings.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.unmaskStrings=e.placeholderSource=e.maskStrings=e.maskArrays=e.fromPlaceholder=e.arraySource=void 0,kt(),Ke(),nt(),St();var t=mt(),r=e.placeholderSource="\\u0000([0-9a-f]*)\\u0000",n=new RegExp(r,"g"),o=e.arraySource="\\u0001([0-9a-f]*)\\u0001",s=new RegExp(o,"g"),i=e=>e.split("").map((e=>e.charCodeAt(0).toString(16).padStart(4,"0"))).join(""),a=e=>(e.match(/.{4}/g)||[]).map((e=>String.fromCharCode(parseInt(e,16)))).join("");e.fromPlaceholder=a;e.maskStrings=e=>{const{strings:r}=(0,t.assertClosed)((0,t.scanQuery)(e));for(const[t,n]of[["\0","NUL"],["","SOH"]])for(let o=e.indexOf(t);-1!==o;o=e.indexOf(t,o+1))if(!r.some((({start:e,end:t})=>e<o&&o<t)))throw new Error(`Unexpected ${n} character at position ${o}`);const n=[];let o=0;for(const{start:t,end:s,value:a}of r)n.push(e.slice(o,t),`\0${i(a)}\0`),o=s;return n.push(e.slice(o)),n.join("")};var c=(e,t="json")=>e.replace(n,((e,r)=>{const n=a(r);return"json"===t?JSON.stringify(n):`'${n.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`})).replace(s,((e,t)=>a(t)));e.unmaskStrings=c;var l=e=>{try{return JSON.stringify(JSON.parse(c(e),((e,t)=>{if("number"==typeof t&&!Number.isFinite(t))throw new Error(`${t} is too large`);if(Number.isInteger(t)&&!Number.isSafeInteger(t))throw new Error(`${t} is too large to store exactly (the largest whole number is ${Number.MAX_SAFE_INTEGER}): quote it to keep it as text`);return t})))}catch(t){throw new Error(`Invalid array ${c(e,"'")}: ${t.message}`)}};e.maskArrays=e=>{let t="",r=0,n=0;for(let o=0;o<e.length;o++){const s=e[o];if("["===s)0===r&&(n=o),r++;else if("]"===s&&r>0&&(r--,0===r)){t+=`${i(l(e.slice(n,o+1)))}`;continue}0===r&&(t+=s)}return r>0?t+e.slice(n):t}}}),Rt=d({"dist/data/utilities/parsers/parseLiteralValue.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.parseNumber=e.parseLiteralValue=e.numberSource=void 0;var t=Mt(),r=(e.numberSource="-?[0-9]+(?:\\.[0-9]+)?(?:e[+-]?[0-9]+)?",e=>{const t=Number(e);if(!Number.isFinite(t))throw new Error(`${e} is too large`);if(Number.isInteger(t)&&!Number.isSafeInteger(t))throw new Error(`${e} is too large to store exactly (the largest whole number is ${Number.MAX_SAFE_INTEGER}): quote it to keep it as text`);return t});e.parseNumber=r;e.parseLiteralValue=(e,n)=>void 0!==e[n]?(0,t.fromPlaceholder)(e[n]):void 0!==e[n+1]?r(e[n+1]):void 0!==e[n+2]?JSON.parse((0,t.fromPlaceholder)(e[n+2])):void 0!==e[n+3]?null:void 0!==e[n+4]}}),Dt=d({"dist/data/utilities/parsers/findInsertValues.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findInsertValues=void 0;var t=Rt(),r=Mt(),n=`(?:${r.placeholderSource.replace("(","(?:")}|${t.numberSource}|${r.arraySource.replace("(","(?:")}|null|true|false)`,o=`[a-z0-9_-]+\\s*=\\s*${n}(?:\\s*,\\s*[a-z0-9_-]+\\s*=\\s*${n})*`,s=new RegExp(`^(${o})`,"i"),i=`\\(\\s*(${o})\\s*\\)`,a=new RegExp(`^${i}(?:\\s*,\\s*${i.replace("("+o,"(?:"+o)})*`,"i"),c=new RegExp(i,"ig"),l=new RegExp(`([a-z0-9_-]+)\\s*=\\s*(${r.placeholderSource}|(${t.numberSource})|${r.arraySource}|(null)|(true)|(false))`,"ig"),d=e=>{const r={};for(const n of e.matchAll(l))r[n[1]]=(0,t.parseLiteralValue)(n,3);return r};e.findInsertValues=(e,t)=>{e.insertValues=[];const r=t.match(a);if(r)return e.insertValues=[...r[0].matchAll(c)].map((e=>d(e[1]))),t.slice(r[0].length).trim();const n=t.match(s);return n?(e.insertValues=[d(n[1])],t.slice(n[0].length).trim()):t}}}),Ct=d({"dist/data/utilities/parsers/findUpdateValues.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findUpdateValues=void 0;var t=Rt(),r=Mt(),n=`(?:${r.placeholderSource.replace("(","(?:")}|${t.numberSource}|${r.arraySource.replace("(","(?:")}|null|true|false)`,o=new RegExp(`^([a-z0-9_-]+\\s*=\\s*${n}(?:\\s*,\\s*[a-z0-9_-]+\\s*=\\s*${n})*)`,"i"),s=new RegExp(`([a-z0-9_-]+)\\s*=\\s*(${r.placeholderSource}|(${t.numberSource})|${r.arraySource}|(null)|(true)|(false))`,"ig");e.findUpdateValues=(e,r)=>{const n=r.match(o);if(e.updateValues={},!n)return r;const i=n[1].matchAll(s);for(const r of i)e.updateValues[r[1]]=(0,t.parseLiteralValue)(r,3);return r.slice(n[0].length).trim()}}}),Ft=d({"dist/data/utilities/parsers/findJoinEntity.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findJoinEntity=void 0;var t=/^\.([a-z0-9_-]+)/i;e.findJoinEntity=(e,r)=>{const n=r.match(t);return n?(e.joinEntity=n?n[1]:void 0,r.slice(n[0].length).trim()):r}}}),At=d({"dist/data/utilities/parsers/findSelects.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findSelects=void 0;var t="[a-z0-9=._-]+(?:\\s+as\\s+[a-z0-9_-]+)?",r=new RegExp(`^${t}(?:\\s*,\\s*${t})*`,"i"),n=/,?\s*([a-z0-9=._-]+)(?:\s+as\s+([a-z0-9_-]+))?/gi;e.findSelects=(e,t)=>{const o=t.match(r);if(o){const r=o[0].matchAll(n);for(const t of r)e.selectClauses.push({property:t[1],alias:t[2]});return t.slice(o[0].length).trim()}return t}}}),Tt=d({"node_modules/core-js/internals/add-to-unscopables.js"(e,t){p();var r=K(),n=Re(),o=te().f,s=r("unscopables"),i=Array.prototype;void 0===i[s]&&o(i,s,{configurable:!0,value:n(null)}),t.exports=function(e){i[s][e]=!0}}}),It=d({"node_modules/core-js/modules/es.array.includes.js"(){p();var e=$e(),t=me().includes,r=h(),n=Tt(),o=r((function(){return!Array(1).includes()})),s=r((function(){return[,1].includes(void 0,1)}));e({target:"Array",proto:!0,forced:o||s},{includes:function(e){return t(this,e,arguments.length>1?arguments[1]:void 0)}}),n("includes")}}),Nt=d({"node_modules/core-js/internals/get-iterator-flattenable.js"(e,t){p();var r=w(),n=ee(),o=Fe(),s=dt();t.exports=function(e,t){t&&"string"==typeof e||n(e);var i=s(e);return o(n(void 0!==i?r(i,e):e))}}}),Jt=d({"node_modules/core-js/modules/es.iterator.flat-map.js"(){p();var e=$e(),t=w(),r=I(),n=ee(),o=Fe(),s=Nt(),i=He(),a=Qe(),c=h(),l=q(),d=Xe(),u=Ye(),f=!l&&c((function(){return 1!==[1].values().flatMap((function(){return[1]})).find((function(){return!0}))})),y=!l&&!f&&!d("flatMap",(function(){})),m=!l&&!f&&!y&&u("flatMap",TypeError),v=l||f||y||m,g=i((function(){for(var e,r,o=this.iterator,i=this.mapper;;){if(r=this.inner)try{if(!(e=n(t(r.next,r.iterator))).done)return e.value;this.inner=null}catch(e){a(o,"throw",e)}if(e=n(t(this.next,o)),this.done=!!e.done)return;try{this.inner=s(i(e.value,this.counter++),!1)}catch(e){a(o,"throw",e)}}}));e({target:"Iterator",proto:!0,real:!0,forced:v},{flatMap:function(e){n(this);try{r(e)}catch(e){a(this,"throw",e)}return m?t(m,this,e):new g(o(this),{mapper:e,inner:null})}})}}),qt=d({"node_modules/core-js/modules/esnext.iterator.flat-map.js"(){p(),Jt()}}),Lt=d({"dist/data/utilities/conditionTree.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.requiredConditions=e.isCondition=e.conditionsOf=e.allOf=void 0,Ke(),st(),qt();var t=e=>!("and"in e)&&!("or"in e)&&!("not"in e);e.isCondition=t;e.allOf=e=>{if(e.length)return 1===e.length?e[0]:{and:e}};var r=e=>void 0===e?[]:t(e)?[e]:"not"in e?r(e.not):("and"in e?e.and:e.or).flatMap(r);e.conditionsOf=r;e.requiredConditions=e=>void 0===e?[]:t(e)?[e]:"and"in e?e.and.filter(t):[]}}),zt=d({"node_modules/core-js/internals/set-helpers.js"(e,t){p();var r=b(),n=Set.prototype;t.exports={Set:Set,add:r(n.add),has:r(n.has),remove:r(n.delete),proto:n}}}),Bt=d({"node_modules/core-js/internals/a-set.js"(e,t){p();var r=zt().has;t.exports=function(e){return r(e),e}}}),Vt=d({"node_modules/core-js/modules/esnext.set.add-all.js"(){p();var e=$e(),t=Bt(),r=zt().add;e({target:"Set",proto:!0,real:!0,forced:!0},{addAll:function(){for(var e=t(this),n=0,o=arguments.length;n<o;n++)r(e,arguments[n]);return e}})}}),Wt=d({"node_modules/core-js/modules/esnext.set.delete-all.js"(){p();var e=$e(),t=Bt(),r=zt().remove;e({target:"Set",proto:!0,real:!0,forced:!0},{deleteAll:function(){for(var e,n=t(this),o=!0,s=0,i=arguments.length;s<i;s++)e=r(n,arguments[s]),o=o&&e;return!!o}})}}),Ut=d({"node_modules/core-js/internals/is-iterable.js"(e,t){p();var r=_(),n=K()("iterator");t.exports=function(e){return void 0!==e[n]||void 0!==e["@@iterator"]||"Arguments"===r(e)}}}),Kt=d({"node_modules/core-js/internals/to-set-like.js"(e,t){p();var r=S(),n=k(),o=Ut(),s=P(),i=r("Set");t.exports=function(e){return function(e){return s(e)&&"number"==typeof e.size&&n(e.has)&&n(e.keys)}(e)?e:o(e)?new i(e):e}}}),Qt=d({"node_modules/core-js/internals/iterate-simple.js"(e,t){p();var r=w();t.exports=function(e,t,n){for(var o,s,i=n?e:e.iterator,a=e.next;!(o=r(a,i)).done;)if(void 0!==(s=t(o.value)))return s}}}),Gt=d({"node_modules/core-js/internals/set-iterate.js"(e,t){p();var r=b(),n=Qt(),o=zt(),s=o.Set,i=o.proto,a=r(i.forEach),c=r(i.keys),l=c(new s).next;t.exports=function(e,t,r){return r?n({iterator:c(e),next:l},t):a(e,t)}}}),Ht=d({"node_modules/core-js/internals/set-clone.js"(e,t){p();var r=zt(),n=Gt(),o=r.Set,s=r.add;t.exports=function(e){var t=new o;return n(e,(function(e){s(t,e)})),t}}}),Xt=d({"node_modules/core-js/internals/function-uncurry-this-accessor.js"(e,t){p();var r=b(),n=I();t.exports=function(e,t,o){try{return r(n(Object.getOwnPropertyDescriptor(e,t)[o]))}catch(e){}}}}),Yt=d({"node_modules/core-js/internals/set-size.js"(e,t){p();var r=Xt(),n=zt();t.exports=r(n.proto,"size","get")||function(e){return e.size}}}),Zt=d({"node_modules/core-js/internals/get-set-record.js"(e,t){p();var r=I(),n=ee(),o=w(),s=fe(),i=Fe(),a="Invalid size",c=RangeError,l=TypeError,d=Math.max,u=function(e,t){this.set=e,this.size=d(t,0),this.has=r(e.has),this.keys=r(e.keys)};u.prototype={getIterator:function(){return i(n(o(this.keys,this.set)))},includes:function(e){return o(this.has,this.set,e)}},t.exports=function(e){n(e);var t=+e.size;if(t!=t)throw new l(a);var r=s(t);if(r<0)throw new c(a);return new u(e,r)}}}),er=d({"node_modules/core-js/internals/set-difference.js"(e,t){p();var r=Bt(),n=zt(),o=Ht(),s=Yt(),i=Zt(),a=Gt(),c=Qt(),l=n.has,d=n.remove;t.exports=function(e){var t=r(this),n=i(e),u=o(t);return s(u)<=n.size?a(u,(function(e){n.includes(e)&&d(u,e)})):c(n.getIterator(),(function(e){l(u,e)&&d(u,e)})),u}}}),tr=d({"node_modules/core-js/modules/esnext.set.difference.js"(){p();var e=$e(),t=w(),r=Kt(),n=er();e({target:"Set",proto:!0,real:!0,forced:!0},{difference:function(e){return t(n,this,r(e))}})}}),rr=d({"node_modules/core-js/modules/esnext.set.every.js"(){p();var e=$e(),t=at(),r=Bt(),n=Gt();e({target:"Set",proto:!0,real:!0,forced:!0},{every:function(e){var o=r(this),s=t(e,arguments.length>1?arguments[1]:void 0);return!1!==n(o,(function(e){if(!s(e,e,o))return!1}),!0)}})}}),nr=d({"node_modules/core-js/modules/esnext.set.filter.js"(){p();var e=$e(),t=at(),r=Bt(),n=zt(),o=Gt(),s=n.Set,i=n.add;e({target:"Set",proto:!0,real:!0,forced:!0},{filter:function(e){var n=r(this),a=t(e,arguments.length>1?arguments[1]:void 0),c=new s;return o(n,(function(e){a(e,e,n)&&i(c,e)})),c}})}}),or=d({"node_modules/core-js/modules/esnext.set.find.js"(){p();var e=$e(),t=at(),r=Bt(),n=Gt();e({target:"Set",proto:!0,real:!0,forced:!0},{find:function(e){var o=r(this),s=t(e,arguments.length>1?arguments[1]:void 0),i=n(o,(function(e){if(s(e,e,o))return{value:e}}),!0);return i&&i.value}})}}),sr=d({"node_modules/core-js/internals/set-intersection.js"(e,t){p();var r=Bt(),n=zt(),o=Yt(),s=Zt(),i=Gt(),a=Qt(),c=n.Set,l=n.add,d=n.has;t.exports=function(e){var t=r(this),n=s(e),u=new c;return o(t)>n.size?a(n.getIterator(),(function(e){d(t,e)&&l(u,e)})):i(t,(function(e){n.includes(e)&&l(u,e)})),u}}}),ir=d({"node_modules/core-js/modules/esnext.set.intersection.js"(){p();var e=$e(),t=w(),r=Kt(),n=sr();e({target:"Set",proto:!0,real:!0,forced:!0},{intersection:function(e){return t(n,this,r(e))}})}}),ar=d({"node_modules/core-js/internals/set-is-disjoint-from.js"(e,t){p();var r=Bt(),n=zt().has,o=Yt(),s=Zt(),i=Gt(),a=Qt(),c=Qe();t.exports=function(e){var t=r(this),l=s(e);if(o(t)<=l.size)return!1!==i(t,(function(e){if(l.includes(e))return!1}),!0);var d=l.getIterator();return!1!==a(d,(function(e){if(n(t,e))return c(d.iterator,"normal",!1)}))}}}),cr=d({"node_modules/core-js/modules/esnext.set.is-disjoint-from.js"(){p();var e=$e(),t=w(),r=Kt(),n=ar();e({target:"Set",proto:!0,real:!0,forced:!0},{isDisjointFrom:function(e){return t(n,this,r(e))}})}}),lr=d({"node_modules/core-js/internals/set-is-subset-of.js"(e,t){p();var r=Bt(),n=Yt(),o=Gt(),s=Zt();t.exports=function(e){var t=r(this),i=s(e);return!(n(t)>i.size)&&!1!==o(t,(function(e){if(!i.includes(e))return!1}),!0)}}}),dr=d({"node_modules/core-js/modules/esnext.set.is-subset-of.js"(){p();var e=$e(),t=w(),r=Kt(),n=lr();e({target:"Set",proto:!0,real:!0,forced:!0},{isSubsetOf:function(e){return t(n,this,r(e))}})}}),ur=d({"node_modules/core-js/internals/set-is-superset-of.js"(e,t){p();var r=Bt(),n=zt().has,o=Yt(),s=Zt(),i=Qt(),a=Qe();t.exports=function(e){var t=r(this),c=s(e);if(o(t)<c.size)return!1;var l=c.getIterator();return!1!==i(l,(function(e){if(!n(t,e))return a(l.iterator,"normal",!1)}))}}}),fr=d({"node_modules/core-js/modules/esnext.set.is-superset-of.js"(){p();var e=$e(),t=w(),r=Kt(),n=ur();e({target:"Set",proto:!0,real:!0,forced:!0},{isSupersetOf:function(e){return t(n,this,r(e))}})}}),pr=d({"node_modules/core-js/modules/esnext.set.join.js"(){p();var e=$e(),t=b(),r=Bt(),n=Gt(),o=$t(),s=t([].join),i=t([].push);e({target:"Set",proto:!0,real:!0,forced:!0},{join:function(e){var t=r(this),a=void 0===e?",":o(e),c=[];return n(t,(function(e){i(c,e)})),s(c,a)}})}}),yr=d({"node_modules/core-js/modules/esnext.set.map.js"(){p();var e=$e(),t=at(),r=Bt(),n=zt(),o=Gt(),s=n.Set,i=n.add;e({target:"Set",proto:!0,real:!0,forced:!0},{map:function(e){var n=r(this),a=t(e,arguments.length>1?arguments[1]:void 0),c=new s;return o(n,(function(e){i(c,a(e,e,n))})),c}})}}),hr=d({"node_modules/core-js/modules/esnext.set.reduce.js"(){p();var e=$e(),t=I(),r=Bt(),n=Gt(),o=TypeError;e({target:"Set",proto:!0,real:!0,forced:!0},{reduce:function(e){var s=r(this),i=arguments.length<2,a=i?void 0:arguments[1];if(t(e),n(s,(function(t){i?(i=!1,a=t):a=e(a,t,t,s)})),i)throw new o("Reduce of empty set with no initial value");return a}})}}),mr=d({"node_modules/core-js/modules/esnext.set.some.js"(){p();var e=$e(),t=at(),r=Bt(),n=Gt();e({target:"Set",proto:!0,real:!0,forced:!0},{some:function(e){var o=r(this),s=t(e,arguments.length>1?arguments[1]:void 0);return!0===n(o,(function(e){if(s(e,e,o))return!0}),!0)}})}}),vr=d({"node_modules/core-js/internals/set-symmetric-difference.js"(e,t){p();var r=Bt(),n=zt(),o=Ht(),s=Zt(),i=Qt(),a=n.add,c=n.has,l=n.remove;t.exports=function(e){var t=r(this),n=s(e).getIterator(),d=o(t);return i(n,(function(e){c(t,e)?l(d,e):a(d,e)})),d}}}),wr=d({"node_modules/core-js/modules/esnext.set.symmetric-difference.js"(){p();var e=$e(),t=w(),r=Kt(),n=vr();e({target:"Set",proto:!0,real:!0,forced:!0},{symmetricDifference:function(e){return t(n,this,r(e))}})}}),gr=d({"node_modules/core-js/internals/set-union.js"(e,t){p();var r=Bt(),n=zt().add,o=Ht(),s=Zt(),i=Qt();t.exports=function(e){var t=r(this),a=s(e).getIterator(),c=o(t);return i(a,(function(e){n(c,e)})),c}}}),jr=d({"node_modules/core-js/modules/esnext.set.union.js"(){p();var e=$e(),t=w(),r=Kt(),n=gr();e({target:"Set",proto:!0,real:!0,forced:!0},{union:function(e){return t(n,this,r(e))}})}}),br=d({"dist/data/utilities/parsers/splitClauses.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.whereHint=e.splitClauses=e.clauseOrder=void 0,It(),Vt(),Wt(),tr(),rr(),nr(),or(),ir(),cr(),dr(),fr(),pr(),yr(),hr(),mr(),wr(),jr();var t=Mt(),r=e.clauseOrder={read:["select","on","merge","where","group by","sort","limit","offset"],insert:["values"],update:["set","where"],delete:["where"]},n=[...new Set(Object.values(r).flat())],o=/^\s*(delete|insert|read|update)\s+([a-z0-9_-]+(\s*\.[a-z0-9_-]+)?)/i,s=new RegExp(`${t.placeholderSource}|${t.arraySource}|[a-z0-9_.-]+|<>|!=|>=|<=|\\S`,"gi"),i=["=","!=","<>",">","<",">=","<=","in","between","like","is","exists","does"],a={on:e=>"and"===e,merge:()=>!0},c=e.whereHint="use and / or inside one where clause (where a = 1 and b = 2)";e.splitClauses=e=>{const t=e.match(o);if(!t)return;const l=t[1].toLowerCase(),d=r[l],u=/^[aeiou]/.test(l)?"an":"a";if(t[3]&&"read"!==l)throw new Error(`A joined record (${t[2]}) isn't allowed in ${u} ${l} query`);const f=[...e.slice(t[0].length).matchAll(s)].map((({0:e,index:r})=>({text:e,lower:e.toLowerCase(),start:t[0].length+r}))),p=[];let y=0,h=!1;for(let e=0;e<f.length;e++){const{lower:t,start:r}=f[e],o=f[e-1]?.lower,s=f[e+1]?.lower;"("!==t&&")"!==t||(y+="("===t?1:-1);const m="group"===t&&"by"===s?"group by":t,v=h||","===o||"as"===o||i.includes(s);if(h=!1,y>0||"by"===m||!n.includes(m)||v)continue;const w=p[p.length-1]?.keyword;if(w===m&&a[m]?.(o))continue;const g=p.some((e=>"where"===e.keyword));if("where"===m&&g&&("and"===o||"or"===o))throw new Error(`"${o} where" is no longer supported: ${c}`);if(!d.includes(m))throw new Error(`"${m}" isn't allowed in ${u} ${l} query (allowed: ${d.join(", ")})`);if(w&&d.indexOf(m)<d.indexOf(w))throw new Error(`"${m}" can't come after "${w}" (order: ${d.join(", ")})`);if(p.some((e=>e.keyword===m)))throw new Error(`Only one "${m}" clause is allowed${"where"===m?`: ${c}`:""}`);"group by"===m&&e++,p.push({keyword:m,start:r,end:f[e].start+f[e].text.length}),h=!0}return{command:l,head:t[0].trim(),leading:e.slice(t[0].length,p[0]?.start??e.length).trim(),clauses:p.map((({keyword:t,end:r},n)=>({keyword:t,body:e.slice(r,p[n+1]?.start??e.length).trim()})))}}}}),_r=d({"dist/data/utilities/parsers/findConditions.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findConditions=void 0,It(),Ke(),qt();var t=Rt(),r=Lt(),n=Mt(),o=br(),s="(?![a-z0-9_.-])",i=e=>new RegExp(`^(?:${e})${s}`,"i"),a=new RegExp(`^([a-z0-9_-]+\\.?[a-z0-9_-]*)\\s+(?:(is\\s+not\\s+null|is\\s+null|exists|does\\s+not\\s+exist)${s}|(<>|!=|>=|<=|=|>|<|in|between|like)\\s+(${n.placeholderSource}|(${t.numberSource})|${n.arraySource}|(null)|(true)|(false)))`,"i"),c=(e,t)=>{const n=t.flatMap((t=>!(0,r.isCondition)(t)&&e in t?t[e]:[t]));return 1===n.length?n[0]:"and"===e?{and:n}:{or:n}},l=e=>{let r=0;const s=()=>e.slice(r),l=()=>{r+=s().length-s().trimStart().length},d=e=>{l();const t=s().match(e);if(t)return r+=t[0].length,t[0]},u=()=>(0,n.unmaskStrings)(s().trim(),"'"),f=e=>{l();const n=s().match(a);if(n)return r+=n[0].length,(e=>{const r=e[1];if(void 0!==e[2])return{property:r,comparator:e[2].toLowerCase().replace(/\s+/g," "),value:null};const n=e[3].toLowerCase(),o=(0,t.parseLiteralValue)(e,5);if(null===o)throw new Error(`\`${r} ${n} null\` never matches (null equals nothing, as in SQL): use \`${r} is null\` or \`${r} is not null\``);if("between"===n&&Array.isArray(o)&&o.includes(null))throw new Error(`\`${r} between\` can't have a null bound: it would never match`);return{property:r,comparator:n,value:o}})(n);if(("and"===e||"or"===e)&&i("where").test(s()))throw new Error(`"${e} where" is no longer supported: ${o.whereHint}`);if(d(i("not")))return{not:f("not")};if(d(/^\(/)){if(l(),s().startsWith(")"))throw new Error("Empty brackets in a where clause");const e=y("(");if(!d(/^\)/))throw new Error("Missing ) "+(s().trim()?`before: ${u()}`:"at the end of the where clause"));return e}throw new Error(`Missing a condition after ${e}${s().trim()?`: ${u()}`:""}`)},p=e=>{const t=[f(e)];for(;;){const e=d(i("and"));if(!e)break;t.push(f(e.toLowerCase().replace(/\s+/g," ")))}return c("and",t)},y=e=>{const t=[p(e)];for(;;){const e=d(i("or"));if(!e)break;t.push(p(e.toLowerCase().replace(/\s+/g," ")))}return c("or",t)},h=y("where");if(l(),s().startsWith(")"))throw new Error(`Unexpected ) in a where clause: ${u()}`);if(a.test(s()))throw new Error(`Missing and/or before: ${u()}`);return{node:h,end:r}};e.findConditions=(e,t)=>{const{node:r,end:n}=l(t);return e.where=r,t.slice(n).trim()}}}),xr=d({"dist/data/utilities/parsers/findJoinClauses.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findJoinClauses=void 0;var t=/^([a-z0-9_-]+\.[a-z0-9_-]+)\s+(=|!=|>|<|>=|<=|in|between|like)\s+([a-z0-9_-]+\.[a-z0-9_-]+)(?![a-z0-9._-])/i,r=/^and\s+on\s+/i;e.findJoinClauses=(e,n)=>{let o=n;for(let n=o.match(t);n;n=o.match(t)){e.joinClauses.push({propertyA:n[1],comparator:n[2],propertyB:n[3]}),o=o.slice(n[0].length).trim();const s=o.match(r);if(!s||!t.test(o.slice(s[0].length)))break;o=o.slice(s[0].length)}return o}}}),$r=d({"dist/data/utilities/parsers/findMergeJoins.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findMergeJoins=void 0;var t=/^([a-z0-9_-]+\.[a-z0-9_-]+)\s+with\s+([a-z0-9_-]+\.[a-z0-9_-]+)(?![a-z0-9._-])/i,r=/^(?:and\s+)?merge\s+/i;e.findMergeJoins=(e,n)=>{let o=n;for(let n=o.match(t);n;n=o.match(t)){e.mergeJoins.push({propertyA:n[1],propertyB:n[2]}),o=o.slice(n[0].length).trim();const s=o.match(r);if(!s||!t.test(o.slice(s[0].length)))break;o=o.slice(s[0].length)}return o}}}),Or=d({"dist/data/utilities/parsers/findSortClauses.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findSortClauses=void 0;var t="[a-z0-9._-]+(?:\\s+(?:asc|desc)(?![a-z0-9._-]))?",r=new RegExp(`^${t}(?:\\s*,\\s*${t})*`,"i"),n=/,?\s*([a-z0-9._-]+)(?:\s+(asc|desc)(?![a-z0-9._-]))?/gi;e.findSortClauses=(e,t)=>{const o=t.match(r);if(o){const r=o[0].matchAll(n);for(const t of r)e.sortClauses.push({property:t[1],direction:(t[2]||"asc").toLowerCase()});return t.slice(o[0].length).trim()}return t}}}),Er=d({"node_modules/core-js/modules/es.iterator.find.js"(){p();var e=$e(),t=w(),r=ft(),n=I(),o=ee(),s=Fe(),i=Qe(),a=Ye()("find",TypeError);e({target:"Iterator",proto:!0,real:!0,forced:a},{find:function(e){o(this);try{n(e)}catch(e){i(this,"throw",e)}if(a)return t(a,this,e);var c=s(this),l=0;return r(c,(function(t,r){if(e(t,l++))return r(t)}),{IS_RECORD:!0,INTERRUPTED:!0}).result}})}}),kr=d({"node_modules/core-js/modules/esnext.iterator.find.js"(){p(),Er()}}),Pr=d({"dist/data/utilities/parsers/findGroupBy.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findGroupBy=void 0,Ke(),kr();var t=/^[a-z0-9._-]+(?:\s*,\s*[a-z0-9._-]+)*/i;e.findGroupBy=(e,r)=>{const n=r.match(t);if(n){const t=n[0].split(/\s*,\s*/),o=t.find(((e,r)=>t.indexOf(e)!==r));if(o)throw new Error(`"${o}" is in group by twice`);return e.groupBy=t,r.slice(n[0].length).trim()}return r}}}),Sr=d({"dist/data/utilities/parsers/findLimit.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findLimit=void 0;var t=/^(\d+)/;e.findLimit=(e,r)=>{const n=r.match(t);return n?(e.limit=n?parseInt(n[1]):void 0,r.slice(n[0].length).trim()):r}}}),Mr=d({"dist/data/utilities/parsers/findOffset.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findOffset=void 0;var t=/^(\d+)/;e.findOffset=(e,r)=>{const n=r.match(t);return n?(e.offset=n?parseInt(n[1]):void 0,r.slice(n[0].length).trim()):r}}}),Rr=d({"dist/data/introspect/policies/typeCheck.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.typeCheck=e.fieldTypes=void 0;e.fieldTypes=["string","int","boolean","object","array"];e.typeCheck=(e="string",t=void 0,r=!1)=>{if(void 0===t)return t;if(null===t){if(r)return t;throw new Error('Value "null" is not allowed: the field is not nullable')}switch(e){case"string":return"string"==typeof t?t:String(t);case"int":{const e=Number(t);if(Number.isNaN(e)||!Number.isInteger(e))throw new Error(`Value "${t}" is not a valid int`);if(!Number.isSafeInteger(e))throw new Error(`Value "${t}" is too large for an int (the largest is ${Number.MAX_SAFE_INTEGER})`);return e}case"boolean":if("boolean"==typeof t)return t;if("true"===t)return!0;if("false"===t)return!1;throw new Error(`Value "${t}" is not a valid boolean`);case"object":if("object"!=typeof t||null===t||Array.isArray(t))throw new Error(`Value "${t}" is not a valid object`);return t;case"array":if(!Array.isArray(t))throw new Error(`Value "${t}" is not a valid array`);return t;default:return t}}}}),Dr=d({"dist/data/utilities/parsers/startsQuery.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.startsQueryMatch=void 0;e.startsQueryMatch=/^\s*(alter|create|delete|describe|drop|insert|read|show|update|use)(?![a-z0-9_-])/i}}),Cr=d({"dist/data/utilities/parsers/parseCreate.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.parseField=e.parseCreate=e.nameSource=e.nameMatch=e.keyLookup=e.fieldMatch=e.createMatch=void 0,It(),Ke(),st(),kr(),nt(),St(),Vt(),Wt(),tr(),rr(),nr(),or(),ir(),cr(),dr(),fr(),pr(),yr(),hr(),mr(),wr(),jr();var t=Rr(),r=Mt(),n=Rt(),o=Dr(),s=(e.createMatch=/^\s*create(?![a-z0-9_-])/i,/^\s*create\s+(if\s+not\s+exists\s+)?([a-z0-9_-]+)\s*\(/i),i=e.nameSource="[a-z0-9_-]+",a=e.nameMatch=new RegExp(`^${i}$`,"i"),c=new RegExp(`^${n.numberSource}$`,"i"),l=e.fieldMatch=new RegExp(`^(${i})\\s+(${i})((?:\\s[\\s\\S]*)?)$`,"i"),d=/^primary\s+key\s*\(([^()]*)\)$/i,u=/^unique\s*\(([^()]*)\)$/i,f=/^index\s*\(([^()]*)\)$/i,y=new RegExp(`^foreign\\s+key\\s*\\(([^()]*)\\)\\s*references\\s+(${i})\\s*\\(([^()]*)\\)$`,"i"),h=new RegExp(`^${r.placeholderSource}$`),m=new RegExp(`^${r.arraySource}$`),v={primary:"pk",unique:"unique",index:"index",foreign:"fk"},w=(e,t)=>`${v[e]}_${t.join("_")}.json`;e.keyLookup=w;var g=e=>(0,r.unmaskStrings)(e.trim(),"'"),j=(e,t)=>{const r=e.split(",").map((e=>e.trim()));if(r.some((e=>!a.test(e))))throw new Error(`Expected field names separated by commas in: ${g(t)}`);if(new Set(r).size!==r.length)throw new Error(`The same field is named twice in: ${g(t)}`);return r},b=e=>{if(void 0===e)throw new Error("Missing a value after default");const t=e.match(h);if(t)return(0,r.fromPlaceholder)(t[1]);const o=e.match(m);if(o)return JSON.parse((0,r.fromPlaceholder)(o[1]));if(c.test(e))return(0,n.parseNumber)(e);switch(e.toLowerCase()){case"null":return null;case"true":return!0;case"false":return!1}throw new Error(`Unrecognized default value: ${g(e)}`)},_=e=>{const[r,n,o,s]=e,i=o.toLowerCase();if(!t.fieldTypes.includes(i))throw new Error(`Unknown type "${o}" for field "${n}" (expected ${t.fieldTypes.join(", ")})`);const a={name:n,type:i,optional:!1,autoGenerate:!1},c=new Set,l=e=>{if(c.has(e))throw new Error(`"${e}" is given twice for field "${n}"`);c.add(e)},d=""===s.trim()?[]:s.trim().split(/\s+/);for(let e=0;e<d.length;e++){const t=d[e].toLowerCase();if("optional"===t)l("optional"),a.optional=!0;else if("auto"===t)l("auto"),a.autoGenerate=!0;else if("null"===t)l("null"),a.nullable=!0;else if("not"===t&&"null"===(d[e+1]||"").toLowerCase())l("null"),a.nullable=!1,e++;else{if("default"!==t)throw new Error(`Unrecognized "${g(d[e])}" for field "${n}" in: ${g(r)}`);l("default"),a.useDefault=!0,a.defaultValue=b(d[++e])}}if(a.autoGenerate&&a.useDefault)throw new Error(`Field "${n}" can't be both auto and have a default`);if(a.autoGenerate&&"string"!==i)throw new Error(`Field "${n}" is auto, which generates a UUID, so its type must be string`);return a};e.parseField=_;var x=e=>{let t=e.match(d);if(t)return{type:"primary",fields:j(t[1],e)};if(t=e.match(u),t)return{type:"unique",fields:j(t[1],e)};if(t=e.match(f),t)return{type:"index",fields:j(t[1],e)};if(t=e.match(y),t){const r=j(t[1],e),n=j(t[3],e);if(1!==r.length||1!==n.length)throw new Error(`Only single-field foreign keys are supported so far: ${g(e)}`);return{type:"foreign",fields:r,references:[{fields:[`${t[2]}.${n[0]}`],lookup:`${t[2]}.json`}]}}return null},$=(e,t)=>{const r=e.map((e=>e.name));if(t.filter((e=>"primary"===e.type)).length>1)throw new Error("Only one primary key is allowed");const n=new Set;return t.map((e=>{const t=e.fields.find((e=>!r.includes(e)));if(t)throw new Error(`The ${e.type} key (${e.fields.join(", ")}) names "${t}", which is not a field`);const o=w(e.type,e.fields);if(n.has(o))throw new Error(`The same ${e.type} key on "${e.fields.join(", ")}" is given twice`);return n.add(o),Object.assign({type:e.type,fields:e.fields,lookup:o},e.references?{references:e.references}:{})}))};e.parseCreate=e=>{const t=e.match(s);if(!t)throw new Error("Expected: create [if not exists] <name> (<fields and keys>)");const r=t[2];if("__RECORDS"===r)throw new Error("__RECORDS is reserved for the list of records");const n=t[0].length-1,i=((e,t)=>{let r=0;for(let n=t;n<e.length;n++)if("("===e[n])r++;else if(")"===e[n]&&(r--,0===r))return n;return-1})(e,n);if(-1===i)throw new Error("Missing ) at the end of the field list");const a=e.slice(i+1).trim();if(a){if(o.startsQueryMatch.test(a))throw new Error(`Missing ; before: ${g(a)}`);throw new Error(`Unrecognized query value: ${g(a)}`)}const c=e.slice(n+1,i),d=[],u=[];if(c.trim())for(const e of(e=>{const t=[];let r=0,n=0;for(let o=0;o<e.length;o++)"("===e[o]?r++:")"===e[o]?r--:","===e[o]&&0===r&&(t.push(e.slice(n,o)),n=o+1);return t.push(e.slice(n)),t.map((e=>e.trim()))})(c)){if(!e)throw new Error("Empty item in the field list (an extra comma?)");const t=x(e);if(t){u.push(t);continue}const r=e.match(l);if(!r)throw new Error(`Expected a field (<name> <type> ...) or a key in: ${g(e)}`);const n=_(r);if(d.some((e=>e.name===n.name)))throw new Error(`Field "${n.name}" is given twice`);d.push(n)}return{entity:r,create:{ifNotExists:Boolean(t[1]),definition:d,keys:$(d,u)}}}}}),Fr=d({"dist/data/utilities/parsers/parseSchemaStatement.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.schemaStatementMatch=e.parseSchemaStatement=void 0;var t=Mt(),r=Dr(),n=e.schemaStatementMatch=/^\s*(drop|describe|show)(?![a-z0-9_-])/i,o=/^\s*drop\s+(if\s+exists\s+)?([a-z0-9_-]+)/i,s=/^\s*describe\s+([a-z0-9_-]+)/i,i=/^\s*show\s+records(?![a-z0-9_-])/i,a=e=>{const n=e.trim();if(!n)return;const o=(0,t.unmaskStrings)(n,"'");if(r.startsQueryMatch.test(n))throw new Error(`Missing ; before: ${o}`);throw new Error(`Unrecognized query value: ${o}`)},c=e=>{if("__RECORDS"===e)throw new Error("__RECORDS is reserved for the list of records (use: show records)")};e.parseSchemaStatement=e=>{const t=e.match(n)[1].toLowerCase();if("drop"===t){const t=e.match(o);if(!t||/^\s*drop\s+if\s+exists\s*$/i.test(e))throw new Error("Expected: drop [if exists] <name>");return c(t[2]),a(e.slice(t[0].length)),{command:"drop",entity:t[2],ifExists:Boolean(t[1])}}if("describe"===t){const t=e.match(s);if(!t)throw new Error("Expected: describe <name>");return c(t[1]),a(e.slice(t[0].length)),{command:"describe",entity:t[1],ifExists:!1}}const r=e.match(i);if(!r)throw new Error("Expected: show records (the only thing that can be shown so far)");return a(e.slice(r[0].length)),{command:"show",entity:"__RECORDS",ifExists:!1}}}}),Ar=d({"dist/data/utilities/parsers/parseAlter.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.parseAlter=e.alterMatch=void 0;var t=Cr(),r=Mt(),n=Dr(),o=(e.alterMatch=/^\s*alter(?![a-z0-9_-])/i,new RegExp(`^\\s*alter\\s+(${t.nameSource})\\s+(add|drop|rename|modify)(?![a-z0-9_-])([\\s\\S]*)$`,"i")),s=new RegExp(`^\\s*(${t.nameSource})\\s+to\\s+(${t.nameSource})\\s*$`,"i"),i=e=>(0,r.unmaskStrings)(e.trim(),"'"),a=e=>{const r=e.trim().match(t.fieldMatch);if(!r)throw new Error(`Expected a field (<name> <type> ...) in: ${i(e)}`);return(0,t.parseField)(r)};e.parseAlter=e=>{const r=e.match(o);if(!r)throw new Error("Expected: alter <record> add <field> <type> ..., drop <field>, rename <field> to <name>, or modify <field> <type> ...");const[,c,l,d]=r;if("__RECORDS"===c)throw new Error("__RECORDS is reserved for the list of records");const u=l.toLowerCase();if(n.startsQueryMatch.test(d.trim())&&!/^\s*(add|drop|rename|modify)\b/i.test(d))throw new Error(`Missing ; before: ${i(d)}`);switch(u){case"add":case"modify":return{entity:c,alter:{action:u,field:a(d)}};case"drop":{const e=d.trim();if(!t.nameMatch.test(e))throw new Error(`Expected: alter ${c} drop <field>${e?` (got: ${i(e)})`:""}`);return{entity:c,alter:{action:u,name:e}}}default:{const e=d.match(s);if(!e)throw new Error(`Expected: alter ${c} rename <field> to <name>${d.trim()?` (got: ${i(d)})`:""}`);return{entity:c,alter:{action:"rename",name:e[1],to:e[2]}}}}}}}),Tr=d({"dist/data/utilities/parsers/parseDatabaseStatement.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.parseDatabaseStatement=e.databaseStatementMatch=void 0;var t=Mt(),r=Dr(),n=(e.databaseStatementMatch=/^\s*(?:(?:create|drop)\s+database\s+(?!\()[a-z0-9_-]|show\s+databases(?![a-z0-9_-])|use(?![a-z0-9_.-]))/i,/^\s*create\s+database\s+(if\s+not\s+exists\s+)?([a-z0-9_-]+)/i),o=/^\s*drop\s+database\s+(if\s+exists\s+)?([a-z0-9_-]+)/i,s=/^\s*use\s+([a-z0-9_-]+)/i,i=/^\s*show\s+databases/i,a=e=>{const n=e.trim();if(!n)return;const o=(0,t.unmaskStrings)(n,"'");if(r.startsQueryMatch.test(n))throw new Error(`Missing ; before: ${o}`);throw new Error(`Unrecognized query value: ${o}`)};e.parseDatabaseStatement=e=>{const t={ifExists:!1,ifNotExists:!1};let r=e.match(n);if(r)return a(e.slice(r[0].length)),{...t,command:"create database",entity:r[2],ifNotExists:Boolean(r[1])};if(r=e.match(o),r)return a(e.slice(r[0].length)),{...t,command:"drop database",entity:r[2],ifExists:Boolean(r[1])};if(r=e.match(i),r)return a(e.slice(r[0].length)),{...t,command:"show databases",entity:"__DATABASES"};if(r=e.match(s),!r)throw new Error("Expected: use <database>");return a(e.slice(r[0].length)),{...t,command:"use",entity:r[1]}}}}),Ir=d({"dist/data/utilities/parsers/parseQuery.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.parseQuery=void 0;var t=wt(),r=Dt(),n=Ct(),o=Ft(),s=At(),i=_r(),a=Lt(),c=xr(),l=$r(),d=Or(),u=Pr(),f=Sr(),y=Mr(),h=Mt(),m=Cr(),v=Fr(),w=Ar(),g=Tr(),j=br(),b=Dr(),_={values:{step:r.findInsertValues,expected:"an assignment (field = value)"},set:{step:n.findUpdateValues,expected:"an assignment (field = value)"},select:{step:s.findSelects,expected:"a field"},on:{step:c.findJoinClauses,expected:"a join condition (a.x = b.y)"},merge:{step:l.findMergeJoins,expected:"a merge (a.x with b.y)"},where:{step:i.findConditions,expected:"a condition"},"group by":{step:u.findGroupBy,expected:"a field"},sort:{step:d.findSortClauses,expected:"a field"},limit:{step:f.findLimit,expected:"a whole number"},offset:{step:y.findOffset,expected:"a whole number"}},x=(e,t)=>{const r=e=>(0,h.unmaskStrings)(e,"'");return b.startsQueryMatch.test(e)?new Error(`Missing ; before: ${r(e)}`):new Error(`Unexpected "${r(e)}" after "${r(t)}"`)};e.parseQuery=e=>{const r={command:void 0,entity:void 0,joinEntity:void 0,selectClauses:[],insertValues:[],updateValues:{},where:void 0,joinClauses:[],mergeJoins:[],sortClauses:[],groupBy:void 0,limit:void 0,offset:void 0,create:void 0,ifExists:void 0};if(e=(0,h.maskArrays)((0,h.maskStrings)(e)),g.databaseStatementMatch.test(e))return Object.assign(r,(0,g.parseDatabaseStatement)(e));if(m.createMatch.test(e)){const{entity:t,create:n}=(0,m.parseCreate)(e);return Object.assign(r,{command:"create",entity:t,create:n})}if(v.schemaStatementMatch.test(e))return Object.assign(r,(0,v.parseSchemaStatement)(e));if(w.alterMatch.test(e)){const{entity:t,alter:n}=(0,w.parseAlter)(e);return Object.assign(r,{command:"alter",entity:t,alter:n})}const n=(0,j.splitClauses)(e);if(!n){if(e=e.trim(),b.startsQueryMatch.test(e))throw new Error(`Missing ; before: ${(0,h.unmaskStrings)(e,"'")}`);throw new Error(`Unrecognized query value: ${(0,h.unmaskStrings)(e,"'")}`)}if((0,o.findJoinEntity)(r,(0,t.findCommand)(r,n.head)),r.where=(0,a.allOf)([]),n.leading)throw x(n.leading,n.head);for(const{keyword:e,body:t}of n.clauses){const{step:n,expected:o}=_[e],s=n(r,t);if(s===t)throw new Error(`Missing ${o} after ${e}${t?`: ${(0,h.unmaskStrings)(t,"'")}`:""}`);if(s)throw x(s,`${e} ${t.slice(0,t.length-s.length).trim()}`)}if((r.joinClauses||[]).length&&!r.joinEntity)throw new Error(`"on" needs the record to join, after the one read: ${r.command} ${r.entity}.<record> on ...`);return r}}}),Nr=d({"dist/data/queries/parser.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.parser=void 0,Ke(),nt();var t=vt(),r=Ir();e.parser=(e="")=>{const n=(0,t.splitQueries)(e);return n.map(((e,t)=>{try{return(0,r.parseQuery)(e)}catch(r){const o=n.length>1?` query ${t+1} of ${n.length}`:"";throw new Error(`Failed to interpret${o}: ${e} (${r.message})`)}}))}}}),Jr=d({"node_modules/core-js/internals/weak-map-helpers.js"(e,t){p();var r=b(),n=WeakMap.prototype;t.exports={WeakMap:WeakMap,set:r(n.set),get:r(n.get),has:r(n.has),remove:r(n.delete)}}}),qr=d({"node_modules/core-js/internals/a-weak-map.js"(e,t){p();var r=Jr().has;t.exports=function(e){return r(e),e}}}),Lr=d({"node_modules/core-js/modules/esnext.weak-map.delete-all.js"(){p();var e=$e(),t=qr(),r=Jr().remove;e({target:"WeakMap",proto:!0,real:!0,forced:!0},{deleteAll:function(){for(var e,n=t(this),o=!0,s=0,i=arguments.length;s<i;s++)e=r(n,arguments[s]),o=o&&e;return!!o}})}}),zr=d({"node_modules/browser-or-node/dist/index.js"(t,r){p();var n,o=Object.defineProperty,s=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,c={};((e,t)=>{for(var r in t)o(e,r,{get:t[r],enumerable:!0})})(c,{isBrowser:()=>l,isBun:()=>h,isDeno:()=>y,isJsDom:()=>f,isNode:()=>d,isWebWorker:()=>u}),r.exports=(n=c,((e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let c of i(t))a.call(e,c)||c===r||o(e,c,{get:()=>t[c],enumerable:!(n=s(t,c))||n.enumerable});return e})(o({},"__esModule",{value:!0}),n));var l="undefined"!=typeof window&&void 0!==window.document,d=void 0!==e.default&&null!=e.default.versions&&null!=e.default.versions.node,u="object"==typeof self&&self.constructor&&"DedicatedWorkerGlobalScope"===self.constructor.name,f="undefined"!=typeof window&&"nodejs"===window.name||"undefined"!=typeof navigator&&"userAgent"in navigator&&"string"==typeof navigator.userAgent&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),y="undefined"!=typeof Deno&&void 0!==Deno.version&&void 0!==Deno.version.deno,h=void 0!==e.default&&null!=e.default.versions&&null!=e.default.versions.bun}}),Br=d({"node_modules/path-browserify/index.js"(t,r){function n(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function o(e,t){for(var r,n="",o=0,s=-1,i=0,a=0;a<=e.length;++a){if(a<e.length)r=e.charCodeAt(a);else{if(47===r)break;r=47}if(47===r){if(s===a-1||1===i);else if(s!==a-1&&2===i){if(n.length<2||2!==o||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2))if(n.length>2){var c=n.lastIndexOf("/");if(c!==n.length-1){-1===c?(n="",o=0):o=(n=n.slice(0,c)).length-1-n.lastIndexOf("/"),s=a,i=0;continue}}else if(2===n.length||1===n.length){n="",o=0,s=a,i=0;continue}t&&(n.length>0?n+="/..":n="..",o=2)}else n.length>0?n+="/"+e.slice(s+1,a):n=e.slice(s+1,a),o=a-s-1;s=a,i=0}else 46===r&&-1!==i?++i:i=-1}return n}p();var s={resolve:function(){for(var t,r="",s=!1,i=arguments.length-1;i>=-1&&!s;i--){var a;i>=0?a=arguments[i]:(void 0===t&&(t=e.default.cwd()),a=t),n(a),0!==a.length&&(r=a+"/"+r,s=47===a.charCodeAt(0))}return r=o(r,!s),s?r.length>0?"/"+r:"/":r.length>0?r:"."},normalize:function(e){if(n(e),0===e.length)return".";var t=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=o(e,!t)).length||t||(e="."),e.length>0&&r&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return n(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,t=0;t<arguments.length;++t){var r=arguments[t];n(r),r.length>0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":s.normalize(e)},relative:function(e,t){if(n(e),n(t),e===t)return"";if((e=s.resolve(e))===(t=s.resolve(t)))return"";for(var r=1;r<e.length&&47===e.charCodeAt(r);++r);for(var o=e.length,i=o-r,a=1;a<t.length&&47===t.charCodeAt(a);++a);for(var c=t.length-a,l=i<c?i:c,d=-1,u=0;u<=l;++u){if(u===l){if(c>l){if(47===t.charCodeAt(a+u))return t.slice(a+u+1);if(0===u)return t.slice(a+u)}else i>l&&(47===e.charCodeAt(r+u)?d=u:0===u&&(d=0));break}var f=e.charCodeAt(r+u);if(f!==t.charCodeAt(a+u))break;47===f&&(d=u)}var p="";for(u=r+d+1;u<=o;++u)u!==o&&47!==e.charCodeAt(u)||(0===p.length?p+="..":p+="/..");return p.length>0?p+t.slice(a+d):(a+=d,47===t.charCodeAt(a)&&++a,t.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(n(e),0===e.length)return".";for(var t=e.charCodeAt(0),r=47===t,o=-1,s=!0,i=e.length-1;i>=1;--i)if(47===(t=e.charCodeAt(i))){if(!s){o=i;break}}else s=!1;return-1===o?r?"/":".":r&&1===o?"//":e.slice(0,o)},basename:function(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');n(e);var r,o=0,s=-1,i=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var a=t.length-1,c=-1;for(r=e.length-1;r>=0;--r){var l=e.charCodeAt(r);if(47===l){if(!i){o=r+1;break}}else-1===c&&(i=!1,c=r+1),a>=0&&(l===t.charCodeAt(a)?-1==--a&&(s=r):(a=-1,s=c))}return o===s?s=c:-1===s&&(s=e.length),e.slice(o,s)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!i){o=r+1;break}}else-1===s&&(i=!1,s=r+1);return-1===s?"":e.slice(o,s)},extname:function(e){n(e);for(var t=-1,r=0,o=-1,s=!0,i=0,a=e.length-1;a>=0;--a){var c=e.charCodeAt(a);if(47!==c)-1===o&&(s=!1,o=a+1),46===c?-1===t?t=a:1!==i&&(i=1):-1!==t&&(i=-1);else if(!s){r=a+1;break}}return-1===t||-1===o||0===i||1===i&&t===o-1&&t===r+1?"":e.slice(t,o)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var r=t.dir||t.root,n=t.base||(t.name||"")+(t.ext||"");return r?r===t.root?r+n:r+e+n:n}("/",e)},parse:function(e){n(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var r,o=e.charCodeAt(0),s=47===o;s?(t.root="/",r=1):r=0;for(var i=-1,a=0,c=-1,l=!0,d=e.length-1,u=0;d>=r;--d)if(47!==(o=e.charCodeAt(d)))-1===c&&(l=!1,c=d+1),46===o?-1===i?i=d:1!==u&&(u=1):-1!==i&&(u=-1);else if(!l){a=d+1;break}return-1===i||-1===c||0===u||1===u&&i===c-1&&i===a+1?-1!==c&&(t.base=t.name=0===a&&s?e.slice(1,c):e.slice(a,c)):(0===a&&s?(t.name=e.slice(1,i),t.base=e.slice(1,c)):(t.name=e.slice(a,i),t.base=e.slice(a,c)),t.ext=e.slice(i,c)),a>0?t.dir=e.slice(0,a-1):s&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};s.posix=s,r.exports=s}}),Vr=d({"dist/data/utilities/config.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.trackDatabaseCall=e.switchDatabase=e.resolveDatabasePath=e.lockPath=e.getSetting=e.databasesFolder=e.configure=e.activeDatabasePath=void 0,kt();var t={databasePath:"database/",relativePath:"",enforceForeignKeys:!0,readConcurrency:16,format:"compact"},r=0,n=/^[a-z0-9_-]+$/i,o=e=>e.endsWith("/")?e:`${e}/`,s=()=>t.databasesPath&&t.database?`${o(t.databasesPath)}${t.database}/`:c("databasePath","database/");e.activeDatabasePath=s;var i=()=>t.databasesPath?o(t.databasesPath):s();e.lockPath=i;e.databasesFolder=()=>{if(!t.databasesPath)throw new Error("Several databases need a folder to hold them: configure({ databasesPath: 'databases/' }) first");return o(t.databasesPath)};e.switchDatabase=e=>{t={...t,database:e}};var a=e=>Br().resolve(e);e.resolveDatabasePath=a;e.trackDatabaseCall=()=>{r++;let e=!1;return()=>{e||(e=!0,r--)}};e.configure=e=>{if(void 0!==e.format&&"compact"!==e.format&&"pretty"!==e.format)throw new Error(`Unknown format "${e.format}": use 'compact' or 'pretty'`);if(void 0!==e.database&&null!==e.database&&!n.test(e.database))throw new Error(`Invalid database name ${JSON.stringify(e.database)}: names use letters, digits, _ and - only`);const o={...t,...e};if(o.database&&!o.databasesPath)throw new Error("A database name needs the folder that holds the databases: configure({ databasesPath: 'databases/', database: '...' })");if(r>0){const n={active:a(s()),lock:a(i())},c=t;t=o;const l=a(s())!==n.active||a(i())!==n.lock;if(t=c,l){const t=["databasePath","databasesPath","database"].filter((t=>void 0!==e[t])).join(" / ");throw new Error(`Can't change ${t} while ${r} database call(s) are still running or queued: await them first`)}}t=o};var c=(e,r)=>void 0!==t[e]?t[e]:r;e.getSetting=c}}),Wr=d({"dist/data/storage/storagePath.js"(e){p(),Lr(),Object.defineProperty(e,"__esModule",{value:!0}),e.storagePath=void 0;var t,r=function(e,r){if(!r&&e&&e.__esModule)return e;var n,o,s=Object.defineProperty,i={__proto__:null,default:e};if(Object(e)!==e)return i;if(t||"function"!=typeof WeakMap||(t=new WeakMap),t){if(t.has(e))return t.get(e);t.set(e,i)}for(o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((n=s&&Object.getOwnPropertyDescriptor(e,o))&&(n.get||n.set)?s(i,o,n):i[o]=e[o]);return i}(zr()),n=Vr();e.storagePath=(e="")=>`${r.isBrowser?(0,n.getSetting)("relativePath",""):""}${(0,n.activeDatabasePath)()}${e}`}}),Ur=d({"js-build-tools-empty:fs/promises"(e,t){p(),t.exports={}}}),Kr=d({"dist/data/storage/nodeFiles.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.nodeFiles=void 0;e.nodeFiles=()=>Ur()}}),Qr=d({"node_modules/core-js/internals/map-helpers.js"(e,t){p();var r=b(),n=Map.prototype;t.exports={Map:Map,set:r(n.set),get:r(n.get),has:r(n.has),remove:r(n.delete),proto:n}}}),Gr=d({"node_modules/core-js/internals/a-map.js"(e,t){p();var r=Qr().has;t.exports=function(e){return r(e),e}}}),Hr=d({"node_modules/core-js/modules/esnext.map.delete-all.js"(){p();var e=$e(),t=Gr(),r=Qr().remove;e({target:"Map",proto:!0,real:!0,forced:!0},{deleteAll:function(){for(var e,n=t(this),o=!0,s=0,i=arguments.length;s<i;s++)e=r(n,arguments[s]),o=o&&e;return!!o}})}}),Xr=d({"node_modules/core-js/internals/map-iterate.js"(e,t){p();var r=b(),n=Qt(),o=Qr(),s=o.Map,i=o.proto,a=r(i.forEach),c=r(i.entries),l=c(new s).next;t.exports=function(e,t,r){return r?n({iterator:c(e),next:l},(function(e){return t(e[1],e[0])})):a(e,t)}}}),Yr=d({"node_modules/core-js/modules/esnext.map.every.js"(){p();var e=$e(),t=at(),r=Gr(),n=Xr();e({target:"Map",proto:!0,real:!0,forced:!0},{every:function(e){var o=r(this),s=t(e,arguments.length>1?arguments[1]:void 0);return!1!==n(o,(function(e,t){if(!s(e,t,o))return!1}),!0)}})}}),Zr=d({"node_modules/core-js/modules/esnext.map.filter.js"(){p();var e=$e(),t=at(),r=Gr(),n=Qr(),o=Xr(),s=n.Map,i=n.set;e({target:"Map",proto:!0,real:!0,forced:!0},{filter:function(e){var n=r(this),a=t(e,arguments.length>1?arguments[1]:void 0),c=new s;return o(n,(function(e,t){a(e,t,n)&&i(c,t,e)})),c}})}}),en=d({"node_modules/core-js/modules/esnext.map.find.js"(){p();var e=$e(),t=at(),r=Gr(),n=Xr();e({target:"Map",proto:!0,real:!0,forced:!0},{find:function(e){var o=r(this),s=t(e,arguments.length>1?arguments[1]:void 0),i=n(o,(function(e,t){if(s(e,t,o))return{value:e}}),!0);return i&&i.value}})}}),tn=d({"node_modules/core-js/modules/esnext.map.find-key.js"(){p();var e=$e(),t=at(),r=Gr(),n=Xr();e({target:"Map",proto:!0,real:!0,forced:!0},{findKey:function(e){var o=r(this),s=t(e,arguments.length>1?arguments[1]:void 0),i=n(o,(function(e,t){if(s(e,t,o))return{key:t}}),!0);return i&&i.key}})}}),rn=d({"node_modules/core-js/internals/same-value-zero.js"(e,t){p(),t.exports=function(e,t){return e===t||e!=e&&t!=t}}}),nn=d({"node_modules/core-js/modules/esnext.map.includes.js"(){p();var e=$e(),t=rn(),r=Gr(),n=Xr();e({target:"Map",proto:!0,real:!0,forced:!0},{includes:function(e){return!0===n(r(this),(function(r){if(t(r,e))return!0}),!0)}})}}),on=d({"node_modules/core-js/modules/esnext.map.key-of.js"(){p();var e=$e(),t=Gr(),r=Xr();e({target:"Map",proto:!0,real:!0,forced:!0},{keyOf:function(e){var n=r(t(this),(function(t,r){if(t===e)return{key:r}}),!0);return n&&n.key}})}}),sn=d({"node_modules/core-js/modules/esnext.map.map-keys.js"(){p();var e=$e(),t=at(),r=Gr(),n=Qr(),o=Xr(),s=n.Map,i=n.set;e({target:"Map",proto:!0,real:!0,forced:!0},{mapKeys:function(e){var n=r(this),a=t(e,arguments.length>1?arguments[1]:void 0),c=new s;return o(n,(function(e,t){i(c,a(e,t,n),e)})),c}})}}),an=d({"node_modules/core-js/modules/esnext.map.map-values.js"(){p();var e=$e(),t=at(),r=Gr(),n=Qr(),o=Xr(),s=n.Map,i=n.set;e({target:"Map",proto:!0,real:!0,forced:!0},{mapValues:function(e){var n=r(this),a=t(e,arguments.length>1?arguments[1]:void 0),c=new s;return o(n,(function(e,t){i(c,t,a(e,t,n))})),c}})}}),cn=d({"node_modules/core-js/modules/esnext.map.merge.js"(){p();var e=$e(),t=Gr(),r=ft(),n=Qr().set;e({target:"Map",proto:!0,real:!0,arity:1,forced:!0},{merge:function(e){for(var o=t(this),s=arguments.length,i=0;i<s;)r(arguments[i++],(function(e,t){n(o,e,t)}),{AS_ENTRIES:!0});return o}})}}),ln=d({"node_modules/core-js/modules/esnext.map.reduce.js"(){p();var e=$e(),t=I(),r=Gr(),n=Xr(),o=TypeError;e({target:"Map",proto:!0,real:!0,forced:!0},{reduce:function(e){var s=r(this),i=arguments.length<2,a=i?void 0:arguments[1];if(t(e),n(s,(function(t,r){i?(i=!1,a=t):a=e(a,t,r,s)})),i)throw new o("Reduce of empty map with no initial value");return a}})}}),dn=d({"node_modules/core-js/modules/esnext.map.some.js"(){p();var e=$e(),t=at(),r=Gr(),n=Xr();e({target:"Map",proto:!0,real:!0,forced:!0},{some:function(e){var o=r(this),s=t(e,arguments.length>1?arguments[1]:void 0);return!0===n(o,(function(e,t){if(s(e,t,o))return!0}),!0)}})}}),un=d({"node_modules/core-js/modules/esnext.map.update.js"(){p();var e=$e(),t=I(),r=Gr(),n=Qr(),o=TypeError,s=n.get,i=n.has,a=n.set;e({target:"Map",proto:!0,real:!0,forced:!0},{update:function(e,n){var c=r(this),l=arguments.length;t(n);var d=i(c,e);if(!d&&l<3)throw new o("Updating absent value");var u=d?s(c,e):t(l>2?arguments[2]:void 0)(e,c);return a(c,e,n(u,e,c)),c}})}}),fn=d({"dist/data/storage/readCache.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.withReadCache=e.cachedRead=e.cacheWrite=e.cacheRemove=void 0,Hr(),Yr(),Zr(),en(),tn(),nn(),on(),sn(),an(),cn(),ln(),dn(),un();var t=Wr(),r=new Map,n=()=>r.get((0,t.storagePath)());e.withReadCache=async e=>{const n=(0,t.storagePath)(),o=r.get(n)||{calls:0,files:new Map};r.set(n,o),o.calls++,o.calls>1&&(o.files=new Map);try{return await e()}finally{o.calls--,o.calls||r.get(n)!==o||r.delete(n)}};e.cachedRead=(e,t)=>{const r=n();if(!r)return t();const o=r.files.get(e);if(o)return o;const s=t();return r.files.set(e,s),s.catch((()=>{r.files.get(e)===s&&r.files.delete(e)})),s};e.cacheWrite=(e,t)=>{n()?.files.set(e,Promise.resolve(t))};e.cacheRemove=(e,t=!1)=>{const r=n();if(r&&(r.files.delete(e),t)){const t=e.endsWith("/")?e:`${e}/`;for(const e of[...r.files.keys()])e.startsWith(t)&&r.files.delete(e)}}}}),pn=d({"dist/data/storage/writeSet.js"(e){p(),Lr(),Object.defineProperty(e,"__esModule",{value:!0}),e.writeAtomically=e.withWriteSet=e.stageWrite=e.stageRemoveDirectory=e.stageRemove=e.stageMakeDirectory=e.pendingListing=e.pendingFile=e.pendingExists=void 0,Ke(),st(),Hr(),Yr(),Zr(),en(),tn(),nn(),on(),sn(),an(),cn(),ln(),dn(),un(),Vt(),Wt(),tr(),rr(),nr(),or(),ir(),cr(),dr(),fr(),pr(),yr(),hr(),mr(),wr(),jr();var t,r=function(e,r){if(!r&&e&&e.__esModule)return e;var n,o,s=Object.defineProperty,i={__proto__:null,default:e};if(Object(e)!==e)return i;if(t||"function"!=typeof WeakMap||(t=new WeakMap),t){if(t.has(e))return t.get(e);t.set(e,i)}for(o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((n=s&&Object.getOwnPropertyDescriptor(e,o))&&(n.get||n.set)?s(i,o,n):i[o]=e[o]);return i}(zr()),n=Wr(),o=Kr(),s=fn();var i=new Map,a=()=>i.get((0,n.storagePath)()),c=e=>e.endsWith("/")?e:`${e}/`,l=(e,t)=>{for(const r of t)if(e===r||e.startsWith(c(r)))return!0;return!1},d=async(e,t)=>{const r=`${e}.${crypto.randomUUID()}.tmp`,n=(0,o.nodeFiles)();try{await n.writeFile(r,t),await n.rename(r,e)}catch(e){throw await n.rm(r,{force:!0}).catch((()=>{})),e}};e.writeAtomically=d;var u=async e=>{(0,s.cacheRemove)(e,!0),await(0,o.nodeFiles)().rm(e,{recursive:!0,force:!0}),(0,s.cacheRemove)(e,!0)};e.withWriteSet=async e=>{const t=(0,n.storagePath)();if(!r.isNode||i.has(t))return e();const a={files:new Map,madeFolders:new Set,removedFolders:new Set};let l;i.set(t,a);try{l=await e()}finally{i.delete(t)}return await(async e=>{const t=(0,o.nodeFiles)(),r=t=>{const r=c(t);return[...e.madeFolders].some((e=>e===t||e.startsWith(r)))||[...e.files].some((([e,t])=>null!==t&&e.startsWith(r)))},n=[...e.removedFolders];for(const e of n.filter(r))await u(e);for(const r of e.madeFolders)await t.mkdir(r,{recursive:!0});for(const[t,r]of e.files)null!==r&&(await d(t,r),(0,s.cacheWrite)(t,r));for(const[r,n]of e.files)null===n&&((0,s.cacheRemove)(r),await t.rm(r,{force:!0}),(0,s.cacheRemove)(r));for(const e of n.filter((e=>!r(e))))await u(e)})(a),l};e.pendingFile=e=>{const t=a();if(t)return t.files.has(e)?t.files.get(e):l(e,t.removedFolders)?null:void 0};e.pendingExists=e=>{const t=a();if(!t)return;if(t.files.has(e))return null!==t.files.get(e);const r=c(e);return!(![...t.madeFolders].some((t=>t===e||t.startsWith(r)))&&![...t.files].some((([e,t])=>null!==t&&e.startsWith(r))))||!l(e,t.removedFolders)&&void 0};e.pendingListing=(e,t)=>{const r=a();if(!r)return t;const n=c(e),o=new Set(t.filter((e=>!l(e,r.removedFolders))));for(const[e,t]of r.files)e.startsWith(n)&&(null===t?o.delete(e):o.add(e));return[...o]};e.stageWrite=(e,t)=>{const r=a();return!!r&&(r.files.delete(e),r.files.set(e,t),!0)};e.stageRemove=e=>{const t=a();return!!t&&(t.files.delete(e),t.files.set(e,null),!0)};e.stageMakeDirectory=e=>{const t=a();return!!t&&(t.madeFolders.add(e),!0)};e.stageRemoveDirectory=e=>{const t=a();if(!t)return!1;for(const r of[...t.files.keys()])l(r,new Set([e]))&&t.files.delete(r);for(const r of[...t.madeFolders])l(r,new Set([e]))&&t.madeFolders.delete(r);return t.removedFolders.add(e),!0}}}),yn=d({"dist/data/storage/readJson.js"(e){p(),Lr(),Object.defineProperty(e,"__esModule",{value:!0}),e.readText=e.readJson=void 0;var t,r=function(e,r){if(!r&&e&&e.__esModule)return e;var n,o,s=Object.defineProperty,i={__proto__:null,default:e};if(Object(e)!==e)return i;if(t||"function"!=typeof WeakMap||(t=new WeakMap),t){if(t.has(e))return t.get(e);t.set(e,i)}for(o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((n=s&&Object.getOwnPropertyDescriptor(e,o))&&(n.get||n.set)?s(i,o,n):i[o]=e[o]);return i}(zr()),n=Wr(),o=Kr(),s=fn(),i=pn();var a=async e=>{const t=(0,n.storagePath)(e),a=(0,i.pendingFile)(t);if(null===a)throw new Error(`ENOENT: no such file or directory, open '${t}' (deleted by this statement)`);return"string"==typeof a?a:(0,s.cachedRead)(t,(()=>r.isNode?(0,o.nodeFiles)().readFile(t,"utf8"):fetch(t).then((e=>e.text()))))};e.readText=a;e.readJson=async e=>JSON.parse(await a(e))}}),hn=d({"dist/data/storage/writeJson.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.writeJson=e.jsonText=void 0,kt();var t=Wr(),r=fn(),n=pn(),o=Vr(),s=(e,t=(0,o.getSetting)("format","compact"))=>"pretty"===t?JSON.stringify(e,null,2):JSON.stringify(e);e.jsonText=s;e.writeJson=async(e,o,i)=>{const a=(0,t.storagePath)(e),c=s(o,i);(0,n.stageWrite)(a,c)||(await(0,n.writeAtomically)(a,c),(0,r.cacheWrite)(a,c))}}}),mn=d({"dist/data/storage/makeDirectory.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.makeDirectory=void 0;var t=Wr(),r=Kr(),n=pn();e.makeDirectory=async(e="")=>{const o=(0,t.storagePath)(e);(0,n.stageMakeDirectory)(o)||await(0,r.nodeFiles)().mkdir(o,{recursive:!0})}}}),vn=d({"js-build-tools-empty:fs"(e,t){p(),t.exports={}}}),wn=d({"dist/data/storage/removeFile.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.removeFile=void 0;var t=Wr(),r=Kr(),n=fn(),o=pn();e.removeFile=async e=>{const s=(0,t.storagePath)(e),i=(0,o.pendingFile)(s);if(null===i||void 0===i&&!vn().existsSync(s))throw new Error(`ENOENT: no such file or directory, rm '${s}'`);(0,o.stageRemove)(s)||((0,n.cacheRemove)(s),await(0,r.nodeFiles)().rm(s),(0,n.cacheRemove)(s))}}}),gn=d({"dist/data/storage/removeDirectory.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.removeDirectory=void 0;var t=Wr(),r=Kr(),n=fn(),o=pn();e.removeDirectory=async e=>{const s=(0,t.storagePath)(e);(0,o.stageRemoveDirectory)(s)||((0,n.cacheRemove)(s,!0),await(0,r.nodeFiles)().rm(s,{recursive:!0,force:!0}),(0,n.cacheRemove)(s,!0))}}}),jn=d({"dist/data/storage/fileExists.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.fileExists=void 0;var t=Wr(),r=pn();e.fileExists=e=>{const n=(0,t.storagePath)(e),o=(0,r.pendingExists)(n);if(void 0!==o)return o;const{existsSync:s}=vn();return s(n)}}}),bn=d({"dist/data/storage/listFiles.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.listFiles=void 0,Ke(),nt();var t=Wr(),r=Kr(),n=pn(),o=async e=>{let n;try{n=await(0,r.nodeFiles)().readdir((0,t.storagePath)(e),{withFileTypes:!0})}catch(e){if("ENOENT"===e?.code)return[];throw e}const s=[];for(const t of n)t.isDirectory()?s.push(...await o(`${e}${t.name}/`)):t.isFile()&&s.push(`${e}${t.name}`);return s};e.listFiles=async(e="")=>{const r=e?`${e.replace(/\/+$/,"")}/`:"",s=(await o(r)).map((e=>(0,t.storagePath)(e))),i=(0,t.storagePath)();return(0,n.pendingListing)((0,t.storagePath)(e),s).map((e=>e.slice(i.length))).sort()}}}),_n=d({"dist/data/storage/databases.js"(e){p(),Lr(),Object.defineProperty(e,"__esModule",{value:!0}),e.writeDatabaseList=e.removeDatabaseFolder=e.readDatabaseList=e.makeDatabaseFolder=e.databasesLocation=e.databaseFolderExists=void 0,kt();var t,r=function(e,r){if(!r&&e&&e.__esModule)return e;var n,o,s=Object.defineProperty,i={__proto__:null,default:e};if(Object(e)!==e)return i;if(t||"function"!=typeof WeakMap||(t=new WeakMap),t){if(t.has(e))return t.get(e);t.set(e,i)}for(o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((n=s&&Object.getOwnPropertyDescriptor(e,o))&&(n.get||n.set)?s(i,o,n):i[o]=e[o]);return i}(zr()),n=Vr(),o=Kr(),s=fn(),i=pn();var a=(e="")=>`${r.isBrowser?(0,n.getSetting)("relativePath",""):""}${(0,n.databasesFolder)()}${e}`;e.databasesLocation=a;var c=()=>a("__DATABASES.json");e.readDatabaseList=async()=>{let e;try{e=r.isNode?await(0,o.nodeFiles)().readFile(c(),"utf8"):await fetch(c()).then((e=>!1===e.ok?"[]":e.text()))}catch(e){if(r.isNode&&"ENOENT"!==e?.code)throw e;return[]}try{const t=JSON.parse(e);return Array.isArray(t)?t:[]}catch(e){if(!r.isNode)return[];throw new Error(`Could not read ${c()}: ${e.message}`)}};e.writeDatabaseList=async e=>{await(0,o.nodeFiles)().mkdir(a(),{recursive:!0}),await(0,i.writeAtomically)(c(),JSON.stringify(e))};e.databaseFolderExists=e=>vn().existsSync(a(e));e.makeDatabaseFolder=async e=>{await(0,o.nodeFiles)().mkdir(a(e),{recursive:!0})};e.removeDatabaseFolder=async e=>{const t=a(e);(0,s.cacheRemove)(t,!0),await(0,o.nodeFiles)().rm(t,{recursive:!0,force:!0}),(0,s.cacheRemove)(t,!0)}}}),xn=d({"dist/data/storage/index.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"databaseFolderExists",{enumerable:!0,get:function(){return l.databaseFolderExists}}),Object.defineProperty(e,"databasesLocation",{enumerable:!0,get:function(){return l.databasesLocation}}),Object.defineProperty(e,"fileExists",{enumerable:!0,get:function(){return a.fileExists}}),Object.defineProperty(e,"jsonText",{enumerable:!0,get:function(){return n.jsonText}}),Object.defineProperty(e,"listFiles",{enumerable:!0,get:function(){return c.listFiles}}),Object.defineProperty(e,"makeDatabaseFolder",{enumerable:!0,get:function(){return l.makeDatabaseFolder}}),Object.defineProperty(e,"makeDirectory",{enumerable:!0,get:function(){return o.makeDirectory}}),Object.defineProperty(e,"readDatabaseList",{enumerable:!0,get:function(){return l.readDatabaseList}}),Object.defineProperty(e,"readJson",{enumerable:!0,get:function(){return r.readJson}}),Object.defineProperty(e,"readText",{enumerable:!0,get:function(){return r.readText}}),Object.defineProperty(e,"removeDatabaseFolder",{enumerable:!0,get:function(){return l.removeDatabaseFolder}}),Object.defineProperty(e,"removeDirectory",{enumerable:!0,get:function(){return i.removeDirectory}}),Object.defineProperty(e,"removeFile",{enumerable:!0,get:function(){return s.removeFile}}),Object.defineProperty(e,"storagePath",{enumerable:!0,get:function(){return t.storagePath}}),Object.defineProperty(e,"withReadCache",{enumerable:!0,get:function(){return d.withReadCache}}),Object.defineProperty(e,"withWriteSet",{enumerable:!0,get:function(){return u.withWriteSet}}),Object.defineProperty(e,"writeDatabaseList",{enumerable:!0,get:function(){return l.writeDatabaseList}}),Object.defineProperty(e,"writeJson",{enumerable:!0,get:function(){return n.writeJson}});var t=Wr(),r=yn(),n=hn(),o=mn(),s=wn(),i=gn(),a=jn(),c=bn(),l=_n(),d=fn(),u=pn()}}),$n=d({"dist/data/utilities/retrieveFile.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.retrieveFile=void 0;var t=xn();e.retrieveFile=async e=>{const r=await(0,t.readJson)(e).catch((e=>console.error(e)));if(!r)throw new Error(`Could not read ${e}`);return r}}}),On=d({"dist/data/utilities/recordExists.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.recordExists=void 0;var t=xn();e.recordExists=e=>(0,t.fileExists)(`${e}.json`)}}),En=d({"dist/data/utilities/retrieveRecord.js"(e){p(),Lr(),Object.defineProperty(e,"__esModule",{value:!0}),e.retrieveRecord=void 0;var t,r=function(e,r){if(!r&&e&&e.__esModule)return e;var n,o,s=Object.defineProperty,i={__proto__:null,default:e};if(Object(e)!==e)return i;if(t||"function"!=typeof WeakMap||(t=new WeakMap),t){if(t.has(e))return t.get(e);t.set(e,i)}for(o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((n=s&&Object.getOwnPropertyDescriptor(e,o))&&(n.get||n.set)?s(i,o,n):i[o]=e[o]);return i}(zr()),n=$n(),o=On();e.retrieveRecord=async(e="")=>{if(r.isNode&&!(0,o.recordExists)(e))throw new Error(`Record "${e}" doesn't exist`);try{return await(0,n.retrieveFile)(`${e}.json`)}catch(t){if(!r.isNode)throw new Error(`Record "${e}" doesn't exist, or ${e}.json can't be read`);throw t}}}}),kn=d({"dist/data/utilities/compareAs.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.sameValue=e.compareAs=e.comparableTypes=void 0,It();var t=(e,t)=>{if(null==t)return t;switch(e){case"string":return"object"==typeof t?t:String(t);case"int":{const e=Number(t);return Number.isNaN(e)?t:e}case"boolean":return"true"===t||"false"!==t&&t;default:return t}};e.compareAs=t;var r=e.comparableTypes=["string","int","boolean"];e.sameValue=(e,n,o)=>r.includes(e)?t(e,n)===t(e,o):n==o}}),Pn=d({"dist/data/utilities/removeFromIndex.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.removeFromIndex=void 0,Ke(),st(),nt();var t=kn(),r=xn();e.removeFromIndex=async(e="",n=null,o=void 0,s="",i=void 0)=>{if(!n||!n.lookup)return null;const a=`__indexes/${e}/${n.lookup}`;let c=[];try{c=await(0,r.readJson)(a)}catch(e){return null}return c=c.map((e=>(0,t.sameValue)(i,e.value,o)?{value:e.value,record:e.record.filter((e=>e!==s))}:e)).filter((e=>e.record.length)),await(0,r.writeJson)(a,c),c}}}),Sn=d({"dist/data/utilities/computeKeyValue.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.computeKeyValue=void 0,kt(),Ke(),nt();e.computeKeyValue=(e,t)=>1===e.length?t[e[0]]:JSON.stringify(e.map((e=>t[e])))}}),Mn=d({"dist/data/utilities/fieldType.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.keyValueType=e.fieldType=void 0,Ke(),kr();var t=(e,t)=>e?.definition?.find((e=>e.name===t))?.type;e.fieldType=t;e.keyValueType=(e,r)=>1===r.fields.length?t(e,r.fields[0]):void 0}}),Rn=d({"dist/data/introspect/describe.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.describe=void 0;var t=$n();e.describe=async(e="__RECORDS")=>{const r=await(0,t.retrieveFile)(`${e}.json`);return"__RECORDS"===e?r.entries:r.definition}}}),Dn=d({"dist/data/utilities/retrieveFiles.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.retrieveFiles=void 0;var t=$n(),r=Vr();e.retrieveFiles=async(e,n=t.retrieveFile)=>{const o=Math.max(1,Math.floor((0,r.getSetting)("readConcurrency",16))||1),s=new Array(e.length),i=[];let a=0;if(await Promise.all(Array.from({length:Math.min(o,e.length)},(async()=>{for(;a<e.length&&!i.length;){const t=a++;try{s[t]=await n(e[t])}catch(e){i.push({position:t,error:e})}}}))),i.length)throw i.reduce(((e,t)=>t.position<e.position?t:e)).error;return s}}}),Cn=d({"dist/data/utilities/packedTable.js"(e){p(),Lr(),Object.defineProperty(e,"__esModule",{value:!0}),e.usesPackedReads=e.retrievePacked=e.packedPath=e.discardPacked=void 0,Ke(),St();var t,r=function(e,r){if(!r&&e&&e.__esModule)return e;var n,o,s=Object.defineProperty,i={__proto__:null,default:e};if(Object(e)!==e)return i;if(t||"function"!=typeof WeakMap||(t=new WeakMap),t){if(t.has(e))return t.get(e);t.set(e,i)}for(o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((n=s&&Object.getOwnPropertyDescriptor(e,o))&&(n.get||n.set)?s(i,o,n):i[o]=e[o]);return i}(zr()),n=xn(),o=Vr();var s=e=>`__packed/${e}.json`;e.packedPath=s;var i=()=>(0,o.getSetting)("packedReads",!r.isNode);e.usesPackedReads=i;e.retrievePacked=async e=>{if(!i())return;let t;try{t=await(0,n.readJson)(s(e.path))}catch(e){return}const r=e.entries||[];return t&&Array.isArray(t.entries)&&Array.isArray(t.rows)&&t.entries.length===r.length&&t.rows.length===r.length&&!t.entries.some(((e,t)=>e!==r[t]))?t:void 0};e.discardPacked=async e=>{(0,n.fileExists)(s(e))&&await(0,n.removeFile)(s(e))}}}),Fn=d({"dist/data/utilities/retrieveRecords.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.retrieveRecords=e.retrieveEntryRows=e.retrieveEntry=void 0,Ke(),st(),nt(),Hr(),Yr(),Zr(),en(),tn(),nn(),on(),sn(),an(),cn(),ln(),dn(),un();var t=$n(),r=En(),n=Dn(),o=Cn(),s=Vr(),i=async e=>{const r=await(0,t.retrieveFile)(e).catch((e=>console.error(e)));if(!r)throw new Error(`Could not read entity ${e.slice(e.lastIndexOf("/")+1)}`);return r};e.retrieveEntry=i;var a=async(e,t,r=i)=>{const a=t.length>(0,s.getSetting)("readConcurrency",16)?await(0,o.retrievePacked)(e):void 0;if(!a)return(0,n.retrieveFiles)(t.map((t=>`${e.path}/${t}`)),r);const c=new Map(a.entries.map(((e,t)=>[e,t]))),l=t.filter((e=>!c.has(e))),d=l.length?await(0,n.retrieveFiles)(l.map((t=>`${e.path}/${t}`)),r):[],u=new Map(l.map(((e,t)=>[e,d[t]])));return t.map((e=>c.has(e)?a.rows[c.get(e)]:u.get(e)))};e.retrieveEntryRows=a;e.retrieveRecords=async(e="")=>{const t=await(0,r.retrieveRecord)(e);return a(t,t.entries)}}}),An=d({"dist/data/queries/where.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.whereTree=e.where=e.treeTruth=void 0,It(),Ke(),st(),qt(),St();var t=kn(),r=Lt(),n=(e,r,n,o,s=void 0)=>{const i=Object.prototype.hasOwnProperty.call(e,r);switch(n){case"exists":return i;case"does not exist":return!i;case"is null":return i&&null===e[r];case"is not null":return i&&null!==e[r]}if(!i||null===e[r]||null===o)return null;const a=e[r],c=(0,t.compareAs)(s,a);switch(n){case"=":return(0,t.sameValue)(s,a,o);case"!=":case"<>":return!(0,t.sameValue)(s,a,o);case">":return c>(0,t.compareAs)(s,o);case">=":return c>=(0,t.compareAs)(s,o);case"<":return c<(0,t.compareAs)(s,o);case"<=":return c<=(0,t.compareAs)(s,o);case"in":return!!Array.isArray(o)&&(!!(s?o.some((e=>null!==e&&(0,t.sameValue)(s,a,e))):o.includes(a))||!!o.includes(null)&&null);case"between":return!(!Array.isArray(o)||2!==o.length)&&(o.includes(null)?null:c>=(0,t.compareAs)(s,o[0])&&c<=(0,t.compareAs)(s,o[1]));case"like":return((e,t)=>{if("string"!=typeof e||"string"!=typeof t)return!1;const r=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/%/g,".*").replace(/_/g,".");return new RegExp(`^${r}$`,"i").test(e)})(a,o)}return!1},o=(e,{property:t="",joinEntity:r,comparator:o="=",value:s=null,type:i}={})=>n(e,r?`${r}.${t}`:t,o,s,i);e.where=(e=[],t={})=>e.filter((e=>!0===o(e,t)));var s=(e,t)=>{if((0,r.isCondition)(t))return o(e,t);if("not"in t){const r=s(e,t.not);return null===r?null:!r}const n=!("and"in t);let i=!n;for(const r of"and"in t?t.and:t.or){const t=s(e,r);if(t===n)return n;null===t&&(i=null)}return i};e.treeTruth=s;e.whereTree=(e=[],t=void 0,r=void 0)=>void 0===t?e:void 0===r?e.filter((e=>!0===s(e,t))):e.flatMap((e=>{const n=(Array.isArray(e[r])?e[r]:[]).filter((n=>!0===s(((e,t,r)=>{const n=Object.assign({},e);for(const e of Object.keys(r)){const o=e.includes(".")?e:`${t}.${e}`;Object.prototype.hasOwnProperty.call(n,o)||(n[o]=r[e])}return n})(e,r,n),t)));return n.length?[Object.assign({},e,{[r]:n})]:[]}))}}),Tn=d({"dist/data/utilities/parsers/splitEntityProperty.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.splitEntityProperty=void 0;var t=/^[a-z0-9_-]+/i,r=/\.([a-z0-9_-]+)$/i;e.splitEntityProperty=e=>{const n=e.match(t);if(!n)throw new Error(`Unable to use property: ${e}`);const o=e.match(r);if(!o)throw new Error(`Unable to use property: ${e}`);return{entity:n[0],property:o[1]}}}}),In=d({"dist/data/utilities/isSingleFieldKey.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.isSingleFieldKey=void 0;e.isSingleFieldKey=(e,t)=>1===e.fields.length&&e.fields[0]===t}}),Nn=d({"dist/data/utilities/indexHas.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.indexHas=void 0,Ke(),kr(),St();var t=xn(),r=An(),n=En(),o=In(),s=Mn();e.indexHas=async(e,i,a)=>{const c=await(0,n.retrieveRecord)(e),l=c.keys.find((e=>(0,o.isSingleFieldKey)(e,i)&&e.lookup));if(!l)return;if(!(c.entries||[]).length)return!1;let d;try{d=await(0,t.readJson)(`__indexes/${c.path}/${l.lookup}`)}catch(e){return}return(0,r.where)(d,{property:"value",comparator:"=",value:a,type:(0,s.fieldType)(c,i)}).some((e=>Array.isArray(e.record)&&e.record.length>0))}}}),Jn=d({"dist/data/introspect/policies/hasDependents.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.hasDependents=void 0;var t=Rn(),r=En(),n=Fn(),o=An(),s=Mn(),i=Tn(),a=Nn();e.hasDependents=async(e,c,l)=>{const d=await(0,t.describe)();for(const t of d){const d=t.replace(/\.json$/,""),u=await(0,r.retrieveRecord)(d);for(const t of u.keys){if("foreign"!==t.type||1!==t.fields.length||!t.references||1!==t.references.length)continue;const{entity:r,property:f}=(0,i.splitEntityProperty)(t.references[0].fields[0]);if(r!==e||f!==c)continue;const p=await(0,a.indexHas)(d,t.fields[0],l);if(void 0!==p){if(p)return!0;continue}const y=await(0,n.retrieveRecords)(d);if((0,o.where)(y,{property:t.fields[0],comparator:"=",value:l,type:(0,s.fieldType)(u,t.fields[0])}).length)return!0}}return!1}}}),qn=d({"node_modules/core-js/modules/es.iterator.for-each.js"(){p();var e=$e(),t=w(),r=ft(),n=I(),o=ee(),s=Fe(),i=Qe(),a=Ye()("forEach",TypeError);e({target:"Iterator",proto:!0,real:!0,forced:a},{forEach:function(e){o(this);try{n(e)}catch(e){i(this,"throw",e)}if(a)return t(a,this,e);var c=s(this),l=0;r(c,(function(t){e(t,l++)}),{IS_RECORD:!0})}})}}),Ln=d({"node_modules/core-js/modules/esnext.iterator.for-each.js"(){p(),qn()}}),zn=d({"dist/data/utilities/keyIndexFiles.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.keyIndexFiles=void 0,Ke(),st(),Ln(),Vt(),Wt(),tr(),rr(),nr(),or(),ir(),cr(),dr(),fr(),pr(),yr(),hr(),mr(),wr(),jr();var t=xn();e.keyIndexFiles=async(e,r,n)=>{if(!r.lookup)return;if(!(e.entries||[]).length)return[];let o;try{o=await(0,t.readJson)(`__indexes/${e.path}/${r.lookup}`)}catch(e){return}const s=new Set;for(const e of Array.isArray(o)?o:[])Array.isArray(e.record)&&n(e.value)&&e.record.forEach((e=>s.add(e)));return e.entries.filter((e=>s.has(e)))}}}),Bn=d({"dist/data/queries/deleteEntity.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.deleteEntity=void 0,Ke(),st(),kr(),nt(),Vt(),Wt(),tr(),rr(),nr(),or(),ir(),cr(),dr(),fr(),pr(),yr(),hr(),mr(),wr(),jr();var t=En(),r=$n(),n=Pn(),o=Sn(),s=Mn(),i=Jn(),a=Vr(),c=zn(),l=xn(),d=Cn();e.deleteEntity=async(e="",u={})=>{const f=await(0,t.retrieveRecord)(e),p=f.keys.find((e=>"primary"===e.type));if(!p)throw new Error(`Cannot delete from "${e}" without a primary key`);const y=u[e]||[];if(!y.length)return u;await(async(e,t,r)=>{if(!(0,a.getSetting)("enforceForeignKeys",!0)||1!==t.fields.length)return;const n=t.fields[0];for(const t of r)if(await(0,i.hasDependents)(e,n,t[n]))throw new Error(`Cannot delete from "${e}" where "${n}" = ${t[n]} - other records still reference it`)})(e,p,y);const h=new Set(y.map((e=>(0,o.computeKeyValue)(p.fields,e)))),m=await(async(e,t,i,a)=>{const d=new Set,u=new Set,f=async e=>{const c=await(0,r.retrieveFile)(`${t.path}/${e}`),f=(0,o.computeKeyValue)(i.fields,c);if(a.has(f)){await(0,l.removeFile)(`${t.path}/${e}`);for(const r of t.keys)await(0,n.removeFromIndex)(t.path,r,(0,o.computeKeyValue)(r.fields,c),e,(0,s.keyValueType)(t,r));d.add(e),u.add(f)}};for(const e of await(0,c.keyIndexFiles)(t,i,(e=>a.has(e)))??[])await f(e);if(u.size<a.size)for(const e of t.entries.filter((e=>!d.has(e))))await f(e);return t.entries.filter((e=>!d.has(e)))})(0,f,p,h);return m.length!==f.entries.length&&await(0,d.discardPacked)(f.path),f.entries=m,await(0,l.writeJson)(`${f.path}.json`,f),u}}}),Vn=d({"node_modules/core-js/modules/es.iterator.every.js"(){p();var e=$e(),t=w(),r=ft(),n=I(),o=ee(),s=Fe(),i=Qe(),a=Ye()("every",TypeError);e({target:"Iterator",proto:!0,real:!0,forced:a},{every:function(e){o(this);try{n(e)}catch(e){i(this,"throw",e)}if(a)return t(a,this,e);var c=s(this),l=0;return!r(c,(function(t,r){if(!e(t,l++))return r()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})}}),Wn=d({"node_modules/core-js/modules/esnext.iterator.every.js"(){p(),Vn()}}),Un=d({"dist/data/introspect/policies/keyUnique.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.keyUnique=void 0;var t=Fn(),r=An(),n=En(),o=Mn(),s=Nn();e.keyUnique=async(e,i=[],a=[])=>{if(!i.length||i.length!==a.length)return!1;if(1===i.length){const t=await(0,s.indexHas)(e,i[0],a[0]);if(void 0!==t)return!t}let c=await(0,t.retrieveRecords)(e);const l=await(0,n.retrieveRecord)(e);for(let e=0;e<i.length;e++)c=(0,r.where)(c,{property:i[e],comparator:"=",value:a[e],type:(0,o.fieldType)(l,i[e])});return!c.length}}}),Kn=d({"dist/data/introspect/policies/useDefault.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.useDefault=void 0;e.useDefault=(e="",t=void 0)=>void 0===t?e:t}}),Qn=d({"dist/data/introspect/policies/foreignKeyExists.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.foreignKeyExists=void 0;var t=Fn(),r=An(),n=En(),o=Mn(),s=Nn();e.foreignKeyExists=async(e,i,a)=>{const c=await(0,s.indexHas)(e,i,a);if(void 0!==c)return c;const l=await(0,t.retrieveRecords)(e),d=(0,o.fieldType)(await(0,n.retrieveRecord)(e),i);return(0,r.where)(l,{property:i,comparator:"=",value:a,type:d}).length>0}}}),Gn=d({"dist/data/utilities/indexBuffer.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.IndexBuffer=void 0,It(),Ke(),kr(),St(),Hr(),Yr(),Zr(),en(),tn(),nn(),on(),sn(),an(),cn(),ln(),dn(),un(),Vt(),Wt(),tr(),rr(),nr(),or(),ir(),cr(),dr(),fr(),pr(),yr(),hr(),mr(),wr(),jr(),Lr();var t=kn(),r=Symbol("unkeyed"),n=(e,n)=>{if(!t.comparableTypes.includes(e))return r;const o=(0,t.compareAs)(e,n);return"object"==typeof o&&null!==o?r:o};e.IndexBuffer=class{constructor(e,t){this.byKey=new Map,this.listed=new WeakMap,this.entries=e,this.type=t;for(const o of e){const e=n(t,o.value);e===r||this.byKey.has(e)||this.byKey.set(e,o)}}find(e){const o=n(this.type,e);return o===r?this.entries.find((r=>(0,t.sameValue)(this.type,r.value,e))):this.byKey.get(o)}has(e){if(null==e)return!1;const r=e=>Boolean(e&&Array.isArray(e.record)&&e.record.length),n=this.find(e);return!n||r(n)?r(n):this.entries.some((n=>(0,t.sameValue)(this.type,n.value,e)&&r(n)))}add(e,t){const o=this.find(e);if(o){this.listed.has(o)||this.listed.set(o,new Set(o.record));const e=this.listed.get(o);return void(e.has(t)||(e.add(t),o.record.push(t)))}const s={value:e,record:[t]};this.entries.push(s),this.listed.set(s,new Set(s.record));const i=n(this.type,e);i!==r&&this.byKey.set(i,s)}}}}),Hn=d({"dist/data/utilities/parsers/isEntityProperty.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.isEntityProperty=void 0;e.isEntityProperty=e=>/^[a-z0-9_-]+\.([a-z0-9_-]+)$/i.test(e)}}),Xn=d({"dist/data/utilities/knownFields.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.assertKnownFields=e.assertFieldsDefined=void 0,Ke(),st(),kr(),qt(),nt(),Vt(),Wt(),tr(),rr(),nr(),or(),ir(),cr(),dr(),fr(),pr(),yr(),hr(),mr(),wr(),jr();var t=En(),r=Hn(),n=Tn(),o=Lt(),s=(e,t,r,n)=>{const o=new Set(t.definition.map((e=>e.name))),s=r.find((e=>!o.has(e)));if(void 0!==s)throw new Error(`Unknown field "${s}" in ${n}: ${e} has ${(e=>e.definition.map((e=>e.name)).join(", "))(t)}`)};e.assertFieldsDefined=s;e.assertKnownFields=async(e,i)=>{const a=new Set((e.mergeJoins||[]).map((e=>(0,n.splitEntityProperty)(e.propertyB).entity))),c=[...(0,o.conditionsOf)(e.where).map((e=>({property:e.property,clause:"where"}))),...(e.sortClauses||[]).map((e=>({property:e.property,clause:"sort"}))),...(e.groupBy||[]).map((e=>({property:e,clause:"group by"}))),...(e.selectClauses||[]).filter((t=>t.property!==e.joinEntity)).map((e=>({property:e.property,clause:"select"}))),...(e.insertValues||[]).flatMap((e=>Object.keys(e||{}).map((e=>({property:e,clause:"insert",own:!0}))))),...Object.keys(e.updateValues||{}).map((e=>({property:e,clause:"set",own:!0}))),...(e.joinClauses||[]).flatMap((e=>[{property:e.propertyA,clause:"on"},{property:e.propertyB,clause:"on"}])),...(e.mergeJoins||[]).flatMap((e=>[{property:e.propertyA,clause:"merge"},{property:e.propertyB,clause:"merge"}]))];for(const{property:o,clause:l,own:d}of c){if("string"!=typeof o)continue;let c=e.entity,u=o;if(!d&&(0,r.isEntityProperty)(o)&&({entity:c,property:u}=(0,n.splitEntityProperty)(o)),"select"===l&&c!==e.entity&&!a.has(c))throw new Error(`Can't select "${o}": a joined record's rows are a list under its name (select ${c}), and its fields are on each row only when merged (merge ... with ${c}.<field>)`);Object.prototype.hasOwnProperty.call(i,c)||(i[c]=await(0,t.retrieveRecord)(c)),s(c,i[c],[u],l)}}}}),Yn=d({"dist/data/queries/insertEntity.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.insertEntity=void 0,It(),kt(),Ke(),Wn(),kr(),Ln(),nt(),St(),Hr(),Yr(),Zr(),en(),tn(),nn(),on(),sn(),an(),cn(),ln(),dn(),un(),Vt(),Wt(),tr(),rr(),nr(),or(),ir(),cr(),dr(),fr(),pr(),yr(),hr(),mr(),wr(),jr();var t=En(),r=Un(),n=Kn(),o=Rr(),s=Qn(),i=Tn(),a=Sn(),c=Mn(),l=kn(),d=Fn(),u=In(),f=Gn(),y=xn(),h=Cn(),m=Xn(),v=class{constructor(e,t){this.seen=new Set,this.fields=t,this.types=t.map((t=>(0,c.fieldType)(e,t)))}static usable(e,t){return t.every((t=>l.comparableTypes.includes((0,c.fieldType)(e,t))))}keyOf(e){const t=[];for(let r=0;r<this.fields.length;r++){const n=e[this.fields[r]];if(null==n)return;const o=(0,l.compareAs)(this.types[r],n);if("object"==typeof o)return;t.push([typeof o,o])}return JSON.stringify(t)}add(e){const t=this.keyOf(e);void 0!==t&&this.seen.add(t)}has(e){const t=this.keyOf(e);return void 0!==t&&this.seen.has(t)}},w=class{constructor(e,t){this.rows=[],this.buffers=new Map,this.unreadable=new Set,this.otherLookups=new Map,this.scans=new Map,this.entity=e,this.record=t,this.hadEntries=(t.entries||[]).length>0}async load(){for(const e of this.record.keys){if(!e.lookup)continue;let t=[];try{t=await(0,y.readJson)(`__indexes/${this.record.path}/${e.lookup}`)}catch(t){this.unreadable.add(e)}this.buffers.set(e,new f.IndexBuffer(Array.isArray(t)?t:[],(0,c.keyValueType)(this.record,e)))}}ownLookup(e){const t=this.record.keys.find((t=>(0,u.isSingleFieldKey)(t,e)&&t.lookup));if(!t||this.unreadable.has(t))return()=>{};const r=this.buffers.get(t);return e=>(this.hadEntries||this.rows.length>0)&&r.has(e)}otherLookup(e,r){const n=`${e}\0${r}`;return this.otherLookups.has(n)||this.otherLookups.set(n,(async()=>{const n=await(0,t.retrieveRecord)(e),o=n.keys.find((e=>(0,u.isSingleFieldKey)(e,r)&&e.lookup));if(!o)return()=>{};if(!(n.entries||[]).length)return()=>!1;let s;try{s=await(0,y.readJson)(`__indexes/${n.path}/${o.lookup}`)}catch(e){return()=>{}}const i=new f.IndexBuffer(Array.isArray(s)?s:[],(0,c.fieldType)(n,r));return e=>i.has(e)})()),this.otherLookups.get(n)}scan(e,r){const n=`${e}\0${r.join("\0")}`;return this.scans.has(n)||this.scans.set(n,(async()=>{const n=e===this.entity?this.record:await(0,t.retrieveRecord)(e);if(!v.usable(n,r))return;const o=new v(n,r);for(const t of await(0,d.retrieveRecords)(e))o.add(t);return e===this.entity&&this.rows.forEach((e=>o.add(e))),o})()),this.scans.get(n)}claimed(e,t){return this.rows.some((r=>e.every((e=>null!==r[e]&&void 0!==r[e]&&(0,l.sameValue)((0,c.fieldType)(this.record,e),r[e],t[e])))))}async isUnique(e,t){if(1===e.length){const r=this.ownLookup(e[0])(t[e[0]]);if(void 0!==r)return!r}const n=await this.scan(this.entity,e);return n?!n.has(t):await(0,r.keyUnique)(this.entity,e,e.map((e=>t[e])))&&!this.claimed(e,t)}async exists(e,t,r){const n=e===this.entity,o=n?this.ownLookup(t)(r):(await this.otherLookup(e,t))(r);if(void 0!==o)return o;const i=await this.scan(e,[t]);return i?i.has({[t]:r}):await(0,s.foreignKeyExists)(e,t,r)||n&&this.claimed([t],{[t]:r})}async add(e,t){this.rows.push(e);for(const[t,r]of this.scans)t.startsWith(`${this.entity}\0`)&&(await r)?.add(e);this.record.entries.push(t);for(const[r,n]of this.buffers)n.add((0,a.computeKeyValue)(r.fields,e),t)}async write(){await(0,y.writeJson)(`${this.record.path}.json`,this.record),this.buffers.size&&await(0,y.makeDirectory)(`__indexes/${this.record.path}`);for(const[e,t]of this.buffers)await(0,y.writeJson)(`__indexes/${this.record.path}/${e.lookup}`,t.entries)}},g=async(e,t)=>{let r;do{r=crypto.randomUUID()}while(!await e.isUnique([t],{[t]:r}));return r},j=async(e,t={})=>{const r={};for(const s of e.record.definition){let i=t[s.name];if(null===i&&s.optional&&!s.nullable&&(i=void 0),s.autoGenerate?i=await g(e,s.name):Object.prototype.hasOwnProperty.call(s,"default")&&(i=(0,n.useDefault)(s.default,i)),void 0!==i)r[s.name]=(0,o.typeCheck)(s.type,i,s.nullable);else if(!s.optional)throw new Error(`Missing required field "${s.name}" for ${e.entity}`)}return r},b=async(e,t)=>{for(const r of e.record.keys)if(!("primary"!==r.type&&"unique"!==r.type||r.fields.some((e=>null===t[e]))||await e.isUnique(r.fields,t)))throw new Error(`Duplicate value for ${r.type} key "${r.fields.join(", ")}" on ${e.entity}`)},_=async(e,t)=>{for(const r of e.record.keys){if("foreign"!==r.type||1!==r.fields.length||!r.references||1!==r.references.length)continue;const n=r.fields[0];if(!Object.prototype.hasOwnProperty.call(t,n)||null===t[n])continue;const{entity:o,property:s}=(0,i.splitEntityProperty)(r.references[0].fields[0]);if(!await e.exists(o,s,t[n]))throw new Error(`Foreign key "${n}" on ${e.entity} references a nonexistent ${o}.${s} = ${t[n]}`)}};e.insertEntity=async(e="",r=[],n={})=>{const o=await(0,t.retrieveRecord)(e),s=o.keys.find((e=>"primary"===e.type&&1===e.fields.length));if(Object.prototype.hasOwnProperty.call(n,e)||(n[e]=[]),await(0,y.makeDirectory)(o.path),!r.length)return n;for(const t of r)(0,m.assertFieldsDefined)(e,o,Object.keys(t||{}),"insert");await(0,h.discardPacked)(o.path);const i=new w(e,o);await i.load();for(const t of r){const r=await j(i,t);await b(i,r),await _(i,r);const a=`${s?r[s.fields[0]]:crypto.randomUUID()}.json`;await(0,y.writeJson)(`${o.path}/${a}`,r),await i.add(r,a),n[e].push(r)}return await i.write(),n}}}),Zn=d({"dist/data/queries/readEntity.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.readEntity=void 0;var t=Fn();e.readEntity=async(e="",r={})=>(Object.prototype.hasOwnProperty.call(r,e)&&r[e].length||(r[e]=await(0,t.retrieveRecords)(e)),r)}}),eo=d({"dist/data/utilities/updateIndex.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.updateIndex=void 0,It(),Ke(),kr();var t=kn(),r=xn();e.updateIndex=async(e="",n=null,o=void 0,s="",i=void 0)=>{if(!n||!n.lookup)return null;const a=`__indexes/${e}`,c=`${a}/${n.lookup}`;let l=[];try{l=await(0,r.readJson)(c)}catch(e){l=[]}const d=l.find((e=>(0,t.sameValue)(i,e.value,o)));return d?d.record.includes(s)||d.record.push(s):l.push({value:o,record:[s]}),await(0,r.makeDirectory)(a),await(0,r.writeJson)(c,l),l}}}),to=d({"dist/data/queries/updateEntity.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.updateEntity=void 0,Ke(),kr(),nt(),St();var t=En(),r=$n(),n=eo(),o=Pn(),s=Sn(),i=Mn(),a=kn(),c=Un(),l=Rr(),d=Qn(),u=Jn(),f=Tn(),y=Vr(),h=zn(),m=xn(),v=Cn(),w=Xn(),g=async(e,t,n)=>{const o=(0,i.keyValueType)(e,t),c=async i=>(0,a.sameValue)(o,(0,s.computeKeyValue)(t.fields,await(0,r.retrieveFile)(`${e.path}/${i}`)),n);for(const r of await(0,h.keyIndexFiles)(e,t,(e=>(0,a.sameValue)(o,e,n)))??[])if(await c(r))return r;for(const t of e.entries)if(await c(t))return t;return null},j=(e,t,r,n)=>t.fields.some((t=>Object.prototype.hasOwnProperty.call(n,t)&&!(0,a.sameValue)((0,i.fieldType)(e,t),n[t],r[t]))),b=async(e,t,r,n,o)=>{for(const s of t.keys){if("primary"!==s.type&&"unique"!==s.type||!j(t,s,r,o))continue;const i=s.fields.map((e=>n[e]));if(i.some((e=>null==e)))continue;if(!await(0,c.keyUnique)(e,s.fields,i))throw new Error(`Duplicate value for ${s.type} key "${s.fields.join(", ")}" on ${e}`)}},_=async(e,t,r,n)=>{for(const o of t.keys){if("foreign"!==o.type||1!==o.fields.length||!o.references||1!==o.references.length)continue;const s=o.fields[0];if(!Object.prototype.hasOwnProperty.call(n,s)||null===n[s]||void 0===n[s]||(0,a.sameValue)((0,i.fieldType)(t,s),n[s],r[s]))continue;const{entity:c,property:l}=(0,f.splitEntityProperty)(o.references[0].fields[0]);if(!await(0,d.foreignKeyExists)(c,l,n[s]))throw new Error(`Foreign key "${s}" on ${e} references a nonexistent ${c}.${l} = ${n[s]}`)}},x=async(e,t,r,n,o)=>{if(!(0,y.getSetting)("enforceForeignKeys",!0)||1!==r.fields.length||!j(t,r,n,o))return;const s=r.fields[0];if(await(0,u.hasDependents)(e,s,n[s]))throw new Error(`Cannot update "${e}" where "${s}" = ${n[s]} - other records still reference it`)},$=async(e,t,r,a,c)=>{for(const l of e.keys)j(e,l,t,a)&&(await(0,o.removeFromIndex)(e.path,l,(0,s.computeKeyValue)(l.fields,t),c,(0,i.keyValueType)(e,l)),await(0,n.updateIndex)(e.path,l,(0,s.computeKeyValue)(l.fields,r),c,(0,i.keyValueType)(e,l)))},O=(e,t,r)=>{for(const n of t.definition)if(!n.optional&&void 0===r[n.name])throw new Error(`Missing required field "${n.name}" for ${e}`)},E=(e,t)=>{const r=Object.assign({},e);for(const e of Object.keys(t))void 0===t[e]&&delete r[e];return r};e.updateEntity=async(e="",n={},o={})=>{const c=await(0,t.retrieveRecord)(e),d=c.keys.find((e=>"primary"===e.type));if(!d)throw new Error(`Cannot update "${e}" without a primary key`);(0,w.assertFieldsDefined)(e,c,Object.keys(n||{}),"set");const u=((e,t)=>{const r=Object.assign({},t);for(const t of e.definition)Object.prototype.hasOwnProperty.call(r,t.name)&&(r[t.name]=null===r[t.name]&&t.optional&&!t.nullable?void 0:(0,l.typeCheck)(t.type,r[t.name],t.nullable));return r})(c,n);for(const t of d.fields)if(Object.prototype.hasOwnProperty.call(u,t)&&void 0===u[t])throw new Error(`Cannot clear "${t}" on ${e}: it's part of the primary key`);const f=[];for(const t of o[e]||[]){const n=await g(c,d,(0,s.computeKeyValue)(d.fields,t));if(!n)throw new Error(`Could not find entry for ${e} where "${d.fields.join(", ")}" = ${(0,s.computeKeyValue)(d.fields,t)}`);if(f.some((e=>e.fileName===n)))continue;const o=await(0,r.retrieveFile)(`${c.path}/${n}`),i=E(Object.assign({},o,u),u);await b(e,c,o,i,u),await _(e,c,o,u),await x(e,c,d,o,u),O(e,c,i),f.push({fileName:n,oldData:o,newData:i})}((e,t,r,n)=>{for(const o of t.keys){if("primary"!==o.type&&"unique"!==o.type)continue;const c=[];for(const{oldData:l,newData:d}of r){if(!j(t,o,l,n)||o.fields.some((e=>null===d[e]||void 0===d[e])))continue;const r=(0,s.computeKeyValue)(o.fields,d);if(c.some((e=>(0,a.sameValue)((0,i.keyValueType)(t,o),e,r))))throw new Error(`Duplicate value for ${o.type} key "${o.fields.join(", ")}" on ${e}`);c.push(r)}}})(e,c,f,u),f.length&&await(0,v.discardPacked)(c.path);for(const{fileName:e,oldData:t,newData:r}of f)await $(c,t,r,u,e),await(0,m.writeJson)(`${c.path}/${e}`,r);return o[e]=f.map((({newData:e})=>e)),o}}}),ro=d({"dist/data/introspect/definitions/field.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.field=void 0;e.field=({name:e="",type:t="string",optional:r=!1,nullable:n=!1,useDefault:o=!1,defaultValue:s="",autoGenerate:i=!1}={})=>{const a={name:e,type:t,optional:r,autoGenerate:i};return n&&(a.nullable=!0),o&&(a.default=s),a}}}),no=d({"dist/data/introspect/definitions/keyReference.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.keyReference=void 0;e.keyReference=({fields:e=[],lookup:t=""}={})=>({fields:e,lookup:t})}}),oo=d({"dist/data/introspect/definitions/key.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.key=void 0,Ke(),nt();var t=no();e.key=({type:e="index",fields:r=[],lookup:n="",references:o=[]}={})=>{switch(e){case"primary":case"index":case"unique":o=[];break;case"multi":if(r.length<2)throw new Error("Multi key indicated with less than two fields");break;case"foreign":if(o.length<1)throw new Error("Foreign key must have one reference to an external record");break;default:throw new Error("Unrecognized key type; must be index, primary, unique, multi, or foreign")}const s={type:e,fields:r,lookup:n};return void 0!==o&&o.length>0&&(s.references=o.map(t.keyReference)),s}}}),so=d({"dist/data/introspect/definitions/record.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.record=void 0,Ke(),nt();var t=ro(),r=oo();e.record=({path:e="",definition:n=[],keys:o=[],entries:s=[]}={})=>({path:e,definition:n.map(t.field),keys:o.map(r.key),entries:s})}}),io=d({"dist/data/utilities/registerRecord.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.registerRecord=void 0,It();var t=xn();e.registerRecord=async e=>{const r="__RECORDS.json";let n;try{n=await(0,t.readJson)(r)}catch(e){n={path:"",definition:[{name:"path",type:"string",optional:!1,autoGenerate:!1},{name:"definition",type:"object",optional:!1,autoGenerate:!1},{name:"keys",type:"array",optional:!1,autoGenerate:!1},{name:"entries",type:"array",optional:!1,autoGenerate:!1}],keys:[],entries:[]}}const o=`${e}.json`;return n.entries.includes(o)||n.entries.push(o),await(0,t.writeJson)(r,n),n}}}),ao=d({"dist/data/utilities/requireNode.js"(e){p(),Lr(),Object.defineProperty(e,"__esModule",{value:!0}),e.requireNode=void 0;var t,r=function(e,r){if(!r&&e&&e.__esModule)return e;var n,o,s=Object.defineProperty,i={__proto__:null,default:e};if(Object(e)!==e)return i;if(t||"function"!=typeof WeakMap||(t=new WeakMap),t){if(t.has(e))return t.get(e);t.set(e,i)}for(o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((n=s&&Object.getOwnPropertyDescriptor(e,o))&&(n.get||n.set)?s(i,o,n):i[o]=e[o]);return i}(zr());e.requireNode=e=>{if(!r.isNode)throw new Error(`${e} only works in Node: in a browser, json-fs-query can only read the database (over fetch())`)}}}),co=d({"dist/data/introspect/create.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.create=e.assertValidDefinition=void 0,It(),Ke(),st(),kr(),St();var t=so(),r=io(),n=xn(),o=ao(),s=Rr(),i=["type","fields","lookup","references"],a=(e,t)=>{for(const r of t.definition)if(Object.prototype.hasOwnProperty.call(r,"default"))try{(0,s.typeCheck)(r.type,r.default,r.nullable)}catch(t){throw new Error(`Invalid default for field "${r.name}" of ${e}: ${t.message}`)}for(const r of t.keys){if(r.fields.length<1)throw new Error(`The ${r.type} key of ${e} must have at least one field`);for(const n of r.fields)if(!t.definition.some((e=>e.name===n)))throw new Error(`The ${r.type} key of ${e} names field "${n}", which isn't in the definition`)}const r=t.keys.find((e=>"primary"===e.type));for(const n of r?r.fields:[])if(t.definition.some((e=>e.name===n&&e.nullable)))throw new Error(`Primary key field "${n}" of ${e} can't be nullable`)};e.assertValidDefinition=a;e.create=async(e,s=[],c=[])=>{if((0,o.requireNode)("create()"),"__RECORDS"===e)return null;if((0,n.fileExists)(`${e}.json`))return null;((e,t)=>{for(const r of t)for(const t of Object.keys(r))if(!i.includes(t))throw new Error(`Unknown property "${t}" on ${r.type??"index"} key of ${e}; must be ${i.join(", ")}`)})(e,c);const l=(0,t.record)({path:e,definition:s,keys:c});a(e,l),await(0,n.makeDirectory)(),await(0,n.writeJson)(`${e}.json`,l),await(0,n.makeDirectory)(e);const d=l.keys.filter((e=>e.lookup));if(d.length){await(0,n.makeDirectory)(`__indexes/${e}`);for(const t of d)await(0,n.writeJson)(`__indexes/${e}/${t.lookup}`,[])}return await(0,r.registerRecord)(e),l}}}),lo=d({"dist/data/queries/createRecord.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.createRecord=void 0,It(),Ke(),nt();var t=co(),r=En(),n=Tn(),o=On();e.createRecord=async(e,s)=>{if((0,o.recordExists)(e)){if(s.ifNotExists)return null;throw new Error(`Record "${e}" already exists`)}return await(async(e,t)=>{for(const s of t.keys){if("foreign"!==s.type)continue;const{entity:i,property:a}=(0,n.splitEntityProperty)(s.references[0].fields[0]);let c=t.definition.map((e=>e.name));if(i!==e){if(!(0,o.recordExists)(i))throw new Error(`Foreign key "${s.fields[0]}" references "${i}", which doesn't exist`);c=(await(0,r.retrieveRecord)(i)).definition.map((e=>e.name))}if(!c.includes(a))throw new Error(`Foreign key "${s.fields[0]}" references "${i}.${a}", which is not a field`)}})(e,s),(0,t.create)(e,s.definition,s.keys)}}}),uo=d({"dist/data/utilities/deregisterRecord.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.deregisterRecord=void 0,Ke(),st();var t=xn();e.deregisterRecord=async e=>{const r="__RECORDS.json";let n;try{n=await(0,t.readJson)(r)}catch(e){return null}const o=`${e}.json`;return n.entries=n.entries.filter((e=>e!==o)),await(0,t.writeJson)(r,n),n}}}),fo=d({"dist/data/introspect/drop.js"(e){p(),Ce(),ze(),Ke(),et(),Object.defineProperty(e,"__esModule",{value:!0}),e.drop=void 0;var t=$n(),r=uo(),n=ao(),o=xn(),s=Cn();e.drop=async e=>{if((0,n.requireNode)("drop()"),"__RECORDS"===e)return null;const i=await(0,t.retrieveFile)(`${e}.json`);for(const e of i.entries)await(0,o.removeFile)(`${i.path}/${e}`);await(0,o.removeDirectory)(i.path),await(0,o.removeDirectory)(`__indexes/${i.path}`),await(0,s.discardPacked)(i.path),await(0,o.removeFile)(`${e}.json`),await(0,r.deregisterRecord)(e)}}}),po=d({"dist/data/queries/dropRecord.js"(e){p(),Ce(),ze(),et(),Object.defineProperty(e,"__esModule",{value:!0}),e.dropRecord=void 0,Ke(),St();var t=fo(),r=En(),n=On(),o=Tn(),s=Vr();e.dropRecord=async(e,i)=>{if(!(0,n.recordExists)(e)){if(i)return null;throw new Error(`Record "${e}" doesn't exist`)}await(async e=>{if(!(0,s.getSetting)("enforceForeignKeys",!0)||!(0,n.recordExists)("__RECORDS"))return;const t=await(0,r.retrieveRecord)("__RECORDS");for(const s of t.entries){const t=s.replace(/\.json$/,"");if(t!==e&&(0,n.recordExists)(t))for(const n of(await(0,r.retrieveRecord)(t)).keys)if("foreign"===n.type&&n.references&&n.references.some((t=>(0,o.splitEntityProperty)(t.fields[0]).entity===e)))throw new Error(`Cannot drop "${e}": ${t}.${n.fields.join(", ")} references it`)}})(e);const a=await(0,r.retrieveRecord)(e);return await(0,t.drop)(e),a}}}),yo=d({"dist/data/queries/describeRecord.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.describeRecord=void 0;var t=En(),r=On();e.describeRecord=async e=>{if(!(0,r.recordExists)(e))throw new Error(`Record "${e}" doesn't exist`);const{path:n,definition:o,keys:s}=await(0,t.retrieveRecord)(e);return{path:n,definition:o,keys:s}}}}),ho=d({"dist/data/queries/showRecords.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.showRecords=void 0,Ke(),nt();var t=En(),r=On();e.showRecords=async()=>(0,r.recordExists)("__RECORDS")?(await(0,t.retrieveRecord)("__RECORDS")).entries.map((e=>e.replace(/\.json$/,""))):[]}}),mo=d({"dist/data/introspect/alter.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.alter=void 0,It(),kt(),Ke(),st(),kr(),nt(),St();var t=ro(),r=co(),n=Cr(),o=En(),s=Dn(),i=Fn(),a=Xn(),c=Cn(),l=ao(),d=ho(),u=to(),f=Rr(),y=xn(),h=async e=>(await(0,s.retrieveFiles)(e.entries.map((t=>`${e.path}/${t}`)),i.retrieveEntry)).map(((t,r)=>({fileName:e.entries[r],data:t}))),m=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),v=(e,t)=>e.keys.filter((e=>e.fields.includes(t))),w=async(e,t)=>{const r=[];for(const n of await(0,d.showRecords)()){const s=await(0,o.retrieveRecord)(n);for(const o of s.keys)"foreign"===o.type&&(o.references||[]).some((r=>r.fields.includes(`${e}.${t}`)))&&r.push({entity:n,record:s,key:o})}return r},g=async(e,t)=>{(0,r.assertValidDefinition)(e,t),await(0,y.writeJson)(`${e}.json`,t)},j=async(e,t,r,n,o)=>{if(r.length)if(await(0,c.discardPacked)(t.path),v(t,n).length&&"function"!=typeof o){if(!t.keys.some((e=>"primary"===e.type)))throw new Error(`Can't change "${n}" on ${e}'s rows: a key uses it, and rows are found by the primary key, which ${e} doesn't have`);await(0,u.updateEntity)(e,{[n]:void 0===o?null:o},{[e]:r.map((e=>e.data))})}else for(const e of r){const r=Object.assign({},e.data),s="function"==typeof o?o(e):o;void 0===s?delete r[n]:r[n]=s,await(0,y.writeJson)(`${t.path}/${e.fileName}`,r)}};e.alter=async(e,r)=>{if((0,l.requireNode)("alter"),"__RECORDS"===e)throw new Error("__RECORDS is reserved for the list of records");const s=[e,..."field"in r?[r.field?.name]:[],..."name"in r?[r.name]:[],..."to"in r?[r.to]:[]],i=s.findIndex((e=>"string"!=typeof e||!n.nameMatch.test(e)));if(-1!==i)throw new Error(`Invalid name ${JSON.stringify(s[i])??"undefined"} in alter: names use letters, digits, _ and - only`);const d=await(0,o.retrieveRecord)(e);switch(r.action){case"add":return(await(async(e,t,r)=>{if(t.definition.some((e=>e.name===r.name)))throw new Error(`Field "${r.name}" already exists on ${e}`);const n={...t,definition:[...t.definition,r]},o=await h(t);for(const t of o.filter((e=>m(e.data,r.name))))try{(0,f.typeCheck)(r.type,t.data[r.name],r.nullable)}catch(n){throw new Error(`Can't add "${r.name}" to ${e}: row ${t.fileName} already holds a value for it that doesn't fit (${n.message})`)}const s=o.filter((e=>!m(e.data,r.name))),i=m(r,"default");if(s.length&&!r.optional&&!i&&!r.autoGenerate)throw new Error(`Can't add required field "${r.name}" to ${e}: its ${s.length} row(s) have no value for it (give it a default, or make it optional)`);return await g(e,n),r.autoGenerate?await j(e,n,s,r.name,(()=>crypto.randomUUID())):i&&await j(e,n,s,r.name,r.default),n})(e,d,(0,t.field)(r.field))).definition;case"drop":return(await(async(e,t,r)=>{(0,a.assertFieldsDefined)(e,t,[r],"alter");const n=v(t,r)[0];if(n)throw new Error(`Can't drop "${r}" from ${e}: its ${(e=>`${e.type} key (${e.fields.join(", ")})`)(n)} uses it`);const o=(await w(e,r))[0];if(o)throw new Error(`Can't drop "${r}" from ${e}: ${o.entity}'s foreign key "${o.key.fields[0]}" references it`);const s={...t,definition:t.definition.filter((e=>e.name!==r))};return await g(e,s),await j(e,s,(await h(t)).filter((e=>m(e.data,r))),r,void 0),s})(e,d,r.name)).definition;case"rename":return(await(async(e,t,r,o)=>{if((0,a.assertFieldsDefined)(e,t,[r],"alter"),t.definition.some((e=>e.name===o)))throw new Error(`Can't rename "${r}" on ${e} to "${o}": a field of that name already exists`);const s=await w(e,r),i=t.keys.map((e=>{if(!e.fields.includes(r))return e;const t=e.fields.map((e=>e===r?o:e)),s=e.lookup&&e.lookup===(0,n.keyLookup)(e.type,e.fields)?(0,n.keyLookup)(e.type,t):e.lookup;return{...e,fields:t,lookup:s}})),l=t=>"foreign"!==t.type?t:{...t,references:(t.references||[]).map((t=>({...t,fields:t.fields.map((t=>t===`${e}.${r}`?`${e}.${o}`:t))})))},d={...t,definition:t.definition.map((e=>e.name===r?{...e,name:o}:e)),keys:i.map(l)};for(const[e,r]of t.keys.entries()){const n=i[e].lookup;r.lookup&&n!==r.lookup&&(0,y.fileExists)(`__indexes/${t.path}/${r.lookup}`)&&(await(0,y.writeJson)(`__indexes/${t.path}/${n}`,await(0,y.readJson)(`__indexes/${t.path}/${r.lookup}`)),await(0,y.removeFile)(`__indexes/${t.path}/${r.lookup}`))}await g(e,d);for(const t of s.filter((t=>t.entity!==e)))await(0,y.writeJson)(`${t.entity}.json`,{...t.record,keys:t.record.keys.map(l)});const u=(await h(t)).filter((e=>m(e.data,r)));u.length&&await(0,c.discardPacked)(t.path);for(const e of u){const n=Object.assign({},e.data);n[o]=n[r],delete n[r],await(0,y.writeJson)(`${t.path}/${e.fileName}`,n)}return d})(e,d,r.name,r.to)).definition;case"modify":return(await(async(e,t,r)=>{(0,a.assertFieldsDefined)(e,t,[r.name],"alter");const n=t.definition.find((e=>e.name===r.name));if(n.type!==r.type)throw new Error(`Can't change the type of "${r.name}" on ${e} (${n.type} to ${r.type}): only optional, null and default can change`);if(Boolean(n.autoGenerate)!==Boolean(r.autoGenerate))throw new Error(`Can't change whether "${r.name}" on ${e} is auto: only optional, null and default can change`);const o={...t,definition:t.definition.map((e=>e.name===r.name?r:e))},s=await h(t),i=m(r,"default"),c=r.nullable?[]:s.filter((e=>null===e.data[r.name])),l=r.optional?[]:s.filter((e=>!m(e.data,r.name))),d=r.optional?[]:c;if((l.length||d.length)&&!i)throw l.length?new Error(`Can't make "${r.name}" required on ${e}: ${l.length} row(s) have no value for it (give it a default to fill them in)`):new Error(`Can't make "${r.name}" not null on ${e}: ${d.length} row(s) hold null (give it a default to fill them in, or make it optional)`);return await g(e,o),i&&await j(e,o,[...l,...d],r.name,r.default),r.optional&&c.length&&await j(e,o,c,r.name,void 0),o})(e,d,(0,t.field)(r.field))).definition;default:throw new Error(`Unknown alter action: ${r.action}`)}}}}),vo=d({"dist/data/utilities/databaseLock.js"(e){p(),Lr(),Object.defineProperty(e,"__esModule",{value:!0}),e.withDatabaseLock=e.browserCallsRunning=void 0,Hr(),Yr(),Zr(),en(),tn(),nn(),on(),sn(),an(),cn(),ln(),dn(),un();var t,r=function(e,r){if(!r&&e&&e.__esModule)return e;var n,o,s=Object.defineProperty,i={__proto__:null,default:e};if(Object(e)!==e)return i;if(t||"function"!=typeof WeakMap||(t=new WeakMap),t){if(t.has(e))return t.get(e);t.set(e,i)}for(o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((n=s&&Object.getOwnPropertyDescriptor(e,o))&&(n.get||n.set)?s(i,o,n):i[o]=e[o]);return i}(zr()),n=Vr(),o=xn();var s=new Map,i=0;e.browserCallsRunning=()=>i;e.withDatabaseLock=async e=>{if(!r.isNode){i++;try{return await(0,o.withReadCache)(e)}finally{i--}}const t=(0,n.resolveDatabasePath)((0,n.lockPath)()),a=(0,n.trackDatabaseCall)(),c=s.get(t)||Promise.resolve();let l;const d=new Promise((e=>{l=e})),u=c.then((()=>d));s.set(t,u),await c;try{return await(0,o.withReadCache)(e)}finally{a(),l(),s.get(t)===u&&s.delete(t)}}}}),wo=d({"dist/data/queries/databaseStatements.js"(e){p(),Lr(),Object.defineProperty(e,"__esModule",{value:!0}),e.useDatabase=e.showDatabases=e.dropDatabase=e.createDatabase=void 0,It(),Ke(),st();var t,r=function(e,r){if(!r&&e&&e.__esModule)return e;var n,o,s=Object.defineProperty,i={__proto__:null,default:e};if(Object(e)!==e)return i;if(t||"function"!=typeof WeakMap||(t=new WeakMap),t){if(t.has(e))return t.get(e);t.set(e,i)}for(o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((n=s&&Object.getOwnPropertyDescriptor(e,o))&&(n.get||n.set)?s(i,o,n):i[o]=e[o]);return i}(zr()),n=Vr(),o=ao(),s=vo(),i=xn();var a=async e=>(await(0,i.readDatabaseList)()).includes(e)||r.isNode&&(0,i.databaseFolderExists)(e);e.createDatabase=async(e,t=!1)=>{(0,o.requireNode)('"create database"');const r=await(0,i.readDatabaseList)();if(r.includes(e)||(0,i.databaseFolderExists)(e)){if(!t)throw new Error(r.includes(e)?`Database "${e}" already exists`:`Database "${e}" already exists as a folder that isn't listed: create database if not exists ${e} lists it`);return r.includes(e)||await(0,i.writeDatabaseList)([...r,e]),null}return await(0,i.writeDatabaseList)([...r,e]),await(0,i.makeDatabaseFolder)(e),e};e.dropDatabase=async(e,t=!1)=>{if((0,o.requireNode)('"drop database"'),!await a(e)){if(t)return null;throw new Error(`Database "${e}" doesn't exist`)}if((0,n.getSetting)("database",void 0)===e)throw new Error(`Can't drop the database in use ("${e}"): use another one first`);return await(0,i.writeDatabaseList)((await(0,i.readDatabaseList)()).filter((t=>t!==e))),await(0,i.removeDatabaseFolder)(e),e};e.useDatabase=async e=>{if(!r.isNode&&(0,s.browserCallsRunning)()>1)throw new Error(`Can't use "${e}" while other calls are running in this page: await them first, or pick the database with configure({ database }) between calls`);if(!await a(e))throw new Error(`Database "${e}" doesn't exist${r.isNode?"":" (or isn't listed in __DATABASES.json)"}`);return(0,n.switchDatabase)(e),e};e.showDatabases=async()=>(0,i.readDatabaseList)()}}),go=d({"dist/data/utilities/joinKey.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.joinKey=e.isKeyedType=void 0,It();var t=kn();e.joinKey=(e,r)=>{if(null!=r)return(0,t.compareAs)(e,r)};e.isKeyedType=e=>t.comparableTypes.includes(e)}}),jo=d({"dist/data/utilities/rowLookup.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.groupRows=e.firstPositions=e.RowLookups=void 0,Ke(),Ln(),Hr(),Yr(),Zr(),en(),tn(),nn(),on(),sn(),an(),cn(),ln(),dn(),un();var t=go(),r=(e,r,n)=>{const o=new Map;for(const s of e){const e=(0,t.joinKey)(n,s[r]);if(void 0===e)continue;const i=o.get(e);i?i.push(s):o.set(e,[s])}return o};e.groupRows=r;var n=(e,r,n)=>{const o=new Map;return e.forEach(((e,s)=>{const i=(0,t.joinKey)(n,e[r]);void 0===i||o.has(i)||o.set(i,s)})),o};e.firstPositions=n;e.RowLookups=class{constructor(e){this.rows=e,this.groups=new Map,this.positions=new Map}groupsBy(e,t){const n=`${e}\0${t}`;return this.groups.has(n)||this.groups.set(n,r(this.rows,e,t)),this.groups.get(n)}positionsBy(e,t){const r=`${e}\0${t}`;return this.positions.has(r)||this.positions.set(r,n(this.rows,e,t)),this.positions.get(r)}}}}),bo=d({"dist/data/utilities/semiJoin.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.semiJoin=void 0,Ke(),Ln(),nt(),Vt(),Wt(),tr(),rr(),nr(),or(),ir(),cr(),dr(),fr(),pr(),yr(),hr(),mr(),wr(),jr();var t=An(),r=go(),n=jo();e.semiJoin=(e,o,s,i,a,c)=>{if("="===a&&(0,r.isKeyedType)(c)){if(o.lookups&&e.rows.length<o.rows.length){const t=o.lookups.positionsBy(i,c),n=[];return e.rows.forEach(((e,o)=>{const i=t.get((0,r.joinKey)(c,e[s]));void 0!==i&&n.push({row:e,position:i,index:o})})),n.sort(((e,t)=>e.position-t.position||e.index-t.index)).map((({row:e})=>e))}const t=e.lookups?e.lookups.groupsBy(s,c):(0,n.groupRows)(e.rows,s,c),a=[],l=new Set;for(const e of o.rows){const n=(0,r.joinKey)(c,e[i]);if(void 0===n||l.has(n))continue;l.add(n);const o=t.get(n);o&&a.push(...o)}return a}const l=[],d=new Set;for(const r of o.rows)for(const n of(0,t.where)(e.rows,{property:s,comparator:a,value:r[i],type:c}))d.has(n)||(d.add(n),l.push(n));return l}}}),_o=d({"dist/data/utilities/retrieveIndexes.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.retrieveIndexes=void 0;var t=$n(),r=En(),n=In();e.retrieveIndexes=async(e="",o=[],s={})=>{Object.prototype.hasOwnProperty.call(s,e)||(s[e]=await(0,r.retrieveRecord)(e));const i={};for(const r of o)for(const o of s[e].keys)(0,n.isSingleFieldKey)(o,r)&&(i[r]=(s[e].entries||[]).length?await(0,t.retrieveFile)(`__indexes/${e}/${o.lookup}`):[]);return i}}}),xo=d({"dist/data/utilities/joinBases.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.joinBases=void 0,Ke(),st(),Ln(),nt(),Hr(),Yr(),Zr(),en(),tn(),nn(),on(),sn(),an(),cn(),ln(),dn(),un(),Vt(),Wt(),tr(),rr(),nr(),or(),ir(),cr(),dr(),fr(),pr(),yr(),hr(),mr(),wr(),jr();var t=Zn(),r=En(),n=Fn(),o=_o(),s=go(),i=jo(),a=async(e,t,i,a,c)=>{const l=(await(0,o.retrieveIndexes)(e,[t],{}))[t];if(!l)return;const d=new Set(a.map((e=>(0,s.joinKey)(i,e[c]))).filter((e=>void 0!==e))),u=new Set;for(const e of l)d.has((0,s.joinKey)(i,e.value))&&e.record.forEach((e=>u.add(e)));const f=await(0,r.retrieveRecord)(e);return(0,n.retrieveEntryRows)(f,f.entries.filter((e=>u.has(e))))};e.joinBases=async(e,r,n,o,c)=>{const l=new Map,d=(e,t)=>l.set(e,{rows:t,lookups:new i.RowLookups(t)});d(e,n[e]),c&&d(r,n[r]);const u=async e=>(await(0,t.readEntity)(e,n))[e];for(const e of o){const t=[{name:e.entityA,property:e.propertyA,other:e.entityB,otherProperty:e.propertyB},{name:e.entityB,property:e.propertyB,other:e.entityA,otherProperty:e.propertyA}];for(const{name:r,property:n,other:o,otherProperty:i}of t){if(l.has(r))continue;d(r,("="===e.comparator&&e.typeA===e.typeB&&(0,s.isKeyedType)(e.typeA)&&l.has(o)?await a(r,n,e.typeA,l.get(o).rows,i):void 0)??await u(r))}}return l.has(r)||d(r,await u(r)),l}}}),$o=d({"dist/data/queries/joinEntity.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.joinEntity=void 0,Ke(),nt(),Hr(),Yr(),Zr(),en(),tn(),nn(),on(),sn(),an(),cn(),ln(),dn(),un();var t=Zn(),r=En(),n=Tn(),o=Mn(),s=bo(),i=xo();e.joinEntity=async(e,a,c={},l=[],d=!1,u=!1)=>{if(d||(c=await(0,t.readEntity)(e,c)),!l.length)return c;const f=await(async e=>{const t=[];for(const{propertyA:s,comparator:i,propertyB:a}of e){const{entity:e,property:c}=(0,n.splitEntityProperty)(s),{entity:l,property:d}=(0,n.splitEntityProperty)(a);t.push({entityA:e,propertyA:c,typeA:(0,o.fieldType)(await(0,r.retrieveRecord)(e),c),comparator:i,entityB:l,propertyB:d,typeB:(0,o.fieldType)(await(0,r.retrieveRecord)(l),d)})}return t})(l);if(!c[e].length)return c;const p=await(0,i.joinBases)(e,a,c,f,u);for(const t of c[e]){const r=new Map(p);r.set(e,{rows:[t]});for(const e of f)r.set(e.entityA,{rows:(0,s.semiJoin)(r.get(e.entityA),r.get(e.entityB),e.propertyA,e.propertyB,e.comparator,e.typeA)}),r.set(e.entityB,{rows:(0,s.semiJoin)(r.get(e.entityB),r.get(e.entityA),e.propertyB,e.propertyA,e.comparator,e.typeB)});t[a]=r.get(a).rows.map((e=>structuredClone(e)))}return c}}}),Oo=d({"dist/data/utilities/mergeJoin.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.mergeJoin=void 0,Ke(),nt();var t=Zn(),r=Tn(),n=An(),o=En(),s=Mn();e.mergeJoin=async(e="",i="",a={})=>{const{entity:c,property:l}=(0,r.splitEntityProperty)(e),{entity:d,property:u}=(0,r.splitEntityProperty)(i);a=await(0,t.readEntity)(c,a),a=await(0,t.readEntity)(d,a);const f=(0,s.fieldType)(await(0,o.retrieveRecord)(d),u);return a[c]=a[c].map((e=>{const t=(0,n.where)(a[d],{property:u,comparator:"=",value:e[l],type:f});if(!t.length)return e;const r=t[0];for(const t in r)t!==u&&(e[`${d}.${t}`]=r[t]);return e})),a}}}),Eo=d({"dist/data/utilities/reconcileJoin.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.reconcileJoin=void 0,Ke(),Ln();var t=An();e.reconcileJoin=(e,r,n,o,s)=>{const i=e[r][n];return Object.prototype.hasOwnProperty.call(i,o)&&Array.isArray(i[o])&&i[o].forEach(((i,a)=>{const c=(0,t.where)(e[o],{property:s,comparator:"=",value:i[s]});c.length&&(e[r][n][o][a]=c[0])})),e}}}),ko=d({"dist/data/utilities/reconcileJoins.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.reconcileJoins=void 0;var t=Tn(),r=Eo();e.reconcileJoins=(e,n,o)=>{const{entity:s,property:i}=(0,t.splitEntityProperty)(e),{entity:a,property:c}=(0,t.splitEntityProperty)(n);for(const e in o)for(const t in o[e])o=(0,r.reconcileJoin)(o,e,t,s,i),o=(0,r.reconcileJoin)(o,e,t,a,c);return o}}}),Po=d({"dist/data/queries/mergeJoins.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.mergeJoins=void 0;var t=Oo(),r=ko();e.mergeJoins=async(e={},n=[])=>{if(!n.length)return e;for(const o of n)e=await(0,t.mergeJoin)(o.propertyA,o.propertyB,e),e=(0,r.reconcileJoins)(o.propertyA,o.propertyB,e);return e}}}),So=d({"dist/data/queries/sortBy.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.sortBy=void 0;var t=kn(),r=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)?null===e[t]?1:2:0;e.sortBy=(e=[],n=[])=>n.length?(e.sort(((e,o)=>{for(const s of n){const n=s.property,i=s.direction,a=r(e,n),c=r(o,n);if(a!==c)return"asc"===i?a-c:c-a;const l=(0,t.compareAs)(s.type,e[n]),d=(0,t.compareAs)(s.type,o[n]);if(l==d)continue;const u=l<d?-1:1;return"asc"===i?u:-1*u}return 0})),e):e}}),Mo=d({"dist/data/queries/groupBy.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.groupBy=void 0,kt(),Ke(),nt(),ht(),Hr(),Yr(),Zr(),en(),tn(),nn(),on(),sn(),an(),cn(),ln(),dn(),un();var t=e=>Array.isArray(e)?e.map(t):null!==e&&"object"==typeof e?Object.keys(e).sort().reduce(((r,n)=>(r[n]=t(e[n]),r)),{}):e,r=(e,r)=>{if(!Object.prototype.hasOwnProperty.call(e,r))return"missing";const n=e[r];return null!==n&&"object"==typeof n?`json:${JSON.stringify(t(n))}`:`${typeof n}:${String(n)}`},n=(e=[],t=[])=>{if(!t.length)return e;const[o,...s]=t,i=new Map;for(const t of e){const e=r(t,o);i.has(e)||i.set(e,"missing"===e?{field:o,missing:!0,rows:[]}:{field:o,value:t[o],rows:[]}),i.get(e).rows.push(t)}return[...i.values()].map((({rows:e,...t})=>s.length?{...t,groups:n(e,s)}:{...t,rows:e}))};e.groupBy=n}}),Ro=d({"dist/data/queries/limitOffset.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.limitOffset=void 0;e.limitOffset=(e=[],t,r)=>{if(void 0===t&&void 0===r)return e;const n=t??0,o="number"==typeof r?n+r:void 0;return e.slice(n,o)}}}),Do=d({"dist/data/queries/selectFields.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.selectFields=void 0,Ke(),nt(),ht();var t=(e,t,r)=>t.reduce(((t,{property:n,alias:o})=>(t[o||n]=((e,t,r)=>Object.prototype.hasOwnProperty.call(e,t)||void 0===r||!t.startsWith(`${r}.`)?e[t]:e[t.slice(r.length+1)])(e,n,r),t)),{}),r=(e,n,o)=>e.groups?{...e,groups:e.groups.map((e=>r(e,n,o)))}:{...e,rows:e.rows.map((e=>t(e,n,o)))};e.selectFields=(e=[],n=[],o=!1,s)=>n.length?o?e.map((e=>r(e,n,s))):e.map((e=>t(e,n,s))):e}}),Co=d({"dist/data/utilities/getConditionIndexedList.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.getConditionIndexedList=void 0,Ke(),qt(),Ln(),St(),Vt(),Wt(),tr(),rr(),nr(),or(),ir(),cr(),dr(),fr(),pr(),yr(),hr(),mr(),wr(),jr();var t=Hn(),r=Tn(),n=En(),o=An(),s=Fn(),i=$n(),a=_o(),c=In(),l=Lt(),d=(e,n)=>(0,t.isEntityProperty)(e.property)?(0,r.splitEntityProperty)(e.property):{entity:n,property:e.property},u=async(e,t,r,s,i)=>{if(Object.prototype.hasOwnProperty.call(s,e)||(s[e]=await(0,n.retrieveRecord)(e)),s[e].keys.some((e=>(0,c.isSingleFieldKey)(e,t))))return i[e]=i[e]||{},Object.prototype.hasOwnProperty.call(i[e],t)||(i[e][t]=(await(0,a.retrieveIndexes)(e,[t],s))[t]),new Set((0,o.where)(i[e][t],{property:"value",comparator:r.comparator,value:r.value,type:r.type}).flatMap((e=>e.record)))},f=async(e,t,r,n)=>{if((0,l.isCondition)(e)){const{entity:o,property:s}=d(e,t);return o===t?await u(o,s,e,r,n):void 0}if("not"in e)return;if("or"in e){const o=new Set;for(const s of e.or){const e=await f(s,t,r,n);if(void 0===e)return;e.forEach((e=>o.add(e)))}return o}let o;for(const s of e.and){const e=await f(s,t,r,n);void 0!==e&&(o=void 0===o?e:new Set([...o].filter((t=>e.has(t)))))}return o};e.getConditionIndexedList=async(e,t,r,o=new Set)=>{const a={},c={};if(void 0!==e.where){const r=await f(e.where,e.entity,t,c);void 0!==r&&(a[e.entity]=r)}for(const r of(0,l.requiredConditions)(e.where)){const{entity:n,property:o}=d(r,e.entity);if(n===e.entity)continue;const s=await u(n,o,r,t,c);void 0!==s&&(a[n]=Object.prototype.hasOwnProperty.call(a,n)?new Set([...a[n]].filter((e=>s.has(e)))):s)}for(const e of Object.keys(a)){o.add(e);const c=t[e]||await(0,n.retrieveRecord)(e);r[e]=await(0,s.retrieveEntryRows)(c,[...a[e]],i.retrieveFile)}return e}}}),Fo=d({"dist/data/utilities/conditionEntities.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.conditionEntities=void 0,Ke(),st(),qt(),nt(),Vt(),Wt(),tr(),rr(),nr(),or(),ir(),cr(),dr(),fr(),pr(),yr(),hr(),mr(),wr(),jr();var t=Hn(),r=Tn(),n=Lt();e.conditionEntities=e=>{const o=e.entity,s=e.joinClauses.length?e.joinEntity:void 0,i=new Set([o,s]),a=new Set(e.mergeJoins.filter((e=>i.has((0,r.splitEntityProperty)(e.propertyA).entity))).map((e=>(0,r.splitEntityProperty)(e.propertyB).entity))),c=new Set(e.joinClauses.flatMap((e=>[e.propertyA,e.propertyB].map((e=>(0,r.splitEntityProperty)(e).entity)))).filter((e=>!i.has(e)&&!a.has(e)))),l="update"===e.command||"delete"===e.command;let d=!1;for(const i of(0,n.conditionsOf)(e.where)){if(!(0,t.isEntityProperty)(i.property))continue;const{entity:n,property:u}=(0,r.splitEntityProperty)(i.property);if(n===o){i.property=u;continue}if(l)throw new Error(`${e.command} can only use conditions on ${o}'s own fields, not ${i.property}`);if(n===s){d=!0;continue}if(a.has(n))continue;if(c.has(n))throw new Error(`${n} only links ${o} to ${s}: a condition can't use its fields (${i.property})`);const f=[o,s,...a].filter((e=>void 0!==e)).join(", ");throw new Error(`${n} is not part of this query (${i.property}): conditions can use the fields of ${f}`)}return d}}}),Ao=d({"dist/data/utilities/runQuery.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.runQuery=void 0,It(),Vt(),Wt(),tr(),rr(),nr(),or(),ir(),cr(),dr(),fr(),pr(),yr(),hr(),mr(),wr(),jr();var t=Bn(),r=Yn(),n=Zn(),o=to(),s=lo(),i=po(),a=yo(),c=mo(),l=wo(),d=ho(),u=$o(),f=Po(),y=An(),h=So(),m=Mo(),v=Ro(),w=Do(),g=En(),j=Co(),b=Hn(),_=Tn(),x=Mn(),$=Lt(),O=Fo(),E=ao(),k=Xn();e.runQuery=async e=>{const p=void 0!==e.where&&(0,O.conditionEntities)(e);switch(["insert","update","delete","create","drop","alter"].includes(e.command)&&(0,E.requireNode)(`"${e.command}"`),e.command){case"create":return{[e.entity]:await(0,s.createRecord)(e.entity,e.create)};case"drop":return{[e.entity]:await(0,i.dropRecord)(e.entity,e.ifExists)};case"describe":return{[e.entity]:await(0,a.describeRecord)(e.entity)};case"alter":return{[e.entity]:await(0,c.alter)(e.entity,e.alter)};case"create database":return{[e.entity]:await(0,l.createDatabase)(e.entity,e.ifNotExists)};case"drop database":return{[e.entity]:await(0,l.dropDatabase)(e.entity,e.ifExists)};case"use":return{[e.entity]:await(0,l.useDatabase)(e.entity)};case"show databases":return{[e.entity]:await(0,l.showDatabases)()};case"show":return{[e.entity]:await(0,d.showRecords)()}}const P={[e.entity]:await(0,g.retrieveRecord)(e.entity)};void 0!==e.joinEntity&&(P[e.joinEntity]=await(0,g.retrieveRecord)(e.joinEntity)),await(0,k.assertKnownFields)(e,P),await(async(e,t)=>{for(const r of[...(0,$.conditionsOf)(e.where),...e.sortClauses]){let n=e.entity,o=r.property;(0,b.isEntityProperty)(o)&&({entity:n,property:o}=(0,_.splitEntityProperty)(o)),Object.prototype.hasOwnProperty.call(t,n)||(t[n]=await(0,g.retrieveRecord)(n)),r.type=(0,x.fieldType)(t[n],o)}})(e,P);let S={[e.entity]:[]};const M=new Set;e=await(0,j.getConditionIndexedList)(e,P,S,M);const R=M.has(e.entity);switch("delete"!==e.command&&"update"!==e.command||(R||(S=await(0,n.readEntity)(e.entity,S)),S[e.entity]=(0,y.whereTree)(S[e.entity],e.where)),e.command){case"delete":S=await(0,t.deleteEntity)(e.entity,S);break;case"insert":S=await(0,r.insertEntity)(e.entity,e.insertValues,S);break;case"read":R||(S=await(0,n.readEntity)(e.entity,S));break;case"update":S=await(0,o.updateEntity)(e.entity,e.updateValues,S);break;default:throw new Error(`Unknown command: ${e.command}`)}return S=await(0,u.joinEntity)(e.entity,e.joinEntity,S,e.joinClauses,R,M.has(e.joinEntity)),S=await(0,f.mergeJoins)(S,e.mergeJoins),"delete"!==e.command&&"update"!==e.command&&(S[e.entity]=(0,y.whereTree)(S[e.entity],e.where,p?e.joinEntity:void 0)),S[e.entity]=(0,h.sortBy)(S[e.entity],e.sortClauses),S[e.entity]=(0,m.groupBy)(S[e.entity],e.groupBy),S[e.entity]=(0,v.limitOffset)(S[e.entity],e.offset,e.limit),S[e.entity]=(0,w.selectFields)(S[e.entity],e.selectClauses,Boolean(e.groupBy?.length),e.entity),S}}}),To=d({"dist/data/queries/query.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.query=void 0;var t=Nr(),r=Ao(),n=vo(),o=xn();e.query=async(e="")=>{const s=(0,t.parser)(e);return(0,n.withDatabaseLock)((async()=>{const e=[];for(const t of s){const n=await(0,o.withWriteSet)((()=>(0,r.runQuery)(t)));e.push(n[t.entity])}return e}))}}}),Io=d({"dist/data/queries/quote.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.quote=void 0;e.quote=(e,t="'")=>`${t}${String(e).replace(/\\/g,"\\\\").split(t).join(`\\${t}`)}${t}`}}),No=d({"dist/data/queries/queryStatus.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.queryStatus=void 0;var t=mt();e.queryStatus=(e="")=>{const{end:r,closed:n,terminated:o}=(0,t.scanQuery)(e);return o?{complete:!0,waitingFor:""}:r.quote?{complete:!1,waitingFor:r.quote}:r.blockComment?{complete:!1,waitingFor:"/*"}:n?{complete:!1,waitingFor:";"}:{complete:!1,waitingFor:r.brackets[r.brackets.length-1]}}}}),Jo=d({"dist/data/introspect/formatDatabase.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.formatDatabase=void 0,Ke(),st();var t=xn(),r=Vr(),n=ao();e.formatDatabase=async(e=(0,r.getSetting)("format","compact"))=>{if((0,n.requireNode)("formatDatabase"),"compact"!==e&&"pretty"!==e)throw new Error(`Unknown format "${e}": use 'compact' or 'pretty'`);const o=(await(0,t.listFiles)()).filter((e=>e.endsWith(".json"))),s=[];for(const r of o){const n=await(0,t.readText)(r);let o;try{o=JSON.parse(n)}catch(e){throw new Error(`Could not format ${r}: ${e.message}`)}(0,t.jsonText)(o,e)!==n&&s.push({path:r,content:o})}for(const{path:r,content:n}of s)await(0,t.writeJson)(r,n,e);return{files:o.length,rewritten:s.length}}}}),qo=d({"dist/data/introspect/packDatabase.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.packDatabase=e.checkPacked=void 0,kt(),Ke(),st(),nt(),Vt(),Wt(),tr(),rr(),nr(),or(),ir(),cr(),dr(),fr(),pr(),yr(),hr(),mr(),wr(),jr();var t=xn(),r=En(),n=Dn(),o=Fn(),s=Cn(),i=ho(),a=ao(),c=async e=>{const i=await(0,r.retrieveRecord)(e),a=i.entries||[],c=await(0,n.retrieveFiles)(a.map((e=>`${i.path}/${e}`)),o.retrieveEntry),l={entries:a,rows:c};return{path:(0,s.packedPath)(i.path),text:(0,t.jsonText)(l,"compact"),rows:a.length}},l=async e=>{const r=new Set(e.map((e=>(0,s.packedPath)(e))));return(await(0,t.listFiles)("__packed")).filter((e=>!r.has(e)))};e.packDatabase=async()=>{(0,a.requireNode)("packDatabase");const e=await(0,i.showRecords)();let r=0;for(const n of e){const e=await c(n);await(0,t.makeDirectory)(e.path.slice(0,e.path.lastIndexOf("/"))),await(0,t.writeJson)(e.path,JSON.parse(e.text),"compact"),r+=e.rows}for(const r of await l(e))await(0,t.removeFile)(r);return{records:e.length,rows:r}};e.checkPacked=async()=>{(0,a.requireNode)("checkPacked");const e=await(0,i.showRecords)(),r=[];for(const n of e){const e=await c(n),o=(0,t.fileExists)(e.path)?await(0,t.readText)(e.path).catch((()=>{})):void 0;void 0!==o&&JSON.stringify(JSON.parse(o))===e.text||r.push(n)}return{stale:r,orphaned:await l(e)}}}}),Lo=d({"dist/data/introspect/index.js"(e){p(),Ce(),ze(),Ke(),et(),Object.defineProperty(e,"__esModule",{value:!0}),e.packDatabase=e.formatDatabase=e.drop=e.describe=e.create=e.checkPacked=e.alter=void 0;var t=co(),r=fo(),n=Rn(),o=Jo(),s=mo(),i=qo(),a=vo(),c=xn();e.create=(...e)=>(0,a.withDatabaseLock)((()=>(0,c.withWriteSet)((()=>(0,t.create)(...e)))));e.drop=(...e)=>(0,a.withDatabaseLock)((()=>(0,c.withWriteSet)((()=>(0,r.drop)(...e)))));e.alter=(...e)=>(0,a.withDatabaseLock)((()=>(0,c.withWriteSet)((()=>(0,s.alter)(...e)))));e.describe=(...e)=>(0,a.withDatabaseLock)((()=>(0,n.describe)(...e)));e.formatDatabase=(...e)=>(0,a.withDatabaseLock)((()=>(0,c.withWriteSet)((()=>(0,o.formatDatabase)(...e)))));e.packDatabase=()=>(0,a.withDatabaseLock)((()=>(0,c.withWriteSet)((()=>(0,i.packDatabase)()))));e.checkPacked=()=>(0,a.withDatabaseLock)((()=>(0,i.checkPacked)()))}});return d({"dist/index.js"(e){p(),Ce(),ze(),Ke(),et(),Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"alter",{enumerable:!0,get:function(){return o.alter}}),Object.defineProperty(e,"checkPacked",{enumerable:!0,get:function(){return o.checkPacked}}),Object.defineProperty(e,"configure",{enumerable:!0,get:function(){return s.configure}}),Object.defineProperty(e,"create",{enumerable:!0,get:function(){return o.create}}),Object.defineProperty(e,"describe",{enumerable:!0,get:function(){return o.describe}}),Object.defineProperty(e,"drop",{enumerable:!0,get:function(){return o.drop}}),Object.defineProperty(e,"formatDatabase",{enumerable:!0,get:function(){return o.formatDatabase}}),Object.defineProperty(e,"packDatabase",{enumerable:!0,get:function(){return o.packDatabase}}),Object.defineProperty(e,"query",{enumerable:!0,get:function(){return t.query}}),Object.defineProperty(e,"queryStatus",{enumerable:!0,get:function(){return n.queryStatus}}),Object.defineProperty(e,"quote",{enumerable:!0,get:function(){return r.quote}});var t=To(),r=Io(),n=No(),o=Lo(),s=Vr()}})()})();"object"==typeof module&&module&&module.exports&&(module.exports=jsonFsQuery);
|
|
1
|
+
"use strict";var jsonFsQuery=(()=>{var e,t,r,n,o=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,l=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,d=(e,t)=>function(){try{return t||(0,e[s(e)[0]])((t={exports:{}}).exports,t),t.exports}catch(e){throw t=0,e}},u=(e,t,r)=>(r=null!=e?o(l(e)):{},((e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of s(t))c.call(e,o)||o===r||i(e,o,{get:()=>t[o],enumerable:!(n=a(t,o))||n.enumerable});return e})(!t&&e&&e.__esModule?r:i(r,"default",{value:e,enumerable:!0}),e)),f=d({"node_modules/process/browser.js"(e,t){p();var r,n,o=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(e){if(r===setTimeout)return setTimeout(e,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:i}catch(e){r=i}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var l,c=[],d=!1,u=-1;function f(){d&&l&&(d=!1,l.length?c=l.concat(c):u=-1,c.length&&y())}function y(){if(!d){var e=s(f);d=!0;for(var t=c.length;t;){for(l=c,c=[];++u<t;)l&&l[u].run();u=-1,t=c.length}l=null,d=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===a||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function w(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new h(e,t)),1!==c.length||d||s(y)},h.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=w,o.addListener=w,o.once=w,o.off=w,o.removeListener=w,o.removeAllListeners=w,o.emit=w,o.prependListener=w,o.prependOnceListener=w,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}}}),p=(t={"js-build-tools-inject:process"(){e=u(f())}},function(){if(n)throw n[0];try{return t&&(r=(0,t[s(t)[0]])(t=0)),r}catch(e){throw n=[e],e}}),y=d({"dist/data/utilities/parsers/scanQuery.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.scanQuery=e.assertClosed=void 0;var t={n:"\n",t:"\t"},r={"]":"[",")":"("};e.scanQuery=(e="")=>{const n=[],o=[],i=[],a=[];let s,l,c=!1,d=!1,u=-1,f=0;for(;f<e.length;){const p=e[f],y=e[f+1];if("'"!==p&&'"'!==p)if("-"!==p||"-"!==y||0!==f&&!/[\s;]/.test(e[f-1]))if("/"!==p||"*"!==y)"["===p||"("===p?a.push(p):r[p]?a[a.length-1]===r[p]?a.pop():s||(s={char:p,index:f}):";"===p&&0===a.length&&i.push(f),/\s/.test(p)||(u=f),f++;else{const t=e.indexOf("*/",f+2),r=-1===t?e.length:t+2;d=-1===t,o.push({start:f,end:r,kind:"block"}),f=r}else{const t=e.indexOf("\n",f+2),r=-1===t?e.length:t+1;o.push({start:f,end:r,kind:"line"}),f=r}else{const r=f;let o="";for(f++;f<e.length&&e[f]!==p;)if("\\"!==e[f])o+=e[f],f++;else{if(f+1===e.length){c=!0,f++;break}o+=t[e[f+1]]??e[f+1],f+=2}f<e.length?f++:l=p,n.push({start:r,end:f,quote:p,value:o}),u=r}}const p={quote:l,escape:c,blockComment:d,brackets:a,strayCloser:s},y=!p.quote&&!p.blockComment&&0===a.length;return{strings:n,comments:o,semicolons:i,end:p,closed:y,terminated:y&&i.length>0&&i[i.length-1]===u}};e.assertClosed=e=>{const{end:t}=e;if(t.quote){const r=e.strings[e.strings.length-1];throw new Error(`Unclosed string: the ${t.quote} at position ${r.start} is never closed`)}if(t.blockComment)throw new Error(`Unclosed comment: the /* at position ${e.comments[e.comments.length-1].start} is never closed`);if(t.strayCloser)throw new Error(`Unexpected ${t.strayCloser.char} at position ${t.strayCloser.index}: there is nothing to close`);if(t.brackets.length>0)throw new Error(`Unclosed bracket: ${t.brackets.join(" ")} never closed`);return e}}}),h=d({"dist/data/utilities/parsers/splitQueries.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.splitQueries=void 0;var t=y();e.splitQueries=(e="")=>{const{comments:r,semicolons:n}=(0,t.assertClosed)((0,t.scanQuery)(e)),o=r.reduce(((e,{start:t,end:r})=>`${e.slice(0,t)}${" ".repeat(r-t)}${e.slice(r)}`),e);return[...n,o.length].map(((e,t)=>o.slice(0===t?0:n[t-1]+1,e).trim())).filter((e=>e.length>0))}}}),w=d({"dist/data/utilities/parsers/findCommand.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findCommand=void 0;var t=/^(delete|insert|read|update)\s+([a-z0-9_-]+)/i;e.findCommand=(e,r)=>{const n=r.match(t);return e.command=void 0,e.entity=void 0,n?(e.command=n[1].toLowerCase(),e.entity=n[2],r.slice(n[0].length).trim()):r}}}),m=d({"node_modules/core-js/internals/global-this.js"(e,t){p();var r=function(e){return e&&e.Math===Math&&e};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof globalThis&&globalThis)||r("object"==typeof e&&e)||function(){return this}()||Function("return this")()}}),v=d({"node_modules/core-js/internals/fails.js"(e,t){p(),t.exports=function(e){try{return!!e()}catch(e){return!0}}}}),g=d({"node_modules/core-js/internals/descriptors.js"(e,t){p();var r=v();t.exports=!r((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))}}),b=d({"node_modules/core-js/internals/function-bind-native.js"(e,t){p();var r=v();t.exports=!r((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))}}),j=d({"node_modules/core-js/internals/function-call.js"(e,t){p();var r=b(),n=Function.prototype.call;t.exports=r?n.bind(n):function(){return n.apply(n,arguments)}}}),_=d({"node_modules/core-js/internals/object-property-is-enumerable.js"(e){p();var t={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,n=r&&!t.call({1:2},1);e.f=n?function(e){var t=r(this,e);return!!t&&t.enumerable}:t}}),$=d({"node_modules/core-js/internals/create-property-descriptor.js"(e,t){p(),t.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}}}),O=d({"node_modules/core-js/internals/function-uncurry-this.js"(e,t){p();var r=b(),n=Function.prototype,o=n.call,i=r&&n.bind.bind(o,o);t.exports=r?i:function(e){return function(){return o.apply(e,arguments)}}}}),k=d({"node_modules/core-js/internals/classof-raw.js"(e,t){p();var r=O(),n=r({}.toString),o=r("".slice);t.exports=function(e){return o(n(e),8,-1)}}}),E=d({"node_modules/core-js/internals/indexed-object.js"(e,t){p();var r=O(),n=v(),o=k(),i=Object,a=r("".split);t.exports=n((function(){return!i("z").propertyIsEnumerable(0)}))?function(e){return"String"===o(e)?a(e,""):i(e)}:i}}),x=d({"node_modules/core-js/internals/is-null-or-undefined.js"(e,t){p(),t.exports=function(e){return null==e}}}),P=d({"node_modules/core-js/internals/require-object-coercible.js"(e,t){p();var r=x(),n=TypeError;t.exports=function(e){if(r(e))throw new n("Can't call method on "+e);return e}}}),S=d({"node_modules/core-js/internals/to-indexed-object.js"(e,t){p();var r=E(),n=P();t.exports=function(e){return r(n(e))}}}),M=d({"node_modules/core-js/internals/is-callable.js"(e,t){p();var r="object"==typeof document&&document.all;t.exports=void 0===r&&void 0!==r?function(e){return"function"==typeof e||e===r}:function(e){return"function"==typeof e}}}),D=d({"node_modules/core-js/internals/is-object.js"(e,t){p();var r=M();t.exports=function(e){return"object"==typeof e?null!==e:r(e)}}}),R=d({"node_modules/core-js/internals/get-built-in.js"(e,t){p();var r=m(),n=M();t.exports=function(e,t){return arguments.length<2?(o=r[e],n(o)?o:void 0):r[e]&&r[e][t];var o}}}),C=d({"node_modules/core-js/internals/object-is-prototype-of.js"(e,t){p();var r=O();t.exports=r({}.isPrototypeOf)}}),F=d({"node_modules/core-js/internals/environment-user-agent.js"(e,t){p();var r=m().navigator,n=r&&r.userAgent;t.exports=n?String(n):""}}),A=d({"node_modules/core-js/internals/environment-v8-version.js"(e,t){p();var r,n,o=m(),i=F(),a=o.process,s=o.Deno,l=a&&a.versions||s&&s.version,c=l&&l.v8;c&&(n=(r=c.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!n&&i&&(!(r=i.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=i.match(/Chrome\/(\d+)/))&&(n=+r[1]),t.exports=n}}),N=d({"node_modules/core-js/internals/symbol-constructor-detection.js"(e,t){p();var r=A(),n=v(),o=m().String;t.exports=!!Object.getOwnPropertySymbols&&!n((function(){var e=Symbol("symbol detection");return!o(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))}}),J=d({"node_modules/core-js/internals/use-symbol-as-uid.js"(e,t){p();var r=N();t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator}}),T=d({"node_modules/core-js/internals/is-symbol.js"(e,t){p();var r=R(),n=M(),o=C(),i=J(),a=Object;t.exports=i?function(e){return"symbol"==typeof e}:function(e){var t=r("Symbol");return n(t)&&o(t.prototype,a(e))}}}),q=d({"node_modules/core-js/internals/try-to-string.js"(e,t){p();var r=String;t.exports=function(e){try{return r(e)}catch(e){return"Object"}}}}),L=d({"node_modules/core-js/internals/a-callable.js"(e,t){p();var r=M(),n=q(),o=TypeError;t.exports=function(e){if(r(e))return e;throw new o(n(e)+" is not a function")}}}),B=d({"node_modules/core-js/internals/get-method.js"(e,t){p();var r=L(),n=x();t.exports=function(e,t){var o=e[t];return n(o)?void 0:r(o)}}}),z=d({"node_modules/core-js/internals/ordinary-to-primitive.js"(e,t){p();var r=j(),n=M(),o=D(),i=TypeError;t.exports=function(e,t){var a,s;if("string"===t&&n(a=e.toString)&&!o(s=r(a,e)))return s;if(n(a=e.valueOf)&&!o(s=r(a,e)))return s;if("string"!==t&&n(a=e.toString)&&!o(s=r(a,e)))return s;throw new i("Can't convert object to primitive value")}}}),V=d({"node_modules/core-js/internals/is-pure.js"(e,t){p(),t.exports=!1}}),I=d({"node_modules/core-js/internals/define-global-property.js"(e,t){p();var r=m(),n=Object.defineProperty;t.exports=function(e,t){try{n(r,e,{value:t,configurable:!0,writable:!0})}catch(n){r[e]=t}return t}}}),W=d({"node_modules/core-js/internals/shared-store.js"(e,t){p();var r=V(),n=m(),o=I(),i="__core-js_shared__",a=t.exports=n[i]||o(i,{});(a.versions||(a.versions=[])).push({version:"3.51.0",mode:r?"pure":"global",copyright:"© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.",license:"https://github.com/zloirock/core-js/blob/v3.51.0/LICENSE",source:"https://github.com/zloirock/core-js"})}}),K=d({"node_modules/core-js/internals/shared.js"(e,t){p();var r=W(),n=Object.create||Object;t.exports=function(e,t){return r[e]||(r[e]=t||n(null))}}}),U=d({"node_modules/core-js/internals/to-object.js"(e,t){p();var r=P(),n=Object;t.exports=function(e){return n(r(e))}}}),Q=d({"node_modules/core-js/internals/has-own-property.js"(e,t){p();var r=O(),n=U(),o=r({}.hasOwnProperty);t.exports=Object.hasOwn||function(e,t){return o(n(e),t)}}}),G=d({"node_modules/core-js/internals/uid.js"(e,t){p();var r=O(),n=0,o=Math.random(),i=r(1.1.toString);t.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+i(++n+o,36)}}}),H=d({"node_modules/core-js/internals/well-known-symbol.js"(e,t){p();var r=m(),n=K(),o=Q(),i=G(),a=N(),s=J(),l=r.Symbol,c=n("wks"),d=s?l.for||l:l&&l.withoutSetter||i;t.exports=function(e){return o(c,e)||(c[e]=a&&o(l,e)?l[e]:d("Symbol."+e)),c[e]}}}),X=d({"node_modules/core-js/internals/to-primitive.js"(e,t){p();var r=j(),n=D(),o=T(),i=B(),a=z(),s=H(),l=TypeError,c=s("toPrimitive");t.exports=function(e,t){if(!n(e)||o(e))return e;var s,d=i(e,c);if(d){if(void 0===t&&(t="default"),s=r(d,e,t),!n(s)||o(s))return s;throw new l("Can't convert object to primitive value")}return void 0===t&&(t="number"),a(e,t)}}}),Y=d({"node_modules/core-js/internals/to-property-key.js"(e,t){p();var r=X(),n=T();t.exports=function(e){var t=r(e,"string");return n(t)?t:t+""}}}),Z=d({"node_modules/core-js/internals/document-create-element.js"(e,t){p();var r=m(),n=D(),o=r.document,i=n(o)&&n(o.createElement);t.exports=function(e){return i?o.createElement(e):{}}}}),ee=d({"node_modules/core-js/internals/ie8-dom-define.js"(e,t){p();var r=g(),n=v(),o=Z();t.exports=!r&&!n((function(){return 7!==Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))}}),te=d({"node_modules/core-js/internals/object-get-own-property-descriptor.js"(e){p();var t=g(),r=j(),n=_(),o=$(),i=S(),a=Y(),s=Q(),l=ee(),c=Object.getOwnPropertyDescriptor;e.f=t?c:function(e,t){if(e=i(e),t=a(t),l)try{return c(e,t)}catch(e){}if(s(e,t))return o(!r(n.f,e,t),e[t])}}}),re=d({"node_modules/core-js/internals/v8-prototype-define-bug.js"(e,t){p();var r=g(),n=v();t.exports=r&&n((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))}}),ne=d({"node_modules/core-js/internals/an-object.js"(e,t){p();var r=D(),n=String,o=TypeError;t.exports=function(e){if(r(e))return e;throw new o(n(e)+" is not an object")}}}),oe=d({"node_modules/core-js/internals/object-define-property.js"(e){p();var t=g(),r=ee(),n=re(),o=ne(),i=Y(),a=TypeError,s=Object.defineProperty,l=Object.getOwnPropertyDescriptor,c="enumerable",d="configurable",u="writable";e.f=t?n?function(e,t,r){if(o(e),t=i(t),o(r),"function"==typeof e&&"prototype"===t&&"value"in r&&u in r&&!r[u]){var n=l(e,t);n&&n[u]&&(e[t]=r.value,r={configurable:d in r?r[d]:n[d],enumerable:c in r?r[c]:n[c],writable:!1})}return s(e,t,r)}:s:function(e,t,n){if(o(e),t=i(t),o(n),r)try{return s(e,t,n)}catch(e){}if("get"in n||"set"in n)throw new a("Accessors not supported");return"value"in n&&(e[t]=n.value),e}}}),ie=d({"node_modules/core-js/internals/create-non-enumerable-property.js"(e,t){p();var r=g(),n=oe(),o=$();t.exports=r?function(e,t,r){return n.f(e,t,o(1,r))}:function(e,t,r){return e[t]=r,e}}}),ae=d({"node_modules/core-js/internals/function-name.js"(e,t){p();var r=g(),n=Q(),o=Function.prototype,i=r&&Object.getOwnPropertyDescriptor,a=n(o,"name"),s=a&&"something"===function(){}.name,l=a&&(!r||r&&i(o,"name").configurable);t.exports={EXISTS:a,PROPER:s,CONFIGURABLE:l}}}),se=d({"node_modules/core-js/internals/inspect-source.js"(e,t){p();var r=O(),n=M(),o=W(),i=r(Function.toString);n(o.inspectSource)||(o.inspectSource=function(e){return i(e)}),t.exports=o.inspectSource}}),le=d({"node_modules/core-js/internals/weak-map-basic-detection.js"(e,t){p();var r=m(),n=M(),o=r.WeakMap;t.exports=n(o)&&/native code/.test(String(o))}}),ce=d({"node_modules/core-js/internals/shared-key.js"(e,t){p();var r=K(),n=G(),o=r("keys");t.exports=function(e){return o[e]||(o[e]=n(e))}}}),de=d({"node_modules/core-js/internals/hidden-keys.js"(e,t){p(),t.exports={}}}),ue=d({"node_modules/core-js/internals/internal-state.js"(e,t){p();var r,n,o,i,a,s=le(),l=m(),c=D(),d=ie(),u=Q(),f=W(),y=ce(),h=de(),w="Object already initialized",v=l.TypeError,g=l.WeakMap;s||f.state?((i=f.state||(f.state=new g)).get=i.get,i.has=i.has,i.set=i.set,r=function(e,t){if(i.has(e))throw new v(w);return t.facade=e,i.set(e,t),t},n=function(e){return i.get(e)||{}},o=function(e){return i.has(e)}):(h[a=y("state")]=!0,r=function(e,t){if(u(e,a))throw new v(w);return t.facade=e,d(e,a,t),t},n=function(e){return u(e,a)?e[a]:{}},o=function(e){return u(e,a)}),t.exports={set:r,get:n,has:o,enforce:function(e){return o(e)?n(e):r(e,{})},getterFor:function(e){return function(t){var r;if(!c(t)||(r=n(t)).type!==e)throw new v("Incompatible receiver, "+e+" required");return r}}}}}),fe=d({"node_modules/core-js/internals/make-built-in.js"(e,t){p();var r=O(),n=v(),o=M(),i=Q(),a=g(),s=ae().CONFIGURABLE,l=se(),c=ue(),d=c.enforce,u=c.get,f=String,y=Object.defineProperty,h=r("".slice),w=r("".replace),m=r([].join),b=a&&!n((function(){return 8!==y((function(){}),"length",{value:8}).length})),j=String(String).split("String"),_=t.exports=function(e,t,r){"Symbol("===h(f(t),0,7)&&(t="["+w(f(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!i(e,"name")||s&&e.name!==t)&&(a?y(e,"name",{value:t,configurable:!0}):e.name=t),b&&r&&i(r,"arity")&&e.length!==r.arity&&y(e,"length",{value:r.arity});try{r&&i(r,"constructor")&&r.constructor?a&&y(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var n=d(e);return i(n,"source")||(n.source=m(j,"string"==typeof t?t:"")),e};Function.prototype.toString=_((function(){return o(this)&&u(this).source||l(this)}),"toString")}}),pe=d({"node_modules/core-js/internals/define-built-in.js"(e,t){p();var r=M(),n=oe(),o=fe(),i=I();t.exports=function(e,t,a,s){s||(s={});var l=s.enumerable,c=void 0!==s.name?s.name:t;if(r(a)&&o(a,c,s),s.global)l?e[t]=a:i(t,a);else{try{s.unsafe?e[t]&&(l=!0):delete e[t]}catch(e){}l?e[t]=a:n.f(e,t,{value:a,enumerable:!1,configurable:!s.nonConfigurable,writable:!s.nonWritable})}return e}}}),ye=d({"node_modules/core-js/internals/math-trunc.js"(e,t){p();var r=Math.ceil,n=Math.floor;t.exports=Math.trunc||function(e){var t=+e;return(t>0?n:r)(t)}}}),he=d({"node_modules/core-js/internals/to-integer-or-infinity.js"(e,t){p();var r=ye();t.exports=function(e){var t=+e;return t!=t||0===t?0:r(t)}}}),we=d({"node_modules/core-js/internals/to-absolute-index.js"(e,t){p();var r=he(),n=Math.max,o=Math.min;t.exports=function(e,t){var i=r(e);return i<0?n(i+t,0):o(i,t)}}}),me=d({"node_modules/core-js/internals/to-length.js"(e,t){p();var r=he(),n=Math.min;t.exports=function(e){var t=r(e);return t>0?n(t,9007199254740991):0}}}),ve=d({"node_modules/core-js/internals/length-of-array-like.js"(e,t){p();var r=me();t.exports=function(e){return r(e.length)}}}),ge=d({"node_modules/core-js/internals/array-includes.js"(e,t){p();var r=S(),n=we(),o=ve(),i=function(e){return function(t,i,a){var s=r(t),l=o(s);if(0===l)return!e&&-1;var c,d=n(a,l);if(e&&i!=i){for(;l>d;)if((c=s[d++])!=c)return!0}else for(;l>d;d++)if((e||d in s)&&s[d]===i)return e||d||0;return!e&&-1}};t.exports={includes:i(!0),indexOf:i(!1)}}}),be=d({"node_modules/core-js/internals/object-keys-internal.js"(e,t){p();var r=O(),n=Q(),o=S(),i=ge().indexOf,a=de(),s=r([].push);t.exports=function(e,t){var r,l=o(e),c=0,d=[];for(r in l)!n(a,r)&&n(l,r)&&s(d,r);for(;t.length>c;)n(l,r=t[c++])&&(~i(d,r)||s(d,r));return d}}}),je=d({"node_modules/core-js/internals/enum-bug-keys.js"(e,t){p(),t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]}}),_e=d({"node_modules/core-js/internals/object-get-own-property-names.js"(e){p();var t=be(),r=je().concat("length","prototype");e.f=Object.getOwnPropertyNames||function(e){return t(e,r)}}}),$e=d({"node_modules/core-js/internals/object-get-own-property-symbols.js"(e){p(),e.f=Object.getOwnPropertySymbols}}),Oe=d({"node_modules/core-js/internals/own-keys.js"(e,t){p();var r=R(),n=O(),o=_e(),i=$e(),a=ne(),s=n([].concat);t.exports=r("Reflect","ownKeys")||function(e){var t=o.f(a(e)),r=i.f;return r?s(t,r(e)):t}}}),ke=d({"node_modules/core-js/internals/copy-constructor-properties.js"(e,t){p();var r=Q(),n=Oe(),o=te(),i=oe();t.exports=function(e,t,a){for(var s=n(t),l=i.f,c=o.f,d=0;d<s.length;d++){var u=s[d];r(e,u)||a&&r(a,u)||l(e,u,c(t,u))}}}}),Ee=d({"node_modules/core-js/internals/is-forced.js"(e,t){p();var r=v(),n=M(),o=/#|\.prototype\./,i=function(e,t){var o=s[a(e)];return o===c||o!==l&&(n(t)?r(t):!!t)},a=i.normalize=function(e){return String(e).replace(o,".").toLowerCase()},s=i.data={},l=i.NATIVE="N",c=i.POLYFILL="P";t.exports=i}}),xe=d({"node_modules/core-js/internals/export.js"(e,t){p();var r=m(),n=te().f,o=ie(),i=pe(),a=I(),s=ke(),l=Ee();t.exports=function(e,t){var c,d,u,f,p,y=e.target,h=e.global,w=e.stat;if(c=h?r:w?r[y]||a(y,{}):r[y]&&r[y].prototype)for(d in t){if(f=t[d],u=e.dontCallGetSet?(p=n(c,d))&&p.value:c[d],!l(h?d:y+(w?".":"#")+d,e.forced)&&void 0!==u){if(typeof f==typeof u)continue;s(f,u)}(e.sham||u&&u.sham)&&o(f,"sham",!0),i(c,d,f,e)}}}}),Pe=d({"node_modules/core-js/internals/is-array.js"(e,t){p();var r=k();t.exports=Array.isArray||function(e){return"Array"===r(e)}}}),Se=d({"node_modules/core-js/internals/object-keys.js"(e,t){p();var r=be(),n=je();t.exports=Object.keys||function(e){return r(e,n)}}}),Me=d({"node_modules/core-js/internals/object-define-properties.js"(e){p();var t=g(),r=re(),n=oe(),o=ne(),i=S(),a=Se();e.f=t&&!r?Object.defineProperties:function(e,t){o(e);for(var r,s=i(t),l=a(t),c=l.length,d=0;c>d;)n.f(e,r=l[d++],s[r]);return e}}}),De=d({"node_modules/core-js/internals/html.js"(e,t){p();var r=R();t.exports=r("document","documentElement")}}),Re=d({"node_modules/core-js/internals/object-create.js"(e,t){p();var r,n=ne(),o=Me(),i=je(),a=de(),s=De(),l=Z(),c=ce(),d="prototype",u="script",f=c("IE_PROTO"),y=function(){},h=function(e){return"<"+u+">"+e+"</"+u+">"},w=function(e){e.write(h("")),e.close();var t=e.parentWindow.Object;return e=null,t},m=function(){try{r=new ActiveXObject("htmlfile")}catch(e){}var e,t,n;m="undefined"!=typeof document?document.domain&&r?w(r):(t=l("iframe"),n="java"+u+":",t.style.display="none",s.appendChild(t),t.src=String(n),(e=t.contentWindow.document).open(),e.write(h("document.F=Object")),e.close(),e.F):w(r);for(var o=i.length;o--;)delete m[d][i[o]];return m()};a[f]=!0,t.exports=Object.create||function(e,t){var r;return null!==e?(y[d]=n(e),r=new y,y[d]=null,r[f]=e):r=m(),void 0===t?r:o.f(r,t)}}}),Ce=d({"node_modules/core-js/internals/is-raw-json.js"(e,t){p();var r=D(),n=ue().get;t.exports=function(e){if(!r(e))return!1;var t=n(e);return!!t&&"RawJSON"===t.type}}}),Fe=d({"node_modules/core-js/internals/this-number-value.js"(e,t){p();var r=O();t.exports=r(1.1.valueOf)}}),Ae=d({"node_modules/core-js/internals/to-string-tag-support.js"(e,t){p();var r={};r[H()("toStringTag")]="z",t.exports="[object z]"===String(r)}}),Ne=d({"node_modules/core-js/internals/classof.js"(e,t){p();var r=Ae(),n=M(),o=k(),i=H()("toStringTag"),a=Object,s="Arguments"===o(function(){return arguments}());t.exports=r?o:function(e){var t,r,l;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=a(e),i))?r:s?o(t):"Object"===(l=o(t))&&n(t.callee)?"Arguments":l}}}),Je=d({"node_modules/core-js/internals/to-string.js"(e,t){p();var r=Ne(),n=String;t.exports=function(e){if("Symbol"===r(e))throw new TypeError("Cannot convert a Symbol value to a string");return n(e)}}}),Te=d({"node_modules/core-js/internals/parse-json-string.js"(e,t){p();var r=O(),n=Q(),o=SyntaxError,i=parseInt,a=String.fromCharCode,s=r("".charAt),l=r("".slice),c=r(/./.exec),d={'\\"':'"',"\\\\":"\\","\\/":"/","\\b":"\b","\\f":"\f","\\n":"\n","\\r":"\r","\\t":"\t"},u=/^[\da-f]{4}$/i,f=/^[\u0000-\u001F]$/;t.exports=function(e,t){for(var r=!0,p="";t<e.length;){var y=s(e,t);if("\\"===y){var h=l(e,t,t+2);if(n(d,h))p+=d[h],t+=2;else{if("\\u"!==h)throw new o('Unknown escape sequence: "'+h+'"');var w=l(e,t+=2,t+4);if(!c(u,w))throw new o("Bad Unicode escape at: "+t);p+=a(i(w,16)),t+=4}}else{if('"'===y){r=!1,t++;break}if(c(f,y))throw new o("Bad control character in string literal at: "+t);p+=y,t++}}if(r)throw new o("Unterminated string at: "+t);return{value:p,end:t}}}}),qe=d({"node_modules/core-js/internals/native-raw-json.js"(e,t){p();var r=v();t.exports=!r((function(){var e="9007199254740993",t=JSON.rawJSON(e);return!JSON.isRawJSON(t)||JSON.stringify(t)!==e}))}}),Le=d({"node_modules/core-js/modules/es.json.stringify.js"(){p();var e=xe(),t=R(),r=j(),n=O(),o=v(),i=Pe(),a=M(),s=D(),l=Re(),c=Ce(),d=T(),u=k(),f=Fe(),y=ge().includes,h=Q(),w=Je(),m=Te(),g=G(),b=N(),_=qe(),$=String,E=TypeError,x=t("JSON","stringify"),P=t("BigInt"),S=n("".valueOf),C=n((!0).valueOf),F=P&&n(P.prototype.valueOf),A=n(/./.exec),J=n("".charAt),q=n("".charCodeAt),L=n("".replace),B=n("".slice),z=n([].push),V=n([].pop),I=n(1.1.toString),W=/[\uD800-\uDFFF]/g,K=/^[\uD800-\uDBFF]$/,U=/^[\uDC00-\uDFFF]$/,H=/^\d+$/,X=g(),Y=g(),Z=g(),ee=X.length,te=Y.length,re=!b||o((function(){var e=t("Symbol")("stringify detection");return"[null]"!==x([e])||"{}"!==x({a:e})||"{}"!==x(Object(e))})),ne=o((function(){return'"\\udf06\\ud834"'!==x("\udf06\ud834")||'"\\udead"'!==x("\udead")})),oe=_?t("JSON","isRawJSON"):c,ie=re?function(e,t,n){return x(e,(function(e,n){var o=r(t,this,e,n);if(!d(o))return o}),n)}:x,ae=function(e,t,r){var n=J(r,t-1),o=J(r,t+1);return A(K,e)&&!A(U,o)||A(U,e)&&!A(K,n)?"\\u"+I(q(e,0),16):e},se=function(e,t){try{return e(t),!0}catch(e){return!1}},le=function(e){if(!s(e)||a(e)||i(e))return!1;try{return!function(e){var t=u(e);return"Number"===t&&se(f,e)||"String"===t&&se(S,e)||"Boolean"===t&&se(C,e)||!!F&&"BigInt"===t&&se(F,e)}(e)}catch(e){return!0}},ce=function(e,t){return{toJSON:function(){var n=e[t];if(s(n)||"bigint"==typeof n){var o=n.toJSON;a(o)&&(n=r(o,n,t))}return n}}};x&&e({target:"JSON",stat:!0,arity:3,forced:re||ne||!_},{stringify:function(e,t,n){var o,s=a(t)?t:void 0,c=s?void 0:function(e){if(i(e)){for(var t=e.length,r=[],n=l(null),o=0;o<t;o++){var a,s=e[o];if("string"==typeof s)a=s;else{if("number"!=typeof s&&"Number"!==u(s)&&"String"!==u(s))continue;a=w(s)}h(n,a)||(n[a]=!0,z(r,a))}return r}}(t),d=c&&function(e){for(var t=0,r=e.length;t<r;t++)if(A(H,e[t]))return Y;return""}(c),f=[],p=[],v=[],g=!1,b=!0,j=ie(e,(function(e,t){if(e=$(e),c){if(e===Z)return V(p),void(o=V(v));if(b)b=!1;else if(this!==o&&!i(this)&&!y(c,e))return}else s&&(t=r(s,this,e,t));if(oe(t))return _?t:(g=!0,X+(z(f,t.rawJSON)-1));if(c&&le(t)){if(y(p,t))throw new E("Converting circular structure to JSON");var n=function(e,t,r){for(var n=l(null),o=0,i=t.length;o<i;o++){var a=t[o];n[r+a]=ce(e,a)}return n[Z]=null,n}(t,c,d);return z(p,t),z(v,o),o=n,d&&(g=!0),n}return t}),n);if("string"!=typeof j)return j;if(ne&&(j=L(j,W,ae)),!g)return j;for(var O="",k=j.length,x=0;x<k;x++){var P=J(j,x);if('"'===P){var S=m(j,++x).end-1,M=B(j,x,S);B(M,0,ee)===X?O+=f[B(M,ee)]:B(M,0,te)===Y?O+='"'+B(M,te)+'"':O+='"'+M+'"',x=S}else O+=P}return O}})}}),Be=d({"dist/data/utilities/parsers/maskStrings.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.unmaskStrings=e.placeholderSource=e.maskStrings=e.maskArrays=e.fromPlaceholder=e.arraySource=void 0,Le();var t=y(),r=e.placeholderSource="\\u0000([0-9a-f]*)\\u0000",n=new RegExp(r,"g"),o=e.arraySource="\\u0001([0-9a-f]*)\\u0001",i=new RegExp(o,"g"),a=e=>e.split("").map((e=>e.charCodeAt(0).toString(16).padStart(4,"0"))).join(""),s=e=>(e.match(/.{4}/g)||[]).map((e=>String.fromCharCode(parseInt(e,16)))).join("");e.fromPlaceholder=s;e.maskStrings=e=>{const{strings:r}=(0,t.assertClosed)((0,t.scanQuery)(e));for(const[t,n]of[["\0","NUL"],["","SOH"]])for(let o=e.indexOf(t);-1!==o;o=e.indexOf(t,o+1))if(!r.some((({start:e,end:t})=>e<o&&o<t)))throw new Error(`Unexpected ${n} character at position ${o}`);const n=[];let o=0;for(const{start:t,end:i,value:s}of r)n.push(e.slice(o,t),`\0${a(s)}\0`),o=i;return n.push(e.slice(o)),n.join("")};var l=(e,t="json")=>e.replace(n,((e,r)=>{const n=s(r);return"json"===t?JSON.stringify(n):`'${n.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`})).replace(i,((e,t)=>s(t)));e.unmaskStrings=l;var c=e=>{try{return JSON.stringify(JSON.parse(l(e),((e,t)=>{if("number"==typeof t&&!Number.isFinite(t))throw new Error(`${t} is too large`);if(Number.isInteger(t)&&!Number.isSafeInteger(t))throw new Error(`${t} is too large to store exactly (the largest whole number is ${Number.MAX_SAFE_INTEGER}): quote it to keep it as text`);return t})))}catch(t){throw new Error(`Invalid array ${l(e,"'")}: ${t.message}`)}};e.maskArrays=e=>{let t="",r=0,n=0;for(let o=0;o<e.length;o++){const i=e[o];if("["===i)0===r&&(n=o),r++;else if("]"===i&&r>0&&(r--,0===r)){t+=`${a(c(e.slice(n,o+1)))}`;continue}0===r&&(t+=i)}return r>0?t+e.slice(n):t}}}),ze=d({"dist/data/utilities/parsers/parseLiteralValue.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.parseNumber=e.parseLiteralValue=e.numberSource=void 0;var t=Be(),r=(e.numberSource="-?[0-9]+(?:\\.[0-9]+)?(?:e[+-]?[0-9]+)?",e=>{const t=Number(e);if(!Number.isFinite(t))throw new Error(`${e} is too large`);if(Number.isInteger(t)&&!Number.isSafeInteger(t))throw new Error(`${e} is too large to store exactly (the largest whole number is ${Number.MAX_SAFE_INTEGER}): quote it to keep it as text`);return t});e.parseNumber=r;e.parseLiteralValue=(e,n)=>void 0!==e[n]?(0,t.fromPlaceholder)(e[n]):void 0!==e[n+1]?r(e[n+1]):void 0!==e[n+2]?JSON.parse((0,t.fromPlaceholder)(e[n+2])):void 0!==e[n+3]?null:void 0!==e[n+4]}}),Ve=d({"dist/data/utilities/parsers/findInsertValues.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findInsertValues=void 0;var t=ze(),r=Be(),n=`(?:${r.placeholderSource.replace("(","(?:")}|${t.numberSource}|${r.arraySource.replace("(","(?:")}|null|true|false)`,o=`[a-z0-9_-]+\\s*=\\s*${n}(?:\\s*,\\s*[a-z0-9_-]+\\s*=\\s*${n})*`,i=new RegExp(`^(${o})`,"i"),a=`\\(\\s*(${o})\\s*\\)`,s=new RegExp(`^${a}(?:\\s*,\\s*${a.replace("("+o,"(?:"+o)})*`,"i"),l=new RegExp(a,"ig"),c=new RegExp(`([a-z0-9_-]+)\\s*=\\s*(${r.placeholderSource}|(${t.numberSource})|${r.arraySource}|(null)|(true)|(false))`,"ig"),d=e=>{const r={};for(const n of e.matchAll(c))r[n[1]]=(0,t.parseLiteralValue)(n,3);return r};e.findInsertValues=(e,t)=>{e.insertValues=[];const r=t.match(s);if(r)return e.insertValues=[...r[0].matchAll(l)].map((e=>d(e[1]))),t.slice(r[0].length).trim();const n=t.match(i);return n?(e.insertValues=[d(n[1])],t.slice(n[0].length).trim()):t}}}),Ie=d({"dist/data/utilities/parsers/findUpdateValues.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findUpdateValues=void 0;var t=ze(),r=Be(),n=`(?:${r.placeholderSource.replace("(","(?:")}|${t.numberSource}|${r.arraySource.replace("(","(?:")}|null|true|false)`,o=new RegExp(`^([a-z0-9_-]+\\s*=\\s*${n}(?:\\s*,\\s*[a-z0-9_-]+\\s*=\\s*${n})*)`,"i"),i=new RegExp(`([a-z0-9_-]+)\\s*=\\s*(${r.placeholderSource}|(${t.numberSource})|${r.arraySource}|(null)|(true)|(false))`,"ig");e.findUpdateValues=(e,r)=>{const n=r.match(o);if(e.updateValues={},!n)return r;const a=n[1].matchAll(i);for(const r of a)e.updateValues[r[1]]=(0,t.parseLiteralValue)(r,3);return r.slice(n[0].length).trim()}}}),We=d({"dist/data/utilities/parsers/findJoinEntity.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findJoinEntity=void 0;var t=/^\.([a-z0-9_-]+)/i;e.findJoinEntity=(e,r)=>{const n=r.match(t);return n?(e.joinEntity=n?n[1]:void 0,r.slice(n[0].length).trim()):r}}}),Ke=d({"dist/data/utilities/parsers/findSelects.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findSelects=void 0;var t="[a-z0-9=._-]+(?:\\s+as\\s+[a-z0-9_-]+)?",r=new RegExp(`^${t}(?:\\s*,\\s*${t})*`,"i"),n=/,?\s*([a-z0-9=._-]+)(?:\s+as\s+([a-z0-9_-]+))?/gi;e.findSelects=(e,t)=>{const o=t.match(r);if(o){const r=o[0].matchAll(n);for(const t of r)e.selectClauses.push({property:t[1],alias:t[2]});return t.slice(o[0].length).trim()}return t}}}),Ue=d({"node_modules/core-js/internals/add-to-unscopables.js"(e,t){p();var r=H(),n=Re(),o=oe().f,i=r("unscopables"),a=Array.prototype;void 0===a[i]&&o(a,i,{configurable:!0,value:n(null)}),t.exports=function(e){a[i][e]=!0}}}),Qe=d({"node_modules/core-js/modules/es.array.includes.js"(){p();var e=xe(),t=ge().includes,r=v(),n=Ue(),o=r((function(){return!Array(1).includes()})),i=r((function(){return[,1].includes(void 0,1)}));e({target:"Array",proto:!0,forced:o||i},{includes:function(e){return t(this,e,arguments.length>1?arguments[1]:void 0)}}),n("includes")}}),Ge=d({"dist/data/utilities/conditionTree.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.requiredConditions=e.isCondition=e.conditionsOf=e.allOf=void 0;var t=e=>!("and"in e)&&!("or"in e)&&!("not"in e);e.isCondition=t;e.allOf=e=>{if(e.length)return 1===e.length?e[0]:{and:e}};var r=e=>void 0===e?[]:t(e)?[e]:"not"in e?r(e.not):("and"in e?e.and:e.or).flatMap(r);e.conditionsOf=r;e.requiredConditions=e=>void 0===e?[]:t(e)?[e]:"and"in e?e.and.filter(t):[]}}),He=d({"dist/data/utilities/parsers/splitClauses.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.whereHint=e.splitClauses=e.clauseOrder=void 0,Qe();var t=Be(),r=e.clauseOrder={read:["select","on","merge","where","group by","sort","limit","offset"],insert:["values"],update:["set","where"],delete:["where"]},n=[...new Set(Object.values(r).flat())],o=/^\s*(delete|insert|read|update)\s+([a-z0-9_-]+(\s*\.[a-z0-9_-]+)?)/i,i=new RegExp(`${t.placeholderSource}|${t.arraySource}|[a-z0-9_.-]+|<>|!=|>=|<=|\\S`,"gi"),a=["=","!=","<>",">","<",">=","<=","in","between","like","is","exists","does"],s={on:e=>"and"===e,merge:()=>!0},l=e.whereHint="use and / or inside one where clause (where a = 1 and b = 2)";e.splitClauses=e=>{const t=e.match(o);if(!t)return;const c=t[1].toLowerCase(),d=r[c],u=/^[aeiou]/.test(c)?"an":"a";if(t[3]&&"read"!==c)throw new Error(`A joined record (${t[2]}) isn't allowed in ${u} ${c} query`);const f=[...e.slice(t[0].length).matchAll(i)].map((({0:e,index:r})=>({text:e,lower:e.toLowerCase(),start:t[0].length+r}))),p=[];let y=0,h=!1;for(let e=0;e<f.length;e++){const{lower:t,start:r}=f[e],o=f[e-1]?.lower,i=f[e+1]?.lower;"("!==t&&")"!==t||(y+="("===t?1:-1);const w="group"===t&&"by"===i?"group by":t,m=h||","===o||"as"===o||a.includes(i);if(h=!1,y>0||"by"===w||!n.includes(w)||m)continue;const v=p[p.length-1]?.keyword;if(v===w&&s[w]?.(o))continue;const g=p.some((e=>"where"===e.keyword));if("where"===w&&g&&("and"===o||"or"===o))throw new Error(`"${o} where" is no longer supported: ${l}`);if(!d.includes(w))throw new Error(`"${w}" isn't allowed in ${u} ${c} query (allowed: ${d.join(", ")})`);if(v&&d.indexOf(w)<d.indexOf(v))throw new Error(`"${w}" can't come after "${v}" (order: ${d.join(", ")})`);if(p.some((e=>e.keyword===w)))throw new Error(`Only one "${w}" clause is allowed${"where"===w?`: ${l}`:""}`);"group by"===w&&e++,p.push({keyword:w,start:r,end:f[e].start+f[e].text.length}),h=!0}return{command:c,head:t[0].trim(),leading:e.slice(t[0].length,p[0]?.start??e.length).trim(),clauses:p.map((({keyword:t,end:r},n)=>({keyword:t,body:e.slice(r,p[n+1]?.start??e.length).trim()})))}}}}),Xe=d({"dist/data/utilities/parsers/findConditions.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findConditions=void 0,Qe();var t=ze(),r=Ge(),n=Be(),o=He(),i="(?![a-z0-9_.-])",a=e=>new RegExp(`^(?:${e})${i}`,"i"),s=new RegExp(`^([a-z0-9_-]+\\.?[a-z0-9_-]*)\\s+(?:(is\\s+not\\s+null|is\\s+null|exists|does\\s+not\\s+exist)${i}|(<>|!=|>=|<=|=|>|<|in|between|like)\\s+(${n.placeholderSource}|(${t.numberSource})|${n.arraySource}|(null)|(true)|(false)))`,"i"),l=(e,t)=>{const n=t.flatMap((t=>!(0,r.isCondition)(t)&&e in t?t[e]:[t]));return 1===n.length?n[0]:"and"===e?{and:n}:{or:n}},c=e=>{let r=0;const i=()=>e.slice(r),c=()=>{r+=i().length-i().trimStart().length},d=e=>{c();const t=i().match(e);if(t)return r+=t[0].length,t[0]},u=()=>(0,n.unmaskStrings)(i().trim(),"'"),f=e=>{c();const n=i().match(s);if(n)return r+=n[0].length,(e=>{const r=e[1];if(void 0!==e[2])return{property:r,comparator:e[2].toLowerCase().replace(/\s+/g," "),value:null};const n=e[3].toLowerCase(),o=(0,t.parseLiteralValue)(e,5);if(null===o)throw new Error(`\`${r} ${n} null\` never matches (null equals nothing, as in SQL): use \`${r} is null\` or \`${r} is not null\``);if("between"===n&&Array.isArray(o)&&o.includes(null))throw new Error(`\`${r} between\` can't have a null bound: it would never match`);return{property:r,comparator:n,value:o}})(n);if(("and"===e||"or"===e)&&a("where").test(i()))throw new Error(`"${e} where" is no longer supported: ${o.whereHint}`);if(d(a("not")))return{not:f("not")};if(d(/^\(/)){if(c(),i().startsWith(")"))throw new Error("Empty brackets in a where clause");const e=y("(");if(!d(/^\)/))throw new Error("Missing ) "+(i().trim()?`before: ${u()}`:"at the end of the where clause"));return e}throw new Error(`Missing a condition after ${e}${i().trim()?`: ${u()}`:""}`)},p=e=>{const t=[f(e)];for(;;){const e=d(a("and"));if(!e)break;t.push(f(e.toLowerCase().replace(/\s+/g," ")))}return l("and",t)},y=e=>{const t=[p(e)];for(;;){const e=d(a("or"));if(!e)break;t.push(p(e.toLowerCase().replace(/\s+/g," ")))}return l("or",t)},h=y("where");if(c(),i().startsWith(")"))throw new Error(`Unexpected ) in a where clause: ${u()}`);if(s.test(i()))throw new Error(`Missing and/or before: ${u()}`);return{node:h,end:r}};e.findConditions=(e,t)=>{const{node:r,end:n}=c(t);return e.where=r,t.slice(n).trim()}}}),Ye=d({"dist/data/utilities/parsers/findJoinClauses.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findJoinClauses=void 0;var t=/^([a-z0-9_-]+\.[a-z0-9_-]+)\s+(=|!=|>|<|>=|<=|in|between|like)\s+([a-z0-9_-]+\.[a-z0-9_-]+)(?![a-z0-9._-])/i,r=/^and\s+on\s+/i;e.findJoinClauses=(e,n)=>{let o=n;for(let n=o.match(t);n;n=o.match(t)){e.joinClauses.push({propertyA:n[1],comparator:n[2],propertyB:n[3]}),o=o.slice(n[0].length).trim();const i=o.match(r);if(!i||!t.test(o.slice(i[0].length)))break;o=o.slice(i[0].length)}return o}}}),Ze=d({"dist/data/utilities/parsers/findMergeJoins.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findMergeJoins=void 0;var t=/^([a-z0-9_-]+\.[a-z0-9_-]+)\s+with\s+([a-z0-9_-]+\.[a-z0-9_-]+)(?![a-z0-9._-])/i,r=/^(?:and\s+)?merge\s+/i;e.findMergeJoins=(e,n)=>{let o=n;for(let n=o.match(t);n;n=o.match(t)){e.mergeJoins.push({propertyA:n[1],propertyB:n[2]}),o=o.slice(n[0].length).trim();const i=o.match(r);if(!i||!t.test(o.slice(i[0].length)))break;o=o.slice(i[0].length)}return o}}}),et=d({"dist/data/utilities/parsers/findSortClauses.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findSortClauses=void 0;var t="[a-z0-9._-]+(?:\\s+(?:asc|desc)(?![a-z0-9._-]))?",r=new RegExp(`^${t}(?:\\s*,\\s*${t})*`,"i"),n=/,?\s*([a-z0-9._-]+)(?:\s+(asc|desc)(?![a-z0-9._-]))?/gi;e.findSortClauses=(e,t)=>{const o=t.match(r);if(o){const r=o[0].matchAll(n);for(const t of r)e.sortClauses.push({property:t[1],direction:(t[2]||"asc").toLowerCase()});return t.slice(o[0].length).trim()}return t}}}),tt=d({"dist/data/utilities/parsers/findGroupBy.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findGroupBy=void 0;var t=/^[a-z0-9._-]+(?:\s*,\s*[a-z0-9._-]+)*/i;e.findGroupBy=(e,r)=>{const n=r.match(t);if(n){const t=n[0].split(/\s*,\s*/),o=t.find(((e,r)=>t.indexOf(e)!==r));if(o)throw new Error(`"${o}" is in group by twice`);return e.groupBy=t,r.slice(n[0].length).trim()}return r}}}),rt=d({"dist/data/utilities/parsers/findLimit.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findLimit=void 0;var t=/^(\d+)/;e.findLimit=(e,r)=>{const n=r.match(t);return n?(e.limit=n?parseInt(n[1]):void 0,r.slice(n[0].length).trim()):r}}}),nt=d({"dist/data/utilities/parsers/findOffset.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.findOffset=void 0;var t=/^(\d+)/;e.findOffset=(e,r)=>{const n=r.match(t);return n?(e.offset=n?parseInt(n[1]):void 0,r.slice(n[0].length).trim()):r}}}),ot=d({"dist/data/introspect/policies/typeCheck.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.typeCheck=e.fieldTypes=void 0;e.fieldTypes=["string","int","boolean","object","array"];e.typeCheck=(e="string",t=void 0,r=!1)=>{if(void 0===t)return t;if(null===t){if(r)return t;throw new Error('Value "null" is not allowed: the field is not nullable')}switch(e){case"string":return"string"==typeof t?t:String(t);case"int":{const e=Number(t);if(Number.isNaN(e)||!Number.isInteger(e))throw new Error(`Value "${t}" is not a valid int`);if(!Number.isSafeInteger(e))throw new Error(`Value "${t}" is too large for an int (the largest is ${Number.MAX_SAFE_INTEGER})`);return e}case"boolean":if("boolean"==typeof t)return t;if("true"===t)return!0;if("false"===t)return!1;throw new Error(`Value "${t}" is not a valid boolean`);case"object":if("object"!=typeof t||null===t||Array.isArray(t))throw new Error(`Value "${t}" is not a valid object`);return t;case"array":if(!Array.isArray(t))throw new Error(`Value "${t}" is not a valid array`);return t;default:return t}}}}),it=d({"dist/data/utilities/parsers/startsQuery.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.startsQueryMatch=void 0;e.startsQueryMatch=/^\s*(alter|create|delete|describe|drop|insert|read|show|update|use)(?![a-z0-9_-])/i}}),at=d({"dist/data/utilities/parsers/parseCreate.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.parseField=e.parseCreate=e.nameSource=e.nameMatch=e.keyLookup=e.fieldMatch=e.createMatch=void 0,Qe();var t=ot(),r=Be(),n=ze(),o=it(),i=(e.createMatch=/^\s*create(?![a-z0-9_-])/i,/^\s*create\s+(if\s+not\s+exists\s+)?([a-z0-9_-]+)\s*\(/i),a=e.nameSource="[a-z0-9_-]+",s=e.nameMatch=new RegExp(`^${a}$`,"i"),l=new RegExp(`^${n.numberSource}$`,"i"),c=e.fieldMatch=new RegExp(`^(${a})\\s+(${a})((?:\\s[\\s\\S]*)?)$`,"i"),d=/^primary\s+key\s*\(([^()]*)\)$/i,u=/^unique\s*\(([^()]*)\)$/i,f=/^index\s*\(([^()]*)\)$/i,y=new RegExp(`^foreign\\s+key\\s*\\(([^()]*)\\)\\s*references\\s+(${a})\\s*\\(([^()]*)\\)$`,"i"),h=new RegExp(`^${r.placeholderSource}$`),w=new RegExp(`^${r.arraySource}$`),m={primary:"pk",unique:"unique",index:"index",foreign:"fk"},v=(e,t)=>`${m[e]}_${t.join("_")}.json`;e.keyLookup=v;var g=e=>(0,r.unmaskStrings)(e.trim(),"'"),b=(e,t)=>{const r=e.split(",").map((e=>e.trim()));if(r.some((e=>!s.test(e))))throw new Error(`Expected field names separated by commas in: ${g(t)}`);if(new Set(r).size!==r.length)throw new Error(`The same field is named twice in: ${g(t)}`);return r},j=e=>{if(void 0===e)throw new Error("Missing a value after default");const t=e.match(h);if(t)return(0,r.fromPlaceholder)(t[1]);const o=e.match(w);if(o)return JSON.parse((0,r.fromPlaceholder)(o[1]));if(l.test(e))return(0,n.parseNumber)(e);switch(e.toLowerCase()){case"null":return null;case"true":return!0;case"false":return!1}throw new Error(`Unrecognized default value: ${g(e)}`)},_=e=>{const[r,n,o,i]=e,a=o.toLowerCase();if(!t.fieldTypes.includes(a))throw new Error(`Unknown type "${o}" for field "${n}" (expected ${t.fieldTypes.join(", ")})`);const s={name:n,type:a,optional:!1,autoGenerate:!1},l=new Set,c=e=>{if(l.has(e))throw new Error(`"${e}" is given twice for field "${n}"`);l.add(e)},d=""===i.trim()?[]:i.trim().split(/\s+/);for(let e=0;e<d.length;e++){const t=d[e].toLowerCase();if("optional"===t)c("optional"),s.optional=!0;else if("auto"===t)c("auto"),s.autoGenerate=!0;else if("null"===t)c("null"),s.nullable=!0;else if("not"===t&&"null"===(d[e+1]||"").toLowerCase())c("null"),s.nullable=!1,e++;else{if("default"!==t)throw new Error(`Unrecognized "${g(d[e])}" for field "${n}" in: ${g(r)}`);c("default"),s.useDefault=!0,s.defaultValue=j(d[++e])}}if(s.autoGenerate&&s.useDefault)throw new Error(`Field "${n}" can't be both auto and have a default`);if(s.autoGenerate&&"string"!==a)throw new Error(`Field "${n}" is auto, which generates a UUID, so its type must be string`);return s};e.parseField=_;var $=e=>{let t=e.match(d);if(t)return{type:"primary",fields:b(t[1],e)};if(t=e.match(u),t)return{type:"unique",fields:b(t[1],e)};if(t=e.match(f),t)return{type:"index",fields:b(t[1],e)};if(t=e.match(y),t){const r=b(t[1],e),n=b(t[3],e);if(1!==r.length||1!==n.length)throw new Error(`Only single-field foreign keys are supported so far: ${g(e)}`);return{type:"foreign",fields:r,references:[{fields:[`${t[2]}.${n[0]}`],lookup:`${t[2]}.json`}]}}return null},O=(e,t)=>{const r=e.map((e=>e.name));if(t.filter((e=>"primary"===e.type)).length>1)throw new Error("Only one primary key is allowed");const n=new Set;return t.map((e=>{const t=e.fields.find((e=>!r.includes(e)));if(t)throw new Error(`The ${e.type} key (${e.fields.join(", ")}) names "${t}", which is not a field`);const o=v(e.type,e.fields);if(n.has(o))throw new Error(`The same ${e.type} key on "${e.fields.join(", ")}" is given twice`);return n.add(o),Object.assign({type:e.type,fields:e.fields,lookup:o},e.references?{references:e.references}:{})}))};e.parseCreate=e=>{const t=e.match(i);if(!t)throw new Error("Expected: create [if not exists] <name> (<fields and keys>)");const r=t[2];if("__RECORDS"===r)throw new Error("__RECORDS is reserved for the list of records");const n=t[0].length-1,a=((e,t)=>{let r=0;for(let n=t;n<e.length;n++)if("("===e[n])r++;else if(")"===e[n]&&(r--,0===r))return n;return-1})(e,n);if(-1===a)throw new Error("Missing ) at the end of the field list");const s=e.slice(a+1).trim();if(s){if(o.startsQueryMatch.test(s))throw new Error(`Missing ; before: ${g(s)}`);throw new Error(`Unrecognized query value: ${g(s)}`)}const l=e.slice(n+1,a),d=[],u=[];if(l.trim())for(const e of(e=>{const t=[];let r=0,n=0;for(let o=0;o<e.length;o++)"("===e[o]?r++:")"===e[o]?r--:","===e[o]&&0===r&&(t.push(e.slice(n,o)),n=o+1);return t.push(e.slice(n)),t.map((e=>e.trim()))})(l)){if(!e)throw new Error("Empty item in the field list (an extra comma?)");const t=$(e);if(t){u.push(t);continue}const r=e.match(c);if(!r)throw new Error(`Expected a field (<name> <type> ...) or a key in: ${g(e)}`);const n=_(r);if(d.some((e=>e.name===n.name)))throw new Error(`Field "${n.name}" is given twice`);d.push(n)}return{entity:r,create:{ifNotExists:Boolean(t[1]),definition:d,keys:O(d,u)}}}}}),st=d({"dist/data/utilities/parsers/parseSchemaStatement.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.schemaStatementMatch=e.parseSchemaStatement=void 0;var t=Be(),r=it(),n=e.schemaStatementMatch=/^\s*(drop|describe|show)(?![a-z0-9_-])/i,o=/^\s*drop\s+(if\s+exists\s+)?([a-z0-9_-]+)/i,i=/^\s*describe\s+([a-z0-9_-]+)/i,a=/^\s*show\s+records(?![a-z0-9_-])/i,s=e=>{const n=e.trim();if(!n)return;const o=(0,t.unmaskStrings)(n,"'");if(r.startsQueryMatch.test(n))throw new Error(`Missing ; before: ${o}`);throw new Error(`Unrecognized query value: ${o}`)},l=e=>{if("__RECORDS"===e)throw new Error("__RECORDS is reserved for the list of records (use: show records)")};e.parseSchemaStatement=e=>{const t=e.match(n)[1].toLowerCase();if("drop"===t){const t=e.match(o);if(!t||/^\s*drop\s+if\s+exists\s*$/i.test(e))throw new Error("Expected: drop [if exists] <name>");return l(t[2]),s(e.slice(t[0].length)),{command:"drop",entity:t[2],ifExists:Boolean(t[1])}}if("describe"===t){const t=e.match(i);if(!t)throw new Error("Expected: describe <name>");return l(t[1]),s(e.slice(t[0].length)),{command:"describe",entity:t[1],ifExists:!1}}const r=e.match(a);if(!r)throw new Error("Expected: show records (the only thing that can be shown so far)");return s(e.slice(r[0].length)),{command:"show",entity:"__RECORDS",ifExists:!1}}}}),lt=d({"dist/data/utilities/parsers/parseAlter.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.parseAlter=e.alterMatch=void 0;var t=at(),r=Be(),n=it(),o=(e.alterMatch=/^\s*alter(?![a-z0-9_-])/i,new RegExp(`^\\s*alter\\s+(${t.nameSource})\\s+(add|drop|rename|modify)(?![a-z0-9_-])([\\s\\S]*)$`,"i")),i=new RegExp(`^\\s*(${t.nameSource})\\s+to\\s+(${t.nameSource})\\s*$`,"i"),a=e=>(0,r.unmaskStrings)(e.trim(),"'"),s=e=>{const r=e.trim().match(t.fieldMatch);if(!r)throw new Error(`Expected a field (<name> <type> ...) in: ${a(e)}`);return(0,t.parseField)(r)};e.parseAlter=e=>{const r=e.match(o);if(!r)throw new Error("Expected: alter <record> add <field> <type> ..., drop <field>, rename <field> to <name>, or modify <field> <type> ...");const[,l,c,d]=r;if("__RECORDS"===l)throw new Error("__RECORDS is reserved for the list of records");const u=c.toLowerCase();if(n.startsQueryMatch.test(d.trim())&&!/^\s*(add|drop|rename|modify)\b/i.test(d))throw new Error(`Missing ; before: ${a(d)}`);switch(u){case"add":case"modify":return{entity:l,alter:{action:u,field:s(d)}};case"drop":{const e=d.trim();if(!t.nameMatch.test(e))throw new Error(`Expected: alter ${l} drop <field>${e?` (got: ${a(e)})`:""}`);return{entity:l,alter:{action:u,name:e}}}default:{const e=d.match(i);if(!e)throw new Error(`Expected: alter ${l} rename <field> to <name>${d.trim()?` (got: ${a(d)})`:""}`);return{entity:l,alter:{action:"rename",name:e[1],to:e[2]}}}}}}}),ct=d({"dist/data/utilities/parsers/parseDatabaseStatement.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.parseDatabaseStatement=e.databaseStatementMatch=void 0;var t=Be(),r=it(),n=(e.databaseStatementMatch=/^\s*(?:(?:create|drop)\s+database\s+(?!\()[a-z0-9_-]|show\s+databases(?![a-z0-9_-])|use(?![a-z0-9_.-]))/i,/^\s*create\s+database\s+(if\s+not\s+exists\s+)?([a-z0-9_-]+)/i),o=/^\s*drop\s+database\s+(if\s+exists\s+)?([a-z0-9_-]+)/i,i=/^\s*use\s+([a-z0-9_-]+)/i,a=/^\s*show\s+databases/i,s=e=>{const n=e.trim();if(!n)return;const o=(0,t.unmaskStrings)(n,"'");if(r.startsQueryMatch.test(n))throw new Error(`Missing ; before: ${o}`);throw new Error(`Unrecognized query value: ${o}`)};e.parseDatabaseStatement=e=>{const t={ifExists:!1,ifNotExists:!1};let r=e.match(n);if(r)return s(e.slice(r[0].length)),{...t,command:"create database",entity:r[2],ifNotExists:Boolean(r[1])};if(r=e.match(o),r)return s(e.slice(r[0].length)),{...t,command:"drop database",entity:r[2],ifExists:Boolean(r[1])};if(r=e.match(a),r)return s(e.slice(r[0].length)),{...t,command:"show databases",entity:"__DATABASES"};if(r=e.match(i),!r)throw new Error("Expected: use <database>");return s(e.slice(r[0].length)),{...t,command:"use",entity:r[1]}}}}),dt=d({"dist/data/utilities/parsers/parseQuery.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.parseQuery=void 0;var t=w(),r=Ve(),n=Ie(),o=We(),i=Ke(),a=Xe(),s=Ge(),l=Ye(),c=Ze(),d=et(),u=tt(),f=rt(),y=nt(),h=Be(),m=at(),v=st(),g=lt(),b=ct(),j=He(),_=it(),$={values:{step:r.findInsertValues,expected:"an assignment (field = value)"},set:{step:n.findUpdateValues,expected:"an assignment (field = value)"},select:{step:i.findSelects,expected:"a field"},on:{step:l.findJoinClauses,expected:"a join condition (a.x = b.y)"},merge:{step:c.findMergeJoins,expected:"a merge (a.x with b.y)"},where:{step:a.findConditions,expected:"a condition"},"group by":{step:u.findGroupBy,expected:"a field"},sort:{step:d.findSortClauses,expected:"a field"},limit:{step:f.findLimit,expected:"a whole number"},offset:{step:y.findOffset,expected:"a whole number"}},O=(e,t)=>{const r=e=>(0,h.unmaskStrings)(e,"'");return _.startsQueryMatch.test(e)?new Error(`Missing ; before: ${r(e)}`):new Error(`Unexpected "${r(e)}" after "${r(t)}"`)};e.parseQuery=e=>{const r={command:void 0,entity:void 0,joinEntity:void 0,selectClauses:[],insertValues:[],updateValues:{},where:void 0,joinClauses:[],mergeJoins:[],sortClauses:[],groupBy:void 0,limit:void 0,offset:void 0,create:void 0,ifExists:void 0};if(e=(0,h.maskArrays)((0,h.maskStrings)(e)),b.databaseStatementMatch.test(e))return Object.assign(r,(0,b.parseDatabaseStatement)(e));if(m.createMatch.test(e)){const{entity:t,create:n}=(0,m.parseCreate)(e);return Object.assign(r,{command:"create",entity:t,create:n})}if(v.schemaStatementMatch.test(e))return Object.assign(r,(0,v.parseSchemaStatement)(e));if(g.alterMatch.test(e)){const{entity:t,alter:n}=(0,g.parseAlter)(e);return Object.assign(r,{command:"alter",entity:t,alter:n})}const n=(0,j.splitClauses)(e);if(!n){if(e=e.trim(),_.startsQueryMatch.test(e))throw new Error(`Missing ; before: ${(0,h.unmaskStrings)(e,"'")}`);throw new Error(`Unrecognized query value: ${(0,h.unmaskStrings)(e,"'")}`)}if((0,o.findJoinEntity)(r,(0,t.findCommand)(r,n.head)),r.where=(0,s.allOf)([]),n.leading)throw O(n.leading,n.head);for(const{keyword:e,body:t}of n.clauses){const{step:n,expected:o}=$[e],i=n(r,t);if(i===t)throw new Error(`Missing ${o} after ${e}${t?`: ${(0,h.unmaskStrings)(t,"'")}`:""}`);if(i)throw O(i,`${e} ${t.slice(0,t.length-i.length).trim()}`)}if((r.joinClauses||[]).length&&!r.joinEntity)throw new Error(`"on" needs the record to join, after the one read: ${r.command} ${r.entity}.<record> on ...`);return r}}}),ut=d({"dist/data/queries/parser.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.parser=void 0;var t=h(),r=dt();e.parser=(e="")=>{const n=(0,t.splitQueries)(e);return n.map(((e,t)=>{try{return(0,r.parseQuery)(e)}catch(r){const o=n.length>1?` query ${t+1} of ${n.length}`:"";throw new Error(`Failed to interpret${o}: ${e} (${r.message})`)}}))}}}),ft=d({"node_modules/browser-or-node/dist/index.js"(t,r){p();var n,o=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var r in t)o(e,r,{get:t[r],enumerable:!0})})(l,{isBrowser:()=>c,isBun:()=>h,isDeno:()=>y,isJsDom:()=>f,isNode:()=>d,isWebWorker:()=>u}),r.exports=(n=l,((e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of a(t))s.call(e,l)||l===r||o(e,l,{get:()=>t[l],enumerable:!(n=i(t,l))||n.enumerable});return e})(o({},"__esModule",{value:!0}),n));var c="undefined"!=typeof window&&void 0!==window.document,d=void 0!==e.default&&null!=e.default.versions&&null!=e.default.versions.node,u="object"==typeof self&&self.constructor&&"DedicatedWorkerGlobalScope"===self.constructor.name,f="undefined"!=typeof window&&"nodejs"===window.name||"undefined"!=typeof navigator&&"userAgent"in navigator&&"string"==typeof navigator.userAgent&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),y="undefined"!=typeof Deno&&void 0!==Deno.version&&void 0!==Deno.version.deno,h=void 0!==e.default&&null!=e.default.versions&&null!=e.default.versions.bun}}),pt=d({"node_modules/path-browserify/index.js"(t,r){function n(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function o(e,t){for(var r,n="",o=0,i=-1,a=0,s=0;s<=e.length;++s){if(s<e.length)r=e.charCodeAt(s);else{if(47===r)break;r=47}if(47===r){if(i===s-1||1===a);else if(i!==s-1&&2===a){if(n.length<2||2!==o||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2))if(n.length>2){var l=n.lastIndexOf("/");if(l!==n.length-1){-1===l?(n="",o=0):o=(n=n.slice(0,l)).length-1-n.lastIndexOf("/"),i=s,a=0;continue}}else if(2===n.length||1===n.length){n="",o=0,i=s,a=0;continue}t&&(n.length>0?n+="/..":n="..",o=2)}else n.length>0?n+="/"+e.slice(i+1,s):n=e.slice(i+1,s),o=s-i-1;i=s,a=0}else 46===r&&-1!==a?++a:a=-1}return n}p();var i={resolve:function(){for(var t,r="",i=!1,a=arguments.length-1;a>=-1&&!i;a--){var s;a>=0?s=arguments[a]:(void 0===t&&(t=e.default.cwd()),s=t),n(s),0!==s.length&&(r=s+"/"+r,i=47===s.charCodeAt(0))}return r=o(r,!i),i?r.length>0?"/"+r:"/":r.length>0?r:"."},normalize:function(e){if(n(e),0===e.length)return".";var t=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=o(e,!t)).length||t||(e="."),e.length>0&&r&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return n(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,t=0;t<arguments.length;++t){var r=arguments[t];n(r),r.length>0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":i.normalize(e)},relative:function(e,t){if(n(e),n(t),e===t)return"";if((e=i.resolve(e))===(t=i.resolve(t)))return"";for(var r=1;r<e.length&&47===e.charCodeAt(r);++r);for(var o=e.length,a=o-r,s=1;s<t.length&&47===t.charCodeAt(s);++s);for(var l=t.length-s,c=a<l?a:l,d=-1,u=0;u<=c;++u){if(u===c){if(l>c){if(47===t.charCodeAt(s+u))return t.slice(s+u+1);if(0===u)return t.slice(s+u)}else a>c&&(47===e.charCodeAt(r+u)?d=u:0===u&&(d=0));break}var f=e.charCodeAt(r+u);if(f!==t.charCodeAt(s+u))break;47===f&&(d=u)}var p="";for(u=r+d+1;u<=o;++u)u!==o&&47!==e.charCodeAt(u)||(0===p.length?p+="..":p+="/..");return p.length>0?p+t.slice(s+d):(s+=d,47===t.charCodeAt(s)&&++s,t.slice(s))},_makeLong:function(e){return e},dirname:function(e){if(n(e),0===e.length)return".";for(var t=e.charCodeAt(0),r=47===t,o=-1,i=!0,a=e.length-1;a>=1;--a)if(47===(t=e.charCodeAt(a))){if(!i){o=a;break}}else i=!1;return-1===o?r?"/":".":r&&1===o?"//":e.slice(0,o)},basename:function(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');n(e);var r,o=0,i=-1,a=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var s=t.length-1,l=-1;for(r=e.length-1;r>=0;--r){var c=e.charCodeAt(r);if(47===c){if(!a){o=r+1;break}}else-1===l&&(a=!1,l=r+1),s>=0&&(c===t.charCodeAt(s)?-1==--s&&(i=r):(s=-1,i=l))}return o===i?i=l:-1===i&&(i=e.length),e.slice(o,i)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!a){o=r+1;break}}else-1===i&&(a=!1,i=r+1);return-1===i?"":e.slice(o,i)},extname:function(e){n(e);for(var t=-1,r=0,o=-1,i=!0,a=0,s=e.length-1;s>=0;--s){var l=e.charCodeAt(s);if(47!==l)-1===o&&(i=!1,o=s+1),46===l?-1===t?t=s:1!==a&&(a=1):-1!==t&&(a=-1);else if(!i){r=s+1;break}}return-1===t||-1===o||0===a||1===a&&t===o-1&&t===r+1?"":e.slice(t,o)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var r=t.dir||t.root,n=t.base||(t.name||"")+(t.ext||"");return r?r===t.root?r+n:r+e+n:n}("/",e)},parse:function(e){n(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var r,o=e.charCodeAt(0),i=47===o;i?(t.root="/",r=1):r=0;for(var a=-1,s=0,l=-1,c=!0,d=e.length-1,u=0;d>=r;--d)if(47!==(o=e.charCodeAt(d)))-1===l&&(c=!1,l=d+1),46===o?-1===a?a=d:1!==u&&(u=1):-1!==a&&(u=-1);else if(!c){s=d+1;break}return-1===a||-1===l||0===u||1===u&&a===l-1&&a===s+1?-1!==l&&(t.base=t.name=0===s&&i?e.slice(1,l):e.slice(s,l)):(0===s&&i?(t.name=e.slice(1,a),t.base=e.slice(1,l)):(t.name=e.slice(s,a),t.base=e.slice(s,l)),t.ext=e.slice(a,l)),s>0?t.dir=e.slice(0,s-1):i&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,r.exports=i}}),yt=d({"dist/data/utilities/config.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.trackDatabaseCall=e.switchDatabase=e.resolveDatabasePath=e.lockPath=e.getSetting=e.databasesFolder=e.configuredFetch=e.configure=e.activeDatabasePath=void 0,Le();var t={databasePath:"database/",relativePath:"",enforceForeignKeys:!0,readConcurrency:16,format:"compact"},r=0,n=/^[a-z0-9_-]+$/i,o=e=>e.endsWith("/")?e:`${e}/`,i=()=>t.databasesPath&&t.database?`${o(t.databasesPath)}${t.database}/`:l("databasePath","database/");e.activeDatabasePath=i;var a=()=>t.databasesPath?o(t.databasesPath):i();e.lockPath=a;e.databasesFolder=()=>{if(!t.databasesPath)throw new Error("Several databases need a folder to hold them: configure({ databasesPath: 'databases/' }) first");return o(t.databasesPath)};e.switchDatabase=e=>{t={...t,database:e}};var s=e=>pt().resolve(e);e.resolveDatabasePath=s;e.trackDatabaseCall=()=>{r++;let e=!1;return()=>{e||(e=!0,r--)}};e.configure=e=>{if(void 0!==e.format&&"compact"!==e.format&&"pretty"!==e.format)throw new Error(`Unknown format "${e.format}": use 'compact' or 'pretty'`);if(void 0!==e.database&&null!==e.database&&!n.test(e.database))throw new Error(`Invalid database name ${JSON.stringify(e.database)}: names use letters, digits, _ and - only`);const o={...t,...e};if(o.database&&!o.databasesPath)throw new Error("A database name needs the folder that holds the databases: configure({ databasesPath: 'databases/', database: '...' })");if(r>0){const n={active:s(i()),lock:s(a())},l=t;t=o;const c=s(i())!==n.active||s(a())!==n.lock;if(t=l,c){const t=["databasePath","databasesPath","database"].filter((t=>void 0!==e[t])).join(" / ");throw new Error(`Can't change ${t} while ${r} database call(s) are still running or queued: await them first`)}}t=o};e.configuredFetch=e=>{const t=l("fetchOptions",void 0);return t?fetch(e,t):fetch(e)};var l=(e,r)=>void 0!==t[e]?t[e]:r;e.getSetting=l}}),ht=d({"dist/data/storage/storagePath.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.storagePath=void 0;var t,r=function(e,r){if(!r&&e&&e.__esModule)return e;var n,o,i=Object.defineProperty,a={__proto__:null,default:e};if(Object(e)!==e)return a;if(t||"function"!=typeof WeakMap||(t=new WeakMap),t){if(t.has(e))return t.get(e);t.set(e,a)}for(o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((n=i&&Object.getOwnPropertyDescriptor(e,o))&&(n.get||n.set)?i(a,o,n):a[o]=e[o]);return a}(ft()),n=yt();e.storagePath=(e="")=>`${r.isBrowser?(0,n.getSetting)("relativePath",""):""}${(0,n.activeDatabasePath)()}${e}`}}),wt=d({"js-build-tools-empty:fs/promises"(e,t){p(),t.exports={}}}),mt=d({"dist/data/storage/nodeFiles.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.nodeFiles=void 0;e.nodeFiles=()=>wt()}}),vt=d({"dist/data/storage/readCache.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.withReadCache=e.cachedRead=e.cacheWrite=e.cacheRemove=void 0;var t=ht(),r=new Map,n=()=>r.get((0,t.storagePath)());e.withReadCache=async e=>{const n=(0,t.storagePath)(),o=r.get(n)||{calls:0,files:new Map};r.set(n,o),o.calls++,o.calls>1&&(o.files=new Map);try{return await e()}finally{o.calls--,o.calls||r.get(n)!==o||r.delete(n)}};e.cachedRead=(e,t)=>{const r=n();if(!r)return t();const o=r.files.get(e);if(o)return o;const i=t();return r.files.set(e,i),i.catch((()=>{r.files.get(e)===i&&r.files.delete(e)})),i};e.cacheWrite=(e,t)=>{n()?.files.set(e,Promise.resolve(t))};e.cacheRemove=(e,t=!1)=>{const r=n();if(r&&(r.files.delete(e),t)){const t=e.endsWith("/")?e:`${e}/`;for(const e of[...r.files.keys()])e.startsWith(t)&&r.files.delete(e)}}}}),gt=d({"dist/data/storage/writeSet.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.writeAtomically=e.withWriteSet=e.stageWrite=e.stageRemoveDirectory=e.stageRemove=e.stageMakeDirectory=e.pendingListing=e.pendingFile=e.pendingExists=void 0;var t,r=function(e,r){if(!r&&e&&e.__esModule)return e;var n,o,i=Object.defineProperty,a={__proto__:null,default:e};if(Object(e)!==e)return a;if(t||"function"!=typeof WeakMap||(t=new WeakMap),t){if(t.has(e))return t.get(e);t.set(e,a)}for(o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((n=i&&Object.getOwnPropertyDescriptor(e,o))&&(n.get||n.set)?i(a,o,n):a[o]=e[o]);return a}(ft()),n=ht(),o=mt(),i=vt();var a=new Map,s=()=>a.get((0,n.storagePath)()),l=e=>e.endsWith("/")?e:`${e}/`,c=(e,t)=>{for(const r of t)if(e===r||e.startsWith(l(r)))return!0;return!1},d=async(e,t)=>{const r=`${e}.${crypto.randomUUID()}.tmp`,n=(0,o.nodeFiles)();try{await n.writeFile(r,t),await n.rename(r,e)}catch(e){throw await n.rm(r,{force:!0}).catch((()=>{})),e}};e.writeAtomically=d;var u=async e=>{(0,i.cacheRemove)(e,!0),await(0,o.nodeFiles)().rm(e,{recursive:!0,force:!0}),(0,i.cacheRemove)(e,!0)};e.withWriteSet=async e=>{const t=(0,n.storagePath)();if(!r.isNode||a.has(t))return e();const s={files:new Map,madeFolders:new Set,removedFolders:new Set};let c;a.set(t,s);try{c=await e()}finally{a.delete(t)}return await(async e=>{const t=(0,o.nodeFiles)(),r=t=>{const r=l(t);return[...e.madeFolders].some((e=>e===t||e.startsWith(r)))||[...e.files].some((([e,t])=>null!==t&&e.startsWith(r)))},n=[...e.removedFolders];for(const e of n.filter(r))await u(e);for(const r of e.madeFolders)await t.mkdir(r,{recursive:!0});for(const[t,r]of e.files)null!==r&&(await d(t,r),(0,i.cacheWrite)(t,r));for(const[r,n]of e.files)null===n&&((0,i.cacheRemove)(r),await t.rm(r,{force:!0}),(0,i.cacheRemove)(r));for(const e of n.filter((e=>!r(e))))await u(e)})(s),c};e.pendingFile=e=>{const t=s();if(t)return t.files.has(e)?t.files.get(e):c(e,t.removedFolders)?null:void 0};e.pendingExists=e=>{const t=s();if(!t)return;if(t.files.has(e))return null!==t.files.get(e);const r=l(e);return!(![...t.madeFolders].some((t=>t===e||t.startsWith(r)))&&![...t.files].some((([e,t])=>null!==t&&e.startsWith(r))))||!c(e,t.removedFolders)&&void 0};e.pendingListing=(e,t)=>{const r=s();if(!r)return t;const n=l(e),o=new Set(t.filter((e=>!c(e,r.removedFolders))));for(const[e,t]of r.files)e.startsWith(n)&&(null===t?o.delete(e):o.add(e));return[...o]};e.stageWrite=(e,t)=>{const r=s();return!!r&&(r.files.delete(e),r.files.set(e,t),!0)};e.stageRemove=e=>{const t=s();return!!t&&(t.files.delete(e),t.files.set(e,null),!0)};e.stageMakeDirectory=e=>{const t=s();return!!t&&(t.madeFolders.add(e),!0)};e.stageRemoveDirectory=e=>{const t=s();if(!t)return!1;for(const r of[...t.files.keys()])c(r,new Set([e]))&&t.files.delete(r);for(const r of[...t.madeFolders])c(r,new Set([e]))&&t.madeFolders.delete(r);return t.removedFolders.add(e),!0}}}),bt=d({"dist/data/storage/readJson.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.readText=e.readJson=void 0;var t,r=function(e,r){if(!r&&e&&e.__esModule)return e;var n,o,i=Object.defineProperty,a={__proto__:null,default:e};if(Object(e)!==e)return a;if(t||"function"!=typeof WeakMap||(t=new WeakMap),t){if(t.has(e))return t.get(e);t.set(e,a)}for(o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((n=i&&Object.getOwnPropertyDescriptor(e,o))&&(n.get||n.set)?i(a,o,n):a[o]=e[o]);return a}(ft()),n=ht(),o=mt(),i=vt(),a=gt(),s=yt();var l=async e=>{const t=(0,n.storagePath)(e),l=(0,a.pendingFile)(t);if(null===l)throw new Error(`ENOENT: no such file or directory, open '${t}' (deleted by this statement)`);return"string"==typeof l?l:(0,i.cachedRead)(t,(()=>r.isNode?(0,o.nodeFiles)().readFile(t,"utf8"):(0,s.configuredFetch)(t).then((e=>e.text()))))};e.readText=l;e.readJson=async e=>JSON.parse(await l(e))}}),jt=d({"dist/data/storage/writeJson.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.writeJson=e.jsonText=void 0,Le();var t=ht(),r=vt(),n=gt(),o=yt(),i=(e,t=(0,o.getSetting)("format","compact"))=>"pretty"===t?JSON.stringify(e,null,2):JSON.stringify(e);e.jsonText=i;e.writeJson=async(e,o,a)=>{const s=(0,t.storagePath)(e),l=i(o,a);(0,n.stageWrite)(s,l)||(await(0,n.writeAtomically)(s,l),(0,r.cacheWrite)(s,l))}}}),_t=d({"dist/data/storage/makeDirectory.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.makeDirectory=void 0;var t=ht(),r=mt(),n=gt();e.makeDirectory=async(e="")=>{const o=(0,t.storagePath)(e);(0,n.stageMakeDirectory)(o)||await(0,r.nodeFiles)().mkdir(o,{recursive:!0})}}}),$t=d({"js-build-tools-empty:fs"(e,t){p(),t.exports={}}}),Ot=d({"dist/data/storage/removeFile.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.removeFile=void 0;var t=ht(),r=mt(),n=vt(),o=gt();e.removeFile=async e=>{const i=(0,t.storagePath)(e),a=(0,o.pendingFile)(i);if(null===a||void 0===a&&!$t().existsSync(i))throw new Error(`ENOENT: no such file or directory, rm '${i}'`);(0,o.stageRemove)(i)||((0,n.cacheRemove)(i),await(0,r.nodeFiles)().rm(i),(0,n.cacheRemove)(i))}}}),kt=d({"dist/data/storage/removeDirectory.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.removeDirectory=void 0;var t=ht(),r=mt(),n=vt(),o=gt();e.removeDirectory=async e=>{const i=(0,t.storagePath)(e);(0,o.stageRemoveDirectory)(i)||((0,n.cacheRemove)(i,!0),await(0,r.nodeFiles)().rm(i,{recursive:!0,force:!0}),(0,n.cacheRemove)(i,!0))}}}),Et=d({"dist/data/storage/fileExists.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.fileExists=void 0;var t=ht(),r=gt();e.fileExists=e=>{const n=(0,t.storagePath)(e),o=(0,r.pendingExists)(n);if(void 0!==o)return o;const{existsSync:i}=$t();return i(n)}}}),xt=d({"dist/data/storage/listFiles.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.listFiles=void 0;var t=ht(),r=mt(),n=gt(),o=async e=>{let n;try{n=await(0,r.nodeFiles)().readdir((0,t.storagePath)(e),{withFileTypes:!0})}catch(e){if("ENOENT"===e?.code)return[];throw e}const i=[];for(const t of n)t.isDirectory()?i.push(...await o(`${e}${t.name}/`)):t.isFile()&&i.push(`${e}${t.name}`);return i};e.listFiles=async(e="")=>{const r=e?`${e.replace(/\/+$/,"")}/`:"",i=(await o(r)).map((e=>(0,t.storagePath)(e))),a=(0,t.storagePath)();return(0,n.pendingListing)((0,t.storagePath)(e),i).map((e=>e.slice(a.length))).sort()}}}),Pt=d({"dist/data/storage/databases.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.writeDatabaseList=e.removeDatabaseFolder=e.readDatabaseList=e.makeDatabaseFolder=e.databasesLocation=e.databaseFolderExists=void 0,Le();var t,r=function(e,r){if(!r&&e&&e.__esModule)return e;var n,o,i=Object.defineProperty,a={__proto__:null,default:e};if(Object(e)!==e)return a;if(t||"function"!=typeof WeakMap||(t=new WeakMap),t){if(t.has(e))return t.get(e);t.set(e,a)}for(o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((n=i&&Object.getOwnPropertyDescriptor(e,o))&&(n.get||n.set)?i(a,o,n):a[o]=e[o]);return a}(ft()),n=yt(),o=mt(),i=vt(),a=gt();var s=(e="")=>`${r.isBrowser?(0,n.getSetting)("relativePath",""):""}${(0,n.databasesFolder)()}${e}`;e.databasesLocation=s;var l=()=>s("__DATABASES.json");e.readDatabaseList=async()=>{let e;try{e=r.isNode?await(0,o.nodeFiles)().readFile(l(),"utf8"):await(0,n.configuredFetch)(l()).then((e=>!1===e.ok?"[]":e.text()))}catch(e){if(r.isNode&&"ENOENT"!==e?.code)throw e;return[]}try{const t=JSON.parse(e);return Array.isArray(t)?t:[]}catch(e){if(!r.isNode)return[];throw new Error(`Could not read ${l()}: ${e.message}`)}};e.writeDatabaseList=async e=>{await(0,o.nodeFiles)().mkdir(s(),{recursive:!0}),await(0,a.writeAtomically)(l(),JSON.stringify(e))};e.databaseFolderExists=e=>$t().existsSync(s(e));e.makeDatabaseFolder=async e=>{await(0,o.nodeFiles)().mkdir(s(e),{recursive:!0})};e.removeDatabaseFolder=async e=>{const t=s(e);(0,i.cacheRemove)(t,!0),await(0,o.nodeFiles)().rm(t,{recursive:!0,force:!0}),(0,i.cacheRemove)(t,!0)}}}),St=d({"dist/data/storage/index.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"databaseFolderExists",{enumerable:!0,get:function(){return c.databaseFolderExists}}),Object.defineProperty(e,"databasesLocation",{enumerable:!0,get:function(){return c.databasesLocation}}),Object.defineProperty(e,"fileExists",{enumerable:!0,get:function(){return s.fileExists}}),Object.defineProperty(e,"jsonText",{enumerable:!0,get:function(){return n.jsonText}}),Object.defineProperty(e,"listFiles",{enumerable:!0,get:function(){return l.listFiles}}),Object.defineProperty(e,"makeDatabaseFolder",{enumerable:!0,get:function(){return c.makeDatabaseFolder}}),Object.defineProperty(e,"makeDirectory",{enumerable:!0,get:function(){return o.makeDirectory}}),Object.defineProperty(e,"readDatabaseList",{enumerable:!0,get:function(){return c.readDatabaseList}}),Object.defineProperty(e,"readJson",{enumerable:!0,get:function(){return r.readJson}}),Object.defineProperty(e,"readText",{enumerable:!0,get:function(){return r.readText}}),Object.defineProperty(e,"removeDatabaseFolder",{enumerable:!0,get:function(){return c.removeDatabaseFolder}}),Object.defineProperty(e,"removeDirectory",{enumerable:!0,get:function(){return a.removeDirectory}}),Object.defineProperty(e,"removeFile",{enumerable:!0,get:function(){return i.removeFile}}),Object.defineProperty(e,"storagePath",{enumerable:!0,get:function(){return t.storagePath}}),Object.defineProperty(e,"withReadCache",{enumerable:!0,get:function(){return d.withReadCache}}),Object.defineProperty(e,"withWriteSet",{enumerable:!0,get:function(){return u.withWriteSet}}),Object.defineProperty(e,"writeDatabaseList",{enumerable:!0,get:function(){return c.writeDatabaseList}}),Object.defineProperty(e,"writeJson",{enumerable:!0,get:function(){return n.writeJson}});var t=ht(),r=bt(),n=jt(),o=_t(),i=Ot(),a=kt(),s=Et(),l=xt(),c=Pt(),d=vt(),u=gt()}}),Mt=d({"dist/data/utilities/retrieveFile.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.retrieveFile=void 0;var t=St();e.retrieveFile=async e=>{const r=await(0,t.readJson)(e).catch((e=>console.error(e)));if(!r)throw new Error(`Could not read ${e}`);return r}}}),Dt=d({"dist/data/utilities/recordExists.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.recordExists=void 0;var t=St();e.recordExists=e=>(0,t.fileExists)(`${e}.json`)}}),Rt=d({"dist/data/utilities/retrieveRecord.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.retrieveRecord=void 0;var t,r=function(e,r){if(!r&&e&&e.__esModule)return e;var n,o,i=Object.defineProperty,a={__proto__:null,default:e};if(Object(e)!==e)return a;if(t||"function"!=typeof WeakMap||(t=new WeakMap),t){if(t.has(e))return t.get(e);t.set(e,a)}for(o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((n=i&&Object.getOwnPropertyDescriptor(e,o))&&(n.get||n.set)?i(a,o,n):a[o]=e[o]);return a}(ft()),n=Mt(),o=Dt();e.retrieveRecord=async(e="")=>{if(r.isNode&&!(0,o.recordExists)(e))throw new Error(`Record "${e}" doesn't exist`);try{return await(0,n.retrieveFile)(`${e}.json`)}catch(t){if(!r.isNode)throw new Error(`Record "${e}" doesn't exist, or ${e}.json can't be read`);throw t}}}}),Ct=d({"dist/data/utilities/compareAs.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.sameValue=e.compareAs=e.comparableTypes=void 0,Qe();var t=(e,t)=>{if(null==t)return t;switch(e){case"string":return"object"==typeof t?t:String(t);case"int":{const e=Number(t);return Number.isNaN(e)?t:e}case"boolean":return"true"===t||"false"!==t&&t;default:return t}};e.compareAs=t;var r=e.comparableTypes=["string","int","boolean"];e.sameValue=(e,n,o)=>r.includes(e)?t(e,n)===t(e,o):n==o}}),Ft=d({"dist/data/utilities/removeFromIndex.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.removeFromIndex=void 0;var t=Ct(),r=St();e.removeFromIndex=async(e="",n=null,o=void 0,i="",a=void 0)=>{if(!n||!n.lookup)return null;const s=`__indexes/${e}/${n.lookup}`;let l=[];try{l=await(0,r.readJson)(s)}catch(e){return null}return l=l.map((e=>(0,t.sameValue)(a,e.value,o)?{value:e.value,record:e.record.filter((e=>e!==i))}:e)).filter((e=>e.record.length)),await(0,r.writeJson)(s,l),l}}}),At=d({"dist/data/utilities/computeKeyValue.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.computeKeyValue=void 0,Le();e.computeKeyValue=(e,t)=>1===e.length?t[e[0]]:JSON.stringify(e.map((e=>t[e])))}}),Nt=d({"dist/data/utilities/fieldType.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.keyValueType=e.fieldType=void 0;var t=(e,t)=>e?.definition?.find((e=>e.name===t))?.type;e.fieldType=t;e.keyValueType=(e,r)=>1===r.fields.length?t(e,r.fields[0]):void 0}}),Jt=d({"dist/data/introspect/describe.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.describe=void 0;var t=Mt();e.describe=async(e="__RECORDS")=>{const r=await(0,t.retrieveFile)(`${e}.json`);return"__RECORDS"===e?r.entries:r.definition}}}),Tt=d({"dist/data/utilities/retrieveFiles.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.retrieveFiles=void 0;var t=Mt(),r=yt();e.retrieveFiles=async(e,n=t.retrieveFile)=>{const o=Math.max(1,Math.floor((0,r.getSetting)("readConcurrency",16))||1),i=new Array(e.length),a=[];let s=0;if(await Promise.all(Array.from({length:Math.min(o,e.length)},(async()=>{for(;s<e.length&&!a.length;){const t=s++;try{i[t]=await n(e[t])}catch(e){a.push({position:t,error:e})}}}))),a.length)throw a.reduce(((e,t)=>t.position<e.position?t:e)).error;return i}}}),qt=d({"dist/data/utilities/packedTable.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.usesPackedReads=e.retrievePacked=e.packedPath=e.discardPacked=void 0;var t,r=function(e,r){if(!r&&e&&e.__esModule)return e;var n,o,i=Object.defineProperty,a={__proto__:null,default:e};if(Object(e)!==e)return a;if(t||"function"!=typeof WeakMap||(t=new WeakMap),t){if(t.has(e))return t.get(e);t.set(e,a)}for(o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((n=i&&Object.getOwnPropertyDescriptor(e,o))&&(n.get||n.set)?i(a,o,n):a[o]=e[o]);return a}(ft()),n=St(),o=yt();var i=e=>`__packed/${e}.json`;e.packedPath=i;var a=()=>(0,o.getSetting)("packedReads",!r.isNode);e.usesPackedReads=a;e.retrievePacked=async e=>{if(!a())return;let t;try{t=await(0,n.readJson)(i(e.path))}catch(e){return}const r=e.entries||[];return t&&Array.isArray(t.entries)&&Array.isArray(t.rows)&&t.entries.length===r.length&&t.rows.length===r.length&&!t.entries.some(((e,t)=>e!==r[t]))?t:void 0};e.discardPacked=async e=>{(0,n.fileExists)(i(e))&&await(0,n.removeFile)(i(e))}}}),Lt=d({"dist/data/utilities/retrieveRecords.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.retrieveRecords=e.retrieveEntryRows=e.retrieveEntry=void 0;var t=Mt(),r=Rt(),n=Tt(),o=qt(),i=yt(),a=async e=>{const r=await(0,t.retrieveFile)(e).catch((e=>console.error(e)));if(!r)throw new Error(`Could not read entity ${e.slice(e.lastIndexOf("/")+1)}`);return r};e.retrieveEntry=a;var s=async(e,t,r=a)=>{const s=t.length>(0,i.getSetting)("readConcurrency",16)?await(0,o.retrievePacked)(e):void 0;if(!s)return(0,n.retrieveFiles)(t.map((t=>`${e.path}/${t}`)),r);const l=new Map(s.entries.map(((e,t)=>[e,t]))),c=t.filter((e=>!l.has(e))),d=c.length?await(0,n.retrieveFiles)(c.map((t=>`${e.path}/${t}`)),r):[],u=new Map(c.map(((e,t)=>[e,d[t]])));return t.map((e=>l.has(e)?s.rows[l.get(e)]:u.get(e)))};e.retrieveEntryRows=s;e.retrieveRecords=async(e="")=>{const t=await(0,r.retrieveRecord)(e);return s(t,t.entries)}}}),Bt=d({"dist/data/queries/where.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.whereTree=e.where=e.treeTruth=void 0,Qe();var t=Ct(),r=Ge(),n=(e,r,n,o,i=void 0)=>{const a=Object.prototype.hasOwnProperty.call(e,r);switch(n){case"exists":return a;case"does not exist":return!a;case"is null":return a&&null===e[r];case"is not null":return a&&null!==e[r]}if(!a||null===e[r]||null===o)return null;const s=e[r],l=(0,t.compareAs)(i,s);switch(n){case"=":return(0,t.sameValue)(i,s,o);case"!=":case"<>":return!(0,t.sameValue)(i,s,o);case">":return l>(0,t.compareAs)(i,o);case">=":return l>=(0,t.compareAs)(i,o);case"<":return l<(0,t.compareAs)(i,o);case"<=":return l<=(0,t.compareAs)(i,o);case"in":return!!Array.isArray(o)&&(!!(i?o.some((e=>null!==e&&(0,t.sameValue)(i,s,e))):o.includes(s))||!!o.includes(null)&&null);case"between":return!(!Array.isArray(o)||2!==o.length)&&(o.includes(null)?null:l>=(0,t.compareAs)(i,o[0])&&l<=(0,t.compareAs)(i,o[1]));case"like":return((e,t)=>{if("string"!=typeof e||"string"!=typeof t)return!1;const r=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/%/g,".*").replace(/_/g,".");return new RegExp(`^${r}$`,"i").test(e)})(s,o)}return!1},o=(e,{property:t="",joinEntity:r,comparator:o="=",value:i=null,type:a}={})=>n(e,r?`${r}.${t}`:t,o,i,a);e.where=(e=[],t={})=>e.filter((e=>!0===o(e,t)));var i=(e,t)=>{if((0,r.isCondition)(t))return o(e,t);if("not"in t){const r=i(e,t.not);return null===r?null:!r}const n=!("and"in t);let a=!n;for(const r of"and"in t?t.and:t.or){const t=i(e,r);if(t===n)return n;null===t&&(a=null)}return a};e.treeTruth=i;e.whereTree=(e=[],t=void 0,r=void 0)=>void 0===t?e:void 0===r?e.filter((e=>!0===i(e,t))):e.flatMap((e=>{const n=(Array.isArray(e[r])?e[r]:[]).filter((n=>!0===i(((e,t,r)=>{const n=Object.assign({},e);for(const e of Object.keys(r)){const o=e.includes(".")?e:`${t}.${e}`;Object.prototype.hasOwnProperty.call(n,o)||(n[o]=r[e])}return n})(e,r,n),t)));return n.length?[Object.assign({},e,{[r]:n})]:[]}))}}),zt=d({"dist/data/utilities/parsers/splitEntityProperty.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.splitEntityProperty=void 0;var t=/^[a-z0-9_-]+/i,r=/\.([a-z0-9_-]+)$/i;e.splitEntityProperty=e=>{const n=e.match(t);if(!n)throw new Error(`Unable to use property: ${e}`);const o=e.match(r);if(!o)throw new Error(`Unable to use property: ${e}`);return{entity:n[0],property:o[1]}}}}),Vt=d({"dist/data/utilities/isSingleFieldKey.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.isSingleFieldKey=void 0;e.isSingleFieldKey=(e,t)=>1===e.fields.length&&e.fields[0]===t}}),It=d({"dist/data/utilities/indexHas.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.indexHas=void 0;var t=St(),r=Bt(),n=Rt(),o=Vt(),i=Nt();e.indexHas=async(e,a,s)=>{const l=await(0,n.retrieveRecord)(e),c=l.keys.find((e=>(0,o.isSingleFieldKey)(e,a)&&e.lookup));if(!c)return;if(!(l.entries||[]).length)return!1;let d;try{d=await(0,t.readJson)(`__indexes/${l.path}/${c.lookup}`)}catch(e){return}return(0,r.where)(d,{property:"value",comparator:"=",value:s,type:(0,i.fieldType)(l,a)}).some((e=>Array.isArray(e.record)&&e.record.length>0))}}}),Wt=d({"dist/data/introspect/policies/hasDependents.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.hasDependents=void 0;var t=Jt(),r=Rt(),n=Lt(),o=Bt(),i=Nt(),a=zt(),s=It();e.hasDependents=async(e,l,c)=>{const d=await(0,t.describe)();for(const t of d){const d=t.replace(/\.json$/,""),u=await(0,r.retrieveRecord)(d);for(const t of u.keys){if("foreign"!==t.type||1!==t.fields.length||!t.references||1!==t.references.length)continue;const{entity:r,property:f}=(0,a.splitEntityProperty)(t.references[0].fields[0]);if(r!==e||f!==l)continue;const p=await(0,s.indexHas)(d,t.fields[0],c);if(void 0!==p){if(p)return!0;continue}const y=await(0,n.retrieveRecords)(d);if((0,o.where)(y,{property:t.fields[0],comparator:"=",value:c,type:(0,i.fieldType)(u,t.fields[0])}).length)return!0}}return!1}}}),Kt=d({"dist/data/utilities/keyIndexFiles.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.keyIndexFiles=void 0;var t=St();e.keyIndexFiles=async(e,r,n)=>{if(!r.lookup)return;if(!(e.entries||[]).length)return[];let o;try{o=await(0,t.readJson)(`__indexes/${e.path}/${r.lookup}`)}catch(e){return}const i=new Set;for(const e of Array.isArray(o)?o:[])Array.isArray(e.record)&&n(e.value)&&e.record.forEach((e=>i.add(e)));return e.entries.filter((e=>i.has(e)))}}}),Ut=d({"dist/data/queries/deleteEntity.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.deleteEntity=void 0;var t=Rt(),r=Mt(),n=Ft(),o=At(),i=Nt(),a=Wt(),s=yt(),l=Kt(),c=St(),d=qt();e.deleteEntity=async(e="",u={})=>{const f=await(0,t.retrieveRecord)(e),p=f.keys.find((e=>"primary"===e.type));if(!p)throw new Error(`Cannot delete from "${e}" without a primary key`);const y=u[e]||[];if(!y.length)return u;await(async(e,t,r)=>{if(!(0,s.getSetting)("enforceForeignKeys",!0)||1!==t.fields.length)return;const n=t.fields[0];for(const t of r)if(await(0,a.hasDependents)(e,n,t[n]))throw new Error(`Cannot delete from "${e}" where "${n}" = ${t[n]} - other records still reference it`)})(e,p,y);const h=new Set(y.map((e=>(0,o.computeKeyValue)(p.fields,e)))),w=await(async(e,t,a,s)=>{const d=new Set,u=new Set,f=async e=>{const l=await(0,r.retrieveFile)(`${t.path}/${e}`),f=(0,o.computeKeyValue)(a.fields,l);if(s.has(f)){await(0,c.removeFile)(`${t.path}/${e}`);for(const r of t.keys)await(0,n.removeFromIndex)(t.path,r,(0,o.computeKeyValue)(r.fields,l),e,(0,i.keyValueType)(t,r));d.add(e),u.add(f)}};for(const e of await(0,l.keyIndexFiles)(t,a,(e=>s.has(e)))??[])await f(e);if(u.size<s.size)for(const e of t.entries.filter((e=>!d.has(e))))await f(e);return t.entries.filter((e=>!d.has(e)))})(0,f,p,h);return w.length!==f.entries.length&&await(0,d.discardPacked)(f.path),f.entries=w,await(0,c.writeJson)(`${f.path}.json`,f),u}}}),Qt=d({"dist/data/introspect/policies/keyUnique.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.keyUnique=void 0;var t=Lt(),r=Bt(),n=Rt(),o=Nt(),i=It();e.keyUnique=async(e,a=[],s=[])=>{if(!a.length||a.length!==s.length)return!1;if(1===a.length){const t=await(0,i.indexHas)(e,a[0],s[0]);if(void 0!==t)return!t}let l=await(0,t.retrieveRecords)(e);const c=await(0,n.retrieveRecord)(e);for(let e=0;e<a.length;e++)l=(0,r.where)(l,{property:a[e],comparator:"=",value:s[e],type:(0,o.fieldType)(c,a[e])});return!l.length}}}),Gt=d({"dist/data/introspect/policies/useDefault.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.useDefault=void 0;e.useDefault=(e="",t=void 0)=>void 0===t?e:t}}),Ht=d({"dist/data/introspect/policies/foreignKeyExists.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.foreignKeyExists=void 0;var t=Lt(),r=Bt(),n=Rt(),o=Nt(),i=It();e.foreignKeyExists=async(e,a,s)=>{const l=await(0,i.indexHas)(e,a,s);if(void 0!==l)return l;const c=await(0,t.retrieveRecords)(e),d=(0,o.fieldType)(await(0,n.retrieveRecord)(e),a);return(0,r.where)(c,{property:a,comparator:"=",value:s,type:d}).length>0}}}),Xt=d({"dist/data/utilities/indexBuffer.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.IndexBuffer=void 0,Qe();var t=Ct(),r=Symbol("unkeyed"),n=(e,n)=>{if(!t.comparableTypes.includes(e))return r;const o=(0,t.compareAs)(e,n);return"object"==typeof o&&null!==o?r:o};e.IndexBuffer=class{constructor(e,t){this.byKey=new Map,this.listed=new WeakMap,this.entries=e,this.type=t;for(const o of e){const e=n(t,o.value);e===r||this.byKey.has(e)||this.byKey.set(e,o)}}find(e){const o=n(this.type,e);return o===r?this.entries.find((r=>(0,t.sameValue)(this.type,r.value,e))):this.byKey.get(o)}has(e){if(null==e)return!1;const r=e=>Boolean(e&&Array.isArray(e.record)&&e.record.length),n=this.find(e);return!n||r(n)?r(n):this.entries.some((n=>(0,t.sameValue)(this.type,n.value,e)&&r(n)))}add(e,t){const o=this.find(e);if(o){this.listed.has(o)||this.listed.set(o,new Set(o.record));const e=this.listed.get(o);return void(e.has(t)||(e.add(t),o.record.push(t)))}const i={value:e,record:[t]};this.entries.push(i),this.listed.set(i,new Set(i.record));const a=n(this.type,e);a!==r&&this.byKey.set(a,i)}}}}),Yt=d({"dist/data/utilities/parsers/isEntityProperty.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.isEntityProperty=void 0;e.isEntityProperty=e=>/^[a-z0-9_-]+\.([a-z0-9_-]+)$/i.test(e)}}),Zt=d({"dist/data/utilities/knownFields.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.assertKnownFields=e.assertFieldsDefined=void 0;var t=Rt(),r=Yt(),n=zt(),o=Ge(),i=(e,t,r,n)=>{const o=new Set(t.definition.map((e=>e.name))),i=r.find((e=>!o.has(e)));if(void 0!==i)throw new Error(`Unknown field "${i}" in ${n}: ${e} has ${(e=>e.definition.map((e=>e.name)).join(", "))(t)}`)};e.assertFieldsDefined=i;e.assertKnownFields=async(e,a)=>{const s=new Set((e.mergeJoins||[]).map((e=>(0,n.splitEntityProperty)(e.propertyB).entity))),l=[...(0,o.conditionsOf)(e.where).map((e=>({property:e.property,clause:"where"}))),...(e.sortClauses||[]).map((e=>({property:e.property,clause:"sort"}))),...(e.groupBy||[]).map((e=>({property:e,clause:"group by"}))),...(e.selectClauses||[]).filter((t=>t.property!==e.joinEntity)).map((e=>({property:e.property,clause:"select"}))),...(e.insertValues||[]).flatMap((e=>Object.keys(e||{}).map((e=>({property:e,clause:"insert",own:!0}))))),...Object.keys(e.updateValues||{}).map((e=>({property:e,clause:"set",own:!0}))),...(e.joinClauses||[]).flatMap((e=>[{property:e.propertyA,clause:"on"},{property:e.propertyB,clause:"on"}])),...(e.mergeJoins||[]).flatMap((e=>[{property:e.propertyA,clause:"merge"},{property:e.propertyB,clause:"merge"}]))];for(const{property:o,clause:c,own:d}of l){if("string"!=typeof o)continue;let l=e.entity,u=o;if(!d&&(0,r.isEntityProperty)(o)&&({entity:l,property:u}=(0,n.splitEntityProperty)(o)),"select"===c&&l!==e.entity&&!s.has(l))throw new Error(`Can't select "${o}": a joined record's rows are a list under its name (select ${l}), and its fields are on each row only when merged (merge ... with ${l}.<field>)`);Object.prototype.hasOwnProperty.call(a,l)||(a[l]=await(0,t.retrieveRecord)(l)),i(l,a[l],[u],c)}}}}),er=d({"dist/data/queries/insertEntity.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.insertEntity=void 0,Qe(),Le();var t=Rt(),r=Qt(),n=Gt(),o=ot(),i=Ht(),a=zt(),s=At(),l=Nt(),c=Ct(),d=Lt(),u=Vt(),f=Xt(),y=St(),h=qt(),w=Zt(),m=class{constructor(e,t){this.seen=new Set,this.fields=t,this.types=t.map((t=>(0,l.fieldType)(e,t)))}static usable(e,t){return t.every((t=>c.comparableTypes.includes((0,l.fieldType)(e,t))))}keyOf(e){const t=[];for(let r=0;r<this.fields.length;r++){const n=e[this.fields[r]];if(null==n)return;const o=(0,c.compareAs)(this.types[r],n);if("object"==typeof o)return;t.push([typeof o,o])}return JSON.stringify(t)}add(e){const t=this.keyOf(e);void 0!==t&&this.seen.add(t)}has(e){const t=this.keyOf(e);return void 0!==t&&this.seen.has(t)}},v=class{constructor(e,t){this.rows=[],this.buffers=new Map,this.unreadable=new Set,this.otherLookups=new Map,this.scans=new Map,this.entity=e,this.record=t,this.hadEntries=(t.entries||[]).length>0}async load(){for(const e of this.record.keys){if(!e.lookup)continue;let t=[];try{t=await(0,y.readJson)(`__indexes/${this.record.path}/${e.lookup}`)}catch(t){this.unreadable.add(e)}this.buffers.set(e,new f.IndexBuffer(Array.isArray(t)?t:[],(0,l.keyValueType)(this.record,e)))}}ownLookup(e){const t=this.record.keys.find((t=>(0,u.isSingleFieldKey)(t,e)&&t.lookup));if(!t||this.unreadable.has(t))return()=>{};const r=this.buffers.get(t);return e=>(this.hadEntries||this.rows.length>0)&&r.has(e)}otherLookup(e,r){const n=`${e}\0${r}`;return this.otherLookups.has(n)||this.otherLookups.set(n,(async()=>{const n=await(0,t.retrieveRecord)(e),o=n.keys.find((e=>(0,u.isSingleFieldKey)(e,r)&&e.lookup));if(!o)return()=>{};if(!(n.entries||[]).length)return()=>!1;let i;try{i=await(0,y.readJson)(`__indexes/${n.path}/${o.lookup}`)}catch(e){return()=>{}}const a=new f.IndexBuffer(Array.isArray(i)?i:[],(0,l.fieldType)(n,r));return e=>a.has(e)})()),this.otherLookups.get(n)}scan(e,r){const n=`${e}\0${r.join("\0")}`;return this.scans.has(n)||this.scans.set(n,(async()=>{const n=e===this.entity?this.record:await(0,t.retrieveRecord)(e);if(!m.usable(n,r))return;const o=new m(n,r);for(const t of await(0,d.retrieveRecords)(e))o.add(t);return e===this.entity&&this.rows.forEach((e=>o.add(e))),o})()),this.scans.get(n)}claimed(e,t){return this.rows.some((r=>e.every((e=>null!==r[e]&&void 0!==r[e]&&(0,c.sameValue)((0,l.fieldType)(this.record,e),r[e],t[e])))))}async isUnique(e,t){if(1===e.length){const r=this.ownLookup(e[0])(t[e[0]]);if(void 0!==r)return!r}const n=await this.scan(this.entity,e);return n?!n.has(t):await(0,r.keyUnique)(this.entity,e,e.map((e=>t[e])))&&!this.claimed(e,t)}async exists(e,t,r){const n=e===this.entity,o=n?this.ownLookup(t)(r):(await this.otherLookup(e,t))(r);if(void 0!==o)return o;const a=await this.scan(e,[t]);return a?a.has({[t]:r}):await(0,i.foreignKeyExists)(e,t,r)||n&&this.claimed([t],{[t]:r})}async add(e,t){this.rows.push(e);for(const[t,r]of this.scans)t.startsWith(`${this.entity}\0`)&&(await r)?.add(e);this.record.entries.push(t);for(const[r,n]of this.buffers)n.add((0,s.computeKeyValue)(r.fields,e),t)}async write(){await(0,y.writeJson)(`${this.record.path}.json`,this.record),this.buffers.size&&await(0,y.makeDirectory)(`__indexes/${this.record.path}`);for(const[e,t]of this.buffers)await(0,y.writeJson)(`__indexes/${this.record.path}/${e.lookup}`,t.entries)}},g=async(e,t)=>{let r;do{r=crypto.randomUUID()}while(!await e.isUnique([t],{[t]:r}));return r},b=async(e,t={})=>{const r={};for(const i of e.record.definition){let a=t[i.name];if(null===a&&i.optional&&!i.nullable&&(a=void 0),i.autoGenerate?null==a&&(a=await g(e,i.name)):Object.prototype.hasOwnProperty.call(i,"default")&&(a=(0,n.useDefault)(i.default,a)),void 0!==a)r[i.name]=(0,o.typeCheck)(i.type,a,i.nullable);else if(!i.optional)throw new Error(`Missing required field "${i.name}" for ${e.entity}`)}return r},j=async(e,t)=>{for(const r of e.record.keys)if(!("primary"!==r.type&&"unique"!==r.type||r.fields.some((e=>null===t[e]))||await e.isUnique(r.fields,t)))throw new Error(`Duplicate value for ${r.type} key "${r.fields.join(", ")}" on ${e.entity}`)},_=async(e,t)=>{for(const r of e.record.keys){if("foreign"!==r.type||1!==r.fields.length||!r.references||1!==r.references.length)continue;const n=r.fields[0];if(!Object.prototype.hasOwnProperty.call(t,n)||null===t[n])continue;const{entity:o,property:i}=(0,a.splitEntityProperty)(r.references[0].fields[0]);if(!await e.exists(o,i,t[n]))throw new Error(`Foreign key "${n}" on ${e.entity} references a nonexistent ${o}.${i} = ${t[n]}`)}};e.insertEntity=async(e="",r=[],n={})=>{const o=await(0,t.retrieveRecord)(e),i=o.keys.find((e=>"primary"===e.type&&1===e.fields.length));if(Object.prototype.hasOwnProperty.call(n,e)||(n[e]=[]),await(0,y.makeDirectory)(o.path),!r.length)return n;for(const t of r)(0,w.assertFieldsDefined)(e,o,Object.keys(t||{}),"insert");await(0,h.discardPacked)(o.path);const a=new v(e,o);await a.load();for(const t of r){const r=await b(a,t);await j(a,r),await _(a,r);const s=`${i?r[i.fields[0]]:crypto.randomUUID()}.json`;await(0,y.writeJson)(`${o.path}/${s}`,r),await a.add(r,s),n[e].push(r)}return await a.write(),n}}}),tr=d({"dist/data/queries/readEntity.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.readEntity=void 0;var t=Lt();e.readEntity=async(e="",r={})=>(Object.prototype.hasOwnProperty.call(r,e)&&r[e].length||(r[e]=await(0,t.retrieveRecords)(e)),r)}}),rr=d({"dist/data/utilities/updateIndex.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.updateIndex=void 0,Qe();var t=Ct(),r=St();e.updateIndex=async(e="",n=null,o=void 0,i="",a=void 0)=>{if(!n||!n.lookup)return null;const s=`__indexes/${e}`,l=`${s}/${n.lookup}`;let c=[];try{c=await(0,r.readJson)(l)}catch(e){c=[]}const d=c.find((e=>(0,t.sameValue)(a,e.value,o)));return d?d.record.includes(i)||d.record.push(i):c.push({value:o,record:[i]}),await(0,r.makeDirectory)(s),await(0,r.writeJson)(l,c),c}}}),nr=d({"dist/data/queries/updateEntity.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.updateEntity=void 0;var t=Rt(),r=Mt(),n=rr(),o=Ft(),i=At(),a=Nt(),s=Ct(),l=Qt(),c=ot(),d=Ht(),u=Wt(),f=zt(),y=yt(),h=Kt(),w=St(),m=qt(),v=Zt(),g=async(e,t,n)=>{const o=(0,a.keyValueType)(e,t),l=async a=>(0,s.sameValue)(o,(0,i.computeKeyValue)(t.fields,await(0,r.retrieveFile)(`${e.path}/${a}`)),n);for(const r of await(0,h.keyIndexFiles)(e,t,(e=>(0,s.sameValue)(o,e,n)))??[])if(await l(r))return r;for(const t of e.entries)if(await l(t))return t;return null},b=(e,t,r,n)=>t.fields.some((t=>Object.prototype.hasOwnProperty.call(n,t)&&!(0,s.sameValue)((0,a.fieldType)(e,t),n[t],r[t]))),j=async(e,t,r,n,o)=>{for(const i of t.keys){if("primary"!==i.type&&"unique"!==i.type||!b(t,i,r,o))continue;const a=i.fields.map((e=>n[e]));if(a.some((e=>null==e)))continue;if(!await(0,l.keyUnique)(e,i.fields,a))throw new Error(`Duplicate value for ${i.type} key "${i.fields.join(", ")}" on ${e}`)}},_=async(e,t,r,n)=>{for(const o of t.keys){if("foreign"!==o.type||1!==o.fields.length||!o.references||1!==o.references.length)continue;const i=o.fields[0];if(!Object.prototype.hasOwnProperty.call(n,i)||null===n[i]||void 0===n[i]||(0,s.sameValue)((0,a.fieldType)(t,i),n[i],r[i]))continue;const{entity:l,property:c}=(0,f.splitEntityProperty)(o.references[0].fields[0]);if(!await(0,d.foreignKeyExists)(l,c,n[i]))throw new Error(`Foreign key "${i}" on ${e} references a nonexistent ${l}.${c} = ${n[i]}`)}},$=async(e,t,r,n,o)=>{if(!(0,y.getSetting)("enforceForeignKeys",!0)||1!==r.fields.length||!b(t,r,n,o))return;const i=r.fields[0];if(await(0,u.hasDependents)(e,i,n[i]))throw new Error(`Cannot update "${e}" where "${i}" = ${n[i]} - other records still reference it`)},O=async(e,t,r,s,l)=>{for(const c of e.keys)b(e,c,t,s)&&(await(0,o.removeFromIndex)(e.path,c,(0,i.computeKeyValue)(c.fields,t),l,(0,a.keyValueType)(e,c)),await(0,n.updateIndex)(e.path,c,(0,i.computeKeyValue)(c.fields,r),l,(0,a.keyValueType)(e,c)))},k=(e,t,r)=>{for(const n of t.definition)if(!n.optional&&void 0===r[n.name])throw new Error(`Missing required field "${n.name}" for ${e}`)},E=(e,t)=>{const r=Object.assign({},e);for(const e of Object.keys(t))void 0===t[e]&&delete r[e];return r};e.updateEntity=async(e="",n={},o={})=>{const l=await(0,t.retrieveRecord)(e),d=l.keys.find((e=>"primary"===e.type));if(!d)throw new Error(`Cannot update "${e}" without a primary key`);(0,v.assertFieldsDefined)(e,l,Object.keys(n||{}),"set");const u=((e,t)=>{const r=Object.assign({},t);for(const t of e.definition)Object.prototype.hasOwnProperty.call(r,t.name)&&(r[t.name]=null===r[t.name]&&t.optional&&!t.nullable?void 0:(0,c.typeCheck)(t.type,r[t.name],t.nullable));return r})(l,n);for(const t of d.fields)if(Object.prototype.hasOwnProperty.call(u,t)&&void 0===u[t])throw new Error(`Cannot clear "${t}" on ${e}: it's part of the primary key`);const f=[];for(const t of o[e]||[]){const n=await g(l,d,(0,i.computeKeyValue)(d.fields,t));if(!n)throw new Error(`Could not find entry for ${e} where "${d.fields.join(", ")}" = ${(0,i.computeKeyValue)(d.fields,t)}`);if(f.some((e=>e.fileName===n)))continue;const o=await(0,r.retrieveFile)(`${l.path}/${n}`),a=E(Object.assign({},o,u),u);await j(e,l,o,a,u),await _(e,l,o,u),await $(e,l,d,o,u),k(e,l,a),f.push({fileName:n,oldData:o,newData:a})}((e,t,r,n)=>{for(const o of t.keys){if("primary"!==o.type&&"unique"!==o.type)continue;const l=[];for(const{oldData:c,newData:d}of r){if(!b(t,o,c,n)||o.fields.some((e=>null===d[e]||void 0===d[e])))continue;const r=(0,i.computeKeyValue)(o.fields,d);if(l.some((e=>(0,s.sameValue)((0,a.keyValueType)(t,o),e,r))))throw new Error(`Duplicate value for ${o.type} key "${o.fields.join(", ")}" on ${e}`);l.push(r)}}})(e,l,f,u),f.length&&await(0,m.discardPacked)(l.path);for(const{fileName:e,oldData:t,newData:r}of f)await O(l,t,r,u,e),await(0,w.writeJson)(`${l.path}/${e}`,r);return o[e]=f.map((({newData:e})=>e)),o}}}),or=d({"dist/data/introspect/definitions/field.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.field=void 0;e.field=({name:e="",type:t="string",optional:r=!1,nullable:n=!1,useDefault:o=!1,defaultValue:i="",autoGenerate:a=!1}={})=>{const s={name:e,type:t,optional:r,autoGenerate:a};return n&&(s.nullable=!0),o&&(s.default=i),s}}}),ir=d({"dist/data/introspect/definitions/keyReference.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.keyReference=void 0;e.keyReference=({fields:e=[],lookup:t=""}={})=>({fields:e,lookup:t})}}),ar=d({"dist/data/introspect/definitions/key.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.key=void 0;var t=ir();e.key=({type:e="index",fields:r=[],lookup:n="",references:o=[]}={})=>{switch(e){case"primary":case"index":case"unique":o=[];break;case"multi":if(r.length<2)throw new Error("Multi key indicated with less than two fields");break;case"foreign":if(o.length<1)throw new Error("Foreign key must have one reference to an external record");break;default:throw new Error("Unrecognized key type; must be index, primary, unique, multi, or foreign")}const i={type:e,fields:r,lookup:n};return void 0!==o&&o.length>0&&(i.references=o.map(t.keyReference)),i}}}),sr=d({"dist/data/introspect/definitions/record.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.record=void 0;var t=or(),r=ar();e.record=({path:e="",definition:n=[],keys:o=[],entries:i=[]}={})=>({path:e,definition:n.map(t.field),keys:o.map(r.key),entries:i})}}),lr=d({"dist/data/utilities/registerRecord.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.registerRecord=void 0,Qe();var t=St();e.registerRecord=async e=>{const r="__RECORDS.json";let n;try{n=await(0,t.readJson)(r)}catch(e){n={path:"",definition:[{name:"path",type:"string",optional:!1,autoGenerate:!1},{name:"definition",type:"object",optional:!1,autoGenerate:!1},{name:"keys",type:"array",optional:!1,autoGenerate:!1},{name:"entries",type:"array",optional:!1,autoGenerate:!1}],keys:[],entries:[]}}const o=`${e}.json`;return n.entries.includes(o)||n.entries.push(o),await(0,t.writeJson)(r,n),n}}}),cr=d({"dist/data/utilities/requireNode.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.requireNode=void 0;var t,r=function(e,r){if(!r&&e&&e.__esModule)return e;var n,o,i=Object.defineProperty,a={__proto__:null,default:e};if(Object(e)!==e)return a;if(t||"function"!=typeof WeakMap||(t=new WeakMap),t){if(t.has(e))return t.get(e);t.set(e,a)}for(o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((n=i&&Object.getOwnPropertyDescriptor(e,o))&&(n.get||n.set)?i(a,o,n):a[o]=e[o]);return a}(ft());e.requireNode=e=>{if(!r.isNode)throw new Error(`${e} only works in Node: in a browser, json-fs-query can only read the database (over fetch())`)}}}),dr=d({"dist/data/introspect/create.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.create=e.assertValidDefinition=void 0,Qe();var t=sr(),r=lr(),n=St(),o=cr(),i=ot(),a=["type","fields","lookup","references"],s=(e,t)=>{for(const r of t.definition)if(Object.prototype.hasOwnProperty.call(r,"default"))try{(0,i.typeCheck)(r.type,r.default,r.nullable)}catch(t){throw new Error(`Invalid default for field "${r.name}" of ${e}: ${t.message}`)}for(const r of t.keys){if(r.fields.length<1)throw new Error(`The ${r.type} key of ${e} must have at least one field`);for(const n of r.fields)if(!t.definition.some((e=>e.name===n)))throw new Error(`The ${r.type} key of ${e} names field "${n}", which isn't in the definition`)}const r=t.keys.find((e=>"primary"===e.type));for(const n of r?r.fields:[]){const r=t.definition.find((e=>e.name===n));if(r&&r.nullable)throw new Error(`Primary key field "${n}" of ${e} can't be nullable`);if(r&&r.optional&&!r.autoGenerate)throw new Error(`Primary key field "${n}" of ${e} can't be optional`)}};e.assertValidDefinition=s;e.create=async(e,i=[],l=[])=>{if((0,o.requireNode)("create()"),"__RECORDS"===e)return null;if((0,n.fileExists)(`${e}.json`))return null;((e,t)=>{for(const r of t)for(const t of Object.keys(r))if(!a.includes(t))throw new Error(`Unknown property "${t}" on ${r.type??"index"} key of ${e}; must be ${a.join(", ")}`)})(e,l);const c=(0,t.record)({path:e,definition:i,keys:l});s(e,c),await(0,n.makeDirectory)(),await(0,n.writeJson)(`${e}.json`,c),await(0,n.makeDirectory)(e);const d=c.keys.filter((e=>e.lookup));if(d.length){await(0,n.makeDirectory)(`__indexes/${e}`);for(const t of d)await(0,n.writeJson)(`__indexes/${e}/${t.lookup}`,[])}return await(0,r.registerRecord)(e),c}}}),ur=d({"dist/data/queries/createRecord.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.createRecord=void 0,Qe();var t=dr(),r=Rt(),n=zt(),o=Dt();e.createRecord=async(e,i)=>{if((0,o.recordExists)(e)){if(i.ifNotExists)return null;throw new Error(`Record "${e}" already exists`)}return await(async(e,t)=>{for(const i of t.keys){if("foreign"!==i.type)continue;const{entity:a,property:s}=(0,n.splitEntityProperty)(i.references[0].fields[0]);let l=t.definition.map((e=>e.name));if(a!==e){if(!(0,o.recordExists)(a))throw new Error(`Foreign key "${i.fields[0]}" references "${a}", which doesn't exist`);l=(await(0,r.retrieveRecord)(a)).definition.map((e=>e.name))}if(!l.includes(s))throw new Error(`Foreign key "${i.fields[0]}" references "${a}.${s}", which is not a field`)}})(e,i),(0,t.create)(e,i.definition,i.keys)}}}),fr=d({"dist/data/utilities/deregisterRecord.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.deregisterRecord=void 0;var t=St();e.deregisterRecord=async e=>{const r="__RECORDS.json";let n;try{n=await(0,t.readJson)(r)}catch(e){return null}const o=`${e}.json`;return n.entries=n.entries.filter((e=>e!==o)),await(0,t.writeJson)(r,n),n}}}),pr=d({"dist/data/introspect/drop.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.drop=void 0;var t=Mt(),r=fr(),n=cr(),o=St(),i=qt();e.drop=async e=>{if((0,n.requireNode)("drop()"),"__RECORDS"===e)return null;const a=await(0,t.retrieveFile)(`${e}.json`);for(const e of a.entries)await(0,o.removeFile)(`${a.path}/${e}`);await(0,o.removeDirectory)(a.path),await(0,o.removeDirectory)(`__indexes/${a.path}`),await(0,i.discardPacked)(a.path),await(0,o.removeFile)(`${e}.json`),await(0,r.deregisterRecord)(e)}}}),yr=d({"dist/data/queries/dropRecord.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.dropRecord=void 0;var t=pr(),r=Rt(),n=Dt(),o=zt(),i=yt();e.dropRecord=async(e,a)=>{if(!(0,n.recordExists)(e)){if(a)return null;throw new Error(`Record "${e}" doesn't exist`)}await(async e=>{if(!(0,i.getSetting)("enforceForeignKeys",!0)||!(0,n.recordExists)("__RECORDS"))return;const t=await(0,r.retrieveRecord)("__RECORDS");for(const i of t.entries){const t=i.replace(/\.json$/,"");if(t!==e&&(0,n.recordExists)(t))for(const n of(await(0,r.retrieveRecord)(t)).keys)if("foreign"===n.type&&n.references&&n.references.some((t=>(0,o.splitEntityProperty)(t.fields[0]).entity===e)))throw new Error(`Cannot drop "${e}": ${t}.${n.fields.join(", ")} references it`)}})(e);const s=await(0,r.retrieveRecord)(e);return await(0,t.drop)(e),s}}}),hr=d({"dist/data/queries/describeRecord.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.describeRecord=void 0;var t=Rt(),r=Dt();e.describeRecord=async e=>{if(!(0,r.recordExists)(e))throw new Error(`Record "${e}" doesn't exist`);const{path:n,definition:o,keys:i}=await(0,t.retrieveRecord)(e);return{path:n,definition:o,keys:i}}}}),wr=d({"dist/data/queries/showRecords.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.showRecords=void 0;var t=Rt(),r=Dt();e.showRecords=async()=>(0,r.recordExists)("__RECORDS")?(await(0,t.retrieveRecord)("__RECORDS")).entries.map((e=>e.replace(/\.json$/,""))):[]}}),mr=d({"dist/data/introspect/alter.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.alter=void 0,Qe(),Le();var t=or(),r=dr(),n=at(),o=Rt(),i=Tt(),a=Lt(),s=Zt(),l=qt(),c=cr(),d=wr(),u=nr(),f=ot(),y=St(),h=async e=>(await(0,i.retrieveFiles)(e.entries.map((t=>`${e.path}/${t}`)),a.retrieveEntry)).map(((t,r)=>({fileName:e.entries[r],data:t}))),w=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),m=(e,t)=>e.keys.filter((e=>e.fields.includes(t))),v=async(e,t)=>{const r=[];for(const n of await(0,d.showRecords)()){const i=await(0,o.retrieveRecord)(n);for(const o of i.keys)"foreign"===o.type&&(o.references||[]).some((r=>r.fields.includes(`${e}.${t}`)))&&r.push({entity:n,record:i,key:o})}return r},g=async(e,t)=>{(0,r.assertValidDefinition)(e,t),await(0,y.writeJson)(`${e}.json`,t)},b=async(e,t,r,n,o)=>{if(r.length)if(await(0,l.discardPacked)(t.path),m(t,n).length&&"function"!=typeof o){if(!t.keys.some((e=>"primary"===e.type)))throw new Error(`Can't change "${n}" on ${e}'s rows: a key uses it, and rows are found by the primary key, which ${e} doesn't have`);await(0,u.updateEntity)(e,{[n]:void 0===o?null:o},{[e]:r.map((e=>e.data))})}else for(const e of r){const r=Object.assign({},e.data),i="function"==typeof o?o(e):o;void 0===i?delete r[n]:r[n]=i,await(0,y.writeJson)(`${t.path}/${e.fileName}`,r)}};e.alter=async(e,r)=>{if((0,c.requireNode)("alter"),"__RECORDS"===e)throw new Error("__RECORDS is reserved for the list of records");const i=[e,..."field"in r?[r.field?.name]:[],..."name"in r?[r.name]:[],..."to"in r?[r.to]:[]],a=i.findIndex((e=>"string"!=typeof e||!n.nameMatch.test(e)));if(-1!==a)throw new Error(`Invalid name ${JSON.stringify(i[a])??"undefined"} in alter: names use letters, digits, _ and - only`);const d=await(0,o.retrieveRecord)(e);switch(r.action){case"add":return(await(async(e,t,r)=>{if(t.definition.some((e=>e.name===r.name)))throw new Error(`Field "${r.name}" already exists on ${e}`);const n={...t,definition:[...t.definition,r]},o=await h(t);for(const t of o.filter((e=>w(e.data,r.name))))try{(0,f.typeCheck)(r.type,t.data[r.name],r.nullable)}catch(n){throw new Error(`Can't add "${r.name}" to ${e}: row ${t.fileName} already holds a value for it that doesn't fit (${n.message})`)}const i=o.filter((e=>!w(e.data,r.name))),a=w(r,"default");if(i.length&&!r.optional&&!a&&!r.autoGenerate)throw new Error(`Can't add required field "${r.name}" to ${e}: its ${i.length} row(s) have no value for it (give it a default, or make it optional)`);return await g(e,n),r.autoGenerate?await b(e,n,i,r.name,(()=>crypto.randomUUID())):a&&await b(e,n,i,r.name,r.default),n})(e,d,(0,t.field)(r.field))).definition;case"drop":return(await(async(e,t,r)=>{(0,s.assertFieldsDefined)(e,t,[r],"alter");const n=m(t,r)[0];if(n)throw new Error(`Can't drop "${r}" from ${e}: its ${(e=>`${e.type} key (${e.fields.join(", ")})`)(n)} uses it`);const o=(await v(e,r))[0];if(o)throw new Error(`Can't drop "${r}" from ${e}: ${o.entity}'s foreign key "${o.key.fields[0]}" references it`);const i={...t,definition:t.definition.filter((e=>e.name!==r))};return await g(e,i),await b(e,i,(await h(t)).filter((e=>w(e.data,r))),r,void 0),i})(e,d,r.name)).definition;case"rename":return(await(async(e,t,r,o)=>{if((0,s.assertFieldsDefined)(e,t,[r],"alter"),t.definition.some((e=>e.name===o)))throw new Error(`Can't rename "${r}" on ${e} to "${o}": a field of that name already exists`);const i=await v(e,r),a=t.keys.map((e=>{if(!e.fields.includes(r))return e;const t=e.fields.map((e=>e===r?o:e)),i=e.lookup&&e.lookup===(0,n.keyLookup)(e.type,e.fields)?(0,n.keyLookup)(e.type,t):e.lookup;return{...e,fields:t,lookup:i}})),c=t=>"foreign"!==t.type?t:{...t,references:(t.references||[]).map((t=>({...t,fields:t.fields.map((t=>t===`${e}.${r}`?`${e}.${o}`:t))})))},d={...t,definition:t.definition.map((e=>e.name===r?{...e,name:o}:e)),keys:a.map(c)};for(const[e,r]of t.keys.entries()){const n=a[e].lookup;r.lookup&&n!==r.lookup&&(0,y.fileExists)(`__indexes/${t.path}/${r.lookup}`)&&(await(0,y.writeJson)(`__indexes/${t.path}/${n}`,await(0,y.readJson)(`__indexes/${t.path}/${r.lookup}`)),await(0,y.removeFile)(`__indexes/${t.path}/${r.lookup}`))}await g(e,d);for(const t of i.filter((t=>t.entity!==e)))await(0,y.writeJson)(`${t.entity}.json`,{...t.record,keys:t.record.keys.map(c)});const u=(await h(t)).filter((e=>w(e.data,r)));u.length&&await(0,l.discardPacked)(t.path);for(const e of u){const n=Object.assign({},e.data);n[o]=n[r],delete n[r],await(0,y.writeJson)(`${t.path}/${e.fileName}`,n)}return d})(e,d,r.name,r.to)).definition;case"modify":return(await(async(e,t,r)=>{(0,s.assertFieldsDefined)(e,t,[r.name],"alter");const n=t.definition.find((e=>e.name===r.name));if(n.type!==r.type)throw new Error(`Can't change the type of "${r.name}" on ${e} (${n.type} to ${r.type}): only optional, null and default can change`);if(Boolean(n.autoGenerate)!==Boolean(r.autoGenerate))throw new Error(`Can't change whether "${r.name}" on ${e} is auto: only optional, null and default can change`);const o={...t,definition:t.definition.map((e=>e.name===r.name?r:e))},i=await h(t),a=w(r,"default"),l=r.nullable?[]:i.filter((e=>null===e.data[r.name])),c=r.optional?[]:i.filter((e=>!w(e.data,r.name))),d=r.optional?[]:l;if((c.length||d.length)&&!a)throw c.length?new Error(`Can't make "${r.name}" required on ${e}: ${c.length} row(s) have no value for it (give it a default to fill them in)`):new Error(`Can't make "${r.name}" not null on ${e}: ${d.length} row(s) hold null (give it a default to fill them in, or make it optional)`);return await g(e,o),a&&await b(e,o,[...c,...d],r.name,r.default),r.optional&&l.length&&await b(e,o,l,r.name,void 0),o})(e,d,(0,t.field)(r.field))).definition;default:throw new Error(`Unknown alter action: ${r.action}`)}}}}),vr=d({"dist/data/utilities/databaseLock.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.withDatabaseLock=e.browserCallsRunning=void 0;var t,r=function(e,r){if(!r&&e&&e.__esModule)return e;var n,o,i=Object.defineProperty,a={__proto__:null,default:e};if(Object(e)!==e)return a;if(t||"function"!=typeof WeakMap||(t=new WeakMap),t){if(t.has(e))return t.get(e);t.set(e,a)}for(o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((n=i&&Object.getOwnPropertyDescriptor(e,o))&&(n.get||n.set)?i(a,o,n):a[o]=e[o]);return a}(ft()),n=yt(),o=St();var i=new Map,a=0;e.browserCallsRunning=()=>a;e.withDatabaseLock=async e=>{if(!r.isNode){a++;try{return await(0,o.withReadCache)(e)}finally{a--}}const t=(0,n.resolveDatabasePath)((0,n.lockPath)()),s=(0,n.trackDatabaseCall)(),l=i.get(t)||Promise.resolve();let c;const d=new Promise((e=>{c=e})),u=l.then((()=>d));i.set(t,u),await l;try{return await(0,o.withReadCache)(e)}finally{s(),c(),i.get(t)===u&&i.delete(t)}}}}),gr=d({"dist/data/queries/databaseStatements.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.useDatabase=e.showDatabases=e.dropDatabase=e.createDatabase=void 0,Qe();var t,r=function(e,r){if(!r&&e&&e.__esModule)return e;var n,o,i=Object.defineProperty,a={__proto__:null,default:e};if(Object(e)!==e)return a;if(t||"function"!=typeof WeakMap||(t=new WeakMap),t){if(t.has(e))return t.get(e);t.set(e,a)}for(o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((n=i&&Object.getOwnPropertyDescriptor(e,o))&&(n.get||n.set)?i(a,o,n):a[o]=e[o]);return a}(ft()),n=yt(),o=cr(),i=vr(),a=St();var s=async e=>(await(0,a.readDatabaseList)()).includes(e)||r.isNode&&(0,a.databaseFolderExists)(e);e.createDatabase=async(e,t=!1)=>{(0,o.requireNode)('"create database"');const r=await(0,a.readDatabaseList)();if(r.includes(e)||(0,a.databaseFolderExists)(e)){if(!t)throw new Error(r.includes(e)?`Database "${e}" already exists`:`Database "${e}" already exists as a folder that isn't listed: create database if not exists ${e} lists it`);return r.includes(e)||await(0,a.writeDatabaseList)([...r,e]),null}return await(0,a.writeDatabaseList)([...r,e]),await(0,a.makeDatabaseFolder)(e),e};e.dropDatabase=async(e,t=!1)=>{if((0,o.requireNode)('"drop database"'),!await s(e)){if(t)return null;throw new Error(`Database "${e}" doesn't exist`)}if((0,n.getSetting)("database",void 0)===e)throw new Error(`Can't drop the database in use ("${e}"): use another one first`);return await(0,a.writeDatabaseList)((await(0,a.readDatabaseList)()).filter((t=>t!==e))),await(0,a.removeDatabaseFolder)(e),e};e.useDatabase=async e=>{if(!r.isNode&&(0,i.browserCallsRunning)()>1)throw new Error(`Can't use "${e}" while other calls are running in this page: await them first, or pick the database with configure({ database }) between calls`);if(!await s(e))throw new Error(`Database "${e}" doesn't exist${r.isNode?"":" (or isn't listed in __DATABASES.json)"}`);return(0,n.switchDatabase)(e),e};e.showDatabases=async()=>(0,a.readDatabaseList)()}}),br=d({"dist/data/utilities/joinKey.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.joinKey=e.isKeyedType=void 0,Qe();var t=Ct();e.joinKey=(e,r)=>{if(null!=r)return(0,t.compareAs)(e,r)};e.isKeyedType=e=>t.comparableTypes.includes(e)}}),jr=d({"dist/data/utilities/rowLookup.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.groupRows=e.firstPositions=e.RowLookups=void 0;var t=br(),r=(e,r,n)=>{const o=new Map;for(const i of e){const e=(0,t.joinKey)(n,i[r]);if(void 0===e)continue;const a=o.get(e);a?a.push(i):o.set(e,[i])}return o};e.groupRows=r;var n=(e,r,n)=>{const o=new Map;return e.forEach(((e,i)=>{const a=(0,t.joinKey)(n,e[r]);void 0===a||o.has(a)||o.set(a,i)})),o};e.firstPositions=n;e.RowLookups=class{constructor(e){this.rows=e,this.groups=new Map,this.positions=new Map}groupsBy(e,t){const n=`${e}\0${t}`;return this.groups.has(n)||this.groups.set(n,r(this.rows,e,t)),this.groups.get(n)}positionsBy(e,t){const r=`${e}\0${t}`;return this.positions.has(r)||this.positions.set(r,n(this.rows,e,t)),this.positions.get(r)}}}}),_r=d({"dist/data/utilities/semiJoin.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.semiJoin=void 0;var t=Bt(),r=br(),n=jr();e.semiJoin=(e,o,i,a,s,l)=>{if("="===s&&(0,r.isKeyedType)(l)){if(o.lookups&&e.rows.length<o.rows.length){const t=o.lookups.positionsBy(a,l),n=[];return e.rows.forEach(((e,o)=>{const a=t.get((0,r.joinKey)(l,e[i]));void 0!==a&&n.push({row:e,position:a,index:o})})),n.sort(((e,t)=>e.position-t.position||e.index-t.index)).map((({row:e})=>e))}const t=e.lookups?e.lookups.groupsBy(i,l):(0,n.groupRows)(e.rows,i,l),s=[],c=new Set;for(const e of o.rows){const n=(0,r.joinKey)(l,e[a]);if(void 0===n||c.has(n))continue;c.add(n);const o=t.get(n);o&&s.push(...o)}return s}const c=[],d=new Set;for(const r of o.rows)for(const n of(0,t.where)(e.rows,{property:i,comparator:s,value:r[a],type:l}))d.has(n)||(d.add(n),c.push(n));return c}}}),$r=d({"dist/data/utilities/retrieveIndexes.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.retrieveIndexes=void 0;var t=Mt(),r=Rt(),n=Vt();e.retrieveIndexes=async(e="",o=[],i={})=>{Object.prototype.hasOwnProperty.call(i,e)||(i[e]=await(0,r.retrieveRecord)(e));const a={};for(const r of o)for(const o of i[e].keys)(0,n.isSingleFieldKey)(o,r)&&(a[r]=(i[e].entries||[]).length?await(0,t.retrieveFile)(`__indexes/${e}/${o.lookup}`):[]);return a}}}),Or=d({"dist/data/utilities/joinBases.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.joinBases=void 0;var t=tr(),r=Rt(),n=Lt(),o=$r(),i=br(),a=jr(),s=async(e,t,a,s,l)=>{const c=(await(0,o.retrieveIndexes)(e,[t],{}))[t];if(!c)return;const d=new Set(s.map((e=>(0,i.joinKey)(a,e[l]))).filter((e=>void 0!==e))),u=new Set;for(const e of c)d.has((0,i.joinKey)(a,e.value))&&e.record.forEach((e=>u.add(e)));const f=await(0,r.retrieveRecord)(e);return(0,n.retrieveEntryRows)(f,f.entries.filter((e=>u.has(e))))};e.joinBases=async(e,r,n,o,l)=>{const c=new Map,d=(e,t)=>c.set(e,{rows:t,lookups:new a.RowLookups(t)});d(e,n[e]),l&&d(r,n[r]);const u=async e=>(await(0,t.readEntity)(e,n))[e];for(const e of o){const t=[{name:e.entityA,property:e.propertyA,other:e.entityB,otherProperty:e.propertyB},{name:e.entityB,property:e.propertyB,other:e.entityA,otherProperty:e.propertyA}];for(const{name:r,property:n,other:o,otherProperty:a}of t){if(c.has(r))continue;d(r,("="===e.comparator&&e.typeA===e.typeB&&(0,i.isKeyedType)(e.typeA)&&c.has(o)?await s(r,n,e.typeA,c.get(o).rows,a):void 0)??await u(r))}}return c.has(r)||d(r,await u(r)),c}}}),kr=d({"dist/data/queries/joinEntity.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.joinEntity=void 0;var t=tr(),r=Rt(),n=zt(),o=Nt(),i=_r(),a=Or();e.joinEntity=async(e,s,l={},c=[],d=!1,u=!1)=>{if(d||(l=await(0,t.readEntity)(e,l)),!c.length)return l;const f=await(async e=>{const t=[];for(const{propertyA:i,comparator:a,propertyB:s}of e){const{entity:e,property:l}=(0,n.splitEntityProperty)(i),{entity:c,property:d}=(0,n.splitEntityProperty)(s);t.push({entityA:e,propertyA:l,typeA:(0,o.fieldType)(await(0,r.retrieveRecord)(e),l),comparator:a,entityB:c,propertyB:d,typeB:(0,o.fieldType)(await(0,r.retrieveRecord)(c),d)})}return t})(c);if(!l[e].length)return l;const p=await(0,a.joinBases)(e,s,l,f,u);for(const t of l[e]){const r=new Map(p);r.set(e,{rows:[t]});for(const e of f)r.set(e.entityA,{rows:(0,i.semiJoin)(r.get(e.entityA),r.get(e.entityB),e.propertyA,e.propertyB,e.comparator,e.typeA)}),r.set(e.entityB,{rows:(0,i.semiJoin)(r.get(e.entityB),r.get(e.entityA),e.propertyB,e.propertyA,e.comparator,e.typeB)});t[s]=r.get(s).rows.map((e=>structuredClone(e)))}return l}}}),Er=d({"dist/data/utilities/mergeJoin.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.mergeJoin=void 0;var t=tr(),r=zt(),n=Bt(),o=Rt(),i=Nt();e.mergeJoin=async(e="",a="",s={})=>{const{entity:l,property:c}=(0,r.splitEntityProperty)(e),{entity:d,property:u}=(0,r.splitEntityProperty)(a);s=await(0,t.readEntity)(l,s),s=await(0,t.readEntity)(d,s);const f=(0,i.fieldType)(await(0,o.retrieveRecord)(d),u);return s[l]=s[l].map((e=>{const t=(0,n.where)(s[d],{property:u,comparator:"=",value:e[c],type:f});if(!t.length)return e;const r=t[0];for(const t in r)t!==u&&(e[`${d}.${t}`]=r[t]);return e})),s}}}),xr=d({"dist/data/utilities/reconcileJoin.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.reconcileJoin=void 0,Le();e.reconcileJoin=(e,t,r,n,o)=>{const i=e[t][r];return Object.prototype.hasOwnProperty.call(i,n)&&Array.isArray(i[n])&&Array.isArray(e[n])&&i[n].forEach(((i,a)=>{if(!i||!Object.prototype.hasOwnProperty.call(i,o))return;const s=Object.keys(i),l=e[n].find((e=>s.every((t=>{return r=e[t],n=i[t],r===n||JSON.stringify(r)===JSON.stringify(n);var r,n}))));l&&(e[t][r][n][a]=l)})),e}}}),Pr=d({"dist/data/utilities/reconcileJoins.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.reconcileJoins=void 0;var t=zt(),r=xr();e.reconcileJoins=(e,n,o)=>{const{entity:i,property:a}=(0,t.splitEntityProperty)(e),{entity:s,property:l}=(0,t.splitEntityProperty)(n);for(const e in o)for(const t in o[e])o=(0,r.reconcileJoin)(o,e,t,i,a),o=(0,r.reconcileJoin)(o,e,t,s,l);return o}}}),Sr=d({"dist/data/queries/mergeJoins.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.mergeJoins=void 0;var t=Er(),r=Pr();e.mergeJoins=async(e={},n=[])=>{if(!n.length)return e;for(const o of n)e=await(0,t.mergeJoin)(o.propertyA,o.propertyB,e),e=(0,r.reconcileJoins)(o.propertyA,o.propertyB,e);return e}}}),Mr=d({"dist/data/queries/sortBy.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.sortBy=void 0;var t=Ct(),r=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)?null===e[t]?1:2:0;e.sortBy=(e=[],n=[])=>n.length?(e.sort(((e,o)=>{for(const i of n){const n=i.property,a=i.direction,s=r(e,n),l=r(o,n);if(s!==l)return"asc"===a?s-l:l-s;const c=(0,t.compareAs)(i.type,e[n]),d=(0,t.compareAs)(i.type,o[n]);if(c==d)continue;const u=c<d?-1:1;return"asc"===a?u:-1*u}return 0})),e):e}}),Dr=d({"dist/data/queries/groupBy.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.groupBy=void 0,Le();var t=e=>Array.isArray(e)?e.map(t):null!==e&&"object"==typeof e?Object.keys(e).sort().reduce(((r,n)=>(r[n]=t(e[n]),r)),{}):e,r=(e,r)=>{if(!Object.prototype.hasOwnProperty.call(e,r))return"missing";const n=e[r];return null!==n&&"object"==typeof n?`json:${JSON.stringify(t(n))}`:`${typeof n}:${String(n)}`},n=(e=[],t=[])=>{if(!t.length)return e;const[o,...i]=t,a=new Map;for(const t of e){const e=r(t,o);a.has(e)||a.set(e,"missing"===e?{field:o,missing:!0,rows:[]}:{field:o,value:t[o],rows:[]}),a.get(e).rows.push(t)}return[...a.values()].map((({rows:e,...t})=>i.length?{...t,groups:n(e,i)}:{...t,rows:e}))};e.groupBy=n}}),Rr=d({"dist/data/queries/limitOffset.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.limitOffset=void 0;e.limitOffset=(e=[],t,r)=>{if(void 0===t&&void 0===r)return e;const n=t??0,o="number"==typeof r?n+r:void 0;return e.slice(n,o)}}}),Cr=d({"dist/data/queries/selectFields.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.selectFields=void 0;var t=(e,t,r)=>t.reduce(((t,{property:n,alias:o})=>(t[o||n]=((e,t,r)=>Object.prototype.hasOwnProperty.call(e,t)||void 0===r||!t.startsWith(`${r}.`)?e[t]:e[t.slice(r.length+1)])(e,n,r),t)),{}),r=(e,n,o)=>e.groups?{...e,groups:e.groups.map((e=>r(e,n,o)))}:{...e,rows:e.rows.map((e=>t(e,n,o)))};e.selectFields=(e=[],n=[],o=!1,i)=>n.length?o?e.map((e=>r(e,n,i))):e.map((e=>t(e,n,i))):e}}),Fr=d({"dist/data/utilities/getConditionIndexedList.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.getConditionIndexedList=void 0;var t=Yt(),r=zt(),n=Rt(),o=Bt(),i=Lt(),a=Mt(),s=$r(),l=Vt(),c=Ge(),d=(e,n)=>(0,t.isEntityProperty)(e.property)?(0,r.splitEntityProperty)(e.property):{entity:n,property:e.property},u=async(e,t,r,i,a)=>{if(Object.prototype.hasOwnProperty.call(i,e)||(i[e]=await(0,n.retrieveRecord)(e)),i[e].keys.some((e=>(0,l.isSingleFieldKey)(e,t))))return a[e]=a[e]||{},Object.prototype.hasOwnProperty.call(a[e],t)||(a[e][t]=(await(0,s.retrieveIndexes)(e,[t],i))[t]),new Set((0,o.where)(a[e][t],{property:"value",comparator:r.comparator,value:r.value,type:r.type}).flatMap((e=>e.record)))},f=async(e,t,r,n)=>{if((0,c.isCondition)(e)){const{entity:o,property:i}=d(e,t);return o===t?await u(o,i,e,r,n):void 0}if("not"in e)return;if("or"in e){const o=new Set;for(const i of e.or){const e=await f(i,t,r,n);if(void 0===e)return;e.forEach((e=>o.add(e)))}return o}let o;for(const i of e.and){const e=await f(i,t,r,n);void 0!==e&&(o=void 0===o?e:new Set([...o].filter((t=>e.has(t)))))}return o};e.getConditionIndexedList=async(e,t,r,o=new Set)=>{const s={},l={};if(void 0!==e.where){const r=await f(e.where,e.entity,t,l);void 0!==r&&(s[e.entity]=r)}for(const r of(0,c.requiredConditions)(e.where)){const{entity:n,property:o}=d(r,e.entity);if(n===e.entity)continue;const i=await u(n,o,r,t,l);void 0!==i&&(s[n]=Object.prototype.hasOwnProperty.call(s,n)?new Set([...s[n]].filter((e=>i.has(e)))):i)}for(const e of Object.keys(s)){o.add(e);const l=t[e]||await(0,n.retrieveRecord)(e);r[e]=await(0,i.retrieveEntryRows)(l,[...s[e]],a.retrieveFile)}return e}}}),Ar=d({"dist/data/utilities/conditionEntities.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.conditionEntities=void 0;var t=Yt(),r=zt(),n=Ge();e.conditionEntities=e=>{const o=e.entity,i=e.joinClauses.length?e.joinEntity:void 0,a=new Set([o,i]),s=new Set(e.mergeJoins.filter((e=>a.has((0,r.splitEntityProperty)(e.propertyA).entity))).map((e=>(0,r.splitEntityProperty)(e.propertyB).entity))),l=new Set(e.joinClauses.flatMap((e=>[e.propertyA,e.propertyB].map((e=>(0,r.splitEntityProperty)(e).entity)))).filter((e=>!a.has(e)&&!s.has(e)))),c="update"===e.command||"delete"===e.command;let d=!1;for(const a of(0,n.conditionsOf)(e.where)){if(!(0,t.isEntityProperty)(a.property))continue;const{entity:n,property:u}=(0,r.splitEntityProperty)(a.property);if(n===o){a.property=u;continue}if(c)throw new Error(`${e.command} can only use conditions on ${o}'s own fields, not ${a.property}`);if(n===i){d=!0;continue}if(s.has(n))continue;if(l.has(n))throw new Error(`${n} only links ${o} to ${i}: a condition can't use its fields (${a.property})`);const f=[o,i,...s].filter((e=>void 0!==e)).join(", ");throw new Error(`${n} is not part of this query (${a.property}): conditions can use the fields of ${f}`)}return d}}}),Nr=d({"dist/data/utilities/runQuery.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.runQuery=void 0,Qe();var t=Ut(),r=er(),n=tr(),o=nr(),i=ur(),a=yr(),s=hr(),l=mr(),c=gr(),d=wr(),u=kr(),f=Sr(),y=Bt(),h=Mr(),w=Dr(),m=Rr(),v=Cr(),g=Rt(),b=Fr(),j=Yt(),_=zt(),$=Nt(),O=Ge(),k=Ar(),E=cr(),x=Zt();e.runQuery=async e=>{const p=void 0!==e.where&&(0,k.conditionEntities)(e);switch(["insert","update","delete","create","drop","alter"].includes(e.command)&&(0,E.requireNode)(`"${e.command}"`),e.command){case"create":return{[e.entity]:await(0,i.createRecord)(e.entity,e.create)};case"drop":return{[e.entity]:await(0,a.dropRecord)(e.entity,e.ifExists)};case"describe":return{[e.entity]:await(0,s.describeRecord)(e.entity)};case"alter":return{[e.entity]:await(0,l.alter)(e.entity,e.alter)};case"create database":return{[e.entity]:await(0,c.createDatabase)(e.entity,e.ifNotExists)};case"drop database":return{[e.entity]:await(0,c.dropDatabase)(e.entity,e.ifExists)};case"use":return{[e.entity]:await(0,c.useDatabase)(e.entity)};case"show databases":return{[e.entity]:await(0,c.showDatabases)()};case"show":return{[e.entity]:await(0,d.showRecords)()}}const P={[e.entity]:await(0,g.retrieveRecord)(e.entity)};void 0!==e.joinEntity&&(P[e.joinEntity]=await(0,g.retrieveRecord)(e.joinEntity)),await(0,x.assertKnownFields)(e,P),await(async(e,t)=>{for(const r of[...(0,O.conditionsOf)(e.where),...e.sortClauses]){let n=e.entity,o=r.property;(0,j.isEntityProperty)(o)&&({entity:n,property:o}=(0,_.splitEntityProperty)(o)),Object.prototype.hasOwnProperty.call(t,n)||(t[n]=await(0,g.retrieveRecord)(n)),r.type=(0,$.fieldType)(t[n],o)}})(e,P);let S={[e.entity]:[]};const M=new Set;e=await(0,b.getConditionIndexedList)(e,P,S,M);const D=M.has(e.entity);switch("delete"!==e.command&&"update"!==e.command||(D||(S=await(0,n.readEntity)(e.entity,S)),S[e.entity]=(0,y.whereTree)(S[e.entity],e.where)),e.command){case"delete":S=await(0,t.deleteEntity)(e.entity,S);break;case"insert":S=await(0,r.insertEntity)(e.entity,e.insertValues,S);break;case"read":D||(S=await(0,n.readEntity)(e.entity,S));break;case"update":S=await(0,o.updateEntity)(e.entity,e.updateValues,S);break;default:throw new Error(`Unknown command: ${e.command}`)}return S=await(0,u.joinEntity)(e.entity,e.joinEntity,S,e.joinClauses,D,M.has(e.joinEntity)),S=await(0,f.mergeJoins)(S,e.mergeJoins),"delete"!==e.command&&"update"!==e.command&&(S[e.entity]=(0,y.whereTree)(S[e.entity],e.where,p?e.joinEntity:void 0)),S[e.entity]=(0,h.sortBy)(S[e.entity],e.sortClauses),S[e.entity]=(0,w.groupBy)(S[e.entity],e.groupBy),S[e.entity]=(0,m.limitOffset)(S[e.entity],e.offset,e.limit),S[e.entity]=(0,v.selectFields)(S[e.entity],e.selectClauses,Boolean(e.groupBy?.length),e.entity),S}}}),Jr=d({"dist/data/queries/query.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.query=void 0;var t=ut(),r=Nr(),n=vr(),o=St();e.query=async(e="")=>{const i=(0,t.parser)(e);return(0,n.withDatabaseLock)((async()=>{const e=[];for(const t of i){const n=await(0,o.withWriteSet)((()=>(0,r.runQuery)(t)));e.push(n[t.entity])}return e}))}}}),Tr=d({"dist/data/queries/quote.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.quote=void 0;e.quote=(e,t="'")=>`${t}${String(e).replace(/\\/g,"\\\\").split(t).join(`\\${t}`)}${t}`}}),qr=d({"dist/data/queries/queryStatus.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.queryStatus=void 0;var t=y();e.queryStatus=(e="")=>{const{end:r,closed:n,terminated:o}=(0,t.scanQuery)(e);return o?{complete:!0,waitingFor:""}:r.quote?{complete:!1,waitingFor:r.quote}:r.blockComment?{complete:!1,waitingFor:"/*"}:n?{complete:!1,waitingFor:";"}:{complete:!1,waitingFor:r.brackets[r.brackets.length-1]}}}}),Lr=d({"dist/data/introspect/formatDatabase.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.formatDatabase=void 0;var t=St(),r=yt(),n=cr();e.formatDatabase=async(e=(0,r.getSetting)("format","compact"))=>{if((0,n.requireNode)("formatDatabase"),"compact"!==e&&"pretty"!==e)throw new Error(`Unknown format "${e}": use 'compact' or 'pretty'`);const o=(await(0,t.listFiles)()).filter((e=>e.endsWith(".json"))),i=[];for(const r of o){const n=await(0,t.readText)(r);let o;try{o=JSON.parse(n)}catch(e){throw new Error(`Could not format ${r}: ${e.message}`)}(0,t.jsonText)(o,e)!==n&&i.push({path:r,content:o})}for(const{path:r,content:n}of i)await(0,t.writeJson)(r,n,e);return{files:o.length,rewritten:i.length}}}}),Br=d({"dist/data/introspect/packDatabase.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.packDatabase=e.checkPacked=void 0,Le();var t=St(),r=Rt(),n=Tt(),o=Lt(),i=qt(),a=wr(),s=cr(),l=async e=>{const a=await(0,r.retrieveRecord)(e),s=a.entries||[],l=await(0,n.retrieveFiles)(s.map((e=>`${a.path}/${e}`)),o.retrieveEntry),c={entries:s,rows:l};return{path:(0,i.packedPath)(a.path),text:(0,t.jsonText)(c,"compact"),rows:s.length}},c=async e=>{const r=new Set(e.map((e=>(0,i.packedPath)(e))));return(await(0,t.listFiles)("__packed")).filter((e=>!r.has(e)))};e.packDatabase=async()=>{(0,s.requireNode)("packDatabase");const e=await(0,a.showRecords)();let r=0;for(const n of e){const e=await l(n);await(0,t.makeDirectory)(e.path.slice(0,e.path.lastIndexOf("/"))),await(0,t.writeJson)(e.path,JSON.parse(e.text),"compact"),r+=e.rows}for(const r of await c(e))await(0,t.removeFile)(r);return{records:e.length,rows:r}};e.checkPacked=async()=>{(0,s.requireNode)("checkPacked");const e=await(0,a.showRecords)(),r=[];for(const n of e){const e=await l(n),o=(0,t.fileExists)(e.path)?await(0,t.readText)(e.path).catch((()=>{})):void 0;void 0!==o&&JSON.stringify(JSON.parse(o))===e.text||r.push(n)}return{stale:r,orphaned:await c(e)}}}}),zr=d({"dist/data/introspect/index.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),e.packDatabase=e.formatDatabase=e.drop=e.describe=e.create=e.checkPacked=e.alter=void 0;var t=dr(),r=pr(),n=Jt(),o=Lr(),i=mr(),a=Br(),s=vr(),l=St();e.create=(...e)=>(0,s.withDatabaseLock)((()=>(0,l.withWriteSet)((()=>(0,t.create)(...e)))));e.drop=(...e)=>(0,s.withDatabaseLock)((()=>(0,l.withWriteSet)((()=>(0,r.drop)(...e)))));e.alter=(...e)=>(0,s.withDatabaseLock)((()=>(0,l.withWriteSet)((()=>(0,i.alter)(...e)))));e.describe=(...e)=>(0,s.withDatabaseLock)((()=>(0,n.describe)(...e)));e.formatDatabase=(...e)=>(0,s.withDatabaseLock)((()=>(0,l.withWriteSet)((()=>(0,o.formatDatabase)(...e)))));e.packDatabase=()=>(0,s.withDatabaseLock)((()=>(0,l.withWriteSet)((()=>(0,a.packDatabase)()))));e.checkPacked=()=>(0,s.withDatabaseLock)((()=>(0,a.checkPacked)()))}});return d({"dist/index.js"(e){p(),Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"alter",{enumerable:!0,get:function(){return o.alter}}),Object.defineProperty(e,"checkPacked",{enumerable:!0,get:function(){return o.checkPacked}}),Object.defineProperty(e,"configure",{enumerable:!0,get:function(){return i.configure}}),Object.defineProperty(e,"create",{enumerable:!0,get:function(){return o.create}}),Object.defineProperty(e,"describe",{enumerable:!0,get:function(){return o.describe}}),Object.defineProperty(e,"drop",{enumerable:!0,get:function(){return o.drop}}),Object.defineProperty(e,"formatDatabase",{enumerable:!0,get:function(){return o.formatDatabase}}),Object.defineProperty(e,"packDatabase",{enumerable:!0,get:function(){return o.packDatabase}}),Object.defineProperty(e,"query",{enumerable:!0,get:function(){return t.query}}),Object.defineProperty(e,"queryStatus",{enumerable:!0,get:function(){return n.queryStatus}}),Object.defineProperty(e,"quote",{enumerable:!0,get:function(){return r.quote}});var t=Jr(),r=Tr(),n=qr(),o=zr(),i=yt()}})()})();"object"==typeof module&&module&&module.exports&&(module.exports=jsonFsQuery);
|