@cortex-js/compute-engine 0.129.0 → 0.129.1

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 (433) hide show
  1. package/dist/esm-min/chunks/{chunk-RKFNDUDQ.js → chunk-75MH3VS7.js} +3 -3
  2. package/dist/esm-min/chunks/{chunk-3XFZFOXD.js → chunk-S6UB43FH.js} +1 -1
  3. package/dist/esm-min/cli/epsil.js +1 -1
  4. package/dist/esm-min/compile.js +2 -2
  5. package/dist/esm-min/compute-engine.js +2 -2
  6. package/dist/esm-min/core.js +2 -2
  7. package/dist/esm-min/epsil.js +3 -3
  8. package/dist/esm-min/identities.js +2 -2
  9. package/dist/esm-min/integration-rules.js +3 -3
  10. package/dist/esm-min/interval.js +2 -2
  11. package/dist/esm-min/latex-syntax.js +2 -2
  12. package/dist/esm-min/math-json.js +2 -2
  13. package/dist/esm-min/numerics.js +2 -2
  14. package/dist/types/big-decimal/big-decimal.d.ts +1 -1
  15. package/dist/types/big-decimal/index.d.ts +1 -1
  16. package/dist/types/big-decimal/transcendentals.d.ts +1 -1
  17. package/dist/types/big-decimal/utils.d.ts +1 -1
  18. package/dist/types/common/ansi-codes.d.ts +1 -1
  19. package/dist/types/common/cache-stats.d.ts +1 -1
  20. package/dist/types/common/configuration-change.d.ts +1 -1
  21. package/dist/types/common/debug-hook.d.ts +1 -1
  22. package/dist/types/common/debug.d.ts +1 -1
  23. package/dist/types/common/fuzzy-string-match.d.ts +1 -1
  24. package/dist/types/common/grapheme-splitter.d.ts +1 -1
  25. package/dist/types/common/interruptible.d.ts +1 -1
  26. package/dist/types/common/kleene.d.ts +1 -1
  27. package/dist/types/common/one-of.d.ts +1 -1
  28. package/dist/types/common/signals.d.ts +1 -1
  29. package/dist/types/common/styled-text.d.ts +1 -1
  30. package/dist/types/common/terminal.d.ts +1 -1
  31. package/dist/types/common/type/ast-nodes.d.ts +1 -1
  32. package/dist/types/common/type/boxed-type.d.ts +1 -1
  33. package/dist/types/common/type/compatibility.d.ts +1 -1
  34. package/dist/types/common/type/conditional-conformance.d.ts +1 -1
  35. package/dist/types/common/type/effects.d.ts +1 -1
  36. package/dist/types/common/type/facts.d.ts +1 -1
  37. package/dist/types/common/type/immutable.d.ts +1 -1
  38. package/dist/types/common/type/instantiate.d.ts +1 -1
  39. package/dist/types/common/type/intern.d.ts +1 -1
  40. package/dist/types/common/type/lexer.d.ts +1 -1
  41. package/dist/types/common/type/numeric-range.d.ts +1 -1
  42. package/dist/types/common/type/parse.d.ts +1 -1
  43. package/dist/types/common/type/parser.d.ts +1 -1
  44. package/dist/types/common/type/primitive.d.ts +1 -1
  45. package/dist/types/common/type/reduce.d.ts +1 -1
  46. package/dist/types/common/type/reference.d.ts +1 -1
  47. package/dist/types/common/type/serialize.d.ts +1 -1
  48. package/dist/types/common/type/size-cap.d.ts +1 -1
  49. package/dist/types/common/type/subtype.d.ts +1 -1
  50. package/dist/types/common/type/type-builder.d.ts +1 -1
  51. package/dist/types/common/type/types.d.ts +1 -1
  52. package/dist/types/common/type/utils.d.ts +1 -1
  53. package/dist/types/common/type/variance.d.ts +1 -1
  54. package/dist/types/common/type/widen-value.d.ts +1 -1
  55. package/dist/types/common/utils.d.ts +1 -1
  56. package/dist/types/compile.d.ts +1 -1
  57. package/dist/types/compute-engine/assume.d.ts +1 -1
  58. package/dist/types/compute-engine/boxed-expression/abstract-boxed-expression.d.ts +1 -1
  59. package/dist/types/compute-engine/boxed-expression/ambient-chain.d.ts +1 -1
  60. package/dist/types/compute-engine/boxed-expression/apply.d.ts +1 -1
  61. package/dist/types/compute-engine/boxed-expression/arithmetic-add.d.ts +1 -1
  62. package/dist/types/compute-engine/boxed-expression/arithmetic-mul-div.d.ts +1 -1
  63. package/dist/types/compute-engine/boxed-expression/arithmetic-power.d.ts +1 -1
  64. package/dist/types/compute-engine/boxed-expression/ascii-math.d.ts +1 -1
  65. package/dist/types/compute-engine/boxed-expression/async-only-descendants.d.ts +1 -1
  66. package/dist/types/compute-engine/boxed-expression/binders.d.ts +1 -1
  67. package/dist/types/compute-engine/boxed-expression/binding-sites.d.ts +1 -1
  68. package/dist/types/compute-engine/boxed-expression/binding-tombstone.d.ts +1 -1
  69. package/dist/types/compute-engine/boxed-expression/box.d.ts +1 -1
  70. package/dist/types/compute-engine/boxed-expression/boxed-character.d.ts +1 -1
  71. package/dist/types/compute-engine/boxed-expression/boxed-dictionary.d.ts +1 -1
  72. package/dist/types/compute-engine/boxed-expression/boxed-function.d.ts +1 -1
  73. package/dist/types/compute-engine/boxed-expression/boxed-number.d.ts +1 -1
  74. package/dist/types/compute-engine/boxed-expression/boxed-object.d.ts +1 -1
  75. package/dist/types/compute-engine/boxed-expression/boxed-operator-definition.d.ts +1 -1
  76. package/dist/types/compute-engine/boxed-expression/boxed-patterns.d.ts +1 -1
  77. package/dist/types/compute-engine/boxed-expression/boxed-string.d.ts +1 -1
  78. package/dist/types/compute-engine/boxed-expression/boxed-symbol.d.ts +1 -1
  79. package/dist/types/compute-engine/boxed-expression/boxed-value-definition.d.ts +1 -1
  80. package/dist/types/compute-engine/boxed-expression/broadcast-cell-widening.d.ts +1 -1
  81. package/dist/types/compute-engine/boxed-expression/broadcast-lift-type.d.ts +1 -1
  82. package/dist/types/compute-engine/boxed-expression/cache.d.ts +1 -1
  83. package/dist/types/compute-engine/boxed-expression/call-result-type.d.ts +1 -1
  84. package/dist/types/compute-engine/boxed-expression/callback-arity.d.ts +1 -1
  85. package/dist/types/compute-engine/boxed-expression/canonical-utils.d.ts +1 -1
  86. package/dist/types/compute-engine/boxed-expression/canonical.d.ts +1 -1
  87. package/dist/types/compute-engine/boxed-expression/collection-element-memo.d.ts +1 -1
  88. package/dist/types/compute-engine/boxed-expression/compare.d.ts +1 -1
  89. package/dist/types/compute-engine/boxed-expression/conditional-value.d.ts +1 -1
  90. package/dist/types/compute-engine/boxed-expression/constants.d.ts +1 -1
  91. package/dist/types/compute-engine/boxed-expression/constraint-subject.d.ts +1 -1
  92. package/dist/types/compute-engine/boxed-expression/cycle-guard.d.ts +1 -1
  93. package/dist/types/compute-engine/boxed-expression/definition-guards.d.ts +1 -1
  94. package/dist/types/compute-engine/boxed-expression/derive-application-type.d.ts +1 -1
  95. package/dist/types/compute-engine/boxed-expression/diophantine.d.ts +1 -1
  96. package/dist/types/compute-engine/boxed-expression/effects-inference.d.ts +1 -1
  97. package/dist/types/compute-engine/boxed-expression/effects-of.d.ts +1 -1
  98. package/dist/types/compute-engine/boxed-expression/effects-provenance.d.ts +1 -1
  99. package/dist/types/compute-engine/boxed-expression/error-value.d.ts +1 -1
  100. package/dist/types/compute-engine/boxed-expression/exp-to-trig.d.ts +1 -1
  101. package/dist/types/compute-engine/boxed-expression/expand.d.ts +1 -1
  102. package/dist/types/compute-engine/boxed-expression/explain-labels.d.ts +1 -1
  103. package/dist/types/compute-engine/boxed-expression/explain.d.ts +1 -1
  104. package/dist/types/compute-engine/boxed-expression/expression-map.d.ts +1 -1
  105. package/dist/types/compute-engine/boxed-expression/factor.d.ts +1 -1
  106. package/dist/types/compute-engine/boxed-expression/flatten.d.ts +1 -1
  107. package/dist/types/compute-engine/boxed-expression/function-literal.d.ts +1 -1
  108. package/dist/types/compute-engine/boxed-expression/generic-instantiation.d.ts +1 -1
  109. package/dist/types/compute-engine/boxed-expression/hold.d.ts +1 -1
  110. package/dist/types/compute-engine/boxed-expression/inequality-bounds.d.ts +1 -1
  111. package/dist/types/compute-engine/boxed-expression/inferred-annotations.d.ts +1 -1
  112. package/dist/types/compute-engine/boxed-expression/infinite-point.d.ts +1 -1
  113. package/dist/types/compute-engine/boxed-expression/init-lazy-refs.d.ts +1 -1
  114. package/dist/types/compute-engine/boxed-expression/invisible-operator.d.ts +1 -1
  115. package/dist/types/compute-engine/boxed-expression/literal-tier.d.ts +1 -1
  116. package/dist/types/compute-engine/boxed-expression/logarithm.d.ts +1 -1
  117. package/dist/types/compute-engine/boxed-expression/machine-number.d.ts +1 -1
  118. package/dist/types/compute-engine/boxed-expression/match-dispatch.d.ts +1 -1
  119. package/dist/types/compute-engine/boxed-expression/match.d.ts +1 -1
  120. package/dist/types/compute-engine/boxed-expression/modular-arithmetic.d.ts +1 -1
  121. package/dist/types/compute-engine/boxed-expression/multivariate-gcd.d.ts +1 -1
  122. package/dist/types/compute-engine/boxed-expression/multivariate-poly.d.ts +1 -1
  123. package/dist/types/compute-engine/boxed-expression/named-arguments.d.ts +1 -1
  124. package/dist/types/compute-engine/boxed-expression/negate.d.ts +1 -1
  125. package/dist/types/compute-engine/boxed-expression/number-set-types.d.ts +1 -1
  126. package/dist/types/compute-engine/boxed-expression/numerics.d.ts +1 -1
  127. package/dist/types/compute-engine/boxed-expression/object-deps.d.ts +1 -1
  128. package/dist/types/compute-engine/boxed-expression/object-walk.d.ts +1 -1
  129. package/dist/types/compute-engine/boxed-expression/operand-descriptor.d.ts +1 -1
  130. package/dist/types/compute-engine/boxed-expression/order.d.ts +1 -1
  131. package/dist/types/compute-engine/boxed-expression/overload.d.ts +1 -1
  132. package/dist/types/compute-engine/boxed-expression/pattern-utils.d.ts +1 -1
  133. package/dist/types/compute-engine/boxed-expression/polynomial-degree.d.ts +1 -1
  134. package/dist/types/compute-engine/boxed-expression/polynomials.d.ts +1 -1
  135. package/dist/types/compute-engine/boxed-expression/predicates.d.ts +1 -1
  136. package/dist/types/compute-engine/boxed-expression/provisional-application.d.ts +1 -1
  137. package/dist/types/compute-engine/boxed-expression/recursive-list-builder.d.ts +1 -1
  138. package/dist/types/compute-engine/boxed-expression/rule-index.d.ts +1 -1
  139. package/dist/types/compute-engine/boxed-expression/rules.d.ts +1 -1
  140. package/dist/types/compute-engine/boxed-expression/serialize.d.ts +1 -1
  141. package/dist/types/compute-engine/boxed-expression/sgn.d.ts +1 -1
  142. package/dist/types/compute-engine/boxed-expression/simplify.d.ts +1 -1
  143. package/dist/types/compute-engine/boxed-expression/solve-congruence.d.ts +1 -1
  144. package/dist/types/compute-engine/boxed-expression/solve-domain.d.ts +1 -1
  145. package/dist/types/compute-engine/boxed-expression/solve-linear-system.d.ts +1 -1
  146. package/dist/types/compute-engine/boxed-expression/solve-system.d.ts +1 -1
  147. package/dist/types/compute-engine/boxed-expression/solve.d.ts +1 -1
  148. package/dist/types/compute-engine/boxed-expression/stochastic-equal.d.ts +1 -1
  149. package/dist/types/compute-engine/boxed-expression/tensor-view.d.ts +1 -1
  150. package/dist/types/compute-engine/boxed-expression/trigonometry.d.ts +1 -1
  151. package/dist/types/compute-engine/boxed-expression/tuple-pattern.d.ts +1 -1
  152. package/dist/types/compute-engine/boxed-expression/type-compatibility-error.d.ts +1 -1
  153. package/dist/types/compute-engine/boxed-expression/type-guards.d.ts +1 -1
  154. package/dist/types/compute-engine/boxed-expression/type-provenance.d.ts +1 -1
  155. package/dist/types/compute-engine/boxed-expression/utils.d.ts +1 -1
  156. package/dist/types/compute-engine/boxed-expression/validate.d.ts +1 -1
  157. package/dist/types/compute-engine/boxed-expression/value-membership.d.ts +1 -1
  158. package/dist/types/compute-engine/checkpoint-journal.d.ts +1 -1
  159. package/dist/types/compute-engine/checkpoint.d.ts +1 -1
  160. package/dist/types/compute-engine/clause-identity.d.ts +1 -1
  161. package/dist/types/compute-engine/collection-utils.d.ts +1 -1
  162. package/dist/types/compute-engine/compilation/angular-unit.d.ts +1 -1
  163. package/dist/types/compute-engine/compilation/auto-escalation.d.ts +1 -1
  164. package/dist/types/compute-engine/compilation/base-compiler.d.ts +1 -1
  165. package/dist/types/compute-engine/compilation/builtin-callback.d.ts +1 -1
  166. package/dist/types/compute-engine/compilation/color-space-fact.d.ts +1 -1
  167. package/dist/types/compute-engine/compilation/compile-expression.d.ts +1 -1
  168. package/dist/types/compute-engine/compilation/constant-folding.d.ts +1 -1
  169. package/dist/types/compute-engine/compilation/cse.d.ts +1 -1
  170. package/dist/types/compute-engine/compilation/deprecation-warnings.d.ts +1 -1
  171. package/dist/types/compute-engine/compilation/derivative-closed-form.d.ts +1 -1
  172. package/dist/types/compute-engine/compilation/diagnostics.d.ts +1 -1
  173. package/dist/types/compute-engine/compilation/fixed-width-unroll.d.ts +1 -1
  174. package/dist/types/compute-engine/compilation/function-purity.d.ts +1 -1
  175. package/dist/types/compute-engine/compilation/glsl-target.d.ts +1 -1
  176. package/dist/types/compute-engine/compilation/gpu-target.d.ts +1 -1
  177. package/dist/types/compute-engine/compilation/gpu-value-facts.d.ts +1 -1
  178. package/dist/types/compute-engine/compilation/interval-javascript-target.d.ts +1 -1
  179. package/dist/types/compute-engine/compilation/javascript-selection-fusion.d.ts +1 -1
  180. package/dist/types/compute-engine/compilation/javascript-statements.d.ts +1 -1
  181. package/dist/types/compute-engine/compilation/javascript-target.d.ts +1 -1
  182. package/dist/types/compute-engine/compilation/javascript-value-facts.d.ts +1 -1
  183. package/dist/types/compute-engine/compilation/jet-derivative.d.ts +1 -1
  184. package/dist/types/compute-engine/compilation/protocol-dispatch.d.ts +1 -1
  185. package/dist/types/compute-engine/compilation/provable-kind.d.ts +1 -1
  186. package/dist/types/compute-engine/compilation/python-target.d.ts +1 -1
  187. package/dist/types/compute-engine/compilation/storage-hints.d.ts +1 -1
  188. package/dist/types/compute-engine/compilation/types.d.ts +1 -1
  189. package/dist/types/compute-engine/compilation/wgsl-target.d.ts +1 -1
  190. package/dist/types/compute-engine/cost-function.d.ts +1 -1
  191. package/dist/types/compute-engine/declaration-origin.d.ts +1 -1
  192. package/dist/types/compute-engine/differential-equation-utils.d.ts +1 -1
  193. package/dist/types/compute-engine/engine-assumptions.d.ts +1 -1
  194. package/dist/types/compute-engine/engine-boxing-state.d.ts +1 -1
  195. package/dist/types/compute-engine/engine-cache.d.ts +1 -1
  196. package/dist/types/compute-engine/engine-common-symbols.d.ts +1 -1
  197. package/dist/types/compute-engine/engine-compilation-targets.d.ts +1 -1
  198. package/dist/types/compute-engine/engine-configuration-lifecycle.d.ts +1 -1
  199. package/dist/types/compute-engine/engine-declarations.d.ts +1 -1
  200. package/dist/types/compute-engine/engine-expression-entrypoints.d.ts +1 -1
  201. package/dist/types/compute-engine/engine-extension-contracts.d.ts +1 -1
  202. package/dist/types/compute-engine/engine-inspectable-scope.d.ts +1 -1
  203. package/dist/types/compute-engine/engine-library-bootstrap.d.ts +1 -1
  204. package/dist/types/compute-engine/engine-numeric-configuration.d.ts +1 -1
  205. package/dist/types/compute-engine/engine-protocols.d.ts +1 -1
  206. package/dist/types/compute-engine/engine-runtime-state.d.ts +1 -1
  207. package/dist/types/compute-engine/engine-scope.d.ts +1 -1
  208. package/dist/types/compute-engine/engine-sequences.d.ts +1 -1
  209. package/dist/types/compute-engine/engine-simplification-rules.d.ts +1 -1
  210. package/dist/types/compute-engine/engine-startup-coordinator.d.ts +1 -1
  211. package/dist/types/compute-engine/engine-type-resolver.d.ts +1 -1
  212. package/dist/types/compute-engine/engine-validation-entrypoints.d.ts +1 -1
  213. package/dist/types/compute-engine/free-functions.d.ts +1 -1
  214. package/dist/types/compute-engine/function-properties/index.d.ts +1 -1
  215. package/dist/types/compute-engine/function-properties/types.d.ts +1 -1
  216. package/dist/types/compute-engine/function-utils.d.ts +1 -1
  217. package/dist/types/compute-engine/fungrim/loader.d.ts +1 -1
  218. package/dist/types/compute-engine/fungrim/types.d.ts +1 -1
  219. package/dist/types/compute-engine/global-types.d.ts +1 -1
  220. package/dist/types/compute-engine/implicit-compile.d.ts +1 -1
  221. package/dist/types/compute-engine/index.d.ts +1 -1
  222. package/dist/types/compute-engine/inference-rollback.d.ts +1 -1
  223. package/dist/types/compute-engine/interpret-oeis.d.ts +1 -1
  224. package/dist/types/compute-engine/interval/arithmetic.d.ts +1 -1
  225. package/dist/types/compute-engine/interval/collections.d.ts +1 -1
  226. package/dist/types/compute-engine/interval/comparison.d.ts +1 -1
  227. package/dist/types/compute-engine/interval/elementary.d.ts +1 -1
  228. package/dist/types/compute-engine/interval/index.d.ts +1 -1
  229. package/dist/types/compute-engine/interval/integrate.d.ts +1 -1
  230. package/dist/types/compute-engine/interval/rounding.d.ts +1 -1
  231. package/dist/types/compute-engine/interval/trigonometric.d.ts +1 -1
  232. package/dist/types/compute-engine/interval/types.d.ts +1 -1
  233. package/dist/types/compute-engine/interval/util.d.ts +1 -1
  234. package/dist/types/compute-engine/latex-syntax/delimiter-tables.d.ts +1 -1
  235. package/dist/types/compute-engine/latex-syntax/dictionary/default-dictionary.d.ts +1 -1
  236. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-algebra.d.ts +1 -1
  237. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-arithmetic.d.ts +1 -1
  238. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-calculus.d.ts +1 -1
  239. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-colors.d.ts +1 -1
  240. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-complex.d.ts +1 -1
  241. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-core.d.ts +1 -1
  242. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-linear-algebra.d.ts +1 -1
  243. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-logic.d.ts +1 -1
  244. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-other.d.ts +1 -1
  245. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-relational-operators.d.ts +1 -1
  246. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-sets.d.ts +1 -1
  247. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-statistics.d.ts +1 -1
  248. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-symbols.d.ts +1 -1
  249. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-trigonometry.d.ts +1 -1
  250. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-units.d.ts +1 -1
  251. package/dist/types/compute-engine/latex-syntax/dictionary/definitions.d.ts +1 -1
  252. package/dist/types/compute-engine/latex-syntax/dictionary/indexed-types.d.ts +1 -1
  253. package/dist/types/compute-engine/latex-syntax/latex-syntax.d.ts +1 -1
  254. package/dist/types/compute-engine/latex-syntax/parse-number.d.ts +1 -1
  255. package/dist/types/compute-engine/latex-syntax/parse-symbol.d.ts +1 -1
  256. package/dist/types/compute-engine/latex-syntax/parse.d.ts +1 -1
  257. package/dist/types/compute-engine/latex-syntax/serialize-dms.d.ts +1 -1
  258. package/dist/types/compute-engine/latex-syntax/serialize-number.d.ts +1 -1
  259. package/dist/types/compute-engine/latex-syntax/serializer-style.d.ts +1 -1
  260. package/dist/types/compute-engine/latex-syntax/serializer.d.ts +1 -1
  261. package/dist/types/compute-engine/latex-syntax/style-options.d.ts +1 -1
  262. package/dist/types/compute-engine/latex-syntax/tokenizer.d.ts +1 -1
  263. package/dist/types/compute-engine/latex-syntax/types.d.ts +1 -1
  264. package/dist/types/compute-engine/latex-syntax/utils.d.ts +1 -1
  265. package/dist/types/compute-engine/library/arithmetic.d.ts +1 -1
  266. package/dist/types/compute-engine/library/calculus.d.ts +1 -1
  267. package/dist/types/compute-engine/library/collections.d.ts +1 -1
  268. package/dist/types/compute-engine/library/colors.d.ts +1 -1
  269. package/dist/types/compute-engine/library/combinatorics.d.ts +1 -1
  270. package/dist/types/compute-engine/library/complex.d.ts +1 -1
  271. package/dist/types/compute-engine/library/control-structures.d.ts +1 -1
  272. package/dist/types/compute-engine/library/core.d.ts +1 -1
  273. package/dist/types/compute-engine/library/distributions.d.ts +1 -1
  274. package/dist/types/compute-engine/library/fractals.d.ts +1 -1
  275. package/dist/types/compute-engine/library/library.d.ts +1 -1
  276. package/dist/types/compute-engine/library/linear-algebra.d.ts +1 -1
  277. package/dist/types/compute-engine/library/logic-analysis.d.ts +1 -1
  278. package/dist/types/compute-engine/library/logic.d.ts +1 -1
  279. package/dist/types/compute-engine/library/map-auto-compile.d.ts +1 -1
  280. package/dist/types/compute-engine/library/map-broadcast-shape.d.ts +1 -1
  281. package/dist/types/compute-engine/library/map-exact-proof.d.ts +1 -1
  282. package/dist/types/compute-engine/library/map-lowering.d.ts +1 -1
  283. package/dist/types/compute-engine/library/measurement-arithmetic.d.ts +1 -1
  284. package/dist/types/compute-engine/library/missing-data.d.ts +1 -1
  285. package/dist/types/compute-engine/library/number-theory.d.ts +1 -1
  286. package/dist/types/compute-engine/library/polynomials.d.ts +1 -1
  287. package/dist/types/compute-engine/library/quantity-arithmetic.d.ts +1 -1
  288. package/dist/types/compute-engine/library/random-expression.d.ts +1 -1
  289. package/dist/types/compute-engine/library/random-utils.d.ts +1 -1
  290. package/dist/types/compute-engine/library/regexp.d.ts +1 -1
  291. package/dist/types/compute-engine/library/relational-operator.d.ts +1 -1
  292. package/dist/types/compute-engine/library/ring-constructions.d.ts +1 -1
  293. package/dist/types/compute-engine/library/sets.d.ts +1 -1
  294. package/dist/types/compute-engine/library/special-functions.d.ts +1 -1
  295. package/dist/types/compute-engine/library/statistics-data.d.ts +1 -1
  296. package/dist/types/compute-engine/library/statistics.d.ts +1 -1
  297. package/dist/types/compute-engine/library/trigonometry.d.ts +1 -1
  298. package/dist/types/compute-engine/library/type-handlers.d.ts +1 -1
  299. package/dist/types/compute-engine/library/type-value-utils.d.ts +1 -1
  300. package/dist/types/compute-engine/library/unit-data.d.ts +1 -1
  301. package/dist/types/compute-engine/library/units.d.ts +1 -1
  302. package/dist/types/compute-engine/library/utils.d.ts +1 -1
  303. package/dist/types/compute-engine/map-auto-compile-stats.d.ts +1 -1
  304. package/dist/types/compute-engine/multi-clause.d.ts +1 -1
  305. package/dist/types/compute-engine/nonlinear-fit.d.ts +1 -1
  306. package/dist/types/compute-engine/numeric-value/big-numeric-value.d.ts +1 -1
  307. package/dist/types/compute-engine/numeric-value/exact-integer-value.d.ts +1 -1
  308. package/dist/types/compute-engine/numeric-value/exact-numeric-value.d.ts +1 -1
  309. package/dist/types/compute-engine/numeric-value/machine-numeric-value.d.ts +1 -1
  310. package/dist/types/compute-engine/numeric-value/types.d.ts +1 -1
  311. package/dist/types/compute-engine/numerics/bernoulli.d.ts +1 -1
  312. package/dist/types/compute-engine/numerics/bigint.d.ts +1 -1
  313. package/dist/types/compute-engine/numerics/complex-esm-augment.d.ts +1 -1
  314. package/dist/types/compute-engine/numerics/differential-equations.d.ts +1 -1
  315. package/dist/types/compute-engine/numerics/diophantine.d.ts +1 -1
  316. package/dist/types/compute-engine/numerics/distributions.d.ts +1 -1
  317. package/dist/types/compute-engine/numerics/expression.d.ts +1 -1
  318. package/dist/types/compute-engine/numerics/gauss-kronrod.d.ts +1 -1
  319. package/dist/types/compute-engine/numerics/interval-arithmetic.d.ts +1 -1
  320. package/dist/types/compute-engine/numerics/interval.d.ts +1 -1
  321. package/dist/types/compute-engine/numerics/levenberg-marquardt.d.ts +1 -1
  322. package/dist/types/compute-engine/numerics/linear-algebra.d.ts +1 -1
  323. package/dist/types/compute-engine/numerics/monte-carlo.d.ts +1 -1
  324. package/dist/types/compute-engine/numerics/numeric-bigint.d.ts +1 -1
  325. package/dist/types/compute-engine/numerics/numeric-bignum.d.ts +1 -1
  326. package/dist/types/compute-engine/numerics/numeric-complex.d.ts +1 -1
  327. package/dist/types/compute-engine/numerics/numeric.d.ts +1 -1
  328. package/dist/types/compute-engine/numerics/oscillatory-quadrature.d.ts +1 -1
  329. package/dist/types/compute-engine/numerics/polynomial-roots.d.ts +1 -1
  330. package/dist/types/compute-engine/numerics/primes.d.ts +1 -1
  331. package/dist/types/compute-engine/numerics/random.d.ts +1 -1
  332. package/dist/types/compute-engine/numerics/rationals.d.ts +1 -1
  333. package/dist/types/compute-engine/numerics/richardson.d.ts +1 -1
  334. package/dist/types/compute-engine/numerics/special-functions.d.ts +1 -1
  335. package/dist/types/compute-engine/numerics/statistics.d.ts +1 -1
  336. package/dist/types/compute-engine/numerics/strings.d.ts +1 -1
  337. package/dist/types/compute-engine/numerics/types.d.ts +1 -1
  338. package/dist/types/compute-engine/numerics/unit-data.d.ts +1 -1
  339. package/dist/types/compute-engine/numerics/value-scaled-caps.d.ts +1 -1
  340. package/dist/types/compute-engine/oeis.d.ts +1 -1
  341. package/dist/types/compute-engine/rubi/compile.d.ts +1 -1
  342. package/dist/types/compute-engine/rubi/driver.d.ts +1 -1
  343. package/dist/types/compute-engine/rubi/explain-trace.d.ts +1 -1
  344. package/dist/types/compute-engine/rubi/loader.d.ts +1 -1
  345. package/dist/types/compute-engine/rubi/match.d.ts +1 -1
  346. package/dist/types/compute-engine/rubi/normal-form.d.ts +1 -1
  347. package/dist/types/compute-engine/rubi/rubi-utils.d.ts +1 -1
  348. package/dist/types/compute-engine/rubi/types.d.ts +1 -1
  349. package/dist/types/compute-engine/sequence.d.ts +1 -1
  350. package/dist/types/compute-engine/sum-representation.d.ts +1 -1
  351. package/dist/types/compute-engine/symbolic/angular-unit.d.ts +1 -1
  352. package/dist/types/compute-engine/symbolic/antiderivative.d.ts +1 -1
  353. package/dist/types/compute-engine/symbolic/derivative.d.ts +1 -1
  354. package/dist/types/compute-engine/symbolic/differential-equations.d.ts +1 -1
  355. package/dist/types/compute-engine/symbolic/distribute.d.ts +1 -1
  356. package/dist/types/compute-engine/symbolic/explain-derivative.d.ts +1 -1
  357. package/dist/types/compute-engine/symbolic/fu-cost.d.ts +1 -1
  358. package/dist/types/compute-engine/symbolic/fu-transforms.d.ts +1 -1
  359. package/dist/types/compute-engine/symbolic/fu.d.ts +1 -1
  360. package/dist/types/compute-engine/symbolic/interior-pole.d.ts +1 -1
  361. package/dist/types/compute-engine/symbolic/interpret.d.ts +1 -1
  362. package/dist/types/compute-engine/symbolic/limit.d.ts +1 -1
  363. package/dist/types/compute-engine/symbolic/logic-utils.d.ts +1 -1
  364. package/dist/types/compute-engine/symbolic/recurrences.d.ts +1 -1
  365. package/dist/types/compute-engine/symbolic/residue.d.ts +1 -1
  366. package/dist/types/compute-engine/symbolic/series.d.ts +1 -1
  367. package/dist/types/compute-engine/symbolic/simplify-abs.d.ts +1 -1
  368. package/dist/types/compute-engine/symbolic/simplify-divide.d.ts +1 -1
  369. package/dist/types/compute-engine/symbolic/simplify-factorial.d.ts +1 -1
  370. package/dist/types/compute-engine/symbolic/simplify-hyperbolic.d.ts +1 -1
  371. package/dist/types/compute-engine/symbolic/simplify-infinity.d.ts +1 -1
  372. package/dist/types/compute-engine/symbolic/simplify-log.d.ts +1 -1
  373. package/dist/types/compute-engine/symbolic/simplify-logic.d.ts +1 -1
  374. package/dist/types/compute-engine/symbolic/simplify-power.d.ts +1 -1
  375. package/dist/types/compute-engine/symbolic/simplify-product.d.ts +1 -1
  376. package/dist/types/compute-engine/symbolic/simplify-rules.d.ts +1 -1
  377. package/dist/types/compute-engine/symbolic/simplify-sum.d.ts +1 -1
  378. package/dist/types/compute-engine/symbolic/simplify-trig.d.ts +1 -1
  379. package/dist/types/compute-engine/symbolic/solver-utils.d.ts +1 -1
  380. package/dist/types/compute-engine/symbolic/trig-rewrite.d.ts +1 -1
  381. package/dist/types/compute-engine/tensor/tensor-fields.d.ts +1 -1
  382. package/dist/types/compute-engine/tensor/tensors.d.ts +1 -1
  383. package/dist/types/compute-engine/type-constructors.d.ts +1 -1
  384. package/dist/types/compute-engine/types-definitions.d.ts +1 -1
  385. package/dist/types/compute-engine/types-engine.d.ts +1 -1
  386. package/dist/types/compute-engine/types-evaluation.d.ts +1 -1
  387. package/dist/types/compute-engine/types-expression.d.ts +1 -1
  388. package/dist/types/compute-engine/types-kernel-evaluation.d.ts +1 -1
  389. package/dist/types/compute-engine/types-kernel-serialization.d.ts +1 -1
  390. package/dist/types/compute-engine/types-serialization.d.ts +1 -1
  391. package/dist/types/compute-engine/types.d.ts +1 -1
  392. package/dist/types/compute-engine.d.ts +1 -1
  393. package/dist/types/core.d.ts +1 -1
  394. package/dist/types/epsil/characters.d.ts +1 -1
  395. package/dist/types/epsil/definition-sites.d.ts +1 -1
  396. package/dist/types/epsil/diagnostics.d.ts +1 -1
  397. package/dist/types/epsil/error-location.d.ts +1 -1
  398. package/dist/types/epsil/execute-epsil.d.ts +1 -1
  399. package/dist/types/epsil/formatter.d.ts +1 -1
  400. package/dist/types/epsil/lexer.d.ts +1 -1
  401. package/dist/types/epsil/library-names.d.ts +1 -1
  402. package/dist/types/epsil/match-exhaustiveness.d.ts +1 -1
  403. package/dist/types/epsil/occurrences.d.ts +1 -1
  404. package/dist/types/epsil/operators.d.ts +1 -1
  405. package/dist/types/epsil/parse-epsil.d.ts +1 -1
  406. package/dist/types/epsil/parser.d.ts +1 -1
  407. package/dist/types/epsil/reserved-words.d.ts +1 -1
  408. package/dist/types/epsil/resolve-library-names.d.ts +1 -1
  409. package/dist/types/epsil/serialize-epsil.d.ts +1 -1
  410. package/dist/types/epsil/signature-notes.d.ts +1 -1
  411. package/dist/types/epsil/static-diagnostics.d.ts +1 -1
  412. package/dist/types/epsil/tokens.d.ts +1 -1
  413. package/dist/types/epsil.d.ts +2 -2
  414. package/dist/types/identities.d.ts +1 -1
  415. package/dist/types/integration-rules.d.ts +1 -1
  416. package/dist/types/interval.d.ts +1 -1
  417. package/dist/types/latex-syntax.d.ts +2 -2
  418. package/dist/types/math-json/symbols.d.ts +1 -1
  419. package/dist/types/math-json/types.d.ts +1 -1
  420. package/dist/types/math-json/utils.d.ts +1 -1
  421. package/dist/types/math-json.d.ts +2 -2
  422. package/dist/types/numerics.d.ts +1 -1
  423. package/dist/umd-min/compile.cjs +2 -2
  424. package/dist/umd-min/compute-engine.cjs +2 -2
  425. package/dist/umd-min/core.cjs +2 -2
  426. package/dist/umd-min/epsil.cjs +3 -3
  427. package/dist/umd-min/identities.cjs +2 -2
  428. package/dist/umd-min/integration-rules.cjs +2 -2
  429. package/dist/umd-min/interval.cjs +2 -2
  430. package/dist/umd-min/latex-syntax.cjs +2 -2
  431. package/dist/umd-min/math-json.cjs +2 -2
  432. package/dist/umd-min/numerics.cjs +2 -2
  433. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /** ComputeEngineCore 0.129.0 */
1
+ /** ComputeEngineCore 0.129.1 */
2
2
  (function(global,factory){typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'],factory):(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.ComputeEngineCore = {}));})(this, (function (exports) { 'use strict';
3
3
  "use strict";var ComputeEngineCore=(()=>{var TM=Object.defineProperty;var T0e=Object.getOwnPropertyDescriptor;var w0e=Object.getOwnPropertyNames;var N0e=Object.prototype.hasOwnProperty;var C0e=(e,n)=>{for(var t in n)TM(e,t,{get:n[t],enumerable:!0})},I0e=(e,n,t,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of w0e(n))!N0e.call(e,r)&&r!==t&&TM(e,r,{get:()=>n[r],enumerable:!(i=T0e(n,r))||i.enumerable});return e};var k0e=e=>I0e(TM({},"__esModule",{value:!0}),e);var Dze={};C0e(Dze,{CancellationError:()=>xe,ComputeEngine:()=>Pze,N:()=>m8,assign:()=>h8,declare:()=>g8,evaluate:()=>p8,expand:()=>y8,expandAll:()=>E8,expr:()=>c8,factor:()=>v8,getDefaultEngine:()=>mm,isCollection:()=>Rz,isDictionary:()=>Ue,isExpression:()=>cl,isFunction:()=>g,isIndexedCollection:()=>Az,isNumber:()=>N,isObject:()=>on,isString:()=>j,isSymbol:()=>_,isTensor:()=>dl,numericValue:()=>et,simplify:()=>d8,solve:()=>b8,version:()=>Mze});var Wr=Math.cosh||function(e){return Math.abs(e)<1e-9?1-e:(Math.exp(e)+Math.exp(-e))*.5},ta=Math.sinh||function(e){return Math.abs(e)<1e-9?e:(Math.exp(e)-Math.exp(-e))*.5},R0e=function(e){var n=Math.PI/4;if(-n>e||e>n)return Math.cos(e)-1;var t=e*e;return t*(t*(t*(t*(t*(t*(t*(t/20922789888e3-1/87178291200)+1/479001600)-1/3628800)+1/40320)-1/720)+1/24)-1/2)},A0e=function(e,n){var t=Math.abs(e),i=Math.abs(n);return t<3e3&&i<3e3?Math.sqrt(t*t+i*i):(t<i?(t=i,i=e/n):i=n/e,t*Math.sqrt(1+i*i))},Vh=function(){throw SyntaxError("Invalid Param")};function wM(e,n){var t=Math.abs(e),i=Math.abs(n);return e===0?Math.log(i):n===0?Math.log(t):t<3e3&&i<3e3?Math.log(e*e+n*n)*.5:(e=e/2,n=n/2,.5*Math.log(e*e+n*n)+Math.LN2)}var M0e=function(e,n){var t={re:0,im:0};if(e==null)t.re=t.im=0;else if(n!==void 0)t.re=e,t.im=n;else switch(typeof e){case"object":if("im"in e&&"re"in e)t.re=e.re,t.im=e.im;else if("abs"in e&&"arg"in e){if(!Number.isFinite(e.abs)&&Number.isFinite(e.arg))return Z.INFINITY;t.re=e.abs*Math.cos(e.arg),t.im=e.abs*Math.sin(e.arg)}else if("r"in e&&"phi"in e){if(!Number.isFinite(e.r)&&Number.isFinite(e.phi))return Z.INFINITY;t.re=e.r*Math.cos(e.phi),t.im=e.r*Math.sin(e.phi)}else e.length===2?(t.re=e[0],t.im=e[1]):Vh();break;case"string":t.im=t.re=0;var i=e.match(/\d+\.?\d*e[+-]?\d+|\d+\.?\d*|\.\d+|./g),r=1,o=0;i===null&&Vh();for(var s=0;s<i.length;s++){var a=i[s];a===" "||a===" "||a===`
4
4
  `||(a==="+"?r++:a==="-"?o++:a==="i"||a==="I"?(r+o===0&&Vh(),i[s+1]!==" "&&!isNaN(Number(i[s+1]))?(t.im+=parseFloat((o%2?"-":"")+i[s+1]),s++):t.im+=parseFloat((o%2?"-":"")+"1"),r=o=0):((r+o===0||isNaN(Number(a)))&&Vh(),i[s+1]==="i"||i[s+1]==="I"?(t.im+=parseFloat((o%2?"-":"")+a),s++):t.re+=parseFloat((o%2?"-":"")+a),r=o=0))}r+o>0&&Vh();break;case"number":t.im=0,t.re=e;break;default:Vh()}return isNaN(t.re)||isNaN(t.im),t},Z=class e{constructor(n,t){this.re=0,this.im=0;var i=M0e(n,t);this.re=i.re,this.im=i.im}sign(){var n=this.abs();return new e(this.re/n,this.im/n)}add(n,t){var i=new e(n,t);return this.isInfinite()&&i.isInfinite()?e.NAN:this.isInfinite()||i.isInfinite()?e.INFINITY:new e(this.re+i.re,this.im+i.im)}sub(n,t){var i=new e(n,t);return this.isInfinite()&&i.isInfinite()?e.NAN:this.isInfinite()||i.isInfinite()?e.INFINITY:new e(this.re-i.re,this.im-i.im)}mul(n,t){var i=new e(n,t);return this.isInfinite()&&i.isZero()||this.isZero()&&i.isInfinite()?e.NAN:this.isInfinite()||i.isInfinite()?e.INFINITY:i.im===0&&this.im===0?new e(this.re*i.re,0):new e(this.re*i.re-this.im*i.im,this.re*i.im+this.im*i.re)}div(n,t){var i=new e(n,t);if(this.isZero()&&i.isZero()||this.isInfinite()&&i.isInfinite())return e.NAN;if(this.isInfinite()||i.isZero())return e.INFINITY;if(this.isZero()||i.isInfinite())return e.ZERO;n=this.re,t=this.im;var r=i.re,o=i.im,s,a;return o===0?new e(n/r,t/r):Math.abs(r)<Math.abs(o)?(a=r/o,s=r*a+o,new e((n*a+t)/s,(t*a-n)/s)):(a=o/r,s=o*a+r,new e((n+t*a)/s,(t-n*a)/s))}pow(n,t){var i=new e(n,t);if(n=this.re,t=this.im,i.isZero())return e.ONE;if(i.im===0){if(t===0&&n>0)return new e(Math.pow(n,i.re),0);if(n===0)switch((i.re%4+4)%4){case 0:return new e(Math.pow(t,i.re),0);case 1:return new e(0,Math.pow(t,i.re));case 2:return new e(-Math.pow(t,i.re),0);case 3:return new e(0,-Math.pow(t,i.re))}}if(n===0&&t===0&&i.re>0&&i.im>=0)return e.ZERO;var r=Math.atan2(t,n),o=wM(n,t);return n=Math.exp(i.re*o-i.im*r),t=i.im*o+i.re*r,new e(n*Math.cos(t),n*Math.sin(t))}sqrt(){var n=this.re,t=this.im,i=this.abs(),r,o;if(n>=0){if(t===0)return new e(Math.sqrt(n),0);r=.5*Math.sqrt(2*(i+n))}else r=Math.abs(t)/Math.sqrt(2*(i-n));return n<=0?o=.5*Math.sqrt(2*(i-n)):o=Math.abs(t)/Math.sqrt(2*(i+n)),new e(r,t<0?-o:o)}exp(){var n=Math.exp(this.re);return this.im,new e(n*Math.cos(this.im),n*Math.sin(this.im))}expm1(){var n=this.re,t=this.im;return new e(Math.expm1(n)*Math.cos(t)+R0e(t),Math.exp(n)*Math.sin(t))}log(){var n=this.re,t=this.im;return t===0&&n>0,new e(wM(n,t),Math.atan2(t,n))}abs(){return A0e(this.re,this.im)}arg(){return Math.atan2(this.im,this.re)}sin(){var n=this.re,t=this.im;return new e(Math.sin(n)*Wr(t),Math.cos(n)*ta(t))}cos(){var n=this.re,t=this.im;return new e(Math.cos(n)*Wr(t),-Math.sin(n)*ta(t))}tan(){var n=2*this.re,t=2*this.im,i=Math.cos(n)+Wr(t);return new e(Math.sin(n)/i,ta(t)/i)}cot(){var n=2*this.re,t=2*this.im,i=Math.cos(n)-Wr(t);return new e(-Math.sin(n)/i,ta(t)/i)}sec(){var n=this.re,t=this.im,i=.5*Wr(2*t)+.5*Math.cos(2*n);return new e(Math.cos(n)*Wr(t)/i,Math.sin(n)*ta(t)/i)}csc(){var n=this.re,t=this.im,i=.5*Wr(2*t)-.5*Math.cos(2*n);return new e(Math.sin(n)*Wr(t)/i,-Math.cos(n)*ta(t)/i)}asin(){var n=this.re,t=this.im,i=new e(t*t-n*n+1,-2*n*t).sqrt(),r=new e(i.re-t,i.im+n).log();return new e(r.im,-r.re)}acos(){var n=this.re,t=this.im,i=new e(t*t-n*n+1,-2*n*t).sqrt(),r=new e(i.re-t,i.im+n).log();return new e(Math.PI/2-r.im,r.re)}atan(){var n=this.re,t=this.im;if(n===0){if(t===1)return new e(0,1/0);if(t===-1)return new e(0,-1/0)}var i=n*n+(1-t)*(1-t),r=new e((1-t*t-n*n)/i,-2*n/i).log();return new e(-.5*r.im,.5*r.re)}acot(){var n=this.re,t=this.im;if(t===0)return new e(Math.atan2(1,n),0);var i=n*n+t*t;return i!==0?new e(n/i,-t/i).atan():new e(n!==0?n/0:0,t!==0?-t/0:0).atan()}asec(){var n=this.re,t=this.im;if(n===0&&t===0)return new e(0,1/0);var i=n*n+t*t;return i!==0?new e(n/i,-t/i).acos():new e(n!==0?n/0:0,t!==0?-t/0:0).acos()}acsc(){var n=this.re,t=this.im;if(n===0&&t===0)return new e(Math.PI/2,1/0);var i=n*n+t*t;return i!==0?new e(n/i,-t/i).asin():new e(n!==0?n/0:0,t!==0?-t/0:0).asin()}sinh(){var n=this.re,t=this.im;return new e(ta(n)*Math.cos(t),Wr(n)*Math.sin(t))}cosh(){var n=this.re,t=this.im;return new e(Wr(n)*Math.cos(t),ta(n)*Math.sin(t))}tanh(){var n=2*this.re,t=2*this.im,i=Wr(n)+Math.cos(t);return new e(ta(n)/i,Math.sin(t)/i)}coth(){var n=2*this.re,t=2*this.im,i=Wr(n)-Math.cos(t);return new e(ta(n)/i,-Math.sin(t)/i)}csch(){var n=this.re,t=this.im,i=Math.cos(2*t)-Wr(2*n);return new e(-2*ta(n)*Math.cos(t)/i,2*Wr(n)*Math.sin(t)/i)}sech(){var n=this.re,t=this.im,i=Math.cos(2*t)+Wr(2*n);return new e(2*Wr(n)*Math.cos(t)/i,-2*ta(n)*Math.sin(t)/i)}asinh(){var n=this.im;this.im=-this.re,this.re=n;var t=this.asin();return this.re=-this.im,this.im=n,n=t.re,t.re=-t.im,t.im=n,t}acosh(){var n=this.acos();if(n.im<=0){var t=n.re;n.re=-n.im,n.im=t}else{var t=n.im;n.im=-n.re,n.re=t}return n}atanh(){var n=this.re,t=this.im,i=n>1&&t===0,r=1-n,o=1+n,s=r*r+t*t,a=s!==0?new e((o*r-t*t)/s,(t*r+o*t)/s):new e(n!==-1?n/0:0,t!==0?t/0:0),u=a.re;return a.re=wM(a.re,a.im)/2,a.im=Math.atan2(a.im,u)/2,i&&(a.im=-a.im),a}acoth(){var n=this.re,t=this.im;if(n===0&&t===0)return new e(0,Math.PI/2);var i=n*n+t*t;return i!==0?new e(n/i,-t/i).atanh():new e(n!==0?n/0:0,t!==0?-t/0:0).atanh()}acsch(){var n=this.re,t=this.im;if(t===0)return new e(n!==0?Math.log(n+Math.sqrt(n*n+1)):1/0,0);var i=n*n+t*t;return i!==0?new e(n/i,-t/i).asinh():new e(n!==0?n/0:0,t!==0?-t/0:0).asinh()}asech(){var n=this.re,t=this.im;if(this.isZero())return e.INFINITY;var i=n*n+t*t;return i!==0?new e(n/i,-t/i).acosh():new e(n!==0?n/0:0,t!==0?-t/0:0).acosh()}inverse(){if(this.isZero())return e.INFINITY;if(this.isInfinite())return e.ZERO;var n=this.re,t=this.im,i=n*n+t*t;return new e(n/i,-t/i)}conjugate(){return new e(this.re,-this.im)}neg(){return new e(-this.re,-this.im)}ceil(n){return n=Math.pow(10,n||0),new e(Math.ceil(this.re*n)/n,Math.ceil(this.im*n)/n)}floor(n){return n=Math.pow(10,n||0),new e(Math.floor(this.re*n)/n,Math.floor(this.im*n)/n)}round(n){return n=Math.pow(10,n||0),new e(Math.round(this.re*n)/n,Math.round(this.im*n)/n)}equals(n,t){var i=new e(n,t);return Math.abs(i.re-this.re)<=e.EPSILON&&Math.abs(i.im-this.im)<=e.EPSILON}clone(){return new e(this.re,this.im)}toString(){var n=this.re,t=this.im,i="";return this.isNaN()?"NaN":this.isInfinite()?"Infinity":(Math.abs(n)<e.EPSILON&&(n=0),Math.abs(t)<e.EPSILON&&(t=0),t===0?i+n:(n!==0?(i+=n,i+=" ",t<0?(t=-t,i+="-"):i+="+",i+=" "):t<0&&(t=-t,i+="-"),t!==1&&(i+=t),i+"i"))}toVector(){return[this.re,this.im]}valueOf(){return this.im===0?this.re:null}isNaN(){return isNaN(this.re)||isNaN(this.im)}isZero(){return this.im===0&&this.re===0}isFinite(){return isFinite(this.re)&&isFinite(this.im)}isInfinite(){return!(this.isNaN()||this.isFinite())}};Z.ZERO=new Z(0,0);Z.ONE=new Z(1,0);Z.I=new Z(0,1);Z.PI=new Z(Math.PI,0);Z.E=new Z(Math.E,0);Z.INFINITY=new Z(1/0,1/0);Z.NAN=new Z(NaN,NaN);Z.EPSILON=1e-15;var R8=new Map,P0e=1e5;function Nn(e){if(e<=P0e){let n=R8.get(e);return n===void 0&&(n=10n**BigInt(e),R8.set(e,n)),n}return 10n**BigInt(e)}function zf(e){if(e<0n&&(e=-e),e===0n)return 0;let n=0,t=1;for(;e>>BigInt(t)>0n;)t*=2;for(let i=t>>1;i>=1;i>>=1)e>>BigInt(i)>0n&&(n+=i,e>>=BigInt(i));return n+1}function M8(e,n,t){return e*n>>BigInt(t)}function P8(e,n,t){return(e<<BigInt(t))/n}function iT(e,n){if(e===0n)return 0n;if(e<0n)throw new RangeError("fpsqrt: negative input");let t=e<<BigInt(n),i;if(n<D0e){i=CM(t);let a;do a=i,i=(i+t/i)/2n;while(ia(i-a)>1n)}else i=IM(t,zf(t));let r=(i+t/i)/2n,o=ia(i*i-t);return ia(r*r-t)<o?r:i}function CM(e){let n=zf(e);if(n<=1023){let s=Math.sqrt(Number(e));if(Number.isFinite(s)&&s>=1)return BigInt(Math.floor(s))}let t=n-52,i=Number(e>>BigInt(t)),r=Math.sqrt(i);t&1&&(r*=Math.SQRT2);let o=BigInt(Math.round(r))<<BigInt(t>>1);return o>0n?o:1n}var D8=1024,D0e=640;function IM(e,n){if(n<D8){let o=CM(e),s;do s=o,o=(o+e/o)/2n;while(ia(o-s)>1n);for(;o*o>e;)o-=1n;for(;(o+1n)*(o+1n)<=e;)o+=1n;return o}let t=n>>2<<1,i=IM(e>>BigInt(t),n-t)<<BigInt(t>>1),r;do r=i,i=(i+e/i)/2n;while(ia(i-r)>1n);for(;i*i>e;)i-=1n;for(;(i+1n)*(i+1n)<=e;)i+=1n;return i}function ia(e){return e<0n?-e:e}function qh(e){if(e===0n)return 1;if(e<0n&&(e=-e),e<0x20000000000000n){let i=Number(e);return i<1e8?i<1e4?i<100?i<10?1:2:i<1e3?3:4:i<1e6?i<1e5?5:6:i<1e7?7:8:i<1e12?i<1e10?i<1e9?9:10:i<1e11?11:12:i<1e14?i<1e13?13:14:i<1e15?15:16}let n=e.toString(16).length*4,t=Math.ceil(n*.30102999566398);for(;e<Nn(t-1);)t--;for(;e>=Nn(t);)t++;return t}var O0e=.7;function kM(e,n){if(e===0n)return 1n<<BigInt(n);let t=Math.round(O0e*Math.sqrt(n)),i=t+8,r=n+i,o=BigInt(r),s=1n<<o,a=BigInt(i),u=e<<a,l=u<0n,f=l?-u:u,c=Math.max(0,zf(f)-r+t);f>>=BigInt(c),u=l?-f:f;let d=s,p=u;d+=p;for(let m=2;p=(p*u>>o)/BigInt(m),p!==0n;m++)d+=p;for(let m=0;m<c;m++)d=d*d>>o;return d+(1n<<a-1n)>>a}var $0e=4e4;function RM(e,n){let t=1n<<BigInt(n);if(e<=0n)throw new RangeError("fpln: input must be positive");return e===t?0n:n>=$0e?B0e(e,n):F0e(e,n)}function F0e(e,n){let t=BigInt(n),i=1n<<t,r=52,o=n-r,s;if(o>0){let m=Number(e>>BigInt(o))/2**r;s=BigInt(Math.round(Math.log(m)*2**r))<<BigInt(o)}else{let m=Number(e)/Number(i);s=BigInt(Math.round(Math.log(m)*Number(i)))}let a=e*kM(-s,n)>>t,l=(a-i<<t)/(a+i),f=l<0n?-l:l,c=f*f>>t,d=f,p=f;for(let m=3n;d=d*c>>t,d!==0n;m+=2n)p+=d/m;return s+(l<0n?-2n:2n)*p}var hm=null;function L0e(e){if(hm!==null){if(hm.bits===e)return hm.value;if(hm.bits>e)return hm.value>>BigInt(hm.bits-e)}let n=Math.ceil(e*rT)+12,t;if(n<=A8.length){let i=A8.slice(0,n);t=(BigInt(i)<<BigInt(e))/Nn(i.length)}else t=G0e(e);return hm={bits:e,value:t},t}function B0e(e,n){let t=BigInt(n),i=zf(e)-n,r=Math.max(2,Math.ceil(n/2+4-i)),o=e<<BigInt(r-2),s=1n<<t,a=o;for(;ia(s-a)>1n;){let l=s+a>>1n;a=pE(s*a),s=l}return tT(n)*o/(2n*s)-BigInt(r)*L0e(n)}var jh="314159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316527120190914564856692346034861045432664821339360726024914127372458700660631558817488152092096282925409171536436789259036001133053054882046652138414695194151160943305727036575959195309218611738193261179310511854807446237996274956735188575272489122793818301194912983367336244065664308602139494639522473719070217986094370277053921717629317675238467481846766940513200056812714526356082778577134275778960917363717872146844090122495343014654958537105079227968925892354201995611212902196086403441815981362977477130996051870721134999999837297804995105973173281609631859502445945534690830264252230825334468503526193118817101000313783875288658753320838142061717766914730359825349042875546873115956286388235378759375195778185778053217122680661300192787661119590921642019893809525720106548586327886593615338182796823030195203530185296899577362259941389124972177528347913151557485724245415069595082953311686172785588907509838175463746493931925506040092770167113900984882401285836160356370766010471018194295559619894676783744944825537977472684710404753464620804668425906949129331367702898915210475216205696602405803815019351125338243003558764024749647326391419927260426992279678235478163600934172164121992458631503028618297455570674983850549458858692699569092721079750930295532116534498720275596023648066549911988183479775356636980742654252786255181841757467289097777279380008164706001614524919217321721477235014144197356854816136115735255213347574184946843852332390739414333454776241686251898356948556209921922218427255025425688767179049460165346680498862723279178608578438382796797668145410095388378636095068006422512520511739298489608412848862694560424196528502221066118630674427862203919494504712371378696095636437191728746776465757396241389086583264599581339047802759009946576407895126946839835259570982582262052248940772671947826848260147699090264013639443745530506820349625245174939965143142980919065925093722169646151570985838741059788595977297549893016175392846813826868386894277415599185592524595395943104997252468084598727364469584865383673622262609912460805124388439045124413654976278079771569143599770012961608944169486855584840635",rT=Math.log10(2),A8="693147180559945309417232121458176568075500134360255254120680009493393621969694715605863326996418687542001481020570685733685520235758130557032670751635075961930727570828371435190307038623891673471123350115364497955239120475172681574932065155524734139525882950453007095326366642654104239157814952043740430385500801944170641671518644712839968171784546957026271631064546150257207402481637773389638550695260668341137273873722928956493547025762652098859693201965058554764703306793654432547632744951250406069438147104689946506220167720424524529612687946546193165174681392672504103802546259656869144192871608293803172714367782654877566485085674077648451464439940461422603193096735402574446070308096085047486638523138181676751438667476647890881437141985494231519973548803751658612753529166100071053558249879414729509293113897155998205654392871700072180857610252368892132449713893203784393530887748259701715591070882368362758984258918535302436342143670611892367891923723146723217205340164925687274778234453534764811494186423867767744060695626573796008670762571991847340226514628379048830620330611446300737194890027436439650025809365194430411911506080948793067865158870900605203468429736193841289652556539686022194122924207574321757489097706752687115817051137009158942665478595964890653058460258668382940022833005382074005677053046787001841624044188332327983863490015631218895606505531512721993983320307514084260914790012651682434438935724727882054862715527418772430024897945401961872339808608316648114909306675193393128904316413706813977764981769748689038877899912965036192707108892641052309247839173735012298424204995689359922066022046549415106139187885744245577510206837030866619480896412186807790208181588580001688115973056186676199187395200766719214592236720602539595436541655311295175989940056000366513567569051245926825743946483168332624901803824240824231452306140963805700702551387702681785163069025513703234053802145019015374029509942262995779647427138157363801729873940704242179972266962979939312706935747240493386530879758721699645129446491883771156701678598804981838896784134938314014073166472765327635919233511233389338709513209059272185471328975470797891384445466676192702885533423429899321803769154973340267546758873236778342916191810430116091695265547859732891763545556742863877463987101912431754255888301206779210280341206879759143081283307230300883494705792496591005860012341561757413272465943",V0e=13591409n,j0e=545140134n,q0e=10939058860032000n,z0e=47.11;function nT(e,n){if(n-e===1){let l,f;if(e===0)l=1n,f=1n;else{l=BigInt(6*e-5)*BigInt(2*e-1)*BigInt(6*e-1);let d=BigInt(e);f=d*d*d*q0e}let c=l*(V0e+j0e*BigInt(e));return e&1&&(c=-c),[l,f,c]}let t=e+n>>1,[i,r,o]=nT(e,t),[s,a,u]=nT(t,n);return[i*s,r*a,a*o+i*u]}function O8(e){return Math.max(2,Math.floor(e/z0e)+3)}function U0e(e){let[,n,t]=nT(0,O8(e)),i=1n<<BigInt(e),r=pE(10005n*i*i);return n*426880n*r/t}function $8(e){let[,n,t]=nT(0,O8(Math.ceil(e/rT))),i=Nn(e),r=pE(10005n*i*i);return n*426880n*r/t}function NM(e,n){if(n-e===1){let l=e===0?1n:BigInt(2*e-1),f=e===0?1n:9n*BigInt(2*e+1);return[l,f,l]}let t=e+n>>1,[i,r,o]=NM(e,t),[s,a,u]=NM(t,n);return[i*s,r*a,a*o+i*u]}function G0e(e){let n=Math.max(2,Math.ceil(e/3.169925)+5),[,t,i]=NM(0,n);return(i<<BigInt(e+1))/(3n*t)}function pE(e){if(e<0n)throw new RangeError("bigintSqrt: negative input");if(e===0n)return 0n;let n=zf(e);if(n>=D8)return IM(e,n);let t=CM(e),i;do i=t,t=(t+e/t)/2n;while(ia(t-i)>1n);for(;t*t>e;)t-=1n;for(;(t+1n)*(t+1n)<=e;)t+=1n;return t}var ym=null;function tT(e){if(ym!==null){if(ym.bits===e)return ym.value;if(ym.bits>e)return ym.value>>BigInt(ym.bits-e)}let n=J0e(e);return ym={bits:e,value:n},n}function J0e(e){let n=Math.ceil(e*rT)+12;if(n+1<=jh.length){let t=jh.slice(0,n+1);return(BigInt(t)<<BigInt(e))/Nn(t.length-1)}return U0e(e)}function oT(e,n){let t=BigInt(n),i=1n<<t;if(e===0n)return[0n,i];let r=tT(n),o=2n*r,s=r/2n,a,u=ia(e);if(u>i<<30n){let S=zf(u)-n+64,w=n+S,T=e<<BigInt(S),I=2n*tT(w),M=T%I;M<0n&&(M+=I),a=M>>BigInt(S)}else a=e%o;a<0n&&(a+=o);let l=1n,f=1n;a>3n*s?(a=o-a,l=-1n):a>r?(a=a-r,l=-1n,f=-1n):a>s&&(a=r-a,f=-1n);let c=Math.round(n*rT),d=Math.min(18,Math.max(2,Math.ceil(.87*Math.sqrt(c)))),p=0,m=i>>BigInt(d);for(;a>m;)a=a/2n,p++;let h=a,y=i,b=a,E=i,v=a*a,x=2n*t;for(let S=2;;S+=2){if(E=(E*v>>x)/(BigInt(S)*BigInt(S-1)),E===0n){b=(b*v>>x)/(BigInt(S+1)*BigInt(S)),b!==0n&&(S%4===2?(y-=E,h-=b):(y+=E,h+=b));break}if(b=(b*v>>x)/(BigInt(S+1)*BigInt(S)),S%4===2?(y-=E,h-=b):(y+=E,h+=b),b===0n)break}for(let S=0;S<p;S++){let w=2n*h*y>>t,T=(2n*y*y>>t)-i;h=w,y=T}return[l*h,f*y]}function dE(e,n){if(e===0n)return 0n;if(e<0n)return-dE(-e,n);let t=BigInt(n),i=1n<<t,o=tT(n)/2n;if(e>i){let p=(i<<t)/e;return o-dE(p,n)}let s=4n*i/10n,a=0,u=e;for(;u>s;){let p=u*u,m=(i<<t)+p>>t,h=iT(m,n);u=(u<<t)/(i+h),a++}let l=u,f=u,c=u*u,d=2n*t;for(let p=3;f=f*c>>d,f!==0n;p+=2)p%4===3?l-=f/BigInt(p):l+=f/BigInt(p);for(let p=0;p<a;p++)l=2n*l;return l}var AM=NaN,C=class e{static precision=50;static ZERO=Object.freeze(Object.assign(Object.create(e.prototype),{_digits:1,significand:0n,exponent:0}));static ONE=Object.freeze(Object.assign(Object.create(e.prototype),{_digits:1,significand:1n,exponent:0}));static TWO=Object.freeze(Object.assign(Object.create(e.prototype),{_digits:1,significand:2n,exponent:0}));static NEGATIVE_ONE=Object.freeze(Object.assign(Object.create(e.prototype),{_digits:1,significand:-1n,exponent:0}));static HALF=Object.freeze(Object.assign(Object.create(e.prototype),{_digits:1,significand:5n,exponent:-1}));static NAN=Object.freeze(Object.assign(Object.create(e.prototype),{_digits:1,significand:0n,exponent:NaN}));static POSITIVE_INFINITY=Object.freeze(Object.assign(Object.create(e.prototype),{_digits:1,significand:1n,exponent:1/0}));static NEGATIVE_INFINITY=Object.freeze(Object.assign(Object.create(e.prototype),{_digits:1,significand:-1n,exponent:1/0}));static _piFullPrecision=null;static _piCache=null;static _piCachePrecision=0;static _eulerGammaCache=null;static _eulerGammaCachePrecision=0;static get PI(){let n=e.precision;if(e._piCache!==null&&e._piCachePrecision===n)return e._piCache;let t=n+4,i;if(t+1<=jh.length)e._piFullPrecision===null&&(e._piFullPrecision=new e(jh[0]+"."+jh.slice(1))),i=e._piFullPrecision.toPrecision(t);else{let r=t+4;i=_n($8(r),-r).toPrecision(t)}return e._piCache=i,e._piCachePrecision=n,i}static get EULER_GAMMA(){let n=e.precision;if(e._eulerGammaCache!==null&&e._eulerGammaCachePrecision>=n)return e._eulerGammaCache.toPrecision(n);let t=Z0e(n);return e._eulerGammaCache=t,e._eulerGammaCachePrecision=n,t}significand;exponent;_digits;_digitCount(){return this._digits??(this._digits=qh(this.significand))}constructor(n){if(n instanceof e){this.significand=n.significand,this.exponent=n.exponent;return}if(typeof n=="bigint"){[this.significand,this.exponent]=sT(n,0);return}if(typeof n=="number"){[this.significand,this.exponent]=Y0e(n);return}[this.significand,this.exponent]=V8(n)}isNaN(){return Number.isNaN(this.exponent)}isZero(){return this.exponent===0&&this.significand===0n}isFinite(){return Number.isFinite(this.exponent)}isInteger(){return this.isFinite()&&this.exponent>=0}isPositive(){return this.significand>0n}isNegative(){return this.significand<0n}cmp(n){if(typeof n=="number"){if(Number.isNaN(n))return AM;let p=this.exponent;if(Number.isNaN(p))return AM;if(n===0)return this.significand===0n?0:this.significand>0n?1:-1;if(!Number.isFinite(p))return n===1/0?this.significand>0n?0:-1:n===-1/0?this.significand<0n?0:1:this.significand>0n?1:-1;if(this.significand===0n)return n>0?-1:1;if(n===1/0)return-1;if(n===-1/0)return 1;if(this.significand>0n!=n>0)return this.significand>0n?1:-1;if(Number.isInteger(n)&&p>=0&&p<=15){let m=this.significand*Nn(p),h=BigInt(n);return m<h?-1:m>h?1:0}n=new e(n)}let t=this.exponent,i=n.exponent,r=this.significand,o=n.significand;if(t!==t||i!==i)return AM;if(!Number.isFinite(t)||!Number.isFinite(i))return!Number.isFinite(t)&&!Number.isFinite(i)?r===o?0:r>o?1:-1:Number.isFinite(t)?o>0n?-1:1:r>0n?1:-1;if(r===0n)return o===0n?0:o>0n?-1:1;if(o===0n)return r>0n?1:-1;if(r>0n&&o<0n)return 1;if(r<0n&&o>0n)return-1;if(t===i)return r<o?-1:r>o?1:0;let s=this._digitCount(),a=n._digitCount(),u=s+t,l=a+i;if(u!==l){let p=r>0n?1:-1;return u>l?p:-p}let f=r,c=o,d=Math.abs(t-i);if(d>1e3){let p=s,m=a,h=Math.max(p,m)+1;p<h&&(f=f*Nn(h-p)),m<h&&(c=c*Nn(h-m))}else t<i?c=c*Nn(d):f=f*Nn(d);return f<c?-1:f>c?1:0}eq(n){return typeof n=="number"?n===0?this.significand===0n&&this.exponent===0:n===1?this.significand===1n&&this.exponent===0:n===-1?this.significand===-1n&&this.exponent===0:Number.isInteger(n)&&Number.isFinite(this.exponent)&&this.exponent>=0&&this.exponent<=15?this.significand*Nn(this.exponent)===BigInt(n):this.cmp(n)===0:this.significand===n.significand&&this.exponent===n.exponent}lt(n){return this.cmp(n)===-1}lte(n){let t=this.cmp(n);return t===-1||t===0}gt(n){return this.cmp(n)===1}gte(n){let t=this.cmp(n);return t===1||t===0}add(n){typeof n=="number"&&(n=new e(n));let t=this.exponent,i=n.exponent;if(Number.isFinite(t)&&Number.isFinite(i)){if(t===i)return _n(this.significand+n.significand,t);let s=t-i;return s>0?_n(this.significand*Nn(s)+n.significand,i):_n(this.significand+n.significand*Nn(-s),t)}if(t!==t||i!==i)return e.NAN;let r=!Number.isFinite(t),o=!Number.isFinite(i);return r&&o?this.significand!==n.significand?e.NAN:this.significand>0n?e.POSITIVE_INFINITY:e.NEGATIVE_INFINITY:r?this.significand>0n?e.POSITIVE_INFINITY:e.NEGATIVE_INFINITY:n.significand>0n?e.POSITIVE_INFINITY:e.NEGATIVE_INFINITY}sub(n){typeof n=="number"&&(n=new e(n));let t=this.exponent,i=n.exponent;if(Number.isFinite(t)&&Number.isFinite(i)){if(t===i)return _n(this.significand-n.significand,t);let s=t-i;return s>0?_n(this.significand*Nn(s)-n.significand,i):_n(this.significand-n.significand*Nn(-s),t)}if(t!==t||i!==i)return e.NAN;let r=!Number.isFinite(t),o=!Number.isFinite(i);return r&&o?this.significand===n.significand?e.NAN:this.significand>0n?e.POSITIVE_INFINITY:e.NEGATIVE_INFINITY:r?this.significand>0n?e.POSITIVE_INFINITY:e.NEGATIVE_INFINITY:n.significand>0n?e.NEGATIVE_INFINITY:e.POSITIVE_INFINITY}mul(n){typeof n=="number"&&(n=new e(n));let t=this.exponent,i=n.exponent;if(Number.isFinite(t)&&Number.isFinite(i))return _n(this.significand*n.significand,t+i);if(t!==t||i!==i||this.significand===0n||n.significand===0n)return e.NAN;let r=this.significand>0n?1n:-1n,o=n.significand>0n?1n:-1n;return r*o>0n?e.POSITIVE_INFINITY:e.NEGATIVE_INFINITY}_mulToPrecision(n,t){typeof n=="number"&&(n=new e(n));let i=this.exponent,r=n.exponent,o=this.significand,s=n.significand;if(o!==0n&&s!==0n&&Number.isFinite(i)&&Number.isFinite(r)){let a=o*s,u=i+r,l=this._digitCount()+n._digitCount()-1,c=(a<0n?-a:a)>=Nn(l)?l+1:l;return c<=t?_n(a,u):F8(a,u).roundToPrecKnownDigits(t,c)}return this.mul(n).toPrecision(t)}neg(){let n=this.significand;return n===0n?this:Number.isFinite(this.exponent)?_n(-n,this.exponent):n>0n?e.NEGATIVE_INFINITY:e.POSITIVE_INFINITY}abs(){return this.significand>=0n?this:Number.isFinite(this.exponent)?_n(-this.significand,this.exponent):e.POSITIVE_INFINITY}floor(){let n=this.exponent;if(n>=0)return this;if(Number.isFinite(n)){let t=this.trunc();return this.significand<0n?t.sub(_n(1n,0)):t}return this}ceil(){let n=this.exponent;if(n>=0)return this;if(Number.isFinite(n)){let t=this.trunc();return this.significand>0n?t.add(_n(1n,0)):t}return this}round(){let n=this.exponent;if(n>=0)return this;if(Number.isFinite(n)){let t=_n(5n,-1);return this.significand>0n?this.add(t).trunc():this.sub(t).trunc()}return this}trunc(){let n=this.exponent;if(n>=0)return this;if(Number.isFinite(n)){let t=this.significand/Nn(-n);return _n(t===0n?0n:t,0)}return this}div(n){typeof n=="number"&&(n=new e(n));let t=this.exponent,i=n.exponent,r=this.significand,o=n.significand;if(Number.isFinite(t)&&Number.isFinite(i)){if(o===0n)return r===0n?e.NAN:r>0n?e.POSITIVE_INFINITY:e.NEGATIVE_INFINITY;if(r===0n)return _n(0n,0);let u=e.precision,l=10,f=this._digitCount(),c=n._digitCount(),d=u+l+Math.max(0,c-f),p=Nn(d),m=r*p/o,h=t-i-d,y=m<0n?-m:m,b=f+d-c,E=y>=Nn(b)?b+1:b;return F8(m,h).roundToPrecKnownDigits(u,E)}if(t!==t||i!==i)return e.NAN;let s=!Number.isFinite(t),a=!Number.isFinite(i);if(s&&a)return e.NAN;if(s){let u=r>0n?1n:-1n,l=o>0n?1n:o<0n?-1n:1n;return u*l>0n?e.POSITIVE_INFINITY:e.NEGATIVE_INFINITY}return _n(0n,0)}inv(){return _n(1n,0).div(this)}divToward(n,t){typeof n=="number"&&(n=new e(n));let i=this.exponent,r=n.exponent,o=this.significand,s=n.significand;if(!Number.isFinite(i)||!Number.isFinite(r)||s===0n||o===0n)return this.div(n);let a=o<0n!=s<0n,u=o<0n?-o:o,l=s<0n?-s:s,f=e.precision,d=f+10+Math.max(0,n._digitCount()-this._digitCount()),p=u*Nn(d),m=p/l,h=p%l!==0n,y=i-r-d,b=this._digitCount()+d-n._digitCount(),E=m>=Nn(b)?b+1:b,v=a?t==="floor":t==="ceiling",[x,S]=MM(m,h,y,f,v,E);return _n(a?-x:x,S)}sqrtToward(n){if(this.significand===0n)return this.exponent!==this.exponent?this:e.ZERO;if(!Number.isFinite(this.exponent))return this.significand>0n?e.POSITIVE_INFINITY:e.NAN;if(this.significand<0n)return e.NAN;let t=e.precision,i=4,r=this.significand,o=this.exponent,s=o+this._digitCount()-1,a=Math.floor(s/2),u=t+i-a;o+2*u<0&&(u=Math.ceil(-o/2)+1);let l=o+2*u,f=l>=0?r*Nn(l):r/Nn(-l),c=pE(f),d=c*c!==f,[p,m]=MM(c,d,-u,t,n==="ceiling");return _n(p,m)}mod(n){typeof n=="number"&&(n=new e(n));let t=this.exponent,i=n.exponent;if(Number.isFinite(t)&&Number.isFinite(i)){if(n.significand===0n)return e.NAN;if(this.significand===0n)return _n(0n,0);let r=t-i,o=r>=0?this.significand*Nn(r):this.significand,s=r>=0?n.significand:n.significand*Nn(-r),a=o/s;return this.sub(_n(a,0).mul(n))}return t!==t||i!==i||!Number.isFinite(t)?e.NAN:new e(this)}pow(n){if(typeof n=="number"&&(n=new e(n)),this.isNaN()||n.isNaN()||!n.isFinite())return e.NAN;if(n.isInteger()){let a=n.toBigInt();if(a===0n)return _n(1n,0);if(!this.isFinite())return a>0n?this.significand<0n&&a%2n!==0n?e.NEGATIVE_INFINITY:e.POSITIVE_INFINITY:_n(0n,0);if(this.isZero())return a>0n?_n(0n,0):e.POSITIVE_INFINITY;if(a<0n)return this.pow(n.neg()).inv();let u=this.significand<0n?-this.significand:this.significand,l=this._digitCount(),f=l>15?l-15:0,c=f>0?Number(u/10n**BigInt(f)):Number(u),d=Math.log10(c)+f+this.exponent,p=Number(a)*d;if(p>9e15)return this.significand<0n&&a%2n!==0n?e.NEGATIVE_INFINITY:e.POSITIVE_INFINITY;if(p<-9e15)return _n(0n,0);let m=e.precision,h=a.toString(2).length,y=Math.min(2*h+5,100),b=m+y,E=_n(1n,0),v=this,x=a;for(;x>0n;)x&1n&&(E=E._mulToPrecision(v,b)),x>>=1n,x>0n&&(v=v._mulToPrecision(v,b));return E.toPrecision(m)}if(!this.isFinite())return this.significand<0n?e.NAN:n.significand>0n?e.POSITIVE_INFINITY:e.ZERO;if(this.isZero())return n.significand>0n?e.ZERO:e.POSITIVE_INFINITY;if(this.significand<0n)return e.NAN;let t=this.exponent+this._digitCount()-1,r=n.exponent+n._digitCount()-1+Math.log10(Math.abs(t)*2.303+3)+1,o=Math.min(20,Math.max(2,Math.ceil(r)+2)),s=e.precision;e.precision=s+o;try{let a=W0e(this,s+o);return n.mul(a).exp().toPrecision(s)}finally{e.precision=s}}toNumber(){return Number.isFinite(this.exponent)?this.significand===0n?0:this.exponent===0?Number(this.significand):Number(this.toString()):this.exponent!==this.exponent?NaN:this.significand>0n?1/0:-1/0}toString(){if(!Number.isFinite(this.exponent))return this.exponent!==this.exponent?"NaN":this.significand>0n?"Infinity":"-Infinity";if(this.significand===0n)return"0";let n=this.significand<0n,t=(n?-this.significand:this.significand).toString(),i=t.length,r=i+this.exponent-1,o=n?"-":"";if(r>20||r<-6){let u=i===1?t:t[0]+"."+t.slice(1),l=r>=0?"+":"";return`${o}${u}e${l}${r}`}if(this.exponent>=0)return o+t+"0".repeat(this.exponent);let s=-this.exponent;if(s<i){let u=t.slice(0,i-s),l=t.slice(i-s);return`${o}${u}.${l}`}let a=s-i;return`${o}0.${"0".repeat(a)}${t}`}toFixed(n){let t=n??0;if(!Number.isFinite(this.exponent))return this.exponent!==this.exponent?"NaN":this.significand>0n?"Infinity":"-Infinity";let i=this.significand<0n,r=i?-this.significand:this.significand,o=this.exponent+t,s,a;if(o>=0)a=r===0n,s=a?"0":r.toString()+"0".repeat(o);else{let c=Nn(-o),d=r/c,p=r%c,m=c/2n,h;p>m?h=d+1n:p<m||c%2n!==0n||d%2n===0n?h=d:h=d+1n,a=h===0n,s=h.toString()}let u=i&&!a?"-":"";if(t===0)return`${u}${s}`;if(s.length<=t){let c=s.padStart(t,"0");return`${u}0.${c}`}let l=s.slice(0,s.length-t),f=s.slice(s.length-t);return`${u}${l}.${f}`}toPrecision(n){if(this.significand===0n||!Number.isFinite(this.exponent))return this;let t=this._digitCount();return t<=n?this:this.roundToPrecKnownDigits(n,t)}roundToPrecKnownDigits(n,t){let i=this.significand<0n?-this.significand:this.significand,r=t-n,o=Nn(r),s=i/o,a=i-s*o,u=o/2n;(a>u||a===u&&s%2n!==0n)&&(s+=1n);let l=this.significand<0n?-s:s;return _n(l,this.exponent+r)}toPrecisionToward(n,t){if(this.significand===0n||!Number.isFinite(this.exponent))return this;let i=this._digitCount();if(i<=n)return this;let r=this.significand<0n,[o,s]=MM(r?-this.significand:this.significand,!1,this.exponent,n,t==="ceiling"!==r,i);return _n(r?-o:o,s)}toBigInt(){if(!Number.isFinite(this.exponent))throw this.exponent!==this.exponent?new RangeError("Cannot convert NaN to BigInt"):new RangeError("Cannot convert Infinity to BigInt");if(this.exponent>=0)return this.significand*Nn(this.exponent);let n=Nn(-this.exponent);return this.significand/n}},H0e=8,mE=[];function W0e(e,n){let t=e.significand,i=e.exponent;for(let o=mE.length-1;o>=0;o--){let s=mE[o];if(s.prec===n&&s.exp===i&&s.sig===t)return s.ln}let r=e.ln();return mE.push({sig:t,exp:i,prec:n,ln:r}),mE.length>H0e&&mE.shift(),r}function Z0e(e){let n=e+20+Math.ceil(Math.log10(e+10)),t=C.precision;C.precision=n;try{let i=Math.ceil(n*Math.LN10/4)+5,r=new C(i),o=r.mul(r),s=C.ONE,a=C.ONE,u=C.ZERO,l=C.ZERO,f=C.ONE.div(new C(10).pow(n)),c=6*i+100;for(let d=1;d<=c;d++){let p=new C(d).mul(d);if(s=s.mul(o).div(p).toPrecision(n),l=l.add(C.ONE.div(d)).toPrecision(n),a=a.add(s).toPrecision(n),u=u.add(s.mul(l)).toPrecision(n),d>i&&s.lt(a.mul(f)))break}return u.div(a).sub(r.ln()).toPrecision(e)}finally{C.precision=t}}function _n(e,n){let[t,i]=sT(e,n),r=Object.create(C.prototype);return r.significand=t,r.exponent=i,r}function F8(e,n){let t=Object.create(C.prototype);return t.significand=e,t.exponent=n,t}function MM(e,n,t,i,r,o){if(e===0n)return[r&&n?1n:0n,t];let s=o??qh(e);if(s<=i)return[r&&n?e+1n:e,t];let a=s-i,u=Nn(a),l=e/u,f=n||e%u!==0n;return r&&f&&(l+=1n),[l,t+a]}var L8=1000000000n,B8=1000n;function sT(e,n){if(e===0n)return[0n,0];if((e&1n)!==0n)return[e,n];if(e%10n!==0n)return[e,n];for(;e%L8===0n;)e/=L8,n+=9;for(;e%B8===0n;)e/=B8,n+=3;for(;e%10n===0n;)e/=10n,n+=1;return[e,n]}function Y0e(e){return Number.isNaN(e)?[0n,NaN]:e===1/0?[1n,1/0]:e===-1/0?[-1n,1/0]:Number.isInteger(e)?sT(BigInt(e),0):V8(e.toString())}function V8(e){if(e=e.trim(),e===""||e==="NaN")return[0n,NaN];if(e==="Infinity"||e==="+Infinity")return[1n,1/0];if(e==="-Infinity")return[-1n,1/0];let n,t=0,i=e.search(/[eE]/);if(i!==-1){if(n=e.slice(0,i),t=Number(e.slice(i+1)),!Number.isFinite(t))return[0n,NaN]}else n=e;let r=!1;n.startsWith("-")?(r=!0,n=n.slice(1)):n.startsWith("+")&&(n=n.slice(1));let o=n.indexOf("."),s,a;o===-1?(s=n,a=""):(s=n.slice(0,o),a=n.slice(o+1)),s=s.replace(/^0+/,"")||"0";let u=s+a;if(u.length===0||!/^\d+$/.test(u))return[0n,NaN];let l=BigInt(u);r&&(l=-l);let f=-a.length;return sT(l,f+t)}var K0e=Math.log2(10),z8=Math.log10(2),X0e=16,DM=1e6;function Uf(e,n){let t=Math.ceil(n*K0e)+X0e,i=BigInt(t);return e.exponent>=0?[e.significand*Nn(e.exponent)<<i,t]:[(e.significand<<i)/Nn(-e.exponent),t]}function Gf(e,n,t){if(e===0n)return C.ZERO;let i=e<0n,r=i?-e:e,o=BigInt(n),s=zf(r)-n,a=Math.floor(s*z8),u=t+4-a,l,f;if(u>=0)l=r*Nn(u)+(1n<<o-1n)>>o,f=-u;else{let d=Nn(-u)<<o;l=(r+d/2n)/d,f=-u}if(l===0n)return C.ZERO;let c=qh(l);if(c>t){let d=c-t,p=Nn(d),m=p/2n,h=l%p;l=l/p,h>=m&&(l+=1n),f+=d}return _n(i?-l:l,f)}function bo(e){return e.exponent+e._digitCount()-1}function PM(e,n){if(e===0n)return 0;let t=e<0n?-e:e,i=n*z8-(qh(t)-1);return i>0?Math.ceil(i):0}var U8=5,j8=BigInt(Number.MAX_SAFE_INTEGER),bm=null;function G8(e){if(bm!==null){if(bm.bits===e)return bm.value;if(bm.bits>e)return bm.value>>BigInt(bm.bits-e)}let n=RM(10n<<BigInt(e),e);return bm={bits:e,value:n},n}C.prototype.sqrt=function(){if(this.isNaN())return C.NAN;if(this.isZero())return C.ZERO;if(!this.isFinite())return this.significand>0n?C.POSITIVE_INFINITY:C.NAN;if(this.significand<0n)return C.NAN;let e=C.precision,n=e+10,t=bo(this),i=Math.floor(t/2),r=_n(this.significand,this.exponent-2*i),[o,s]=Uf(r,n),a=iT(o,s),u=Gf(a,s,e);return _n(u.significand,u.exponent+i)};C.prototype.cbrt=function(){if(this.isNaN())return C.NAN;if(this.isZero())return C.ZERO;if(!this.isFinite())return this.significand>0n?C.POSITIVE_INFINITY:C.NEGATIVE_INFINITY;if(this.significand<0n)return this.neg().cbrt().neg();let e=C.precision,n=e+10,t=bo(this),i=Math.floor(t/3),r=_n(this.significand,this.exponent-3*i),[o,s]=Uf(r,n),a=o<<BigInt(2*s),u,l=r.toNumber();if(s<=1e3&&Number.isFinite(l)&&l>0){let d=Number(1n<<BigInt(s)),p=Math.cbrt(l);Number.isFinite(p)&&p>0?(u=BigInt(Math.floor(p*d)),u===0n&&(u=1n)):u=q8(a)}else u=q8(a);let f;do{f=u;let d=u*u;if(d===0n){u=1n;break}u=(2n*u+a/d)/3n}while(ia(u-f)>1n);{let d=(2n*u+a/(u*u))/3n,p=ia(u*u*u-a);ia(d*d*d-a)<p&&(u=d)}let c=Gf(u,s,e);return _n(c.significand,c.exponent+i)};C.sqrt=function(e){return e.sqrt()};C.cbrt=function(e){return e.cbrt()};C.prototype.exp=function(){if(this.isNaN())return C.NAN;if(!this.isFinite())return this.significand>0n?C.POSITIVE_INFINITY:C.ZERO;if(this.isZero())return C.ONE;if(bo(this)>=17)return this.significand>0n?C.POSITIVE_INFINITY:C.ZERO;let e=C.precision,n=Math.max(0,this.exponent+this._digitCount()),t=e+20+n,[i,r]=Uf(this,t),o=G8(r),s=i/o,a=i-s*o;if(a<0n&&(s-=1n,a+=o),s>j8||s<-j8)return s>0n?C.POSITIVE_INFINITY:C.ZERO;let u=Gf(kM(a,r),r,e),l=u.exponent+Number(s);return Number.isSafeInteger(l)?_n(u.significand,l):s>0n?C.POSITIVE_INFINITY:C.ZERO};C.prototype.ln=function(){if(this.isNaN())return C.NAN;if(!this.isFinite())return this.significand>0n?C.POSITIVE_INFINITY:C.NAN;if(this.isZero())return C.NEGATIVE_INFINITY;if(this.significand<0n)return C.NAN;if(this.eq(1))return C.ZERO;let e=C.precision,n=this.significand,t=this._digitCount(),i=this.exponent+t-1,r=_n(n,-(t-1)),o=Math.abs(i).toString().length,s=0;if(i===0||i===-1){let d=this.sub(C.ONE);if(!d.isZero()){let p=bo(d);p<0&&(s=-p)}}let a=e+20+o+s,[u,l]=Uf(r,a),f=G8(l),c=RM(u,l)+BigInt(i)*f;return Gf(c,l,e)};C.prototype.log=function(e){let n=e instanceof C?e:new C(e),t=C.precision;C.precision=t+10;try{return this.ln().div(n.ln()).toPrecision(t)}finally{C.precision=t}};C.exp=function(e){return e.exp()};C.ln=function(e){return e.ln()};C.log10=function(e){return e.log(10)};C.log2=function(e){return e.log(2)};C.prototype.sin=function(){if(this.isNaN())return C.NAN;if(!this.isFinite())return C.NAN;if(this.isZero())return C.ZERO;let e=C.precision,n=bo(this);if(n<0&&-2*n>=e+4)return this.toPrecision(e);let t=e+15+(n<0?-n:0);if(n+t+30>DM)return C.NAN;let[i,r]=Uf(this,t),[o]=oT(i,r);return Gf(o,r,e)};C.prototype.cos=function(){if(this.isNaN())return C.NAN;if(!this.isFinite())return C.NAN;if(this.isZero())return C.ONE;let e=C.precision,n=bo(this),t=0;for(let i=0;;i++){let r=e+15+t;if(n+r+30>DM)return C.NAN;let[o,s]=Uf(this,r),[,a]=oT(o,s);if(a===0n){if(i>=3)return C.ZERO;t+=e+30;continue}let u=PM(a,s);if(u<=t+U8||i>=3)return Gf(a,s,e);t=u+5}};C.prototype.tan=function(){if(this.isNaN())return C.NAN;if(!this.isFinite())return C.NAN;if(this.isZero())return C.ZERO;let e=C.precision,n=bo(this);if(n<0&&-2*n>=e+4)return this.toPrecision(e);let t=n<0?-n:0,i=0;for(let r=0;;r++){let o=e+15+t+i;if(n+o+30>DM)return C.NAN;let[s,a]=Uf(this,o),[u,l]=oT(s,a);if(l===0n){if(r>=3)return u>0n?C.POSITIVE_INFINITY:C.NEGATIVE_INFINITY;i+=e+30;continue}let f=Math.max(u===0n?0:PM(u,a),PM(l,a));if(f<=i+U8||r>=3){let c=(u<<BigInt(a))/l;return Gf(c,a,e)}i=f+5}};C.prototype.atan=function(){if(this.isNaN())return C.NAN;if(this.isZero())return C.ZERO;if(!this.isFinite()){let s=C.PI.div(C.TWO);return this.significand>0n?s:s.neg()}let e=C.precision,n=bo(this);if(n<0&&-2*n>=e+4)return this.toPrecision(e);let t=e+15+(n<0?-n:0),[i,r]=Uf(this,t),o=dE(i,r);return Gf(o,r,e)};C.prototype.asin=function(){if(this.isNaN())return C.NAN;if(!this.isFinite())return C.NAN;if(this.isZero())return C.ZERO;let e=this.abs(),n=C.ONE;if(e.gt(n))return C.NAN;if(e.eq(n)){let p=C.PI.div(C.TWO);return this.significand>0n?p:p.neg()}let t=C.precision,i=bo(this);if(i<0&&-2*i>=t+4)return this.toPrecision(t);let r=t+20+(i<0?-i:0),[o,s]=Uf(this,r),a=1n<<BigInt(s),u=M8(o,o,s),l=a-u,f=iT(l,s),c=P8(o,f,s),d=dE(c,s);return Gf(d,s,t)};C.prototype.acos=function(){if(this.isNaN())return C.NAN;if(!this.isFinite())return C.NAN;if(this.abs().gt(C.ONE))return C.NAN;if(this.eq(1))return C.ZERO;if(this.eq(-1))return C.PI;let n=C.precision,t=C.precision;C.precision=n+10;try{let i=C.TWO;if(this.significand>=0n){let o=C.ONE.sub(this)._mulToPrecision(C.HALF,n+10).sqrt();return i._mulToPrecision(o.asin(),n)}let r=C.ONE.add(this)._mulToPrecision(C.HALF,n+10).sqrt();return C.PI.sub(i.mul(r.asin())).toPrecision(n)}finally{C.precision=t}};C.sin=function(e){return e.sin()};C.cos=function(e){return e.cos()};C.tan=function(e){return e.tan()};C.asin=function(e){return e.asin()};C.acos=function(e){return e.acos()};C.atan=function(e){return e.atan()};C.atan2=function(e,n){let t=e instanceof C?e:new C(e);if(t.isNaN()||n.isNaN())return C.NAN;let i=C.PI,r=i.div(C.TWO);if(n.isZero())return t.isZero()?C.ZERO:t.significand>0n?r:r.neg();let o=t.div(n);return n.significand>0n?o.atan():t.significand>=0n?o.atan().add(i):o.atan().sub(i)};C.prototype.sinh=function(){if(this.isNaN())return C.NAN;if(this.isZero())return C.ZERO;if(!this.isFinite())return this.significand>0n?C.POSITIVE_INFINITY:C.NEGATIVE_INFINITY;let e=C.precision,n=bo(this);if(n<0){if(-2*n>=e+4)return this.toPrecision(e);let r=C.precision;C.precision=e-n+5;try{let o=this.exp();return o.sub(o.inv())._mulToPrecision(C.HALF,e)}finally{C.precision=r}}if(Math.abs(this.toNumber())>1.16*(e+3)){let r=this.abs().exp().div(C.TWO);return this.significand>0n?r:r.neg()}let t=this.exp(),i=t.inv();return t.sub(i).div(C.TWO)};C.prototype.cosh=function(){if(this.isNaN())return C.NAN;if(this.isZero())return C.ONE;if(!this.isFinite())return C.POSITIVE_INFINITY;let e=C.precision;if(Math.abs(this.toNumber())>1.16*(e+3))return this.abs().exp().div(C.TWO);let n=this.exp(),t=n.inv();return n.add(t).div(C.TWO)};C.prototype.tanh=function(){if(this.isNaN())return C.NAN;if(this.isZero())return C.ZERO;if(!this.isFinite())return this.significand>0n?C.ONE:C.NEGATIVE_ONE;let e=C.precision,n=bo(this);if(n<0){if(-2*n>=e+4)return this.toPrecision(e);let i=C.precision;C.precision=e-n+5;try{let r=this.mul(C.TWO).exp();return r.sub(C.ONE).div(r.add(C.ONE)).toPrecision(e)}finally{C.precision=i}}if(Math.abs(this.toNumber())>1.16*(e+3))return this.significand>0n?C.ONE:C.NEGATIVE_ONE;let t=this.mul(C.TWO).exp();return t.sub(C.ONE).div(t.add(C.ONE))};C.sinh=function(e){return e.sinh()};C.cosh=function(e){return e.cosh()};C.tanh=function(e){return e.tanh()};C.prototype.expm1=function(){if(this.isNaN())return C.NAN;if(!this.isFinite())return this.significand>0n?C.POSITIVE_INFINITY:C.NEGATIVE_ONE;if(this.isZero())return C.ZERO;let e=C.precision,n=bo(this);if(n<0&&-n>=e+2)return this.toPrecision(e);if(n<0){let t=C.precision;C.precision=e-n+5;try{return this.exp().sub(C.ONE).toPrecision(e)}finally{C.precision=t}}return this.exp().sub(C.ONE)};C.prototype.log1p=function(){if(this.isNaN())return C.NAN;if(!this.isFinite())return this.significand>0n?C.POSITIVE_INFINITY:C.NAN;if(this.isZero())return C.ZERO;let e=C.ONE.add(this);if(e.isZero())return C.NEGATIVE_INFINITY;if(e.significand<0n)return C.NAN;let n=C.precision,t=bo(this);if(t<0&&-t>=n+2)return this.toPrecision(n);if(t<0){let i=C.precision;C.precision=n-t+5;try{return C.ONE.add(this).ln().toPrecision(n)}finally{C.precision=i}}return C.ONE.add(this).ln()};C.prototype.asinh=function(){if(this.isNaN())return C.NAN;if(this.isZero())return C.ZERO;if(!this.isFinite())return this.significand>0n?C.POSITIVE_INFINITY:C.NEGATIVE_INFINITY;let e=this.significand<0n,n=this.abs(),t=C.precision,i=bo(this);if(i<0&&-2*i>=t+4)return this.toPrecision(t);let r=()=>n.add(n.mul(n).add(C.ONE).sqrt()).ln(),o;if(i<0){let s=C.precision;C.precision=t-i+5;try{o=r().toPrecision(t)}finally{C.precision=s}}else o=r();return e?o.neg():o};C.prototype.acosh=function(){if(this.isNaN())return C.NAN;if(!this.isFinite())return this.significand>0n?C.POSITIVE_INFINITY:C.NAN;if(this.lt(C.ONE))return C.NAN;if(this.eq(1))return C.ZERO;let e=this.sub(C.ONE).div(C.TWO).sqrt();return C.TWO.mul(e.asinh())};C.prototype.atanh=function(){if(this.isNaN())return C.NAN;if(!this.isFinite())return C.NAN;if(this.isZero())return C.ZERO;let e=this.abs();if(e.eq(1))return this.significand>0n?C.POSITIVE_INFINITY:C.NEGATIVE_INFINITY;if(e.gt(C.ONE))return C.NAN;let n=C.precision,t=bo(this);if(-2*t>=n+4)return this.toPrecision(n);let i=C.precision;C.precision=n-t+5;try{return C.ONE.add(this).div(C.ONE.sub(this)).ln()._mulToPrecision(C.HALF,n)}finally{C.precision=i}};C.prototype.nthRoot=function(e){if(this.isNaN()||!Number.isInteger(e)||e===0)return C.NAN;if(e===1)return this;if(e===2)return this.sqrt();if(e===3)return this.cbrt();if(e<0)return this.nthRoot(-e).inv();if(this.isZero())return C.ZERO;if(!this.isFinite())return this.significand>0n?C.POSITIVE_INFINITY:e%2===0?C.NAN:C.NEGATIVE_INFINITY;if(this.significand<0n)return e%2===0?C.NAN:this.neg().nthRoot(e).neg();let n=C.precision,t=C.precision;C.precision=n+8;try{return C.exp(this.ln().div(new C(e))).toPrecision(n)}finally{C.precision=t}};C.asinh=function(e){return e.asinh()};C.acosh=function(e){return e.acosh()};C.atanh=function(e){return e.atanh()};C.expm1=function(e){return e.expm1()};C.log1p=function(e){return e.log1p()};C.nthRoot=function(e,n){return e.nthRoot(n)};function q8(e){let n=zf(e);if(n<=1023){let u=Math.cbrt(Number(e));if(Number.isFinite(u)&&u>=1)return BigInt(Math.floor(u))}let t=n-51,i=Number(e>>BigInt(t)),r=Math.cbrt(i),o=Math.floor(t/3),s=t%3;s===1&&(r*=1.2599210498948732),s===2&&(r*=1.5874010519681994);let a=BigInt(Math.round(r))<<BigInt(o);return a>0n?a:1n}var Q0e=["sgn","type","effects","lazyValue","storedValue","elementMemo","collectionFacet","typeParse"],eEe=["hit","hitConstant","hitFastPath","missCold","missGeneration","missGenerationWasted","missEpoch","missScope","missKeyShape","missDependency","declineCycle","declineStore","evictClear"],nEe=["generation","mutationGeneration","semanticEpoch","valueWrite","ephemeralValueWrite"],tEe=["clean","dirty"],Oe=(()=>{if(typeof process>"u")return!1;let e=process.env?.CE_CACHE_STATS;return e!==void 0&&e!=="0"})(),aT=Oe||typeof process<"u"&&!1;function iEe(){let e={};for(let n of eEe)e[n]=0;return e}var rEe=(()=>{let e={};for(let n of Q0e)e[n]=iEe();return e})(),oEe=(()=>{let e={};for(let n of nEe)e[n]=0;return e})(),sEe=(()=>{let e={};for(let n of tEe)e[n]=0;return e})();function Ke(e,n){rEe[e][n]+=1}function zh(e){oEe[e]+=1}function J8(e){sEe[e]+=1}var Uh=["number","complex","imaginary","real","rational","integer","infinity","nan"],OM=["indexed_collection","list","tuple","range","string"],uT=Object.freeze({kind:"indexed_collection",elements:"integer"}),lT=Object.freeze({kind:"indexed_collection",elements:"character"}),$M=Object.freeze({kind:"list",elements:"unknown"}),FM=Object.freeze({kind:"set",elements:"unknown"}),gE=Object.freeze({kind:"dictionary",values:"unknown"}),fT=Object.freeze({kind:"collection",elements:"unknown"}),hE=Object.freeze({kind:"indexed_collection",elements:"unknown"}),En=Object.freeze({kind:"collection",elements:"any"}),He=Object.freeze({kind:"indexed_collection",elements:"any"}),cT=Object.freeze({kind:"dictionary",values:"any"}),jn=Object.freeze({kind:"union",types:[{kind:"value",value:1/0},{kind:"value",value:-1/0}]}),Cn=Object.freeze({kind:"union",types:["real",{kind:"value",value:1/0},{kind:"value",value:-1/0}]}),dT=[...OM,"collection","set","record","dictionary"],pT=["scalar",...Uh,"boolean","character"],LM=["value","color","regexp","type","object",...dT,...pT],BM=["expression","symbol","function",...LM],VM=["any","unknown","nothing","missing","never","error",...BM],ra=new Set(Uh),H8=new Set(dT),W8=new Set(pT),Em=new Set(VM),yE="Variadic arguments cannot be used with optional arguments";function Ho(e){if(typeof e=="string")return!1;switch(e.kind){case"signature":return(e.optArgs?.length??0)>0&&e.variadicArg!==void 0?!0:Ho(e.result)||(e.args?.some(n=>Ho(n.type))??!1)||(e.optArgs?.some(n=>Ho(n.type))??!1)||e.variadicArg!==void 0&&Ho(e.variadicArg.type)||(e.typeParams?.some(n=>n.bound!==void 0&&Ho(n.bound))??!1);case"record":case"object":return Object.values(e.elements).some(Ho);case"union":case"intersection":return e.types.some(Ho);case"negation":return Ho(e.type);case"list":case"set":case"collection":case"indexed_collection":case"broadcastable":return Ho(e.elements);case"dictionary":return Ho(e.values);case"tuple":return e.elements.some(n=>Ho(n.type));case"reference":return e.args?.some(Ho)??!1;default:return!1}}function ol(e){return typeof e!="string"?!1:Em.has(e)}function oa(e){return typeof e=="string"?Em.has(e):typeof e!="object"||!("kind"in e)?!1:e.kind==="signature"||e.kind==="union"||e.kind==="intersection"||e.kind==="negation"||e.kind==="value"||e.kind==="tuple"||e.kind==="list"||e.kind==="record"||e.kind==="object"||e.kind==="dictionary"||e.kind==="set"||e.kind==="broadcastable"||e.kind==="symbol"||e.kind==="expression"||e.kind==="numeric"||e.kind==="collection"||e.kind==="indexed_collection"||e.kind==="variable"||e.kind==="reference"}var mT=Object.freeze({complexInfinity:!0});function Ir(e){return typeof e=="object"&&e!==null&&e.complexInfinity===!0}function aEe(e){return e==="\u211D"||e==="\u2124"||e==="\u211A"||e==="\u2102"||e==="\u2115"}var bE=class{input;pos=0;line=1;column=1;tokens=[];tolerant;constructor(n,t){this.input=n,this.tolerant=t?.tolerant??!1}saveState(){return{pos:this.pos,line:this.line,column:this.column,tokens:[...this.tokens]}}restoreState(n){this.pos=n.pos,this.line=n.line,this.column=n.column,this.tokens=n.tokens}error(n){throw new Error(`Lexer error at line ${this.line}, column ${this.column}: ${n}`)}peek(n=0){let t=this.pos+n;return t<this.input.length?this.input[t]:""}advance(){let n=this.input[this.pos++];return n===`
@@ -1874,7 +1874,7 @@ return function (_) { ${r} };`)(this.IA);return new Proxy(this,{apply:(s,a,u)=>{
1874
1874
  `,l[p]=p):typeof h=="string"&&(l[p]=h)}let c=this.createTarget({mode:t.mode,constantFold:!1,varsKeys:s?new Set(Object.keys(s)):void 0,foldExcludedOps:Object.keys(l).length>0?new Set(Object.keys(l)):void 0,unrollSkipHeads:i,unrollMinWidth:1,unrollConstantLists:!0,foldEmittedConstant:t.constantFold===!1?void 0:(p,m)=>Y_(m,!1,s8(c)),constant:p=>tM[p],functions:p=>l?.[p]?l[p]:ybe(p),var:p=>{if(s&&Object.hasOwn(s,p))return s[p];let m=tM[p];if(m!==void 0)return m;if(u.includes(p))return gbe(p);if(n.engine._getSymbolValue(p)===void 0)return gbe(p)},preamble:(a??"")+f,userFunctions:{defs:new Map,compiling:new Set},naming:A.newNamingContext(n,[a,f,...Object.values(l),...s?Object.values(s):[]])});c.userFunctions.root=c,n=zo(A.inlineCollectionValuedCallsAtRoot(n,c),r),u=n.unknowns,A.openCseSession(n,c,{enabled:t.cse,isOverriddenOperator:p=>Object.prototype.hasOwnProperty.call(l,p),isStringVar:p=>s!==void 0&&typeof s[p]=="string",isVarsKey:p=>s!==void 0&&Object.prototype.hasOwnProperty.call(s,p)});let d=Vqe(n,c);return A.withReferences(d,n,c,s?new Set(Object.keys(s)):void 0)}};function Vqe(e,n){Cqe(n);let t;try{let c=xqe(e,n),d=c===void 0&&Abe.has((md(e,n)??e).operator);t=c!==void 0?A.compileCseRoot(e,n,0,()=>`[${c.map(p=>A.compileValueOperand(p,n)).join(", ")}]`):d?A.compileCseRoot(e,n,0,()=>qf(e,n)??A.compile(e,n)):A.compileCseRoot(e,n)}catch(c){return{target:"interval-js",success:!1,code:"",error:c.message,diagnostic:Rf(c),...A.modeReport()}}let i=A.userFunctionsPreamble(n),r=Bqe(i,t,n),o=r.expression,s=lM.get(A.namingContext(n)),a=[s&&s.length>0?`let ${s.join(", ")};`:"",r.declarations].filter(c=>c).join(`
1875
1875
  `),u=[n.preamble,r.definitions].filter(c=>c).join(`
1876
1876
  `),l=[n.preamble,a,r.definitions].filter(c=>c).join(`
1877
- `),f=new i8(o,u,a);return{target:"interval-js",success:!0,code:o,...l?{preamble:l}:{},calling:"expression",run:f}}var pM=class{_targets=new Map;register(n,t){sme(n),ume(t),this._targets.set(n,t)}get(n){return this._targets.get(n)}list(){return[...this._targets.keys()]}unregister(n){this._targets.delete(n)}registerDefaults(){this.register("javascript",new k_),this.register("glsl",new F_),this.register("wgsl",new jA),this.register("python",new L_),this.register("interval-js",new K_)}};var mM=class{_listeners=[];_registered=new WeakSet;_pending=!1;_version=0;listen(n){return this._registered.has(n)||(this._registered.add(n),this._listeners.push(n)),()=>this._unsubscribe(n)}_unsubscribe(n){this._registered.has(n)&&(this._registered.delete(n),this._listeners=this._listeners.filter(t=>t!==n))}notify(){if(this._pending)return;this._pending=!0;let n=this._version+1;queueMicrotask(()=>{if(n!==this._version+1){this._pending=!1;return}this.notifyNow()})}notifyNow(){this._version++;for(let n of this._listeners)try{n?.onConfigurationChange?.()}catch(t){console.error("Listener error:",t)}this._pending=!1}};function jqe(e){switch(e.kind){case"assumption":case"inference":case"config":case"binding-repair":return!0;case"redefine":case"type-write":return e.callableBefore||e.callableAfter;case"scope-pop":return e.assumptionsDirty;case"value-write":return e.callable;case"declare":return!e.scratch&&(e.callable||e.shadowsCallable);case"object-store":return!1}}var qqe=(()=>{if(typeof process>"u")return!1;let e=process.env?.CE_OBJECT_STORE_BUMPS_ANY;return e!==void 0&&e!=="0"})();function zqe(e){switch(e.kind){case"value-write":return{any:!0,semantic:!e.ephemeral,world:!1};case"declare":return e.scratch?{any:!1,semantic:!1,world:!1}:{any:!0,semantic:!1,world:!1};case"binding-repair":return{any:!0,semantic:!1,world:!1};case"redefine":return e.callableAfter?{any:!1,semantic:!0,world:!0}:{any:!1,semantic:!1,world:!1};case"type-write":return{any:!0,semantic:!1,world:!1};case"scope-pop":return{any:!e.transient&&!e.clean||e.assumptionsDirty,semantic:e.assumptionsDirty,world:e.assumptionsDirty};case"assumption":return{any:!0,semantic:!0,world:!0};case"inference":return e.valueType?{any:!1,semantic:!1,world:!1}:e.symbolSignature?{any:!0,semantic:!0,world:!0}:{any:!0,semantic:!0,world:!0};case"config":return{any:!0,semantic:!0,world:!0};case"object-store":return qqe?{any:!0,semantic:!1,world:!1}:{any:!1,semantic:!1,world:!1}}}var gM=class{_anyVersion=0;_semanticVersion=0;_worldVersion=0;_callableVersion=0;_ephemeralWriteDepth=0;_factSuppressionDepth=0;_scratchDeclarationScopes=[];_tracker=new mM;get anyVersion(){return this._anyVersion}get semanticVersion(){return this._semanticVersion}get worldVersion(){return this._worldVersion}get callableVersion(){return this._callableVersion}get ephemeralWriteDepth(){return this._ephemeralWriteDepth}set ephemeralWriteDepth(n){this._ephemeralWriteDepth=n}get factSuppressionDepth(){return this._factSuppressionDepth}set factSuppressionDepth(n){this._factSuppressionDepth=n}get scratchDeclarationScopes(){return this._scratchDeclarationScopes}noteStateEvent(n){let t=zqe(n);t.any&&(this._anyVersion+=1),t.semantic&&(this._semanticVersion+=1),t.world&&(this._worldVersion+=1),jqe(n)&&(this._callableVersion+=1),Oe&&(t.any&&zh("generation"),t.semantic&&zh("mutationGeneration"),t.world&&zh("semanticEpoch"))}reset(n){this._scratchDeclarationScopes.length=0,this.noteStateEvent({kind:"config"}),n.refreshNumericConstants(),n.resetCommonSymbols(),n.purgeCaches(),this._tracker.notifyNow()}listen(n){return this._tracker.listen(n)}};function Uqe(e){return!!(e===void 0||e==="Number"||e===!0||Array.isArray(e)&&e.includes("Number"))}function qbe(e,n,t,i){let r=i?.canonical??!0,o=i?.metadata,s=t.normalize(),a=s.toLowerCase();if(a==="infinity"||a==="+infinity")return e.PositiveInfinity;if(a==="-infinity")return e.NegativeInfinity;if(e.strict&&!si(s))return e.error(["invalid-symbol",qs(s)],s);if(!r)return new Ss(e,s,{metadata:o});if(e._isShadowedParameter(s)){let d=e._shadowedParameterType(s);if(d!==void 0){let E=e._shadowedParameterDef(s);if(E!==void 0)return new Ss(e,s,{metadata:o,def:E});let v=e.context.lexicalScope;for(;v.noAutoDeclare&&v.parent;)v=v.parent;let x=v.bindings.get(s),S=x??e._declareSymbolValue(s,{type:d,inferred:!1},v);e._setShadowedParameterDef(s,S);let w=new Ss(e,s,{metadata:o,def:S});return x===void 0&&te(S)&&pa(e,S.value,{type:S.value.type,kind:"auto-declared",axis:"type",cause:w,epoch:ma(e)}),w}let p=e._shadowedParameterDef(s);if(p!==void 0)return new Ss(e,s,{metadata:o,def:p});let m=e.context.lexicalScope;for(;m.noAutoDeclare&&m.parent;)m=m.parent;let h=m.bindings.get(s),y=h??e._declareSymbolValue(s,{type:"unknown",inferred:!0},m);e._setShadowedParameterDef(s,y);let b=new Ss(e,s,{metadata:o,def:y});return h===void 0&&te(y)&&pa(e,y.value,{type:y.value.type,kind:"auto-declared",axis:"type",cause:b,epoch:ma(e)}),b}let u=Object.hasOwn(n,s)?n[s]:void 0;if(u)return u;let l=e.lookupDefinition(s);if(te(l)&&l.value.holdUntil==="never")return l.value.value??e.Nothing;if(l)return new Ss(e,s,{metadata:o,def:l});if(i?.autoDeclare===!1||e._resolveOnlyDepth>0)return new Ss(e,s,{metadata:o});let f=e.context.lexicalScope;for(;f.noAutoDeclare&&f.parent;)f=f.parent;l=e._declareSymbolValue(s,{type:"unknown",inferred:!0},f),e._boxingState.isPersistentScope(f)===!1&&e._boxingState.noteTransientAutoDeclare(s);let c=new Ss(e,s,{metadata:o,def:l});return te(l)&&pa(e,l.value,{type:l.value.type,kind:"auto-declared",axis:"type",cause:c,epoch:ma(e)}),c}function zbe(e,n,t){let i=t.bindings.get(n);if(te(i))return new Ss(e,n,{def:i})}function Ube(e,n,t,i){let r=i?.metadata;if(!Uqe(i?.canonical)&&pl(t))return e._fn("Rational",[e.number(t[0]),e.number(t[1])],{...r,canonical:!1});let s=QI(e,t);if(r===void 0){if(typeof s=="number"){let a=s;if(a===1)return e.One;if(a===0)return e.Zero;if(a===-1)return e.NegativeOne;if(a===2)return e.Two;if(Number.isInteger(a)&&n[a]!==void 0)return n[a]??=new gi(e,s),n[a];if(Number.isNaN(a))return e.NaN;if(!Number.isFinite(a))return a<0?e.NegativeInfinity:e.PositiveInfinity}else if(s instanceof Bn){if(s.isZero)return e.Zero;if(s.isOne)return e.One;if(s.isNegativeOne)return e.NegativeOne;if(s.isNaN)return e.NaN;if(s.isNegativeInfinity)return e.NegativeInfinity;if(s.isPositiveInfinity)return e.PositiveInfinity}}return new gi(e,s,{metadata:r})}var lE=class{_rules;_cachedLength=-1;constructor(n){this._rules=n}get rules(){return this._rules}set rules(n){this._rules=n,this._cachedLength=-1}hasMutatedSinceLastCache(){return this._cachedLength>=0&&this._rules.length!==this._cachedLength}markCached(){this._cachedLength=this._rules.length}};var hM=class{_precision;_angularUnit;_tolerance;_bignumTolerance;_negBignumTolerance;constructor(n){let t=n?.precision??vP;t==="machine"&&(t=Math.floor(ru)),this._precision=t,C.precision=t,this._angularUnit=n?.angularUnit??"rad",this._tolerance=Qh,this._bignumTolerance=new C(Qh),this._negBignumTolerance=new C(-Qh),this.setTolerance(n?.tolerance??"auto")}get precision(){return this._precision}setPrecision(n){let t=n;if(t==="machine"&&(t=ru),t==="auto"&&(t=vP),t===this._precision)return!1;if(typeof t!="number"||t<=0)throw Error('Expected "machine" or a positive number');return this._precision=Math.max(t,ru),C.precision=this._precision,this.setTolerance("auto"),!0}get angularUnit(){return this._angularUnit}setAngularUnit(n){if(n===this._angularUnit)return!1;if(typeof n!="string")throw Error("Expected a string");return this._angularUnit=n,!0}get tolerance(){return this._tolerance}setTolerance(n){let t=n;return t==="auto"&&(t=Qh),(!Number.isFinite(t)||t<0)&&(t=Math.pow(10,-this._precision+2)),t===this._tolerance?!1:(this._tolerance=t,this._bignumTolerance=new C(t),this._negBignumTolerance=new C(-t),!0)}get bignumTolerance(){return this._bignumTolerance}get negBignumTolerance(){return this._negBignumTolerance}get bignumNaN(){return C.NAN}get bignumZero(){return C.ZERO}get bignumOne(){return C.ONE}get bignumTwo(){return C.TWO}get bignumHalf(){return C.HALF}get bignumPi(){return C.PI}get bignumNegativeOne(){return C.NEGATIVE_ONE}bignum(n){if(n instanceof C)return n;try{return new C(n)}catch(t){t instanceof Error?console.error(t.message):console.error(String(t))}return C.NAN}};var yM=class{_iterationLimit=1024;_recursionLimit=256;_recursionDepth=0;_maxCollectionSize=1e4;_deadlineFrame=void 0;_randomFrame=void 0;_isVerifying=!1;get iterationLimit(){return this._iterationLimit}set iterationLimit(n){this._iterationLimit=n<=0?Number.POSITIVE_INFINITY:n}get recursionLimit(){return this._recursionLimit}set recursionLimit(n){this._recursionLimit=n<=0?Number.POSITIVE_INFINITY:n}get recursionDepth(){return this._recursionDepth}enterRecursion(){if(this._recursionDepth>=this._recursionLimit)throw new xe({cause:"recursion-depth-exceeded",message:"Recursion limit exceeded"});this._recursionDepth+=1}exitRecursion(){this._recursionDepth>0&&(this._recursionDepth-=1)}get maxCollectionSize(){return this._maxCollectionSize}set maxCollectionSize(n){this._maxCollectionSize=n<=0?Number.POSITIVE_INFINITY:n}get deadlineFrame(){return this._deadlineFrame}set deadlineFrame(n){this._deadlineFrame=n}get deadline(){return this._deadlineFrame?.at}set deadline(n){this._deadlineFrame=n===void 0?void 0:{at:n,spans:[]}}get randomFrame(){return this._randomFrame}set randomFrame(n){this._randomFrame=n}get timeRemaining(){return this._deadlineFrame===void 0?Number.POSITIVE_INFINITY:this._deadlineFrame.at-Date.now()}get isVerifying(){return this._isVerifying}set isVerifying(n){this._isVerifying=n}shouldContinueExecution(){return this._deadlineFrame===void 0||this._deadlineFrame.at>=Date.now()}};var bM=class{_frames=[];_rootActive=!1;_isPersistentScope=null;_transientAutoDeclares=null;withRootRepair(n,t){if(this._rootActive)return n();this._rootActive=!0,this._isPersistentScope=t??null;try{return this._withRepairFrame(void 0,()=>(this._transientAutoDeclares=null,n()))}finally{this._rootActive=!1,this._isPersistentScope=null,this._transientAutoDeclares=null}}get isRootActive(){return this._rootActive}withScopedRepair(n,t){return this._rootActive?this._withRepairFrame(n,t):t()}get isRebuilding(){return this._frames.some(n=>n.rebuilding)}isPersistentScope(n){if(!(!this._rootActive||!this._isPersistentScope))return this._isPersistentScope(n)}noteTransientAutoDeclare(n){!this._rootActive||!this._isPersistentScope||(this._transientAutoDeclares??=new Set).add(n)}noteDeclarationIn(n,t){if(!this._rootActive||!this._transientAutoDeclares?.has(t)||this._isPersistentScope?.(n)!==!0)return;let i=this._frames.find(r=>r.scope===void 0);i&&(i.repairRequested=!0)}frameDepth(){return this._frames.length}hasRepairRequestedAtOrAbove(n){for(let t=n;t<this._frames.length;t++)if(this._frames[t].repairRequested)return!0;return!1}noteDevolvedShadow(n){for(let i=this._frames.length-1;i>=0;i--){let r=this._frames[i];if(r.scope===n){r.repairRequested=!0;return}}let t=this._frames.find(i=>i.scope===void 0);t&&(t.repairRequested=!0)}_withRepairFrame(n,t){let i={scope:n,repairRequested:!1,rebuilding:!1};this._frames.push(i);try{let r=t(),o=0;for(;i.repairRequested;){if(o>=3){let s="Devolved-shadow repair did not stabilize after 3 rebuilds";throw new Error(s)}i.repairRequested=!1,i.rebuilding=!0,o+=1;try{r=t()}finally{i.rebuilding=!1}}return r}finally{let r=this._frames.pop()}}};function Gqe(e){if(typeof e!="string")return lme(e),e;let n=HS.find(t=>t.name===e);if(!n)throw new Error(`Unknown standard library: "${e}"`);return n}function Gbe(e){return e?DR(e.map(Gqe)):[...OR()]}function Jqe(e){return HS.includes(e)}function Jbe(e,n){for(let t of n){let i=t.definitions;if(!i)continue;let r=!Jqe(t),o=Array.isArray(i)?i:[i];for(let s of o){if(r)for(let a of Object.keys(s))e._customLibraryOperators.add(a.normalize());Xfe(e,s)}}}function fE(e,n){let t=e[n];if(!t)throw new Error(`Common symbol "${n}" failed to initialize`);return t}var EM=class{constructor(n){this.engine=n}engine;initializeCommonNumbers(){return{Zero:new gi(this.engine,0),One:new gi(this.engine,1),Half:new gi(this.engine,{rational:[1,2]}),NegativeOne:new gi(this.engine,-1),Two:new gi(this.engine,2),NaN:new gi(this.engine,Number.NaN),PositiveInfinity:new gi(this.engine,Number.POSITIVE_INFINITY),NegativeInfinity:new gi(this.engine,Number.NEGATIVE_INFINITY),I:new gi(this.engine,{rational:[0,1],imRational:[1,1]}),ComplexInfinity:new gi(this.engine,{re:1/0,im:1/0})}}bootstrapLibraries(n){let t=Gbe(n);Jbe(this.engine,t)}initializeCommonSymbolBindings(n){return Jde(this.engine,n),{True:fE(n,"True"),False:fE(n,"False"),Pi:fE(n,"Pi"),E:fE(n,"ExponentialE"),Nothing:fE(n,"Nothing"),Missing:fE(n,"Missing")}}};function Hbe(e){let n=new Set,t=(i,r)=>{if(i==="never")return!0;let o=e._protocolRegistry?.[r];if(o===void 0)return!1;let s=`${Zr(i)} ${r}`;if(n.has(s))return!1;n.add(s);try{return o.conformances.some(a=>a.where===void 0?R(i,a.target):qN(a.target,a.where,i,t)!==null)}finally{n.delete(s)}};return{get names(){return Object.keys(e._typeRegistry)},resolve(i){let r=e._typeRegistry[i];if(r!==void 0)return r;if(e._protocolRegistry?.[i]!==void 0)throw new Kn("protocol-in-type-position",`\`${i}\` is a protocol, not a type. Use a constrained variable: \`(x: T) -> boolean where T is ${i}\``)},forward(i){let r=e._typeRegistry[i];if(r!==void 0)return r;let o={kind:"reference",name:i,alias:!1,def:void 0};return e._typeRegistry[i]=o,o},conformsTo:t}}function vM(e,n,t){let i;typeof n=="string"?i=e.string(n):i=e.function("ErrorCode",n.map(s=>e.string(s)));let r;t!==void 0&&typeof t!="string"?r=t:t&&fN(t)?r=e.function("LatexString",[e.string(zd(t))]):typeof t=="string"&&t.length>0&&(r=e.string(t));let o=[e.expr(i)];return r&&o.push(r),e.function("Error",o)}function Wbe(e){if(typeof e=="object"){if((e.kind==="collection"||e.kind==="indexed_collection"||e.kind==="set"||e.kind==="list"&&e.dimensions===void 0)&&e.elements==="any")return e.kind;if(e.kind==="dictionary"&&e.values==="any")return"dictionary"}return e}function Zbe(e){let n=Wbe(e);if(n!==e)return Y(n);if(typeof e=="object"&&e.kind==="union"){let t=e.types.map(Wbe);if(t.some((i,r)=>i!==e.types[r]))return Y(Re({...e,types:t}))}return Y(e)}function Ybe(e,n,t,i){if(t){if(typeof i=="object"&&i!==null&&"type"in i&&"engine"in i){let o=i;d2(o.engine)&&t.toString()===o.type.toString()&&(t=qX(o.engine,()=>o.type))}let r=typeof t=="object"&&"kind"in t?Y(t):t.toString();return vM(e,["incompatible-type",Zbe(n),r],i)}return vM(e,["incompatible-type",Zbe(n)],i)}function u8(e,n){fme(n);let t=Wqe(n);n=t.options;let i=t.modeFromAlias;if(n?.target!==void 0&&n.cse===!0)throw new Error("CSE is not supported on direct custom targets in Phase 1; omit `cse` or use a registered target.");if(n?.target!==void 0&&n.storage!==void 0&&Object.keys(n.storage).length>0)throw new Error('The `storage` option is not supported on direct custom targets: the sampler-backed read needs the reference gate and the helper preamble a registered target provides. Omit `storage` or use a registered target (`to: "glsl"`).');if(n?.target===void 0&&n?.storage!==void 0){let r=e.engine._getCompilationTarget(n.to??"javascript")?.createTarget();r!==void 0&&Af(n.storage,[e],r,{vars:n.vars,functions:n.functions})}try{if(n?.target){let a=zo(Xt(e),{skipHeads:Wp(n.operators,n.functions),iterationBudget:n.target.iterationBudget,readsLiveSource:d=>typeof n.vars?.[d]=="string"}),u=[n.preamble,n.target.preamble,...n.vars?Object.values(n.vars):[],...n.functions?Object.values(n.functions).map(d=>{let p=Qp(d);return typeof p=="string"?p:void 0}):[]];n.target.naming=A.newNamingContext(a,u),n.target.cse={enabled:!1,instances:[]},n.target.constantFold=n.constantFold,n.target.complexPromotion=n.complexPromotion,n.target.storage=void 0,n.target.mode=Zqe(n.target,i&&!(n.target.supportedModes??["strict"]).includes("complex")?void 0:n.mode);let l,f;try{l=A.compileRoot(a,n.target)}catch(d){if(!g_(d)||n.target.mode!=="auto")throw d;n.target.reset?.(),n.target.mode="complex",n.target.naming=A.newNamingContext(a,u),l=A.compileRoot(a,n.target),f=d.diagnostic}let c=A.withReferences({target:n.target.language??"custom",success:!0,code:l},e,n.target,n.vars?new Set(Object.keys(n.vars)):void 0);return f!==void 0&&(c.escalation=f),c}let r=n?.to??"javascript",o=e.engine._getCompilationTarget(r);if(!o)throw new Error(`Compilation target "${r}" is not registered. Available targets: ${e.engine._listCompilationTargets().join(", ")}`);let s={fallback:n?.fallback??!0,operators:n?.operators,functions:n?.functions,vars:n?.vars,imports:n?.imports,preamble:n?.preamble,complexPromotion:n?.complexPromotion,mode:n?.mode,entryChecks:n?.entryChecks,iterationBudget:n?.iterationBudget,quadrature:n?.quadrature,symbolDeps:n?.symbolDeps,varsObjectRefs:n?.varsObjectRefs,cse:n?.cse,constantFold:n?.constantFold,storage:n?.storage};return i&&!Hqe(o,"complex")&&(s.mode=void 0),o.compile(e,s)}catch(r){if(n?.fallback??!0){let o=r.message;console.warn(`Compilation fallback for "${e.operator}" (target: ${n?.to??"javascript"}): ${o}`);let s=n?.to??"javascript";if(s==="interval-js"){let u=e.engine._getCompilationTarget("interval-js");if(u)return u.compile(e,{vars:n?.vars,fallback:!0})}let a=n?.target??e.engine._getCompilationTarget(s)?.createTarget();return A.buildInterpreterFallback(e,o,s,a,n?.vars?new Set(Object.keys(n.vars)):void 0,Rf(r,o))}throw r}}var Kbe=new WeakMap;function Hqe(e,n){let t=Kbe.get(e);return t===void 0&&(t=e.createTarget().supportedModes??["strict"],Kbe.set(e,t)),t.includes(n)}function Wqe(e){return e===void 0?{options:e,modeFromAlias:!1}:Mf(e)}function Zqe(e,n){let t=e.supportedModes??["strict"],i=typeof e.complexLift=="function"&&typeof e.complexIsReal=="function",r=t.includes("auto")&&i&&typeof e.reset=="function";return n===void 0?r?"auto":"strict":n==="auto"&&t.includes("auto")&&!r?"strict":n}var l8=null,f8=null;function Xbe(e){f8=e}function mm(){if(!l8){if(!f8)throw new Error("ComputeEngine factory not registered. Import from the main module.");l8=f8()}return l8}function Lh(e,n){if(typeof e=="string"){let t=mm();return t.parse(e,{strict:n?.strict??!1})??t.expr("Nothing")}return cl(e)?e:mm().expr(e)}function c8(e,n){return mm().expr(e,n)}function d8(e,n){return Lh(e,n).simplify(n)}function p8(e,n){return Lh(e,n).evaluate()}function m8(e,n){return Lh(e,n).N()}function g8(e,n){mm().declare(e,n)}function h8(e,n){mm().assign(e,n)}function y8(e,n){return cn(Lh(e,n))}function b8(e,n,t){return Lh(e,t).solve(n)}function E8(e,n){return Hl(Lh(e,n))}function v8(e,n){return Du(Lh(e,n))}var Yqe=/^(Sin|Cos|Tan|Cot|Sec|Csc)$/;function xM(e){return Yqe.test(e.operator)?!0:g(e)?e.ops.some(xM):!1}function gm(e,...n){return n.includes(e.operator)?!0:g(e)?e.ops.some(t=>gm(t,...n)):!1}function ii(e,n){let t=e.engine;if(g(e)&&e.ops.length>0){let i=e,r=i.ops.map(s=>ii(s,n));r.some((s,a)=>s!==i.ops[a])&&(e=t._fn(i.operator,r))}return n(e)??e}function x8(e,n){if(!g(e)||!g(n))return!1;let t=e.op1,i=n.op1;return t!==void 0&&i!==void 0&&t.isSame(i)}function Kqe(e){let n=e.engine,t=e.operator;if(!g(e))return;let i=e.op1;if(i){if(t==="Sec")return n.One.div(n._fn("Cos",[i]));if(t==="Csc")return n.One.div(n._fn("Sin",[i]))}}function i0e(e){return ii(e,Kqe)}function Xqe(e){let n=e.engine,t=e.operator;if(!g(e))return;let i=e.op1;if(i){if(t==="Tan")return n._fn("Sin",[i]).div(n._fn("Cos",[i]));if(t==="Cot")return n._fn("Cos",[i]).div(n._fn("Sin",[i]))}}function r0e(e){return ii(e,Xqe)}function Qqe(e){let n=e.engine;if(e.operator!=="Divide"||!g(e))return;let t=e.op1,i=e.op2;if(!(!t||!i)){if(t.operator==="Sin"&&i.operator==="Cos"&&x8(t,i))return g(t)?n._fn("Tan",[t.op1]):void 0;if(t.operator==="Cos"&&i.operator==="Sin"&&x8(t,i))return g(t)?n._fn("Cot",[t.op1]):void 0}}function o0e(e){return ii(e,Qqe)}function eze(e){if(g(e,"Negate"))return e.op1;if(g(e,"Multiply")){let n=e.ops.findIndex(t=>t.isSame(-1));if(n>=0){let t=e.ops.filter((i,r)=>r!==n);return t.length===1?t[0]:e.engine._fn("Multiply",t)}}}function nze(e){let n=e.engine,t=e.operator;if(!g(e))return;let i=e.op1;if(!i)return;let r=eze(i);if(r){if(t==="Cos")return n._fn("Cos",[r]);if(t==="Sec")return n._fn("Sec",[r]);if(t==="Sin")return n._fn("Sin",[r]).neg();if(t==="Tan")return n._fn("Tan",[r]).neg();if(t==="Csc")return n._fn("Csc",[r]).neg();if(t==="Cot")return n._fn("Cot",[r]).neg()}}function s0e(e){return ii(e,nze)}function tze(e){let n=e.engine;if(e.operator!=="Power"||!g(e))return;let t=e.op1,i=e.op2;if(!t||!i||t.operator!=="Sin"||!i.isSame(2)||!g(t))return;let r=t.op1;if(r)return n.One.sub(n._fn("Cos",[r]).pow(2))}function S8(e){return ii(e,tze)}function ize(e){let n=e.engine;if(e.operator!=="Power"||!g(e))return;let t=e.op1,i=e.op2;if(!t||!i||t.operator!=="Cos"||!i.isSame(2)||!g(t))return;let r=t.op1;if(r)return n.One.sub(n._fn("Sin",[r]).pow(2))}function a0e(e){return ii(e,ize)}function rze(e){let n=e.engine;if(e.operator!=="Power"||!g(e))return;let t=e.op1,i=e.op2;if(!t||!i||t.operator!=="Cos"||!i.isSame(2)||!g(t))return;let r=t.op1;if(r)return n.One.add(n._fn("Cos",[r.mul(2)])).div(2)}function u0e(e){return ii(e,rze)}function oze(e){let n=e.engine;if(g(e,"Divide")){let i=e.op1,r=e.op2;if(!i||!r||!r.isSame(2))return;if(g(i,"Add")&&i.ops.length===2)return Qbe(n,i.ops)}let t=i=>!!(i.re===.5&&i.im===0||i.isSame(n.Half));if(g(e,"Multiply")){let i=e.ops.findIndex(r=>t(r));if(i>=0){let r=e.ops.filter((o,s)=>s!==i);if(r.length===1&&r[0].operator==="Add"){let o=r[0];if(g(o)&&o.ops.length===2)return Qbe(n,o.ops)}}}if(g(e,"Add")&&e.ops.length===2){let i,r,o=!1,s=a=>a.re===-.5&&a.im===0;for(let a of e.ops){if(t(a)){i=a;continue}let u=a,l=!1;if(g(a,"Negate")&&(l=!0,u=a.op1),g(u,"Divide")&&u.op2?.isSame(2)){let f=u.op1;if(f?.operator==="Cos"){r=f,o=l;continue}}if(g(u,"Multiply")){let f=u.ops.findIndex(d=>t(d));if(f>=0){let d=u.ops.filter((p,m)=>m!==f);if(d.length===1&&d[0].operator==="Cos"){r=d[0],o=l;continue}}let c=u.ops.findIndex(d=>s(d));if(c>=0){let d=u.ops.filter((p,m)=>m!==c);if(d.length===1&&d[0].operator==="Cos"){r=d[0],o=!l;continue}}}}if(i&&r){if(!g(r))return;let a=r.op1;if(!a)return;let u;if(g(a,"Multiply")){let l=a.ops.findIndex(f=>f.isSame(2));if(l>=0){let f=a.ops.filter((c,d)=>d!==l);u=f.length===1?f[0]:n._fn("Multiply",f)}}return u?o?n._fn("Sin",[u]).pow(2):n._fn("Cos",[u]).pow(2):void 0}}}function Qbe(e,n){let t=-1,i=-1,r=!1;for(let u=0;u<n.length;u++)if(n[u].isSame(1))t=u;else if(n[u].operator==="Cos")i=u,r=!1;else if(n[u].operator==="Negate"){let l=n[u];g(l)&&l.op1?.operator==="Cos"&&(i=u,r=!0)}if(t<0||i<0)return;let o;if(r){let u=n[i];if(!g(u))return;o=u.op1}else o=n[i];if(!g(o))return;let s=o.op1;if(!s)return;let a;if(g(s,"Multiply")){let u=s.ops.findIndex(l=>l.isSame(2));if(u>=0){let l=s.ops.filter((f,c)=>c!==u);a=l.length===1?l[0]:e._fn("Multiply",l)}}if(a)return r?e._fn("Sin",[a]).pow(2):e._fn("Cos",[a]).pow(2)}function _8(e){return ii(e,oze)}function sze(e){let n=e.engine;if(e.operator!=="Multiply"||!g(e))return;let t=e.ops;if(!(t.length<2))for(let i=0;i<t.length;i++)for(let r=i+1;r<t.length;r++){let o=t[i],s=t[r];if(!g(o)||!g(s))continue;let a=o.op1,u=s.op1;if(!a||!u)continue;let l;if(o.operator==="Sin"&&s.operator==="Cos"?l=n._fn("Sin",[a.add(u)]).add(n._fn("Sin",[a.sub(u)])).div(2):o.operator==="Cos"&&s.operator==="Sin"?l=n._fn("Sin",[a.add(u)]).sub(n._fn("Sin",[a.sub(u)])).div(2):o.operator==="Cos"&&s.operator==="Cos"?l=n._fn("Cos",[a.add(u)]).add(n._fn("Cos",[a.sub(u)])).div(2):o.operator==="Sin"&&s.operator==="Sin"&&(l=n._fn("Cos",[a.sub(u)]).sub(n._fn("Cos",[a.add(u)])).div(2)),l){let f=t.filter((c,d)=>d!==i&&d!==r);return f.length===0?l:l.mul(f.length===1?f[0]:n._fn("Multiply",f))}}}function l0e(e){return ii(e,sze)}function aze(e){let n=e.engine;if(e.operator!=="Add"||!g(e))return;let t=e.ops;if(!(t.length<2))for(let i=0;i<t.length;i++)for(let r=i+1;r<t.length;r++){let o=t[i],s=t[r],a;if(o.operator==="Sin"&&s.operator==="Sin"){if(!g(o)||!g(s))continue;let u=o.op1,l=s.op1;if(u&&l){let f=u.add(l).div(2),c=u.sub(l).div(2);a=n._fn("Sin",[f]).mul(n._fn("Cos",[c])).mul(2)}}else if(o.operator==="Cos"&&s.operator==="Cos"){if(!g(o)||!g(s))continue;let u=o.op1,l=s.op1;if(u&&l){let f=u.add(l).div(2),c=u.sub(l).div(2);a=n._fn("Cos",[f]).mul(n._fn("Cos",[c])).mul(2)}}else if(o.operator==="Sin"&&s.operator==="Negate"){if(!g(o)||!g(s)||s.op1?.operator!=="Sin")continue;let u=s.op1;if(!g(u))continue;let l=o.op1,f=u.op1;if(l&&f){let c=l.add(f).div(2),d=l.sub(f).div(2);a=n._fn("Cos",[c]).mul(n._fn("Sin",[d])).mul(2)}}else if(o.operator==="Cos"&&s.operator==="Negate"){if(!g(o)||!g(s)||s.op1?.operator!=="Cos")continue;let u=s.op1;if(!g(u))continue;let l=o.op1,f=u.op1;if(l&&f){let c=l.add(f).div(2),d=l.sub(f).div(2);a=n._fn("Sin",[c]).mul(n._fn("Sin",[d])).mul(-2)}}if(a){let u=t.filter((l,f)=>f!==i&&f!==r);return u.length===0?a:a.add(u.length===1?u[0]:n._fn("Add",u))}}}function SM(e){return ii(e,aze)}function uze(e){let n=e.engine,t=e.operator;if(t!=="Sin"&&t!=="Cos"||!g(e))return;let i=e.op1;if(i){if(g(i,"Add")&&i.ops.length===2){let[r,o]=i.ops;return t==="Sin"?n._fn("Sin",[r]).mul(n._fn("Cos",[o])).add(n._fn("Cos",[r]).mul(n._fn("Sin",[o]))):n._fn("Cos",[r]).mul(n._fn("Cos",[o])).sub(n._fn("Sin",[r]).mul(n._fn("Sin",[o])))}if(g(i,"Subtract")){let r=i.op1,o=i.op2;return!r||!o?void 0:t==="Sin"?n._fn("Sin",[r]).mul(n._fn("Cos",[o])).sub(n._fn("Cos",[r]).mul(n._fn("Sin",[o]))):n._fn("Cos",[r]).mul(n._fn("Cos",[o])).add(n._fn("Sin",[r]).mul(n._fn("Sin",[o])))}}}function f0e(e){return ii(e,uze)}function lze(e){let n=e.engine;if(e.operator!=="Add"||!g(e))return;let t=e.ops;if(!(t.length<2))for(let i=0;i<t.length;i++)for(let r=i+1;r<t.length;r++){let o=t[i],s=t[r],a=S=>{if(S.operator!=="Multiply"||!g(S))return null;let w=S.ops;if(w.length!==2)return null;let[T,k]=w;return T.operator==="Sin"&&k.operator==="Cos"?{sin:T,cos:k}:T.operator==="Cos"&&k.operator==="Sin"?{sin:k,cos:T}:null},u=S=>{if(S.operator!=="Multiply"||!g(S))return null;let w=S.ops;if(w.length!==2)return null;let[T,k]=w;return T.operator==="Cos"&&k.operator==="Cos"?{cos1:T,cos2:k}:null},l=S=>{if(S.operator!=="Multiply"||!g(S))return null;let w=S.ops;if(w.length!==2)return null;let[T,k]=w;return T.operator==="Sin"&&k.operator==="Sin"?{sin1:T,sin2:k}:null},f=S=>g(S)?S.op1:void 0,c=a(o),d=a(s),p=g(o,"Negate")&&o.op1?a(o.op1):null,m=g(s,"Negate")&&s.op1?a(s.op1):null;if(c&&d){let S=f(c.sin),w=f(c.cos),T=f(d.sin),k=f(d.cos);if(S&&w&&T&&k&&S.isSame(k)&&w.isSame(T)){let I=t.filter((V,L)=>L!==i&&L!==r),M=n._fn("Sin",[S.add(w)]);return I.length===0?M:M.add(I.length===1?I[0]:n._fn("Add",I))}}if(c&&m){let S=f(c.sin),w=f(c.cos),T=f(m.sin),k=f(m.cos);if(S&&w&&T&&k&&S.isSame(k)&&w.isSame(T)){let I=t.filter((V,L)=>L!==i&&L!==r),M=n._fn("Sin",[S.sub(w)]);return I.length===0?M:M.add(I.length===1?I[0]:n._fn("Add",I))}}if(p&&d){let S=f(p.sin),w=f(p.cos),T=f(d.sin),k=f(d.cos);if(S&&w&&T&&k&&T.isSame(w)&&k.isSame(S)){let I=t.filter((V,L)=>L!==i&&L!==r),M=n._fn("Sin",[T.sub(k)]);return I.length===0?M:M.add(I.length===1?I[0]:n._fn("Add",I))}}let h=u(o),y=u(s),b=l(o),E=l(s),v=g(o,"Negate")&&o.op1?l(o.op1):null,x=g(s,"Negate")&&s.op1?l(s.op1):null;if(h&&x){let S=f(h.cos1),w=f(h.cos2),T=f(x.sin1),k=f(x.sin2);if(S&&w&&T&&k&&(S.isSame(T)&&w.isSame(k)||S.isSame(k)&&w.isSame(T))){let I=t.filter((V,L)=>L!==i&&L!==r),M=n._fn("Cos",[S.add(w)]);return I.length===0?M:M.add(I.length===1?I[0]:n._fn("Add",I))}}if(v&&y){let S=f(y.cos1),w=f(y.cos2),T=f(v.sin1),k=f(v.sin2);if(S&&w&&T&&k&&(S.isSame(T)&&w.isSame(k)||S.isSame(k)&&w.isSame(T))){let I=t.filter((V,L)=>L!==i&&L!==r),M=n._fn("Cos",[S.add(w)]);return I.length===0?M:M.add(I.length===1?I[0]:n._fn("Add",I))}}if(h&&E){let S=f(h.cos1),w=f(h.cos2),T=f(E.sin1),k=f(E.sin2);if(S&&w&&T&&k&&(S.isSame(T)&&w.isSame(k)||S.isSame(k)&&w.isSame(T))){let I=t.filter((V,L)=>L!==i&&L!==r),M=n._fn("Cos",[S.sub(w)]);return I.length===0?M:M.add(I.length===1?I[0]:n._fn("Add",I))}}if(b&&y){let S=f(y.cos1),w=f(y.cos2),T=f(b.sin1),k=f(b.sin2);if(S&&w&&T&&k&&(S.isSame(T)&&w.isSame(k)||S.isSame(k)&&w.isSame(T))){let I=t.filter((V,L)=>L!==i&&L!==r),M=n._fn("Cos",[S.sub(w)]);return I.length===0?M:M.add(I.length===1?I[0]:n._fn("Add",I))}}}}function _M(e){return ii(e,lze)}function fze(e){let n=e.engine,t=e.operator;if(t!=="Sin"&&t!=="Cos"||!g(e))return;let i=e.op1;if(i&&g(i,"Multiply")){let r=i.ops,o=r.findIndex(s=>s.isSame(2));if(o>=0){let s=r.filter((u,l)=>l!==o),a=s.length===1?s[0]:n._fn("Multiply",s);return t==="Sin"?n._fn("Sin",[a]).mul(n._fn("Cos",[a])).mul(2):n._fn("Cos",[a]).pow(2).mul(2).sub(n.One)}}}function T8(e){return ii(e,fze)}function cze(e){let n=e.engine;if(g(e,"Multiply")){let t=e.ops,i=t.findIndex(r=>r.isSame(2));if(i>=0){let r=t.filter((a,u)=>u!==i),o,s;for(let a of r)a.operator==="Sin"&&!o?o=a:a.operator==="Cos"&&!s&&(s=a);if(o&&s&&x8(o,s)){if(!g(o))return;let a=r.filter(l=>l!==o&&l!==s),u=n._fn("Sin",[o.op1.mul(2)]);return a.length===0?u:u.mul(a.length===1?a[0]:n._fn("Multiply",a))}}}if(g(e,"Add")&&e.ops.length===2){let[t,i]=e.ops;if(g(t,"Power")&&t.op1?.operator==="Cos"&&t.op2?.isSame(2)&&i.operator==="Negate"&&g(i)&&i.op1?.operator==="Power"&&g(i.op1)&&i.op1.op1?.operator==="Sin"&&i.op1.op2?.isSame(2)){let u=t.op1,l=i.op1;if(g(u)&&g(l)){let f=l.op1;if(g(f)){let c=u.op1,d=f.op1;if(c&&d&&c.isSame(d))return n._fn("Cos",[c.mul(2)])}}}let r=u=>{if(!g(u,"Multiply"))return;let l=u.ops.findIndex(d=>d.isSame(2));if(l<0)return;let f=u.ops.filter((d,p)=>p!==l);if(f.length!==1)return;let c=f[0];if(g(c,"Power")&&c.op1?.operator==="Cos"&&c.op2?.isSame(2)){let d=c.op1;if(g(d))return d.op1}},o=r(t);if(o&&(i.isSame(-1)||g(i,"Negate")&&i.op1?.isSame(1)))return n._fn("Cos",[o.mul(2)]);if(o=r(i),o&&(t.isSame(-1)||g(t,"Negate")&&t.op1?.isSame(1)))return n._fn("Cos",[o.mul(2)]);let s=u=>{if(!g(u,"Multiply"))return;let l=u.ops.findIndex(d=>d.isSame(2));if(l<0)return;let f=u.ops.filter((d,p)=>p!==l);if(f.length!==1)return;let c=f[0];if(g(c,"Power")&&c.op1?.operator==="Sin"&&c.op2?.isSame(2)){let d=c.op1;if(g(d))return d.op1}};if(t.isSame(1)&&g(i,"Negate")&&i.op1){let u=s(i.op1);if(u)return n._fn("Cos",[u.mul(2)])}if(i.isSame(1)&&g(t,"Negate")&&t.op1){let u=s(t.op1);if(u)return n._fn("Cos",[u.mul(2)])}let a=u=>{if(!g(u,"Multiply"))return;let l=u.ops.findIndex(d=>d.isSame(-2));if(l<0)return;let f=u.ops.filter((d,p)=>p!==l);if(f.length!==1)return;let c=f[0];if(g(c,"Power")&&c.op1?.operator==="Sin"&&c.op2?.isSame(2)){let d=c.op1;if(g(d))return d.op1}};if(t.isSame(1)){let u=a(i);if(u)return n._fn("Cos",[u.mul(2)])}if(i.isSame(1)){let u=a(t);if(u)return n._fn("Cos",[u.mul(2)])}}}function c0e(e){return ii(e,cze)}function e0e(e){let n=!1,t=e;if(g(t,"Negate")&&t.op1)n=!0,t=t.op1;else if(g(t,"Multiply")&&t.ops.length===2){let s=t.ops.findIndex(a=>a.isSame(-1));s>=0&&(n=!0,t=t.ops[1-s])}if(!g(t,"Power"))return;let i=t.op1,r=t.op2;if(!i||!r||!(r.isSame(2)||r.isSame(4))||i.operator!=="Sin"&&i.operator!=="Cos"||!g(i))return;let o=i.op1;if(o)return{func:i.operator,arg:o,power:r.isSame(2)?2:4,negated:n}}function dze(e){let n=e.engine;if(!g(e,"Add")||e.ops.length!==2)return;let t=e0e(e.ops[0]),i=e0e(e.ops[1]);if(!t||!i||t.negated===i.negated||t.func===i.func||t.power!==i.power||!t.arg.isSame(i.arg))return;let r=t.negated?i:t,o=n._fn("Cos",[r.arg.mul(2)]);return r.func==="Cos"?o:o.neg()}function d0e(e){return ii(e,dze)}function pze(e){let n=e.engine;if(e.operator!=="Tan"||!g(e))return;let t=e.op1;if(t){if(g(t,"Add")&&t.ops.length===2){let[i,r]=t.ops,o=n._fn("Tan",[i]),s=n._fn("Tan",[r]);return o.add(s).div(n.One.sub(o.mul(s)))}if(g(t,"Subtract")){let i=t.op1,r=t.op2;if(!i||!r)return;let o=n._fn("Tan",[i]),s=n._fn("Tan",[r]);return o.sub(s).div(n.One.add(o.mul(s)))}}}function p0e(e){return ii(e,pze)}var mze=[{value:0,angle:[0,1]},{value:1/Math.sqrt(3),angle:[1,6]},{value:1,angle:[1,4]},{value:Math.sqrt(3),angle:[1,3]},{value:2-Math.sqrt(3),angle:[1,12]},{value:2+Math.sqrt(3),angle:[5,12]}];function gze(e,n=1e-10){for(let t of mze)if(Math.abs(t.value-e)<n)return t.angle}function hze(e){if(e.operator!=="Multiply"||!g(e))return;let n=e.ops;if(n.length<2)return;let t=[],i=1;for(let r of n)if(g(r,"Tan")&&r.op1)t.push(r.op1);else if(g(r,"Negate")&&r.op1?.operator==="Sqrt"){let o=r.op1;if(g(o)){let s=o.op1;if(N(s)&&typeof s.re=="number")i*=-Math.sqrt(s.re);else return}else return}else if(g(r,"Sqrt")){let o=r.op1;if(o&&N(o)&&typeof o.re=="number")i*=Math.sqrt(o.re);else return}else if(N(r)&&typeof r.re=="number")i*=r.re;else return;if(t.length===2)return[i,t[0],t[1]]}function n0e(e){if(g(e,"Multiply")){let n=!1,t;for(let i of e.ops)if(_(i,"Pi"))n=!0;else if(N(i)&&typeof i.re=="number"){let r=i.re;for(let o=1;o<=36;o++){let s=Math.round(r*o);if(Math.abs(s/o-r)<1e-10){t=[s,o];break}}}if(n&&t)return t}if(_(e,"Pi"))return[1,1]}function yze(e){let n=e.engine;if(e.operator!=="Add"||!g(e))return;let t=e.ops;if(t.length!==3)return;let i=[],r;for(let E=0;E<t.length;E++){let v=t[E];if(g(v,"Tan")&&v.op1)i.push({arg:v.op1,index:E});else{let x=hze(v);x&&(r={coef:x[0],arg1:x[1],arg2:x[2],index:E})}}if(i.length!==2||!r)return;let[o,s]=i,a=o.arg.isSame(r.arg1)||o.arg.isSame(r.arg2),u=s.arg.isSame(r.arg1)||s.arg.isSame(r.arg2),l=o.arg.isSame(r.arg2)||o.arg.isSame(r.arg1),f=s.arg.isSame(r.arg2)||s.arg.isSame(r.arg1);if(!(a&&f||u&&l))return;let c=-r.coef;if(c<=0)return;let d=gze(c);if(!d)return;let p=n0e(o.arg),m=n0e(s.arg);if(!p||!m)return;let h=t0e(t0e(p[1],m[1]),d[1]);if(p[0]*(h/p[1])+m[0]*(h/m[1])+d[0]*(h/d[1])!==h)return;let b=n._fn("Multiply",[n.number([d[0],d[1]]),n.symbol("Pi")]);return n._fn("Tan",[b]).neg()}function t0e(e,n){return Math.abs(e*n)/bze(e,n)}function bze(e,n){for(e=Math.abs(e),n=Math.abs(n);n;){let t=n;n=e%n,e=t}return e}function m0e(e){return ii(e,yze)}function Eze(e){let n=e.engine;if(e.operator!=="Multiply"||!g(e))return;let t=e.ops;if(!(t.length<2))for(let i=0;i<t.length;i++)for(let r=i+1;r<t.length;r++){let o=t[i],s=t[r];if(!g(o)||!g(s))continue;let a=o.op1,u=s.op1;if(!(!a||!u)){if(o.operator==="Tan"&&s.operator==="Tan"){let l=o,f=s,c=n._fn("Cot",[a.add(u)]),d=n.One.sub(l.add(f).mul(c)),p=t.filter((m,h)=>h!==i&&h!==r);return p.length===0?d:d.mul(p.length===1?p[0]:n._fn("Multiply",p))}if(o.operator==="Cot"&&s.operator==="Cot"){let l=o,f=s,c=n._fn("Cot",[a.add(u)]),d=n.One.add(l.add(f).mul(c)),p=t.filter((m,h)=>h!==i&&h!==r);return p.length===0?d:d.mul(p.length===1?p[0]:n._fn("Multiply",p))}}}}function g0e(e){return ii(e,Eze)}function vze(e){let n=e.engine;if(e.operator!=="Power"||!g(e))return;let t=e.op1,i=e.op2;if(!t||!i||!i.isSame(2)||!g(t))return;let r=t.op1;if(r){if(t.operator==="Tan")return n._fn("Sec",[r]).pow(2).sub(n.One);if(t.operator==="Cot")return n._fn("Csc",[r]).pow(2).sub(n.One);if(t.operator==="Sec")return n.One.add(n._fn("Tan",[r]).pow(2));if(t.operator==="Csc")return n.One.add(n._fn("Cot",[r]).pow(2))}}function h0e(e){return ii(e,vze)}function xze(e){let n=e.engine;if(e.operator!=="Add"||!g(e))return;let t=e.ops;if(t.length!==2)return;let i=d=>{let p=!1,m=d;if(g(d,"Negate")&&(p=!0,m=d.op1),!g(m)||m.operator!=="Power"||!m.op2?.isSame(2))return null;let h=m.op1;if(!g(h)||!h.op1)return null;let y=h.operator;return["Tan","Cot","Sec","Csc"].includes(y)?{func:y,arg:h.op1,neg:p}:null},r=i(t[0]),o=i(t[1]);if(r&&o&&r.arg.isSame(o.arg)){if(r.func==="Cot"&&!r.neg&&o.func==="Csc"&&o.neg||r.func==="Csc"&&r.neg&&o.func==="Cot"&&!o.neg)return n.number(-1);if(r.func==="Csc"&&!r.neg&&o.func==="Cot"&&o.neg||r.func==="Cot"&&r.neg&&o.func==="Csc"&&!o.neg)return n.One;if(r.func==="Tan"&&!r.neg&&o.func==="Sec"&&o.neg||r.func==="Sec"&&r.neg&&o.func==="Tan"&&!o.neg)return n.number(-1);if(r.func==="Sec"&&!r.neg&&o.func==="Tan"&&o.neg||r.func==="Tan"&&r.neg&&o.func==="Sec"&&!o.neg)return n.One}let s=-1,a=-1,u=!1;for(let d=0;d<t.length;d++){let p=t[d];p.isSame(1)?(s=d,u=!1):p.isSame(-1)||g(p,"Negate")&&p.op1?.isSame(1)?(s=d,u=!0):g(p,"Power")&&p.op2?.isSame(2)&&(a=d)}if(s<0||a<0)return;let l=t[a];if(!g(l))return;let f=l.op1;if(!f||!g(f))return;let c=f.op1;if(c){if(f.operator==="Sec"&&u)return n._fn("Tan",[c]).pow(2);if(f.operator==="Csc"&&u)return n._fn("Cot",[c]).pow(2);if(f.operator==="Tan"&&!u)return n._fn("Sec",[c]).pow(2);if(f.operator==="Cot"&&!u)return n._fn("Csc",[c]).pow(2)}}function w8(e){return ii(e,xze)}function Sze(e){let n=e.engine;if(!g(e,"Multiply"))return[1,n.One,e];for(let t=0;t<e.ops.length;t++){let i=e.ops[t],r;if(N(i)&&typeof i.re=="number"&&i.im===0&&(r=i.re),r!==void 0){let o=e.ops.filter((a,u)=>u!==t),s=o.length===1?o[0]:n._fn("Multiply",o);return[r,i,s]}}return[1,n.One,e]}function _ze(e){let n=e.engine;if(e.operator!=="Multiply"||!g(e))return;let t=e.ops;if(t.length<2)return;let i=[],r=[];for(let T of t)if(g(T,"Cos")&&T.op1){let k=Sze(T.op1);k?i.push({arg:k[2],numericMult:k[0],symbolicCoeff:k[1]}):i.push({arg:T.op1,numericMult:1,symbolicCoeff:n.One})}else r.push(T);if(i.length<2)return;let o=i[0].arg,s=i.filter(T=>T.arg.isSame(o)),a=i.filter(T=>!T.arg.isSame(o));if(s.length<2)return;s.sort((T,k)=>T.numericMult-k.numericMult);let u=[],l=[],f=[...s],c=f[0].numericMult;if(c>0){u.push(f[0]);let T=new Set([0]),k=c*2;for(;;){let I=f.findIndex((M,V)=>!T.has(V)&&Math.abs(M.numericMult-k)<1e-10);if(I===-1)break;u.push(f[I]),T.add(I),k*=2}l=f.filter((I,M)=>!T.has(M))}if(u.length<2)return;let d=u[0].numericMult,p=[...r];for(let T of l){let k=T.symbolicCoeff.isSame(n.One)?T.arg:n._fn("Multiply",[T.symbolicCoeff,T.arg]);p.push(n._fn("Cos",[k]))}for(let T of a){let k=T.symbolicCoeff.isSame(n.One)?T.arg:n._fn("Multiply",[T.symbolicCoeff,T.arg]);p.push(n._fn("Cos",[k]))}let m=u.length,h=u[0].symbolicCoeff,y=Math.pow(2,m);if(_(o,"Pi")){let T=1/(y+1);if(Math.abs(d-T)<1e-10){let k=n.number([1,y]);return p.length===0?k:k.mul(p.length===1?p[0]:n._fn("Multiply",p))}}let b=h.mul(y),E=h.isSame(n.One)?o:n._fn("Multiply",[h,o]),v=n._fn("Multiply",[b,o]),x=n._fn("Sin",[v]),S=n._fn("Sin",[E]),w=x.div(n.number(y).mul(S));return p.length===0?w:w.mul(p.length===1?p[0]:n._fn("Multiply",p))}function y0e(e){return ii(e,_ze)}function Tze(e){if(g(e,"Power")&&e.op2?.isSame(2)){let n=e.op1;if(g(n,"Sin")&&n.op1)return{func:"Sin",arg:n.op1,coef:1};if(g(n,"Cos")&&n.op1)return{func:"Cos",arg:n.op1,coef:1}}if(g(e,"Multiply")){let n=1,t;for(let i of e.ops)if(g(i,"Power")&&i.op2?.isSame(2)){let r=i.op1;(r?.operator==="Sin"||r?.operator==="Cos")&&(t=i)}else typeof i.re=="number"&&i.im===0&&(n*=i.re);if(g(t)){let i=t.op1;if(g(i,"Sin")&&i.op1)return{func:"Sin",arg:i.op1,coef:n};if(g(i,"Cos")&&i.op1)return{func:"Cos",arg:i.op1,coef:n}}}return null}function wze(e){let n=e.engine;if(e.operator!=="Add"||!g(e))return;let t=e.ops;if(t.length<2)return;let i=[],r=[],o=[];for(let s=0;s<t.length;s++){let a=t[s],u=Tze(a);u?i.push({...u,index:s}):typeof a.re=="number"&&a.im===0&&N(a)?o.push({value:a.re,index:s}):r.push({expr:a,index:s})}for(let s=0;s<i.length;s++)for(let a=s+1;a<i.length;a++){let u=i[s],l=i[a];if(u.arg.isSame(l.arg)&&(u.func==="Sin"&&l.func==="Cos"||u.func==="Cos"&&l.func==="Sin")&&Math.abs(u.coef-l.coef)<1e-10){let f=u.coef,c=new Set([u.index,l.index]),d=t.filter((p,m)=>!c.has(m));return d.length===0?n.number(f):f===1?n._fn("Add",[n.One,...d]):n._fn("Add",[n.number(f),...d])}}for(let s of i)if(s.coef<0){let a=Math.abs(s.coef);for(let u of o)if(Math.abs(u.value-a)<1e-10){let l=new Set([s.index,u.index]),f=t.filter((p,m)=>!l.has(m)),c=s.func==="Sin"?"Cos":"Sin",d=n._fn(c,[s.arg]).pow(2).mul(a);return f.length===0?d:n._fn("Add",[d,...f])}}}function b0e(e){return ii(e,wze)}var Nze=new Set(["Sin","Cos","Tan","Cot","Sec","Csc"]);function N8(e){let n=0;if(Nze.has(e.operator)&&(n=1),g(e))for(let t of e.ops)n+=N8(t);return n}function C8(e){if(_(e)||N(e))return 1;let n=1;if(g(e))for(let t of e.ops)n+=C8(t);return n}function E0e(e){let n=N8(e),t=C8(e);return n*1e3+t}var v0e=E0e;function I8(e,n){if(e.length===0)throw new Error("bestOf called with empty array");if(e.length===1)return e[0];let t=e[0],i=n(t);for(let r=1;r<e.length;r++){let o=n(e[r]);o<i&&(t=e[r],i=o)}return t}function X_(e,n){let t=n(e);return t.isSame(e)?null:t}function x0e(e,n){let t=X_(e,S8),i=X_(e,a0e),r=[e];return t&&r.push(t),i&&r.push(i),I8(r,n)}function Cze(e,n){return x0e(e,n)}function Ize(e,n){let t=X_(e,l0e),i=[e];if(t){i.push(t);let r=X_(t,_M);r&&i.push(r)}return I8(i,n)}function kze(e,n){let t=X_(e,_M),i=[e];return t&&i.push(t),I8(i,n)}function Rze(e,n){let t=p0e(e);return t=g0e(t),t}function Aze(e,n){let t=e;return t=f0e(t),t=T8(t),t=S8(t),t=u0e(t),t=T8(t),t=Ize(t,n),t=x0e(t,n),t=SM(t),t=Cze(t,n),t=SM(t),t=kze(t,n),t}function S0e(e,n){if(!xM(e))return;let t=n?.measure??v0e,i=n?.maxIterations??100,r=e,o=0,s=e,a=t(e),u=S=>{let w=t(S);w<a&&(s=S,a=w)};r=s0e(r),u(r);let l=w8(r);u(l);let f=h0e(r);u(f),r=s;let c=_8(r);if(u(c),r=s,gm(r,"Sec","Csc")&&(r=i0e(r),s=r,a=t(r)),gm(r,"Tan","Cot")){let S=Rze(r,t);u(S),r=S}if(gm(r,"Tan","Cot")&&(r=r0e(r),u(r)),gm(r,"Sin","Cos")){let S=SM(r);u(S),r=s}if(gm(r,"Sin","Cos")){let S=t(r);for(;o<i;){o++;let w=Aze(r,t),T=t(w);if(u(w),T>=S)break;r=w,S=T}}let d=o0e(s);u(d);let p=c0e(s);u(p);let m=d0e(s);u(m);let h=y0e(s);u(h);let y=_8(s);u(y);let b=w8(s);u(b);let E=_M(s);u(E);let v=b0e(s);u(v);let x=m0e(s);if(u(x),s.operator==="Add"||s.operator==="Multiply"){let S=e.engine.expr(s.json);u(S)}if(!s.isSame(e))return{value:s,because:"fu"}}function k8(e,n){if(Array.isArray(e)){if(e[0]==="InvisibleOperator")for(let t=1;t+1<e.length;t++){let i=e[t],r=e[t+1];typeof i=="string"&&Array.isArray(r)&&r[0]==="Delimiter"&&n.add(i)}for(let t of e)k8(t,n);return}e!==null&&typeof e=="object"&&"fn"in e&&Array.isArray(e.fn)&&k8(e.fn,n)}var Q_=class e{static _latexSyntaxFactory=null;True;False;Pi;E;Nothing;Missing;Zero;One;Half;NegativeOne;Two;I;NaN;PositiveInfinity;NegativeInfinity;ComplexInfinity;_numericConfiguration;_cacheStore=new YR;_runtimeState=new yM;_boxingState=new bM;_configurationLifecycle=new gM;_cost;_integrationProvider;_simplificationRules=new lE([...ode]);_solveRules=new lE([...Yte]);_harmonizationRules=new lE([...eie]);_compilationTargets=new pM;_fuAlgorithm=S0e;_customLibraryOperators=new Set;_commonSymbols={Pi:null,True:null,False:null,All:null,Nothing:null,Missing:null,None:null,Undefined:null,ExponentialE:null};_commonNumbers={"-5":null,"-4":null,"-3":null,"-2":null,2:null,3:null,4:null,5:null,6:null,7:null,8:null,9:null,10:null,11:null,12:null,36:null};_commonTypes=new Map;_evalContextStack=[];get context(){return this._evalContextStack[this._evalContextStack.length-1]}get contextStack(){return[...this._evalContextStack]}set contextStack(n){this._evalContextStack=[...n]}_typeRegistry=Object.create(null);_protocolRegistry=Object.create(null);_conformanceVersionCounter=0;get _conformanceVersion(){return this._conformanceVersionCounter}_noteConformanceRegistryChange(){this._conformanceVersionCounter+=1}_staticTypeCheckDepth=0;_epsilBatchId=void 0;_staticAssignmentEvidence=void 0;_epsilDeclarationRoute=!1;_typeRegistryRollbackPoint(){let n=this._typeRegistry,t=new Set(Object.keys(n)),i=[...t].map(r=>{let o=n[r];return{r:o,def:o.def,alias:o.alias,typeParams:o.typeParams,varianceState:o._varianceState,varianceBlockedOn:o._varianceBlockedOn,declaredByStatement:o._declaredByStatement,forwardArity:o._forwardArity===void 0?void 0:new Set(o._forwardArity),sumOf:o._sumOf,sumVariants:o._sumVariants,declOrigin:o._declOrigin}});return()=>{let r=!1;for(let o of Object.keys(n))t.has(o)||(delete n[o],r=!0);for(let o of i){let s=o.r;s.def!==o.def&&(r=!0),s.def=o.def,s.alias!==o.alias&&(r=!0),s.alias=o.alias,s.typeParams!==o.typeParams&&(r=!0),o.typeParams===void 0?delete s.typeParams:s.typeParams=o.typeParams,s._varianceState!==o.varianceState&&(r=!0),o.varianceState===void 0?delete s._varianceState:s._varianceState=o.varianceState,s._varianceBlockedOn!==o.varianceBlockedOn&&(r=!0),o.varianceBlockedOn===void 0?delete s._varianceBlockedOn:s._varianceBlockedOn=o.varianceBlockedOn;let a=s;a._declaredByStatement!==o.declaredByStatement&&(r=!0),o.declaredByStatement===void 0?delete a._declaredByStatement:a._declaredByStatement=o.declaredByStatement;let u=s,l=u._forwardArity,f=o.forwardArity;(l===void 0!=(f===void 0)||l!==void 0&&f!==void 0&&(l.size!==f.size||[...f].some(c=>!l.has(c))))&&(r=!0),f===void 0?delete u._forwardArity:u._forwardArity=f,s._sumOf!==o.sumOf&&(r=!0),o.sumOf===void 0?delete s._sumOf:s._sumOf=o.sumOf,s._sumVariants!==o.sumVariants&&(r=!0),o.sumVariants===void 0?delete s._sumVariants:s._sumVariants=o.sumVariants,o.declOrigin===void 0?delete s._declOrigin:s._declOrigin=o.declOrigin,s.name in n||(n[s.name]=s,r=!0)}r&&this._noteStateEvent({kind:"config"})}}_protocolRegistryRollbackPoint(){let n=this._protocolRegistry,t=new Set(Object.keys(n)),i=[...t].map(r=>{let o=n[r];return{r:o,members:o.members,conformances:[...o.conformances],edges:o.conformances.map(s=>({c:s,impl:s.impl,authored:s._authored,origin:s._implOrigin,pending:s.pending,pendingReason:s._pendingReason})),declaredByStatement:o.declaredByStatement,declOrigin:o._declOrigin}});return()=>{let r=!1;for(let o of Object.keys(n))t.has(o)||(delete n[o],r=!0);for(let o of i){let s=o.r;s.members!==o.members&&(r=!0),s.members=o.members,s.declaredByStatement!==o.declaredByStatement&&(r=!0),s.declaredByStatement=o.declaredByStatement,o.declOrigin===void 0?delete s._declOrigin:s._declOrigin=o.declOrigin,(s.conformances.length!==o.conformances.length||o.conformances.some((a,u)=>s.conformances[u]!==a))&&(r=!0),s.conformances=o.conformances;for(let a of o.edges)a.c.impl!==a.impl&&(r=!0),a.impl===void 0?delete a.c.impl:a.c.impl=a.impl,a.authored===void 0?delete a.c._authored:a.c._authored=a.authored,a.origin===void 0?delete a.c._implOrigin:a.c._implOrigin=a.origin,a.c.pending!==a.pending&&(r=!0),a.c.pending=a.pending,a.pendingReason===void 0?delete a.c._pendingReason:a.c._pendingReason=a.pendingReason;s.name in n||(n[s.name]=s,r=!0)}r&&(this._noteStateEvent({kind:"config"}),this._noteConformanceRegistryChange())}}_rollbackFrames=[];_withRolledBackInference(n,t){this._inferenceTxDepth>0;let i=new jT({boxingRepairDepthAtOpen:this._boxingState.frameDepth(),forbidsRepairs:t?.forbidsRepairs});this._rollbackFrames.push(i);let r;try{return n()}catch(o){throw r={error:o},o}finally{let o=this._rollbackFrames.pop(),s=i.rollback();if(this._boxingState.hasRepairRequestedAtOrAbove(i.boxingRepairDepthAtOpen),s!==void 0&&this._debugBindings)throw new Error("Inference rollback failed: an undo entry threw while unwinding the frame",{cause:r?.error??s.error})}}_withBoxingPassWindow(n){qR(this);try{return n()}finally{zR(this)}}declareProtocol(n,t){sC(this,n,t)}declareProtocolImplementation(n,t,i,r){tY(this,n,t,i,r)}__typeResolver;get _typeResolver(){return this.__typeResolver??=Hbe(this),this.__typeResolver}declareType(n,t,i){p0(this,n,t,i)}get trace(){return this._evalContextStack.map(n=>n.name).filter(n=>n!==void 0).reverse()}get _anyVersion(){return this._configurationLifecycle.anyVersion}get _semanticVersion(){return this._configurationLifecycle.semanticVersion}get _worldVersion(){return this._configurationLifecycle.worldVersion}get _callableVersion(){return this._configurationLifecycle.callableVersion}get _ephemeralWriteDepth(){return this._configurationLifecycle.ephemeralWriteDepth}set _ephemeralWriteDepth(n){this._configurationLifecycle.ephemeralWriteDepth=n}get _factSuppressionDepth(){return this._configurationLifecycle.factSuppressionDepth}set _factSuppressionDepth(n){this._configurationLifecycle.factSuppressionDepth=n}_withoutFacts(n){if(n.constructor.name==="AsyncFunction")throw new Error("A fact-blind bracket must be synchronous: an async thunk is refused before it runs, because everything after its first await would see the assumptions again");let t=this._configurationLifecycle;t.factSuppressionDepth+=1;let i;try{i=n()}finally{t.factSuppressionDepth-=1}if(typeof i?.then=="function")throw Promise.resolve(i).then(void 0,()=>{}),new Error("A fact-blind bracket must be synchronous: its thunk returned a promise, whose work would run after the bracket closed and would see the assumptions again");return i}_factsHidden(){if(this._factSuppressionDepth===0)return!1;let n=this.context;return n===void 0?!1:(n.assumptions?.size??0)!==0||(n.assumedValues?.size??0)!==0}_cacheGeneration(){return this._anyVersion*2+(this._factsHidden()?1:0)}_nextFactId(){return this._factIdCounter+=1,this._factIdCounter}_factIdCounter=0;get _scratchDeclarationScopes(){return this._configurationLifecycle.scratchDeclarationScopes}_checkpointWindow=void 0;_checkpointStack=[];_checkpointPoisoned=!1;_nextCheckpointId=1;_invalidateCheckpointsOnFrameDiscard(n){RY(this,n)}_inFlightAsyncEvaluations=0;_evaluationDepth=0;_objectStoreEpoch=0;_applicationMemo=void 0;checkpoint(n){return IY(this,n)}restore(n){kY(this,n)}discard(n){AY(this,n)}_noteStateEvent(n){TP&&this._checkpointWindow?.noteEvent(n.kind),this._configurationLifecycle.noteStateEvent(n)}_inferenceTxDepth=0;_hasAsyncOnlyOperator=!1;_boxingEpoch=0;_debugBindings=gz();_freshlyInferred=null;_inferenceCause=null;_noteInferenceWrite(n){let t=this._inferenceCause;if(t&&t.expr===void 0&&(t.expr=this._fn(t.operator,t.ops.map(i=>this.expr(i,{form:"raw"})),{canonical:!1})),pa(this,n.target,{type:n.to,kind:n.kind,axis:"type",cause:t?.expr,epoch:ma(this)}),n.valueDef!==void 0&&n.from.isUnknown&&this._inferenceTxDepth>0){let i=this._freshlyInferred??=new Set,r=tt(this);if(r!==void 0&&!i.has(n.valueDef)){let o=n.valueDef;r.record({undo:()=>i.delete(o)})}i.add(n.valueDef)}this._narrowingSink?._recordNarrowing(n.name,n.binding,n.from,n.to)}strict;get jit(){return this._jit}set jit(n){n!==this._jit&&(this._jit=n,this._noteStateEvent({kind:"config"}))}_jit="auto";static getStandardLibrary(n){return OR(n)}constructor(n){if(n!==void 0&&typeof n!="object")throw Error("Unexpected argument");this.strict=!0,this.jit="auto",this._numericConfiguration=new hM({precision:n?.precision,tolerance:n?.tolerance??"auto",angularUnit:"rad"});let t=new EM(this),i=t.initializeCommonNumbers();this.Zero=i.Zero,this.One=i.One,this.Half=i.Half,this.NegativeOne=i.NegativeOne,this.Two=i.Two,this.NaN=i.NaN,this.PositiveInfinity=i.PositiveInfinity,this.NegativeInfinity=i.NegativeInfinity,this.I=i.I,this.ComplexInfinity=i.ComplexInfinity,this._reset(),this.pushScope(void 0,"system"),this.declareType("limits","expression<Limits>"),this.declareType("distribution","expression<NormalDistribution> | expression<BinomialDistribution> | expression<PoissonDistribution> | expression<UniformDistribution> | expression<ExponentialDistribution>",{alias:!0}),t.bootstrapLibraries(n?.libraries);let r=t.initializeCommonSymbolBindings(this._commonSymbols);this.True=r.True,this.False=r.False,this.Pi=r.Pi,this.E=r.E,this.Nothing=r.Nothing,this.Missing=r.Missing,this.pushScope(void 0,"global"),this._compilationTargets.registerDefaults(),n?.latexSyntax&&(this._latexSyntax=n.latexSyntax),n?.latexOptions&&(VT(n.latexOptions),this._latexOptions={...n.latexOptions}),nz(this)}toJSON(){return"[ComputeEngine]"}[Symbol.toStringTag]="ComputeEngine";_reset(){this._configurationLifecycle.reset({refreshNumericConstants:()=>{},resetCommonSymbols:()=>Hde(this._commonSymbols),purgeCaches:()=>this._cacheStore.purgeValues()})}_listenToConfigurationChange(n){return this._configurationLifecycle.listen(n)}_compile(n,t){return u8(n,t)}_getCompilationTarget(n){return this._compilationTargets.get(n)}_listCompilationTargets(){return this._compilationTargets.list()}_registerCompilationTarget(n,t){this._compilationTargets.register(n,t)}_unregisterCompilationTarget(n){this._compilationTargets.unregister(n)}get precision(){return this._numericConfiguration.precision}set precision(n){this._numericConfiguration.setPrecision(n)&&this._reset()}get angularUnit(){return this._numericConfiguration.angularUnit}set angularUnit(n){this._numericConfiguration.setAngularUnit(n)&&this._reset()}withTimeLimit(n,t){let i=typeof n=="number"?n:n.ms,r=typeof n=="number"?void 0:n.label,o=this._runtimeState.deadlineFrame,s=Date.now()+i,a=[...o?.spans??[],...r!==void 0?[r]:[]],u=o!==void 0&&o.at<=s?{at:o.at,owner:o.owner,spans:a}:{at:s,owner:r,spans:a};this._runtimeState.deadlineFrame=u;try{return t()}finally{this._runtimeState.deadlineFrame=o}}get _deadline(){return this._runtimeState.deadline}set _deadline(n){this._runtimeState.deadline=n}get _deadlineFrame(){return this._runtimeState.deadlineFrame}set _deadlineFrame(n){this._runtimeState.deadlineFrame=n}get _timeRemaining(){return this._runtimeState.timeRemaining}get _mapAutoCompileStats(){return ko}get iterationLimit(){return this._runtimeState.iterationLimit}set iterationLimit(n){n!==this._runtimeState.iterationLimit&&(this._runtimeState.iterationLimit=n,this._noteStateEvent({kind:"config"}))}get recursionLimit(){return this._runtimeState.recursionLimit}set recursionLimit(n){this._runtimeState.recursionLimit=n}_enterRecursion(){this._runtimeState.enterRecursion()}_exitRecursion(){this._runtimeState.exitRecursion()}get maxCollectionSize(){return this._runtimeState.maxCollectionSize}set maxCollectionSize(n){this._runtimeState.maxCollectionSize=n}get _isVerifying(){return this._runtimeState.isVerifying}set _isVerifying(n){this._runtimeState.isVerifying=n}get isVerifying(){return this._runtimeState.isVerifying}get tolerance(){return this._numericConfiguration.tolerance}set tolerance(n){this._numericConfiguration.setTolerance(n)&&this._noteStateEvent({kind:"config"})}get _randomFrame(){return this._runtimeState.randomFrame}set _randomFrame(n){this._runtimeState.randomFrame=n}_random(){let n=this._runtimeState.randomFrame;if(n!==void 0){let t=n.next>>>0;return n.next=n.next+1>>>0,wP(n.seedLo,n.seedHi,t)}return Math.random()}_substream(n){return Sz(this._runtimeState.randomFrame,n)}chop(n){let t=this._numericConfiguration.tolerance;return typeof n=="number"?Math.abs(n)<=t?0:n:n instanceof C?n.isPositive()&&n.lte(this._numericConfiguration.bignumTolerance)||n.isNegative()&&n.gte(this._numericConfiguration.negBignumTolerance)||n.isZero()?0:n:n instanceof Z&&Math.abs(n.re)<=t&&Math.abs(n.im)<=t?0:n}bignum(n){return this._numericConfiguration.bignum(n)}complex(n,t){return n instanceof C&&(n=n.toNumber()),t instanceof C&&(t=t.toNumber()),new Z(n,t)}_numericValue(n){if(n instanceof Bn)return n.asExact??n;let t=this._numericConfiguration.precision>ru?i=>new Sg(i):i=>new Rc(i);if(typeof n=="number")return Number.isInteger(n)?new Ie(n,t):t(n);if(typeof n=="bigint")return new Ie(n,t);if(pl(n))return new Ie({rational:n},t);if(n instanceof C){if(n.isInteger()){let i=Ct(n.toString());if(i!==null)return new Ie(i,t)}return t(n)}if(n instanceof Z)return n.im===0?this._numericValue(n.re):t({re:n.re,im:n.im});if("im"in n||"re"in n)return n.im!==void 0&&n.im!==0?t(n):n.re instanceof C&&n.re.isInteger()?new Ie({rational:[Ct(n.re.toString()),BigInt(1)]},t):typeof n.re=="number"&&Number.isInteger(n.re)?new Ie({rational:[n.re,1]},t):t(n);if("radical"in n||"rational"in n){let i=n;if(i.radical!==void 0&&i.radical!==1){if(!Number.isInteger(i.radical)||i.radical<1)return t({re:oy(i.rational??[1,1])*Math.sqrt(i.radical)});if(i.radical>=Ae){let[r,o]=da(i.radical,2);if(o>=Ae)return t({re:oy(i.rational??[1,1])*Math.sqrt(i.radical)});i={...i,radical:o,rational:zn(i.rational??[1,1],[r,1])}}}return i.rational&&ir(i.rational)&&(!Number.isInteger(i.rational[0])||!Number.isInteger(i.rational[1]))?t(i):new Ie(i,t)}throw Error(`Unexpected value: ${typeof n=="object"?JSON.stringify(n):String(n)}`)}get costFunction(){return this._cost??Qfe}set costFunction(n){this._cost=typeof n=="function"?n:void 0}get simplificationRules(){return this._simplificationRules.rules}set simplificationRules(n){this._simplificationRules.rules=n,this._cacheStore.invalidate("standard-simplification-rules")}get solveRules(){return this._solveRules.rules}set solveRules(n){this._solveRules.rules=n,this._cacheStore.invalidate("univariate-roots-rules")}get harmonizationRules(){return this._harmonizationRules.rules}set harmonizationRules(n){this._harmonizationRules.rules=n,this._cacheStore.invalidate("harmonization-rules")}lookupDefinition(n){return vue(this,n)}normalizeIdentifier(n){if(!n)return"";if(si(n))return n;this.pushScope();try{let t=this.parse(n);if(_(t))return t.symbol}finally{this.popScope()}return""}operatorInfo(n){let t=this.lookupDefinition(n);if(!t||!se(t))return;let i=t.operator,r=!!(i.evaluate||i.collection);return{kind:r?"function":"opaque",signature:i.signature,canEvaluate:r}}symbolInfo(n){let t=this.lookupDefinition(n);if(!t||!te(t))return;let i=t.value;return{kind:i.isConstant?"constant":"variable",type:i.type}}searchDefinitions(n,t){return xue(this,n,t)}suggestOperatorName(n){return Sue(this,n)}functionProperties(n){return Xg(this,n)}_declareSymbolValue(n,t,i){return Tue(this,n,t,i)}_declareSymbolOperator(n,t,i){return wue(this,n,t,i)}pushScope(n,t){sde(this,n,t)}popScope(){ade(this)}createScope(n,t){return dde(this,n,t)}_narrowingSink=void 0;_pushEvalContext(n,t,i){iV(this,n,t,i)}_popEvalContext(){rV(this)}_removeEvalContext(n){ude(this,n)}_inScope(n,t){return fde(this,n,t)}_resolveOnlyDepth=0;_resolveOnly(n){this._resolveOnlyDepth+=1;try{return n()}finally{this._resolveOnlyDepth-=1}}_printStack(n){cde(this,n)}_bindingSymbol(n,t){return zbe(this,n,t)}_shadowedParameterStack=[];_pushShadowedParameters(n,t){this._shadowedParameterStack.push({names:new Set(n),types:t,defs:new Map,boundary:this.context.lexicalScope})}_popShadowedParameters(){this._shadowedParameterStack.pop()}_isShadowedParameter(n){let t=this._shadowedParameterStack;for(let i=t.length-1;i>=0;i--)if(t[i].names.has(n))return!0;return!1}_shadowedParameterType(n){let t=this._shadowedParameterStack;for(let i=t.length-1;i>=0;i--)if(t[i].names.has(n))return t[i].types?.get(n)}_shadowedParameterBoundary(n){let t=this._shadowedParameterStack;for(let i=t.length-1;i>=0;i--)if(t[i].names.has(n))return t[i].boundary}_shadowedParameterDef(n){let t=this._shadowedParameterStack;for(let i=t.length-1;i>=0;i--)if(t[i].names.has(n))return t[i].defs.get(n)}_setShadowedParameterDef(n,t){let i=this._shadowedParameterStack;for(let r=i.length-1;r>=0;r--)if(i[r].names.has(n)){i[r].defs.set(n,t);return}}_currentShadowedParameterDefs(){let n=this._shadowedParameterStack;return n.length>0?n[n.length-1].defs:new Map}_getSymbolValue(n){return Nue(this,n)}_setSymbolValue(n,t){Cue(this,n,t)}declare(n,t,i){return Rue(this,n,t,i)}declareSequence(n,t){return Dde(this,n,t)}getSequenceStatus(n){return Ode(this,n)}getSequence(n){return $de(this,n)}listSequences(){return Fde(this)}isSequence(n){return Lde(this,n)}clearSequenceCache(n){Bde(this,n)}getSequenceCache(n){return Vde(this,n)}getSequenceTerms(n,t,i,r){return jde(this,n,t,i,r)}lookupOEIS(n,t){return qde(this,n,t)}checkSequenceOEIS(n,t,i){return zde(this,n,t,i)}interpret(n,t){return Ude(this,n,t)}assign(n,t){return Aue(this,n,t)}_shouldContinueExecution(){return this._runtimeState.shouldContinueExecution()}_checkContinueExecution(){if(!this._shouldContinueExecution())throw new Error("timeout")}_cache(n,t,i){return this._cacheStore.getOrBuild(n,()=>{let r=this._runtimeState.deadlineFrame;if(r===void 0)return t();this._runtimeState.deadlineFrame=void 0;try{return t()}finally{this._runtimeState.deadlineFrame=r}},i)}expr(n,t){let{canonical:i,structural:r}=n_(t);return JR(this,t?.scope,()=>Mi(this,n,{canonical:i,structural:r,scope:t?.scope}))}box(n,t){return this.expr(n,t)}rebind(n,t){return JR(this,t?.scope,()=>Tce(this,n,t))}_latexSyntax;get latexSyntax(){return!this._latexSyntax&&e._latexSyntaxFactory&&(this._latexSyntax=e._latexSyntaxFactory()),this._latexSyntax}_requireLatexSyntax(){if(!this._latexSyntax&&e._latexSyntaxFactory&&(this._latexSyntax=e._latexSyntaxFactory()),!this._latexSyntax)throw new Error("LatexSyntax not available. Pass a LatexSyntax instance to the ComputeEngine constructor.");return this._latexSyntax}_latexOptions={};get latexOptions(){return this._latexOptions}set latexOptions(n){VT(n),this._latexOptions={...n}}parse(n,t){if(n==null)return null;if(typeof n!="string")throw Error("ce.parse(): expected a LaTeX string");if(t?.speculative){if(t.scope!==void 0)throw Error("ce.parse(): the `speculative` and `scope` options are mutually exclusive \u2014 `speculative` discards the parse's writes, `scope` harvests them");let{speculative:b,...E}=t,v=this.parse(n,{...E,form:"raw"});this.pushScope(void 0,"speculative-parse");try{let x=this.context.lexicalScope;if(v!==null)for(let S of new Set(v.symbols)){let w=this.lookupDefinition(S);w!==void 0&&"value"in w&&!w.value.isConstant&&(w.value.inferredType||w.value.type.isUnknown)&&this.declare(S,{inferred:!0,type:w.value.type.type,...w.value.subscriptEvaluate?{subscriptEvaluate:w.value.subscriptEvaluate}:{}},x)}return this.parse(n,E)}finally{this.popScope()}}if(t?.scope)return JR(this,t.scope,()=>this.parse(n,{...t,scope:void 0}));let i=this._requireLatexSyntax(),{form:r,canonical:o,structural:s,scope:a,speculative:u,...l}=t??{},f=l.diagnostics??this._latexOptions?.diagnostics??!1,c,d,p,m=new Set;if(f){c=[],p=E=>m.add(E);let b=new Set;d=E=>{let v=`${E.code} ${E.start} ${E.end} ${E.detail?JSON.stringify(E.detail):""}`;b.has(v)||(b.add(v),c.push(E))}}let h=l.resolveSymbol??this._latexOptions?.resolveSymbol,y=h?b=>h(b)??this._resolveSymbolFromScope(b):b=>this._resolveSymbolFromScope(b);qR(this);try{let b=i.parse(n,{tolerance:this.tolerance,...this._latexOptions,...l,resolveSymbol:y,diagnostics:f,onDiagnostic:d,onBoundVariable:p});if(b===null)return null;let E=Mi(this,b,n_({form:r,canonical:o,structural:s}));if(c!==void 0){if(E=E._unshared(),E.isCanonical)try{let v=new Set(E.symbols),x=new Set(E.freeVariables);for(let S of c){if(S.code!=="undeclared-symbol")continue;let w=S.detail?.name;typeof w=="string"&&(m.has(w)||v.has(w)&&!x.has(w)&&`${w}`)}}catch{}for(let v of c)v.detail&&Object.freeze(v.detail),Object.freeze(v);E.parseDiagnostics=Object.freeze(c)}return E}finally{zR(this)}}_resolveSymbolFromScope(n){let t=this.lookupDefinition(n);if(t)return se(t)?{type:t.operator.signature}:te(t)?{type:t.value.type,subscriptEvaluate:!!t.value.subscriptEvaluate}:{type:P.unknown}}appliedNonFunctions(n){let t=this.latexSyntax;if(!t)return[];let i=this._latexOptions?.resolveSymbol,r=t.parse(n,{...this._latexOptions,resolveSymbol:i?s=>i(s)??this._resolveSymbolFromScope(s):s=>this._resolveSymbolFromScope(s)}),o=new Set;return r!==null&&k8(r,o),Array.from(o).sort()}function(n,t,i){let{canonical:r,structural:o}=n_(i);return QS(this,n,t,{metadata:i?.metadata,canonical:r,structural:o,scope:i?.scope})}error(n,t){return vM(this,n,t)}typeError(n,t,i){return Ybe(this,n,t,i)}hold(n){return this._fn("Hold",[this.expr(n,{form:"raw"})])}tuple(...n){return new Rn(this,"Tuple",n.map(t=>typeof t=="number"?this.number(t):t.canonical).filter(t=>!_(t,"Nothing")),{canonical:!0})}list(n){let t=n.length;if(typeof t!="number"||!Number.isSafeInteger(t)||t<0)throw new TypeError(`list(): the length must be a non-negative safe integer, not ${String(t)}`);if(t===0)return this.function("List",[]);let i=new Array(t);for(let r=0;r<t;r++){let o=n[r];if(typeof o!="number")throw new TypeError(`list(): element ${r} is ${o===void 0?"undefined":typeof o}, not a number`);i[r]=o===0?0:o}return new Rn(this,"List",void 0,{canonical:!0,numericStore:Object.freeze(i)})}type(n){if(n instanceof P)return n;if(typeof n=="string"&&ol(n)){let t=this._commonTypes.get(n);return t===void 0&&(t=new P(n,this._typeResolver),this._commonTypes.set(n,t)),t}return new P(n,this._typeResolver)}string(n,t){return new Kd(this,n,t)}character(n,t){if(!Zy(n))throw new Error(`ce.character(): "${n}" is not exactly one grapheme cluster. A character is exactly one user-perceived character (one UAX #29 extended grapheme cluster); use ce.string() for arbitrary text, or CharacterFrom() to get a diagnostic instead of a throw.`);return new JN(this,n,t)}symbol(n,t){return qbe(this,this._commonSymbols,n,t)}number(n,t){return Ube(this,this._commonNumbers,n,t)}rules(n,t){return U1(this,n,t)}getRuleSet(n){if(n??="standard-simplification",n==="standard-simplification"){this._simplificationRules.hasMutatedSinceLastCache()&&this._cacheStore.invalidate("standard-simplification-rules");let t=this._cache("standard-simplification-rules",()=>{let r=U1(this,this._simplificationRules.rules,{canonical:!0}).rules.filter(o=>o.purpose!=="expand");return{rules:Nte(r)}});return this._simplificationRules.markCached(),t}if(n==="solve-univariate"){this._solveRules.hasMutatedSinceLastCache()&&this._cacheStore.invalidate("univariate-roots-rules");let t=this._cache("univariate-roots-rules",()=>U1(this,this._solveRules.rules));return this._solveRules.markCached(),t}if(n==="harmonization"){this._harmonizationRules.hasMutatedSinceLastCache()&&this._cacheStore.invalidate("harmonization-rules");let t=this._cache("harmonization-rules",()=>U1(this,this._harmonizationRules.rules));return this._harmonizationRules.markCached(),t}}_fn(n,t,i){let r=i?.canonical??!0;return Nd(t,this)?this.error("object-foreign-engine"):new Rn(this,n,t,{...i,canonical:r})}_object(n,t,i,r){return Ace(this,n,t,i,r)}ask(n){return fV(this,n)}verify(n){return cV(this,n)}assume(n){return Rde(this,n)}forget(n){dV(this,n)}};Xbe(()=>new Q_);var Mze="0.129.0",Pze=Q_;return k0e(Dze);})();
1877
+ `),f=new i8(o,u,a);return{target:"interval-js",success:!0,code:o,...l?{preamble:l}:{},calling:"expression",run:f}}var pM=class{_targets=new Map;register(n,t){sme(n),ume(t),this._targets.set(n,t)}get(n){return this._targets.get(n)}list(){return[...this._targets.keys()]}unregister(n){this._targets.delete(n)}registerDefaults(){this.register("javascript",new k_),this.register("glsl",new F_),this.register("wgsl",new jA),this.register("python",new L_),this.register("interval-js",new K_)}};var mM=class{_listeners=[];_registered=new WeakSet;_pending=!1;_version=0;listen(n){return this._registered.has(n)||(this._registered.add(n),this._listeners.push(n)),()=>this._unsubscribe(n)}_unsubscribe(n){this._registered.has(n)&&(this._registered.delete(n),this._listeners=this._listeners.filter(t=>t!==n))}notify(){if(this._pending)return;this._pending=!0;let n=this._version+1;queueMicrotask(()=>{if(n!==this._version+1){this._pending=!1;return}this.notifyNow()})}notifyNow(){this._version++;for(let n of this._listeners)try{n?.onConfigurationChange?.()}catch(t){console.error("Listener error:",t)}this._pending=!1}};function jqe(e){switch(e.kind){case"assumption":case"inference":case"config":case"binding-repair":return!0;case"redefine":case"type-write":return e.callableBefore||e.callableAfter;case"scope-pop":return e.assumptionsDirty;case"value-write":return e.callable;case"declare":return!e.scratch&&(e.callable||e.shadowsCallable);case"object-store":return!1}}var qqe=(()=>{if(typeof process>"u")return!1;let e=process.env?.CE_OBJECT_STORE_BUMPS_ANY;return e!==void 0&&e!=="0"})();function zqe(e){switch(e.kind){case"value-write":return{any:!0,semantic:!e.ephemeral,world:!1};case"declare":return e.scratch?{any:!1,semantic:!1,world:!1}:{any:!0,semantic:!1,world:!1};case"binding-repair":return{any:!0,semantic:!1,world:!1};case"redefine":return e.callableAfter?{any:!1,semantic:!0,world:!0}:{any:!1,semantic:!1,world:!1};case"type-write":return{any:!0,semantic:!1,world:!1};case"scope-pop":return{any:!e.transient&&!e.clean||e.assumptionsDirty,semantic:e.assumptionsDirty,world:e.assumptionsDirty};case"assumption":return{any:!0,semantic:!0,world:!0};case"inference":return e.valueType?{any:!1,semantic:!1,world:!1}:e.symbolSignature?{any:!0,semantic:!0,world:!0}:{any:!0,semantic:!0,world:!0};case"config":return{any:!0,semantic:!0,world:!0};case"object-store":return qqe?{any:!0,semantic:!1,world:!1}:{any:!1,semantic:!1,world:!1}}}var gM=class{_anyVersion=0;_semanticVersion=0;_worldVersion=0;_callableVersion=0;_ephemeralWriteDepth=0;_factSuppressionDepth=0;_scratchDeclarationScopes=[];_tracker=new mM;get anyVersion(){return this._anyVersion}get semanticVersion(){return this._semanticVersion}get worldVersion(){return this._worldVersion}get callableVersion(){return this._callableVersion}get ephemeralWriteDepth(){return this._ephemeralWriteDepth}set ephemeralWriteDepth(n){this._ephemeralWriteDepth=n}get factSuppressionDepth(){return this._factSuppressionDepth}set factSuppressionDepth(n){this._factSuppressionDepth=n}get scratchDeclarationScopes(){return this._scratchDeclarationScopes}noteStateEvent(n){let t=zqe(n);t.any&&(this._anyVersion+=1),t.semantic&&(this._semanticVersion+=1),t.world&&(this._worldVersion+=1),jqe(n)&&(this._callableVersion+=1),Oe&&(t.any&&zh("generation"),t.semantic&&zh("mutationGeneration"),t.world&&zh("semanticEpoch"))}reset(n){this._scratchDeclarationScopes.length=0,this.noteStateEvent({kind:"config"}),n.refreshNumericConstants(),n.resetCommonSymbols(),n.purgeCaches(),this._tracker.notifyNow()}listen(n){return this._tracker.listen(n)}};function Uqe(e){return!!(e===void 0||e==="Number"||e===!0||Array.isArray(e)&&e.includes("Number"))}function qbe(e,n,t,i){let r=i?.canonical??!0,o=i?.metadata,s=t.normalize(),a=s.toLowerCase();if(a==="infinity"||a==="+infinity")return e.PositiveInfinity;if(a==="-infinity")return e.NegativeInfinity;if(e.strict&&!si(s))return e.error(["invalid-symbol",qs(s)],s);if(!r)return new Ss(e,s,{metadata:o});if(e._isShadowedParameter(s)){let d=e._shadowedParameterType(s);if(d!==void 0){let E=e._shadowedParameterDef(s);if(E!==void 0)return new Ss(e,s,{metadata:o,def:E});let v=e.context.lexicalScope;for(;v.noAutoDeclare&&v.parent;)v=v.parent;let x=v.bindings.get(s),S=x??e._declareSymbolValue(s,{type:d,inferred:!1},v);e._setShadowedParameterDef(s,S);let w=new Ss(e,s,{metadata:o,def:S});return x===void 0&&te(S)&&pa(e,S.value,{type:S.value.type,kind:"auto-declared",axis:"type",cause:w,epoch:ma(e)}),w}let p=e._shadowedParameterDef(s);if(p!==void 0)return new Ss(e,s,{metadata:o,def:p});let m=e.context.lexicalScope;for(;m.noAutoDeclare&&m.parent;)m=m.parent;let h=m.bindings.get(s),y=h??e._declareSymbolValue(s,{type:"unknown",inferred:!0},m);e._setShadowedParameterDef(s,y);let b=new Ss(e,s,{metadata:o,def:y});return h===void 0&&te(y)&&pa(e,y.value,{type:y.value.type,kind:"auto-declared",axis:"type",cause:b,epoch:ma(e)}),b}let u=Object.hasOwn(n,s)?n[s]:void 0;if(u)return u;let l=e.lookupDefinition(s);if(te(l)&&l.value.holdUntil==="never")return l.value.value??e.Nothing;if(l)return new Ss(e,s,{metadata:o,def:l});if(i?.autoDeclare===!1||e._resolveOnlyDepth>0)return new Ss(e,s,{metadata:o});let f=e.context.lexicalScope;for(;f.noAutoDeclare&&f.parent;)f=f.parent;l=e._declareSymbolValue(s,{type:"unknown",inferred:!0},f),e._boxingState.isPersistentScope(f)===!1&&e._boxingState.noteTransientAutoDeclare(s);let c=new Ss(e,s,{metadata:o,def:l});return te(l)&&pa(e,l.value,{type:l.value.type,kind:"auto-declared",axis:"type",cause:c,epoch:ma(e)}),c}function zbe(e,n,t){let i=t.bindings.get(n);if(te(i))return new Ss(e,n,{def:i})}function Ube(e,n,t,i){let r=i?.metadata;if(!Uqe(i?.canonical)&&pl(t))return e._fn("Rational",[e.number(t[0]),e.number(t[1])],{...r,canonical:!1});let s=QI(e,t);if(r===void 0){if(typeof s=="number"){let a=s;if(a===1)return e.One;if(a===0)return e.Zero;if(a===-1)return e.NegativeOne;if(a===2)return e.Two;if(Number.isInteger(a)&&n[a]!==void 0)return n[a]??=new gi(e,s),n[a];if(Number.isNaN(a))return e.NaN;if(!Number.isFinite(a))return a<0?e.NegativeInfinity:e.PositiveInfinity}else if(s instanceof Bn){if(s.isZero)return e.Zero;if(s.isOne)return e.One;if(s.isNegativeOne)return e.NegativeOne;if(s.isNaN)return e.NaN;if(s.isNegativeInfinity)return e.NegativeInfinity;if(s.isPositiveInfinity)return e.PositiveInfinity}}return new gi(e,s,{metadata:r})}var lE=class{_rules;_cachedLength=-1;constructor(n){this._rules=n}get rules(){return this._rules}set rules(n){this._rules=n,this._cachedLength=-1}hasMutatedSinceLastCache(){return this._cachedLength>=0&&this._rules.length!==this._cachedLength}markCached(){this._cachedLength=this._rules.length}};var hM=class{_precision;_angularUnit;_tolerance;_bignumTolerance;_negBignumTolerance;constructor(n){let t=n?.precision??vP;t==="machine"&&(t=Math.floor(ru)),this._precision=t,C.precision=t,this._angularUnit=n?.angularUnit??"rad",this._tolerance=Qh,this._bignumTolerance=new C(Qh),this._negBignumTolerance=new C(-Qh),this.setTolerance(n?.tolerance??"auto")}get precision(){return this._precision}setPrecision(n){let t=n;if(t==="machine"&&(t=ru),t==="auto"&&(t=vP),t===this._precision)return!1;if(typeof t!="number"||t<=0)throw Error('Expected "machine" or a positive number');return this._precision=Math.max(t,ru),C.precision=this._precision,this.setTolerance("auto"),!0}get angularUnit(){return this._angularUnit}setAngularUnit(n){if(n===this._angularUnit)return!1;if(typeof n!="string")throw Error("Expected a string");return this._angularUnit=n,!0}get tolerance(){return this._tolerance}setTolerance(n){let t=n;return t==="auto"&&(t=Qh),(!Number.isFinite(t)||t<0)&&(t=Math.pow(10,-this._precision+2)),t===this._tolerance?!1:(this._tolerance=t,this._bignumTolerance=new C(t),this._negBignumTolerance=new C(-t),!0)}get bignumTolerance(){return this._bignumTolerance}get negBignumTolerance(){return this._negBignumTolerance}get bignumNaN(){return C.NAN}get bignumZero(){return C.ZERO}get bignumOne(){return C.ONE}get bignumTwo(){return C.TWO}get bignumHalf(){return C.HALF}get bignumPi(){return C.PI}get bignumNegativeOne(){return C.NEGATIVE_ONE}bignum(n){if(n instanceof C)return n;try{return new C(n)}catch(t){t instanceof Error?console.error(t.message):console.error(String(t))}return C.NAN}};var yM=class{_iterationLimit=1024;_recursionLimit=256;_recursionDepth=0;_maxCollectionSize=1e4;_deadlineFrame=void 0;_randomFrame=void 0;_isVerifying=!1;get iterationLimit(){return this._iterationLimit}set iterationLimit(n){this._iterationLimit=n<=0?Number.POSITIVE_INFINITY:n}get recursionLimit(){return this._recursionLimit}set recursionLimit(n){this._recursionLimit=n<=0?Number.POSITIVE_INFINITY:n}get recursionDepth(){return this._recursionDepth}enterRecursion(){if(this._recursionDepth>=this._recursionLimit)throw new xe({cause:"recursion-depth-exceeded",message:"Recursion limit exceeded"});this._recursionDepth+=1}exitRecursion(){this._recursionDepth>0&&(this._recursionDepth-=1)}get maxCollectionSize(){return this._maxCollectionSize}set maxCollectionSize(n){this._maxCollectionSize=n<=0?Number.POSITIVE_INFINITY:n}get deadlineFrame(){return this._deadlineFrame}set deadlineFrame(n){this._deadlineFrame=n}get deadline(){return this._deadlineFrame?.at}set deadline(n){this._deadlineFrame=n===void 0?void 0:{at:n,spans:[]}}get randomFrame(){return this._randomFrame}set randomFrame(n){this._randomFrame=n}get timeRemaining(){return this._deadlineFrame===void 0?Number.POSITIVE_INFINITY:this._deadlineFrame.at-Date.now()}get isVerifying(){return this._isVerifying}set isVerifying(n){this._isVerifying=n}shouldContinueExecution(){return this._deadlineFrame===void 0||this._deadlineFrame.at>=Date.now()}};var bM=class{_frames=[];_rootActive=!1;_isPersistentScope=null;_transientAutoDeclares=null;withRootRepair(n,t){if(this._rootActive)return n();this._rootActive=!0,this._isPersistentScope=t??null;try{return this._withRepairFrame(void 0,()=>(this._transientAutoDeclares=null,n()))}finally{this._rootActive=!1,this._isPersistentScope=null,this._transientAutoDeclares=null}}get isRootActive(){return this._rootActive}withScopedRepair(n,t){return this._rootActive?this._withRepairFrame(n,t):t()}get isRebuilding(){return this._frames.some(n=>n.rebuilding)}isPersistentScope(n){if(!(!this._rootActive||!this._isPersistentScope))return this._isPersistentScope(n)}noteTransientAutoDeclare(n){!this._rootActive||!this._isPersistentScope||(this._transientAutoDeclares??=new Set).add(n)}noteDeclarationIn(n,t){if(!this._rootActive||!this._transientAutoDeclares?.has(t)||this._isPersistentScope?.(n)!==!0)return;let i=this._frames.find(r=>r.scope===void 0);i&&(i.repairRequested=!0)}frameDepth(){return this._frames.length}hasRepairRequestedAtOrAbove(n){for(let t=n;t<this._frames.length;t++)if(this._frames[t].repairRequested)return!0;return!1}noteDevolvedShadow(n){for(let i=this._frames.length-1;i>=0;i--){let r=this._frames[i];if(r.scope===n){r.repairRequested=!0;return}}let t=this._frames.find(i=>i.scope===void 0);t&&(t.repairRequested=!0)}_withRepairFrame(n,t){let i={scope:n,repairRequested:!1,rebuilding:!1};this._frames.push(i);try{let r=t(),o=0;for(;i.repairRequested;){if(o>=3){let s="Devolved-shadow repair did not stabilize after 3 rebuilds";throw new Error(s)}i.repairRequested=!1,i.rebuilding=!0,o+=1;try{r=t()}finally{i.rebuilding=!1}}return r}finally{let r=this._frames.pop()}}};function Gqe(e){if(typeof e!="string")return lme(e),e;let n=HS.find(t=>t.name===e);if(!n)throw new Error(`Unknown standard library: "${e}"`);return n}function Gbe(e){return e?DR(e.map(Gqe)):[...OR()]}function Jqe(e){return HS.includes(e)}function Jbe(e,n){for(let t of n){let i=t.definitions;if(!i)continue;let r=!Jqe(t),o=Array.isArray(i)?i:[i];for(let s of o){if(r)for(let a of Object.keys(s))e._customLibraryOperators.add(a.normalize());Xfe(e,s)}}}function fE(e,n){let t=e[n];if(!t)throw new Error(`Common symbol "${n}" failed to initialize`);return t}var EM=class{constructor(n){this.engine=n}engine;initializeCommonNumbers(){return{Zero:new gi(this.engine,0),One:new gi(this.engine,1),Half:new gi(this.engine,{rational:[1,2]}),NegativeOne:new gi(this.engine,-1),Two:new gi(this.engine,2),NaN:new gi(this.engine,Number.NaN),PositiveInfinity:new gi(this.engine,Number.POSITIVE_INFINITY),NegativeInfinity:new gi(this.engine,Number.NEGATIVE_INFINITY),I:new gi(this.engine,{rational:[0,1],imRational:[1,1]}),ComplexInfinity:new gi(this.engine,{re:1/0,im:1/0})}}bootstrapLibraries(n){let t=Gbe(n);Jbe(this.engine,t)}initializeCommonSymbolBindings(n){return Jde(this.engine,n),{True:fE(n,"True"),False:fE(n,"False"),Pi:fE(n,"Pi"),E:fE(n,"ExponentialE"),Nothing:fE(n,"Nothing"),Missing:fE(n,"Missing")}}};function Hbe(e){let n=new Set,t=(i,r)=>{if(i==="never")return!0;let o=e._protocolRegistry?.[r];if(o===void 0)return!1;let s=`${Zr(i)} ${r}`;if(n.has(s))return!1;n.add(s);try{return o.conformances.some(a=>a.where===void 0?R(i,a.target):qN(a.target,a.where,i,t)!==null)}finally{n.delete(s)}};return{get names(){return Object.keys(e._typeRegistry)},resolve(i){let r=e._typeRegistry[i];if(r!==void 0)return r;if(e._protocolRegistry?.[i]!==void 0)throw new Kn("protocol-in-type-position",`\`${i}\` is a protocol, not a type. Use a constrained variable: \`(x: T) -> boolean where T is ${i}\``)},forward(i){let r=e._typeRegistry[i];if(r!==void 0)return r;let o={kind:"reference",name:i,alias:!1,def:void 0};return e._typeRegistry[i]=o,o},conformsTo:t}}function vM(e,n,t){let i;typeof n=="string"?i=e.string(n):i=e.function("ErrorCode",n.map(s=>e.string(s)));let r;t!==void 0&&typeof t!="string"?r=t:t&&fN(t)?r=e.function("LatexString",[e.string(zd(t))]):typeof t=="string"&&t.length>0&&(r=e.string(t));let o=[e.expr(i)];return r&&o.push(r),e.function("Error",o)}function Wbe(e){if(typeof e=="object"){if((e.kind==="collection"||e.kind==="indexed_collection"||e.kind==="set"||e.kind==="list"&&e.dimensions===void 0)&&e.elements==="any")return e.kind;if(e.kind==="dictionary"&&e.values==="any")return"dictionary"}return e}function Zbe(e){let n=Wbe(e);if(n!==e)return Y(n);if(typeof e=="object"&&e.kind==="union"){let t=e.types.map(Wbe);if(t.some((i,r)=>i!==e.types[r]))return Y(Re({...e,types:t}))}return Y(e)}function Ybe(e,n,t,i){if(t){if(typeof i=="object"&&i!==null&&"type"in i&&"engine"in i){let o=i;d2(o.engine)&&t.toString()===o.type.toString()&&(t=qX(o.engine,()=>o.type))}let r=typeof t=="object"&&"kind"in t?Y(t):t.toString();return vM(e,["incompatible-type",Zbe(n),r],i)}return vM(e,["incompatible-type",Zbe(n)],i)}function u8(e,n){fme(n);let t=Wqe(n);n=t.options;let i=t.modeFromAlias;if(n?.target!==void 0&&n.cse===!0)throw new Error("CSE is not supported on direct custom targets in Phase 1; omit `cse` or use a registered target.");if(n?.target!==void 0&&n.storage!==void 0&&Object.keys(n.storage).length>0)throw new Error('The `storage` option is not supported on direct custom targets: the sampler-backed read needs the reference gate and the helper preamble a registered target provides. Omit `storage` or use a registered target (`to: "glsl"`).');if(n?.target===void 0&&n?.storage!==void 0){let r=e.engine._getCompilationTarget(n.to??"javascript")?.createTarget();r!==void 0&&Af(n.storage,[e],r,{vars:n.vars,functions:n.functions})}try{if(n?.target){let a=zo(Xt(e),{skipHeads:Wp(n.operators,n.functions),iterationBudget:n.target.iterationBudget,readsLiveSource:d=>typeof n.vars?.[d]=="string"}),u=[n.preamble,n.target.preamble,...n.vars?Object.values(n.vars):[],...n.functions?Object.values(n.functions).map(d=>{let p=Qp(d);return typeof p=="string"?p:void 0}):[]];n.target.naming=A.newNamingContext(a,u),n.target.cse={enabled:!1,instances:[]},n.target.constantFold=n.constantFold,n.target.complexPromotion=n.complexPromotion,n.target.storage=void 0,n.target.mode=Zqe(n.target,i&&!(n.target.supportedModes??["strict"]).includes("complex")?void 0:n.mode);let l,f;try{l=A.compileRoot(a,n.target)}catch(d){if(!g_(d)||n.target.mode!=="auto")throw d;n.target.reset?.(),n.target.mode="complex",n.target.naming=A.newNamingContext(a,u),l=A.compileRoot(a,n.target),f=d.diagnostic}let c=A.withReferences({target:n.target.language??"custom",success:!0,code:l},e,n.target,n.vars?new Set(Object.keys(n.vars)):void 0);return f!==void 0&&(c.escalation=f),c}let r=n?.to??"javascript",o=e.engine._getCompilationTarget(r);if(!o)throw new Error(`Compilation target "${r}" is not registered. Available targets: ${e.engine._listCompilationTargets().join(", ")}`);let s={fallback:n?.fallback??!0,operators:n?.operators,functions:n?.functions,vars:n?.vars,imports:n?.imports,preamble:n?.preamble,complexPromotion:n?.complexPromotion,mode:n?.mode,entryChecks:n?.entryChecks,iterationBudget:n?.iterationBudget,quadrature:n?.quadrature,symbolDeps:n?.symbolDeps,varsObjectRefs:n?.varsObjectRefs,cse:n?.cse,constantFold:n?.constantFold,storage:n?.storage};return i&&!Hqe(o,"complex")&&(s.mode=void 0),o.compile(e,s)}catch(r){if(n?.fallback??!0){let o=r.message;console.warn(`Compilation fallback for "${e.operator}" (target: ${n?.to??"javascript"}): ${o}`);let s=n?.to??"javascript";if(s==="interval-js"){let u=e.engine._getCompilationTarget("interval-js");if(u)return u.compile(e,{vars:n?.vars,fallback:!0})}let a=n?.target??e.engine._getCompilationTarget(s)?.createTarget();return A.buildInterpreterFallback(e,o,s,a,n?.vars?new Set(Object.keys(n.vars)):void 0,Rf(r,o))}throw r}}var Kbe=new WeakMap;function Hqe(e,n){let t=Kbe.get(e);return t===void 0&&(t=e.createTarget().supportedModes??["strict"],Kbe.set(e,t)),t.includes(n)}function Wqe(e){return e===void 0?{options:e,modeFromAlias:!1}:Mf(e)}function Zqe(e,n){let t=e.supportedModes??["strict"],i=typeof e.complexLift=="function"&&typeof e.complexIsReal=="function",r=t.includes("auto")&&i&&typeof e.reset=="function";return n===void 0?r?"auto":"strict":n==="auto"&&t.includes("auto")&&!r?"strict":n}var l8=null,f8=null;function Xbe(e){f8=e}function mm(){if(!l8){if(!f8)throw new Error("ComputeEngine factory not registered. Import from the main module.");l8=f8()}return l8}function Lh(e,n){if(typeof e=="string"){let t=mm();return t.parse(e,{strict:n?.strict??!1})??t.expr("Nothing")}return cl(e)?e:mm().expr(e)}function c8(e,n){return mm().expr(e,n)}function d8(e,n){return Lh(e,n).simplify(n)}function p8(e,n){return Lh(e,n).evaluate()}function m8(e,n){return Lh(e,n).N()}function g8(e,n){mm().declare(e,n)}function h8(e,n){mm().assign(e,n)}function y8(e,n){return cn(Lh(e,n))}function b8(e,n,t){return Lh(e,t).solve(n)}function E8(e,n){return Hl(Lh(e,n))}function v8(e,n){return Du(Lh(e,n))}var Yqe=/^(Sin|Cos|Tan|Cot|Sec|Csc)$/;function xM(e){return Yqe.test(e.operator)?!0:g(e)?e.ops.some(xM):!1}function gm(e,...n){return n.includes(e.operator)?!0:g(e)?e.ops.some(t=>gm(t,...n)):!1}function ii(e,n){let t=e.engine;if(g(e)&&e.ops.length>0){let i=e,r=i.ops.map(s=>ii(s,n));r.some((s,a)=>s!==i.ops[a])&&(e=t._fn(i.operator,r))}return n(e)??e}function x8(e,n){if(!g(e)||!g(n))return!1;let t=e.op1,i=n.op1;return t!==void 0&&i!==void 0&&t.isSame(i)}function Kqe(e){let n=e.engine,t=e.operator;if(!g(e))return;let i=e.op1;if(i){if(t==="Sec")return n.One.div(n._fn("Cos",[i]));if(t==="Csc")return n.One.div(n._fn("Sin",[i]))}}function i0e(e){return ii(e,Kqe)}function Xqe(e){let n=e.engine,t=e.operator;if(!g(e))return;let i=e.op1;if(i){if(t==="Tan")return n._fn("Sin",[i]).div(n._fn("Cos",[i]));if(t==="Cot")return n._fn("Cos",[i]).div(n._fn("Sin",[i]))}}function r0e(e){return ii(e,Xqe)}function Qqe(e){let n=e.engine;if(e.operator!=="Divide"||!g(e))return;let t=e.op1,i=e.op2;if(!(!t||!i)){if(t.operator==="Sin"&&i.operator==="Cos"&&x8(t,i))return g(t)?n._fn("Tan",[t.op1]):void 0;if(t.operator==="Cos"&&i.operator==="Sin"&&x8(t,i))return g(t)?n._fn("Cot",[t.op1]):void 0}}function o0e(e){return ii(e,Qqe)}function eze(e){if(g(e,"Negate"))return e.op1;if(g(e,"Multiply")){let n=e.ops.findIndex(t=>t.isSame(-1));if(n>=0){let t=e.ops.filter((i,r)=>r!==n);return t.length===1?t[0]:e.engine._fn("Multiply",t)}}}function nze(e){let n=e.engine,t=e.operator;if(!g(e))return;let i=e.op1;if(!i)return;let r=eze(i);if(r){if(t==="Cos")return n._fn("Cos",[r]);if(t==="Sec")return n._fn("Sec",[r]);if(t==="Sin")return n._fn("Sin",[r]).neg();if(t==="Tan")return n._fn("Tan",[r]).neg();if(t==="Csc")return n._fn("Csc",[r]).neg();if(t==="Cot")return n._fn("Cot",[r]).neg()}}function s0e(e){return ii(e,nze)}function tze(e){let n=e.engine;if(e.operator!=="Power"||!g(e))return;let t=e.op1,i=e.op2;if(!t||!i||t.operator!=="Sin"||!i.isSame(2)||!g(t))return;let r=t.op1;if(r)return n.One.sub(n._fn("Cos",[r]).pow(2))}function S8(e){return ii(e,tze)}function ize(e){let n=e.engine;if(e.operator!=="Power"||!g(e))return;let t=e.op1,i=e.op2;if(!t||!i||t.operator!=="Cos"||!i.isSame(2)||!g(t))return;let r=t.op1;if(r)return n.One.sub(n._fn("Sin",[r]).pow(2))}function a0e(e){return ii(e,ize)}function rze(e){let n=e.engine;if(e.operator!=="Power"||!g(e))return;let t=e.op1,i=e.op2;if(!t||!i||t.operator!=="Cos"||!i.isSame(2)||!g(t))return;let r=t.op1;if(r)return n.One.add(n._fn("Cos",[r.mul(2)])).div(2)}function u0e(e){return ii(e,rze)}function oze(e){let n=e.engine;if(g(e,"Divide")){let i=e.op1,r=e.op2;if(!i||!r||!r.isSame(2))return;if(g(i,"Add")&&i.ops.length===2)return Qbe(n,i.ops)}let t=i=>!!(i.re===.5&&i.im===0||i.isSame(n.Half));if(g(e,"Multiply")){let i=e.ops.findIndex(r=>t(r));if(i>=0){let r=e.ops.filter((o,s)=>s!==i);if(r.length===1&&r[0].operator==="Add"){let o=r[0];if(g(o)&&o.ops.length===2)return Qbe(n,o.ops)}}}if(g(e,"Add")&&e.ops.length===2){let i,r,o=!1,s=a=>a.re===-.5&&a.im===0;for(let a of e.ops){if(t(a)){i=a;continue}let u=a,l=!1;if(g(a,"Negate")&&(l=!0,u=a.op1),g(u,"Divide")&&u.op2?.isSame(2)){let f=u.op1;if(f?.operator==="Cos"){r=f,o=l;continue}}if(g(u,"Multiply")){let f=u.ops.findIndex(d=>t(d));if(f>=0){let d=u.ops.filter((p,m)=>m!==f);if(d.length===1&&d[0].operator==="Cos"){r=d[0],o=l;continue}}let c=u.ops.findIndex(d=>s(d));if(c>=0){let d=u.ops.filter((p,m)=>m!==c);if(d.length===1&&d[0].operator==="Cos"){r=d[0],o=!l;continue}}}}if(i&&r){if(!g(r))return;let a=r.op1;if(!a)return;let u;if(g(a,"Multiply")){let l=a.ops.findIndex(f=>f.isSame(2));if(l>=0){let f=a.ops.filter((c,d)=>d!==l);u=f.length===1?f[0]:n._fn("Multiply",f)}}return u?o?n._fn("Sin",[u]).pow(2):n._fn("Cos",[u]).pow(2):void 0}}}function Qbe(e,n){let t=-1,i=-1,r=!1;for(let u=0;u<n.length;u++)if(n[u].isSame(1))t=u;else if(n[u].operator==="Cos")i=u,r=!1;else if(n[u].operator==="Negate"){let l=n[u];g(l)&&l.op1?.operator==="Cos"&&(i=u,r=!0)}if(t<0||i<0)return;let o;if(r){let u=n[i];if(!g(u))return;o=u.op1}else o=n[i];if(!g(o))return;let s=o.op1;if(!s)return;let a;if(g(s,"Multiply")){let u=s.ops.findIndex(l=>l.isSame(2));if(u>=0){let l=s.ops.filter((f,c)=>c!==u);a=l.length===1?l[0]:e._fn("Multiply",l)}}if(a)return r?e._fn("Sin",[a]).pow(2):e._fn("Cos",[a]).pow(2)}function _8(e){return ii(e,oze)}function sze(e){let n=e.engine;if(e.operator!=="Multiply"||!g(e))return;let t=e.ops;if(!(t.length<2))for(let i=0;i<t.length;i++)for(let r=i+1;r<t.length;r++){let o=t[i],s=t[r];if(!g(o)||!g(s))continue;let a=o.op1,u=s.op1;if(!a||!u)continue;let l;if(o.operator==="Sin"&&s.operator==="Cos"?l=n._fn("Sin",[a.add(u)]).add(n._fn("Sin",[a.sub(u)])).div(2):o.operator==="Cos"&&s.operator==="Sin"?l=n._fn("Sin",[a.add(u)]).sub(n._fn("Sin",[a.sub(u)])).div(2):o.operator==="Cos"&&s.operator==="Cos"?l=n._fn("Cos",[a.add(u)]).add(n._fn("Cos",[a.sub(u)])).div(2):o.operator==="Sin"&&s.operator==="Sin"&&(l=n._fn("Cos",[a.sub(u)]).sub(n._fn("Cos",[a.add(u)])).div(2)),l){let f=t.filter((c,d)=>d!==i&&d!==r);return f.length===0?l:l.mul(f.length===1?f[0]:n._fn("Multiply",f))}}}function l0e(e){return ii(e,sze)}function aze(e){let n=e.engine;if(e.operator!=="Add"||!g(e))return;let t=e.ops;if(!(t.length<2))for(let i=0;i<t.length;i++)for(let r=i+1;r<t.length;r++){let o=t[i],s=t[r],a;if(o.operator==="Sin"&&s.operator==="Sin"){if(!g(o)||!g(s))continue;let u=o.op1,l=s.op1;if(u&&l){let f=u.add(l).div(2),c=u.sub(l).div(2);a=n._fn("Sin",[f]).mul(n._fn("Cos",[c])).mul(2)}}else if(o.operator==="Cos"&&s.operator==="Cos"){if(!g(o)||!g(s))continue;let u=o.op1,l=s.op1;if(u&&l){let f=u.add(l).div(2),c=u.sub(l).div(2);a=n._fn("Cos",[f]).mul(n._fn("Cos",[c])).mul(2)}}else if(o.operator==="Sin"&&s.operator==="Negate"){if(!g(o)||!g(s)||s.op1?.operator!=="Sin")continue;let u=s.op1;if(!g(u))continue;let l=o.op1,f=u.op1;if(l&&f){let c=l.add(f).div(2),d=l.sub(f).div(2);a=n._fn("Cos",[c]).mul(n._fn("Sin",[d])).mul(2)}}else if(o.operator==="Cos"&&s.operator==="Negate"){if(!g(o)||!g(s)||s.op1?.operator!=="Cos")continue;let u=s.op1;if(!g(u))continue;let l=o.op1,f=u.op1;if(l&&f){let c=l.add(f).div(2),d=l.sub(f).div(2);a=n._fn("Sin",[c]).mul(n._fn("Sin",[d])).mul(-2)}}if(a){let u=t.filter((l,f)=>f!==i&&f!==r);return u.length===0?a:a.add(u.length===1?u[0]:n._fn("Add",u))}}}function SM(e){return ii(e,aze)}function uze(e){let n=e.engine,t=e.operator;if(t!=="Sin"&&t!=="Cos"||!g(e))return;let i=e.op1;if(i){if(g(i,"Add")&&i.ops.length===2){let[r,o]=i.ops;return t==="Sin"?n._fn("Sin",[r]).mul(n._fn("Cos",[o])).add(n._fn("Cos",[r]).mul(n._fn("Sin",[o]))):n._fn("Cos",[r]).mul(n._fn("Cos",[o])).sub(n._fn("Sin",[r]).mul(n._fn("Sin",[o])))}if(g(i,"Subtract")){let r=i.op1,o=i.op2;return!r||!o?void 0:t==="Sin"?n._fn("Sin",[r]).mul(n._fn("Cos",[o])).sub(n._fn("Cos",[r]).mul(n._fn("Sin",[o]))):n._fn("Cos",[r]).mul(n._fn("Cos",[o])).add(n._fn("Sin",[r]).mul(n._fn("Sin",[o])))}}}function f0e(e){return ii(e,uze)}function lze(e){let n=e.engine;if(e.operator!=="Add"||!g(e))return;let t=e.ops;if(!(t.length<2))for(let i=0;i<t.length;i++)for(let r=i+1;r<t.length;r++){let o=t[i],s=t[r],a=S=>{if(S.operator!=="Multiply"||!g(S))return null;let w=S.ops;if(w.length!==2)return null;let[T,k]=w;return T.operator==="Sin"&&k.operator==="Cos"?{sin:T,cos:k}:T.operator==="Cos"&&k.operator==="Sin"?{sin:k,cos:T}:null},u=S=>{if(S.operator!=="Multiply"||!g(S))return null;let w=S.ops;if(w.length!==2)return null;let[T,k]=w;return T.operator==="Cos"&&k.operator==="Cos"?{cos1:T,cos2:k}:null},l=S=>{if(S.operator!=="Multiply"||!g(S))return null;let w=S.ops;if(w.length!==2)return null;let[T,k]=w;return T.operator==="Sin"&&k.operator==="Sin"?{sin1:T,sin2:k}:null},f=S=>g(S)?S.op1:void 0,c=a(o),d=a(s),p=g(o,"Negate")&&o.op1?a(o.op1):null,m=g(s,"Negate")&&s.op1?a(s.op1):null;if(c&&d){let S=f(c.sin),w=f(c.cos),T=f(d.sin),k=f(d.cos);if(S&&w&&T&&k&&S.isSame(k)&&w.isSame(T)){let I=t.filter((V,L)=>L!==i&&L!==r),M=n._fn("Sin",[S.add(w)]);return I.length===0?M:M.add(I.length===1?I[0]:n._fn("Add",I))}}if(c&&m){let S=f(c.sin),w=f(c.cos),T=f(m.sin),k=f(m.cos);if(S&&w&&T&&k&&S.isSame(k)&&w.isSame(T)){let I=t.filter((V,L)=>L!==i&&L!==r),M=n._fn("Sin",[S.sub(w)]);return I.length===0?M:M.add(I.length===1?I[0]:n._fn("Add",I))}}if(p&&d){let S=f(p.sin),w=f(p.cos),T=f(d.sin),k=f(d.cos);if(S&&w&&T&&k&&T.isSame(w)&&k.isSame(S)){let I=t.filter((V,L)=>L!==i&&L!==r),M=n._fn("Sin",[T.sub(k)]);return I.length===0?M:M.add(I.length===1?I[0]:n._fn("Add",I))}}let h=u(o),y=u(s),b=l(o),E=l(s),v=g(o,"Negate")&&o.op1?l(o.op1):null,x=g(s,"Negate")&&s.op1?l(s.op1):null;if(h&&x){let S=f(h.cos1),w=f(h.cos2),T=f(x.sin1),k=f(x.sin2);if(S&&w&&T&&k&&(S.isSame(T)&&w.isSame(k)||S.isSame(k)&&w.isSame(T))){let I=t.filter((V,L)=>L!==i&&L!==r),M=n._fn("Cos",[S.add(w)]);return I.length===0?M:M.add(I.length===1?I[0]:n._fn("Add",I))}}if(v&&y){let S=f(y.cos1),w=f(y.cos2),T=f(v.sin1),k=f(v.sin2);if(S&&w&&T&&k&&(S.isSame(T)&&w.isSame(k)||S.isSame(k)&&w.isSame(T))){let I=t.filter((V,L)=>L!==i&&L!==r),M=n._fn("Cos",[S.add(w)]);return I.length===0?M:M.add(I.length===1?I[0]:n._fn("Add",I))}}if(h&&E){let S=f(h.cos1),w=f(h.cos2),T=f(E.sin1),k=f(E.sin2);if(S&&w&&T&&k&&(S.isSame(T)&&w.isSame(k)||S.isSame(k)&&w.isSame(T))){let I=t.filter((V,L)=>L!==i&&L!==r),M=n._fn("Cos",[S.sub(w)]);return I.length===0?M:M.add(I.length===1?I[0]:n._fn("Add",I))}}if(b&&y){let S=f(y.cos1),w=f(y.cos2),T=f(b.sin1),k=f(b.sin2);if(S&&w&&T&&k&&(S.isSame(T)&&w.isSame(k)||S.isSame(k)&&w.isSame(T))){let I=t.filter((V,L)=>L!==i&&L!==r),M=n._fn("Cos",[S.sub(w)]);return I.length===0?M:M.add(I.length===1?I[0]:n._fn("Add",I))}}}}function _M(e){return ii(e,lze)}function fze(e){let n=e.engine,t=e.operator;if(t!=="Sin"&&t!=="Cos"||!g(e))return;let i=e.op1;if(i&&g(i,"Multiply")){let r=i.ops,o=r.findIndex(s=>s.isSame(2));if(o>=0){let s=r.filter((u,l)=>l!==o),a=s.length===1?s[0]:n._fn("Multiply",s);return t==="Sin"?n._fn("Sin",[a]).mul(n._fn("Cos",[a])).mul(2):n._fn("Cos",[a]).pow(2).mul(2).sub(n.One)}}}function T8(e){return ii(e,fze)}function cze(e){let n=e.engine;if(g(e,"Multiply")){let t=e.ops,i=t.findIndex(r=>r.isSame(2));if(i>=0){let r=t.filter((a,u)=>u!==i),o,s;for(let a of r)a.operator==="Sin"&&!o?o=a:a.operator==="Cos"&&!s&&(s=a);if(o&&s&&x8(o,s)){if(!g(o))return;let a=r.filter(l=>l!==o&&l!==s),u=n._fn("Sin",[o.op1.mul(2)]);return a.length===0?u:u.mul(a.length===1?a[0]:n._fn("Multiply",a))}}}if(g(e,"Add")&&e.ops.length===2){let[t,i]=e.ops;if(g(t,"Power")&&t.op1?.operator==="Cos"&&t.op2?.isSame(2)&&i.operator==="Negate"&&g(i)&&i.op1?.operator==="Power"&&g(i.op1)&&i.op1.op1?.operator==="Sin"&&i.op1.op2?.isSame(2)){let u=t.op1,l=i.op1;if(g(u)&&g(l)){let f=l.op1;if(g(f)){let c=u.op1,d=f.op1;if(c&&d&&c.isSame(d))return n._fn("Cos",[c.mul(2)])}}}let r=u=>{if(!g(u,"Multiply"))return;let l=u.ops.findIndex(d=>d.isSame(2));if(l<0)return;let f=u.ops.filter((d,p)=>p!==l);if(f.length!==1)return;let c=f[0];if(g(c,"Power")&&c.op1?.operator==="Cos"&&c.op2?.isSame(2)){let d=c.op1;if(g(d))return d.op1}},o=r(t);if(o&&(i.isSame(-1)||g(i,"Negate")&&i.op1?.isSame(1)))return n._fn("Cos",[o.mul(2)]);if(o=r(i),o&&(t.isSame(-1)||g(t,"Negate")&&t.op1?.isSame(1)))return n._fn("Cos",[o.mul(2)]);let s=u=>{if(!g(u,"Multiply"))return;let l=u.ops.findIndex(d=>d.isSame(2));if(l<0)return;let f=u.ops.filter((d,p)=>p!==l);if(f.length!==1)return;let c=f[0];if(g(c,"Power")&&c.op1?.operator==="Sin"&&c.op2?.isSame(2)){let d=c.op1;if(g(d))return d.op1}};if(t.isSame(1)&&g(i,"Negate")&&i.op1){let u=s(i.op1);if(u)return n._fn("Cos",[u.mul(2)])}if(i.isSame(1)&&g(t,"Negate")&&t.op1){let u=s(t.op1);if(u)return n._fn("Cos",[u.mul(2)])}let a=u=>{if(!g(u,"Multiply"))return;let l=u.ops.findIndex(d=>d.isSame(-2));if(l<0)return;let f=u.ops.filter((d,p)=>p!==l);if(f.length!==1)return;let c=f[0];if(g(c,"Power")&&c.op1?.operator==="Sin"&&c.op2?.isSame(2)){let d=c.op1;if(g(d))return d.op1}};if(t.isSame(1)){let u=a(i);if(u)return n._fn("Cos",[u.mul(2)])}if(i.isSame(1)){let u=a(t);if(u)return n._fn("Cos",[u.mul(2)])}}}function c0e(e){return ii(e,cze)}function e0e(e){let n=!1,t=e;if(g(t,"Negate")&&t.op1)n=!0,t=t.op1;else if(g(t,"Multiply")&&t.ops.length===2){let s=t.ops.findIndex(a=>a.isSame(-1));s>=0&&(n=!0,t=t.ops[1-s])}if(!g(t,"Power"))return;let i=t.op1,r=t.op2;if(!i||!r||!(r.isSame(2)||r.isSame(4))||i.operator!=="Sin"&&i.operator!=="Cos"||!g(i))return;let o=i.op1;if(o)return{func:i.operator,arg:o,power:r.isSame(2)?2:4,negated:n}}function dze(e){let n=e.engine;if(!g(e,"Add")||e.ops.length!==2)return;let t=e0e(e.ops[0]),i=e0e(e.ops[1]);if(!t||!i||t.negated===i.negated||t.func===i.func||t.power!==i.power||!t.arg.isSame(i.arg))return;let r=t.negated?i:t,o=n._fn("Cos",[r.arg.mul(2)]);return r.func==="Cos"?o:o.neg()}function d0e(e){return ii(e,dze)}function pze(e){let n=e.engine;if(e.operator!=="Tan"||!g(e))return;let t=e.op1;if(t){if(g(t,"Add")&&t.ops.length===2){let[i,r]=t.ops,o=n._fn("Tan",[i]),s=n._fn("Tan",[r]);return o.add(s).div(n.One.sub(o.mul(s)))}if(g(t,"Subtract")){let i=t.op1,r=t.op2;if(!i||!r)return;let o=n._fn("Tan",[i]),s=n._fn("Tan",[r]);return o.sub(s).div(n.One.add(o.mul(s)))}}}function p0e(e){return ii(e,pze)}var mze=[{value:0,angle:[0,1]},{value:1/Math.sqrt(3),angle:[1,6]},{value:1,angle:[1,4]},{value:Math.sqrt(3),angle:[1,3]},{value:2-Math.sqrt(3),angle:[1,12]},{value:2+Math.sqrt(3),angle:[5,12]}];function gze(e,n=1e-10){for(let t of mze)if(Math.abs(t.value-e)<n)return t.angle}function hze(e){if(e.operator!=="Multiply"||!g(e))return;let n=e.ops;if(n.length<2)return;let t=[],i=1;for(let r of n)if(g(r,"Tan")&&r.op1)t.push(r.op1);else if(g(r,"Negate")&&r.op1?.operator==="Sqrt"){let o=r.op1;if(g(o)){let s=o.op1;if(N(s)&&typeof s.re=="number")i*=-Math.sqrt(s.re);else return}else return}else if(g(r,"Sqrt")){let o=r.op1;if(o&&N(o)&&typeof o.re=="number")i*=Math.sqrt(o.re);else return}else if(N(r)&&typeof r.re=="number")i*=r.re;else return;if(t.length===2)return[i,t[0],t[1]]}function n0e(e){if(g(e,"Multiply")){let n=!1,t;for(let i of e.ops)if(_(i,"Pi"))n=!0;else if(N(i)&&typeof i.re=="number"){let r=i.re;for(let o=1;o<=36;o++){let s=Math.round(r*o);if(Math.abs(s/o-r)<1e-10){t=[s,o];break}}}if(n&&t)return t}if(_(e,"Pi"))return[1,1]}function yze(e){let n=e.engine;if(e.operator!=="Add"||!g(e))return;let t=e.ops;if(t.length!==3)return;let i=[],r;for(let E=0;E<t.length;E++){let v=t[E];if(g(v,"Tan")&&v.op1)i.push({arg:v.op1,index:E});else{let x=hze(v);x&&(r={coef:x[0],arg1:x[1],arg2:x[2],index:E})}}if(i.length!==2||!r)return;let[o,s]=i,a=o.arg.isSame(r.arg1)||o.arg.isSame(r.arg2),u=s.arg.isSame(r.arg1)||s.arg.isSame(r.arg2),l=o.arg.isSame(r.arg2)||o.arg.isSame(r.arg1),f=s.arg.isSame(r.arg2)||s.arg.isSame(r.arg1);if(!(a&&f||u&&l))return;let c=-r.coef;if(c<=0)return;let d=gze(c);if(!d)return;let p=n0e(o.arg),m=n0e(s.arg);if(!p||!m)return;let h=t0e(t0e(p[1],m[1]),d[1]);if(p[0]*(h/p[1])+m[0]*(h/m[1])+d[0]*(h/d[1])!==h)return;let b=n._fn("Multiply",[n.number([d[0],d[1]]),n.symbol("Pi")]);return n._fn("Tan",[b]).neg()}function t0e(e,n){return Math.abs(e*n)/bze(e,n)}function bze(e,n){for(e=Math.abs(e),n=Math.abs(n);n;){let t=n;n=e%n,e=t}return e}function m0e(e){return ii(e,yze)}function Eze(e){let n=e.engine;if(e.operator!=="Multiply"||!g(e))return;let t=e.ops;if(!(t.length<2))for(let i=0;i<t.length;i++)for(let r=i+1;r<t.length;r++){let o=t[i],s=t[r];if(!g(o)||!g(s))continue;let a=o.op1,u=s.op1;if(!(!a||!u)){if(o.operator==="Tan"&&s.operator==="Tan"){let l=o,f=s,c=n._fn("Cot",[a.add(u)]),d=n.One.sub(l.add(f).mul(c)),p=t.filter((m,h)=>h!==i&&h!==r);return p.length===0?d:d.mul(p.length===1?p[0]:n._fn("Multiply",p))}if(o.operator==="Cot"&&s.operator==="Cot"){let l=o,f=s,c=n._fn("Cot",[a.add(u)]),d=n.One.add(l.add(f).mul(c)),p=t.filter((m,h)=>h!==i&&h!==r);return p.length===0?d:d.mul(p.length===1?p[0]:n._fn("Multiply",p))}}}}function g0e(e){return ii(e,Eze)}function vze(e){let n=e.engine;if(e.operator!=="Power"||!g(e))return;let t=e.op1,i=e.op2;if(!t||!i||!i.isSame(2)||!g(t))return;let r=t.op1;if(r){if(t.operator==="Tan")return n._fn("Sec",[r]).pow(2).sub(n.One);if(t.operator==="Cot")return n._fn("Csc",[r]).pow(2).sub(n.One);if(t.operator==="Sec")return n.One.add(n._fn("Tan",[r]).pow(2));if(t.operator==="Csc")return n.One.add(n._fn("Cot",[r]).pow(2))}}function h0e(e){return ii(e,vze)}function xze(e){let n=e.engine;if(e.operator!=="Add"||!g(e))return;let t=e.ops;if(t.length!==2)return;let i=d=>{let p=!1,m=d;if(g(d,"Negate")&&(p=!0,m=d.op1),!g(m)||m.operator!=="Power"||!m.op2?.isSame(2))return null;let h=m.op1;if(!g(h)||!h.op1)return null;let y=h.operator;return["Tan","Cot","Sec","Csc"].includes(y)?{func:y,arg:h.op1,neg:p}:null},r=i(t[0]),o=i(t[1]);if(r&&o&&r.arg.isSame(o.arg)){if(r.func==="Cot"&&!r.neg&&o.func==="Csc"&&o.neg||r.func==="Csc"&&r.neg&&o.func==="Cot"&&!o.neg)return n.number(-1);if(r.func==="Csc"&&!r.neg&&o.func==="Cot"&&o.neg||r.func==="Cot"&&r.neg&&o.func==="Csc"&&!o.neg)return n.One;if(r.func==="Tan"&&!r.neg&&o.func==="Sec"&&o.neg||r.func==="Sec"&&r.neg&&o.func==="Tan"&&!o.neg)return n.number(-1);if(r.func==="Sec"&&!r.neg&&o.func==="Tan"&&o.neg||r.func==="Tan"&&r.neg&&o.func==="Sec"&&!o.neg)return n.One}let s=-1,a=-1,u=!1;for(let d=0;d<t.length;d++){let p=t[d];p.isSame(1)?(s=d,u=!1):p.isSame(-1)||g(p,"Negate")&&p.op1?.isSame(1)?(s=d,u=!0):g(p,"Power")&&p.op2?.isSame(2)&&(a=d)}if(s<0||a<0)return;let l=t[a];if(!g(l))return;let f=l.op1;if(!f||!g(f))return;let c=f.op1;if(c){if(f.operator==="Sec"&&u)return n._fn("Tan",[c]).pow(2);if(f.operator==="Csc"&&u)return n._fn("Cot",[c]).pow(2);if(f.operator==="Tan"&&!u)return n._fn("Sec",[c]).pow(2);if(f.operator==="Cot"&&!u)return n._fn("Csc",[c]).pow(2)}}function w8(e){return ii(e,xze)}function Sze(e){let n=e.engine;if(!g(e,"Multiply"))return[1,n.One,e];for(let t=0;t<e.ops.length;t++){let i=e.ops[t],r;if(N(i)&&typeof i.re=="number"&&i.im===0&&(r=i.re),r!==void 0){let o=e.ops.filter((a,u)=>u!==t),s=o.length===1?o[0]:n._fn("Multiply",o);return[r,i,s]}}return[1,n.One,e]}function _ze(e){let n=e.engine;if(e.operator!=="Multiply"||!g(e))return;let t=e.ops;if(t.length<2)return;let i=[],r=[];for(let T of t)if(g(T,"Cos")&&T.op1){let k=Sze(T.op1);k?i.push({arg:k[2],numericMult:k[0],symbolicCoeff:k[1]}):i.push({arg:T.op1,numericMult:1,symbolicCoeff:n.One})}else r.push(T);if(i.length<2)return;let o=i[0].arg,s=i.filter(T=>T.arg.isSame(o)),a=i.filter(T=>!T.arg.isSame(o));if(s.length<2)return;s.sort((T,k)=>T.numericMult-k.numericMult);let u=[],l=[],f=[...s],c=f[0].numericMult;if(c>0){u.push(f[0]);let T=new Set([0]),k=c*2;for(;;){let I=f.findIndex((M,V)=>!T.has(V)&&Math.abs(M.numericMult-k)<1e-10);if(I===-1)break;u.push(f[I]),T.add(I),k*=2}l=f.filter((I,M)=>!T.has(M))}if(u.length<2)return;let d=u[0].numericMult,p=[...r];for(let T of l){let k=T.symbolicCoeff.isSame(n.One)?T.arg:n._fn("Multiply",[T.symbolicCoeff,T.arg]);p.push(n._fn("Cos",[k]))}for(let T of a){let k=T.symbolicCoeff.isSame(n.One)?T.arg:n._fn("Multiply",[T.symbolicCoeff,T.arg]);p.push(n._fn("Cos",[k]))}let m=u.length,h=u[0].symbolicCoeff,y=Math.pow(2,m);if(_(o,"Pi")){let T=1/(y+1);if(Math.abs(d-T)<1e-10){let k=n.number([1,y]);return p.length===0?k:k.mul(p.length===1?p[0]:n._fn("Multiply",p))}}let b=h.mul(y),E=h.isSame(n.One)?o:n._fn("Multiply",[h,o]),v=n._fn("Multiply",[b,o]),x=n._fn("Sin",[v]),S=n._fn("Sin",[E]),w=x.div(n.number(y).mul(S));return p.length===0?w:w.mul(p.length===1?p[0]:n._fn("Multiply",p))}function y0e(e){return ii(e,_ze)}function Tze(e){if(g(e,"Power")&&e.op2?.isSame(2)){let n=e.op1;if(g(n,"Sin")&&n.op1)return{func:"Sin",arg:n.op1,coef:1};if(g(n,"Cos")&&n.op1)return{func:"Cos",arg:n.op1,coef:1}}if(g(e,"Multiply")){let n=1,t;for(let i of e.ops)if(g(i,"Power")&&i.op2?.isSame(2)){let r=i.op1;(r?.operator==="Sin"||r?.operator==="Cos")&&(t=i)}else typeof i.re=="number"&&i.im===0&&(n*=i.re);if(g(t)){let i=t.op1;if(g(i,"Sin")&&i.op1)return{func:"Sin",arg:i.op1,coef:n};if(g(i,"Cos")&&i.op1)return{func:"Cos",arg:i.op1,coef:n}}}return null}function wze(e){let n=e.engine;if(e.operator!=="Add"||!g(e))return;let t=e.ops;if(t.length<2)return;let i=[],r=[],o=[];for(let s=0;s<t.length;s++){let a=t[s],u=Tze(a);u?i.push({...u,index:s}):typeof a.re=="number"&&a.im===0&&N(a)?o.push({value:a.re,index:s}):r.push({expr:a,index:s})}for(let s=0;s<i.length;s++)for(let a=s+1;a<i.length;a++){let u=i[s],l=i[a];if(u.arg.isSame(l.arg)&&(u.func==="Sin"&&l.func==="Cos"||u.func==="Cos"&&l.func==="Sin")&&Math.abs(u.coef-l.coef)<1e-10){let f=u.coef,c=new Set([u.index,l.index]),d=t.filter((p,m)=>!c.has(m));return d.length===0?n.number(f):f===1?n._fn("Add",[n.One,...d]):n._fn("Add",[n.number(f),...d])}}for(let s of i)if(s.coef<0){let a=Math.abs(s.coef);for(let u of o)if(Math.abs(u.value-a)<1e-10){let l=new Set([s.index,u.index]),f=t.filter((p,m)=>!l.has(m)),c=s.func==="Sin"?"Cos":"Sin",d=n._fn(c,[s.arg]).pow(2).mul(a);return f.length===0?d:n._fn("Add",[d,...f])}}}function b0e(e){return ii(e,wze)}var Nze=new Set(["Sin","Cos","Tan","Cot","Sec","Csc"]);function N8(e){let n=0;if(Nze.has(e.operator)&&(n=1),g(e))for(let t of e.ops)n+=N8(t);return n}function C8(e){if(_(e)||N(e))return 1;let n=1;if(g(e))for(let t of e.ops)n+=C8(t);return n}function E0e(e){let n=N8(e),t=C8(e);return n*1e3+t}var v0e=E0e;function I8(e,n){if(e.length===0)throw new Error("bestOf called with empty array");if(e.length===1)return e[0];let t=e[0],i=n(t);for(let r=1;r<e.length;r++){let o=n(e[r]);o<i&&(t=e[r],i=o)}return t}function X_(e,n){let t=n(e);return t.isSame(e)?null:t}function x0e(e,n){let t=X_(e,S8),i=X_(e,a0e),r=[e];return t&&r.push(t),i&&r.push(i),I8(r,n)}function Cze(e,n){return x0e(e,n)}function Ize(e,n){let t=X_(e,l0e),i=[e];if(t){i.push(t);let r=X_(t,_M);r&&i.push(r)}return I8(i,n)}function kze(e,n){let t=X_(e,_M),i=[e];return t&&i.push(t),I8(i,n)}function Rze(e,n){let t=p0e(e);return t=g0e(t),t}function Aze(e,n){let t=e;return t=f0e(t),t=T8(t),t=S8(t),t=u0e(t),t=T8(t),t=Ize(t,n),t=x0e(t,n),t=SM(t),t=Cze(t,n),t=SM(t),t=kze(t,n),t}function S0e(e,n){if(!xM(e))return;let t=n?.measure??v0e,i=n?.maxIterations??100,r=e,o=0,s=e,a=t(e),u=S=>{let w=t(S);w<a&&(s=S,a=w)};r=s0e(r),u(r);let l=w8(r);u(l);let f=h0e(r);u(f),r=s;let c=_8(r);if(u(c),r=s,gm(r,"Sec","Csc")&&(r=i0e(r),s=r,a=t(r)),gm(r,"Tan","Cot")){let S=Rze(r,t);u(S),r=S}if(gm(r,"Tan","Cot")&&(r=r0e(r),u(r)),gm(r,"Sin","Cos")){let S=SM(r);u(S),r=s}if(gm(r,"Sin","Cos")){let S=t(r);for(;o<i;){o++;let w=Aze(r,t),T=t(w);if(u(w),T>=S)break;r=w,S=T}}let d=o0e(s);u(d);let p=c0e(s);u(p);let m=d0e(s);u(m);let h=y0e(s);u(h);let y=_8(s);u(y);let b=w8(s);u(b);let E=_M(s);u(E);let v=b0e(s);u(v);let x=m0e(s);if(u(x),s.operator==="Add"||s.operator==="Multiply"){let S=e.engine.expr(s.json);u(S)}if(!s.isSame(e))return{value:s,because:"fu"}}function k8(e,n){if(Array.isArray(e)){if(e[0]==="InvisibleOperator")for(let t=1;t+1<e.length;t++){let i=e[t],r=e[t+1];typeof i=="string"&&Array.isArray(r)&&r[0]==="Delimiter"&&n.add(i)}for(let t of e)k8(t,n);return}e!==null&&typeof e=="object"&&"fn"in e&&Array.isArray(e.fn)&&k8(e.fn,n)}var Q_=class e{static _latexSyntaxFactory=null;True;False;Pi;E;Nothing;Missing;Zero;One;Half;NegativeOne;Two;I;NaN;PositiveInfinity;NegativeInfinity;ComplexInfinity;_numericConfiguration;_cacheStore=new YR;_runtimeState=new yM;_boxingState=new bM;_configurationLifecycle=new gM;_cost;_integrationProvider;_simplificationRules=new lE([...ode]);_solveRules=new lE([...Yte]);_harmonizationRules=new lE([...eie]);_compilationTargets=new pM;_fuAlgorithm=S0e;_customLibraryOperators=new Set;_commonSymbols={Pi:null,True:null,False:null,All:null,Nothing:null,Missing:null,None:null,Undefined:null,ExponentialE:null};_commonNumbers={"-5":null,"-4":null,"-3":null,"-2":null,2:null,3:null,4:null,5:null,6:null,7:null,8:null,9:null,10:null,11:null,12:null,36:null};_commonTypes=new Map;_evalContextStack=[];get context(){return this._evalContextStack[this._evalContextStack.length-1]}get contextStack(){return[...this._evalContextStack]}set contextStack(n){this._evalContextStack=[...n]}_typeRegistry=Object.create(null);_protocolRegistry=Object.create(null);_conformanceVersionCounter=0;get _conformanceVersion(){return this._conformanceVersionCounter}_noteConformanceRegistryChange(){this._conformanceVersionCounter+=1}_staticTypeCheckDepth=0;_epsilBatchId=void 0;_staticAssignmentEvidence=void 0;_epsilDeclarationRoute=!1;_typeRegistryRollbackPoint(){let n=this._typeRegistry,t=new Set(Object.keys(n)),i=[...t].map(r=>{let o=n[r];return{r:o,def:o.def,alias:o.alias,typeParams:o.typeParams,varianceState:o._varianceState,varianceBlockedOn:o._varianceBlockedOn,declaredByStatement:o._declaredByStatement,forwardArity:o._forwardArity===void 0?void 0:new Set(o._forwardArity),sumOf:o._sumOf,sumVariants:o._sumVariants,declOrigin:o._declOrigin}});return()=>{let r=!1;for(let o of Object.keys(n))t.has(o)||(delete n[o],r=!0);for(let o of i){let s=o.r;s.def!==o.def&&(r=!0),s.def=o.def,s.alias!==o.alias&&(r=!0),s.alias=o.alias,s.typeParams!==o.typeParams&&(r=!0),o.typeParams===void 0?delete s.typeParams:s.typeParams=o.typeParams,s._varianceState!==o.varianceState&&(r=!0),o.varianceState===void 0?delete s._varianceState:s._varianceState=o.varianceState,s._varianceBlockedOn!==o.varianceBlockedOn&&(r=!0),o.varianceBlockedOn===void 0?delete s._varianceBlockedOn:s._varianceBlockedOn=o.varianceBlockedOn;let a=s;a._declaredByStatement!==o.declaredByStatement&&(r=!0),o.declaredByStatement===void 0?delete a._declaredByStatement:a._declaredByStatement=o.declaredByStatement;let u=s,l=u._forwardArity,f=o.forwardArity;(l===void 0!=(f===void 0)||l!==void 0&&f!==void 0&&(l.size!==f.size||[...f].some(c=>!l.has(c))))&&(r=!0),f===void 0?delete u._forwardArity:u._forwardArity=f,s._sumOf!==o.sumOf&&(r=!0),o.sumOf===void 0?delete s._sumOf:s._sumOf=o.sumOf,s._sumVariants!==o.sumVariants&&(r=!0),o.sumVariants===void 0?delete s._sumVariants:s._sumVariants=o.sumVariants,o.declOrigin===void 0?delete s._declOrigin:s._declOrigin=o.declOrigin,s.name in n||(n[s.name]=s,r=!0)}r&&this._noteStateEvent({kind:"config"})}}_protocolRegistryRollbackPoint(){let n=this._protocolRegistry,t=new Set(Object.keys(n)),i=[...t].map(r=>{let o=n[r];return{r:o,members:o.members,conformances:[...o.conformances],edges:o.conformances.map(s=>({c:s,impl:s.impl,authored:s._authored,origin:s._implOrigin,pending:s.pending,pendingReason:s._pendingReason})),declaredByStatement:o.declaredByStatement,declOrigin:o._declOrigin}});return()=>{let r=!1;for(let o of Object.keys(n))t.has(o)||(delete n[o],r=!0);for(let o of i){let s=o.r;s.members!==o.members&&(r=!0),s.members=o.members,s.declaredByStatement!==o.declaredByStatement&&(r=!0),s.declaredByStatement=o.declaredByStatement,o.declOrigin===void 0?delete s._declOrigin:s._declOrigin=o.declOrigin,(s.conformances.length!==o.conformances.length||o.conformances.some((a,u)=>s.conformances[u]!==a))&&(r=!0),s.conformances=o.conformances;for(let a of o.edges)a.c.impl!==a.impl&&(r=!0),a.impl===void 0?delete a.c.impl:a.c.impl=a.impl,a.authored===void 0?delete a.c._authored:a.c._authored=a.authored,a.origin===void 0?delete a.c._implOrigin:a.c._implOrigin=a.origin,a.c.pending!==a.pending&&(r=!0),a.c.pending=a.pending,a.pendingReason===void 0?delete a.c._pendingReason:a.c._pendingReason=a.pendingReason;s.name in n||(n[s.name]=s,r=!0)}r&&(this._noteStateEvent({kind:"config"}),this._noteConformanceRegistryChange())}}_rollbackFrames=[];_withRolledBackInference(n,t){this._inferenceTxDepth>0;let i=new jT({boxingRepairDepthAtOpen:this._boxingState.frameDepth(),forbidsRepairs:t?.forbidsRepairs});this._rollbackFrames.push(i);let r;try{return n()}catch(o){throw r={error:o},o}finally{let o=this._rollbackFrames.pop(),s=i.rollback();if(this._boxingState.hasRepairRequestedAtOrAbove(i.boxingRepairDepthAtOpen),s!==void 0&&this._debugBindings)throw new Error("Inference rollback failed: an undo entry threw while unwinding the frame",{cause:r?.error??s.error})}}_withBoxingPassWindow(n){qR(this);try{return n()}finally{zR(this)}}declareProtocol(n,t){sC(this,n,t)}declareProtocolImplementation(n,t,i,r){tY(this,n,t,i,r)}__typeResolver;get _typeResolver(){return this.__typeResolver??=Hbe(this),this.__typeResolver}declareType(n,t,i){p0(this,n,t,i)}get trace(){return this._evalContextStack.map(n=>n.name).filter(n=>n!==void 0).reverse()}get _anyVersion(){return this._configurationLifecycle.anyVersion}get _semanticVersion(){return this._configurationLifecycle.semanticVersion}get _worldVersion(){return this._configurationLifecycle.worldVersion}get _callableVersion(){return this._configurationLifecycle.callableVersion}get _ephemeralWriteDepth(){return this._configurationLifecycle.ephemeralWriteDepth}set _ephemeralWriteDepth(n){this._configurationLifecycle.ephemeralWriteDepth=n}get _factSuppressionDepth(){return this._configurationLifecycle.factSuppressionDepth}set _factSuppressionDepth(n){this._configurationLifecycle.factSuppressionDepth=n}_withoutFacts(n){if(n.constructor.name==="AsyncFunction")throw new Error("A fact-blind bracket must be synchronous: an async thunk is refused before it runs, because everything after its first await would see the assumptions again");let t=this._configurationLifecycle;t.factSuppressionDepth+=1;let i;try{i=n()}finally{t.factSuppressionDepth-=1}if(typeof i?.then=="function")throw Promise.resolve(i).then(void 0,()=>{}),new Error("A fact-blind bracket must be synchronous: its thunk returned a promise, whose work would run after the bracket closed and would see the assumptions again");return i}_factsHidden(){if(this._factSuppressionDepth===0)return!1;let n=this.context;return n===void 0?!1:(n.assumptions?.size??0)!==0||(n.assumedValues?.size??0)!==0}_cacheGeneration(){return this._anyVersion*2+(this._factsHidden()?1:0)}_nextFactId(){return this._factIdCounter+=1,this._factIdCounter}_factIdCounter=0;get _scratchDeclarationScopes(){return this._configurationLifecycle.scratchDeclarationScopes}_checkpointWindow=void 0;_checkpointStack=[];_checkpointPoisoned=!1;_nextCheckpointId=1;_invalidateCheckpointsOnFrameDiscard(n){RY(this,n)}_inFlightAsyncEvaluations=0;_evaluationDepth=0;_objectStoreEpoch=0;_applicationMemo=void 0;checkpoint(n){return IY(this,n)}restore(n){kY(this,n)}discard(n){AY(this,n)}_noteStateEvent(n){TP&&this._checkpointWindow?.noteEvent(n.kind),this._configurationLifecycle.noteStateEvent(n)}_inferenceTxDepth=0;_hasAsyncOnlyOperator=!1;_boxingEpoch=0;_debugBindings=gz();_freshlyInferred=null;_inferenceCause=null;_noteInferenceWrite(n){let t=this._inferenceCause;if(t&&t.expr===void 0&&(t.expr=this._fn(t.operator,t.ops.map(i=>this.expr(i,{form:"raw"})),{canonical:!1})),pa(this,n.target,{type:n.to,kind:n.kind,axis:"type",cause:t?.expr,epoch:ma(this)}),n.valueDef!==void 0&&n.from.isUnknown&&this._inferenceTxDepth>0){let i=this._freshlyInferred??=new Set,r=tt(this);if(r!==void 0&&!i.has(n.valueDef)){let o=n.valueDef;r.record({undo:()=>i.delete(o)})}i.add(n.valueDef)}this._narrowingSink?._recordNarrowing(n.name,n.binding,n.from,n.to)}strict;get jit(){return this._jit}set jit(n){n!==this._jit&&(this._jit=n,this._noteStateEvent({kind:"config"}))}_jit="auto";static getStandardLibrary(n){return OR(n)}constructor(n){if(n!==void 0&&typeof n!="object")throw Error("Unexpected argument");this.strict=!0,this.jit="auto",this._numericConfiguration=new hM({precision:n?.precision,tolerance:n?.tolerance??"auto",angularUnit:"rad"});let t=new EM(this),i=t.initializeCommonNumbers();this.Zero=i.Zero,this.One=i.One,this.Half=i.Half,this.NegativeOne=i.NegativeOne,this.Two=i.Two,this.NaN=i.NaN,this.PositiveInfinity=i.PositiveInfinity,this.NegativeInfinity=i.NegativeInfinity,this.I=i.I,this.ComplexInfinity=i.ComplexInfinity,this._reset(),this.pushScope(void 0,"system"),this.declareType("limits","expression<Limits>"),this.declareType("distribution","expression<NormalDistribution> | expression<BinomialDistribution> | expression<PoissonDistribution> | expression<UniformDistribution> | expression<ExponentialDistribution>",{alias:!0}),t.bootstrapLibraries(n?.libraries);let r=t.initializeCommonSymbolBindings(this._commonSymbols);this.True=r.True,this.False=r.False,this.Pi=r.Pi,this.E=r.E,this.Nothing=r.Nothing,this.Missing=r.Missing,this.pushScope(void 0,"global"),this._compilationTargets.registerDefaults(),n?.latexSyntax&&(this._latexSyntax=n.latexSyntax),n?.latexOptions&&(VT(n.latexOptions),this._latexOptions={...n.latexOptions}),nz(this)}toJSON(){return"[ComputeEngine]"}[Symbol.toStringTag]="ComputeEngine";_reset(){this._configurationLifecycle.reset({refreshNumericConstants:()=>{},resetCommonSymbols:()=>Hde(this._commonSymbols),purgeCaches:()=>this._cacheStore.purgeValues()})}_listenToConfigurationChange(n){return this._configurationLifecycle.listen(n)}_compile(n,t){return u8(n,t)}_getCompilationTarget(n){return this._compilationTargets.get(n)}_listCompilationTargets(){return this._compilationTargets.list()}_registerCompilationTarget(n,t){this._compilationTargets.register(n,t)}_unregisterCompilationTarget(n){this._compilationTargets.unregister(n)}get precision(){return this._numericConfiguration.precision}set precision(n){this._numericConfiguration.setPrecision(n)&&this._reset()}get angularUnit(){return this._numericConfiguration.angularUnit}set angularUnit(n){this._numericConfiguration.setAngularUnit(n)&&this._reset()}withTimeLimit(n,t){let i=typeof n=="number"?n:n.ms,r=typeof n=="number"?void 0:n.label,o=this._runtimeState.deadlineFrame,s=Date.now()+i,a=[...o?.spans??[],...r!==void 0?[r]:[]],u=o!==void 0&&o.at<=s?{at:o.at,owner:o.owner,spans:a}:{at:s,owner:r,spans:a};this._runtimeState.deadlineFrame=u;try{return t()}finally{this._runtimeState.deadlineFrame=o}}get _deadline(){return this._runtimeState.deadline}set _deadline(n){this._runtimeState.deadline=n}get _deadlineFrame(){return this._runtimeState.deadlineFrame}set _deadlineFrame(n){this._runtimeState.deadlineFrame=n}get _timeRemaining(){return this._runtimeState.timeRemaining}get _mapAutoCompileStats(){return ko}get iterationLimit(){return this._runtimeState.iterationLimit}set iterationLimit(n){n!==this._runtimeState.iterationLimit&&(this._runtimeState.iterationLimit=n,this._noteStateEvent({kind:"config"}))}get recursionLimit(){return this._runtimeState.recursionLimit}set recursionLimit(n){this._runtimeState.recursionLimit=n}_enterRecursion(){this._runtimeState.enterRecursion()}_exitRecursion(){this._runtimeState.exitRecursion()}get maxCollectionSize(){return this._runtimeState.maxCollectionSize}set maxCollectionSize(n){this._runtimeState.maxCollectionSize=n}get _isVerifying(){return this._runtimeState.isVerifying}set _isVerifying(n){this._runtimeState.isVerifying=n}get isVerifying(){return this._runtimeState.isVerifying}get tolerance(){return this._numericConfiguration.tolerance}set tolerance(n){this._numericConfiguration.setTolerance(n)&&this._noteStateEvent({kind:"config"})}get _randomFrame(){return this._runtimeState.randomFrame}set _randomFrame(n){this._runtimeState.randomFrame=n}_random(){let n=this._runtimeState.randomFrame;if(n!==void 0){let t=n.next>>>0;return n.next=n.next+1>>>0,wP(n.seedLo,n.seedHi,t)}return Math.random()}_substream(n){return Sz(this._runtimeState.randomFrame,n)}chop(n){let t=this._numericConfiguration.tolerance;return typeof n=="number"?Math.abs(n)<=t?0:n:n instanceof C?n.isPositive()&&n.lte(this._numericConfiguration.bignumTolerance)||n.isNegative()&&n.gte(this._numericConfiguration.negBignumTolerance)||n.isZero()?0:n:n instanceof Z&&Math.abs(n.re)<=t&&Math.abs(n.im)<=t?0:n}bignum(n){return this._numericConfiguration.bignum(n)}complex(n,t){return n instanceof C&&(n=n.toNumber()),t instanceof C&&(t=t.toNumber()),new Z(n,t)}_numericValue(n){if(n instanceof Bn)return n.asExact??n;let t=this._numericConfiguration.precision>ru?i=>new Sg(i):i=>new Rc(i);if(typeof n=="number")return Number.isInteger(n)?new Ie(n,t):t(n);if(typeof n=="bigint")return new Ie(n,t);if(pl(n))return new Ie({rational:n},t);if(n instanceof C){if(n.isInteger()){let i=Ct(n.toString());if(i!==null)return new Ie(i,t)}return t(n)}if(n instanceof Z)return n.im===0?this._numericValue(n.re):t({re:n.re,im:n.im});if("im"in n||"re"in n)return n.im!==void 0&&n.im!==0?t(n):n.re instanceof C&&n.re.isInteger()?new Ie({rational:[Ct(n.re.toString()),BigInt(1)]},t):typeof n.re=="number"&&Number.isInteger(n.re)?new Ie({rational:[n.re,1]},t):t(n);if("radical"in n||"rational"in n){let i=n;if(i.radical!==void 0&&i.radical!==1){if(!Number.isInteger(i.radical)||i.radical<1)return t({re:oy(i.rational??[1,1])*Math.sqrt(i.radical)});if(i.radical>=Ae){let[r,o]=da(i.radical,2);if(o>=Ae)return t({re:oy(i.rational??[1,1])*Math.sqrt(i.radical)});i={...i,radical:o,rational:zn(i.rational??[1,1],[r,1])}}}return i.rational&&ir(i.rational)&&(!Number.isInteger(i.rational[0])||!Number.isInteger(i.rational[1]))?t(i):new Ie(i,t)}throw Error(`Unexpected value: ${typeof n=="object"?JSON.stringify(n):String(n)}`)}get costFunction(){return this._cost??Qfe}set costFunction(n){this._cost=typeof n=="function"?n:void 0}get simplificationRules(){return this._simplificationRules.rules}set simplificationRules(n){this._simplificationRules.rules=n,this._cacheStore.invalidate("standard-simplification-rules")}get solveRules(){return this._solveRules.rules}set solveRules(n){this._solveRules.rules=n,this._cacheStore.invalidate("univariate-roots-rules")}get harmonizationRules(){return this._harmonizationRules.rules}set harmonizationRules(n){this._harmonizationRules.rules=n,this._cacheStore.invalidate("harmonization-rules")}lookupDefinition(n){return vue(this,n)}normalizeIdentifier(n){if(!n)return"";if(si(n))return n;this.pushScope();try{let t=this.parse(n);if(_(t))return t.symbol}finally{this.popScope()}return""}operatorInfo(n){let t=this.lookupDefinition(n);if(!t||!se(t))return;let i=t.operator,r=!!(i.evaluate||i.collection);return{kind:r?"function":"opaque",signature:i.signature,canEvaluate:r}}symbolInfo(n){let t=this.lookupDefinition(n);if(!t||!te(t))return;let i=t.value;return{kind:i.isConstant?"constant":"variable",type:i.type}}searchDefinitions(n,t){return xue(this,n,t)}suggestOperatorName(n){return Sue(this,n)}functionProperties(n){return Xg(this,n)}_declareSymbolValue(n,t,i){return Tue(this,n,t,i)}_declareSymbolOperator(n,t,i){return wue(this,n,t,i)}pushScope(n,t){sde(this,n,t)}popScope(){ade(this)}createScope(n,t){return dde(this,n,t)}_narrowingSink=void 0;_pushEvalContext(n,t,i){iV(this,n,t,i)}_popEvalContext(){rV(this)}_removeEvalContext(n){ude(this,n)}_inScope(n,t){return fde(this,n,t)}_resolveOnlyDepth=0;_resolveOnly(n){this._resolveOnlyDepth+=1;try{return n()}finally{this._resolveOnlyDepth-=1}}_printStack(n){cde(this,n)}_bindingSymbol(n,t){return zbe(this,n,t)}_shadowedParameterStack=[];_pushShadowedParameters(n,t){this._shadowedParameterStack.push({names:new Set(n),types:t,defs:new Map,boundary:this.context.lexicalScope})}_popShadowedParameters(){this._shadowedParameterStack.pop()}_isShadowedParameter(n){let t=this._shadowedParameterStack;for(let i=t.length-1;i>=0;i--)if(t[i].names.has(n))return!0;return!1}_shadowedParameterType(n){let t=this._shadowedParameterStack;for(let i=t.length-1;i>=0;i--)if(t[i].names.has(n))return t[i].types?.get(n)}_shadowedParameterBoundary(n){let t=this._shadowedParameterStack;for(let i=t.length-1;i>=0;i--)if(t[i].names.has(n))return t[i].boundary}_shadowedParameterDef(n){let t=this._shadowedParameterStack;for(let i=t.length-1;i>=0;i--)if(t[i].names.has(n))return t[i].defs.get(n)}_setShadowedParameterDef(n,t){let i=this._shadowedParameterStack;for(let r=i.length-1;r>=0;r--)if(i[r].names.has(n)){i[r].defs.set(n,t);return}}_currentShadowedParameterDefs(){let n=this._shadowedParameterStack;return n.length>0?n[n.length-1].defs:new Map}_getSymbolValue(n){return Nue(this,n)}_setSymbolValue(n,t){Cue(this,n,t)}declare(n,t,i){return Rue(this,n,t,i)}declareSequence(n,t){return Dde(this,n,t)}getSequenceStatus(n){return Ode(this,n)}getSequence(n){return $de(this,n)}listSequences(){return Fde(this)}isSequence(n){return Lde(this,n)}clearSequenceCache(n){Bde(this,n)}getSequenceCache(n){return Vde(this,n)}getSequenceTerms(n,t,i,r){return jde(this,n,t,i,r)}lookupOEIS(n,t){return qde(this,n,t)}checkSequenceOEIS(n,t,i){return zde(this,n,t,i)}interpret(n,t){return Ude(this,n,t)}assign(n,t){return Aue(this,n,t)}_shouldContinueExecution(){return this._runtimeState.shouldContinueExecution()}_checkContinueExecution(){if(!this._shouldContinueExecution())throw new Error("timeout")}_cache(n,t,i){return this._cacheStore.getOrBuild(n,()=>{let r=this._runtimeState.deadlineFrame;if(r===void 0)return t();this._runtimeState.deadlineFrame=void 0;try{return t()}finally{this._runtimeState.deadlineFrame=r}},i)}expr(n,t){let{canonical:i,structural:r}=n_(t);return JR(this,t?.scope,()=>Mi(this,n,{canonical:i,structural:r,scope:t?.scope}))}box(n,t){return this.expr(n,t)}rebind(n,t){return JR(this,t?.scope,()=>Tce(this,n,t))}_latexSyntax;get latexSyntax(){return!this._latexSyntax&&e._latexSyntaxFactory&&(this._latexSyntax=e._latexSyntaxFactory()),this._latexSyntax}_requireLatexSyntax(){if(!this._latexSyntax&&e._latexSyntaxFactory&&(this._latexSyntax=e._latexSyntaxFactory()),!this._latexSyntax)throw new Error("LatexSyntax not available. Pass a LatexSyntax instance to the ComputeEngine constructor.");return this._latexSyntax}_latexOptions={};get latexOptions(){return this._latexOptions}set latexOptions(n){VT(n),this._latexOptions={...n}}parse(n,t){if(n==null)return null;if(typeof n!="string")throw Error("ce.parse(): expected a LaTeX string");if(t?.speculative){if(t.scope!==void 0)throw Error("ce.parse(): the `speculative` and `scope` options are mutually exclusive \u2014 `speculative` discards the parse's writes, `scope` harvests them");let{speculative:b,...E}=t,v=this.parse(n,{...E,form:"raw"});this.pushScope(void 0,"speculative-parse");try{let x=this.context.lexicalScope;if(v!==null)for(let S of new Set(v.symbols)){let w=this.lookupDefinition(S);w!==void 0&&"value"in w&&!w.value.isConstant&&(w.value.inferredType||w.value.type.isUnknown)&&this.declare(S,{inferred:!0,type:w.value.type.type,...w.value.subscriptEvaluate?{subscriptEvaluate:w.value.subscriptEvaluate}:{}},x)}return this.parse(n,E)}finally{this.popScope()}}if(t?.scope)return JR(this,t.scope,()=>this.parse(n,{...t,scope:void 0}));let i=this._requireLatexSyntax(),{form:r,canonical:o,structural:s,scope:a,speculative:u,...l}=t??{},f=l.diagnostics??this._latexOptions?.diagnostics??!1,c,d,p,m=new Set;if(f){c=[],p=E=>m.add(E);let b=new Set;d=E=>{let v=`${E.code} ${E.start} ${E.end} ${E.detail?JSON.stringify(E.detail):""}`;b.has(v)||(b.add(v),c.push(E))}}let h=l.resolveSymbol??this._latexOptions?.resolveSymbol,y=h?b=>h(b)??this._resolveSymbolFromScope(b):b=>this._resolveSymbolFromScope(b);qR(this);try{let b=i.parse(n,{tolerance:this.tolerance,...this._latexOptions,...l,resolveSymbol:y,diagnostics:f,onDiagnostic:d,onBoundVariable:p});if(b===null)return null;let E=Mi(this,b,n_({form:r,canonical:o,structural:s}));if(c!==void 0){if(E=E._unshared(),E.isCanonical)try{let v=new Set(E.symbols),x=new Set(E.freeVariables);for(let S of c){if(S.code!=="undeclared-symbol")continue;let w=S.detail?.name;typeof w=="string"&&(m.has(w)||v.has(w)&&!x.has(w)&&`${w}`)}}catch{}for(let v of c)v.detail&&Object.freeze(v.detail),Object.freeze(v);E.parseDiagnostics=Object.freeze(c)}return E}finally{zR(this)}}_resolveSymbolFromScope(n){let t=this.lookupDefinition(n);if(t)return se(t)?{type:t.operator.signature}:te(t)?{type:t.value.type,subscriptEvaluate:!!t.value.subscriptEvaluate}:{type:P.unknown}}appliedNonFunctions(n){let t=this.latexSyntax;if(!t)return[];let i=this._latexOptions?.resolveSymbol,r=t.parse(n,{...this._latexOptions,resolveSymbol:i?s=>i(s)??this._resolveSymbolFromScope(s):s=>this._resolveSymbolFromScope(s)}),o=new Set;return r!==null&&k8(r,o),Array.from(o).sort()}function(n,t,i){let{canonical:r,structural:o}=n_(i);return QS(this,n,t,{metadata:i?.metadata,canonical:r,structural:o,scope:i?.scope})}error(n,t){return vM(this,n,t)}typeError(n,t,i){return Ybe(this,n,t,i)}hold(n){return this._fn("Hold",[this.expr(n,{form:"raw"})])}tuple(...n){return new Rn(this,"Tuple",n.map(t=>typeof t=="number"?this.number(t):t.canonical).filter(t=>!_(t,"Nothing")),{canonical:!0})}list(n){let t=n.length;if(typeof t!="number"||!Number.isSafeInteger(t)||t<0)throw new TypeError(`list(): the length must be a non-negative safe integer, not ${String(t)}`);if(t===0)return this.function("List",[]);let i=new Array(t);for(let r=0;r<t;r++){let o=n[r];if(typeof o!="number")throw new TypeError(`list(): element ${r} is ${o===void 0?"undefined":typeof o}, not a number`);i[r]=o===0?0:o}return new Rn(this,"List",void 0,{canonical:!0,numericStore:Object.freeze(i)})}type(n){if(n instanceof P)return n;if(typeof n=="string"&&ol(n)){let t=this._commonTypes.get(n);return t===void 0&&(t=new P(n,this._typeResolver),this._commonTypes.set(n,t)),t}return new P(n,this._typeResolver)}string(n,t){return new Kd(this,n,t)}character(n,t){if(!Zy(n))throw new Error(`ce.character(): "${n}" is not exactly one grapheme cluster. A character is exactly one user-perceived character (one UAX #29 extended grapheme cluster); use ce.string() for arbitrary text, or CharacterFrom() to get a diagnostic instead of a throw.`);return new JN(this,n,t)}symbol(n,t){return qbe(this,this._commonSymbols,n,t)}number(n,t){return Ube(this,this._commonNumbers,n,t)}rules(n,t){return U1(this,n,t)}getRuleSet(n){if(n??="standard-simplification",n==="standard-simplification"){this._simplificationRules.hasMutatedSinceLastCache()&&this._cacheStore.invalidate("standard-simplification-rules");let t=this._cache("standard-simplification-rules",()=>{let r=U1(this,this._simplificationRules.rules,{canonical:!0}).rules.filter(o=>o.purpose!=="expand");return{rules:Nte(r)}});return this._simplificationRules.markCached(),t}if(n==="solve-univariate"){this._solveRules.hasMutatedSinceLastCache()&&this._cacheStore.invalidate("univariate-roots-rules");let t=this._cache("univariate-roots-rules",()=>U1(this,this._solveRules.rules));return this._solveRules.markCached(),t}if(n==="harmonization"){this._harmonizationRules.hasMutatedSinceLastCache()&&this._cacheStore.invalidate("harmonization-rules");let t=this._cache("harmonization-rules",()=>U1(this,this._harmonizationRules.rules));return this._harmonizationRules.markCached(),t}}_fn(n,t,i){let r=i?.canonical??!0;return Nd(t,this)?this.error("object-foreign-engine"):new Rn(this,n,t,{...i,canonical:r})}_object(n,t,i,r){return Ace(this,n,t,i,r)}ask(n){return fV(this,n)}verify(n){return cV(this,n)}assume(n){return Rde(this,n)}forget(n){dV(this,n)}};Xbe(()=>new Q_);var Mze="0.129.1",Pze=Q_;return k0e(Dze);})();
1878
1878
  /*! Bundled license information:
1879
1879
 
1880
1880
  complex-esm/dist/src/complex.js: