solve-engine 2.38.12 → 2.38.14

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.
Files changed (83) hide show
  1. package/dist/{PackageCompatibility-BQqAi18x.d.cts → PackageCompatibility-ByCnkoxf.d.cts} +1 -1
  2. package/dist/{PackageCompatibility-7daIo3Hc.d.ts → PackageCompatibility-WzScL1Av.d.ts} +1 -1
  3. package/dist/{PackageRegistry-DcyhcuUP.d.ts → PackageRegistry-11ThI3Qg.d.ts} +36 -1
  4. package/dist/{PackageRegistry-CgmkZ9-l.d.cts → PackageRegistry-BN4zOado.d.cts} +36 -1
  5. package/dist/{VMBuiltins-CgXOvwMx.d.cts → VMBuiltins-5ATHQ045.d.cts} +224 -3
  6. package/dist/{VMBuiltins-nHNiqOnT.d.ts → VMBuiltins-BbNZtVJc.d.ts} +224 -3
  7. package/dist/{chunk-BKPNQTEU.js → chunk-4LMPCB2V.js} +3 -3
  8. package/dist/{chunk-BKPNQTEU.js.map → chunk-4LMPCB2V.js.map} +1 -1
  9. package/dist/{chunk-25ZZB2W6.cjs → chunk-54MEZ574.cjs} +2 -2
  10. package/dist/{chunk-25ZZB2W6.cjs.map → chunk-54MEZ574.cjs.map} +1 -1
  11. package/dist/{chunk-4RJUVBHL.js → chunk-5M4F7PCU.js} +2 -2
  12. package/dist/{chunk-4RJUVBHL.js.map → chunk-5M4F7PCU.js.map} +1 -1
  13. package/dist/{chunk-JVIUA2PL.cjs → chunk-6ADFAXTZ.cjs} +2 -2
  14. package/dist/chunk-6ADFAXTZ.cjs.map +1 -0
  15. package/dist/{chunk-JHHTGKHV.js → chunk-AFNK2LUO.js} +2 -2
  16. package/dist/chunk-AFNK2LUO.js.map +1 -0
  17. package/dist/chunk-CH6NLOVG.js +2 -0
  18. package/dist/chunk-CH6NLOVG.js.map +1 -0
  19. package/dist/{chunk-EIFT45H3.cjs → chunk-DTOSRC6E.cjs} +2 -2
  20. package/dist/{chunk-EIFT45H3.cjs.map → chunk-DTOSRC6E.cjs.map} +1 -1
  21. package/dist/{chunk-WTIMAWOG.js → chunk-IUCUBHFW.js} +2 -2
  22. package/dist/{chunk-WTIMAWOG.js.map → chunk-IUCUBHFW.js.map} +1 -1
  23. package/dist/{chunk-QZ437BWD.cjs → chunk-KVONXXPJ.cjs} +3 -3
  24. package/dist/{chunk-QZ437BWD.cjs.map → chunk-KVONXXPJ.cjs.map} +1 -1
  25. package/dist/{chunk-FTI34FPL.js → chunk-NGHH4QKV.js} +4 -4
  26. package/dist/chunk-NGHH4QKV.js.map +1 -0
  27. package/dist/chunk-OXZWX5WY.cjs +2 -0
  28. package/dist/chunk-OXZWX5WY.cjs.map +1 -0
  29. package/dist/{chunk-ZBXB3HDZ.cjs → chunk-U54BIYXO.cjs} +2 -2
  30. package/dist/{chunk-ZBXB3HDZ.cjs.map → chunk-U54BIYXO.cjs.map} +1 -1
  31. package/dist/chunk-UM5A6VXI.js +3 -0
  32. package/dist/chunk-UM5A6VXI.js.map +1 -0
  33. package/dist/{chunk-TJR3EQB4.cjs → chunk-V52TAWYV.cjs} +4 -4
  34. package/dist/chunk-V52TAWYV.cjs.map +1 -0
  35. package/dist/chunk-VR35R5MV.cjs +3 -0
  36. package/dist/chunk-VR35R5MV.cjs.map +1 -0
  37. package/dist/{chunk-QQOYU665.js → chunk-ZXNM355C.js} +2 -2
  38. package/dist/{chunk-QQOYU665.js.map → chunk-ZXNM355C.js.map} +1 -1
  39. package/dist/constants.cjs +1 -1
  40. package/dist/constants.js +1 -1
  41. package/dist/engine.cjs +1 -1
  42. package/dist/engine.d.cts +4 -4
  43. package/dist/engine.d.ts +4 -4
  44. package/dist/engine.js +1 -1
  45. package/dist/engine.worker.cjs +1 -1
  46. package/dist/engine.worker.js +1 -1
  47. package/dist/index.cjs +1 -1
  48. package/dist/index.cjs.map +1 -1
  49. package/dist/index.d.cts +4 -4
  50. package/dist/index.d.ts +4 -4
  51. package/dist/index.js +1 -1
  52. package/dist/index.js.map +1 -1
  53. package/dist/language.d.cts +3 -3
  54. package/dist/language.d.ts +3 -3
  55. package/dist/packages.cjs +1 -1
  56. package/dist/packages.d.cts +2 -2
  57. package/dist/packages.d.ts +2 -2
  58. package/dist/packages.js +1 -1
  59. package/dist/testing.cjs +2 -2
  60. package/dist/testing.d.cts +3 -3
  61. package/dist/testing.d.ts +3 -3
  62. package/dist/testing.js +1 -1
  63. package/dist/vm.cjs +1 -1
  64. package/dist/vm.cjs.map +1 -1
  65. package/dist/vm.d.cts +1 -2
  66. package/dist/vm.d.ts +1 -2
  67. package/dist/vm.js +1 -1
  68. package/dist/vm.js.map +1 -1
  69. package/dist/worker.cjs +2 -2
  70. package/dist/worker.d.cts +2 -2
  71. package/dist/worker.d.ts +2 -2
  72. package/dist/worker.js +1 -1
  73. package/package.json +1 -1
  74. package/dist/VMCheckpoints-Cj1lxo1z.d.ts +0 -176
  75. package/dist/VMCheckpoints-ZCTfca_Z.d.cts +0 -176
  76. package/dist/chunk-FTI34FPL.js.map +0 -1
  77. package/dist/chunk-FU7TW5GB.cjs +0 -3
  78. package/dist/chunk-FU7TW5GB.cjs.map +0 -1
  79. package/dist/chunk-JHHTGKHV.js.map +0 -1
  80. package/dist/chunk-JVIUA2PL.cjs.map +0 -1
  81. package/dist/chunk-TJR3EQB4.cjs.map +0 -1
  82. package/dist/chunk-ZGP35A6D.js +0 -3
  83. package/dist/chunk-ZGP35A6D.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ var p=class{constructor(n){this.checkpoints=[];this.vm=n;}snapshot(n,e,i){if(i.length===0)return null;let t=this.checkpoints.length;for(;t>0&&this.checkpoints[t-1].lineNumber>=n;)t--;t!==this.checkpoints.length&&(this.checkpoints.length=t);let r=t>0?this.checkpoints[t-1]:null,s=Object.create(null),o=Object.create(null);for(let c of i){if(this.vm.hasUserFunction(c)){let l=this.vm.getUserFunction(c);l&&(o[c]=l);continue}let u=this.vm.getVar(c);u!==void 0&&(s[c]=u);}let h={lineNumber:n,lineId:e,variables:s,functions:o,parent:r};return this.checkpoints.push(h),h}restoreTo(n){let e=this.getNearestCheckpoint(n);if(!e){this.vm.reset();return}let i=[],t=e;for(;t;)i.unshift(t),t=t.parent;this.vm.reset();for(let r of i){for(let s of Object.keys(r.variables))this.vm.setVar(s,r.variables[s]);for(let s of Object.keys(r.functions)){let o=r.functions[s];this.vm.defineUserFunction(o.name,o.params,o.program);}}}updateCheckpointAt(n,e){let i=this.getCheckpointAt(n);if(!i)return false;for(let t of e){if(this.vm.hasUserFunction(t)){let s=this.vm.getUserFunction(t);s&&(i.functions[t]=s);continue}let r=this.vm.getVar(t);r!==void 0&&(i.variables[t]=r);}return true}applyCheckpointAt(n){let e=this.getCheckpointAt(n);if(!e)return false;for(let i of Object.keys(e.variables))this.vm.setVar(i,e.variables[i]);for(let i of Object.keys(e.functions)){let t=e.functions[i];this.vm.defineUserFunction(t.name,t.params,t.program);}return true}getNearestCheckpoint(n){let e=null;for(let i of this.checkpoints)if(i.lineNumber<=n)e=i;else break;return e}getCheckpointAt(n){return this.checkpoints.find(e=>e.lineNumber===n)}getAllCheckpoints(){return this.checkpoints}lookupVariable(n){if(this.checkpoints.length===0)return;let e=this.checkpoints[this.checkpoints.length-1];for(;e;){if(Object.prototype.hasOwnProperty.call(e.variables,n))return e.variables[n];e=e.parent;}}clear(){this.checkpoints=[];}get count(){return this.checkpoints.length}get isEmpty(){return this.checkpoints.length===0}get vmInstance(){return this.vm}};export{p as a};//# sourceMappingURL=chunk-CH6NLOVG.js.map
2
+ //# sourceMappingURL=chunk-CH6NLOVG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/vm/VMCheckpoints.ts"],"names":["VMCheckpointer","vm","lineNumber","lineId","variableNames","keep","parent","variables","functions","name","fn","val","checkpoint","target","chain","current","cp","key","value","result"],"mappings":"AAuFO,IAAMA,CAAAA,CAAN,KAAqB,CAM3B,WAAA,CAAYC,EAAQ,CAJpB,IAAA,CAAQ,WAAA,CAA8B,EAAC,CAKtC,IAAA,CAAK,GAAKA,EACX,CAqBA,QAAA,CACCC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACsB,CACtB,GAAIA,CAAAA,CAAc,MAAA,GAAW,CAAA,CAAG,OAAO,IAAA,CAiBvC,IAAIC,CAAAA,CAAO,IAAA,CAAK,WAAA,CAAY,MAAA,CAC5B,KAAOA,CAAAA,CAAO,GAAK,IAAA,CAAK,WAAA,CAAYA,CAAAA,CAAO,CAAC,CAAA,CAAE,UAAA,EAAcH,GAAYG,CAAAA,EAAAA,CACpEA,CAAAA,GAAS,IAAA,CAAK,WAAA,CAAY,MAAA,GAAQ,IAAA,CAAK,YAAY,MAAA,CAASA,CAAAA,CAAAA,CAEhE,IAAMC,CAAAA,CAASD,CAAAA,CAAO,CAAA,CAAI,KAAK,WAAA,CAAYA,CAAAA,CAAO,CAAC,CAAA,CAAI,IAAA,CAgBjDE,CAAAA,CAAmC,OAAO,MAAA,CAAO,IAAI,CAAA,CACrDC,CAAAA,CAA6C,MAAA,CAAO,MAAA,CAAO,IAAI,CAAA,CAMrE,IAAA,IAAWC,CAAAA,IAAQL,CAAAA,CAAe,CACjC,GAAI,KAAK,EAAA,CAAG,eAAA,CAAgBK,CAAI,CAAA,CAAG,CAClC,IAAMC,EAAK,IAAA,CAAK,EAAA,CAAG,eAAA,CAAgBD,CAAI,CAAA,CACnCC,CAAAA,GAAIF,EAAUC,CAAI,CAAA,CAAIC,CAAAA,CAAAA,CAC1B,QACD,CACA,IAAMC,EAAM,IAAA,CAAK,EAAA,CAAG,MAAA,CAAOF,CAAI,CAAA,CAC3BE,CAAAA,GAAQ,SACXJ,CAAAA,CAAUE,CAAI,CAAA,CAAIE,CAAAA,EAEpB,CAEA,IAAMC,EAA2B,CAChC,UAAA,CAAAV,EACA,MAAA,CAAAC,CAAAA,CACA,UAAAI,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,MAAA,CAAAF,CACD,CAAA,CACA,YAAK,WAAA,CAAY,IAAA,CAAKM,CAAU,CAAA,CACzBA,CACR,CAqBA,UAAUV,CAAAA,CAA0B,CACnC,IAAMW,CAAAA,CAAS,IAAA,CAAK,oBAAA,CAAqBX,CAAU,CAAA,CACnD,GAAI,CAACW,CAAAA,CAAQ,CACZ,IAAA,CAAK,GAAG,KAAA,EAAM,CACd,MACD,CAIA,IAAMC,CAAAA,CAAwB,EAAC,CAC3BC,CAAAA,CAA+BF,CAAAA,CACnC,KAAOE,CAAAA,EACND,CAAAA,CAAM,QAAQC,CAAO,CAAA,CACrBA,CAAAA,CAAUA,CAAAA,CAAQ,MAAA,CAGnB,IAAA,CAAK,GAAG,KAAA,EAAM,CACd,IAAA,IAAWC,CAAAA,IAAMF,CAAAA,CAAO,CAGvB,QAAWG,CAAAA,IAAO,MAAA,CAAO,IAAA,CAAKD,CAAAA,CAAG,SAAS,CAAA,CACzC,KAAK,EAAA,CAAG,MAAA,CAAOC,CAAAA,CAAKD,CAAAA,CAAG,SAAA,CAAUC,CAAG,CAAC,CAAA,CAKtC,IAAA,IAAWA,CAAAA,IAAO,MAAA,CAAO,IAAA,CAAKD,CAAAA,CAAG,SAAS,CAAA,CAAG,CAC5C,IAAMN,CAAAA,CAAKM,CAAAA,CAAG,SAAA,CAAUC,CAAG,CAAA,CAC3B,IAAA,CAAK,EAAA,CAAG,kBAAA,CAAmBP,CAAAA,CAAG,IAAA,CAAMA,EAAG,MAAA,CAAQA,CAAAA,CAAG,OAAO,EAC1D,CACD,CACD,CAqBA,kBAAA,CAAmBR,CAAAA,CAAoBE,CAAAA,CAAkC,CACxE,IAAMQ,CAAAA,CAAa,KAAK,eAAA,CAAgBV,CAAU,EAClD,GAAI,CAACU,EAAY,OAAO,MAAA,CACxB,IAAA,IAAWH,CAAAA,IAAQL,CAAAA,CAAe,CACjC,GAAI,IAAA,CAAK,EAAA,CAAG,eAAA,CAAgBK,CAAI,CAAA,CAAG,CAClC,IAAMC,CAAAA,CAAK,IAAA,CAAK,EAAA,CAAG,eAAA,CAAgBD,CAAI,CAAA,CACnCC,IAAIE,CAAAA,CAAW,SAAA,CAAUH,CAAI,CAAA,CAAIC,CAAAA,CAAAA,CACrC,QACD,CACA,IAAMQ,CAAAA,CAAQ,IAAA,CAAK,EAAA,CAAG,MAAA,CAAOT,CAAI,EAC7BS,CAAAA,GAAU,MAAA,GAAWN,CAAAA,CAAW,SAAA,CAAUH,CAAI,CAAA,CAAIS,GACvD,CACA,OAAO,KACR,CAeA,iBAAA,CAAkBhB,CAAAA,CAA6B,CAC9C,IAAMU,CAAAA,CAAa,IAAA,CAAK,eAAA,CAAgBV,CAAU,CAAA,CAClD,GAAI,CAACU,CAAAA,CAAY,OAAO,MAAA,CACxB,IAAA,IAAWK,CAAAA,IAAO,OAAO,IAAA,CAAKL,CAAAA,CAAW,SAAS,CAAA,CACjD,IAAA,CAAK,EAAA,CAAG,OAAOK,CAAAA,CAAKL,CAAAA,CAAW,SAAA,CAAUK,CAAG,CAAC,CAAA,CAE9C,QAAWA,CAAAA,IAAO,MAAA,CAAO,IAAA,CAAKL,CAAAA,CAAW,SAAS,CAAA,CAAG,CACpD,IAAMF,CAAAA,CAAKE,CAAAA,CAAW,SAAA,CAAUK,CAAG,CAAA,CACnC,KAAK,EAAA,CAAG,kBAAA,CAAmBP,CAAAA,CAAG,IAAA,CAAMA,CAAAA,CAAG,MAAA,CAAQA,EAAG,OAAO,EAC1D,CACA,OAAO,KACR,CAaA,qBAAqBR,CAAAA,CAAyC,CAC7D,IAAIiB,CAAAA,CAA8B,IAAA,CAClC,QAAWH,CAAAA,IAAM,IAAA,CAAK,WAAA,CACrB,GAAIA,CAAAA,CAAG,UAAA,EAAcd,EACpBiB,CAAAA,CAASH,CAAAA,CAAAA,KAET,MAGF,OAAOG,CACR,CAMA,gBAAgBjB,CAAAA,CAA8C,CAC7D,OAAO,IAAA,CAAK,WAAA,CAAY,IAAA,CAAMc,GAAOA,CAAAA,CAAG,UAAA,GAAed,CAAU,CAClE,CAMA,iBAAA,EAA6C,CAC5C,OAAO,IAAA,CAAK,WACb,CAgBA,cAAA,CAAeO,CAAAA,CAAiC,CAC/C,GAAI,IAAA,CAAK,WAAA,CAAY,MAAA,GAAW,CAAA,CAAG,OAEnC,IAAIG,CAAAA,CAAkC,IAAA,CAAK,WAAA,CAAY,IAAA,CAAK,WAAA,CAAY,MAAA,CAAS,CAAC,CAAA,CAClF,KAAOA,CAAAA,EAAY,CAClB,GAAI,MAAA,CAAO,UAAU,cAAA,CAAe,IAAA,CAAKA,CAAAA,CAAW,SAAA,CAAWH,CAAI,CAAA,CAClE,OAAOG,CAAAA,CAAW,SAAA,CAAUH,CAAI,CAAA,CAEjCG,CAAAA,CAAaA,CAAAA,CAAW,OACzB,CAED,CAQA,KAAA,EAAc,CACb,IAAA,CAAK,WAAA,CAAc,GACpB,CAGA,IAAI,KAAA,EAAgB,CACnB,OAAO,KAAK,WAAA,CAAY,MACzB,CAGA,IAAI,OAAA,EAAmB,CACtB,OAAO,IAAA,CAAK,WAAA,CAAY,MAAA,GAAW,CACpC,CAGA,IAAI,YAAiB,CACpB,OAAO,IAAA,CAAK,EACb,CACD","file":"chunk-CH6NLOVG.js","sourcesContent":["import { Value } from \"@solve-js/vm/Value\";\nimport type { VM } from \"@solve-js/vm/OpRegistry\";\nimport type { UserFunctionDef } from \"@solve-js/parser/BytecodeBuilder\";\n\n// ── VMCheckpoint ────────────────────────────────────────────────────────\n\n/**\n * A point-in-time snapshot of VM variable state.\n *\n * Each checkpoint holds only the variables that CHANGED at its line, and\n * reaches the rest through its `parent` link. A lookup walks that chain until\n * it finds the name; a restore walks it from the root applying each link's own\n * bindings in turn, so a later line's value naturally overwrites an earlier\n * one's.\n *\n * ```text\n * Checkpoint 0 (root): {} // empty scope\n * Checkpoint 1 (:x=5): { x: 5 } parent → 0\n * Checkpoint 2 (:y=8): { y: 8 } parent → 1\n * Checkpoint 3 (:x=3): { x: 3 } parent → 2 // shadows x=5\n * ```\n *\n * To look up `x` at checkpoint 3: find own `x=3` → done.\n * To look up `y` at checkpoint 3: not own → walk parent to checkpoint 2 → `y=8`.\n * To look up `z` at checkpoint 3: not found anywhere → undefined.\n *\n * **Memory:** O(number of variable definitions) heap, independent of\n * document length. Typical Obsidian documents have < 100 variable defs,\n * so total checkpoint heap is < 10 KB.\n */\nexport interface VMCheckpoint {\n\t/** 1-based line number where this checkpoint was created. */\n\tlineNumber: number;\n\t/** Persistent line ID from DocumentModel. */\n\tlineId: number;\n\t/**\n\t * Variable name → Value at this checkpoint.\n\t * Only the variables set or updated at this line; the rest are reached\n\t * through {@link VMCheckpoint.parent}.\n\t */\n\tvariables: Record<string, Value>;\n\t/**\n\t * User-defined-function name → definition at this checkpoint. SEPARATE\n\t * from `variables` above (not prototypally chained the same way\n\t * `restoreTo()` replays every checkpoint in the chain in order, so a\n\t * later redefinition of the same function name naturally overwrites an\n\t * earlier one during replay, without needing its own prototype walk).\n\t *\n\t * Without this field, a function definition's checkpoint entry would be\n\t * SILENTLY LOST: `snapshot()` used to call `vm.getVar(name)` for every\n\t * written name, which returns `undefined` for a function name (function\n\t * defs live in `vm.userFunctions`, not the flat variable store), and a\n\t * `val !== undefined` guard silently skipped it. A scroll-triggered\n\t * `restoreTo()` would then reset the VM and replay only `variables`,\n\t * making a function defined above the new viewport vanish (calling it\n\t * would throw `UNDEFINED_FUNCTION`) even though the document still\n\t * shows its definition line as clean/cached.\n\t */\n\tfunctions: Record<string, UserFunctionDef>;\n\t/** Parent checkpoint (closer to document start), or null for root. */\n\tparent: VMCheckpoint | null;\n}\n\n// ── VMCheckpointer ──────────────────────────────────────────────────────\n\n/**\n * Manages VM state checkpoints for the three-tier evaluation strategy.\n *\n * **Checkpoint creation:** After a variable-definition line executes\n * (Tier 1 or Tier 3), `snapshot()` records the current values of the\n * written variables. The checkpoint is linked via prototypal inheritance\n * to the previous checkpoint, so only changed variables consume memory.\n *\n * **Checkpoint restoration:** Before evaluating a viewport whose start line\n * is not line 1, `restoreTo(lineNumber)` resets the VM and replays all\n * variable definitions up to and including that line. This avoids\n * re-evaluating the entire document from line 1 on every scroll.\n *\n * **Thread safety:** Checkpoints are created synchronously on the main\n * thread during evaluation. They are immutable after creation (Value is\n * an immutable type), so no synchronization is needed.\n *\n * **Integration with Phase 5.2e:** `setViewport()` will use `getNearestCheckpoint()`\n * to find the checkpoint just before the new viewport start, then call\n * `restoreTo()` to set up the VM before evaluating only the visible lines.\n * This is the key to O(visible lines) scrolling instead of O(document).\n */\nexport class VMCheckpointer {\n\t/** Ordered array of checkpoints (ascending lineNumber). */\n\tprivate checkpoints: VMCheckpoint[] = [];\n\t/** The VM instance whose variables are snapshotted/restored. */\n\tprivate vm: VM;\n\n\tconstructor(vm: VM) {\n\t\tthis.vm = vm;\n\t}\n\n\t// ── Snapshot ─────────────────────────────────────────────────────\n\n\t/**\n\t * Create a checkpoint at the current line, recording the VM values of\n\t * the specified variables.\n\t *\n\t * Records only what this line wrote; the rest is reached through the\n\t * parent link rather than copied.\n\t *\n\t * A line that is snapshotted again drops every checkpoint at or after it\n\t * first, so the list stays in document order and the new checkpoint\n\t * inherits from the line before it rather than from one after it. See the\n\t * body for what went wrong without that.\n\t *\n\t * @param lineNumber 1-based line position.\n\t * @param lineId Persistent line ID from DocumentModel.\n\t * @param variableNames Names of variables that were written at this line.\n\t * @returns The new checkpoint, or null if no variable names provided.\n\t */\n\tsnapshot(\n\t\tlineNumber: number,\n\t\tlineId: number,\n\t\tvariableNames: string[]\n\t): VMCheckpoint | null {\n\t\tif (variableNames.length === 0) return null;\n\n\t\t// Everything at or after this line goes before the new checkpoint is\n\t\t// taken.\n\t\t//\n\t\t// The list is a sequence of document positions and `restoreTo` reads it\n\t\t// as one, so appending on a re-run broke both halves of that. Editing\n\t\t// line 2 of a document whose lines 1, 2 and 3 each define something\n\t\t// left the list as [1, 2, 3, 2]: `getNearestCheckpoint(2)` stops at the\n\t\t// first entry past its target, so it found the stale line 2 and\n\t\t// restored the old value, and the new line 2 inherited from line 3, a\n\t\t// chain running backwards through the document that would have defined\n\t\t// a variable from a line that had not run yet.\n\t\t//\n\t\t// Nothing is lost by dropping them. A pass runs in document order and\n\t\t// every line that writes takes a checkpoint, so the ones removed here\n\t\t// are re-taken by this same pass as it continues past this line.\n\t\tlet keep = this.checkpoints.length;\n\t\twhile (keep > 0 && this.checkpoints[keep - 1].lineNumber >= lineNumber) keep--;\n\t\tif (keep !== this.checkpoints.length) this.checkpoints.length = keep;\n\n\t\tconst parent = keep > 0 ? this.checkpoints[keep - 1] : null;\n\n\t\t// Each checkpoint holds only what its line wrote, and reaches the rest\n\t\t// through `parent`. It used to reach it through the prototype chain\n\t\t// instead, which held the same entries and cost the same memory, and\n\t\t// made the chain as deep as the document has definitions: a null\n\t\t// prototype is a flat object, and one per definition is a chain two\n\t\t// thousand deep on a document of two thousand definitions. Creating and\n\t\t// reading those took a pass over such a document from 6.0 ms to 23.1 ms.\n\t\t//\n\t\t// Nothing needed the inheritance. `restoreTo` walks `parent` and applies\n\t\t// each checkpoint's OWN keys, which is the same set either way, and the\n\t\t// one reader that did walk the prototype now walks `parent` too.\n\t\t//\n\t\t// Null-prototyped rather than `{}`, so a variable named `constructor` or\n\t\t// `toString` is a key like any other.\n\t\tconst variables: Record<string, Value> = Object.create(null) as Record<string, Value>;\n\t\tconst functions: Record<string, UserFunctionDef> = Object.create(null) as Record<string, UserFunctionDef>;\n\n\t\t// Record current VM values for the written names, routing each into\n\t\t// the right bag (a name is either a variable or a user-defined\n\t\t// function, never both; see VMCheckpoint.functions's doc comment for\n\t\t// why this dispatch is required, not optional).\n\t\tfor (const name of variableNames) {\n\t\t\tif (this.vm.hasUserFunction(name)) {\n\t\t\t\tconst fn = this.vm.getUserFunction(name);\n\t\t\t\tif (fn) functions[name] = fn;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst val = this.vm.getVar(name);\n\t\t\tif (val !== undefined) {\n\t\t\t\tvariables[name] = val;\n\t\t\t}\n\t\t}\n\n\t\tconst checkpoint: VMCheckpoint = {\n\t\t\tlineNumber,\n\t\t\tlineId,\n\t\t\tvariables,\n\t\t\tfunctions,\n\t\t\tparent,\n\t\t};\n\t\tthis.checkpoints.push(checkpoint);\n\t\treturn checkpoint;\n\t}\n\n\t// ── Restore ──────────────────────────────────────────────────────\n\n\t/**\n\t * Restore the VM to the state at or just after the given line number.\n\t *\n\t * Finds the nearest checkpoint whose `lineNumber <= targetLineNumber`,\n\t * then replays all variable definitions from root → that checkpoint\n\t * into the VM via `setVar()`. The VM's stack is also reset.\n\t *\n\t * If no checkpoint exists at or before the target line, the VM is\n\t * fully reset (empty scope, empty stack).\n\t *\n\t * **Performance:** O(total variable definitions before the line), since\n\t * each checkpoint in the chain contributes only the names its own line\n\t * wrote.\n\t *\n\t * @param lineNumber Target 1-based line number. The VM will have the\n\t * state that existed AFTER evaluating lines up to `lineNumber`.\n\t */\n\trestoreTo(lineNumber: number): void {\n\t\tconst target = this.getNearestCheckpoint(lineNumber);\n\t\tif (!target) {\n\t\t\tthis.vm.reset();\n\t\t\treturn;\n\t\t}\n\n\t\t// Collect the checkpoint chain from root to target.\n\t\t// Walk parent links and reverse so root is first.\n\t\tconst chain: VMCheckpoint[] = [];\n\t\tlet current: VMCheckpoint | null = target;\n\t\twhile (current) {\n\t\t\tchain.unshift(current);\n\t\t\tcurrent = current.parent;\n\t\t}\n\n\t\tthis.vm.reset();\n\t\tfor (const cp of chain) {\n\t\t\t// Only the names this checkpoint's own line wrote; the ones before\n\t\t\t// it are applied by their own links earlier in this same walk.\n\t\t\tfor (const key of Object.keys(cp.variables)) {\n\t\t\t\tthis.vm.setVar(key, cp.variables[key]);\n\t\t\t}\n\t\t\t// Replay function definitions the same way, a later checkpoint's\n\t\t\t// redefinition of the same name naturally overwrites an earlier\n\t\t\t// one since the chain replays in root-to-target order.\n\t\t\tfor (const key of Object.keys(cp.functions)) {\n\t\t\t\tconst fn = cp.functions[key];\n\t\t\t\tthis.vm.defineUserFunction(fn.name, fn.params, fn.program);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Record what `lineNumber` has just written, without disturbing the chain\n\t * after it.\n\t *\n\t * {@link snapshot} drops every checkpoint at or after the line, which is\n\t * right for a pass running forward in document order: it re-takes them as it\n\t * goes. A caller re-running a few lines out of a document does not, and\n\t * dropping the entries for lines it will never visit would lose the very\n\t * bindings it is sweeping through them to collect. So this overwrites in\n\t * place instead.\n\t *\n\t * Safe against the prototype chain, because it replaces only the\n\t * checkpoint's OWN bindings: a later checkpoint that also writes the name\n\t * holds its own copy and goes on shadowing this one.\n\t *\n\t * @param lineNumber 1-based line whose recorded bindings are refreshed.\n\t * @param variableNames The names it wrote.\n\t * @returns Whether a checkpoint existed at that line to update.\n\t */\n\tupdateCheckpointAt(lineNumber: number, variableNames: string[]): boolean {\n\t\tconst checkpoint = this.getCheckpointAt(lineNumber);\n\t\tif (!checkpoint) return false;\n\t\tfor (const name of variableNames) {\n\t\t\tif (this.vm.hasUserFunction(name)) {\n\t\t\t\tconst fn = this.vm.getUserFunction(name);\n\t\t\t\tif (fn) checkpoint.functions[name] = fn;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst value = this.vm.getVar(name);\n\t\t\tif (value !== undefined) checkpoint.variables[name] = value;\n\t\t}\n\t\treturn true;\n\t}\n\n\t/**\n\t * Apply the bindings recorded AT `lineNumber`, leaving the rest of the VM\n\t * alone.\n\t *\n\t * {@link restoreTo} rebuilds the whole prefix, which costs the chain every\n\t * time it is called. A caller moving forward through the document already\n\t * holds the prefix up to the line before, and needs only what this line\n\t * added: restoring once and then applying each line in turn as it is passed\n\t * costs the chain once rather than once per line.\n\t *\n\t * @param lineNumber 1-based line whose own bindings are applied.\n\t * @returns Whether a checkpoint existed at that line.\n\t */\n\tapplyCheckpointAt(lineNumber: number): boolean {\n\t\tconst checkpoint = this.getCheckpointAt(lineNumber);\n\t\tif (!checkpoint) return false;\n\t\tfor (const key of Object.keys(checkpoint.variables)) {\n\t\t\tthis.vm.setVar(key, checkpoint.variables[key]);\n\t\t}\n\t\tfor (const key of Object.keys(checkpoint.functions)) {\n\t\t\tconst fn = checkpoint.functions[key];\n\t\t\tthis.vm.defineUserFunction(fn.name, fn.params, fn.program);\n\t\t}\n\t\treturn true;\n\t}\n\n\t// ── Queries ──────────────────────────────────────────────────────\n\n\t/**\n\t * Find the nearest checkpoint at or before the given line number.\n\t *\n\t * Uses linear scan (checkpoints are sorted by lineNumber and the list\n\t * is short, typically < 20 for Obsidian documents). Can be upgraded\n\t * to binary search if needed for documents with 1000+ variable defs.\n\t *\n\t * @returns The nearest checkpoint, or null if none exists before the line.\n\t */\n\tgetNearestCheckpoint(lineNumber: number): VMCheckpoint | null {\n\t\tlet result: VMCheckpoint | null = null;\n\t\tfor (const cp of this.checkpoints) {\n\t\t\tif (cp.lineNumber <= lineNumber) {\n\t\t\t\tresult = cp;\n\t\t\t} else {\n\t\t\t\tbreak; // checkpoints are sorted ascending\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * Get a specific checkpoint by its line number.\n\t * @returns The checkpoint, or undefined if not found.\n\t */\n\tgetCheckpointAt(lineNumber: number): VMCheckpoint | undefined {\n\t\treturn this.checkpoints.find((cp) => cp.lineNumber === lineNumber);\n\t}\n\n\t/**\n\t * Get the entire checkpoint chain from root to the last checkpoint.\n\t * Useful for debugging and serialization.\n\t */\n\tgetAllCheckpoints(): readonly VMCheckpoint[] {\n\t\treturn this.checkpoints;\n\t}\n\n\t/**\n\t * Look up a variable's value through the checkpoint chain.\n\t *\n\t * Walks the prototype chain starting from the most recent checkpoint,\n\t * looking for the variable name as an own property. This is O(depth)\n\t * where depth is the number of checkpoints since the variable was\n\t * last set.\n\t *\n\t * **Note:** This queries the checkpointer's snapshot, not the VM.\n\t * The VM may have been modified since the last snapshot (e.g., by\n\t * Tier 2 execution of non-variable-def lines that don't create checkpoints).\n\t *\n\t * @returns The Value, or undefined if the variable was never set.\n\t */\n\tlookupVariable(name: string): Value | undefined {\n\t\tif (this.checkpoints.length === 0) return undefined;\n\n\t\tlet checkpoint: VMCheckpoint | null = this.checkpoints[this.checkpoints.length - 1];\n\t\twhile (checkpoint) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(checkpoint.variables, name)) {\n\t\t\t\treturn checkpoint.variables[name];\n\t\t\t}\n\t\t\tcheckpoint = checkpoint.parent;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\t// ── Lifecycle ────────────────────────────────────────────────────\n\n\t/**\n\t * Clear all checkpoints. The underlying VM is NOT reset, call\n\t * `vm.reset()` separately if needed.\n\t */\n\tclear(): void {\n\t\tthis.checkpoints = [];\n\t}\n\n\t/** Number of checkpoints stored. */\n\tget count(): number {\n\t\treturn this.checkpoints.length;\n\t}\n\n\t/** Returns true if no checkpoints have been created. */\n\tget isEmpty(): boolean {\n\t\treturn this.checkpoints.length === 0;\n\t}\n\n\t/** The associated VM instance. */\n\tget vmInstance(): VM {\n\t\treturn this.vm;\n\t}\n}\n"]}
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkHG4NPDN5_cjs=require('./chunk-HG4NPDN5.cjs'),chunkJVIUA2PL_cjs=require('./chunk-JVIUA2PL.cjs'),chunkSF5QVUEI_cjs=require('./chunk-SF5QVUEI.cjs'),chunkABVDKMNF_cjs=require('./chunk-ABVDKMNF.cjs'),chunk5N4XDULO_cjs=require('./chunk-5N4XDULO.cjs'),chunkE4HAKNBQ_cjs=require('./chunk-E4HAKNBQ.cjs'),chunkNH74IT7B_cjs=require('./chunk-NH74IT7B.cjs'),chunkPHWIO4P3_cjs=require('./chunk-PHWIO4P3.cjs'),chunkEZKR44MA_cjs=require('./chunk-EZKR44MA.cjs'),chunk6SYU4MH7_cjs=require('./chunk-6SYU4MH7.cjs');var $n=class{constructor(){this.definitions=new Map;}write(a,s,l){this.definitions.has(a)||this.definitions.set(a,[]);let d=this.definitions.get(a);d.push({line:s,expr:l}),d.sort((h,y)=>h.line-y.line);}read(a,s){let l=this.definitions.get(a);if(l){for(let d=l.length-1;d>=0;d--)if(l[d].line<=s)return l[d].expr.lastResult}}invalidateDownstream(a,s){let l=this.definitions.get(a);if(!l)return;let d=l.findIndex(h=>h.line===s);d!==-1&&l.splice(d+1);}clear(){this.definitions.clear();}};var nn={kg:{dim:[1,0,0,0],si:1},g:{dim:[1,0,0,0],si:.001},tonne:{dim:[1,0,0,0],si:1e3},t:{dim:[1,0,0,0],si:1e3},m:{dim:[0,1,0,0],si:1},cm:{dim:[0,1,0,0],si:.01},mm:{dim:[0,1,0,0],si:.001},km:{dim:[0,1,0,0],si:1e3},s:{dim:[0,0,1,0],si:1},ms:{dim:[0,0,1,0],si:.001},min:{dim:[0,0,1,0],si:60},minute:{dim:[0,0,1,0],si:60},minutes:{dim:[0,0,1,0],si:60},h:{dim:[0,0,1,0],si:3600},hr:{dim:[0,0,1,0],si:3600},hour:{dim:[0,0,1,0],si:3600},hours:{dim:[0,0,1,0],si:3600},A:{dim:[0,0,0,1],si:1},mA:{dim:[0,0,0,1],si:.001},kA:{dim:[0,0,0,1],si:1e3},ampere:{dim:[0,0,0,1],si:1},amperes:{dim:[0,0,0,1],si:1},mps2:{dim:[0,1,-2,0],si:1},N:{dim:[1,1,-2,0],si:1},kN:{dim:[1,1,-2,0],si:1e3},newton:{dim:[1,1,-2,0],si:1},newtons:{dim:[1,1,-2,0],si:1},J:{dim:[1,2,-2,0],si:1},kJ:{dim:[1,2,-2,0],si:1e3},MJ:{dim:[1,2,-2,0],si:1e6},joule:{dim:[1,2,-2,0],si:1},joules:{dim:[1,2,-2,0],si:1},Wh:{dim:[1,2,-2,0],si:3600},kWh:{dim:[1,2,-2,0],si:36e5},W:{dim:[1,2,-3,0],si:1},kW:{dim:[1,2,-3,0],si:1e3},MW:{dim:[1,2,-3,0],si:1e6},watt:{dim:[1,2,-3,0],si:1},watts:{dim:[1,2,-3,0],si:1},Pa:{dim:[1,-1,-2,0],si:1},kPa:{dim:[1,-1,-2,0],si:1e3},MPa:{dim:[1,-1,-2,0],si:1e6},pascal:{dim:[1,-1,-2,0],si:1},pascals:{dim:[1,-1,-2,0],si:1},V:{dim:[1,2,-3,-1],si:1},mV:{dim:[1,2,-3,-1],si:.001},kV:{dim:[1,2,-3,-1],si:1e3},volt:{dim:[1,2,-3,-1],si:1},volts:{dim:[1,2,-3,-1],si:1}},it={"1,1,-2,0":"N","1,2,-2,0":"J","1,2,-3,0":"W","1,-1,-2,0":"Pa","1,2,-3,-1":"V"},ot=r=>r.join(",");function tn(r,a,s){if(r.type!==6||a.type!==6)return null;let l=r.unit?nn[r.unit]:void 0,d=a.unit?nn[a.unit]:void 0;if(l===void 0||d===void 0)return null;let h=[l.dim[0]+(s?d.dim[0]:-d.dim[0]),l.dim[1]+(s?d.dim[1]:-d.dim[1]),l.dim[2]+(s?d.dim[2]:-d.dim[2]),l.dim[3]+(s?d.dim[3]:-d.dim[3])],y=it[ot(h)];if(y===void 0)return null;let f=r.toNumber()*l.si,k=a.toNumber()*d.si,D=s?f*k:f/k;return chunkNH74IT7B_cjs.u(D/nn[y].si,y)}function st(r,a){let s=a.fields(r).weekday;return s===0||s===6}function Yn(r,a,s){return st(r,s)?false:a?!a(r):true}function Pn(r,a){let s=a.fields(r);return a.localMidnight(s.year,s.month0,s.day)}function Wn(r,a,s,l,d){let h=Math.trunc(Math.abs(a)),y=a>=0?1:-1,f=r,k=0;for(;h>0;){if(f=d.addDays(f,y),k++,k>l)return null;Yn(f,s,d)&&h--;}return f}function Gn(r,a,s,l,d){let h=Pn(Math.min(r,a),d),y=Pn(Math.max(r,a),d),f=Math.round((y-h)/864e5);if(f>l)return null;let k=0,D=h;for(let w=0;w<=f;w++)Yn(D,s,d)&&k++,D=d.addDays(D,1);return k}var ut={0:{name:"sqrt",min:1,max:1},1:{name:"abs",min:1,max:1},2:{name:"sin",min:1,max:1},3:{name:"cos",min:1,max:1},4:{name:"tan",min:1,max:1},5:{name:"log",min:1,max:1},6:{name:"ceil",min:1,max:1},7:{name:"floor",min:1,max:1},8:{name:"round",min:1,max:2},9:{name:"min",min:1,max:1/0},10:{name:"max",min:1,max:1/0},11:{name:"asin",min:1,max:1},12:{name:"acos",min:1,max:1},13:{name:"atan",min:1,max:1},14:{name:"atan2",min:2,max:2},15:{name:"sinh",min:1,max:1},16:{name:"cosh",min:1,max:1},17:{name:"tanh",min:1,max:1},18:{name:"asinh",min:1,max:1},19:{name:"acosh",min:1,max:1},20:{name:"atanh",min:1,max:1},21:{name:"cbrt",min:1,max:1},22:{name:"clz32",min:1,max:1},23:{name:"expm1",min:1,max:1},24:{name:"exp",min:1,max:1},25:{name:"fround",min:1,max:1},26:{name:"hypot",min:1,max:1/0},27:{name:"imul",min:2,max:2},28:{name:"log10",min:1,max:1},29:{name:"log1p",min:1,max:1},30:{name:"log2",min:1,max:1},31:{name:"pow",min:2,max:2},32:{name:"random",min:0,max:0},33:{name:"sign",min:1,max:1},34:{name:"trunc",min:1,max:1},35:{name:"degtorad",min:1,max:1},36:{name:"radtodeg",min:1,max:1},37:{name:"roll",min:2,max:2},38:{name:"gcd",min:2,max:2},39:{name:"lcm",min:2,max:2},40:{name:"permutation",min:2,max:2},41:{name:"combination",min:2,max:2},42:{name:"average",min:0,max:1/0},43:{name:"median",min:0,max:1/0},44:{name:"total",min:0,max:1/0},45:{name:"count",min:0,max:1/0},46:{name:"proportion",min:3,max:3},47:{name:"clamp",min:3,max:3},48:{name:"hex",min:1,max:1},49:{name:"bin",min:1,max:1},50:{name:"int",min:1,max:1},51:{name:"compoundInterest",min:3,max:3},52:{name:"interestEarned",min:3,max:3},53:{name:"compoundInterestRate",min:3,max:3},54:{name:"compoundInterestYears",min:3,max:3},55:{name:"loanRepayment",min:4,max:4},56:{name:"loanInterest",min:4,max:4},57:{name:"monthlyPayment",min:3,max:3},58:{name:"taxAdd",min:2,max:2},59:{name:"taxRemove",min:2,max:2},60:{name:"inflationAdjust",min:3,max:3},61:{name:"root",min:2,max:2},62:{name:"fact",min:1,max:1},63:{name:"transpose",min:1,max:1},64:{name:"det",min:1,max:1},65:{name:"inv",min:1,max:1},66:{name:"dot",min:2,max:2},67:{name:"expand",min:1,max:1},68:{name:"factor",min:1,max:1},69:{name:"solve",min:3,max:3},70:{name:"der",min:2,max:3},71:{name:"integral",min:2,max:2},72:{name:"taylor",min:4,max:4},73:{name:"jacobian",min:1,max:1/0},74:{name:"imaginary",min:1,max:1},75:{name:"conj",min:1,max:1},76:{name:"re",min:1,max:1},77:{name:"im",min:1,max:1},78:{name:"cancel",min:1,max:1},79:{name:"apart",min:1,max:1},80:{name:"compoundInterestEvery",min:4,max:4},81:{name:"compoundInterestEarnedEvery",min:4,max:4},82:{name:"presentValue",min:3,max:3},83:{name:"roi",min:2,max:2},84:{name:"annualisedReturn",min:3,max:3},85:{name:"taxIn",min:2,max:2},86:{name:"taxOn",min:2,max:2},87:{name:"sind",min:1,max:1},88:{name:"cosd",min:1,max:1},89:{name:"tand",min:1,max:1},90:{name:"asind",min:1,max:1},91:{name:"acosd",min:1,max:1},92:{name:"atand",min:1,max:1},93:{name:"daysCount",min:1,max:1},94:{name:"asTwoUnits",min:3,max:3},95:{name:"makeRate",min:2,max:2},96:{name:"atRate",min:2,max:2},97:{name:"roundToPlaces",min:2,max:2},98:{name:"splitEach",min:2,max:2},99:{name:"savingsGoalPayment",min:3,max:3},100:{name:"savingsGoalPeriods",min:5,max:5},101:{name:"standardDeviation",min:0,max:1/0},102:{name:"sampleStandardDeviation",min:0,max:1/0},103:{name:"variance",min:0,max:1/0},104:{name:"sampleVariance",min:0,max:1/0},105:{name:"spread",min:0,max:1/0},106:{name:"mode",min:0,max:1/0},107:{name:"weightedAverage",min:2,max:1/0}};function Ae(r){return r===1?"1 argument":`${r} arguments`}function lt(r){return r.max===1/0?`at least ${Ae(r.min)}`:r.min===r.max?Ae(r.min):`${r.min} to ${Ae(r.max)}`}function Xn(r,a){let s=ut[r];if(s!==void 0&&!(a>=s.min&&a<=s.max))return chunk6SYU4MH7_cjs.c.execution("BUILTIN_ARITY_MISMATCH",`${s.name}() takes ${lt(s)}, but was given ${a===0?"none":Ae(a)}`,{functionName:s.name,expectedMin:s.min,expectedMax:s.max,actual:a})}function ma(r,a=200,s=5e4,l=50,d=1e5,h=2e6,y=1e4,f=100,k=-100,D=chunkJVIUA2PL_cjs.B,w){let V=[],N=new Map,Y=0,z,W,t=[],Z=new Map,se=new Map,H=new Map;return {push(I){if(V.length>=a)throw chunk6SYU4MH7_cjs.c.execution("STACK_LIMIT_EXCEEDED",`Execution exceeded maximum stack depth of ${a}`);V.push(I);},getMaxStackDepth(){return a},getMaxCollectionSize(){return d},getMaxAllocatedElements(){return h},getMaxFunctionCalls(){return y},getMaxDateOffsetYears(){return f},getMinDateOffsetYears(){return k},isHoliday(I){return w?w(I):false},pop(){return m(V)},popNumber(){return m(V).toNumber()},popString(){return j(m(V),"VM.popString()")},peek(){return V[V.length-1]},getStack(){return V},registry:r,getVar(I){if(t.length>0){let b=t[t.length-1].get(I);if(b!==void 0)return b}return N.get(I)},setVar(I,b){N.set(I,b);},deleteVar(I){N.delete(I);},pushCallFrame(I){if(t.length>=l)throw chunk6SYU4MH7_cjs.c.execution("FUNCTION_RECURSION_LIMIT_EXCEEDED",`Function call nesting exceeded maximum depth of ${l} (possible infinite recursion, e.g. f(x) = f(x))`,{maxFunctionRecursionDepth:l});t.push(I);},popCallFrame(){t.pop();},getCallFrame(){return t.length>0?t[t.length-1]:void 0},defineUserFunction(I,b,e){Z.set(I,{name:I,params:b,program:e});},getUserFunction(I){return Z.get(I)},hasUserFunction(I){return Z.has(I)},getVariableEntries(){return Array.from(N.entries())},getUserFunctionDefs(){return Array.from(Z.values())},defineEquation(I,b,e){se.set(I,{variable:I,factorNames:b,rhsProgram:e});},getEquation(I){return se.get(I)},hasEquation(I){return se.has(I)},defineScalarEquation(I,b,e){H.set(I,{variable:I,lhsProgram:b,rhsProgram:e});},getScalarEquation(I){return H.get(I)},hasScalarEquation(I){return H.has(I)},reset(){V.length=0,N.clear(),t.length=0,Z.clear(),se.clear(),H.clear(),Y=0,W&&(W(),W=void 0),z=void 0;},get activeSignal(){return z},set activeSignal(I){z=I;},get abortCurrent(){return W},set abortCurrent(I){W=I;},context:D,getMaxInstructions(){return s},getInstructionCount(){return Y},incrementInstructions(I){if(Y+=I,Y>s)throw chunk6SYU4MH7_cjs.c.execution("INSTRUCTION_LIMIT_EXCEEDED",`Execution exceeded maximum of ${s} instructions`)}}}function mt(r,a){return r.rows===1&&r.cols===1?a.data.length:a.rows===1&&a.cols===1?r.data.length:r.cols!==a.rows?0:r.rows*a.cols}function ct(r,a){return !Number.isInteger(a)||a<0?0:r.rows*r.cols*(1+(a<2?1:2*Math.floor(Math.log2(a))))}function Kn(r,a,s){return r.context.networkEnabled?chunkNH74IT7B_cjs.P("CURRENCY_RATE_UNAVAILABLE",`No exchange rate available for ${a} to ${s}`):chunkNH74IT7B_cjs.P("NETWORK_DISABLED",`No exchange rate for ${a} to ${s}: live data is switched off for this engine (network.enabled is false)`)}function m(r){if(r.length===0)throw chunk6SYU4MH7_cjs.c.internal({code:"STACK_UNDERFLOW",message:"Stack underflow: an opcode expected a value on the stack but it was empty",expected:"at least one value on the VM stack",found:"an empty stack",suggestion:"this indicates corrupted bytecode or a bug in a package's parselet (mismatched push/pop counts), not a user-input error"});return r.pop()}var tt="bytecode is caller input on this entry point: rebuild the program with the engine's compiler, or fix the hand-assembled stream";function dt(r){return typeof r=="number"?chunkABVDKMNF_cjs.b(r):r}function oe(r,a,s,l,d,h={}){let y=dt(a);return chunk6SYU4MH7_cjs.c.validation({code:r,message:`Malformed bytecode: ${y} ${s}`,expected:l,found:d,suggestion:tt,context:typeof a=="number"?{opcode:a,opcodeName:y,...h}:{site:y,...h}})}function v(r,a,s,l){if(a>=r.length)throw oe("MALFORMED_BYTECODE_TRUNCATED",s,`is missing its ${l}: the program ends mid-instruction`,`an operand byte at offset ${a}`,`a program only ${r.length} byte(s) long`,{offset:a,length:r.length,role:l});return r[a]}function an(r,a,s,l,d,h){let y=v(r,a,s,l);if(y>=d)throw oe("MALFORMED_BYTECODE_CONSTANT_INDEX",s,`reads ${h} entry ${y}, which does not exist`,`an index below ${d}`,`${y}`,{index:y,poolSize:d,pool:h});return y}function Q(r,a,s,l,d){return Ce(s,v(r,a,l,d),l)}function Ce(r,a,s){let l=r[a];if(typeof l!="string")throw oe("MALFORMED_BYTECODE_CONSTANT_INDEX",s,`reads string-pool entry ${a}, which is ${a>=r.length?"past the end of the pool":"not a string"}`,`an index below ${r.length}, holding a string`,a>=r.length?`${a}`:typeof l,{index:a,poolSize:r.length,pool:"string-pool"});return l}function j(r,a,s){if(typeof r.value!="string")throw oe("MALFORMED_BYTECODE_OPERAND_TYPE",a,`expected a ${s??"string"} on the stack`,s?`a string value holding the ${s}`:"a string value",`a ${chunkNH74IT7B_cjs.g[r.type]??"unknown"} value`,s?{role:s,valueType:r.type}:{valueType:r.type});return r.value}function Hn(r,a,s){if(r!==0&&r!==1&&r!==2)throw oe("MALFORMED_BYTECODE_BODY_KIND",s,`has body kind ${r}, which is not one this VM knows`,"0 (inline body), 1 (builtin function) or 2 (user-defined function)",`${r}`,{kind:r,ref:a})}function pt(r,a){try{return BigInt(r)}catch{throw oe("MALFORMED_BYTECODE_BIGINT_LITERAL",a,`cannot read "${r}" as a whole number`,"a string holding an integer, with no decimal point or separators",`"${r}"`,{literal:r})}}function ft(r){if(r===null||typeof r!="object")return `expected a bytecode program, got ${r===null?"null":typeof r}`;let a=r;return typeof a.opcodes?.length!="number"?"the program has no `opcodes` array":typeof a.numbers?.length!="number"?"the program has no `numbers` pool":typeof a.strings?.length!="number"?"the program has no `strings` pool":null}var rn=64,bt=new Set(["BIGINT_DIVISION_BY_ZERO","BIGINT_INEXACT_OPERAND","SYMBOLIC_DIVISION_BY_ZERO","INVALID_DECIMAL_PLACES","INVALID_ROUNDING_INCREMENT"]);function on(r,a,s,l,d,h,y,f){let k=new Map;for(let N=0;N<r.length;N++)k.set(r[N],s[N]);let D=l.getStack(),w=D.length;l.pushCallFrame(k);let V;try{V=ln(a,l,d,h,y,f);}finally{l.popCallFrame(),D.length>w&&(D.length=w);}if(V.type==="pending")throw chunk6SYU4MH7_cjs.c.execution("MAP_REDUCE_ASYNC_UNSUPPORTED","map/reduce transform bodies calling an async operation (weather, stocks, currency, ...) aren't supported");if(V.type==="error")throw V.error;return V.value}function ht(r,a,s,l,d,h,y){let f=new Map(s.getCallFrame());f.set(r,chunkNH74IT7B_cjs.K(chunk5N4XDULO_cjs.q(r)));let k=s.getStack(),D=k.length;s.pushCallFrame(f);let w;try{w=ln(a,s,l,d,h,y);}finally{s.popCallFrame(),k.length>D&&(k.length=D);}if(w.type==="pending")throw chunk6SYU4MH7_cjs.c.execution("SYMBOLIC_ASYNC_UNSUPPORTED","an algebra verb's expression cannot call an async operation (weather, stocks, currency, ...)");if(w.type==="error")throw w.error;return w.value}function qn(r,a){if(r.type!==6||a.type!==6)return null;let s=r.unit,l=a.unit;if(s===void 0||l===void 0)return null;let d=s.indexOf("/"),h=l.indexOf("/");if(d<0||h<0||s.slice(0,d)!==l.slice(0,h))return null;let y=chunkEZKR44MA_cjs.a[s.slice(d+1).toLowerCase()],f=chunkEZKR44MA_cjs.a[l.slice(h+1).toLowerCase()];return y===void 0||f===void 0||y[0]!==f[0]?null:r.toNumber()*(f[1]/y[1])}function yt(r,a){if(r.type!==6||a.type!==6)return null;let s=r.unit,l=a.unit;if(s===void 0||l===void 0||s.includes("/")||l.includes("/"))return null;let d=chunk5N4XDULO_cjs.ua[s.toUpperCase()]!==void 0,h=chunk5N4XDULO_cjs.ua[l.toUpperCase()]!==void 0;return d===h?null:chunkNH74IT7B_cjs.u(r.toNumber()*a.toNumber(),d?s:l)}function jn(r,a,s){if(r.type===5)return a.type===6&&a.unit!==void 0?chunkJVIUA2PL_cjs.e(a,a.unit,r.toNumber(),s):a.type!==5&&a.type!==0?null:chunkNH74IT7B_cjs.N(r.toNumber()+s*a.toNumber());if(a.type!==5)return null;let l=1+s*a.toNumber();if(r.type===0){let d=r.toNumber()*l;return r.uncertainty!==void 0?chunkNH74IT7B_cjs.q(d,Math.abs(r.uncertainty*l)):chunkNH74IT7B_cjs.n(d)}return r.type===6&&r.unit!==void 0?chunkJVIUA2PL_cjs.e(r,r.unit,a.toNumber(),s):null}function gt(r,a){let s=r.type===5?r:a.type===5?a:null;if(s===null)return null;let l=s===r?a:r;if(l.type!==0||l.uncertainty===void 0)return null;let d=s.toNumber();return chunkNH74IT7B_cjs.q(l.toNumber()*d,Math.abs(l.uncertainty*d))}function Nt(r,a){let s=r.type===6?r:a,l=r.type===6?a:r;return s.type!==6||s.unit===void 0||!chunkSF5QVUEI_cjs.c.isCurrency(s.unit)||l.type!==0&&l.type!==5||l.rational!==void 0?null:chunkJVIUA2PL_cjs.d(s,l.toNumber(),s.unit)}function Et(r,a){if(a.type===5&&r.type===0&&r.uncertainty!==void 0){let s=a.toNumber();return s===0?null:chunkNH74IT7B_cjs.q(r.toNumber()/s,Math.abs(r.uncertainty/s))}if(r.type===5&&a.type===0&&a.uncertainty!==void 0){let s=a.toNumber();return s===0?null:chunkNH74IT7B_cjs.q(r.toNumber()/s,Math.abs(r.toNumber()*a.uncertainty/(s*s)))}return null}function xt(r){if(r.type===6){let a=r.unit;if(a&&chunkPHWIO4P3_cjs.c(a)==="time")try{return chunkPHWIO4P3_cjs.e(r.toNumber(),a,"ms")}catch{}return 0}return r.toNumber()}var zn=260;function at(r,a,s){let l=Math.trunc(Math.abs(a)),h=(a>=0?1:-1)>0?s.getMaxDateOffsetYears():-s.getMinDateOffsetYears(),y=Math.floor(h*zn);if(l>y)throw chunk6SYU4MH7_cjs.c.execution("DATE_OFFSET_LIMIT_EXCEEDED",`A date offset of ${l.toLocaleString("en-US")} workdays is about ${Math.round(l/zn).toLocaleString("en-US")} years, past the limit of ${h} years for a workday offset`,{requestedWorkdays:l,limitYears:h,limitWorkdays:y});let f=y*7+7,k=Wn(r,a,D=>s.isHoliday(D),f,s.context.calendar);if(k===null)throw chunk6SYU4MH7_cjs.c.execution("DATE_OFFSET_LIMIT_EXCEEDED",`A working-day offset of ${l.toLocaleString("en-US")} could not be reached within the ${h}-year limit; the configured holiday calendar leaves too few working days`,{requestedWorkdays:l,limitYears:h,maxCalendarSteps:f});return k}var Zn=864e5,It={month:1,months:1,mo:1,year:12,years:12,yr:12,y:12,a:12,decade:120,decades:120,dec:120,century:1200,centuries:1200,millennium:12e3,millennia:12e3};function rt(r,a,s){let l=Math.trunc(a),d=s.addDays(r,l);return Number.isNaN(d)?r+a*Zn:d+(a-l)*Zn}function kt(r,a,s){let l=Math.trunc(a),d=s.addMonths(r,l),h=chunkPHWIO4P3_cjs.e(1,"month","ms");return Number.isNaN(d)?r+a*h:d+(a-l)*h}function Ne(r,a,s,l){if(a.type===6&&a.unit!==void 0){let d=a.unit,h=s*a.toNumber();if(chunkPHWIO4P3_cjs.a(d))return at(r,h,l);let y=It[d];if(y!==void 0)return kt(r,h*y,l.context.calendar);if(chunkPHWIO4P3_cjs.c(d)==="time"){let f=0;try{f=chunkPHWIO4P3_cjs.e(1,d,"day");}catch{}if(Number.isInteger(f)&&f>=1)return rt(r,h*f,l.context.calendar)}}return r+s*xt(a)}function Jn(r,a,s){let l=chunkNH74IT7B_cjs.B(r.unit);if(a.type===6&&chunkNH74IT7B_cjs.A(a.unit)){let d=chunkNH74IT7B_cjs.B(a.unit);return d!==l?chunkNH74IT7B_cjs.P("TIMECODE_FPS_MISMATCH",`Cannot combine timecodes at different frame rates (${l} fps vs ${d} fps)`):s===1?chunkNH74IT7B_cjs.u(r.toNumber()+a.toNumber(),r.unit):chunkNH74IT7B_cjs.u(r.toNumber()-a.toNumber(),"frames")}if(a.type===6&&a.unit==="frames")return chunkNH74IT7B_cjs.u(r.toNumber()+s*a.toNumber(),r.unit);if(a.type===6&&a.unit&&chunkPHWIO4P3_cjs.c(a.unit)==="time"){let d=chunkPHWIO4P3_cjs.e(a.toNumber(),a.unit,"s");return chunkNH74IT7B_cjs.u(r.toNumber()+s*d*l,r.unit)}return chunkNH74IT7B_cjs.u(r.toNumber()+s*a.toNumber(),r.unit)}function Ee(r){return r.type===10?r.value:r.toNumber()!==0}function _t(r,a,s){let l=chunkJVIUA2PL_cjs.Q(a);if(l===null)return chunkPHWIO4P3_cjs.c(a)!==void 0||chunkSF5QVUEI_cjs.c.isCurrency(a)?chunkNH74IT7B_cjs.P(chunk6SYU4MH7_cjs.s.DATETIME_NOT_CONVERTIBLE,`A date cannot be read in "${a}". "in <name>" after a date names a time zone, as in "2026-04-03 in Tokyo"`):chunkNH74IT7B_cjs.P(chunk6SYU4MH7_cjs.s.DATETIME_ZONE_UNKNOWN,`"${a}" is not a time zone this engine knows. Name a city ("in Tokyo"), a standard abbreviation ("in JST") or "in UTC"`);let d=r.toNumber();if(r.grain!=="date"&&r.grain!=="datetime")return chunkNH74IT7B_cjs.M(d,"instant",l);let h=s.context.calendar,y=h.fields(d);if(r.grain==="date")return chunkNH74IT7B_cjs.M(chunkE4HAKNBQ_cjs.j(y.year,y.month0,y.day,0,0,l,h),"instant",l);let f=chunkE4HAKNBQ_cjs.j(y.year,y.month0,y.day,y.hour,y.minute,l,h);return chunkNH74IT7B_cjs.M(f+y.second*1e3+y.millisecond,"instant",l)}function Qn(r,a){let s=chunkJVIUA2PL_cjs.o(r,a);return chunkNH74IT7B_cjs.P("INCOMPATIBLE_UNITS",s??`Cannot convert ${r} to ${a}: they do not measure the same thing`)}var Oe=65536;function Mt(r,a){if(!Number.isInteger(a)||a<0)return null;if(a===0)return 1;let s=Math.abs(r.toNumber());return s<=1?1:(s<=2?1:Math.log2(s))*a}function Dt(r,a){let s=1n,l=r,d=a;for(;d>0n;)d%2n===1n&&(s*=l),d/=2n,d>0n&&(l*=l);return s}var sn=Oe;function et(r){let a=r<0n?-r:r;if(a===0n)return 0;let s=Number(a);return Number.isFinite(s)?Math.floor(Math.log2(s))+1:a.toString(16).length*4}function nt(r,a,s){let l=chunkJVIUA2PL_cjs.q(r),d=chunkJVIUA2PL_cjs.q(a);if(l===0n)return chunkNH74IT7B_cjs.s(0n);let h=s*Number(d);if(h<=0||et(l)+h<=sn)return chunkNH74IT7B_cjs.s(s===1?l<<d:l>>d);throw chunk6SYU4MH7_cjs.c.execution("BIGINT_SHIFT_LIMIT_EXCEEDED",`Shifting by ${d} would build an exact integer of about ${(et(l)+h).toLocaleString("en-US")} bits, past the limit of ${sn.toLocaleString("en-US")} bits`,{shift:String(d),limitBits:sn})}function un(r,a){let{numerator:s,denominator:l}=chunkNH74IT7B_cjs.y(r.unit),d=chunkPHWIO4P3_cjs.c(l),h=chunkPHWIO4P3_cjs.c(a.unit);if(!d||d!==h)return chunkNH74IT7B_cjs.P("RATE_MUL_MEASURE_MISMATCH",`Cannot multiply a "${l}"-denominated rate by "${a.unit}" \u2014 different measures`);let y=chunkPHWIO4P3_cjs.e(a.toNumber(),a.unit,l),f=r.toNumber()*y;return s?chunkNH74IT7B_cjs.u(f,s):chunkNH74IT7B_cjs.n(f)}function Tt(r){if(Number.isNaN(r))return "NaN";if(!isFinite(r))return r>0?"Infinity":"-Infinity";let a=r<0,s=Math.abs(r),l=Math.floor(s),d=s-l;if(d<1e-9)return `${a?"-":""}${l}`;let h=0,y=1,f=1,k=0,D=d,w=1e6;for(let N=0;N<30;N++){let Y=Math.floor(D+1e-9),z=Y*y+h,W=Y*k+f;if(W>w||(h=y,y=z,f=k,k=W,Math.abs(d-y/k)<1e-9))break;let t=D-Y;if(t<1e-9)break;D=1/t;}let V=l*k+y;return `${a?"-":""}${V}/${k}`}function At(r){return r.d===1n?String(r.n):`${r.n}/${r.d}`}function Ct(r){let a=r.toNumber(),s=r.type===5?1+a:a;return `${Math.round(s*1e6)/1e6}x`}function Ot(r){if(!Number.isFinite(r))return String(r);if(r===0)return "0e+0";let[a,s]=r.toExponential().split("e");return `${a.includes(".")?a.replace(/0+$/,"").replace(/\.$/,""):a}e${s}`}function ln(r,a,s,l,d,h){let y=ft(r);if(y)return {type:"error",error:chunk6SYU4MH7_cjs.c.validation({code:"MALFORMED_BYTECODE_PROGRAM",message:`Malformed bytecode: ${y}`,expected:"a BytecodeProgram with opcodes, numbers and strings",found:y,suggestion:tt})};let{opcodes:f,numbers:k,strings:D,userFunctionBodies:w,anonymousBodies:V}=r,N=0,Y=0,z=a.getMaxInstructions(),W=a.getMaxStackDepth(),t=a.getStack(),Z=t.length,se=s?.hasCollectors??false,H=chunkNH74IT7B_cjs.j();if(f.length===0)return {type:"value",value:chunkNH74IT7B_cjs.n(0)};chunkNH74IT7B_cjs.a(a);try{for(;N<f.length;){if(++Y>z)throw chunk6SYU4MH7_cjs.c.execution("INSTRUCTION_LIMIT_EXCEEDED",`Execution exceeded maximum of ${z} instructions`);if(t.length>W)throw chunk6SYU4MH7_cjs.c.execution("STACK_LIMIT_EXCEEDED",`Execution exceeded maximum stack depth of ${W}`);let b=f[N++];if(se){let e=t.map(n=>({type:n.type,value:n.value,unit:n.unit}));s.fireVmStep({type:chunkHG4NPDN5_cjs.c.VmStep,elapsedNs:0,expression:l??"",opcode:b,opcodeName:chunkABVDKMNF_cjs.b(b),ip:N-1,stackDepth:t.length,instructionNumber:Y,stack:e});}switch(b){case 0:break;case 1:{let e=m(t);return {type:"value",value:H?chunkNH74IT7B_cjs.k(e):e}}case 3:{let e=m(t);t.push(e),t.push(e);break}case 2:{let e=m(t),n=m(t);t.push(e),t.push(n);break}case 10:t.push(chunkNH74IT7B_cjs.n(k[an(f,N++,b,"constant-pool index",k.length,"number-pool")]));break;case 11:t.push(chunkNH74IT7B_cjs.s(pt(Q(f,N++,D,b,"constant-pool index"),b)));break;case 16:{let e=chunk5N4XDULO_cjs.ia(Q(f,N++,D,b,"constant-pool index"));t.push(chunkNH74IT7B_cjs.o(chunk5N4XDULO_cjs.ra(e),e));break}case 12:t.push(chunkNH74IT7B_cjs.r(k[an(f,N++,b,"constant-pool index",k.length,"number-pool")]));break;case 13:t.push(chunkNH74IT7B_cjs.t(Q(f,N++,D,b,"constant-pool index")));break;case 14:t.push(chunkNH74IT7B_cjs.L(v(f,N++,b,"boolean operand")===1));break;case 20:{let e=m(t),n=m(t);if(n.type===0&&e.type===0&&n.rational===void 0&&e.rational===void 0&&n.uncertainty===void 0&&e.uncertainty===void 0){t.push(chunkNH74IT7B_cjs.n(n.value+e.value));break}let o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.uncertainty!==void 0||e.uncertainty!==void 0){let c=chunkJVIUA2PL_cjs.v(n,e,"add");if(c){t.push(c);break}}if(n.rational!==void 0||e.rational!==void 0){let c=chunkJVIUA2PL_cjs.u(n,e,"add");if(c){t.push(c);break}}let i=jn(n,e,1),u=i===null?qn(n,e):null;i!==null?t.push(i):u!==null?t.push(chunkNH74IT7B_cjs.u(u+e.toNumber(),e.unit)):n.type===0&&e.type===0?t.push(chunkNH74IT7B_cjs.n(n.value+e.value)):n.type===10&&e.type===10?t.push(chunkNH74IT7B_cjs.L(n.value&&e.value)):n.type===4?e.type===4?t.push(chunkNH74IT7B_cjs.P("INVALID_DATETIME_OP","Cannot add two datetimes together")):t.push(chunkNH74IT7B_cjs.M(Ne(n.toNumber(),e,1,a),n.grain,n.zone)):n.type===6&&chunkNH74IT7B_cjs.A(n.unit)?t.push(Jn(n,e,1)):e.type===4?t.push(chunkNH74IT7B_cjs.M(Ne(e.toNumber(),n,1,a),e.grain,e.zone)):n.type===3&&e.type===3?t.push(chunkNH74IT7B_cjs.t(n.value+e.value)):t.push(chunkJVIUA2PL_cjs.x(n,e,(c,p)=>c+p,(c,p)=>c+p,"add"));break}case 21:{let e=m(t),n=m(t);if(n.type===0&&e.type===0&&n.rational===void 0&&e.rational===void 0&&n.uncertainty===void 0&&e.uncertainty===void 0){t.push(chunkNH74IT7B_cjs.n(n.value-e.value));break}let o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.uncertainty!==void 0||e.uncertainty!==void 0){let c=chunkJVIUA2PL_cjs.v(n,e,"sub");if(c){t.push(c);break}}if(n.rational!==void 0||e.rational!==void 0){let c=chunkJVIUA2PL_cjs.u(n,e,"sub");if(c){t.push(c);break}}let i=jn(n,e,-1),u=i===null?qn(n,e):null;if(i!==null)t.push(i);else if(u!==null)t.push(chunkNH74IT7B_cjs.u(u-e.toNumber(),e.unit));else if(n.type===0&&e.type===0)t.push(chunkNH74IT7B_cjs.n(n.value-e.value));else if(n.type===4)if(e.type===4){let c=chunkNH74IT7B_cjs.u(n.toNumber()-e.toNumber(),"ms");c.datetimeSpan=!0,t.push(c);}else t.push(chunkNH74IT7B_cjs.M(Ne(n.toNumber(),e,-1,a),n.grain,n.zone));else n.type===6&&chunkNH74IT7B_cjs.A(n.unit)?t.push(Jn(n,e,-1)):e.type===4?t.push(chunkNH74IT7B_cjs.P("INVALID_DATETIME_OP","Cannot subtract a datetime from a value that is not a datetime")):t.push(chunkJVIUA2PL_cjs.x(n,e,(c,p)=>c-p,(c,p)=>c-p,"sub"));break}case 22:{let e=m(t),n=m(t);if(n.type===0&&e.type===0&&n.rational===void 0&&e.rational===void 0&&n.uncertainty===void 0&&e.uncertainty===void 0){t.push(chunkNH74IT7B_cjs.n(n.value*e.value));break}let o=gt(n,e);if(o){t.push(o);break}if(n.uncertainty!==void 0||e.uncertainty!==void 0){let u=chunkJVIUA2PL_cjs.v(n,e,"mul");if(u){t.push(u);break}}if(n.rational!==void 0||e.rational!==void 0){let u=chunkJVIUA2PL_cjs.u(n,e,"mul");if(u){t.push(u);break}}let i=Nt(n,e);if(i){t.push(i);break}if(n.type===0&&e.type===0)t.push(chunkNH74IT7B_cjs.n(n.value*e.value));else if(n.type===7&&e.type===7)chunkNH74IT7B_cjs.d(mt(n.value,e.value),"matrix cells"),t.push(chunk5N4XDULO_cjs._(n.value,e.value));else if(n.type===6&&chunkNH74IT7B_cjs.x(n.unit)&&e.type===6&&e.unit)t.push(un(n,e));else if(e.type===6&&chunkNH74IT7B_cjs.x(e.unit)&&n.type===6&&n.unit)t.push(un(e,n));else {let u=yt(n,e);if(u!==null){t.push(u);break}let c=tn(n,e,!0);c?t.push(c):t.push(chunkJVIUA2PL_cjs.x(n,e,(p,_)=>p*_,(p,_)=>p*_,"mul"));}break}case 23:{let e=m(t),n=m(t);if(n.type===0&&e.type===0&&n.rational===void 0&&e.rational===void 0&&n.uncertainty===void 0&&e.uncertainty===void 0){let i=n.value,u=e.value;if(Number.isInteger(i)&&Number.isInteger(u)){let c=chunkJVIUA2PL_cjs.u(n,e,"div");if(c){t.push(c);break}}t.push(chunkNH74IT7B_cjs.n(i/u));break}let o=Et(n,e);if(o){t.push(o);break}if(n.uncertainty!==void 0||e.uncertainty!==void 0){let i=chunkJVIUA2PL_cjs.v(n,e,"div");if(i){t.push(i);break}}if(n.type===6&&e.type===6){let{lv:i,rv:u,sameMeasure:c}=chunkJVIUA2PL_cjs.l(n,e);if(c)t.push(chunkNH74IT7B_cjs.n(i/u));else if(chunkSF5QVUEI_cjs.c.isCurrency(n.unit)&&chunkSF5QVUEI_cjs.c.isCurrency(e.unit))t.push(chunkNH74IT7B_cjs.P("INCOMPATIBLE_UNITS",`Cannot combine incompatible units: ${n.unit} and ${e.unit}`));else {let p=tn(n,e,!1);if(p){t.push(p);break}t.push(chunkNH74IT7B_cjs.w(i/u,n.unit,e.unit));}}else {let i=chunkJVIUA2PL_cjs.u(n,e,"div");if(i){t.push(i);break}t.push(chunkJVIUA2PL_cjs.x(n,e,(u,c)=>u/c,(u,c)=>{if(c===0n)throw chunkJVIUA2PL_cjs.r();return u/c},"div"));}break}case 24:{let e=m(t),n=m(t);t.push(chunkJVIUA2PL_cjs.x(n,e,(o,i)=>o%i,(o,i)=>{if(i===0n)throw chunkJVIUA2PL_cjs.r();return o%i}));break}case 25:{let e=m(t),n=m(t);if(n.type===13){t.push(n);break}if(e.type===13){t.push(e);break}if(n.type===12){t.push(n);break}if(e.type===12){t.push(e);break}if(n.type===0&&e.type===0){t.push(chunkNH74IT7B_cjs.n(chunkJVIUA2PL_cjs.t(n.value,e.value)));break}if(n.type===7||e.type===7){if(n.type!==7||e.type!==0){t.push(chunkNH74IT7B_cjs.P("MATRIX_POWER_UNSUPPORTED",`^: a matrix may only be the base, raised to a whole number (as in "[1,2;3,4]^2"); "${chunkNH74IT7B_cjs.g[n.type]} ^ ${chunkNH74IT7B_cjs.g[e.type]}" has no matrix reading.`));break}chunkNH74IT7B_cjs.d(ct(n.value,e.value),"matrix cells"),t.push(chunk5N4XDULO_cjs.$(n.value,e.value));break}if(n.type===9||e.type===9){t.push(chunkJVIUA2PL_cjs.h(n,e));break}if(n.type===2||e.type===2){let o=Mt(n,e.toNumber());if(o!==null){if(o>Oe)throw chunk6SYU4MH7_cjs.c.execution("BIGINT_POW_LIMIT_EXCEEDED",`That power would build an exact integer of about ${Math.round(o).toLocaleString("en-US")} bits, past the limit of ${Oe.toLocaleString("en-US")} bits`,{limitBits:Oe});t.push(chunkNH74IT7B_cjs.s(Dt(chunkJVIUA2PL_cjs.q(n),chunkJVIUA2PL_cjs.q(e))));break}}t.push(chunkNH74IT7B_cjs.n(chunkJVIUA2PL_cjs.t(n.toNumber(),e.toNumber())));break}case 26:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}e.type===2?t.push(chunkNH74IT7B_cjs.s(-e.value)):e.type===6&&e.exact!==void 0?t.push(chunkNH74IT7B_cjs.v(-e.toNumber(),e.unit,chunk5N4XDULO_cjs.ma(e.exact))):e.type===6?t.push(chunkNH74IT7B_cjs.u(-e.toNumber(),e.unit)):e.type===5?t.push(chunkNH74IT7B_cjs.N(-e.toNumber())):e.type===9?t.push(chunkJVIUA2PL_cjs.i(e)):e.type===0&&e.rational!==void 0?t.push(chunkNH74IT7B_cjs.p(-e.toNumber(),chunk5N4XDULO_cjs.j(e.rational))):e.type===0&&e.exact!==void 0?t.push(chunkNH74IT7B_cjs.o(-e.toNumber(),chunk5N4XDULO_cjs.ma(e.exact))):t.push(chunkNH74IT7B_cjs.n(-e.toNumber()));break}case 27:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}e.type===6&&e.exact!==void 0?t.push(chunkNH74IT7B_cjs.v(e.toNumber(),e.unit,e.exact)):e.type===6?t.push(chunkNH74IT7B_cjs.u(e.toNumber(),e.unit)):e.type===5?t.push(chunkNH74IT7B_cjs.N(e.toNumber())):e.type===0&&e.rational!==void 0?t.push(chunkNH74IT7B_cjs.p(e.toNumber(),e.rational)):e.type===0&&e.exact!==void 0?t.push(chunkNH74IT7B_cjs.o(e.toNumber(),e.exact)):t.push(chunkNH74IT7B_cjs.n(e.toNumber()));break}case 28:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}t.push(chunkNH74IT7B_cjs.q(n.toNumber(),Math.abs(e.toNumber())));break}case 30:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}n.type===2||e.type===2?t.push(nt(n,e,1)):t.push(chunkNH74IT7B_cjs.n(n.toNumber()<<e.toNumber()));break}case 31:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}n.type===2||e.type===2?t.push(nt(n,e,-1)):t.push(chunkNH74IT7B_cjs.n(n.toNumber()>>e.toNumber()));break}case 32:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}t.push(chunkNH74IT7B_cjs.n(n.toNumber()>>>e.toNumber()));break}case 33:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}n.type===2||e.type===2?t.push(chunkNH74IT7B_cjs.s(chunkJVIUA2PL_cjs.q(n)&chunkJVIUA2PL_cjs.q(e))):t.push(chunkNH74IT7B_cjs.n(n.toNumber()&e.toNumber()));break}case 34:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}n.type===2||e.type===2?t.push(chunkNH74IT7B_cjs.s(chunkJVIUA2PL_cjs.q(n)|chunkJVIUA2PL_cjs.q(e))):t.push(chunkNH74IT7B_cjs.n(n.toNumber()|e.toNumber()));break}case 35:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}n.type===2||e.type===2?t.push(chunkNH74IT7B_cjs.s(chunkJVIUA2PL_cjs.q(n)^chunkJVIUA2PL_cjs.q(e))):t.push(chunkNH74IT7B_cjs.n(n.toNumber()^e.toNumber()));break}case 36:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}e.type===2?t.push(chunkNH74IT7B_cjs.s(~e.value)):t.push(chunkNH74IT7B_cjs.n(~e.toNumber()));break}case 40:{let e=m(t),n=m(t);if(n.type===0&&e.type===0&&n.rational===void 0&&e.rational===void 0){t.push(chunkNH74IT7B_cjs.L(n.value===e.value));break}let o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.rational!==void 0||e.rational!==void 0){let i=chunkJVIUA2PL_cjs.w(n,e);if(i!==null){t.push(chunkNH74IT7B_cjs.L(i===0));break}}if(n.type===0&&e.type===0)t.push(chunkNH74IT7B_cjs.L(n.value===e.value));else if(n.type===2||e.type===2){let i=chunkJVIUA2PL_cjs.s(n,e);t.push(chunkNH74IT7B_cjs.L(i===null?n.toNumber()===e.toNumber():i===0));}else if(n.type===3&&e.type===3)t.push(chunkNH74IT7B_cjs.L(n.value===e.value));else if(n.type===6&&e.type===6){let{equal:i,sameMeasure:u}=chunkJVIUA2PL_cjs.n(n,e);t.push(chunkNH74IT7B_cjs.L(u&&i));}else if(n.type===7&&e.type===7)t.push(chunk5N4XDULO_cjs.aa(n.value,e.value,(i,u)=>i===u));else if(n.type===14||e.type===14)if(n.type===14&&e.type===14){let i=n.value,u=e.value;t.push(chunkNH74IT7B_cjs.L(i.r===u.r&&i.g===u.g&&i.b===u.b&&i.a===u.a));}else t.push(chunkNH74IT7B_cjs.L(!1));else t.push(chunkNH74IT7B_cjs.L(n.toNumber()===e.toNumber()));break}case 41:{let e=m(t),n=m(t);if(n.type===0&&e.type===0&&n.rational===void 0&&e.rational===void 0){t.push(chunkNH74IT7B_cjs.L(n.value!==e.value));break}let o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.rational!==void 0||e.rational!==void 0){let i=chunkJVIUA2PL_cjs.w(n,e);if(i!==null){t.push(chunkNH74IT7B_cjs.L(i!==0));break}}if(n.type===0&&e.type===0)t.push(chunkNH74IT7B_cjs.L(n.value!==e.value));else if(n.type===2||e.type===2){let i=chunkJVIUA2PL_cjs.s(n,e);t.push(chunkNH74IT7B_cjs.L(i===null?n.toNumber()!==e.toNumber():i!==0));}else if(n.type===3&&e.type===3)t.push(chunkNH74IT7B_cjs.L(n.value!==e.value));else if(n.type===6&&e.type===6){let{equal:i,sameMeasure:u}=chunkJVIUA2PL_cjs.n(n,e);t.push(chunkNH74IT7B_cjs.L(!u||!i));}else if(n.type===7&&e.type===7)t.push(chunk5N4XDULO_cjs.aa(n.value,e.value,(i,u)=>i!==u));else if(n.type===14||e.type===14)if(n.type===14&&e.type===14){let i=n.value,u=e.value;t.push(chunkNH74IT7B_cjs.L(!(i.r===u.r&&i.g===u.g&&i.b===u.b&&i.a===u.a)));}else t.push(chunkNH74IT7B_cjs.L(!0));else t.push(chunkNH74IT7B_cjs.L(n.toNumber()!==e.toNumber()));break}case 42:{let e=m(t),n=m(t);if(n.type===0&&e.type===0&&n.rational===void 0&&e.rational===void 0){t.push(chunkNH74IT7B_cjs.L(n.value<e.value));break}let o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.rational!==void 0||e.rational!==void 0){let i=chunkJVIUA2PL_cjs.w(n,e);if(i!==null){t.push(chunkNH74IT7B_cjs.L(i<0));break}}if(n.type===0&&e.type===0)t.push(chunkNH74IT7B_cjs.L(n.value<e.value));else if(n.type===2||e.type===2){let i=chunkJVIUA2PL_cjs.s(n,e);t.push(chunkNH74IT7B_cjs.L(i===null?n.toNumber()<e.toNumber():i<0));}else if(n.type===6&&e.type===6){let{lv:i,rv:u,equal:c,sameMeasure:p}=chunkJVIUA2PL_cjs.n(n,e);t.push(p?chunkNH74IT7B_cjs.L(!c&&i<u):chunkJVIUA2PL_cjs.p(n,e));}else n.type===7&&e.type===7?t.push(chunk5N4XDULO_cjs.aa(n.value,e.value,(i,u)=>i<u)):t.push(chunkNH74IT7B_cjs.L(n.toNumber()<e.toNumber()));break}case 43:{let e=m(t),n=m(t);if(n.type===0&&e.type===0&&n.rational===void 0&&e.rational===void 0){t.push(chunkNH74IT7B_cjs.L(n.value<=e.value));break}let o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.rational!==void 0||e.rational!==void 0){let i=chunkJVIUA2PL_cjs.w(n,e);if(i!==null){t.push(chunkNH74IT7B_cjs.L(i<=0));break}}if(n.type===0&&e.type===0)t.push(chunkNH74IT7B_cjs.L(n.value<=e.value));else if(n.type===2||e.type===2){let i=chunkJVIUA2PL_cjs.s(n,e);t.push(chunkNH74IT7B_cjs.L(i===null?n.toNumber()<=e.toNumber():i<=0));}else if(n.type===6&&e.type===6){let{lv:i,rv:u,equal:c,sameMeasure:p}=chunkJVIUA2PL_cjs.n(n,e);t.push(p?chunkNH74IT7B_cjs.L(c||i<=u):chunkJVIUA2PL_cjs.p(n,e));}else n.type===7&&e.type===7?t.push(chunk5N4XDULO_cjs.aa(n.value,e.value,(i,u)=>i<=u)):t.push(chunkNH74IT7B_cjs.L(n.toNumber()<=e.toNumber()));break}case 44:{let e=m(t),n=m(t);if(n.type===0&&e.type===0&&n.rational===void 0&&e.rational===void 0){t.push(chunkNH74IT7B_cjs.L(n.value>e.value));break}let o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.rational!==void 0||e.rational!==void 0){let i=chunkJVIUA2PL_cjs.w(n,e);if(i!==null){t.push(chunkNH74IT7B_cjs.L(i>0));break}}if(n.type===0&&e.type===0)t.push(chunkNH74IT7B_cjs.L(n.value>e.value));else if(n.type===2||e.type===2){let i=chunkJVIUA2PL_cjs.s(n,e);t.push(chunkNH74IT7B_cjs.L(i===null?n.toNumber()>e.toNumber():i>0));}else if(n.type===6&&e.type===6){let{lv:i,rv:u,equal:c,sameMeasure:p}=chunkJVIUA2PL_cjs.n(n,e);t.push(p?chunkNH74IT7B_cjs.L(!c&&i>u):chunkJVIUA2PL_cjs.p(n,e));}else n.type===7&&e.type===7?t.push(chunk5N4XDULO_cjs.aa(n.value,e.value,(i,u)=>i>u)):t.push(chunkNH74IT7B_cjs.L(n.toNumber()>e.toNumber()));break}case 45:{let e=m(t),n=m(t);if(n.type===0&&e.type===0&&n.rational===void 0&&e.rational===void 0){t.push(chunkNH74IT7B_cjs.L(n.value>=e.value));break}let o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.rational!==void 0||e.rational!==void 0){let i=chunkJVIUA2PL_cjs.w(n,e);if(i!==null){t.push(chunkNH74IT7B_cjs.L(i>=0));break}}if(n.type===0&&e.type===0)t.push(chunkNH74IT7B_cjs.L(n.value>=e.value));else if(n.type===2||e.type===2){let i=chunkJVIUA2PL_cjs.s(n,e);t.push(chunkNH74IT7B_cjs.L(i===null?n.toNumber()>=e.toNumber():i>=0));}else if(n.type===6&&e.type===6){let{lv:i,rv:u,equal:c,sameMeasure:p}=chunkJVIUA2PL_cjs.n(n,e);t.push(p?chunkNH74IT7B_cjs.L(c||i>=u):chunkJVIUA2PL_cjs.p(n,e));}else n.type===7&&e.type===7?t.push(chunk5N4XDULO_cjs.aa(n.value,e.value,(i,u)=>i>=u)):t.push(chunkNH74IT7B_cjs.L(n.toNumber()>=e.toNumber()));break}case 130:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}t.push(chunkNH74IT7B_cjs.L(Ee(n)&&Ee(e)));break}case 131:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}t.push(chunkNH74IT7B_cjs.L(Ee(n)||Ee(e)));break}case 132:{let e=m(t),n=m(t),o=m(t),i=chunkNH74IT7B_cjs.Q(o);if(i){t.push(i);break}t.push(Ee(o)?n:e);break}case 50:case 161:{let e;if(b===161){let c=v(f,N++,b,"plugin-function index (low byte)"),p=v(f,N++,b,"plugin-function index (high byte)");e=c|p<<8;}else e=v(f,N++,b,"plugin-function index");let n=v(f,N++,b,"argument count"),o=[];for(let c=0;c<n;c++)o.push(m(t));o.reverse();let i=a.context.pluginFunctions[e],u=chunkNH74IT7B_cjs.R(o);if(u)t.push(u);else if(!i)t.push(chunkNH74IT7B_cjs.P("UNKNOWN_PLUGIN_FUNCTION",`Plugin function index ${e} is not registered with this engine`));else {let c=i(o,d);if(c instanceof Promise){if(!a.context.networkEnabled){c.catch(()=>{}),t.push(chunkNH74IT7B_cjs.P("NETWORK_DISABLED","Live data is switched off for this engine (network.enabled is false), so the result of this call was not awaited"));break}let p=`plugin:${e}:${o.map(R=>`${R.type}:${String(R.value??"")}${R.unit?`:${R.unit}`:""}`).join("|")}`,_=a.activeSignal,A=a.context.pluginFunctionOwners[e]??"";return {type:"pending",queryKey:p,resolver:c,packageId:A,signal:_}}t.push(c);}break}case 51:{let e=v(f,N++,b,"builtin-function index"),n=v(f,N++,b,"argument count"),o=Xn(e,n);if(o)throw o;let i=[],u=!1;for(let _=0;_<n;_++){let A=m(t);A.type===9&&(u=!0),i.push(A);}let c=chunkNH74IT7B_cjs.R(i);if(c){t.push(c);break}let p=chunkJVIUA2PL_cjs.F[e];if(p){let _=i.reverse(),A=u&&!chunkJVIUA2PL_cjs.g.has(e);t.push(A?chunkJVIUA2PL_cjs.j(e,_):p(_));}else t.push(chunkNH74IT7B_cjs.P("UNKNOWN_BUILTIN_FUNCTION",`Builtin function index ${e} is not registered`));break}case 150:{let e=v(f,N++,b,"function-body index"),n=w?.[e];if(!n)throw chunk6SYU4MH7_cjs.c.internal("INTERNAL_MISSING_FUNCTION_BODY",`Internal error: DEFINE_USER_FUNCTION referenced missing body index ${e}`,{bodyIdx:e});a.defineUserFunction(n.name,n.params,n.program);break}case 151:{let e=Q(f,N++,D,b,"function-name index"),n=v(f,N++,b,"argument count"),o=[];for(let p=0;p<n;p++)o.push(m(t));o.reverse();let i=a.getUserFunction(e);if(!i)throw chunk6SYU4MH7_cjs.c.execution("UNDEFINED_FUNCTION",`Undefined function: ${e}`,{name:e});if(n!==i.params.length)throw chunk6SYU4MH7_cjs.c.execution("FUNCTION_ARITY_MISMATCH",`${e} expects ${i.params.length} argument(s) but got ${n}`,{name:e,expected:i.params.length,actual:n});let u=new Map;for(let p=0;p<i.params.length;p++)u.set(i.params[p],o[p]);chunkNH74IT7B_cjs.f(),a.pushCallFrame(u);let c;try{c=ln(i.program,a,s,l,d);}finally{a.popCallFrame();}if(c.type==="pending")throw chunk6SYU4MH7_cjs.c.execution("USER_FUNCTION_ASYNC_UNSUPPORTED",`${e}: user-defined functions with async bodies (weather, stocks, currency, ...) aren't supported`,{name:e});if(c.type==="error")throw c.error;t.push(c.value);break}case 60:{let e=Q(f,N++,D,b,"variable-name index"),n=a.getVar(e);if(n!==void 0)t.push(n);else if(h)t.push(chunkNH74IT7B_cjs.K(chunk5N4XDULO_cjs.q(e)));else throw chunk6SYU4MH7_cjs.c.execution("UNDEFINED_VARIABLE",`Undefined variable: ${e}`,{varName:e});break}case 61:{let e=m(t),n=Q(f,N++,D,b,"variable-name index");a.setVar(n,H?chunkNH74IT7B_cjs.k(e):e),t.push(e);break}case 62:{let e=Q(f,N++,D,b,"variable-name index"),n=chunkJVIUA2PL_cjs.M.get(e);if(n===void 0)throw chunk6SYU4MH7_cjs.c.internal({code:"GLOBAL_VARIABLE_NOT_RESOLVED",message:`Global variable "${e}" was read before it resolved`,expected:`global variable "${e}" to already be resolved (async preflight should guarantee this)`,found:"no value in the global variable store",context:{varName:e}});t.push(n);break}case 63:{let e=m(t),n=Q(f,N++,D,b,"variable-name index");chunkJVIUA2PL_cjs.M.set(n,H?chunkNH74IT7B_cjs.k(e):e),t.push(e);break}case 70:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}t.push(chunkNH74IT7B_cjs.n(e.toNumber()));break}case 71:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}if(e.type===14){let o=e.value;t.push(chunkNH74IT7B_cjs.G({r:o.r,g:o.g,b:o.b,a:o.a,format:"hex"}));break}t.push(chunkNH74IT7B_cjs.r(e.type===2?e.value:e.toNumber()));break}case 74:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}t.push(chunkNH74IT7B_cjs.N(e.toNumber()));break}case 140:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}t.push(chunkNH74IT7B_cjs.t(e.rational!==void 0?At(e.rational):Tt(e.toNumber())));break}case 141:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}t.push(chunkNH74IT7B_cjs.t(Ct(e)));break}case 142:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}t.push(chunkNH74IT7B_cjs.t(Ot(e.toNumber())));break}case 143:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}t.push(chunkNH74IT7B_cjs.r(e.type===2?e.value:e.toNumber(),"bin"));break}case 144:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}t.push(chunkNH74IT7B_cjs.r(e.type===2?e.value:e.toNumber(),"oct"));break}case 145:{let e=j(m(t),b,"converter name").toLowerCase(),n=m(t),o=chunkNH74IT7B_cjs.Q(n);if(o){t.push(o);break}let i=chunkJVIUA2PL_cjs.J.get(e);i?t.push(i(n,d)):t.push(chunkNH74IT7B_cjs.P("UNKNOWN_AS_CONVERTER",`Unknown converter "as ${e}"`));break}case 80:{let e=j(m(t),b,"unit name"),n=m(t),o=chunkNH74IT7B_cjs.Q(n);if(o){t.push(o);break}let i=chunkJVIUA2PL_cjs.c(n,e);i?t.push(chunkNH74IT7B_cjs.v(n.toNumber(),e,i)):t.push(chunkNH74IT7B_cjs.u(n.toNumber(),e));break}case 81:{let e=j(m(t),b,"target unit name"),n=j(m(t),b,"source unit name"),o=m(t),i=chunkNH74IT7B_cjs.Q(o);if(i){t.push(i);break}let u=o.toNumber(),c=chunkPHWIO4P3_cjs.c(n);if(c&&chunkPHWIO4P3_cjs.c(e)===c)t.push(chunkNH74IT7B_cjs.u(chunkPHWIO4P3_cjs.e(u,n,e),e));else if(chunkSF5QVUEI_cjs.c.isCurrency(n)&&chunkSF5QVUEI_cjs.c.isCurrency(e)){let p=chunkSF5QVUEI_cjs.c.convertSync(u,n,e);p!==null?t.push(chunkNH74IT7B_cjs.u(p,e)):t.push(Kn(a,n,e));}else {let p=chunkPHWIO4P3_cjs.k(u,n,e);p!==null?t.push(chunkNH74IT7B_cjs.u(p,e)):t.push(Qn(n,e));}break}case 85:{let e=j(m(t),b,"unit name"),n=chunkPHWIO4P3_cjs.f(e);t.push(chunkNH74IT7B_cjs.t(n.length>0?n.join(", "):`No known units for "${e}"`));break}case 83:{let e=j(m(t),b,"unit name"),n=m(t),o=chunkNH74IT7B_cjs.Q(n);if(o){t.push(o);break}let{value:i,unit:u}=chunkPHWIO4P3_cjs.h(n.toNumber(),e);t.push(chunkNH74IT7B_cjs.u(i,u));break}case 84:{let e=j(m(t),b,"target unit name"),n=m(t),o=chunkNH74IT7B_cjs.Q(n);if(o){t.push(o);break}if(n.type===6){let i=n.unit,u=n.toNumber(),c=chunkPHWIO4P3_cjs.c(i);if(c&&chunkPHWIO4P3_cjs.c(e)===c)t.push(chunkNH74IT7B_cjs.u(chunkPHWIO4P3_cjs.e(u,i,e),e));else if(chunkSF5QVUEI_cjs.c.isCurrency(i)&&chunkSF5QVUEI_cjs.c.isCurrency(e)){let p=chunkSF5QVUEI_cjs.c.convertSync(u,i,e);p!==null?t.push(chunkNH74IT7B_cjs.u(p,e)):t.push(Kn(a,i,e));}else {let p=chunkPHWIO4P3_cjs.k(u,i,e);p!==null?t.push(chunkNH74IT7B_cjs.u(p,e)):t.push(Qn(i,e));}}else n.type===4?t.push(_t(n,e,a)):t.push(chunkNH74IT7B_cjs.u(n.toNumber(),e));break}case 82:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}t.push(chunkNH74IT7B_cjs.n(e.toNumber()));break}case 110:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(e.type!==6||!e.unit){t.push(chunkNH74IT7B_cjs.P("RATE_MISSING_DENOMINATOR_UNIT",'Cannot build a rate: the right-hand side of "/" has no unit'));break}let i=n.type===6?n.unit??"":"";t.push(chunkNH74IT7B_cjs.w(n.toNumber()/e.toNumber(),i,e.unit));break}case 111:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.type!==6||!chunkNH74IT7B_cjs.x(n.unit)){t.push(chunkNH74IT7B_cjs.P("RATE_MUL_LEFT_NOT_A_RATE",'Left-hand side of a rate multiplication must be a rate (e.g. "$50/week")'));break}if(e.type!==6||!e.unit){t.push(chunkNH74IT7B_cjs.P("RATE_MUL_RIGHT_MISSING_UNIT","Right-hand side of a rate multiplication must have a unit matching the rate's denominator"));break}t.push(un(n,e));break}case 112:{let e=j(m(t),b,"denominator unit name"),n=m(t),o=chunkNH74IT7B_cjs.Q(n);if(o){t.push(o);break}if(n.type!==6||!chunkNH74IT7B_cjs.x(n.unit)){t.push(chunkNH74IT7B_cjs.P("RATE_CONVERT_NOT_A_RATE","Cannot convert a non-rate value's denominator"));break}let{numerator:i,denominator:u}=chunkNH74IT7B_cjs.y(n.unit),c=chunkPHWIO4P3_cjs.c(u),p=chunkPHWIO4P3_cjs.c(e);if(!c||c!==p){t.push(chunkNH74IT7B_cjs.P("RATE_CONVERT_MEASURE_MISMATCH",`Cannot convert a "${u}"-denominated rate to "${e}" \u2014 different measures`));break}let _=chunkPHWIO4P3_cjs.e(1,e,u);t.push(chunkNH74IT7B_cjs.w(n.toNumber()*_,i,e));break}case 120:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}let o=e.toNumber(),i=a.context.calendar,u=i.fields(i.now());t.push(chunkNH74IT7B_cjs.M(i.localWallClock(u.year,u.month0,u.day,o),"datetime"));break}case 90:t.push(chunkNH74IT7B_cjs.M(a.context.calendar.now(),"instant"));break;case 95:t.push(chunkNH74IT7B_cjs.M(k[an(f,N++,b,"constant-pool index",k.length,"number-pool")],"date"));break;case 91:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}t.push(chunkNH74IT7B_cjs.M(Ne(n.toNumber(),e,1,a),n.grain,n.zone));break}case 92:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}t.push(chunkNH74IT7B_cjs.M(Ne(n.toNumber(),e,-1,a),n.grain,n.zone));break}case 96:{let e=v(f,N++,b,"workday offset direction")===1?-1:1,n=m(t),o=m(t),i=chunkNH74IT7B_cjs.Q(o,n);if(i){t.push(i);break}if(n.type!==4){t.push(chunkNH74IT7B_cjs.P(chunk6SYU4MH7_cjs.r.WORKDAY_OFFSET_EXPECTED_DATE,`"working days after/before/from" expects a date to count from, got ${chunkNH74IT7B_cjs.g[n.type]??"an unsupported value"}`));break}t.push(chunkNH74IT7B_cjs.M(at(n.toNumber(),e*o.toNumber(),a)));break}case 97:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.type!==4||e.type!==4){t.push(chunkNH74IT7B_cjs.P(chunk6SYU4MH7_cjs.r.WORKDAYS_BETWEEN_EXPECTED_DATES,`"working days between" expects two dates, got ${chunkNH74IT7B_cjs.g[n.type]??"an unsupported value"} and ${chunkNH74IT7B_cjs.g[e.type]??"an unsupported value"}`));break}let i=Math.ceil((a.getMaxDateOffsetYears()-a.getMinDateOffsetYears())*366),u=Gn(n.toNumber(),e.toNumber(),c=>a.isHoliday(c),i,a.context.calendar);if(u===null){t.push(chunkNH74IT7B_cjs.P(chunk6SYU4MH7_cjs.r.WORKDAYS_BETWEEN_RANGE_TOO_LARGE,`The two dates are more than ${a.getMaxDateOffsetYears()-a.getMinDateOffsetYears()} years apart, past the working-day count's limit`));break}t.push(chunkNH74IT7B_cjs.n(u));break}case 93:case 94:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}let i=e.toNumber(),u=n.toNumber(),c=a.context.calendar.fields(u).weekday,p=b===93?(i-c+7)%7:(c-i+7)%7;p===0&&(p=7),t.push(chunkNH74IT7B_cjs.M(rt(u,b===93?p:-p,a.context.calendar)));break}case 152:{let e=v(f,N++,b,"row count"),n=v(f,N++,b,"column count"),o=e*n,i=chunkNH74IT7B_cjs.e(o,"matrix cells"),u=null;for(let c=o-1;c>=0;c--){let p=m(t);u===null&&(u=chunkNH74IT7B_cjs.Q(p)),i[c]=p.type===10||p.type===9?p.value:p.toNumber();}if(u){t.push(u);break}t.push(chunkNH74IT7B_cjs.C(e,n,chunk5N4XDULO_cjs.Y(e,n,i)));break}case 153:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.type!==7){t.push(chunkNH74IT7B_cjs.P("MATRIX_INDEX_NOT_A_MATRIX",'Cannot index a non-matrix value with "[...]".'));break}let i=n.value,u=Math.trunc(e.toNumber());if(u<0||u>=i.data.length){t.push(chunkNH74IT7B_cjs.P("MATRIX_INDEX_OUT_OF_BOUNDS",`Index ${u} is out of bounds for a ${i.rows}x${i.cols} matrix (valid range: 0-${i.data.length-1}).`));break}let c=chunk5N4XDULO_cjs.S(i,u);t.push(chunk5N4XDULO_cjs.X(c));break}case 154:{let e=m(t),n=m(t),o=m(t),i=chunkNH74IT7B_cjs.Q(o,n,e);if(i){t.push(i);break}if(o.type!==7){t.push(chunkNH74IT7B_cjs.P("MATRIX_INDEX_NOT_A_MATRIX",'Cannot index a non-matrix value with "[...]".'));break}let u=o.value,c=Math.trunc(n.toNumber()),p=Math.trunc(e.toNumber());if(!chunk5N4XDULO_cjs.U(u,c,p)){t.push(chunkNH74IT7B_cjs.P("MATRIX_INDEX_OUT_OF_BOUNDS",`[${c}, ${p}] is out of bounds for a ${u.rows}x${u.cols} matrix.`));break}let _=chunk5N4XDULO_cjs.T(u,c,p);t.push(chunk5N4XDULO_cjs.X(_));break}case 156:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.type!==0||e.type!==0){t.push(chunkNH74IT7B_cjs.P("INVALID_RANGE_BOUND",`A range's bounds must be plain numbers (e.g. "0:3").`));break}let i=n.value,u=e.value;if(!Number.isInteger(i)||!Number.isInteger(u)){t.push(chunkNH74IT7B_cjs.P("NON_INTEGER_RANGE_BOUND",`A range's bounds must be whole numbers, got "${i}:${u}".`));break}if(i>u){t.push(chunkNH74IT7B_cjs.P("DESCENDING_RANGE",`A range's min (${i}) cannot be greater than its max (${u}) \u2014 did you mean "${u}:${i}"?`));break}t.push(chunkNH74IT7B_cjs.F(i,u));break}case 155:{let e=m(t),n=m(t),o=m(t),i=chunkNH74IT7B_cjs.Q(o,n,e);if(i){t.push(i);break}if(o.type!==7){t.push(chunkNH74IT7B_cjs.P("MATRIX_INDEX_NOT_A_MATRIX",'Cannot slice a non-matrix value with "[...]".'));break}if(n.type!==8||e.type!==8){t.push(chunkNH74IT7B_cjs.P("INVALID_MATRIX_SLICE_BOUND",'Matrix slicing needs range bounds (e.g. "a[0:1, 1:2]").'));break}let u=o.value,c=n.value,p=e.value;if(c.min<0||c.max>=u.rows||p.min<0||p.max>=u.cols){t.push(chunkNH74IT7B_cjs.P("MATRIX_INDEX_OUT_OF_BOUNDS",`Slice [${c.min}:${c.max}, ${p.min}:${p.max}] is out of bounds for a ${u.rows}x${u.cols} matrix.`));break}let _=c.max-c.min+1,A=p.max-p.min+1,R=chunkNH74IT7B_cjs.e(_*A,"matrix cells");for(let L=0;L<_;L++)for(let O=0;O<A;O++)R[L+O*_]=chunk5N4XDULO_cjs.T(u,c.min+L,p.min+O);t.push(chunkNH74IT7B_cjs.C(_,A,R));break}case 157:{let e=v(f,N++,b,"body kind"),n=v(f,N++,b,"body reference"),o=v(f,N++,b,"collection count");Hn(e,n,b);let i=new Array(o);for(let M=o-1;M>=0;M--)i[M]=m(t);let u=[],c;if(e===0){let M=V?.[n];if(!M)throw chunk6SYU4MH7_cjs.c.internal("INTERNAL_MISSING_ANONYMOUS_BODY",`Internal error: MAP_INVOKE referenced missing anonymous body index ${n}`,{ref:n});u=M.params,c=M.program;}else if(e===2){let M=Ce(D,n,b),S=a.getUserFunction(M);if(!S){t.push(chunkNH74IT7B_cjs.P("UNDEFINED_FUNCTION",`map: undefined function "${M}"`));break}if(S.params.length!==o){t.push(chunkNH74IT7B_cjs.P("FUNCTION_ARITY_MISMATCH",`map: "${M}" expects ${S.params.length} argument(s) but ${o} collection(s) were given`));break}u=S.params,c=S.program;}let p=-1,_=new Array(o),A;for(let M=0;M<o;M++){let S=chunk5N4XDULO_cjs.ea(i[M],a.getMaxCollectionSize());if(!Array.isArray(S)){A=S;break}if(chunkNH74IT7B_cjs.c(S.length,"collection elements"),p===-1)p=S.length;else if(S.length!==p){A=chunkNH74IT7B_cjs.P("MAP_COLLECTION_LENGTH_MISMATCH",`map: all collections must have the same length (got ${p} and ${S.length}).`);break}_[M]=S;}if(A){t.push(A);break}let R=chunkNH74IT7B_cjs.e(p,"matrix cells"),L;for(let M=0;M<p;M++){let S=new Array(o);for(let ee=0;ee<o;ee++)S[ee]=_[ee][M];let P=e===1?chunkJVIUA2PL_cjs.F[n]?.(S)??chunkNH74IT7B_cjs.P("UNKNOWN_BUILTIN_FUNCTION",`map: unknown builtin function index ${n}`):on(u,c,S,a,s,l,d,!!h),ce=chunkNH74IT7B_cjs.Q(P);if(ce){L=ce;break}R[M]=P.type===10||P.type===9?P.value:P.toNumber();}if(L){t.push(L);break}let O=i[0],B=O?.type===7?O.value:void 0;B&&B.rows*B.cols===p?t.push(chunkNH74IT7B_cjs.C(B.rows,B.cols,R)):t.push(chunkNH74IT7B_cjs.C(1,p,R));break}case 160:{let e=v(f,N++,b,"plot body reference"),n=v(f,N++,b,"plot expression"),o=Ce(D,n,b),i=m(t).toNumber(),u=m(t).toNumber(),c=V?.[e];if(!c)throw chunk6SYU4MH7_cjs.c.internal("INTERNAL_MISSING_ANONYMOUS_BODY",`Internal error: PLOT_INVOKE referenced missing anonymous body index ${e}`,{ref:e});if(!Number.isFinite(u)||!Number.isFinite(i)){t.push(chunkNH74IT7B_cjs.P("PLOT_INVALID_RANGE",`plot: the range bounds must be finite numbers (got ${u} to ${i})`));break}let p=[],_=0,A;for(let M=0;M<rn;M++){let S=u+M/(rn-1)*(i-u),P;try{P=on(c.params,c.program,[chunkNH74IT7B_cjs.n(S)],a,s,l,d,!!h);}catch(ee){let Ue=chunk6SYU4MH7_cjs.d(ee);if(!bt.has(Ue.code))throw ee;_++,A=chunkNH74IT7B_cjs.P(Ue.code,Ue.message);continue}if(P.type===13||P.type===12){_++,A=P;continue}let ce=P.toNumber();Number.isFinite(ce)&&p.push([S,ce]);}if(_===rn&&A!==void 0){t.push(chunkNH74IT7B_cjs.P(String(A.value),`plot: ${o} has no value at any point over [${u}, ${i}]: ${String(A.unit)}`));break}let R=p.map(M=>M[1]),L=R.length?Math.min(...R):0,O=R.length?Math.max(...R):0,B=M=>Number.isInteger(M)?String(M):String(Number(M.toFixed(2)));t.push(chunkNH74IT7B_cjs.I({kind:"plot",points:p,label:`${o} over [${B(u)}, ${B(i)}]`,domain:[u,i],range:[L,O],expr:o}));break}case 158:{let e=v(f,N++,b,"body kind"),n=v(f,N++,b,"body reference"),o=v(f,N++,b,"initial-value flag");Hn(e,n,b);let i=o?m(t):void 0,u=m(t),c=[],p;if(e===0){let O=V?.[n];if(!O)throw chunk6SYU4MH7_cjs.c.internal("INTERNAL_MISSING_ANONYMOUS_BODY",`Internal error: REDUCE_INVOKE referenced missing anonymous body index ${n}`,{ref:n});c=O.params,p=O.program;}else if(e===2){let O=Ce(D,n,b),B=a.getUserFunction(O);if(!B){t.push(chunkNH74IT7B_cjs.P("UNDEFINED_FUNCTION",`reduce: undefined function "${O}"`));break}if(B.params.length!==2){t.push(chunkNH74IT7B_cjs.P("FUNCTION_ARITY_MISMATCH",`reduce: "${O}" must take exactly 2 arguments (accumulator, element), got ${B.params.length}`));break}c=B.params,p=B.program;}let _=chunk5N4XDULO_cjs.ea(u,a.getMaxCollectionSize());if(!Array.isArray(_)){t.push(_);break}chunkNH74IT7B_cjs.c(_.length,"collection elements");let A,R;if(i!==void 0){let O=chunkNH74IT7B_cjs.Q(i);if(O){t.push(O);break}A=i,R=0;}else {if(_.length===0){t.push(chunkNH74IT7B_cjs.P("REDUCE_EMPTY_COLLECTION","reduce: cannot reduce an empty collection without an initial value."));break}A=_[0],R=1;}let L;for(let O=R;O<_.length;O++){let B=[A,_[O]],M=e===1?chunkJVIUA2PL_cjs.F[n]?.(B)??chunkNH74IT7B_cjs.P("UNKNOWN_BUILTIN_FUNCTION",`reduce: unknown builtin function index ${n}`):on(c,p,B,a,s,l,d,!!h),S=chunkNH74IT7B_cjs.Q(M);if(S){L=S;break}A=M;}if(L){t.push(L);break}t.push(A);break}case 159:{let e=v(f,N++,b,"body reference"),n=V?.[e];if(!n)throw chunk6SYU4MH7_cjs.c.internal("INTERNAL_MISSING_ANONYMOUS_BODY",`Internal error: BIND_UNKNOWN referenced missing anonymous body index ${e}`,{ref:e});t.push(ht(n.params[0],n.program,a,s,l,d,!!h));break}default:throw oe("MALFORMED_BYTECODE_UNKNOWN_OPCODE",b,"has no handler in this virtual machine","an opcode the dispatch switch handles (see parser/OpCode.ts)",`opcode ${b} at offset ${N-1}`,{offset:N-1})}}let I=m(t);return {type:"value",value:H?chunkNH74IT7B_cjs.k(I):I}}catch(I){return t.length>Z&&(t.length=Z),{type:"error",error:chunk6SYU4MH7_cjs.d(I)}}finally{chunkNH74IT7B_cjs.b();}}exports.a=$n;exports.b=ma;exports.c=ln;//# sourceMappingURL=chunk-EIFT45H3.cjs.map
2
- //# sourceMappingURL=chunk-EIFT45H3.cjs.map
1
+ 'use strict';var chunkHG4NPDN5_cjs=require('./chunk-HG4NPDN5.cjs'),chunk6ADFAXTZ_cjs=require('./chunk-6ADFAXTZ.cjs'),chunkSF5QVUEI_cjs=require('./chunk-SF5QVUEI.cjs'),chunkABVDKMNF_cjs=require('./chunk-ABVDKMNF.cjs'),chunk5N4XDULO_cjs=require('./chunk-5N4XDULO.cjs'),chunkE4HAKNBQ_cjs=require('./chunk-E4HAKNBQ.cjs'),chunkNH74IT7B_cjs=require('./chunk-NH74IT7B.cjs'),chunkPHWIO4P3_cjs=require('./chunk-PHWIO4P3.cjs'),chunkEZKR44MA_cjs=require('./chunk-EZKR44MA.cjs'),chunk6SYU4MH7_cjs=require('./chunk-6SYU4MH7.cjs');var $n=class{constructor(){this.definitions=new Map;}write(a,s,l){this.definitions.has(a)||this.definitions.set(a,[]);let d=this.definitions.get(a);d.push({line:s,expr:l}),d.sort((h,y)=>h.line-y.line);}read(a,s){let l=this.definitions.get(a);if(l){for(let d=l.length-1;d>=0;d--)if(l[d].line<=s)return l[d].expr.lastResult}}invalidateDownstream(a,s){let l=this.definitions.get(a);if(!l)return;let d=l.findIndex(h=>h.line===s);d!==-1&&l.splice(d+1);}clear(){this.definitions.clear();}};var nn={kg:{dim:[1,0,0,0],si:1},g:{dim:[1,0,0,0],si:.001},tonne:{dim:[1,0,0,0],si:1e3},t:{dim:[1,0,0,0],si:1e3},m:{dim:[0,1,0,0],si:1},cm:{dim:[0,1,0,0],si:.01},mm:{dim:[0,1,0,0],si:.001},km:{dim:[0,1,0,0],si:1e3},s:{dim:[0,0,1,0],si:1},ms:{dim:[0,0,1,0],si:.001},min:{dim:[0,0,1,0],si:60},minute:{dim:[0,0,1,0],si:60},minutes:{dim:[0,0,1,0],si:60},h:{dim:[0,0,1,0],si:3600},hr:{dim:[0,0,1,0],si:3600},hour:{dim:[0,0,1,0],si:3600},hours:{dim:[0,0,1,0],si:3600},A:{dim:[0,0,0,1],si:1},mA:{dim:[0,0,0,1],si:.001},kA:{dim:[0,0,0,1],si:1e3},ampere:{dim:[0,0,0,1],si:1},amperes:{dim:[0,0,0,1],si:1},mps2:{dim:[0,1,-2,0],si:1},N:{dim:[1,1,-2,0],si:1},kN:{dim:[1,1,-2,0],si:1e3},newton:{dim:[1,1,-2,0],si:1},newtons:{dim:[1,1,-2,0],si:1},J:{dim:[1,2,-2,0],si:1},kJ:{dim:[1,2,-2,0],si:1e3},MJ:{dim:[1,2,-2,0],si:1e6},joule:{dim:[1,2,-2,0],si:1},joules:{dim:[1,2,-2,0],si:1},Wh:{dim:[1,2,-2,0],si:3600},kWh:{dim:[1,2,-2,0],si:36e5},W:{dim:[1,2,-3,0],si:1},kW:{dim:[1,2,-3,0],si:1e3},MW:{dim:[1,2,-3,0],si:1e6},watt:{dim:[1,2,-3,0],si:1},watts:{dim:[1,2,-3,0],si:1},Pa:{dim:[1,-1,-2,0],si:1},kPa:{dim:[1,-1,-2,0],si:1e3},MPa:{dim:[1,-1,-2,0],si:1e6},pascal:{dim:[1,-1,-2,0],si:1},pascals:{dim:[1,-1,-2,0],si:1},V:{dim:[1,2,-3,-1],si:1},mV:{dim:[1,2,-3,-1],si:.001},kV:{dim:[1,2,-3,-1],si:1e3},volt:{dim:[1,2,-3,-1],si:1},volts:{dim:[1,2,-3,-1],si:1}},it={"1,1,-2,0":"N","1,2,-2,0":"J","1,2,-3,0":"W","1,-1,-2,0":"Pa","1,2,-3,-1":"V"},ot=r=>r.join(",");function tn(r,a,s){if(r.type!==6||a.type!==6)return null;let l=r.unit?nn[r.unit]:void 0,d=a.unit?nn[a.unit]:void 0;if(l===void 0||d===void 0)return null;let h=[l.dim[0]+(s?d.dim[0]:-d.dim[0]),l.dim[1]+(s?d.dim[1]:-d.dim[1]),l.dim[2]+(s?d.dim[2]:-d.dim[2]),l.dim[3]+(s?d.dim[3]:-d.dim[3])],y=it[ot(h)];if(y===void 0)return null;let f=r.toNumber()*l.si,k=a.toNumber()*d.si,D=s?f*k:f/k;return chunkNH74IT7B_cjs.u(D/nn[y].si,y)}function st(r,a){let s=a.fields(r).weekday;return s===0||s===6}function Yn(r,a,s){return st(r,s)?false:a?!a(r):true}function Pn(r,a){let s=a.fields(r);return a.localMidnight(s.year,s.month0,s.day)}function Wn(r,a,s,l,d){let h=Math.trunc(Math.abs(a)),y=a>=0?1:-1,f=r,k=0;for(;h>0;){if(f=d.addDays(f,y),k++,k>l)return null;Yn(f,s,d)&&h--;}return f}function Gn(r,a,s,l,d){let h=Pn(Math.min(r,a),d),y=Pn(Math.max(r,a),d),f=Math.round((y-h)/864e5);if(f>l)return null;let k=0,D=h;for(let w=0;w<=f;w++)Yn(D,s,d)&&k++,D=d.addDays(D,1);return k}var ut={0:{name:"sqrt",min:1,max:1},1:{name:"abs",min:1,max:1},2:{name:"sin",min:1,max:1},3:{name:"cos",min:1,max:1},4:{name:"tan",min:1,max:1},5:{name:"log",min:1,max:1},6:{name:"ceil",min:1,max:1},7:{name:"floor",min:1,max:1},8:{name:"round",min:1,max:2},9:{name:"min",min:1,max:1/0},10:{name:"max",min:1,max:1/0},11:{name:"asin",min:1,max:1},12:{name:"acos",min:1,max:1},13:{name:"atan",min:1,max:1},14:{name:"atan2",min:2,max:2},15:{name:"sinh",min:1,max:1},16:{name:"cosh",min:1,max:1},17:{name:"tanh",min:1,max:1},18:{name:"asinh",min:1,max:1},19:{name:"acosh",min:1,max:1},20:{name:"atanh",min:1,max:1},21:{name:"cbrt",min:1,max:1},22:{name:"clz32",min:1,max:1},23:{name:"expm1",min:1,max:1},24:{name:"exp",min:1,max:1},25:{name:"fround",min:1,max:1},26:{name:"hypot",min:1,max:1/0},27:{name:"imul",min:2,max:2},28:{name:"log10",min:1,max:1},29:{name:"log1p",min:1,max:1},30:{name:"log2",min:1,max:1},31:{name:"pow",min:2,max:2},32:{name:"random",min:0,max:0},33:{name:"sign",min:1,max:1},34:{name:"trunc",min:1,max:1},35:{name:"degtorad",min:1,max:1},36:{name:"radtodeg",min:1,max:1},37:{name:"roll",min:2,max:2},38:{name:"gcd",min:2,max:2},39:{name:"lcm",min:2,max:2},40:{name:"permutation",min:2,max:2},41:{name:"combination",min:2,max:2},42:{name:"average",min:0,max:1/0},43:{name:"median",min:0,max:1/0},44:{name:"total",min:0,max:1/0},45:{name:"count",min:0,max:1/0},46:{name:"proportion",min:3,max:3},47:{name:"clamp",min:3,max:3},48:{name:"hex",min:1,max:1},49:{name:"bin",min:1,max:1},50:{name:"int",min:1,max:1},51:{name:"compoundInterest",min:3,max:3},52:{name:"interestEarned",min:3,max:3},53:{name:"compoundInterestRate",min:3,max:3},54:{name:"compoundInterestYears",min:3,max:3},55:{name:"loanRepayment",min:4,max:4},56:{name:"loanInterest",min:4,max:4},57:{name:"monthlyPayment",min:3,max:3},58:{name:"taxAdd",min:2,max:2},59:{name:"taxRemove",min:2,max:2},60:{name:"inflationAdjust",min:3,max:3},61:{name:"root",min:2,max:2},62:{name:"fact",min:1,max:1},63:{name:"transpose",min:1,max:1},64:{name:"det",min:1,max:1},65:{name:"inv",min:1,max:1},66:{name:"dot",min:2,max:2},67:{name:"expand",min:1,max:1},68:{name:"factor",min:1,max:1},69:{name:"solve",min:3,max:3},70:{name:"der",min:2,max:3},71:{name:"integral",min:2,max:2},72:{name:"taylor",min:4,max:4},73:{name:"jacobian",min:1,max:1/0},74:{name:"imaginary",min:1,max:1},75:{name:"conj",min:1,max:1},76:{name:"re",min:1,max:1},77:{name:"im",min:1,max:1},78:{name:"cancel",min:1,max:1},79:{name:"apart",min:1,max:1},80:{name:"compoundInterestEvery",min:4,max:4},81:{name:"compoundInterestEarnedEvery",min:4,max:4},82:{name:"presentValue",min:3,max:3},83:{name:"roi",min:2,max:2},84:{name:"annualisedReturn",min:3,max:3},85:{name:"taxIn",min:2,max:2},86:{name:"taxOn",min:2,max:2},87:{name:"sind",min:1,max:1},88:{name:"cosd",min:1,max:1},89:{name:"tand",min:1,max:1},90:{name:"asind",min:1,max:1},91:{name:"acosd",min:1,max:1},92:{name:"atand",min:1,max:1},93:{name:"daysCount",min:1,max:1},94:{name:"asTwoUnits",min:3,max:3},95:{name:"makeRate",min:2,max:2},96:{name:"atRate",min:2,max:2},97:{name:"roundToPlaces",min:2,max:2},98:{name:"splitEach",min:2,max:2},99:{name:"savingsGoalPayment",min:3,max:3},100:{name:"savingsGoalPeriods",min:5,max:5},101:{name:"standardDeviation",min:0,max:1/0},102:{name:"sampleStandardDeviation",min:0,max:1/0},103:{name:"variance",min:0,max:1/0},104:{name:"sampleVariance",min:0,max:1/0},105:{name:"spread",min:0,max:1/0},106:{name:"mode",min:0,max:1/0},107:{name:"weightedAverage",min:2,max:1/0}};function Ae(r){return r===1?"1 argument":`${r} arguments`}function lt(r){return r.max===1/0?`at least ${Ae(r.min)}`:r.min===r.max?Ae(r.min):`${r.min} to ${Ae(r.max)}`}function Xn(r,a){let s=ut[r];if(s!==void 0&&!(a>=s.min&&a<=s.max))return chunk6SYU4MH7_cjs.c.execution("BUILTIN_ARITY_MISMATCH",`${s.name}() takes ${lt(s)}, but was given ${a===0?"none":Ae(a)}`,{functionName:s.name,expectedMin:s.min,expectedMax:s.max,actual:a})}function ma(r,a=200,s=5e4,l=50,d=1e5,h=2e6,y=1e4,f=100,k=-100,D=chunk6ADFAXTZ_cjs.B,w){let V=[],N=new Map,Y=0,z,W,t=[],Z=new Map,se=new Map,H=new Map;return {push(I){if(V.length>=a)throw chunk6SYU4MH7_cjs.c.execution("STACK_LIMIT_EXCEEDED",`Execution exceeded maximum stack depth of ${a}`);V.push(I);},getMaxStackDepth(){return a},getMaxCollectionSize(){return d},getMaxAllocatedElements(){return h},getMaxFunctionCalls(){return y},getMaxDateOffsetYears(){return f},getMinDateOffsetYears(){return k},isHoliday(I){return w?w(I):false},pop(){return m(V)},popNumber(){return m(V).toNumber()},popString(){return j(m(V),"VM.popString()")},peek(){return V[V.length-1]},getStack(){return V},registry:r,getVar(I){if(t.length>0){let b=t[t.length-1].get(I);if(b!==void 0)return b}return N.get(I)},setVar(I,b){N.set(I,b);},deleteVar(I){N.delete(I);},pushCallFrame(I){if(t.length>=l)throw chunk6SYU4MH7_cjs.c.execution("FUNCTION_RECURSION_LIMIT_EXCEEDED",`Function call nesting exceeded maximum depth of ${l} (possible infinite recursion, e.g. f(x) = f(x))`,{maxFunctionRecursionDepth:l});t.push(I);},popCallFrame(){t.pop();},getCallFrame(){return t.length>0?t[t.length-1]:void 0},defineUserFunction(I,b,e){Z.set(I,{name:I,params:b,program:e});},getUserFunction(I){return Z.get(I)},hasUserFunction(I){return Z.has(I)},getVariableEntries(){return Array.from(N.entries())},getUserFunctionDefs(){return Array.from(Z.values())},defineEquation(I,b,e){se.set(I,{variable:I,factorNames:b,rhsProgram:e});},getEquation(I){return se.get(I)},hasEquation(I){return se.has(I)},defineScalarEquation(I,b,e){H.set(I,{variable:I,lhsProgram:b,rhsProgram:e});},getScalarEquation(I){return H.get(I)},hasScalarEquation(I){return H.has(I)},reset(){V.length=0,N.clear(),t.length=0,Z.clear(),se.clear(),H.clear(),Y=0,W&&(W(),W=void 0),z=void 0;},get activeSignal(){return z},set activeSignal(I){z=I;},get abortCurrent(){return W},set abortCurrent(I){W=I;},context:D,getMaxInstructions(){return s},getInstructionCount(){return Y},incrementInstructions(I){if(Y+=I,Y>s)throw chunk6SYU4MH7_cjs.c.execution("INSTRUCTION_LIMIT_EXCEEDED",`Execution exceeded maximum of ${s} instructions`)}}}function mt(r,a){return r.rows===1&&r.cols===1?a.data.length:a.rows===1&&a.cols===1?r.data.length:r.cols!==a.rows?0:r.rows*a.cols}function ct(r,a){return !Number.isInteger(a)||a<0?0:r.rows*r.cols*(1+(a<2?1:2*Math.floor(Math.log2(a))))}function Kn(r,a,s){return r.context.networkEnabled?chunkNH74IT7B_cjs.P("CURRENCY_RATE_UNAVAILABLE",`No exchange rate available for ${a} to ${s}`):chunkNH74IT7B_cjs.P("NETWORK_DISABLED",`No exchange rate for ${a} to ${s}: live data is switched off for this engine (network.enabled is false)`)}function m(r){if(r.length===0)throw chunk6SYU4MH7_cjs.c.internal({code:"STACK_UNDERFLOW",message:"Stack underflow: an opcode expected a value on the stack but it was empty",expected:"at least one value on the VM stack",found:"an empty stack",suggestion:"this indicates corrupted bytecode or a bug in a package's parselet (mismatched push/pop counts), not a user-input error"});return r.pop()}var tt="bytecode is caller input on this entry point: rebuild the program with the engine's compiler, or fix the hand-assembled stream";function dt(r){return typeof r=="number"?chunkABVDKMNF_cjs.b(r):r}function oe(r,a,s,l,d,h={}){let y=dt(a);return chunk6SYU4MH7_cjs.c.validation({code:r,message:`Malformed bytecode: ${y} ${s}`,expected:l,found:d,suggestion:tt,context:typeof a=="number"?{opcode:a,opcodeName:y,...h}:{site:y,...h}})}function v(r,a,s,l){if(a>=r.length)throw oe("MALFORMED_BYTECODE_TRUNCATED",s,`is missing its ${l}: the program ends mid-instruction`,`an operand byte at offset ${a}`,`a program only ${r.length} byte(s) long`,{offset:a,length:r.length,role:l});return r[a]}function an(r,a,s,l,d,h){let y=v(r,a,s,l);if(y>=d)throw oe("MALFORMED_BYTECODE_CONSTANT_INDEX",s,`reads ${h} entry ${y}, which does not exist`,`an index below ${d}`,`${y}`,{index:y,poolSize:d,pool:h});return y}function Q(r,a,s,l,d){return Ce(s,v(r,a,l,d),l)}function Ce(r,a,s){let l=r[a];if(typeof l!="string")throw oe("MALFORMED_BYTECODE_CONSTANT_INDEX",s,`reads string-pool entry ${a}, which is ${a>=r.length?"past the end of the pool":"not a string"}`,`an index below ${r.length}, holding a string`,a>=r.length?`${a}`:typeof l,{index:a,poolSize:r.length,pool:"string-pool"});return l}function j(r,a,s){if(typeof r.value!="string")throw oe("MALFORMED_BYTECODE_OPERAND_TYPE",a,`expected a ${s??"string"} on the stack`,s?`a string value holding the ${s}`:"a string value",`a ${chunkNH74IT7B_cjs.g[r.type]??"unknown"} value`,s?{role:s,valueType:r.type}:{valueType:r.type});return r.value}function Hn(r,a,s){if(r!==0&&r!==1&&r!==2)throw oe("MALFORMED_BYTECODE_BODY_KIND",s,`has body kind ${r}, which is not one this VM knows`,"0 (inline body), 1 (builtin function) or 2 (user-defined function)",`${r}`,{kind:r,ref:a})}function pt(r,a){try{return BigInt(r)}catch{throw oe("MALFORMED_BYTECODE_BIGINT_LITERAL",a,`cannot read "${r}" as a whole number`,"a string holding an integer, with no decimal point or separators",`"${r}"`,{literal:r})}}function ft(r){if(r===null||typeof r!="object")return `expected a bytecode program, got ${r===null?"null":typeof r}`;let a=r;return typeof a.opcodes?.length!="number"?"the program has no `opcodes` array":typeof a.numbers?.length!="number"?"the program has no `numbers` pool":typeof a.strings?.length!="number"?"the program has no `strings` pool":null}var rn=64,bt=new Set(["BIGINT_DIVISION_BY_ZERO","BIGINT_INEXACT_OPERAND","SYMBOLIC_DIVISION_BY_ZERO","INVALID_DECIMAL_PLACES","INVALID_ROUNDING_INCREMENT"]);function on(r,a,s,l,d,h,y,f){let k=new Map;for(let N=0;N<r.length;N++)k.set(r[N],s[N]);let D=l.getStack(),w=D.length;l.pushCallFrame(k);let V;try{V=ln(a,l,d,h,y,f);}finally{l.popCallFrame(),D.length>w&&(D.length=w);}if(V.type==="pending")throw chunk6SYU4MH7_cjs.c.execution("MAP_REDUCE_ASYNC_UNSUPPORTED","map/reduce transform bodies calling an async operation (weather, stocks, currency, ...) aren't supported");if(V.type==="error")throw V.error;return V.value}function ht(r,a,s,l,d,h,y){let f=new Map(s.getCallFrame());f.set(r,chunkNH74IT7B_cjs.K(chunk5N4XDULO_cjs.q(r)));let k=s.getStack(),D=k.length;s.pushCallFrame(f);let w;try{w=ln(a,s,l,d,h,y);}finally{s.popCallFrame(),k.length>D&&(k.length=D);}if(w.type==="pending")throw chunk6SYU4MH7_cjs.c.execution("SYMBOLIC_ASYNC_UNSUPPORTED","an algebra verb's expression cannot call an async operation (weather, stocks, currency, ...)");if(w.type==="error")throw w.error;return w.value}function qn(r,a){if(r.type!==6||a.type!==6)return null;let s=r.unit,l=a.unit;if(s===void 0||l===void 0)return null;let d=s.indexOf("/"),h=l.indexOf("/");if(d<0||h<0||s.slice(0,d)!==l.slice(0,h))return null;let y=chunkEZKR44MA_cjs.a[s.slice(d+1).toLowerCase()],f=chunkEZKR44MA_cjs.a[l.slice(h+1).toLowerCase()];return y===void 0||f===void 0||y[0]!==f[0]?null:r.toNumber()*(f[1]/y[1])}function yt(r,a){if(r.type!==6||a.type!==6)return null;let s=r.unit,l=a.unit;if(s===void 0||l===void 0||s.includes("/")||l.includes("/"))return null;let d=chunk5N4XDULO_cjs.ua[s.toUpperCase()]!==void 0,h=chunk5N4XDULO_cjs.ua[l.toUpperCase()]!==void 0;return d===h?null:chunkNH74IT7B_cjs.u(r.toNumber()*a.toNumber(),d?s:l)}function jn(r,a,s){if(r.type===5)return a.type===6&&a.unit!==void 0?chunk6ADFAXTZ_cjs.e(a,a.unit,r.toNumber(),s):a.type!==5&&a.type!==0?null:chunkNH74IT7B_cjs.N(r.toNumber()+s*a.toNumber());if(a.type!==5)return null;let l=1+s*a.toNumber();if(r.type===0){let d=r.toNumber()*l;return r.uncertainty!==void 0?chunkNH74IT7B_cjs.q(d,Math.abs(r.uncertainty*l)):chunkNH74IT7B_cjs.n(d)}return r.type===6&&r.unit!==void 0?chunk6ADFAXTZ_cjs.e(r,r.unit,a.toNumber(),s):null}function gt(r,a){let s=r.type===5?r:a.type===5?a:null;if(s===null)return null;let l=s===r?a:r;if(l.type!==0||l.uncertainty===void 0)return null;let d=s.toNumber();return chunkNH74IT7B_cjs.q(l.toNumber()*d,Math.abs(l.uncertainty*d))}function Nt(r,a){let s=r.type===6?r:a,l=r.type===6?a:r;return s.type!==6||s.unit===void 0||!chunkSF5QVUEI_cjs.c.isCurrency(s.unit)||l.type!==0&&l.type!==5||l.rational!==void 0?null:chunk6ADFAXTZ_cjs.d(s,l.toNumber(),s.unit)}function Et(r,a){if(a.type===5&&r.type===0&&r.uncertainty!==void 0){let s=a.toNumber();return s===0?null:chunkNH74IT7B_cjs.q(r.toNumber()/s,Math.abs(r.uncertainty/s))}if(r.type===5&&a.type===0&&a.uncertainty!==void 0){let s=a.toNumber();return s===0?null:chunkNH74IT7B_cjs.q(r.toNumber()/s,Math.abs(r.toNumber()*a.uncertainty/(s*s)))}return null}function xt(r){if(r.type===6){let a=r.unit;if(a&&chunkPHWIO4P3_cjs.c(a)==="time")try{return chunkPHWIO4P3_cjs.e(r.toNumber(),a,"ms")}catch{}return 0}return r.toNumber()}var zn=260;function at(r,a,s){let l=Math.trunc(Math.abs(a)),h=(a>=0?1:-1)>0?s.getMaxDateOffsetYears():-s.getMinDateOffsetYears(),y=Math.floor(h*zn);if(l>y)throw chunk6SYU4MH7_cjs.c.execution("DATE_OFFSET_LIMIT_EXCEEDED",`A date offset of ${l.toLocaleString("en-US")} workdays is about ${Math.round(l/zn).toLocaleString("en-US")} years, past the limit of ${h} years for a workday offset`,{requestedWorkdays:l,limitYears:h,limitWorkdays:y});let f=y*7+7,k=Wn(r,a,D=>s.isHoliday(D),f,s.context.calendar);if(k===null)throw chunk6SYU4MH7_cjs.c.execution("DATE_OFFSET_LIMIT_EXCEEDED",`A working-day offset of ${l.toLocaleString("en-US")} could not be reached within the ${h}-year limit; the configured holiday calendar leaves too few working days`,{requestedWorkdays:l,limitYears:h,maxCalendarSteps:f});return k}var Zn=864e5,It={month:1,months:1,mo:1,year:12,years:12,yr:12,y:12,a:12,decade:120,decades:120,dec:120,century:1200,centuries:1200,millennium:12e3,millennia:12e3};function rt(r,a,s){let l=Math.trunc(a),d=s.addDays(r,l);return Number.isNaN(d)?r+a*Zn:d+(a-l)*Zn}function kt(r,a,s){let l=Math.trunc(a),d=s.addMonths(r,l),h=chunkPHWIO4P3_cjs.e(1,"month","ms");return Number.isNaN(d)?r+a*h:d+(a-l)*h}function Ne(r,a,s,l){if(a.type===6&&a.unit!==void 0){let d=a.unit,h=s*a.toNumber();if(chunkPHWIO4P3_cjs.a(d))return at(r,h,l);let y=It[d];if(y!==void 0)return kt(r,h*y,l.context.calendar);if(chunkPHWIO4P3_cjs.c(d)==="time"){let f=0;try{f=chunkPHWIO4P3_cjs.e(1,d,"day");}catch{}if(Number.isInteger(f)&&f>=1)return rt(r,h*f,l.context.calendar)}}return r+s*xt(a)}function Jn(r,a,s){let l=chunkNH74IT7B_cjs.B(r.unit);if(a.type===6&&chunkNH74IT7B_cjs.A(a.unit)){let d=chunkNH74IT7B_cjs.B(a.unit);return d!==l?chunkNH74IT7B_cjs.P("TIMECODE_FPS_MISMATCH",`Cannot combine timecodes at different frame rates (${l} fps vs ${d} fps)`):s===1?chunkNH74IT7B_cjs.u(r.toNumber()+a.toNumber(),r.unit):chunkNH74IT7B_cjs.u(r.toNumber()-a.toNumber(),"frames")}if(a.type===6&&a.unit==="frames")return chunkNH74IT7B_cjs.u(r.toNumber()+s*a.toNumber(),r.unit);if(a.type===6&&a.unit&&chunkPHWIO4P3_cjs.c(a.unit)==="time"){let d=chunkPHWIO4P3_cjs.e(a.toNumber(),a.unit,"s");return chunkNH74IT7B_cjs.u(r.toNumber()+s*d*l,r.unit)}return chunkNH74IT7B_cjs.u(r.toNumber()+s*a.toNumber(),r.unit)}function Ee(r){return r.type===10?r.value:r.toNumber()!==0}function _t(r,a,s){let l=chunk6ADFAXTZ_cjs.Q(a);if(l===null)return chunkPHWIO4P3_cjs.c(a)!==void 0||chunkSF5QVUEI_cjs.c.isCurrency(a)?chunkNH74IT7B_cjs.P(chunk6SYU4MH7_cjs.s.DATETIME_NOT_CONVERTIBLE,`A date cannot be read in "${a}". "in <name>" after a date names a time zone, as in "2026-04-03 in Tokyo"`):chunkNH74IT7B_cjs.P(chunk6SYU4MH7_cjs.s.DATETIME_ZONE_UNKNOWN,`"${a}" is not a time zone this engine knows. Name a city ("in Tokyo"), a standard abbreviation ("in JST") or "in UTC"`);let d=r.toNumber();if(r.grain!=="date"&&r.grain!=="datetime")return chunkNH74IT7B_cjs.M(d,"instant",l);let h=s.context.calendar,y=h.fields(d);if(r.grain==="date")return chunkNH74IT7B_cjs.M(chunkE4HAKNBQ_cjs.j(y.year,y.month0,y.day,0,0,l,h),"instant",l);let f=chunkE4HAKNBQ_cjs.j(y.year,y.month0,y.day,y.hour,y.minute,l,h);return chunkNH74IT7B_cjs.M(f+y.second*1e3+y.millisecond,"instant",l)}function Qn(r,a){let s=chunk6ADFAXTZ_cjs.o(r,a);return chunkNH74IT7B_cjs.P("INCOMPATIBLE_UNITS",s??`Cannot convert ${r} to ${a}: they do not measure the same thing`)}var Oe=65536;function Mt(r,a){if(!Number.isInteger(a)||a<0)return null;if(a===0)return 1;let s=Math.abs(r.toNumber());return s<=1?1:(s<=2?1:Math.log2(s))*a}function Dt(r,a){let s=1n,l=r,d=a;for(;d>0n;)d%2n===1n&&(s*=l),d/=2n,d>0n&&(l*=l);return s}var sn=Oe;function et(r){let a=r<0n?-r:r;if(a===0n)return 0;let s=Number(a);return Number.isFinite(s)?Math.floor(Math.log2(s))+1:a.toString(16).length*4}function nt(r,a,s){let l=chunk6ADFAXTZ_cjs.q(r),d=chunk6ADFAXTZ_cjs.q(a);if(l===0n)return chunkNH74IT7B_cjs.s(0n);let h=s*Number(d);if(h<=0||et(l)+h<=sn)return chunkNH74IT7B_cjs.s(s===1?l<<d:l>>d);throw chunk6SYU4MH7_cjs.c.execution("BIGINT_SHIFT_LIMIT_EXCEEDED",`Shifting by ${d} would build an exact integer of about ${(et(l)+h).toLocaleString("en-US")} bits, past the limit of ${sn.toLocaleString("en-US")} bits`,{shift:String(d),limitBits:sn})}function un(r,a){let{numerator:s,denominator:l}=chunkNH74IT7B_cjs.y(r.unit),d=chunkPHWIO4P3_cjs.c(l),h=chunkPHWIO4P3_cjs.c(a.unit);if(!d||d!==h)return chunkNH74IT7B_cjs.P("RATE_MUL_MEASURE_MISMATCH",`Cannot multiply a "${l}"-denominated rate by "${a.unit}" \u2014 different measures`);let y=chunkPHWIO4P3_cjs.e(a.toNumber(),a.unit,l),f=r.toNumber()*y;return s?chunkNH74IT7B_cjs.u(f,s):chunkNH74IT7B_cjs.n(f)}function Tt(r){if(Number.isNaN(r))return "NaN";if(!isFinite(r))return r>0?"Infinity":"-Infinity";let a=r<0,s=Math.abs(r),l=Math.floor(s),d=s-l;if(d<1e-9)return `${a?"-":""}${l}`;let h=0,y=1,f=1,k=0,D=d,w=1e6;for(let N=0;N<30;N++){let Y=Math.floor(D+1e-9),z=Y*y+h,W=Y*k+f;if(W>w||(h=y,y=z,f=k,k=W,Math.abs(d-y/k)<1e-9))break;let t=D-Y;if(t<1e-9)break;D=1/t;}let V=l*k+y;return `${a?"-":""}${V}/${k}`}function At(r){return r.d===1n?String(r.n):`${r.n}/${r.d}`}function Ct(r){let a=r.toNumber(),s=r.type===5?1+a:a;return `${Math.round(s*1e6)/1e6}x`}function Ot(r){if(!Number.isFinite(r))return String(r);if(r===0)return "0e+0";let[a,s]=r.toExponential().split("e");return `${a.includes(".")?a.replace(/0+$/,"").replace(/\.$/,""):a}e${s}`}function ln(r,a,s,l,d,h){let y=ft(r);if(y)return {type:"error",error:chunk6SYU4MH7_cjs.c.validation({code:"MALFORMED_BYTECODE_PROGRAM",message:`Malformed bytecode: ${y}`,expected:"a BytecodeProgram with opcodes, numbers and strings",found:y,suggestion:tt})};let{opcodes:f,numbers:k,strings:D,userFunctionBodies:w,anonymousBodies:V}=r,N=0,Y=0,z=a.getMaxInstructions(),W=a.getMaxStackDepth(),t=a.getStack(),Z=t.length,se=s?.hasCollectors??false,H=chunkNH74IT7B_cjs.j();if(f.length===0)return {type:"value",value:chunkNH74IT7B_cjs.n(0)};chunkNH74IT7B_cjs.a(a);try{for(;N<f.length;){if(++Y>z)throw chunk6SYU4MH7_cjs.c.execution("INSTRUCTION_LIMIT_EXCEEDED",`Execution exceeded maximum of ${z} instructions`);if(t.length>W)throw chunk6SYU4MH7_cjs.c.execution("STACK_LIMIT_EXCEEDED",`Execution exceeded maximum stack depth of ${W}`);let b=f[N++];if(se){let e=t.map(n=>({type:n.type,value:n.value,unit:n.unit}));s.fireVmStep({type:chunkHG4NPDN5_cjs.c.VmStep,elapsedNs:0,expression:l??"",opcode:b,opcodeName:chunkABVDKMNF_cjs.b(b),ip:N-1,stackDepth:t.length,instructionNumber:Y,stack:e});}switch(b){case 0:break;case 1:{let e=m(t);return {type:"value",value:H?chunkNH74IT7B_cjs.k(e):e}}case 3:{let e=m(t);t.push(e),t.push(e);break}case 2:{let e=m(t),n=m(t);t.push(e),t.push(n);break}case 10:t.push(chunkNH74IT7B_cjs.n(k[an(f,N++,b,"constant-pool index",k.length,"number-pool")]));break;case 11:t.push(chunkNH74IT7B_cjs.s(pt(Q(f,N++,D,b,"constant-pool index"),b)));break;case 16:{let e=chunk5N4XDULO_cjs.ia(Q(f,N++,D,b,"constant-pool index"));t.push(chunkNH74IT7B_cjs.o(chunk5N4XDULO_cjs.ra(e),e));break}case 12:t.push(chunkNH74IT7B_cjs.r(k[an(f,N++,b,"constant-pool index",k.length,"number-pool")]));break;case 13:t.push(chunkNH74IT7B_cjs.t(Q(f,N++,D,b,"constant-pool index")));break;case 14:t.push(chunkNH74IT7B_cjs.L(v(f,N++,b,"boolean operand")===1));break;case 20:{let e=m(t),n=m(t);if(n.type===0&&e.type===0&&n.rational===void 0&&e.rational===void 0&&n.uncertainty===void 0&&e.uncertainty===void 0){t.push(chunkNH74IT7B_cjs.n(n.value+e.value));break}let o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.uncertainty!==void 0||e.uncertainty!==void 0){let c=chunk6ADFAXTZ_cjs.v(n,e,"add");if(c){t.push(c);break}}if(n.rational!==void 0||e.rational!==void 0){let c=chunk6ADFAXTZ_cjs.u(n,e,"add");if(c){t.push(c);break}}let i=jn(n,e,1),u=i===null?qn(n,e):null;i!==null?t.push(i):u!==null?t.push(chunkNH74IT7B_cjs.u(u+e.toNumber(),e.unit)):n.type===0&&e.type===0?t.push(chunkNH74IT7B_cjs.n(n.value+e.value)):n.type===10&&e.type===10?t.push(chunkNH74IT7B_cjs.L(n.value&&e.value)):n.type===4?e.type===4?t.push(chunkNH74IT7B_cjs.P("INVALID_DATETIME_OP","Cannot add two datetimes together")):t.push(chunkNH74IT7B_cjs.M(Ne(n.toNumber(),e,1,a),n.grain,n.zone)):n.type===6&&chunkNH74IT7B_cjs.A(n.unit)?t.push(Jn(n,e,1)):e.type===4?t.push(chunkNH74IT7B_cjs.M(Ne(e.toNumber(),n,1,a),e.grain,e.zone)):n.type===3&&e.type===3?t.push(chunkNH74IT7B_cjs.t(n.value+e.value)):t.push(chunk6ADFAXTZ_cjs.x(n,e,(c,p)=>c+p,(c,p)=>c+p,"add"));break}case 21:{let e=m(t),n=m(t);if(n.type===0&&e.type===0&&n.rational===void 0&&e.rational===void 0&&n.uncertainty===void 0&&e.uncertainty===void 0){t.push(chunkNH74IT7B_cjs.n(n.value-e.value));break}let o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.uncertainty!==void 0||e.uncertainty!==void 0){let c=chunk6ADFAXTZ_cjs.v(n,e,"sub");if(c){t.push(c);break}}if(n.rational!==void 0||e.rational!==void 0){let c=chunk6ADFAXTZ_cjs.u(n,e,"sub");if(c){t.push(c);break}}let i=jn(n,e,-1),u=i===null?qn(n,e):null;if(i!==null)t.push(i);else if(u!==null)t.push(chunkNH74IT7B_cjs.u(u-e.toNumber(),e.unit));else if(n.type===0&&e.type===0)t.push(chunkNH74IT7B_cjs.n(n.value-e.value));else if(n.type===4)if(e.type===4){let c=chunkNH74IT7B_cjs.u(n.toNumber()-e.toNumber(),"ms");c.datetimeSpan=!0,t.push(c);}else t.push(chunkNH74IT7B_cjs.M(Ne(n.toNumber(),e,-1,a),n.grain,n.zone));else n.type===6&&chunkNH74IT7B_cjs.A(n.unit)?t.push(Jn(n,e,-1)):e.type===4?t.push(chunkNH74IT7B_cjs.P("INVALID_DATETIME_OP","Cannot subtract a datetime from a value that is not a datetime")):t.push(chunk6ADFAXTZ_cjs.x(n,e,(c,p)=>c-p,(c,p)=>c-p,"sub"));break}case 22:{let e=m(t),n=m(t);if(n.type===0&&e.type===0&&n.rational===void 0&&e.rational===void 0&&n.uncertainty===void 0&&e.uncertainty===void 0){t.push(chunkNH74IT7B_cjs.n(n.value*e.value));break}let o=gt(n,e);if(o){t.push(o);break}if(n.uncertainty!==void 0||e.uncertainty!==void 0){let u=chunk6ADFAXTZ_cjs.v(n,e,"mul");if(u){t.push(u);break}}if(n.rational!==void 0||e.rational!==void 0){let u=chunk6ADFAXTZ_cjs.u(n,e,"mul");if(u){t.push(u);break}}let i=Nt(n,e);if(i){t.push(i);break}if(n.type===0&&e.type===0)t.push(chunkNH74IT7B_cjs.n(n.value*e.value));else if(n.type===7&&e.type===7)chunkNH74IT7B_cjs.d(mt(n.value,e.value),"matrix cells"),t.push(chunk5N4XDULO_cjs._(n.value,e.value));else if(n.type===6&&chunkNH74IT7B_cjs.x(n.unit)&&e.type===6&&e.unit)t.push(un(n,e));else if(e.type===6&&chunkNH74IT7B_cjs.x(e.unit)&&n.type===6&&n.unit)t.push(un(e,n));else {let u=yt(n,e);if(u!==null){t.push(u);break}let c=tn(n,e,!0);c?t.push(c):t.push(chunk6ADFAXTZ_cjs.x(n,e,(p,_)=>p*_,(p,_)=>p*_,"mul"));}break}case 23:{let e=m(t),n=m(t);if(n.type===0&&e.type===0&&n.rational===void 0&&e.rational===void 0&&n.uncertainty===void 0&&e.uncertainty===void 0){let i=n.value,u=e.value;if(Number.isInteger(i)&&Number.isInteger(u)){let c=chunk6ADFAXTZ_cjs.u(n,e,"div");if(c){t.push(c);break}}t.push(chunkNH74IT7B_cjs.n(i/u));break}let o=Et(n,e);if(o){t.push(o);break}if(n.uncertainty!==void 0||e.uncertainty!==void 0){let i=chunk6ADFAXTZ_cjs.v(n,e,"div");if(i){t.push(i);break}}if(n.type===6&&e.type===6){let{lv:i,rv:u,sameMeasure:c}=chunk6ADFAXTZ_cjs.l(n,e);if(c)t.push(chunkNH74IT7B_cjs.n(i/u));else if(chunkSF5QVUEI_cjs.c.isCurrency(n.unit)&&chunkSF5QVUEI_cjs.c.isCurrency(e.unit))t.push(chunkNH74IT7B_cjs.P("INCOMPATIBLE_UNITS",`Cannot combine incompatible units: ${n.unit} and ${e.unit}`));else {let p=tn(n,e,!1);if(p){t.push(p);break}t.push(chunkNH74IT7B_cjs.w(i/u,n.unit,e.unit));}}else {let i=chunk6ADFAXTZ_cjs.u(n,e,"div");if(i){t.push(i);break}t.push(chunk6ADFAXTZ_cjs.x(n,e,(u,c)=>u/c,(u,c)=>{if(c===0n)throw chunk6ADFAXTZ_cjs.r();return u/c},"div"));}break}case 24:{let e=m(t),n=m(t);t.push(chunk6ADFAXTZ_cjs.x(n,e,(o,i)=>o%i,(o,i)=>{if(i===0n)throw chunk6ADFAXTZ_cjs.r();return o%i}));break}case 25:{let e=m(t),n=m(t);if(n.type===13){t.push(n);break}if(e.type===13){t.push(e);break}if(n.type===12){t.push(n);break}if(e.type===12){t.push(e);break}if(n.type===0&&e.type===0){t.push(chunkNH74IT7B_cjs.n(chunk6ADFAXTZ_cjs.t(n.value,e.value)));break}if(n.type===7||e.type===7){if(n.type!==7||e.type!==0){t.push(chunkNH74IT7B_cjs.P("MATRIX_POWER_UNSUPPORTED",`^: a matrix may only be the base, raised to a whole number (as in "[1,2;3,4]^2"); "${chunkNH74IT7B_cjs.g[n.type]} ^ ${chunkNH74IT7B_cjs.g[e.type]}" has no matrix reading.`));break}chunkNH74IT7B_cjs.d(ct(n.value,e.value),"matrix cells"),t.push(chunk5N4XDULO_cjs.$(n.value,e.value));break}if(n.type===9||e.type===9){t.push(chunk6ADFAXTZ_cjs.h(n,e));break}if(n.type===2||e.type===2){let o=Mt(n,e.toNumber());if(o!==null){if(o>Oe)throw chunk6SYU4MH7_cjs.c.execution("BIGINT_POW_LIMIT_EXCEEDED",`That power would build an exact integer of about ${Math.round(o).toLocaleString("en-US")} bits, past the limit of ${Oe.toLocaleString("en-US")} bits`,{limitBits:Oe});t.push(chunkNH74IT7B_cjs.s(Dt(chunk6ADFAXTZ_cjs.q(n),chunk6ADFAXTZ_cjs.q(e))));break}}t.push(chunkNH74IT7B_cjs.n(chunk6ADFAXTZ_cjs.t(n.toNumber(),e.toNumber())));break}case 26:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}e.type===2?t.push(chunkNH74IT7B_cjs.s(-e.value)):e.type===6&&e.exact!==void 0?t.push(chunkNH74IT7B_cjs.v(-e.toNumber(),e.unit,chunk5N4XDULO_cjs.ma(e.exact))):e.type===6?t.push(chunkNH74IT7B_cjs.u(-e.toNumber(),e.unit)):e.type===5?t.push(chunkNH74IT7B_cjs.N(-e.toNumber())):e.type===9?t.push(chunk6ADFAXTZ_cjs.i(e)):e.type===0&&e.rational!==void 0?t.push(chunkNH74IT7B_cjs.p(-e.toNumber(),chunk5N4XDULO_cjs.j(e.rational))):e.type===0&&e.exact!==void 0?t.push(chunkNH74IT7B_cjs.o(-e.toNumber(),chunk5N4XDULO_cjs.ma(e.exact))):t.push(chunkNH74IT7B_cjs.n(-e.toNumber()));break}case 27:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}e.type===6&&e.exact!==void 0?t.push(chunkNH74IT7B_cjs.v(e.toNumber(),e.unit,e.exact)):e.type===6?t.push(chunkNH74IT7B_cjs.u(e.toNumber(),e.unit)):e.type===5?t.push(chunkNH74IT7B_cjs.N(e.toNumber())):e.type===0&&e.rational!==void 0?t.push(chunkNH74IT7B_cjs.p(e.toNumber(),e.rational)):e.type===0&&e.exact!==void 0?t.push(chunkNH74IT7B_cjs.o(e.toNumber(),e.exact)):t.push(chunkNH74IT7B_cjs.n(e.toNumber()));break}case 28:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}t.push(chunkNH74IT7B_cjs.q(n.toNumber(),Math.abs(e.toNumber())));break}case 30:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}n.type===2||e.type===2?t.push(nt(n,e,1)):t.push(chunkNH74IT7B_cjs.n(n.toNumber()<<e.toNumber()));break}case 31:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}n.type===2||e.type===2?t.push(nt(n,e,-1)):t.push(chunkNH74IT7B_cjs.n(n.toNumber()>>e.toNumber()));break}case 32:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}t.push(chunkNH74IT7B_cjs.n(n.toNumber()>>>e.toNumber()));break}case 33:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}n.type===2||e.type===2?t.push(chunkNH74IT7B_cjs.s(chunk6ADFAXTZ_cjs.q(n)&chunk6ADFAXTZ_cjs.q(e))):t.push(chunkNH74IT7B_cjs.n(n.toNumber()&e.toNumber()));break}case 34:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}n.type===2||e.type===2?t.push(chunkNH74IT7B_cjs.s(chunk6ADFAXTZ_cjs.q(n)|chunk6ADFAXTZ_cjs.q(e))):t.push(chunkNH74IT7B_cjs.n(n.toNumber()|e.toNumber()));break}case 35:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}n.type===2||e.type===2?t.push(chunkNH74IT7B_cjs.s(chunk6ADFAXTZ_cjs.q(n)^chunk6ADFAXTZ_cjs.q(e))):t.push(chunkNH74IT7B_cjs.n(n.toNumber()^e.toNumber()));break}case 36:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}e.type===2?t.push(chunkNH74IT7B_cjs.s(~e.value)):t.push(chunkNH74IT7B_cjs.n(~e.toNumber()));break}case 40:{let e=m(t),n=m(t);if(n.type===0&&e.type===0&&n.rational===void 0&&e.rational===void 0){t.push(chunkNH74IT7B_cjs.L(n.value===e.value));break}let o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.rational!==void 0||e.rational!==void 0){let i=chunk6ADFAXTZ_cjs.w(n,e);if(i!==null){t.push(chunkNH74IT7B_cjs.L(i===0));break}}if(n.type===0&&e.type===0)t.push(chunkNH74IT7B_cjs.L(n.value===e.value));else if(n.type===2||e.type===2){let i=chunk6ADFAXTZ_cjs.s(n,e);t.push(chunkNH74IT7B_cjs.L(i===null?n.toNumber()===e.toNumber():i===0));}else if(n.type===3&&e.type===3)t.push(chunkNH74IT7B_cjs.L(n.value===e.value));else if(n.type===6&&e.type===6){let{equal:i,sameMeasure:u}=chunk6ADFAXTZ_cjs.n(n,e);t.push(chunkNH74IT7B_cjs.L(u&&i));}else if(n.type===7&&e.type===7)t.push(chunk5N4XDULO_cjs.aa(n.value,e.value,(i,u)=>i===u));else if(n.type===14||e.type===14)if(n.type===14&&e.type===14){let i=n.value,u=e.value;t.push(chunkNH74IT7B_cjs.L(i.r===u.r&&i.g===u.g&&i.b===u.b&&i.a===u.a));}else t.push(chunkNH74IT7B_cjs.L(!1));else t.push(chunkNH74IT7B_cjs.L(n.toNumber()===e.toNumber()));break}case 41:{let e=m(t),n=m(t);if(n.type===0&&e.type===0&&n.rational===void 0&&e.rational===void 0){t.push(chunkNH74IT7B_cjs.L(n.value!==e.value));break}let o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.rational!==void 0||e.rational!==void 0){let i=chunk6ADFAXTZ_cjs.w(n,e);if(i!==null){t.push(chunkNH74IT7B_cjs.L(i!==0));break}}if(n.type===0&&e.type===0)t.push(chunkNH74IT7B_cjs.L(n.value!==e.value));else if(n.type===2||e.type===2){let i=chunk6ADFAXTZ_cjs.s(n,e);t.push(chunkNH74IT7B_cjs.L(i===null?n.toNumber()!==e.toNumber():i!==0));}else if(n.type===3&&e.type===3)t.push(chunkNH74IT7B_cjs.L(n.value!==e.value));else if(n.type===6&&e.type===6){let{equal:i,sameMeasure:u}=chunk6ADFAXTZ_cjs.n(n,e);t.push(chunkNH74IT7B_cjs.L(!u||!i));}else if(n.type===7&&e.type===7)t.push(chunk5N4XDULO_cjs.aa(n.value,e.value,(i,u)=>i!==u));else if(n.type===14||e.type===14)if(n.type===14&&e.type===14){let i=n.value,u=e.value;t.push(chunkNH74IT7B_cjs.L(!(i.r===u.r&&i.g===u.g&&i.b===u.b&&i.a===u.a)));}else t.push(chunkNH74IT7B_cjs.L(!0));else t.push(chunkNH74IT7B_cjs.L(n.toNumber()!==e.toNumber()));break}case 42:{let e=m(t),n=m(t);if(n.type===0&&e.type===0&&n.rational===void 0&&e.rational===void 0){t.push(chunkNH74IT7B_cjs.L(n.value<e.value));break}let o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.rational!==void 0||e.rational!==void 0){let i=chunk6ADFAXTZ_cjs.w(n,e);if(i!==null){t.push(chunkNH74IT7B_cjs.L(i<0));break}}if(n.type===0&&e.type===0)t.push(chunkNH74IT7B_cjs.L(n.value<e.value));else if(n.type===2||e.type===2){let i=chunk6ADFAXTZ_cjs.s(n,e);t.push(chunkNH74IT7B_cjs.L(i===null?n.toNumber()<e.toNumber():i<0));}else if(n.type===6&&e.type===6){let{lv:i,rv:u,equal:c,sameMeasure:p}=chunk6ADFAXTZ_cjs.n(n,e);t.push(p?chunkNH74IT7B_cjs.L(!c&&i<u):chunk6ADFAXTZ_cjs.p(n,e));}else n.type===7&&e.type===7?t.push(chunk5N4XDULO_cjs.aa(n.value,e.value,(i,u)=>i<u)):t.push(chunkNH74IT7B_cjs.L(n.toNumber()<e.toNumber()));break}case 43:{let e=m(t),n=m(t);if(n.type===0&&e.type===0&&n.rational===void 0&&e.rational===void 0){t.push(chunkNH74IT7B_cjs.L(n.value<=e.value));break}let o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.rational!==void 0||e.rational!==void 0){let i=chunk6ADFAXTZ_cjs.w(n,e);if(i!==null){t.push(chunkNH74IT7B_cjs.L(i<=0));break}}if(n.type===0&&e.type===0)t.push(chunkNH74IT7B_cjs.L(n.value<=e.value));else if(n.type===2||e.type===2){let i=chunk6ADFAXTZ_cjs.s(n,e);t.push(chunkNH74IT7B_cjs.L(i===null?n.toNumber()<=e.toNumber():i<=0));}else if(n.type===6&&e.type===6){let{lv:i,rv:u,equal:c,sameMeasure:p}=chunk6ADFAXTZ_cjs.n(n,e);t.push(p?chunkNH74IT7B_cjs.L(c||i<=u):chunk6ADFAXTZ_cjs.p(n,e));}else n.type===7&&e.type===7?t.push(chunk5N4XDULO_cjs.aa(n.value,e.value,(i,u)=>i<=u)):t.push(chunkNH74IT7B_cjs.L(n.toNumber()<=e.toNumber()));break}case 44:{let e=m(t),n=m(t);if(n.type===0&&e.type===0&&n.rational===void 0&&e.rational===void 0){t.push(chunkNH74IT7B_cjs.L(n.value>e.value));break}let o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.rational!==void 0||e.rational!==void 0){let i=chunk6ADFAXTZ_cjs.w(n,e);if(i!==null){t.push(chunkNH74IT7B_cjs.L(i>0));break}}if(n.type===0&&e.type===0)t.push(chunkNH74IT7B_cjs.L(n.value>e.value));else if(n.type===2||e.type===2){let i=chunk6ADFAXTZ_cjs.s(n,e);t.push(chunkNH74IT7B_cjs.L(i===null?n.toNumber()>e.toNumber():i>0));}else if(n.type===6&&e.type===6){let{lv:i,rv:u,equal:c,sameMeasure:p}=chunk6ADFAXTZ_cjs.n(n,e);t.push(p?chunkNH74IT7B_cjs.L(!c&&i>u):chunk6ADFAXTZ_cjs.p(n,e));}else n.type===7&&e.type===7?t.push(chunk5N4XDULO_cjs.aa(n.value,e.value,(i,u)=>i>u)):t.push(chunkNH74IT7B_cjs.L(n.toNumber()>e.toNumber()));break}case 45:{let e=m(t),n=m(t);if(n.type===0&&e.type===0&&n.rational===void 0&&e.rational===void 0){t.push(chunkNH74IT7B_cjs.L(n.value>=e.value));break}let o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.rational!==void 0||e.rational!==void 0){let i=chunk6ADFAXTZ_cjs.w(n,e);if(i!==null){t.push(chunkNH74IT7B_cjs.L(i>=0));break}}if(n.type===0&&e.type===0)t.push(chunkNH74IT7B_cjs.L(n.value>=e.value));else if(n.type===2||e.type===2){let i=chunk6ADFAXTZ_cjs.s(n,e);t.push(chunkNH74IT7B_cjs.L(i===null?n.toNumber()>=e.toNumber():i>=0));}else if(n.type===6&&e.type===6){let{lv:i,rv:u,equal:c,sameMeasure:p}=chunk6ADFAXTZ_cjs.n(n,e);t.push(p?chunkNH74IT7B_cjs.L(c||i>=u):chunk6ADFAXTZ_cjs.p(n,e));}else n.type===7&&e.type===7?t.push(chunk5N4XDULO_cjs.aa(n.value,e.value,(i,u)=>i>=u)):t.push(chunkNH74IT7B_cjs.L(n.toNumber()>=e.toNumber()));break}case 130:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}t.push(chunkNH74IT7B_cjs.L(Ee(n)&&Ee(e)));break}case 131:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}t.push(chunkNH74IT7B_cjs.L(Ee(n)||Ee(e)));break}case 132:{let e=m(t),n=m(t),o=m(t),i=chunkNH74IT7B_cjs.Q(o);if(i){t.push(i);break}t.push(Ee(o)?n:e);break}case 50:case 161:{let e;if(b===161){let c=v(f,N++,b,"plugin-function index (low byte)"),p=v(f,N++,b,"plugin-function index (high byte)");e=c|p<<8;}else e=v(f,N++,b,"plugin-function index");let n=v(f,N++,b,"argument count"),o=[];for(let c=0;c<n;c++)o.push(m(t));o.reverse();let i=a.context.pluginFunctions[e],u=chunkNH74IT7B_cjs.R(o);if(u)t.push(u);else if(!i)t.push(chunkNH74IT7B_cjs.P("UNKNOWN_PLUGIN_FUNCTION",`Plugin function index ${e} is not registered with this engine`));else {let c=i(o,d);if(c instanceof Promise){if(!a.context.networkEnabled){c.catch(()=>{}),t.push(chunkNH74IT7B_cjs.P("NETWORK_DISABLED","Live data is switched off for this engine (network.enabled is false), so the result of this call was not awaited"));break}let p=`plugin:${e}:${o.map(R=>`${R.type}:${String(R.value??"")}${R.unit?`:${R.unit}`:""}`).join("|")}`,_=a.activeSignal,A=a.context.pluginFunctionOwners[e]??"";return {type:"pending",queryKey:p,resolver:c,packageId:A,signal:_}}t.push(c);}break}case 51:{let e=v(f,N++,b,"builtin-function index"),n=v(f,N++,b,"argument count"),o=Xn(e,n);if(o)throw o;let i=[],u=!1;for(let _=0;_<n;_++){let A=m(t);A.type===9&&(u=!0),i.push(A);}let c=chunkNH74IT7B_cjs.R(i);if(c){t.push(c);break}let p=chunk6ADFAXTZ_cjs.F[e];if(p){let _=i.reverse(),A=u&&!chunk6ADFAXTZ_cjs.g.has(e);t.push(A?chunk6ADFAXTZ_cjs.j(e,_):p(_));}else t.push(chunkNH74IT7B_cjs.P("UNKNOWN_BUILTIN_FUNCTION",`Builtin function index ${e} is not registered`));break}case 150:{let e=v(f,N++,b,"function-body index"),n=w?.[e];if(!n)throw chunk6SYU4MH7_cjs.c.internal("INTERNAL_MISSING_FUNCTION_BODY",`Internal error: DEFINE_USER_FUNCTION referenced missing body index ${e}`,{bodyIdx:e});a.defineUserFunction(n.name,n.params,n.program);break}case 151:{let e=Q(f,N++,D,b,"function-name index"),n=v(f,N++,b,"argument count"),o=[];for(let p=0;p<n;p++)o.push(m(t));o.reverse();let i=a.getUserFunction(e);if(!i)throw chunk6SYU4MH7_cjs.c.execution("UNDEFINED_FUNCTION",`Undefined function: ${e}`,{name:e});if(n!==i.params.length)throw chunk6SYU4MH7_cjs.c.execution("FUNCTION_ARITY_MISMATCH",`${e} expects ${i.params.length} argument(s) but got ${n}`,{name:e,expected:i.params.length,actual:n});let u=new Map;for(let p=0;p<i.params.length;p++)u.set(i.params[p],o[p]);chunkNH74IT7B_cjs.f(),a.pushCallFrame(u);let c;try{c=ln(i.program,a,s,l,d);}finally{a.popCallFrame();}if(c.type==="pending")throw chunk6SYU4MH7_cjs.c.execution("USER_FUNCTION_ASYNC_UNSUPPORTED",`${e}: user-defined functions with async bodies (weather, stocks, currency, ...) aren't supported`,{name:e});if(c.type==="error")throw c.error;t.push(c.value);break}case 60:{let e=Q(f,N++,D,b,"variable-name index"),n=a.getVar(e);if(n!==void 0)t.push(n);else if(h)t.push(chunkNH74IT7B_cjs.K(chunk5N4XDULO_cjs.q(e)));else throw chunk6SYU4MH7_cjs.c.execution("UNDEFINED_VARIABLE",`Undefined variable: ${e}`,{varName:e});break}case 61:{let e=m(t),n=Q(f,N++,D,b,"variable-name index");a.setVar(n,H?chunkNH74IT7B_cjs.k(e):e),t.push(e);break}case 62:{let e=Q(f,N++,D,b,"variable-name index"),n=chunk6ADFAXTZ_cjs.M.get(e);if(n===void 0)throw chunk6SYU4MH7_cjs.c.internal({code:"GLOBAL_VARIABLE_NOT_RESOLVED",message:`Global variable "${e}" was read before it resolved`,expected:`global variable "${e}" to already be resolved (async preflight should guarantee this)`,found:"no value in the global variable store",context:{varName:e}});t.push(n);break}case 63:{let e=m(t),n=Q(f,N++,D,b,"variable-name index");chunk6ADFAXTZ_cjs.M.set(n,H?chunkNH74IT7B_cjs.k(e):e),t.push(e);break}case 70:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}t.push(chunkNH74IT7B_cjs.n(e.toNumber()));break}case 71:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}if(e.type===14){let o=e.value;t.push(chunkNH74IT7B_cjs.G({r:o.r,g:o.g,b:o.b,a:o.a,format:"hex"}));break}t.push(chunkNH74IT7B_cjs.r(e.type===2?e.value:e.toNumber()));break}case 74:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}t.push(chunkNH74IT7B_cjs.N(e.toNumber()));break}case 140:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}t.push(chunkNH74IT7B_cjs.t(e.rational!==void 0?At(e.rational):Tt(e.toNumber())));break}case 141:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}t.push(chunkNH74IT7B_cjs.t(Ct(e)));break}case 142:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}t.push(chunkNH74IT7B_cjs.t(Ot(e.toNumber())));break}case 143:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}t.push(chunkNH74IT7B_cjs.r(e.type===2?e.value:e.toNumber(),"bin"));break}case 144:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}t.push(chunkNH74IT7B_cjs.r(e.type===2?e.value:e.toNumber(),"oct"));break}case 145:{let e=j(m(t),b,"converter name").toLowerCase(),n=m(t),o=chunkNH74IT7B_cjs.Q(n);if(o){t.push(o);break}let i=chunk6ADFAXTZ_cjs.J.get(e);i?t.push(i(n,d)):t.push(chunkNH74IT7B_cjs.P("UNKNOWN_AS_CONVERTER",`Unknown converter "as ${e}"`));break}case 80:{let e=j(m(t),b,"unit name"),n=m(t),o=chunkNH74IT7B_cjs.Q(n);if(o){t.push(o);break}let i=chunk6ADFAXTZ_cjs.c(n,e);i?t.push(chunkNH74IT7B_cjs.v(n.toNumber(),e,i)):t.push(chunkNH74IT7B_cjs.u(n.toNumber(),e));break}case 81:{let e=j(m(t),b,"target unit name"),n=j(m(t),b,"source unit name"),o=m(t),i=chunkNH74IT7B_cjs.Q(o);if(i){t.push(i);break}let u=o.toNumber(),c=chunkPHWIO4P3_cjs.c(n);if(c&&chunkPHWIO4P3_cjs.c(e)===c)t.push(chunkNH74IT7B_cjs.u(chunkPHWIO4P3_cjs.e(u,n,e),e));else if(chunkSF5QVUEI_cjs.c.isCurrency(n)&&chunkSF5QVUEI_cjs.c.isCurrency(e)){let p=chunkSF5QVUEI_cjs.c.convertSync(u,n,e);p!==null?t.push(chunkNH74IT7B_cjs.u(p,e)):t.push(Kn(a,n,e));}else {let p=chunkPHWIO4P3_cjs.k(u,n,e);p!==null?t.push(chunkNH74IT7B_cjs.u(p,e)):t.push(Qn(n,e));}break}case 85:{let e=j(m(t),b,"unit name"),n=chunkPHWIO4P3_cjs.f(e);t.push(chunkNH74IT7B_cjs.t(n.length>0?n.join(", "):`No known units for "${e}"`));break}case 83:{let e=j(m(t),b,"unit name"),n=m(t),o=chunkNH74IT7B_cjs.Q(n);if(o){t.push(o);break}let{value:i,unit:u}=chunkPHWIO4P3_cjs.h(n.toNumber(),e);t.push(chunkNH74IT7B_cjs.u(i,u));break}case 84:{let e=j(m(t),b,"target unit name"),n=m(t),o=chunkNH74IT7B_cjs.Q(n);if(o){t.push(o);break}if(n.type===6){let i=n.unit,u=n.toNumber(),c=chunkPHWIO4P3_cjs.c(i);if(c&&chunkPHWIO4P3_cjs.c(e)===c)t.push(chunkNH74IT7B_cjs.u(chunkPHWIO4P3_cjs.e(u,i,e),e));else if(chunkSF5QVUEI_cjs.c.isCurrency(i)&&chunkSF5QVUEI_cjs.c.isCurrency(e)){let p=chunkSF5QVUEI_cjs.c.convertSync(u,i,e);p!==null?t.push(chunkNH74IT7B_cjs.u(p,e)):t.push(Kn(a,i,e));}else {let p=chunkPHWIO4P3_cjs.k(u,i,e);p!==null?t.push(chunkNH74IT7B_cjs.u(p,e)):t.push(Qn(i,e));}}else n.type===4?t.push(_t(n,e,a)):t.push(chunkNH74IT7B_cjs.u(n.toNumber(),e));break}case 82:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}t.push(chunkNH74IT7B_cjs.n(e.toNumber()));break}case 110:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(e.type!==6||!e.unit){t.push(chunkNH74IT7B_cjs.P("RATE_MISSING_DENOMINATOR_UNIT",'Cannot build a rate: the right-hand side of "/" has no unit'));break}let i=n.type===6?n.unit??"":"";t.push(chunkNH74IT7B_cjs.w(n.toNumber()/e.toNumber(),i,e.unit));break}case 111:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.type!==6||!chunkNH74IT7B_cjs.x(n.unit)){t.push(chunkNH74IT7B_cjs.P("RATE_MUL_LEFT_NOT_A_RATE",'Left-hand side of a rate multiplication must be a rate (e.g. "$50/week")'));break}if(e.type!==6||!e.unit){t.push(chunkNH74IT7B_cjs.P("RATE_MUL_RIGHT_MISSING_UNIT","Right-hand side of a rate multiplication must have a unit matching the rate's denominator"));break}t.push(un(n,e));break}case 112:{let e=j(m(t),b,"denominator unit name"),n=m(t),o=chunkNH74IT7B_cjs.Q(n);if(o){t.push(o);break}if(n.type!==6||!chunkNH74IT7B_cjs.x(n.unit)){t.push(chunkNH74IT7B_cjs.P("RATE_CONVERT_NOT_A_RATE","Cannot convert a non-rate value's denominator"));break}let{numerator:i,denominator:u}=chunkNH74IT7B_cjs.y(n.unit),c=chunkPHWIO4P3_cjs.c(u),p=chunkPHWIO4P3_cjs.c(e);if(!c||c!==p){t.push(chunkNH74IT7B_cjs.P("RATE_CONVERT_MEASURE_MISMATCH",`Cannot convert a "${u}"-denominated rate to "${e}" \u2014 different measures`));break}let _=chunkPHWIO4P3_cjs.e(1,e,u);t.push(chunkNH74IT7B_cjs.w(n.toNumber()*_,i,e));break}case 120:{let e=m(t),n=chunkNH74IT7B_cjs.Q(e);if(n){t.push(n);break}let o=e.toNumber(),i=a.context.calendar,u=i.fields(i.now());t.push(chunkNH74IT7B_cjs.M(i.localWallClock(u.year,u.month0,u.day,o),"datetime"));break}case 90:t.push(chunkNH74IT7B_cjs.M(a.context.calendar.now(),"instant"));break;case 95:t.push(chunkNH74IT7B_cjs.M(k[an(f,N++,b,"constant-pool index",k.length,"number-pool")],"date"));break;case 91:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}t.push(chunkNH74IT7B_cjs.M(Ne(n.toNumber(),e,1,a),n.grain,n.zone));break}case 92:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}t.push(chunkNH74IT7B_cjs.M(Ne(n.toNumber(),e,-1,a),n.grain,n.zone));break}case 96:{let e=v(f,N++,b,"workday offset direction")===1?-1:1,n=m(t),o=m(t),i=chunkNH74IT7B_cjs.Q(o,n);if(i){t.push(i);break}if(n.type!==4){t.push(chunkNH74IT7B_cjs.P(chunk6SYU4MH7_cjs.r.WORKDAY_OFFSET_EXPECTED_DATE,`"working days after/before/from" expects a date to count from, got ${chunkNH74IT7B_cjs.g[n.type]??"an unsupported value"}`));break}t.push(chunkNH74IT7B_cjs.M(at(n.toNumber(),e*o.toNumber(),a)));break}case 97:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.type!==4||e.type!==4){t.push(chunkNH74IT7B_cjs.P(chunk6SYU4MH7_cjs.r.WORKDAYS_BETWEEN_EXPECTED_DATES,`"working days between" expects two dates, got ${chunkNH74IT7B_cjs.g[n.type]??"an unsupported value"} and ${chunkNH74IT7B_cjs.g[e.type]??"an unsupported value"}`));break}let i=Math.ceil((a.getMaxDateOffsetYears()-a.getMinDateOffsetYears())*366),u=Gn(n.toNumber(),e.toNumber(),c=>a.isHoliday(c),i,a.context.calendar);if(u===null){t.push(chunkNH74IT7B_cjs.P(chunk6SYU4MH7_cjs.r.WORKDAYS_BETWEEN_RANGE_TOO_LARGE,`The two dates are more than ${a.getMaxDateOffsetYears()-a.getMinDateOffsetYears()} years apart, past the working-day count's limit`));break}t.push(chunkNH74IT7B_cjs.n(u));break}case 93:case 94:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}let i=e.toNumber(),u=n.toNumber(),c=a.context.calendar.fields(u).weekday,p=b===93?(i-c+7)%7:(c-i+7)%7;p===0&&(p=7),t.push(chunkNH74IT7B_cjs.M(rt(u,b===93?p:-p,a.context.calendar)));break}case 152:{let e=v(f,N++,b,"row count"),n=v(f,N++,b,"column count"),o=e*n,i=chunkNH74IT7B_cjs.e(o,"matrix cells"),u=null;for(let c=o-1;c>=0;c--){let p=m(t);u===null&&(u=chunkNH74IT7B_cjs.Q(p)),i[c]=p.type===10||p.type===9?p.value:p.toNumber();}if(u){t.push(u);break}t.push(chunkNH74IT7B_cjs.C(e,n,chunk5N4XDULO_cjs.Y(e,n,i)));break}case 153:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.type!==7){t.push(chunkNH74IT7B_cjs.P("MATRIX_INDEX_NOT_A_MATRIX",'Cannot index a non-matrix value with "[...]".'));break}let i=n.value,u=Math.trunc(e.toNumber());if(u<0||u>=i.data.length){t.push(chunkNH74IT7B_cjs.P("MATRIX_INDEX_OUT_OF_BOUNDS",`Index ${u} is out of bounds for a ${i.rows}x${i.cols} matrix (valid range: 0-${i.data.length-1}).`));break}let c=chunk5N4XDULO_cjs.S(i,u);t.push(chunk5N4XDULO_cjs.X(c));break}case 154:{let e=m(t),n=m(t),o=m(t),i=chunkNH74IT7B_cjs.Q(o,n,e);if(i){t.push(i);break}if(o.type!==7){t.push(chunkNH74IT7B_cjs.P("MATRIX_INDEX_NOT_A_MATRIX",'Cannot index a non-matrix value with "[...]".'));break}let u=o.value,c=Math.trunc(n.toNumber()),p=Math.trunc(e.toNumber());if(!chunk5N4XDULO_cjs.U(u,c,p)){t.push(chunkNH74IT7B_cjs.P("MATRIX_INDEX_OUT_OF_BOUNDS",`[${c}, ${p}] is out of bounds for a ${u.rows}x${u.cols} matrix.`));break}let _=chunk5N4XDULO_cjs.T(u,c,p);t.push(chunk5N4XDULO_cjs.X(_));break}case 156:{let e=m(t),n=m(t),o=chunkNH74IT7B_cjs.Q(n,e);if(o){t.push(o);break}if(n.type!==0||e.type!==0){t.push(chunkNH74IT7B_cjs.P("INVALID_RANGE_BOUND",`A range's bounds must be plain numbers (e.g. "0:3").`));break}let i=n.value,u=e.value;if(!Number.isInteger(i)||!Number.isInteger(u)){t.push(chunkNH74IT7B_cjs.P("NON_INTEGER_RANGE_BOUND",`A range's bounds must be whole numbers, got "${i}:${u}".`));break}if(i>u){t.push(chunkNH74IT7B_cjs.P("DESCENDING_RANGE",`A range's min (${i}) cannot be greater than its max (${u}) \u2014 did you mean "${u}:${i}"?`));break}t.push(chunkNH74IT7B_cjs.F(i,u));break}case 155:{let e=m(t),n=m(t),o=m(t),i=chunkNH74IT7B_cjs.Q(o,n,e);if(i){t.push(i);break}if(o.type!==7){t.push(chunkNH74IT7B_cjs.P("MATRIX_INDEX_NOT_A_MATRIX",'Cannot slice a non-matrix value with "[...]".'));break}if(n.type!==8||e.type!==8){t.push(chunkNH74IT7B_cjs.P("INVALID_MATRIX_SLICE_BOUND",'Matrix slicing needs range bounds (e.g. "a[0:1, 1:2]").'));break}let u=o.value,c=n.value,p=e.value;if(c.min<0||c.max>=u.rows||p.min<0||p.max>=u.cols){t.push(chunkNH74IT7B_cjs.P("MATRIX_INDEX_OUT_OF_BOUNDS",`Slice [${c.min}:${c.max}, ${p.min}:${p.max}] is out of bounds for a ${u.rows}x${u.cols} matrix.`));break}let _=c.max-c.min+1,A=p.max-p.min+1,R=chunkNH74IT7B_cjs.e(_*A,"matrix cells");for(let L=0;L<_;L++)for(let O=0;O<A;O++)R[L+O*_]=chunk5N4XDULO_cjs.T(u,c.min+L,p.min+O);t.push(chunkNH74IT7B_cjs.C(_,A,R));break}case 157:{let e=v(f,N++,b,"body kind"),n=v(f,N++,b,"body reference"),o=v(f,N++,b,"collection count");Hn(e,n,b);let i=new Array(o);for(let M=o-1;M>=0;M--)i[M]=m(t);let u=[],c;if(e===0){let M=V?.[n];if(!M)throw chunk6SYU4MH7_cjs.c.internal("INTERNAL_MISSING_ANONYMOUS_BODY",`Internal error: MAP_INVOKE referenced missing anonymous body index ${n}`,{ref:n});u=M.params,c=M.program;}else if(e===2){let M=Ce(D,n,b),S=a.getUserFunction(M);if(!S){t.push(chunkNH74IT7B_cjs.P("UNDEFINED_FUNCTION",`map: undefined function "${M}"`));break}if(S.params.length!==o){t.push(chunkNH74IT7B_cjs.P("FUNCTION_ARITY_MISMATCH",`map: "${M}" expects ${S.params.length} argument(s) but ${o} collection(s) were given`));break}u=S.params,c=S.program;}let p=-1,_=new Array(o),A;for(let M=0;M<o;M++){let S=chunk5N4XDULO_cjs.ea(i[M],a.getMaxCollectionSize());if(!Array.isArray(S)){A=S;break}if(chunkNH74IT7B_cjs.c(S.length,"collection elements"),p===-1)p=S.length;else if(S.length!==p){A=chunkNH74IT7B_cjs.P("MAP_COLLECTION_LENGTH_MISMATCH",`map: all collections must have the same length (got ${p} and ${S.length}).`);break}_[M]=S;}if(A){t.push(A);break}let R=chunkNH74IT7B_cjs.e(p,"matrix cells"),L;for(let M=0;M<p;M++){let S=new Array(o);for(let ee=0;ee<o;ee++)S[ee]=_[ee][M];let P=e===1?chunk6ADFAXTZ_cjs.F[n]?.(S)??chunkNH74IT7B_cjs.P("UNKNOWN_BUILTIN_FUNCTION",`map: unknown builtin function index ${n}`):on(u,c,S,a,s,l,d,!!h),ce=chunkNH74IT7B_cjs.Q(P);if(ce){L=ce;break}R[M]=P.type===10||P.type===9?P.value:P.toNumber();}if(L){t.push(L);break}let O=i[0],B=O?.type===7?O.value:void 0;B&&B.rows*B.cols===p?t.push(chunkNH74IT7B_cjs.C(B.rows,B.cols,R)):t.push(chunkNH74IT7B_cjs.C(1,p,R));break}case 160:{let e=v(f,N++,b,"plot body reference"),n=v(f,N++,b,"plot expression"),o=Ce(D,n,b),i=m(t).toNumber(),u=m(t).toNumber(),c=V?.[e];if(!c)throw chunk6SYU4MH7_cjs.c.internal("INTERNAL_MISSING_ANONYMOUS_BODY",`Internal error: PLOT_INVOKE referenced missing anonymous body index ${e}`,{ref:e});if(!Number.isFinite(u)||!Number.isFinite(i)){t.push(chunkNH74IT7B_cjs.P("PLOT_INVALID_RANGE",`plot: the range bounds must be finite numbers (got ${u} to ${i})`));break}let p=[],_=0,A;for(let M=0;M<rn;M++){let S=u+M/(rn-1)*(i-u),P;try{P=on(c.params,c.program,[chunkNH74IT7B_cjs.n(S)],a,s,l,d,!!h);}catch(ee){let Ue=chunk6SYU4MH7_cjs.d(ee);if(!bt.has(Ue.code))throw ee;_++,A=chunkNH74IT7B_cjs.P(Ue.code,Ue.message);continue}if(P.type===13||P.type===12){_++,A=P;continue}let ce=P.toNumber();Number.isFinite(ce)&&p.push([S,ce]);}if(_===rn&&A!==void 0){t.push(chunkNH74IT7B_cjs.P(String(A.value),`plot: ${o} has no value at any point over [${u}, ${i}]: ${String(A.unit)}`));break}let R=p.map(M=>M[1]),L=R.length?Math.min(...R):0,O=R.length?Math.max(...R):0,B=M=>Number.isInteger(M)?String(M):String(Number(M.toFixed(2)));t.push(chunkNH74IT7B_cjs.I({kind:"plot",points:p,label:`${o} over [${B(u)}, ${B(i)}]`,domain:[u,i],range:[L,O],expr:o}));break}case 158:{let e=v(f,N++,b,"body kind"),n=v(f,N++,b,"body reference"),o=v(f,N++,b,"initial-value flag");Hn(e,n,b);let i=o?m(t):void 0,u=m(t),c=[],p;if(e===0){let O=V?.[n];if(!O)throw chunk6SYU4MH7_cjs.c.internal("INTERNAL_MISSING_ANONYMOUS_BODY",`Internal error: REDUCE_INVOKE referenced missing anonymous body index ${n}`,{ref:n});c=O.params,p=O.program;}else if(e===2){let O=Ce(D,n,b),B=a.getUserFunction(O);if(!B){t.push(chunkNH74IT7B_cjs.P("UNDEFINED_FUNCTION",`reduce: undefined function "${O}"`));break}if(B.params.length!==2){t.push(chunkNH74IT7B_cjs.P("FUNCTION_ARITY_MISMATCH",`reduce: "${O}" must take exactly 2 arguments (accumulator, element), got ${B.params.length}`));break}c=B.params,p=B.program;}let _=chunk5N4XDULO_cjs.ea(u,a.getMaxCollectionSize());if(!Array.isArray(_)){t.push(_);break}chunkNH74IT7B_cjs.c(_.length,"collection elements");let A,R;if(i!==void 0){let O=chunkNH74IT7B_cjs.Q(i);if(O){t.push(O);break}A=i,R=0;}else {if(_.length===0){t.push(chunkNH74IT7B_cjs.P("REDUCE_EMPTY_COLLECTION","reduce: cannot reduce an empty collection without an initial value."));break}A=_[0],R=1;}let L;for(let O=R;O<_.length;O++){let B=[A,_[O]],M=e===1?chunk6ADFAXTZ_cjs.F[n]?.(B)??chunkNH74IT7B_cjs.P("UNKNOWN_BUILTIN_FUNCTION",`reduce: unknown builtin function index ${n}`):on(c,p,B,a,s,l,d,!!h),S=chunkNH74IT7B_cjs.Q(M);if(S){L=S;break}A=M;}if(L){t.push(L);break}t.push(A);break}case 159:{let e=v(f,N++,b,"body reference"),n=V?.[e];if(!n)throw chunk6SYU4MH7_cjs.c.internal("INTERNAL_MISSING_ANONYMOUS_BODY",`Internal error: BIND_UNKNOWN referenced missing anonymous body index ${e}`,{ref:e});t.push(ht(n.params[0],n.program,a,s,l,d,!!h));break}default:throw oe("MALFORMED_BYTECODE_UNKNOWN_OPCODE",b,"has no handler in this virtual machine","an opcode the dispatch switch handles (see parser/OpCode.ts)",`opcode ${b} at offset ${N-1}`,{offset:N-1})}}let I=m(t);return {type:"value",value:H?chunkNH74IT7B_cjs.k(I):I}}catch(I){return t.length>Z&&(t.length=Z),{type:"error",error:chunk6SYU4MH7_cjs.d(I)}}finally{chunkNH74IT7B_cjs.b();}}exports.a=$n;exports.b=ma;exports.c=ln;//# sourceMappingURL=chunk-DTOSRC6E.cjs.map
2
+ //# sourceMappingURL=chunk-DTOSRC6E.cjs.map