@univerjs/engine-formula 0.1.10 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/index.js +1 -1
- package/lib/es/index.js +5915 -5543
- package/lib/types/basics/function.d.ts +16 -16
- package/lib/types/commands/mutations/set-array-formula-data.mutation.d.ts +1 -1
- package/lib/types/commands/mutations/set-feature-calculation.mutation.d.ts +1 -1
- package/lib/types/commands/mutations/set-formula-calculation.mutation.d.ts +2 -2
- package/lib/types/commands/mutations/set-formula-data.mutation.d.ts +1 -1
- package/lib/types/commands/mutations/set-other-formula.mutation.d.ts +1 -1
- package/lib/types/commands/mutations/set-super-table.mutation.d.ts +2 -2
- package/lib/types/controller/calculate.controller.d.ts +2 -2
- package/lib/types/controller/formula.controller.d.ts +4 -4
- package/lib/types/controller/register-function.controller.d.ts +2 -2
- package/lib/types/controller/set-defined-name.controller.d.ts +1 -1
- package/lib/types/controller/set-dependency.controller.d.ts +1 -1
- package/lib/types/controller/set-feature-calculation.controller.d.ts +1 -1
- package/lib/types/controller/set-other-formula.controller.d.ts +2 -2
- package/lib/types/controller/set-super-table.controller.d.ts +1 -1
- package/lib/types/engine/analysis/__tests__/create-command-test-bed.d.ts +2 -2
- package/lib/types/engine/analysis/lexer-node.d.ts +1 -1
- package/lib/types/engine/analysis/lexer-tree-builder.d.ts +4 -4
- package/lib/types/engine/analysis/lexer.d.ts +4 -4
- package/lib/types/engine/analysis/parser.d.ts +13 -13
- package/lib/types/engine/ast-node/ast-root-node.d.ts +3 -3
- package/lib/types/engine/ast-node/base-ast-node-factory.d.ts +4 -4
- package/lib/types/engine/ast-node/base-ast-node.d.ts +5 -5
- package/lib/types/engine/ast-node/function-node.d.ts +10 -10
- package/lib/types/engine/ast-node/lambda-node.d.ts +5 -5
- package/lib/types/engine/ast-node/lambda-parameter-node.d.ts +3 -3
- package/lib/types/engine/ast-node/null-node.d.ts +1 -1
- package/lib/types/engine/ast-node/operator-node.d.ts +5 -5
- package/lib/types/engine/ast-node/prefix-node.d.ts +7 -7
- package/lib/types/engine/ast-node/reference-node.d.ts +8 -8
- package/lib/types/engine/ast-node/suffix-node.d.ts +6 -6
- package/lib/types/engine/ast-node/union-node.d.ts +4 -4
- package/lib/types/engine/ast-node/value-node.d.ts +3 -3
- package/lib/types/engine/dependency/dependency-tree.d.ts +2 -2
- package/lib/types/engine/dependency/formula-dependency.d.ts +10 -12
- package/lib/types/engine/interpreter/interpreter.d.ts +4 -5
- package/lib/types/engine/reference-object/base-reference-object.d.ts +6 -6
- package/lib/types/engine/reference-object/cell-reference-object.d.ts +3 -3
- package/lib/types/engine/reference-object/column-reference-object.d.ts +1 -1
- package/lib/types/engine/reference-object/range-reference-object.d.ts +1 -1
- package/lib/types/engine/reference-object/row-reference-object.d.ts +1 -1
- package/lib/types/engine/reference-object/table-reference-object.d.ts +1 -1
- package/lib/types/engine/utils/array-object.d.ts +1 -1
- package/lib/types/engine/utils/ast-node-tool.d.ts +1 -1
- package/lib/types/engine/utils/node-type.d.ts +3 -3
- package/lib/types/engine/utils/numfmt-kit.d.ts +63 -0
- package/lib/types/engine/utils/object-compare.d.ts +1 -1
- package/lib/types/engine/utils/prefixHandler.d.ts +3 -3
- package/lib/types/engine/utils/value-object.d.ts +3 -3
- package/lib/types/engine/value-object/array-value-object.d.ts +4 -4
- package/lib/types/engine/value-object/base-value-object.d.ts +5 -5
- package/lib/types/engine/value-object/cube-value-object.d.ts +2 -2
- package/lib/types/engine/value-object/lambda-value-object.d.ts +3 -3
- package/lib/types/engine/value-object/primitive-object.d.ts +2 -2
- package/lib/types/functions/__tests__/create-function-test-bed.d.ts +3 -3
- package/lib/types/functions/base-function.d.ts +7 -7
- package/lib/types/functions/compatibility/function-map.d.ts +1 -1
- package/lib/types/functions/date/date/index.d.ts +3 -1
- package/lib/types/functions/date/day/index.d.ts +3 -1
- package/lib/types/functions/date/edate/index.d.ts +3 -1
- package/lib/types/functions/date/function-map.d.ts +1 -1
- package/lib/types/functions/date/month/index.d.ts +3 -1
- package/lib/types/functions/date/today/index.d.ts +5 -3
- package/lib/types/functions/date/year/index.d.ts +3 -1
- package/lib/types/functions/information/function-map.d.ts +1 -1
- package/lib/types/functions/information/isblank/index.d.ts +3 -1
- package/lib/types/functions/information/iserr/index.d.ts +3 -1
- package/lib/types/functions/information/iserror/index.d.ts +3 -1
- package/lib/types/functions/information/iseven/iseven.d.ts +4 -2
- package/lib/types/functions/information/islogical/index.d.ts +3 -1
- package/lib/types/functions/information/isna/index.d.ts +3 -1
- package/lib/types/functions/information/isnontext/index.d.ts +3 -1
- package/lib/types/functions/information/isnumber/index.d.ts +3 -1
- package/lib/types/functions/information/isodd/__tests__/isodd.spec.d.ts +16 -0
- package/lib/types/functions/information/isodd/isodd.d.ts +4 -2
- package/lib/types/functions/information/isref/index.d.ts +5 -3
- package/lib/types/functions/information/istext/index.d.ts +3 -1
- package/lib/types/functions/logical/and/index.d.ts +3 -1
- package/lib/types/functions/logical/function-map.d.ts +3 -3
- package/lib/types/functions/logical/if/index.d.ts +3 -1
- package/lib/types/functions/logical/iferror/index.d.ts +4 -2
- package/lib/types/functions/logical/lambda/index.d.ts +3 -1
- package/lib/types/functions/logical/makearray/index.d.ts +4 -2
- package/lib/types/functions/logical/or/index.d.ts +3 -1
- package/lib/types/functions/lookup/address/index.d.ts +3 -1
- package/lib/types/functions/lookup/column/index.d.ts +4 -2
- package/lib/types/functions/lookup/columns/index.d.ts +4 -2
- package/lib/types/functions/lookup/function-map.d.ts +10 -10
- package/lib/types/functions/lookup/hlookup/index.d.ts +3 -1
- package/lib/types/functions/lookup/index/index.d.ts +6 -2
- package/lib/types/functions/lookup/indirect/index.d.ts +4 -2
- package/lib/types/functions/lookup/lookup/index.d.ts +4 -2
- package/lib/types/functions/lookup/match/index.d.ts +4 -2
- package/lib/types/functions/lookup/offset/index.d.ts +3 -1
- package/lib/types/functions/lookup/row/index.d.ts +4 -2
- package/lib/types/functions/lookup/rows/index.d.ts +4 -2
- package/lib/types/functions/lookup/vlookup/index.d.ts +4 -2
- package/lib/types/functions/lookup/xlookup/index.d.ts +4 -2
- package/lib/types/functions/lookup/xmatch/index.d.ts +4 -2
- package/lib/types/functions/math/abs/index.d.ts +3 -1
- package/lib/types/functions/math/acos/index.d.ts +3 -1
- package/lib/types/functions/math/acosh/index.d.ts +3 -1
- package/lib/types/functions/math/acot/index.d.ts +3 -1
- package/lib/types/functions/math/function-map.d.ts +3 -3
- package/lib/types/functions/math/mod/index.d.ts +3 -1
- package/lib/types/functions/math/power/index.d.ts +3 -1
- package/lib/types/functions/math/product/index.d.ts +3 -1
- package/lib/types/functions/math/subtotal/index.d.ts +4 -2
- package/lib/types/functions/math/sum/index.d.ts +3 -1
- package/lib/types/functions/math/sumif/index.d.ts +1 -1
- package/lib/types/functions/math/sumifs/index.d.ts +4 -2
- package/lib/types/functions/meta/compare/index.d.ts +4 -2
- package/lib/types/functions/meta/cube/index.d.ts +3 -1
- package/lib/types/functions/meta/divided/index.d.ts +3 -1
- package/lib/types/functions/meta/function-map.d.ts +1 -1
- package/lib/types/functions/meta/minus/index.d.ts +3 -1
- package/lib/types/functions/meta/multiply/index.d.ts +3 -1
- package/lib/types/functions/meta/plus/index.d.ts +3 -1
- package/lib/types/functions/statistical/average/index.d.ts +3 -1
- package/lib/types/functions/statistical/count/index.d.ts +3 -1
- package/lib/types/functions/statistical/counta/index.d.ts +3 -1
- package/lib/types/functions/statistical/function-map.d.ts +1 -1
- package/lib/types/functions/statistical/max/index.d.ts +3 -1
- package/lib/types/functions/statistical/maxifs/index.d.ts +4 -2
- package/lib/types/functions/statistical/min/index.d.ts +3 -1
- package/lib/types/functions/statistical/stdev-p/index.d.ts +3 -1
- package/lib/types/functions/statistical/stdev-s/index.d.ts +3 -1
- package/lib/types/functions/statistical/stdeva/index.d.ts +3 -1
- package/lib/types/functions/statistical/stdevpa/index.d.ts +3 -1
- package/lib/types/functions/statistical/var-p/index.d.ts +3 -1
- package/lib/types/functions/statistical/var-s/index.d.ts +3 -1
- package/lib/types/functions/statistical/vara/index.d.ts +3 -1
- package/lib/types/functions/statistical/varpa/index.d.ts +3 -1
- package/lib/types/functions/text/concatenate/index.d.ts +3 -1
- package/lib/types/functions/text/function-map.d.ts +1 -1
- package/lib/types/functions/text/len/index.d.ts +3 -1
- package/lib/types/functions/text/lenb/index.d.ts +3 -1
- package/lib/types/functions/text/lower/index.d.ts +3 -1
- package/lib/types/functions/text/text/index.d.ts +3 -1
- package/lib/types/index.d.ts +1 -0
- package/lib/types/models/__tests__/create-command-test-bed.d.ts +1 -1
- package/lib/types/models/formula-data.model.d.ts +4 -8
- package/lib/types/models/utils/formula-data-util.d.ts +1 -1
- package/lib/types/plugin.d.ts +3 -3
- package/lib/types/services/active-dirty-manager.service.d.ts +1 -1
- package/lib/types/services/calculate-formula.service.d.ts +8 -9
- package/lib/types/services/current-data.service.d.ts +1 -1
- package/lib/types/services/defined-names.service.d.ts +1 -1
- package/lib/types/services/dependency-manager.service.d.ts +1 -1
- package/lib/types/services/feature-calculation-manager.service.d.ts +2 -2
- package/lib/types/services/function.service.d.ts +3 -3
- package/lib/types/services/other-formula-manager.service.d.ts +1 -1
- package/lib/types/services/runtime.service.d.ts +4 -4
- package/lib/types/services/super-table.service.d.ts +1 -1
- package/lib/umd/index.js +1 -1
- package/package.json +8 -8
- /package/lib/types/{functions/information/iseven/iseven.spec.d.ts → engine/utils/__tests__/numfmt-kit.spec.d.ts} +0 -0
- /package/lib/types/functions/information/{isodd/isodd.spec.d.ts → iseven/__tests__/iseven.spec.d.ts} +0 -0
package/lib/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Ti=Object.defineProperty;var ji=(n,r,e)=>r in n?Ti(n,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[r]=e;var b=(n,r,e)=>(ji(n,typeof r!="symbol"?r+"":r,e),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("@univerjs/core"),N=require("@wendellhu/redi"),Lt=require("rxjs");function fs(n,r,e,t,s){for(let i=0,a=n.length;i<a;i++){const o=n[i];if(r!==o.unitId||e!==o.sheetId)continue;const{startRow:u,startColumn:c,endRow:l,endColumn:d}=o.range;if(t>=u&&t<=l&&s>=c&&s<=d)return!0}return!1}var f=(n=>(n.DIV_BY_ZERO="#DIV/0!",n.NAME="#NAME?",n.VALUE="#VALUE!",n.NUM="#NUM!",n.NA="#N/A",n.CYCLE="#CYCLE!",n.REF="#REF!",n.SPILL="#SPILL!",n.CALC="#CALC!",n.ERROR="#ERROR!",n.CONNECT="#GETTING_DATA",n.NULL="#NULL!",n))(f||{});const Vt=new Set(Object.values(f));var hs=(n=>(n[n.Financial=0]="Financial",n[n.Date=1]="Date",n[n.Math=2]="Math",n[n.Statistical=3]="Statistical",n[n.Lookup=4]="Lookup",n[n.Database=5]="Database",n[n.Text=6]="Text",n[n.Logical=7]="Logical",n[n.Information=8]="Information",n[n.Engineering=9]="Engineering",n[n.Cube=10]="Cube",n[n.Compatibility=11]="Compatibility",n[n.Web=12]="Web",n[n.Array=13]="Array",n[n.Univer=14]="Univer",n[n.User=15]="User",n[n.DefinedName=16]="DefinedName",n))(hs||{}),de=(n=>(n.PLUS="+",n.MINUS="-",n.MULTIPLY="*",n.DIVIDED="/",n.CONCATENATE="&",n.POWER="^",n.EQUALS="=",n.NOT_EQUAL="<>",n.GREATER_THAN=">",n.GREATER_THAN_OR_EQUAL=">=",n.LESS_THAN="<",n.LESS_THAN_OR_EQUAL="<=",n))(de||{}),U=(n=>(n.EQUALS="=",n.NOT_EQUAL="<>",n.GREATER_THAN=">",n.GREATER_THAN_OR_EQUAL=">=",n.LESS_THAN="<",n.LESS_THAN_OR_EQUAL="<=",n))(U||{});const ir=new Map([["<>",3],["<",3],[">=",3],["=",3],[">",3],["<=",3],["&",2],["+",2],["-",2],["/",1],["*",1],["^",0]]),mt=new Set(ir.keys()),$i=new Set(["=","<>",">",">=","<","<="]);var W=(n=>(n.OPEN_BRACKET="(",n.CLOSE_BRACKET=")",n.COMMA=",",n.SINGLE_QUOTATION="'",n.DOUBLE_QUOTATION='"',n.OPEN_BRACES="{",n.CLOSE_BRACES="}",n.COLON=":",n.OPEN_SQUARE_BRACKET="[",n.CLOSE_SQUARE_BRACKET="]",n))(W||{}),qe=(n=>(n.PERCENTAGE="%",n.POUND="#",n))(qe||{});const Ii=new Set(["%","#"]);var _e=(n=>(n.AT="@",n.MINUS="-",n))(_e||{});const Yi=" ",ds=[...Object.values(U),...Object.values(de),...Object.values(W),...Object.values(qe),...Object.values(_e)];function Tt(n){return ds.includes(n)}function ms(n){for(const r of ds)if(n.indexOf(r)>-1)return!0;return!1}function Qi(n){return n[0]==="'"&&n[n.length-1]==="'"?n.substring(1,n.length-1):n}function zi(n){return Tt(n)&&n!==W.CLOSE_BRACES&&n!==W.CLOSE_BRACKET&&n!==W.SINGLE_QUOTATION&&n!==W.DOUBLE_QUOTATION||n===" "}function gs(n){const r={};return Object.keys(n).forEach(e=>{const t=n[e];if(t==null)return!0;r[e]==null&&(r[e]={}),Object.keys(t).forEach(s=>{const i=t[s];r[e][s]=new E.ObjectMatrix(i)})}),r}function Hi(n){const r={};return Object.keys(n).forEach(e=>{const t=n[e];if(t==null)return!0;r[e]==null&&(r[e]={}),Object.keys(t).forEach(s=>{const i=t[s];r[e][s]=i.getData()})}),r}const an={id:"formula.mutation.register-function",type:E.CommandType.MUTATION,handler:()=>!0},dr={id:"formula.mutation.set-array-formula-data",type:E.CommandType.MUTATION,handler:(n,r)=>!0},xr={id:"formula.mutation.set-defined-name",type:E.CommandType.MUTATION,handler:()=>!0},wr={id:"formula.mutation.remove-defined-name",type:E.CommandType.MUTATION,handler:()=>!0},Pr={id:"formula.mutation.set-feature-calculation",type:E.CommandType.MUTATION,handler:()=>!0},Vr={id:"formula.mutation.remove-feature-calculation",type:E.CommandType.MUTATION,handler:()=>!0},on={id:"formula.mutation.set-formula-calculation-start",type:E.CommandType.MUTATION,handler:()=>!0},un={id:"formula.mutation.set-formula-calculation-stop",type:E.CommandType.MUTATION,handler:()=>!0},mr={id:"formula.mutation.set-formula-calculation-notification",type:E.CommandType.MUTATION,handler:()=>!0},cn={id:"formula.mutation.set-formula-calculation-result",type:E.CommandType.MUTATION,handler:()=>!0},vr={id:"formula.mutation.set-formula-data",type:E.CommandType.MUTATION,handler:(n,r)=>!0},Or={id:"formula.mutation.set-other-formula",type:E.CommandType.MUTATION,handler:()=>!0},Fr={id:"formula.mutation.remove-other-formula",type:E.CommandType.MUTATION,handler:()=>!0},ps={id:"formula.mutation.set-super-table",type:E.CommandType.MUTATION,handler:()=>!0},Rs={id:"formula.mutation.remove-super-table",type:E.CommandType.MUTATION,handler:()=>!0},ln={id:"formula.mutation.set-super-table-option",type:E.CommandType.MUTATION,handler:()=>!0},fn={id:"formula.mutation.unregister-function",type:E.CommandType.MUTATION,handler:()=>!0},Xe="P_1",at="R_1",xt="L_1",Wt="LR_1",_s="LO_1",Wi="LET",Yt="LAMBDA",Gi="CUBE";class q{constructor(){b(this,"_parent");b(this,"_token",at);b(this,"_children",[]);b(this,"_lambdaId");b(this,"_functionDefinitionPrivacyVar");b(this,"_lambdaParameter","");b(this,"_startIndex",-1);b(this,"_endIndex",-1);b(this,"_definedNames",[])}dispose(){var r;this._children.forEach(e=>{typeof e!="string"&&e.dispose()}),(r=this._functionDefinitionPrivacyVar)==null||r.clear(),this._parent=null}getDefinedNames(){return this._definedNames}getStartIndex(){return this._startIndex}getLambdaId(){return this._lambdaId}setLambdaId(r){this._lambdaId=r}getFunctionDefinitionPrivacyVar(){return this._functionDefinitionPrivacyVar}setLambdaPrivacyVar(r){this._functionDefinitionPrivacyVar=r}getLambdaParameter(){return this._lambdaParameter}setLambdaParameter(r){this._lambdaParameter=r}getParent(){return this._parent}setParent(r){this._parent=r}getChildren(){return this._children}setChildren(r){this._children=r}addChildren(r){this._children.push(r)}addChildrenFirst(r){this._children.unshift(r)}getToken(){return this._token}setToken(r){this._token=r}setIndex(r,e){this._startIndex=r,this._endIndex=e}setDefinedNames(r){this._definedNames=r}hasDefinedNames(){return this._definedNames.length>0}replaceChild(r,e){const t=this._getIndexInParent(r);t!=null&&(this.getChildren().splice(t,1,e),e.setParent(this))}changeToParent(r){const e=this.getParent();e&&e.removeChild(this),this.setParent(r),r.getChildren().push(this)}removeChild(r){const e=this._getIndexInParent(r);e!=null&&this.getChildren().splice(e,1)}serialize(){const r=this.getToken(),e=this.getChildren(),t=[],s=e.length;for(let i=0;i<s;i++){const a=e[i];a instanceof q?t.push(a.serialize()):t.push(a)}return{token:r,st:this._startIndex,ed:this._endIndex,children:t}}_getIndexInParent(r){const e=this.getChildren(),t=e.length;for(let s=0;s<t;s++)if(e[s]===r)return s}}class Et{constructor(r){b(this,"_cache");this._cache=new E.LRUMap(r)}set(r,e){const t=this._hash(r);this._cache.set(t,e)}get(r){const e=this._hash(r);return this._cache.get(e)}clear(){this._cache.clear()}_hash(r){return E.hashAlgorithm(r)}}const tn='\\[([^\\[\\]\\/?:"<>|*\\\\]+)\\]',Xi="((?![\\[\\]\\/?*\\\\]).)*!",ot="$",hn="\\s*?:\\s*?",vt=`'?(${tn})?(${Xi})?'?`,rn=`\\${ot}?[A-Za-z]+\\${ot}?[0-9]+`,Ki=`^(${_e.AT})?${vt}${rn}${hn}${rn}$`,Gt=`^${vt}\\s*?${rn}(${qe.POUND})?$`,Es=`^${vt}\\${ot}?[0-9]+${hn}\\${ot}?[0-9]+$`,ys=`^${vt}\\${ot}?[A-Za-z]+${hn}\\${ot}?[A-Za-z]+$`,Cs=`^${vt}\\s*?\\${ot}?[0-9]+$`,Ds=`^${vt}\\s*?\\${ot}?[A-Za-z]+$`,bs="[.*?]",qi="{.*?}";function Ss(n){return new RegExp(Gt).test(n)||new RegExp(Ki).test(n)||new RegExp(Es).test(n)||new RegExp(ys).test(n)}var Le=(n=>(n[n.NORMAL=0]="NORMAL",n[n.NUMBER=1]="NUMBER",n[n.STRING=2]="STRING",n[n.FUNCTION=3]="FUNCTION",n[n.REFERENCE=4]="REFERENCE",n[n.ARRAY=5]="ARRAY",n[n.DEFINED_NAME=6]="DEFINED_NAME",n))(Le||{});function gr(n){let r="";for(const e of n)typeof e=="string"?r+=e:r+=e.token;return r}const Ni=/[^0-9]/g,Zi=/[^A-Za-z]/g;function jt(n){let r=n[0]==="$";const e=n.substring(1);let t=e.indexOf("$")>-1;return E.Tools.isStringNumber(e)&&r&&!t&&(r=!1,t=!0),r&&t?E.AbsoluteRefType.ALL:r?E.AbsoluteRefType.COLUMN:t?E.AbsoluteRefType.ROW:E.AbsoluteRefType.NONE}function Ji(n){const r=n.split("!");r.length>1&&(n=r[r.length-1]);const e=n.split(":");return e.length>1?{startAbsoluteRefType:jt(e[0]),endAbsoluteRefType:jt(e[1])}:{startAbsoluteRefType:jt(e[0])}}function jn(n=E.AbsoluteRefType.NONE){let r="",e="";return n===E.AbsoluteRefType.ROW?r="$":n===E.AbsoluteRefType.COLUMN?e="$":n===E.AbsoluteRefType.ALL&&(r="$",e="$"),{rowAbsoluteString:r,columnAbsoluteString:e}}function Ne(n){const{startColumn:r,startRow:e,endColumn:t,endRow:s,startAbsoluteRefType:i,endAbsoluteRefType:a,rangeType:o=E.RANGE_TYPE.NORMAL}=n,u=jn(i),c=jn(a);if(o===E.RANGE_TYPE.ROW||o===E.RANGE_TYPE.ALL){const m=`${u.rowAbsoluteString}${e+1}`,R=`${c.rowAbsoluteString}${s+1}`;return`${m}:${R}`}if(o===E.RANGE_TYPE.COLUMN){const m=`${u.columnAbsoluteString}${E.Tools.chatAtABC(r)}`,R=`${c.columnAbsoluteString}${E.Tools.chatAtABC(t)}`;return`${m}:${R}`}const l=`${u.columnAbsoluteString}${E.Tools.chatAtABC(r)}${u.rowAbsoluteString}${e+1}`,d=`${c.columnAbsoluteString}${E.Tools.chatAtABC(t)}${c.rowAbsoluteString}${s+1}`;return l===d?l:`${l}:${d}`}function As(n,r){return Rr(n)?`'${n}'!${Ne(r)}`:`${n}!${Ne(r)}`}function Ls(n,r,e){return Rr(n)||Rr(r)?`'[${n}]${r}'!${Ne(e)}`:`[${n}]${r}!${Ne(e)}`}function Rt(n){const{unitId:r,sheetName:e,range:t}=n;return r!=null&&r.length>0&&e!=null&&e.length>0?Ls(r,e,t):e!=null&&e.length>0?As(e,t):Ne(t)}function zr(n){const r=Number.parseInt(n.replace(Ni,""))-1,e=E.Tools.ABCatNum(n.replace(Zi,"")),t=jt(n);return{row:r,column:e,absoluteRefType:t}}function xs(n){const r=new RegExp(tn).exec(n);let e="";r!=null&&(e=r[0].trim(),e=e.slice(1,e.length-1),n=n.replace(new RegExp(tn),""));const t=n.indexOf("!");let s="",i="";return t>-1?(s=n.substring(0,t),s[0]==="'"&&s[s.length-1]==="'"&&(s=s.substring(1,s.length-1)),i=n.substring(t+1)):i=n,{refBody:i,sheetName:s,unitId:e}}function Ye(n){const{refBody:r,sheetName:e,unitId:t}=xs(n),s=r.indexOf(":");if(s===-1){const D=zr(r),C=D.row,A=D.column,x=D.absoluteRefType;return{unitId:t,sheetName:e,range:{startRow:C,startColumn:A,endRow:C,endColumn:A,startAbsoluteRefType:x,endAbsoluteRefType:x}}}const i=r.substring(0,s),a=r.substring(s+1),o=zr(i),u=zr(a),c=o.row,l=o.column,d=u.row,m=u.column;let R=E.RANGE_TYPE.NORMAL;return Number.isNaN(c)&&Number.isNaN(d)?R=E.RANGE_TYPE.COLUMN:Number.isNaN(l)&&Number.isNaN(m)&&(R=E.RANGE_TYPE.ROW),{unitId:t,sheetName:e,range:{startRow:c,startColumn:l,endRow:d,endColumn:m,startAbsoluteRefType:o.absoluteRefType,endAbsoluteRefType:u.absoluteRefType,rangeType:R}}}function pr(n){if(!Ss(n))return!1;const{range:r}=Ye(n);return!(r.endColumn>=16384)}function ea(n,r){const e=(n==null?void 0:n.split(","))||[];return n===""||e.length===0?[]:ws(n)?e.map(i=>{const a=Ye(i);return{unitId:a.unitId,sheetId:r(a.sheetName),range:a.range,sheetName:a.sheetName}}):[]}function ws(n){return((n==null?void 0:n.split(","))||[]).every(e=>pr(e.trim()))}function Rr(n){return n.length===0?!1:!!(ms(n)||ta(n)||ra(n)||na(n)||/[\s!$%^&*()+\-=\[\]{};':"\\|,.<>\/?]/.test(n))}function ta(n){const r=n.match(/[1-9][0-9]{0,6}/);return/^[A-Z]+[1-9][0-9]{0,6}$/.test(n)&&r!==null}function ra(n){return/^(R(-?[0-9]+)?C(-?[0-9]+)?|C(-?[0-9]+)?|R(-?[0-9]+)?)$/.test(n)}function na(n){return!new RegExp("^\\p{Letter}","u").test(n.charAt(0))}const Ps=1e5,Hr=new Et(Ps),Wr=new Et(Ps);class Ur extends E.Disposable{constructor(){super(...arguments);b(this,"_currentLexerNode",new q);b(this,"_upLevel",0);b(this,"_segment","");b(this,"_bracketState",[]);b(this,"_squareBracketState",0);b(this,"_bracesState",0);b(this,"_singleQuotationState",0);b(this,"_doubleQuotationState",0);b(this,"_lambdaState",!1);b(this,"_colonState",!1);b(this,"_tableBracketState",!1)}dispose(){this._resetTemp(),this._currentLexerNode.dispose(),Hr.clear(),Wr.clear()}getUpLevel(){return this._upLevel}isColonClose(){return this._colonState===!1}isColonOpen(){return this._colonState===!0}isDoubleQuotationClose(){return this._doubleQuotationState===0}isLambdaOpen(){return this._lambdaState===!0}isLambdaClose(){return this._lambdaState===!1}isSingleQuotationClose(){return this._singleQuotationState===0}isBracesClose(){return this._bracesState===0}isBracketClose(){return this._bracketState.length===0}isSquareBracketClose(){return this._squareBracketState===0}getCurrentLexerNode(){return this._currentLexerNode}getFunctionAndParameter(e,t){const s=this._getCurrentParamIndex(e,t);if(s==null||s===f.VALUE)return;const i=s[0];if(typeof i=="string")return;let a=i.getParent(),o=i;for(;a;){const u=a.getToken();if(u!==Xe&&!Tt(u)&&a.getStartIndex()!==-1){const c=a.getChildren().indexOf(o);return{functionName:u,paramIndex:c}}o=a,a=a.getParent()}}checkIfAddBracket(e){let t=0,s=e.length-1,i=e[s];for(;(i===W.CLOSE_BRACKET||i===" ")&&s>=0;)i===W.CLOSE_BRACKET&&t++,i=e[--s];const a=this._getCurrentParamIndex(e,e.length-2);if(a==null||a===f.VALUE)return 0;const o=a[0];if(typeof o=="string")return 0;let u=o.getParent(),c=0;for(a[1]===W.OPEN_BRACKET&&c++;u;){const l=u.getToken();l!==Xe&&l!==W.COLON&&u.getStartIndex()!==-1&&l.toUpperCase()!==Yt&&(t===0?c+=1:t--),u=u.getParent()}return c}sequenceNodesBuilder(e){const t=Wr.get(e);if(t)return[...t];const s=this._getSequenceArray(e);if(s.length===0)return;const i=this.getSequenceNode(s);return Wr.set(e,[...i]),i}convertRefersToAbsolute(e,t,s){const i=this.sequenceNodesBuilder(e);if(i==null)return e;let a="";e.substring(0,1)===de.EQUALS&&(a=de.EQUALS);for(let o=0,u=i.length;o<u;o++){const c=i[o];if(typeof c!="string"&&c.nodeType===Le.REFERENCE){const{token:l,endIndex:d}=c,m=Ye(l);if(m==null)continue;const{range:R,sheetName:D,unitId:C}=m,A={...R,startAbsoluteRefType:t,endAbsoluteRefType:s},x=Rt({range:A,unitId:C,sheetName:D}),v=x.length-l.length;i[o]={...c,token:x,endIndex:d+v};for(let B=o+1;B<u;B++){const H=i[B];typeof H!="string"&&(H.startIndex+=v,H.endIndex+=v)}}}return`${a}${gr(i)}`}moveFormulaRefOffset(e,t,s,i=!1){const a=this.sequenceNodesBuilder(e);if(a==null)return e;const o=[];for(let u=0,c=a.length;u<c;u++){const l=a[u];if(typeof l=="string"||l.nodeType!==Le.REFERENCE){o.push(l);continue}const{token:d}=l,m=Ye(d),{sheetName:R,unitId:D}=m;let C=m.range;if(!i&&C.startAbsoluteRefType===E.AbsoluteRefType.ALL&&C.endAbsoluteRefType===E.AbsoluteRefType.ALL){o.push(l);continue}else C=E.moveRangeByOffset(C,t,s,i);let A="";E.isValidRange(C)?A=Rt({range:C,unitId:D,sheetName:R}):A=f.REF,o.push({...l,token:A})}return`=${gr(o)}`}getSequenceNode(e){const t=[];let s=!1;for(let i=0,a=e.length;i<a;i++){const o=e[i],u=e[i-1],{segment:c,currentString:l}=o;if(l===W.DOUBLE_QUOTATION&&(s=!0),(c!==""||i===0)&&i!==a-1){t.push(l);continue}let d=(u==null?void 0:u.segment)||"",m=i-d.length,R=i-1,D=i-1;if(i===a-1&&this._isLastMergeString(l)&&(d+=l,R+=1),d===""||ir.has(d)){t.push(l);continue}const C=d.trim(),A=this._replacePrefixString(C);if(s===!0&&C[C.length-1]===W.DOUBLE_QUOTATION)s=!1,this._processPushSequenceNode(t,Le.STRING,d,m,R,D);else if(new RegExp(Gt).test(A)&&pr(A)){if(A.length!==C.length){const x=C.length-A.length;D+=x,m+=x,d=this._replacePrefixString(d)}this._processPushSequenceNode(t,Le.REFERENCE,d,m,R,D)}else E.Tools.isStringNumber(C)?this._processPushSequenceNode(t,Le.NUMBER,d,m,R,D):C.length>0&&this._processPushSequenceNode(t,Le.FUNCTION,d,m,R,D);(i!==a-1||!this._isLastMergeString(l))&&t.push(l)}return this._mergeSequenceNodeReference(t)}_processPushSequenceNode(e,t,s,i,a,o){this._pushSequenceNode(e,{nodeType:t,token:s,startIndex:i,endIndex:a},o)}_getCurrentParamIndex(e,t){return this._nodeMaker(e,void 0,t)}_isLastMergeString(e){return e===W.DOUBLE_QUOTATION||E.Tools.isStringNumber(e)||!Tt(e)}_mergeSequenceNodeReference(e){const t=[],s=e.length;let i=0;for(;i<s;){const a=e[i];if(typeof a=="string"){const o=e[i-1];if(a.trim()===W.CLOSE_BRACES&&o!=null&&typeof o!="string"&&o.nodeType===Le.FUNCTION&&o.token.trim().substring(0,1)===W.OPEN_BRACES){o.nodeType=Le.ARRAY,o.token+=a,o.endIndex+=a.length,i++;continue}t.push(a)}else{const o=e[i+1],u=e[i+2];o===W.COLON&&typeof a!="string"&&u!=null&&typeof u!="string"&&pr((a.token+o+u.token).trim())&&(a.nodeType=Le.REFERENCE,a.token+=o+u.token,a.endIndex=u.endIndex,i+=2),t.push(a)}i++}return t}_pushSequenceNode(e,t,s){const i=s-t.startIndex+1;e.splice(e.length-i,i,t)}_replacePrefixString(e){const t=[];let s=!1;for(let i=0,a=e.length;i<a;i++){const o=e[i];if(o===Yi&&!s)t.push(o);else{if(!s&&(o===_e.AT||o===_e.MINUS))continue;t.push(o),s=!0}}return t.join("")}nodeMakerTest(e){return this._nodeMaker(e)}treeBuilder(e,t=!0,s,i){if(t===!0){const m=Hr.get(e),R=i==null?void 0:i(e);if(m&&!R)return m}this._resetCurrentLexerNode(),this._currentLexerNode.setToken(at);const a=[];let o=this._nodeMaker(e,a);if(o===f.VALUE||a.length===0)return o;let u=!1,c="",l=[];if(s){const{hasDefinedName:m,sequenceString:R,definedNames:D}=s(a);u=m,c=R,l=D}if(u&&(this._resetCurrentLexerNode(),this._currentLexerNode.setToken(at),o=this._nodeMaker(`=${c}`),o===f.VALUE))return o;const d=this._getTopNode(this._currentLexerNode);if(d&&(this._currentLexerNode=d),t){if(!this._suffixExpressionHandler(this._currentLexerNode))return f.VALUE;Hr.set(e,this._currentLexerNode)}return u&&this._currentLexerNode.setDefinedNames(l),this._currentLexerNode}_suffixExpressionHandler(e){var o;const t=e.getChildren();if(!t)return!1;const s=t.length,i=[],a=[];for(let u=0;u<s;u++){const c=t[u];if(c instanceof q)this._suffixExpressionHandler(c),i.push(c);else{const l=c.trim();if(l==="")continue;if(mt.has(l)){if(l===de.PLUS&&this._deletePlusForPreNode(t[u-1]))continue;if(l!==de.PLUS&&l!==de.MINUS&&this._deletePlusForPreNode(t[u-1]))return!1;for(;a.length>0;){const d=(o=a[a.length-1])==null?void 0:o.trim();if(!d||d===W.OPEN_BRACKET)break;const m=ir.get(d),R=ir.get(l);if(!m||!R)break;if(R>=m)i.push(a.pop());else break}a.push(c)}else if(l===W.OPEN_BRACKET)a.push(c);else if(l===W.CLOSE_BRACKET)this._processSuffixExpressionCloseBracket(i,a,t,u);else{if(this._checkCloseBracket(t[u-1]))return!1;i.push(c)}}}return this._processSuffixExpressionRemain(i,a,e)}_processSuffixExpressionRemain(e,t,s){const i=e.length,a=e[i-1];for(;t.length>0;){const o=t.pop();if(!(a instanceof q)&&(o===W.OPEN_BRACKET||o===W.CLOSE_BRACKET))return!1;e.push(o)}return s.setChildren(e),!0}_processSuffixExpressionCloseBracket(e,t,s,i){var a;if(this._checkOpenBracket(s[i-1])||this._checkOperator(s[i-1]))return!1;for(;t.length>0;){const o=(a=t[t.length-1])==null?void 0:a.trim();if(!o)break;if(o===W.OPEN_BRACKET){t.pop();break}e.push(t.pop())}}_checkCloseBracket(e){return e===W.CLOSE_BRACKET}_checkOpenBracket(e){return e===W.OPEN_BRACKET}_checkOperator(e){return e==null||e instanceof q?!1:mt.has(e)}_deletePlusForPreNode(e){if(e==null)return!0;if(!(e instanceof q)){const t=e.trim();if(mt.has(t)||t===W.OPEN_BRACKET)return!0}return!1}_resetCurrentLexerNode(){this._currentLexerNode=new q}_resetSegment(){this._segment=""}_openBracket(e=0){this._bracketState.push(e)}_closeBracket(){this._bracketState.pop()}_openSquareBracket(){this._squareBracketState+=1}_closeSquareBracket(){this._squareBracketState-=1}_getCurrentBracket(){const e=this._bracketState;return e[e.length-1]}_changeCurrentBracket(e){const t=this._bracketState;t[t.length-1]=e}_openBraces(){this._bracesState+=1}_closeBraces(){this._bracesState-=1}_openSingleQuotation(){this._singleQuotationState+=1}_closeSingleQuotation(){this._singleQuotationState-=1}_openDoubleQuotation(){this._doubleQuotationState+=1}_closeDoubleQuotation(){this._doubleQuotationState-=1}_openLambda(){this._lambdaState=!0}_closeLambda(){this._lambdaState=!1}_openColon(e){this._upLevel=e,this._colonState=!0}_closeColon(){this._upLevel=0,this._colonState=!1}_isTableBracket(){return this._tableBracketState}_openTableBracket(){this._tableBracketState=!0}_closeTableBracket(){this._tableBracketState=!1}_getLastChildCurrentLexerNode(){const e=this._currentLexerNode.getChildren();if(e&&e.length>0){const t=e[e.length-1];if(t instanceof q)return t}return!1}_getLastChildCurrent(){const e=this._currentLexerNode.getChildren();return e&&e.length>0?e[e.length-1]:!1}_setParentCurrentLexerNode(){const e=this._currentLexerNode.getParent();return e?(this._currentLexerNode=e,!0):!1}_setAncestorCurrentLexerNode(){var s,i,a,o,u,c;const e=(s=this._currentLexerNode)==null?void 0:s.getParent();let t=!1;if(e&&e.getToken()===xt){if((i=e==null?void 0:e.getParent())!=null&&i.getParent()){const l=(o=(a=this._currentLexerNode.getParent())==null?void 0:a.getParent())==null?void 0:o.getParent();l&&(this._currentLexerNode=l),t=!0}}else if(e!=null&&e.getParent()){const l=(u=this._currentLexerNode.getParent())==null?void 0:u.getParent();l&&(this._currentLexerNode=l),t=!0}for(let l=0;l<this._upLevel;l++){const d=(c=this._currentLexerNode)==null?void 0:c.getParent();d&&(this._currentLexerNode=d),this._currentLexerNode?t=!0:t=!1}return t}_segmentCount(){return this._segment.trim().length}_pushSegment(e){this._segment+=e}_pushNodeToChildren(e,t=!1){if(e!==""){const s=this._currentLexerNode.getChildren();if(!(e instanceof q)&&this.isColonOpen()){const i=new q;i.setToken(e),i.setParent(this._currentLexerNode),e=i}t?s.unshift(e):s.push(e)}this.isColonOpen()&&(this._setAncestorCurrentLexerNode(),this._closeColon())}_setCurrentLexerNode(e,t=!1){this._pushNodeToChildren(e,t),e.setParent(this._currentLexerNode),this._currentLexerNode=e}_newAndPushCurrentLexerNode(e,t,s=!1){const i=new q;i.setToken(e),i.setIndex(t-e.length,t-1),this._setCurrentLexerNode(i,s)}_getTopNode(e){let t=e;for(;t!=null&&t.getParent();)t=t.getParent();return t}_removeLastChild(){this._currentLexerNode.getChildren().splice(-1)}_findPreviousToken(e,t){for(;t>=0;){const s=e[t];if(s!==" ")return s;t--}}_negativeCondition(e){return!!(mt.has(e)||e===W.OPEN_BRACKET||e===W.COMMA||e==="")}_getSequenceArray(e){const t=[];return this._nodeMaker(e,t),t}_resetTemp(){this._currentLexerNode=new q,this._upLevel=0,this._segment="",this._bracketState=[],this._bracesState=0,this._singleQuotationState=0,this._doubleQuotationState=0,this._lambdaState=!1,this._colonState=!1}_checkSimilarErrorToken(e,t,s){if(e!==qe.POUND)return!0;let i=s[++t];for(;i===" ";)i=s[++t];return!!Tt(i)}_nodeMaker(e,t,s){e.substring(0,1)===de.EQUALS&&(e=e.substring(1));let i=!1;e.substring(0,1)===de.MINUS&&(e=`0${e}`,i=!0);const a=e.split(""),o=a.length;let u=0;for(this._resetTemp();u<o;){const c=a[u];if(s===u)return[this._currentLexerNode,c];if(c===W.OPEN_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())if(this._segmentCount()>0||this.isLambdaOpen()){this.isLambdaClose()&&(this._newAndPushCurrentLexerNode(this._segment,u),this._resetSegment()),this._openBracket(1),this._closeLambda();const l=a[u+1];if(l&&l===W.CLOSE_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==o-1)return f.VALUE;this._addSequenceArray(t,c,u,i),u++,this._addSequenceArray(t,l,u,i),u++,this._closeBracket();continue}else l&&this._newAndPushCurrentLexerNode(Xe,u)}else this._pushNodeToChildren(c),this._openBracket(0);else if(c===W.CLOSE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){this._pushNodeToChildren(this._segment),this._resetSegment();const l=this._getCurrentBracket();if(l===0)this._pushNodeToChildren(c);else if(l===1){const d=a[u+1];if(d&&d===W.OPEN_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==o-1)return f.VALUE;this._newAndPushCurrentLexerNode(xt,u,!0),this._openLambda()}else if(!this._setAncestorCurrentLexerNode()&&u!==o-1)return f.VALUE}else return f.VALUE;this._closeBracket()}else if(c===W.OPEN_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(c),this._openBraces();else if(c===W.CLOSE_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(c),this._pushNodeToChildren(this._segment),this._resetSegment(),this._closeBraces();else if(c===W.OPEN_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._segment.length>0&&this._openTableBracket(),this._pushSegment(c),this._openSquareBracket();else if(c===W.CLOSE_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._closeSquareBracket(),this.isSquareBracketClose()?(this._pushSegment(c),this._isTableBracket()&&(this._pushNodeToChildren(this._segment),this._resetSegment()),this._closeTableBracket()):this._pushSegment(c);else if(c===W.DOUBLE_QUOTATION&&this.isSingleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){if(this.isDoubleQuotationClose())this._openDoubleQuotation();else{const l=a[u+1];l&&l===W.DOUBLE_QUOTATION?u++:this._closeDoubleQuotation()}this._pushSegment(c)}else if(c===W.SINGLE_QUOTATION&&this.isDoubleQuotationClose()){if(this.isSingleQuotationClose())this._openSingleQuotation();else{const l=a[u+1];l&&l===W.SINGLE_QUOTATION?u++:this._closeSingleQuotation()}this._pushSegment(c)}else if(c===W.COMMA&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const l=this._getCurrentBracket();if(l===1||l==null){if(this._pushNodeToChildren(this._segment),this._resetSegment(),!this._setParentCurrentLexerNode()&&u!==o-1&&l!=null)return f.VALUE;this._newAndPushCurrentLexerNode(Xe,u)}else{const d=new q;d.setToken(Gi);const m=new q;m.setToken(Xe),m.changeToParent(d);const R=this._currentLexerNode.getParent();if(R&&R.getToken()===W.COLON){const D=R.getParent();if(!D)return f.VALUE;R.changeToParent(m),D.setChildren([]),d.changeToParent(D)}else return f.VALUE;this._changeCurrentBracket(1),this._pushNodeToChildren(this._segment),this._resetSegment(),this._currentLexerNode=d,this._newAndPushCurrentLexerNode(Xe,u)}}else if(c===W.COLON&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const l=new q;l.setToken(c);const d=new q;d.setToken(Xe),d.setParent(l);const m=new q;m.setToken(Xe),m.setParent(l),l.getChildren().push(d,m);let R=l,D=0;if(this._segmentCount()>0){let C,A,x=0;const v=this._segment.trim(),B=v[0],H=v[1];if(B===_e.MINUS&&(C=new q,C.setToken(_e.MINUS),x++),(B===_e.AT||H===_e.AT)&&(A=new q,A.setToken(_e.AT),C&&(C.addChildren(A),A.setParent(C)),x++),x>0&&(this._segment=v.slice(x)),D=x,A)if(A.addChildren(l),l.setParent(A),A.getParent()){const me=A.getParent();me&&(R=me)}else R=A;else C&&(R=C,C.addChildren(l),l.setParent(C));const oe=new q;oe.setToken(this._segment),oe.setParent(d),d.getChildren().push(oe),this._resetSegment()}else{const C=this._getLastChildCurrentLexerNode();C&&C.changeToParent(d)}this._setCurrentLexerNode(R),this._currentLexerNode=m,this._openColon(D)}else if(Ii.has(c)&&this._checkSimilarErrorToken(c,u,a)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()){this._pushNodeToChildren(this._segment);const l=new q;l.setToken(c);const d=this._getLastChildCurrent();d instanceof q?d.changeToParent(l):d!==!1&&(l.getChildren().push(d),this._removeLastChild()),this._pushNodeToChildren(l),l.setParent(this._currentLexerNode),this._resetSegment()}else if(mt.has(c)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()){let l=this._segment.trim();if(c===de.MINUS&&l===""){const d=this._findPreviousToken(a,u-1)||"";if(this._negativeCondition(d)){this._pushSegment(de.MINUS),this._addSequenceArray(t,c,u,i),u++;continue}}else if(this._segment.length>0&&this._isScientificNotation(a,u,c)){this._pushSegment(c),this._addSequenceArray(t,c,u,i),u++;continue}else this._segment.length>0&&l===""?l=this._segment:(this._pushNodeToChildren(this._segment),l="");if(c===de.LESS_THAN||c===de.GREATER_THAN){const d=a[u+1];d&&mt.has(c+d)?(this._pushNodeToChildren(l+c+d),u++):this._pushNodeToChildren(l+c)}else this._pushNodeToChildren(l+c);this._resetSegment()}else this._pushSegment(c);this._addSequenceArray(t,c,u,i),u++}this._pushNodeToChildren(this._segment)}_isScientificNotation(e,t,s){const i=e[t-2];if(i&&Number.isNaN(Number(i))||!(s===de.MINUS||s===de.PLUS))return!1;const a=e[t+1];if(a&&Number.isNaN(Number(a)))return!1;const o=e[t-1];return o&&o.toUpperCase()==="E"}_addSequenceArray(e,t,s,i){i&&s===0||e==null||e.push({segment:this._segment,currentString:t,cur:s,currentLexerNode:this._currentLexerNode})}}class Mr extends E.Disposable{constructor(){super(...arguments);b(this,"pattern","")}getPattern(){return this.pattern}setPattern(e){this.pattern=e}isError(){return!1}isAsyncObject(){return!1}isAsyncArrayObject(){return!1}isReferenceObject(){return!1}isArray(){return!1}isValueObject(){return!1}isEqualType(e){return!1}}var ut=(n=>(n.FALSE="FALSE",n.TRUE="TRUE",n))(ut||{}),pt=(n=>(n[n.SUCCESS=0]="SUCCESS",n[n.ERROR=1]="ERROR",n))(pt||{}),gt=(n=>(n.ALL="#All",n.DATA="#Data",n.HEADERS="#Headers",n.TOTALS="#Totals",n))(gt||{}),ke=(n=>(n[n.FRONT=0]="FRONT",n[n.BACK=1]="BACK",n))(ke||{});class sa{constructor(){b(this,"_cache",new Map);b(this,"_continueBuildingCache",new Map)}set(r,e,t,s,i){if(!this.shouldContinueBuildingCache(r,e,t,i))return;let a=this._cache.get(r);a==null&&(a=new Map,this._cache.set(r,a));let o=a.get(e);o==null&&(o=new Map,a.set(e,o));let u=o.get(t);u==null&&(u=new Map,o.set(t,u));let c=u.get(s);c==null&&(c=new Set,u.set(s,c)),c.add(i)}getCellValuePositions(r,e,t){var s,i;return(i=(s=this._cache.get(r))==null?void 0:s.get(e))==null?void 0:i.get(t)}getCellPositions(r,e,t,s){var i,a,o;return(o=(a=(i=this._cache.get(r))==null?void 0:i.get(e))==null?void 0:a.get(t))==null?void 0:o.get(s)}getCellPosition(r,e,t,s,i,a){const o=this.getCellPositions(r,e,t,s);if(o!=null){for(const u of o)if(u>=i&&u<=a)return u}}setContinueBuildingCache(r,e,t,s,i){let a=this._continueBuildingCache.get(r);a==null&&(a=new Map,this._continueBuildingCache.set(r,a));let o=a.get(e);o==null&&(o=new Map,a.set(e,o));let u=o.get(t);if(u==null){u={startRow:s,endRow:i},o.set(t,u);return}u.startRow=Math.min(u.startRow,s),u.endRow=Math.max(u.endRow,i)}shouldContinueBuildingCache(r,e,t,s){var u,c;const i=(c=(u=this._continueBuildingCache.get(r))==null?void 0:u.get(e))==null?void 0:c.get(t);if(i==null)return!0;const{startRow:a,endRow:o}=i;return!(s>=a&&s<=o)}canUseCache(r,e,t,s,i){var c,l;if(t===-1||s===-1||i===-1)return!1;const a=(l=(c=this._continueBuildingCache.get(r))==null?void 0:c.get(e))==null?void 0:l.get(t);if(a==null)return!1;const{startRow:o,endRow:u}=a;return!(s>u||i<o)}clear(){this._cache.clear(),this._continueBuildingCache.clear()}}const rt=new sa;var Ke=(n=>(n[n.MIN=0]="MIN",n[n.MAX=1]="MAX",n))(Ke||{}),xe=(n=>(n[n.NORMAL=0]="NORMAL",n[n.MIN=1]="MIN",n[n.MAX=2]="MAX",n))(xe||{});function $n(){return Intl&&Intl.Collator?new Intl.Collator(void 0,{numeric:!1}).compare:(n,r)=>n.localeCompare(r)}function ia(n){return n.indexOf("*")>-1||n.indexOf("?")>-1}function In(n,r){const e=oa(r).replace(/~?[*?]/g,s=>s.startsWith("~")?`\\${s.substring(1)}`:s==="*"?".*":s==="?"?".":s);return new RegExp(`^${e}$`).test(n)}function Yn(n){return n.replace(/~?[*?]/g,r=>r.startsWith("~")?r.substring(1):" ")}function aa(n,r,e){let t=!1;switch(e){case U.EQUALS:t=In(n,r);break;case U.GREATER_THAN:case U.GREATER_THAN_OR_EQUAL:t=In(n,r)||n>Yn(r);break;case U.LESS_THAN:case U.LESS_THAN_OR_EQUAL:t=n<Yn(r);break}return t}function oa(n){return n.replace(/[.+^${}()|[\]\\]/g,"\\$&")}class Ze extends Mr{constructor(r){super(),this._rawValue=r}isValueObject(){return!0}toUnitRange(){return{range:{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1},sheetId:"",unitId:""}}getValue(){return 0}getArrayValue(){return[]}setValue(r){}setArrayValue(r){}isCube(){return!1}isString(){return!1}isNumber(){return!1}isBoolean(){return!1}isLambda(){return!1}isError(){return!1}isNull(){return!1}sum(){return h.create(f.VALUE)}max(){return h.create(f.VALUE)}min(){return h.create(f.VALUE)}count(){return h.create(f.VALUE)}countA(){return h.create(f.VALUE)}countBlank(){return h.create(f.VALUE)}getNegative(){return h.create(f.VALUE)}getReciprocal(){return h.create(f.VALUE)}plus(r){return h.create(f.VALUE)}minus(r){return h.create(f.VALUE)}multiply(r){return h.create(f.VALUE)}divided(r){return h.create(f.VALUE)}mod(r){return h.create(f.VALUE)}map(r){return h.create(f.NAME)}mapValue(r){return h.create(f.NAME)}compare(r,e){return h.create(f.NAME)}isEqual(r){return this.compare(r,U.EQUALS)}isNotEqual(r){return this.compare(r,U.NOT_EQUAL)}isGreaterThanOrEqual(r){return this.compare(r,U.GREATER_THAN_OR_EQUAL)}isLessThanOrEqual(r){return this.compare(r,U.LESS_THAN_OR_EQUAL)}isLessThan(r){return this.compare(r,U.LESS_THAN)}isGreaterThan(r){return this.compare(r,U.GREATER_THAN)}concatenateFront(r){return h.create(f.NAME)}concatenateBack(r){return h.create(f.NAME)}plusBy(r){return h.create(f.VALUE)}minusBy(r){return h.create(f.VALUE)}multiplyBy(r){return h.create(f.VALUE)}dividedBy(r){return h.create(f.VALUE)}modInverse(r){return h.create(f.VALUE)}compareBy(r,e){return h.create(f.NAME)}concatenate(r,e=ke.FRONT){let t=this.getValue().toString();if(typeof r=="string")e===ke.FRONT?t=r+t:t+=r;else if(typeof r=="number")e===ke.FRONT?t=r.toString()+t:t+=r.toString();else if(typeof r=="boolean"){const s=r?"TRUE":"FALSE";e===ke.FRONT?t=s+t:t+=s}return t}pow(r){return h.create(f.VALUE)}powInverse(r){return h.create(f.VALUE)}sqrt(){return h.create(f.VALUE)}cbrt(){return h.create(f.VALUE)}cos(){return h.create(f.VALUE)}acos(){return h.create(f.VALUE)}acosh(){return h.create(f.VALUE)}sin(){return h.create(f.VALUE)}asin(){return h.create(f.VALUE)}asinh(){return h.create(f.VALUE)}tan(){return h.create(f.VALUE)}tanh(){return h.create(f.VALUE)}atan(){return h.create(f.VALUE)}atan2(r){return h.create(f.VALUE)}atan2Inverse(r){return h.create(f.VALUE)}atanh(){return h.create(f.VALUE)}mean(){return this}median(){return this}var(){return this}std(){return this}log(){return h.create(f.VALUE)}log10(){return h.create(f.VALUE)}exp(){return h.create(f.VALUE)}abs(){return h.create(f.VALUE)}round(r){return h.create(f.VALUE)}roundInverse(r){return h.create(f.VALUE)}floor(r){return h.create(f.VALUE)}floorInverse(r){return h.create(f.VALUE)}ceil(r){return h.create(f.VALUE)}ceilInverse(r){return h.create(f.VALUE)}convertToNumberObjectValue(){return h.create(f.VALUE)}convertToBooleanObjectValue(){return h.create(f.VALUE)}}const ua=1e3,Qn=new Et(ua);class h extends Ze{constructor(r,e=""){super(r),this._errorType=r,this._errorContent=e}static create(r,e=""){const t=`${r}-${e}`,s=Qn.get(t);if(s)return s;const i=new h(r,e);return Qn.set(t,i),i}getValue(){return this._errorType}getErrorType(){return this._errorType}getErrorContent(){return this._errorContent}isEqualType(r){return r.getErrorType()===this.getErrorType()}isError(){return!0}}var ca=20,la=1,_t=1e6,zn=1e6,fa=-7,ha=21,da=!1,Xt="[big.js] ",yt=Xt+"Invalid ",Br=yt+"decimal places",ma=yt+"rounding mode",Vs=Xt+"Division by zero",fe={},Ie=void 0,ga=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function vs(){function n(r){var e=this;if(!(e instanceof n))return r===Ie?vs():new n(r);if(r instanceof n)e.s=r.s,e.e=r.e,e.c=r.c.slice();else{if(typeof r!="string"){if(n.strict===!0&&typeof r!="bigint")throw TypeError(yt+"value");r=r===0&&1/r<0?"-0":String(r)}pa(e,r)}e.constructor=n}return n.prototype=fe,n.DP=ca,n.RM=la,n.NE=fa,n.PE=ha,n.strict=da,n.roundDown=0,n.roundHalfUp=1,n.roundHalfEven=2,n.roundUp=3,n}function pa(n,r){var e,t,s;if(!ga.test(r))throw Error(yt+"number");for(n.s=r.charAt(0)=="-"?(r=r.slice(1),-1):1,(e=r.indexOf("."))>-1&&(r=r.replace(".","")),(t=r.search(/e/i))>0?(e<0&&(e=t),e+=+r.slice(t+1),r=r.substring(0,t)):e<0&&(e=r.length),s=r.length,t=0;t<s&&r.charAt(t)=="0";)++t;if(t==s)n.c=[n.e=0];else{for(;s>0&&r.charAt(--s)=="0";);for(n.e=e-t-1,n.c=[],e=0;t<=s;)n.c[e++]=+r.charAt(t++)}return n}function Ct(n,r,e,t){var s=n.c;if(e===Ie&&(e=n.constructor.RM),e!==0&&e!==1&&e!==2&&e!==3)throw Error(ma);if(r<1)t=e===3&&(t||!!s[0])||r===0&&(e===1&&s[0]>=5||e===2&&(s[0]>5||s[0]===5&&(t||s[1]!==Ie))),s.length=1,t?(n.e=n.e-r+1,s[0]=1):s[0]=n.e=0;else if(r<s.length){if(t=e===1&&s[r]>=5||e===2&&(s[r]>5||s[r]===5&&(t||s[r+1]!==Ie||s[r-1]&1))||e===3&&(t||!!s[0]),s.length=r,t){for(;++s[--r]>9;)if(s[r]=0,r===0){++n.e,s.unshift(1);break}}for(r=s.length;!s[--r];)s.pop()}return n}function Ot(n,r,e){var t=n.e,s=n.c.join(""),i=s.length;if(r)s=s.charAt(0)+(i>1?"."+s.slice(1):"")+(t<0?"e":"e+")+t;else if(t<0){for(;++t;)s="0"+s;s="0."+s}else if(t>0)if(++t>i)for(t-=i;t--;)s+="0";else t<i&&(s=s.slice(0,t)+"."+s.slice(t));else i>1&&(s=s.charAt(0)+"."+s.slice(1));return n.s<0&&e?"-"+s:s}fe.abs=function(){var n=new this.constructor(this);return n.s=1,n};fe.cmp=function(n){var r,e=this,t=e.c,s=(n=new e.constructor(n)).c,i=e.s,a=n.s,o=e.e,u=n.e;if(!t[0]||!s[0])return t[0]?i:s[0]?-a:0;if(i!=a)return i;if(r=i<0,o!=u)return o>u^r?1:-1;for(a=(o=t.length)<(u=s.length)?o:u,i=-1;++i<a;)if(t[i]!=s[i])return t[i]>s[i]^r?1:-1;return o==u?0:o>u^r?1:-1};fe.div=function(n){var r=this,e=r.constructor,t=r.c,s=(n=new e(n)).c,i=r.s==n.s?1:-1,a=e.DP;if(a!==~~a||a<0||a>_t)throw Error(Br);if(!s[0])throw Error(Vs);if(!t[0])return n.s=i,n.c=[n.e=0],n;var o,u,c,l,d,m=s.slice(),R=o=s.length,D=t.length,C=t.slice(0,o),A=C.length,x=n,v=x.c=[],B=0,H=a+(x.e=r.e-n.e)+1;for(x.s=i,i=H<0?0:H,m.unshift(0);A++<o;)C.push(0);do{for(c=0;c<10;c++){if(o!=(A=C.length))l=o>A?1:-1;else for(d=-1,l=0;++d<o;)if(s[d]!=C[d]){l=s[d]>C[d]?1:-1;break}if(l<0){for(u=A==o?s:m;A;){if(C[--A]<u[A]){for(d=A;d&&!C[--d];)C[d]=9;--C[d],C[A]+=10}C[A]-=u[A]}for(;!C[0];)C.shift()}else break}v[B++]=l?c:++c,C[0]&&l?C[A]=t[R]||0:C=[t[R]]}while((R++<D||C[0]!==Ie)&&i--);return!v[0]&&B!=1&&(v.shift(),x.e--,H--),B>H&&Ct(x,H,e.RM,C[0]!==Ie),x};fe.eq=function(n){return this.cmp(n)===0};fe.gt=function(n){return this.cmp(n)>0};fe.gte=function(n){return this.cmp(n)>-1};fe.lt=function(n){return this.cmp(n)<0};fe.lte=function(n){return this.cmp(n)<1};fe.minus=fe.sub=function(n){var r,e,t,s,i=this,a=i.constructor,o=i.s,u=(n=new a(n)).s;if(o!=u)return n.s=-u,i.plus(n);var c=i.c.slice(),l=i.e,d=n.c,m=n.e;if(!c[0]||!d[0])return d[0]?n.s=-u:c[0]?n=new a(i):n.s=1,n;if(o=l-m){for((s=o<0)?(o=-o,t=c):(m=l,t=d),t.reverse(),u=o;u--;)t.push(0);t.reverse()}else for(e=((s=c.length<d.length)?c:d).length,o=u=0;u<e;u++)if(c[u]!=d[u]){s=c[u]<d[u];break}if(s&&(t=c,c=d,d=t,n.s=-n.s),(u=(e=d.length)-(r=c.length))>0)for(;u--;)c[r++]=0;for(u=r;e>o;){if(c[--e]<d[e]){for(r=e;r&&!c[--r];)c[r]=9;--c[r],c[e]+=10}c[e]-=d[e]}for(;c[--u]===0;)c.pop();for(;c[0]===0;)c.shift(),--m;return c[0]||(n.s=1,c=[m=0]),n.c=c,n.e=m,n};fe.mod=function(n){var r,e=this,t=e.constructor,s=e.s,i=(n=new t(n)).s;if(!n.c[0])throw Error(Vs);return e.s=n.s=1,r=n.cmp(e)==1,e.s=s,n.s=i,r?new t(e):(s=t.DP,i=t.RM,t.DP=t.RM=0,e=e.div(n),t.DP=s,t.RM=i,this.minus(e.times(n)))};fe.neg=function(){var n=new this.constructor(this);return n.s=-n.s,n};fe.plus=fe.add=function(n){var r,e,t,s=this,i=s.constructor;if(n=new i(n),s.s!=n.s)return n.s=-n.s,s.minus(n);var a=s.e,o=s.c,u=n.e,c=n.c;if(!o[0]||!c[0])return c[0]||(o[0]?n=new i(s):n.s=s.s),n;if(o=o.slice(),r=a-u){for(r>0?(u=a,t=c):(r=-r,t=o),t.reverse();r--;)t.push(0);t.reverse()}for(o.length-c.length<0&&(t=c,c=o,o=t),r=c.length,e=0;r;o[r]%=10)e=(o[--r]=o[r]+c[r]+e)/10|0;for(e&&(o.unshift(e),++u),r=o.length;o[--r]===0;)o.pop();return n.c=o,n.e=u,n};fe.pow=function(n){var r=this,e=new r.constructor("1"),t=e,s=n<0;if(n!==~~n||n<-zn||n>zn)throw Error(yt+"exponent");for(s&&(n=-n);n&1&&(t=t.times(r)),n>>=1,!!n;)r=r.times(r);return s?e.div(t):t};fe.prec=function(n,r){if(n!==~~n||n<1||n>_t)throw Error(yt+"precision");return Ct(new this.constructor(this),n,r)};fe.round=function(n,r){if(n===Ie)n=0;else if(n!==~~n||n<-_t||n>_t)throw Error(Br);return Ct(new this.constructor(this),n+this.e+1,r)};fe.sqrt=function(){var n,r,e,t=this,s=t.constructor,i=t.s,a=t.e,o=new s("0.5");if(!t.c[0])return new s(t);if(i<0)throw Error(Xt+"No square root");i=Math.sqrt(t+""),i===0||i===1/0?(r=t.c.join(""),r.length+a&1||(r+="0"),i=Math.sqrt(r),a=((a+1)/2|0)-(a<0||a&1),n=new s((i==1/0?"5e":(i=i.toExponential()).slice(0,i.indexOf("e")+1))+a)):n=new s(i+""),a=n.e+(s.DP+=4);do e=n,n=o.times(e.plus(t.div(e)));while(e.c.slice(0,a).join("")!==n.c.slice(0,a).join(""));return Ct(n,(s.DP-=4)+n.e+1,s.RM)};fe.times=fe.mul=function(n){var r,e=this,t=e.constructor,s=e.c,i=(n=new t(n)).c,a=s.length,o=i.length,u=e.e,c=n.e;if(n.s=e.s==n.s?1:-1,!s[0]||!i[0])return n.c=[n.e=0],n;for(n.e=u+c,a<o&&(r=s,s=i,i=r,c=a,a=o,o=c),r=new Array(c=a+o);c--;)r[c]=0;for(u=o;u--;){for(o=0,c=a+u;c>u;)o=r[c]+i[u]*s[c-u-1]+o,r[c--]=o%10,o=o/10|0;r[c]=o}for(o?++n.e:r.shift(),u=r.length;!r[--u];)r.pop();return n.c=r,n};fe.toExponential=function(n,r){var e=this,t=e.c[0];if(n!==Ie){if(n!==~~n||n<0||n>_t)throw Error(Br);for(e=Ct(new e.constructor(e),++n,r);e.c.length<n;)e.c.push(0)}return Ot(e,!0,!!t)};fe.toFixed=function(n,r){var e=this,t=e.c[0];if(n!==Ie){if(n!==~~n||n<0||n>_t)throw Error(Br);for(e=Ct(new e.constructor(e),n+e.e+1,r),n=n+e.e+1;e.c.length<n;)e.c.push(0)}return Ot(e,!1,!!t)};fe[Symbol.for("nodejs.util.inspect.custom")]=fe.toJSON=fe.toString=function(){var n=this,r=n.constructor;return Ot(n,n.e<=r.NE||n.e>=r.PE,!!n.c[0])};fe.toNumber=function(){var n=Number(Ot(this,!0,!0));if(this.constructor.strict===!0&&!this.eq(n.toString()))throw Error(Xt+"Imprecise conversion");return n};fe.toPrecision=function(n,r){var e=this,t=e.constructor,s=e.c[0];if(n!==Ie){if(n!==~~n||n<1||n>_t)throw Error(yt+"precision");for(e=Ct(new t(e),n,r);e.c.length<n;)e.c.push(0)}return Ot(e,n<=e.e||e.e<=t.NE||e.e>=t.PE,!!s)};fe.valueOf=function(){var n=this,r=n.constructor;if(r.strict===!0)throw Error(Xt+"valueOf disallowed");return Ot(n,n.e<=r.NE||n.e>=r.PE,!0)};var ye=vs();function Os(n){let r;switch(n){case U.EQUALS:r=U.EQUALS;break;case U.GREATER_THAN:r=U.LESS_THAN;break;case U.GREATER_THAN_OR_EQUAL:r=U.LESS_THAN_OR_EQUAL;break;case U.LESS_THAN:r=U.GREATER_THAN;break;case U.LESS_THAN_OR_EQUAL:r=U.GREATER_THAN_OR_EQUAL;break;case U.NOT_EQUAL:r=U.NOT_EQUAL;break}return r}function dn(n,r){return ye(n).times(r).toNumber()}function Hn(n,r){const e=10**Math.floor(r);return Math.round(dn(n,e))/e}function Wn(n,r){const e=10**Math.floor(r);return Math.floor(dn(n,e))/e}function Gn(n,r){const e=10**Math.floor(r);return Math.ceil(dn(n,e))/e}function Xn(n,r){const e=new ye(n),t=new ye(r),s=Math.floor(n/r);return e.minus(t.times(s)).toNumber()}function Kn(n,r){return n**r}const Lr=class Lr extends Ze{static create(){return this._instance=this._instance||new Lr(0),this._instance}isNull(){return!0}plus(r){return S.create(0).plus(r)}minus(r){return S.create(0).minus(r)}multiply(r){return S.create(0).multiply(r)}divided(r){return S.create(0).divided(r)}mod(r){return S.create(0).mod(r)}compare(r,e){return r.isString()?Re.create("").compare(r,e):r.isBoolean()?I.create(!1).compare(r,e):S.create(0).compare(r,e)}concatenateFront(r){return r.isArray()?r.concatenateBack(Re.create("")):Re.create(this.concatenate(r.getValue(),ke.FRONT))}concatenateBack(r){return r.isArray()?r.concatenateFront(Re.create("")):Re.create(this.concatenate(r.getValue(),ke.BACK))}plusBy(r){return S.create(0).plusBy(r)}minusBy(r){return S.create(0).minusBy(r)}multiplyBy(r){return S.create(0).multiplyBy(r)}dividedBy(r){return S.create(0).dividedBy(r)}compareBy(r,e){return typeof r=="string"?Re.create("").compareBy(r,e):typeof r=="boolean"?I.create(!1).compareBy(r,e):S.create(0).compareBy(r,e)}pow(r){return S.create(0).pow(r)}sqrt(){return S.create(0).sqrt()}cbrt(){return S.create(0).cbrt()}cos(){return S.create(0).cos()}acos(){return S.create(0).acos()}acosh(){return S.create(0).acosh()}sin(){return S.create(0).sin()}asin(){return S.create(0).asin()}asinh(){return S.create(0).asinh()}tan(){return S.create(0).tan()}tanh(){return S.create(0).tanh()}atan(){return S.create(0).atan()}atan2(r){return S.create(0).atan2(r)}atanh(){return S.create(0).atanh()}log(){return h.create(f.NUM)}log10(){return h.create(f.NUM)}exp(){return S.create(0).exp()}abs(){return S.create(0).abs()}round(r){return S.create(0).round(r)}floor(r){return S.create(0).floor(r)}ceil(r){return S.create(0).ceil(r)}convertToNumberObjectValue(){return S.create(0)}convertToBooleanObjectValue(){return I.create(!1)}};b(Lr,"_instance");let ce=Lr;const At=class At extends Ze{constructor(e){super(e);b(this,"_value",!1);this._value=e}static create(e){return e?(this._instanceTrue=this._instanceTrue||new At(!0),this._instanceTrue):(this._instanceFalse=this._instanceFalse||new At(!1),this._instanceFalse)}getValue(){return this._value}isBoolean(){return!0}getNegative(){const e=this.getValue();let t=0;return e&&(t=1),S.create(-t)}getReciprocal(){return this.getValue()?S.create(1):h.create(f.DIV_BY_ZERO)}plus(e){return this._convertTonNumber().plus(e)}minus(e){return this._convertTonNumber().minus(e)}multiply(e){return this._convertTonNumber().multiply(e)}divided(e){return this._convertTonNumber().divided(e)}mod(e){return this._convertTonNumber().mod(e)}compare(e,t){return this._convertTonNumber().compare(e,t)}concatenateFront(e){return this._convertTonNumber().concatenateFront(e)}concatenateBack(e){return this._convertTonNumber().concatenateBack(e)}_convertTonNumber(){const e=this.getValue();let t=0;return e&&(t=1),S.create(t)}pow(e){return this._convertTonNumber().pow(e)}sqrt(){return this._convertTonNumber().sqrt()}cbrt(){return this._convertTonNumber().cbrt()}cos(){return this._convertTonNumber().cos()}acos(){return this._convertTonNumber().acos()}acosh(){return this._convertTonNumber().acosh()}sin(){return this._convertTonNumber().sin()}asin(){return this._convertTonNumber().asin()}asinh(){return this._convertTonNumber().asinh()}tan(){return this._convertTonNumber().tan()}tanh(){return this._convertTonNumber().tanh()}atan(){return this._convertTonNumber().atan()}atan2(e){return this._convertTonNumber().atan2(e)}atanh(){return this._convertTonNumber().atanh()}log(){return this._convertTonNumber().log()}log10(){return this._convertTonNumber().log10()}exp(){return this._convertTonNumber().exp()}abs(){return this._convertTonNumber().abs()}round(e){return this._convertTonNumber().round(e)}floor(e){return this._convertTonNumber().floor(e)}ceil(e){return this._convertTonNumber().ceil(e)}convertToNumberObjectValue(){return Tr(this.getValue())}convertToBooleanObjectValue(){return this}};b(At,"_instanceTrue"),b(At,"_instanceFalse");let I=At;const Ra=2e5,qn=new Et(Ra);class S extends Ze{constructor(e){super(e);b(this,"_value",0);this._value=Number(e)}static create(e){const t=`${e}`,s=qn.get(t);if(s)return s.setPattern(""),s;const i=new S(e);return qn.set(t,i),i}getValue(){return this._value}setValue(e){this._value=e}isNumber(){return!0}getNegative(){return S.create(0).minus(this)}getReciprocal(){return S.create(1).divided(this)}plus(e){if(e.isArray())return e.plus(this);const t=this.plusBy(e.getValue());return t.isError()||t.setPattern(this.getPattern()||e.getPattern()),t}equalZero(){return this._value===0}minus(e){if(e.isArray()){const s=e.getNegative();return s.isError()?s:s.plus(this)}const t=this.minusBy(e.getValue());return t.isError()||t.setPattern(this.getPattern()||e.getPattern()),t}multiply(e){if(e.isArray())return e.multiply(this);const t=this.multiplyBy(e.getValue());return t.isError()||t.setPattern(this.getPattern()||e.getPattern()),t}divided(e){if(e.isArray()){const s=e.getReciprocal();return s.isError()?s:s.multiply(this)}const t=this.dividedBy(e.getValue());return t.isError()||t.setPattern(this.getPattern()||e.getPattern()),t}mod(e){if(e.isArray())return e.modInverse(this);const t=this.getValue(),s=e.getValue();if(e.isNull())return h.create(f.DIV_BY_ZERO);if(typeof s=="string")return h.create(f.VALUE);if(typeof s=="number"){if(s===0)return h.create(f.DIV_BY_ZERO);if(!Number.isFinite(t)||!Number.isFinite(s))return h.create(f.NUM);const i=Xn(t,s);return Number.isFinite(i)?S.create(i):h.create(f.NUM)}if(typeof s=="boolean"){const i=s?1:0;return i===0?h.create(f.DIV_BY_ZERO):S.create(Xn(t,i))}return this}concatenateFront(e){return e.isArray()?e.concatenateBack(this):Re.create(this.concatenate(e.getValue(),ke.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):Re.create(this.concatenate(e.getValue(),ke.BACK))}compare(e,t){return e.isArray()?e.compare(this,Os(t)):this.compareBy(e.getValue(),t)}plusBy(e){const t=this.getValue();if(typeof e=="string")return Vt.has(e)?h.create(e):h.create(f.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const s=ye(t).plus(e).toNumber();return Number.isFinite(s)?S.create(s):h.create(f.NUM)}return typeof e=="boolean"?S.create(ye(t).plus(e?1:0).toNumber()):this}minusBy(e){const t=this.getValue();if(typeof e=="string")return h.create(f.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const s=ye(t).minus(e).toNumber();return Number.isFinite(s)?S.create(s):h.create(f.NUM)}return typeof e=="boolean"?S.create(ye(t).minus(e?1:0).toNumber()):this}multiplyBy(e){const t=this.getValue();if(typeof e=="string")return h.create(f.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const s=ye(t).times(e).toNumber();return Number.isFinite(s)?S.create(s):h.create(f.NUM)}return typeof e=="boolean"?S.create(ye(t).times(e?1:0).toNumber()):this}dividedBy(e){const t=this.getValue();if(typeof e=="string")return h.create(f.VALUE);if(typeof e=="number"){if(e===0)return h.create(f.DIV_BY_ZERO);if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const s=ye(t).div(e).toNumber();return Number.isFinite(s)?S.create(s):h.create(f.NUM)}return typeof e=="boolean"?e===!1?h.create(f.DIV_BY_ZERO):S.create(ye(t).div(1).toNumber()):this}compareBy(e,t){const s=this.getValue();let i=!1;if(typeof e=="string")switch(t){case U.EQUALS:case U.GREATER_THAN:case U.GREATER_THAN_OR_EQUAL:i=!1;break;case U.LESS_THAN:case U.LESS_THAN_OR_EQUAL:case U.NOT_EQUAL:i=!0;break}else if(typeof e=="number")if(!Number.isFinite(s)||!Number.isFinite(e))i=this._compareInfinity(s,e,t);else switch(t){case U.EQUALS:i=ye(s).eq(e);break;case U.GREATER_THAN:i=ye(s).gt(e);break;case U.GREATER_THAN_OR_EQUAL:i=ye(s).gte(e);break;case U.LESS_THAN:i=ye(s).lt(e);break;case U.LESS_THAN_OR_EQUAL:i=ye(s).lte(e);break;case U.NOT_EQUAL:i=!ye(s).eq(e);break}else if(typeof e=="boolean")switch(t){case U.EQUALS:case U.GREATER_THAN:case U.GREATER_THAN_OR_EQUAL:i=!1;break;case U.LESS_THAN:case U.LESS_THAN_OR_EQUAL:case U.NOT_EQUAL:i=!0;break}return I.create(i)}pow(e){if(e.isArray())return e.powInverse(this);const t=this.getValue(),s=e.getValue();if(typeof s=="string")return h.create(f.VALUE);if(typeof s=="number"){if(!Number.isFinite(t)||!Number.isFinite(s))return h.create(f.NUM);const i=Kn(t,s);return Number.isFinite(i)?S.create(i):h.create(f.NUM)}return typeof s=="boolean"?S.create(Kn(t,s?1:0)):this}sqrt(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=ye(e).sqrt().toNumber();return Number.isFinite(t)?S.create(t):h.create(f.NUM)}cbrt(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.cbrt(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}cos(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.cos(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}acos(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.acos(e);return Number.isNaN(t)?h.create(f.NUM):S.create(t)}acosh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.acosh(e);return Number.isNaN(t)?h.create(f.NUM):S.create(t)}sin(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.sin(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}asin(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.asin(e);return Number.isNaN(t)?h.create(f.NUM):S.create(t)}asinh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.asinh(e);return Number.isNaN(t)?h.create(f.NUM):S.create(t)}tan(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.tan(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}tanh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.tanh(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}atan(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.atan(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}atan2(e){if(e.isArray())return e.atan2Inverse(this);const t=this.getValue(),s=e.getValue();if(typeof s=="string")return h.create(f.VALUE);if(typeof s=="number"){if(!Number.isFinite(t)||!Number.isFinite(s))return h.create(f.NUM);const i=Math.atan2(t,s);return Number.isFinite(i)?S.create(i):h.create(f.NUM)}return typeof s=="boolean"?S.create(Math.atan2(t,s?1:0)):this}atanh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.atanh(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}log(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return h.create(f.NUM);const t=Math.log(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}log10(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return h.create(f.NUM);const t=Math.log10(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}exp(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.exp(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}abs(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.abs(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}round(e){if(e.isArray())return e.roundInverse(this);const t=this.getValue(),s=e.getValue();if(typeof s=="string")return h.create(f.VALUE);if(typeof s=="number"){if(!Number.isFinite(t)||!Number.isFinite(s))return h.create(f.NUM);const i=Hn(t,s);return Number.isFinite(i)?S.create(i):h.create(f.NUM)}return typeof s=="boolean"?S.create(Hn(t,s?1:0)):this}floor(e){if(e.isArray())return e.floorInverse(this);const t=this.getValue(),s=e.getValue();if(typeof s=="string")return h.create(f.VALUE);if(typeof s=="number"){if(!Number.isFinite(t)||!Number.isFinite(s))return h.create(f.NUM);const i=Wn(t,s);return Number.isFinite(i)?S.create(i):h.create(f.NUM)}return typeof s=="boolean"?S.create(Wn(t,s?1:0)):this}ceil(e){if(e.isArray())return e.ceilInverse(this);const t=this.getValue(),s=e.getValue();if(typeof s=="string")return h.create(f.VALUE);if(typeof s=="number"){if(!Number.isFinite(t)||!Number.isFinite(s))return h.create(f.NUM);const i=Gn(t,s);return Number.isFinite(i)?S.create(i):h.create(f.NUM)}return typeof s=="boolean"?S.create(Gn(t,s?1:0)):this}convertToNumberObjectValue(){return this}convertToBooleanObjectValue(){return kr(!0)}_compareInfinity(e,t,s){let i=!1;switch(s){case U.EQUALS:i=e===t;break;case U.GREATER_THAN:i=e>t;break;case U.GREATER_THAN_OR_EQUAL:i=e>=t;break;case U.LESS_THAN:i=e<t;break;case U.LESS_THAN_OR_EQUAL:i=e<=t;break;case U.NOT_EQUAL:i=e!==t;break}return i}}const _a=2e5,Nn=new Et(_a);class Re extends Ze{constructor(e){super(e);b(this,"_value");this._value=e}static create(e){const t=Nn.get(e);if(t)return t;const s=new Re(e);return Nn.set(e,s),s}getValue(){return this._value}isString(){return!0}concatenateFront(e){return e.isArray()?e.concatenateBack(this):Re.create(this.concatenate(e.getValue(),ke.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):Re.create(this.concatenate(e.getValue(),ke.BACK))}compare(e,t){return e.isArray()?e.compare(this,Os(t)):this.compareBy(e.getValue(),t)}compareBy(e,t){const s=this.getValue();let i=!1;if(typeof e=="string"){if(ia(e))return this._checkWildcard(e,t);switch(t){case U.EQUALS:i=s===e;break;case U.GREATER_THAN:i=s>e;break;case U.GREATER_THAN_OR_EQUAL:i=s>=e;break;case U.LESS_THAN:i=s<e;break;case U.LESS_THAN_OR_EQUAL:i=s<=e;break;case U.NOT_EQUAL:i=s!==e;break}}else if(typeof e=="number")switch(t){case U.NOT_EQUAL:case U.GREATER_THAN:case U.GREATER_THAN_OR_EQUAL:i=!0;break;case U.EQUALS:case U.LESS_THAN:case U.LESS_THAN_OR_EQUAL:i=!1;break}else if(typeof e=="boolean")switch(t){case U.EQUALS:case U.GREATER_THAN:case U.GREATER_THAN_OR_EQUAL:i=!1;break;case U.LESS_THAN:case U.LESS_THAN_OR_EQUAL:case U.NOT_EQUAL:i=!0;break}return I.create(i)}convertToNumberObjectValue(){return Tr(this.getValue())}convertToBooleanObjectValue(){return I.create(!0)}_checkWildcard(e,t){const s=this.getValue().toLocaleLowerCase(),i=aa(s,e,t);return I.create(i)}}function kr(n){if(typeof n=="boolean")return I.create(n);let r=!1;if(typeof n=="string"){const e=n.toLocaleUpperCase();e===ut.TRUE?r=!0:e===ut.FALSE&&(r=!1)}else n===1?r=!0:r=!1;return I.create(r)}function mn(n){let r=n.toString();return r.charAt(0)==='"'&&r.charAt(r.length-1)==='"'&&(r=r.slice(1,-1),r=r.replace(/""/g,'"')),Re.create(r)}function Tr(n){if(typeof n=="boolean"){let r=0;return n&&(r=1),S.create(r)}else{if(typeof n=="number")return Number.isFinite(n)?S.create(n):h.create(f.NUM);if(E.isRealNum(n))return S.create(Number(n))}return h.create(f.VALUE)}function Ea(n){return""}function ya(n=[]){const r=[];for(let e=0;e<n.length;e++){const t=n[e];r[e]==null&&(r[e]=[]);for(let s=0;s<t.length;s++){const i=t[s];r[e][s]=ct.create(i)}}return r}function Ca(n=[]){const r=[];for(let e=0;e<n.length;e++){const t=n[e];r[e]==null&&(r[e]=[]);for(let s=0;s<t.length;s++){const i=t[s];i==null?r[e][s]=null:i.isError()?r[e][s]=i.getErrorType():r[e][s]=i.getValue()}}return r}class Ce extends Ze{constructor(e){super(typeof e=="string"?e:Ea());b(this,"_values",[]);b(this,"_rowCount",-1);b(this,"_columnCount",-1);b(this,"_unitId","");b(this,"_sheetId","");b(this,"_currentRow",-1);b(this,"_currentColumn",-1);b(this,"_sliceCache",new Map);b(this,"_flattenCache");b(this,"_defaultValue",null);b(this,"_flattenPosition");this._values=this._formatValue(e)}static create(e){return new Ce(e)}dispose(){this._values.forEach(e=>{e.forEach(t=>{t==null||t.dispose()})}),this._values=[],this._clearCache()}clone(){return this.map(e=>e)}getRowCount(){return this._rowCount}setRowCount(e){this._rowCount=e}getColumnCount(){return this._columnCount}setColumnCount(e){this._columnCount=e}setCurrent(e,t){this._currentRow=e,this._currentColumn=t}setUnitId(e){this._unitId=e}getUnitId(){return this._unitId}setSheetId(e){this._sheetId=e}getSheetId(){return this._sheetId}getCurrentRow(){return this._currentRow}getCurrentColumn(){return this._currentColumn}getArrayValue(){return this._values}setArrayValue(e){this._clearCache(),this._values=e}isArray(){return!0}setDefaultValue(e){this._defaultValue=e}get(e,t){var s;return(s=this._values[e])==null?void 0:s[t]}getRealValue(e,t){const s=this._values[e];if(s==null)return null;const i=s[t];return i==null?null:i}set(e,t,s){if(e>=this._rowCount||t>=this._columnCount)throw new Error("Exceeding array bounds.");this._clearCache(),this._values[e][t]=s}getRangePosition(){const t=this.getRowCount(),s=0,i=this.getColumnCount();return{startRow:0,endRow:t-1,startColumn:s,endColumn:i-1}}iterator(e){var u;const{startRow:t,endRow:s,startColumn:i,endColumn:a}=this.getRangePosition(),o=this.getArrayValue();for(let c=t;c<=s;c++)for(let l=i;l<=a;l++)if(e(((u=o[c])==null?void 0:u[l])||this._defaultValue,c,l)===!1)return}iteratorReverse(e){var u;const{startRow:t,endRow:s,startColumn:i,endColumn:a}=this.getRangePosition(),o=this.getArrayValue();for(let c=s;c>=t;c--)for(let l=a;l>=i;l--)if(e(((u=o[c])==null?void 0:u[l])||this._defaultValue,c,l)===!1)return}getLastTruePosition(){let e;return this.iteratorReverse((t,s,i)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:s,column:i},!1}),e}getFirstTruePosition(){let e;return this.iterator((t,s,i)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:s,column:i},!1}),e}getFirstCell(){const{startRow:e,startColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||ce.create()}getLastCell(){const{endRow:e,endColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||ce.create()}pick(e){const t=this.pickRaw(e);return this._createNewArray(t,1,t[0].length)}pickRaw(e){const t=e.getRowCount(),s=e.getColumnCount();if(t!==this._rowCount||s!==this._columnCount)return[[ce.create()]];const i=[];i[0]=[];for(let a=0;a<t;a++)for(let o=0;o<s;o++){const u=e.get(a,o);if(!(u==null||u.isError())&&u.getValue()===!0){const c=this.get(a,o);i[0].push(c)}}return i}flatten(){if(this._flattenCache!=null)return this._flattenCache;const e=[];e[0]=[];for(let s=0;s<this._rowCount;s++)for(let i=0;i<this._columnCount;i++){const a=this.get(s,i);e[0].push(a)}const t=this._createNewArray(e,1,e[0].length);return t.setDefaultValue(this._defaultValue),this._flattenCache=t,t}flattenPosition(){if(this._flattenPosition!=null)return this._flattenPosition;const e=[],t=[],s=[],i=[];let a=0;for(let u=0;u<this._rowCount;u++)for(let c=0;c<this._columnCount;c++){const l=this.get(u,c);if(l==null||l.isError()||l.isNull()){a++;continue}l.isString()?(e.push(l),s.push(a++)):(t.push(l),i.push(a++))}const o={stringArray:e,numberArray:t,stringPosition:s,numberPosition:i};return this._flattenPosition=o,o}slice(e,t){let s=0,i=this._rowCount,a=1,o=0,u=this._columnCount,c=1;if(e!=null&&(s=e[0]||0,i=e[1]||this._rowCount,a=e[2]||1),t!=null&&(o=t[0]||0,u=t[1]||this._columnCount,c=t[2]||1),s>=this._rowCount||o>=this._columnCount)return;const l=`${s}_${i}_${a}_${o}_${u}_${c}`,d=this._sliceCache.get(l);if(d!=null)return d;const m=[],R=this._values;let D=0,C=0;for(let B=s;B<i;B+=a){C=0,m[D]==null&&(m[D]=[]);for(let H=o;H<u;H+=c){if(!R[B])return;let oe=R[B][H]||this._defaultValue;oe==null&&(oe=ce.create()),m[D][C]=oe,C++}D++}if(m.length===0||m[0].length===0)return;const A=a>1?-1:s+this._currentRow,x=c>1?-1:o+this._currentColumn,v=this._createNewArray(m,m.length,m[0].length,A,x);return v.setDefaultValue(this._defaultValue),this._sliceCache.set(l,v),v}sortByRow(e){const t=this._transposeArray(this._values);t.sort(this._sort(e)),this._clearCache(),this._values=this._transposeArray(t)}sortByColumn(e){this._clearCache(),this._values.sort(this._sort(e))}transpose(){const e=this._transposeArray(this._values),t=this._rowCount,s=this._columnCount,i=this._createNewArray(e,s,t);return i.setDefaultValue(this._defaultValue),i}orderSearch(e,t=xe.MIN,s=!1,i=!1){let a,o,u,c;const l=(d,m,R)=>{if(d==null)return!0;let D;if(i===!0?D=d.compare(e,U.EQUALS):D=d.isEqual(e),(D==null?void 0:D.getValue())===!0)return a=d,u={row:m,column:R},!1;t===xe.MAX?d.isGreaterThan(e).getValue()===!0&&(o==null||d.minus(e).abs().isLessThanOrEqual(o.minus(e).abs()).getValue()===!0)&&(o=d,c={row:m,column:R}):t===xe.MIN&&d.isLessThan(e).getValue()===!0&&(o==null||d.minus(e).abs().isLessThanOrEqual(o.minus(e).abs()).getValue()===!0)&&(o=d,c={row:m,column:R})};if(s){const d=this._values.length;if(this._values[0]==null)return;const m=this._values[0].length;for(let R=d-1;R>=0;R--)for(let D=m-1;D>=0;D--){const C=this._values[R][D];l(C,R,D)}}else this.iterator((d,m,R)=>{l(d,m,R)});if(a!=null)return u;if(o!=null)return c}binarySearch(e,t=Ke.MIN){if(e.isError())return;const{stringArray:s,stringPosition:i,numberArray:a,numberPosition:o}=this.flattenPosition();return e.isString()?this._binarySearch(e,s,i,t):this._binarySearch(e,a,o,t)}_binarySearch(e,t,s,i=Ke.MIN){const a=$n(),o=e.getValue().toString();let u=0,c=t.length-1,l=null;for(;u<=c;){const d=Math.floor((u+c)/2),m=t[d];let R=0;if(m.isNull())R=1;else{const D=m.getValue();R=a(D.toString(),o)}if(R===0)return s[d];R===-1?(u=d+1,i===Ke.MIN&&(l=d)):(c=d-1,i===Ke.MAX&&(l=d))}if(l!=null)return s[l]}sum(){let e=S.create(0);return this.iterator(t=>{if(t==null||t.isString()||t.isBoolean()||t.isNull())return!0;if(t.isError())return e=t,!1;e=e.plus(t)}),e}max(){let e=S.create(Number.NEGATIVE_INFINITY);return this.iterator(t=>{if(t==null)return!0;if(t.isError())return e=t,!1;if(t.isString()||t.isNull()||t.isBoolean())return!0;e.isLessThan(t).getValue()&&(e=t)}),e}min(){let e=S.create(Number.POSITIVE_INFINITY);return this.iterator(t=>{if(t==null)return!0;if(t.isError())return e=t,!1;if(t.isString()||t.isNull()||t.isBoolean())return!0;e.isGreaterThan(t).getValue()&&(e=t)}),e}count(){let e=S.create(0);return this.iterator(t=>{if(t==null||t.isError()||t.isString()||t.isNull()||t.isBoolean())return!0;e=e.plusBy(1)}),e}countA(){let e=S.create(0);return this.iterator(t=>{if(t==null||t.isNull())return!0;e=e.plusBy(1)}),e}countBlank(){let e=S.create(0);return this.iterator(t=>{if(t!=null&&!t.isNull())return!0;e=e.plusBy(1)}),e}getNegative(){return Ce.create("{0}").minus(this)}getReciprocal(){return Ce.create("{1}").divided(this)}plus(e){return this._batchOperator(e,1)}minus(e){return this._batchOperator(e,0)}multiply(e){return this._batchOperator(e,2)}divided(e){return this._batchOperator(e,3)}mod(e){return this._batchOperator(e,4)}modInverse(e){return this.map(t=>t.isError()?t:e.mod(t))}compare(e,t){return this._batchOperator(e,5,t)}concatenateFront(e){return this._batchOperator(e,6)}concatenateBack(e){return this._batchOperator(e,7)}map(e){const t=(s,i,a)=>s==null?ce.create():s.isError()?s:e(s,i,a);return this.mapValue(t)}mapValue(e){var a;const t=this._rowCount,s=this._columnCount,i=[];for(let o=0;o<t;o++){const u=[];for(let c=0;c<s;c++){const l=(a=this._values)==null?void 0:a[o];if(l==null)u[c]=h.create(f.VALUE);else{const d=l[c]||this._defaultValue;d?u[c]=e(d,o,c):u[c]=ce.create()}}i.push(u)}return this._createNewArray(i,t,s)}pow(e){return this._batchOperator(e,8)}powInverse(e){return this.map(t=>t.isError()?t:e.pow(t))}sqrt(){return this.map(e=>e.isError()?e:e.sqrt())}cbrt(){return this.map(e=>e.isError()?e:e.cbrt())}cos(){return this.map(e=>e.isError()?e:e.cos())}acos(){return this.map(e=>e.isError()?e:e.acos())}acosh(){return this.map(e=>e.isError()?e:e.acosh())}sin(){return this.map(e=>e.isError()?e:e.sin())}asin(){return this.map(e=>e.isError()?e:e.asin())}asinh(){return this.map(e=>e.isError()?e:e.asinh())}tan(){return this.map(e=>e.isError()?e:e.tan())}tanh(){return this.map(e=>e.isError()?e:e.tanh())}atan(){return this.map(e=>e.isError()?e:e.atan())}atanh(){return this.map(e=>e.isError()?e:e.atanh())}atan2(e){return this._batchOperator(e,12)}atan2Inverse(e){return this.map(t=>t.isError()?t:e.atan2(t))}mean(e=0){const t=this.sum(),s=this.count();return t.divided(e===0?s:s.minusBy(1))}median(){const e=this.flattenPosition().numberArray,t=this._createNewArray([e],1,e.length),s=t.getColumnCount();if(s<=1)return t.get(0,0)||ce.create();if(t.sortByRow(0),s%2===0){const i=t.get(0,s/2)||ce.create(),a=t.get(0,s/2-1)||ce.create();return i.plus(a).divided(S.create(2))}return t.get(0,(s-1)/2)||ce.create()}var(e=0){const t=this.mean(),s=[[]];this.iterator(l=>{if(l==null||l.isError()||l.isString()||l.isBoolean()||l.isNull())return;const d=l.minus(t).pow(S.create(2));d.isError()||s[0].push(d)});const{_unitId:i,_sheetId:a,_currentRow:o,_currentColumn:u}=this;return Ce.create({calculateValueList:s,rowCount:1,columnCount:s[0].length,unitId:i,sheetId:a,row:o,column:u}).mean(e)}std(e=0){const t=this.var(e);return t.isError()?t:t.sqrt()}log(){return this.map(e=>e.isError()?e:e.log())}log10(){return this.map(e=>e.isError()?e:e.log10())}exp(){return this.map(e=>e.isError()?e:e.exp())}abs(){return this.map(e=>e.isError()?e:e.abs())}round(e){return this._batchOperator(e,9)}roundInverse(e){return this.map(t=>t.isError()?t:e.round(t))}floor(e){return this._batchOperator(e,10)}floorInverse(e){return this.map(t=>t.isError()?t:e.floor(t))}ceil(e){return this._batchOperator(e,11)}ceilInverse(e){return this.map(t=>t.isError()?t:e.ceil(t))}toValue(){return Ca(this._values)}_clearCache(){this._flattenCache=null,this._sliceCache.clear()}_sort(e){const t=$n();return(s,i)=>{const a=s[e],o=i[e];return a==null?1:o==null?-1:a.isError()&&a.isError()?0:a.isError()?1:o.isError()?-1:t(a.getValue(),o.getValue())}}_transposeArray(e){const t=e.length,s=e[0].length,i=[];for(let a=0;a<s;a++){i[a]=[];for(let o=0;o<t;o++)i[a][o]=e[o][a]}return i}_batchOperator(e,t,s){const i=[];let a=this._rowCount,o=this._columnCount;if(e.isArray()){const l=e.getRowCount(),d=e.getColumnCount();if(a=Math.max(l,a),o=Math.max(d,o),l===1&&d===1){const m=e.getFirstCell();for(let R=0;R<o;R++)i.push(m)}else if(l===1&&this._columnCount>1){const m=e.getArrayValue();for(let R=0;R<o;R++)i.push(m[0][R])}else return this._batchOperatorArray(e,t,s)}else for(let l=0;l<o;l++)i.push(e);const u=[];for(let l=0;l<o;l++){const d=i[l];this._batchOperatorValue(d,l,u,t,s)}const c=this._createNewArray(u,a,o);return c.setDefaultValue(I.create(!1)),c}_batchOperatorValue(e,t,s,i,a){var R,D;const o=this._rowCount;let u=!1;const c=this.getUnitId(),l=this.getSheetId(),d=this.getCurrentRow(),m=this.getCurrentColumn();if(i===5&&(u=rt.canUseCache(c,l,t+m,d,d+o-1),u===!0)){if(a===U.EQUALS){const C=rt.getCellPositions(c,l,t+m,e.getValue());C!=null&&C.forEach(A=>{const x=A-d;s[x]==null&&(s[x]=[]),s[x][t]=I.create(!0)})}else{const C=rt.getCellValuePositions(c,l,t+m);C!=null&&C.forEach((A,x)=>{let v=ce.create();typeof x=="string"?v=Re.create(x):typeof x=="number"?v=S.create(x):typeof x=="boolean"&&(v=I.create(x)),v.compare(e,a).getValue()===!0&&A.forEach(H=>{H>=d&&H<=d+o-1&&(s[H-d]==null&&(s[H-d]=[]),s[H-d][t]=I.create(!0))})})}return}for(let C=0;C<o;C++){const A=(D=(R=this._values)==null?void 0:R[C])==null?void 0:D[t];if(s[C]==null&&(s[C]=[]),A&&e)if(A.isError())s[C][t]=A;else if(e.isError())s[C][t]=e;else switch(i){case 1:s[C][t]=A.plus(e);break;case 0:s[C][t]=A.minus(e);break;case 2:s[C][t]=A.multiply(e);break;case 3:s[C][t]=A.divided(e);break;case 4:s[C][t]=A.mod(e);break;case 5:a?s[C][t]=A.compare(e,a):s[C][t]=h.create(f.VALUE);break;case 6:s[C][t]=A.concatenateFront(e);break;case 7:s[C][t]=A.concatenateBack(e);break;case 8:s[C][t]=A.pow(e);break;case 9:s[C][t]=A.round(e);break;case 10:s[C][t]=A.floor(e);break;case 12:s[C][t]=A.atan2(e);break;case 11:s[C][t]=A.ceil(e);break}else s[C][t]=h.create(f.NA);A!=null&&(A.isError()?rt.set(c,l,t+m,A.getErrorType(),C+d):A.isNull()?rt.set(c,l,t+m,null,C+d):rt.set(c,l,t+m,A.getValue(),C+d))}rt.setContinueBuildingCache(c,l,t+m,d,d+o-1)}_batchOperatorArray(e,t,s){var d,m,R,D,C,A,x,v,B,H,oe,me;let i=e.getRowCount(),a=e.getColumnCount();i<this._rowCount&&(i=this._rowCount),a<this._columnCount&&(a=this._columnCount);const o=[],u=e.getArrayValue(),c=this._checkArrayCalculateType(this),l=this._checkArrayCalculateType(e);for(let ge=0;ge<i;ge++){const ne=[];for(let J=0;J<a;J++){let te;c===3?te=(m=(d=this._values)==null?void 0:d[0])==null?void 0:m[0]:c===1?te=(D=(R=this._values)==null?void 0:R[0])==null?void 0:D[J]:c===2?te=(A=(C=this._values)==null?void 0:C[ge])==null?void 0:A[0]:te=(v=(x=this._values)==null?void 0:x[ge])==null?void 0:v[J];let K;if(l===3?K=(B=u==null?void 0:u[0])==null?void 0:B[0]:l===1?K=(H=u==null?void 0:u[0])==null?void 0:H[J]:l===2?K=(oe=u==null?void 0:u[ge])==null?void 0:oe[0]:K=(me=u==null?void 0:u[ge])==null?void 0:me[J],te&&K)if(te.isError())ne[J]=te;else if(K.isError())ne[J]=K;else switch(t){case 1:ne[J]=te.plus(K);break;case 0:ne[J]=te.minus(K);break;case 2:ne[J]=te.multiply(K);break;case 3:ne[J]=te.divided(K);break;case 4:ne[J]=te.mod(K);break;case 5:s?ne[J]=te.compare(K,s):ne[J]=h.create(f.VALUE);break;case 6:ne[J]=te.concatenateFront(K);break;case 7:ne[J]=te.concatenateBack(K);break;case 8:ne[J]=te.pow(K);break;case 9:ne[J]=te.round(K);break;case 12:ne[J]=te.atan2(K);break;case 10:ne[J]=te.floor(K);break;case 11:ne[J]=te.ceil(K);break}else ne[J]=h.create(f.NA)}o.push(ne)}return this._createNewArray(o,i,a)}_checkArrayCalculateType(e){return e.getRowCount()===1&&e.getColumnCount()===1?3:e.getRowCount()===1?1:e.getColumnCount()===1?2:0}_formatValue(e){if(typeof e!="string")return e=e,this._rowCount=e.rowCount,this._columnCount=e.columnCount,this._unitId=e.unitId,this._sheetId=e.sheetId,this._currentRow=e.row,this._currentColumn=e.column,e.calculateValueList;e=e.slice(1,-1);const t=e.split(";"),s=t.length,i=[];let a=0;for(let o=0;o<s;o++){const c=t[o].split(","),l=c.length;a<l&&(a=l);const d=[];for(let m=0;m<l;m++){const R=c[m].trim();d.push(ct.create(R))}i.push(d)}return this._rowCount=s,this._columnCount=a,i}_createNewArray(e,t,s,i=-1,a=-1){(this._currentColumn===-1||this._currentRow===-1)&&(i=-1,a=-1);const o={calculateValueList:e,rowCount:t,columnCount:s,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:i,column:a};return Ce.create(o)}}class ct{static create(r){if(r==null)return ce.create();if(typeof r=="boolean")return I.create(r);if(typeof r=="string"){const e=r.toLocaleUpperCase().trim();return Vt.has(e)?h.create(e):e===ut.TRUE||e===ut.FALSE?kr(r):E.isRealNum(r)?S.create(Number(r)):new RegExp(qi,"g").test(r.replace(/\n/g,"").replace(/\r/g,""))?Ce.create(r.replace(/\n/g,"").replace(/\r/g,"")):mn(r)}return typeof r=="number"?Tr(r):h.create(f.VALUE)}}function Da(n){if(n===null)return 0;if(n!=null&&n.p){const r=n==null?void 0:n.p.body;if(r==null)return 0;const e=r.dataStream;return e.substring(e.length-2,e.length)===E.DEFAULT_EMPTY_DOCUMENT_VALUE?e.substring(0,e.length-2):e}return(n==null?void 0:n.v)||0}const ba=1e5,nn=new Et(ba);class Ft extends Mr{constructor(e){super();b(this,"_forcedSheetId","");b(this,"_forcedSheetName","");b(this,"_defaultSheetId","");b(this,"_rangeData",{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1});b(this,"_unitData",{});b(this,"_unitStylesData",{});b(this,"_defaultUnitId","");b(this,"_forcedUnitId","");b(this,"_runtimeData",{});b(this,"_arrayFormulaCellData",{});b(this,"_runtimeArrayFormulaCellData",{});b(this,"_runtimeFeatureCellData",{});b(this,"_refOffsetX",0);b(this,"_refOffsetY",0);this._token=e}dispose(){this._unitData={},this._unitStylesData={},this._runtimeData={}}getToken(){return this._token}setToken(e){this._token=e}isExceedRange(){const{startRow:e,endRow:t,startColumn:s,endColumn:i}=this.getRangePosition();return e<0||s<0||t>=this.getActiveSheetRowCount()||i>=this.getActiveSheetColumnCount()}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}getRangePosition(){let{startRow:e,startColumn:t,endRow:s,endColumn:i}=E.moveRangeByOffset(this._rangeData,this._refOffsetX,this._refOffsetY);return Number.isNaN(e)&&(e=0),Number.isNaN(t)&&(t=0),Number.isNaN(s)&&(s=this.getActiveSheetRowCount()-1),Number.isNaN(i)&&(i=this.getActiveSheetColumnCount()-1),{startRow:e,endRow:s,startColumn:t,endColumn:i}}isReferenceObject(){return!0}iterator(e){const{startRow:t,endRow:s,startColumn:i,endColumn:a}=this.getRangePosition();if(this._checkIfWorksheetMiss())return e(h.create(f.VALUE),t,i);const o=this._forcedUnitId||this._defaultUnitId,u=this._forcedSheetId||this._defaultSheetId;for(let c=t;c<=s;c++)for(let l=i;l<=a;l++){if(c<0||l<0)return e(h.create(f.REF),c,l);const d=this.getCellData(c,l);let m=!1;if(E.isNullCell(d)){m=e(null,c,l);continue}const R=this.getCellValueObject(d);if(c===t&&l===i){const D=this.getCellPattern(o,u,c,l);D&&R.setPattern(D)}if(m=e(R,c,l),m===!1)return}}getFirstCell(){const{startRow:e,startColumn:t}=this.getRangePosition(),s=this.getCellData(e,t);if(!s)return S.create(0);const i=this.getCellValueObject(s),a=this._forcedUnitId||this._defaultUnitId,o=this._forcedSheetId||this._defaultSheetId,u=this.getCellPattern(a,o,e,t);return u&&i.setPattern(u),i}getRangeData(){return this._rangeData}setRangeData(e){this._rangeData=e}getUnitId(){return this._forcedUnitId&&this._forcedUnitId.length>0?this._forcedUnitId:this._defaultUnitId}getSheetId(){return this._forcedSheetId&&this._forcedSheetId.length>0?this._forcedSheetId:this._defaultSheetId}setForcedUnitIdDirect(e){e.length>0&&(this._forcedUnitId=e)}getForcedUnitId(){return this._forcedUnitId}setForcedSheetId(e){var t;this._forcedSheetId=(t=e[this.getUnitId()])==null?void 0:t[this._forcedSheetName]}setForcedSheetIdDirect(e){this._forcedSheetId=e}getForcedSheetId(){return this._forcedSheetId}setForcedSheetName(e){e.length>0&&(this._forcedSheetName=e)}getForcedSheetName(){return this._forcedSheetName}setDefaultSheetId(e){this._defaultSheetId=e}getDefaultSheetId(){return this._defaultSheetId}setDefaultUnitId(e){this._defaultUnitId=e}getDefaultUnitId(){return this._defaultUnitId}getUnitData(){return this._unitData}setUnitData(e){this._unitData=e}getUnitStylesData(){return this._unitStylesData}setUnitStylesData(e){this._unitStylesData=e}getRuntimeData(){return this._runtimeData}setRuntimeData(e){this._runtimeData=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}setRuntimeArrayFormulaCellData(e){this._runtimeArrayFormulaCellData=e}getRuntimeFeatureCellData(){return this._runtimeFeatureCellData}setRuntimeFeatureCellData(e){this._runtimeFeatureCellData=e}getActiveSheetRowCount(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.rowCount)||0}getActiveSheetColumnCount(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.columnCount)||0}getRowCount(){return this._rangeData.endRow-this._rangeData.startRow+1}getColumnCount(){return this._rangeData.endColumn-this._rangeData.startColumn+1}getRowData(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.rowData)||{}}getColumnData(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.columnData)||{}}isCell(){return!1}isColumn(){return!1}isRow(){return!1}isRange(){return!1}isTable(){return!1}unionBy(e){return h.create(f.REF)}unionRange(e,t){return{startRow:-1,startColumn:-1,endRow:-1,endColumn:-1}}getCellValueObject(e){const t=Da(e);return Vt.has(t)?h.create(t):e.t===E.CellValueType.NUMBER?Tr(t):e.t===E.CellValueType.STRING||e.t===E.CellValueType.FORCE_STRING?mn(t):e.t===E.CellValueType.BOOLEAN?kr(t):ct.create(t)}getCellByRow(e){return this.getCellByPosition(e)}getCellByColumn(e){return this.getCellByPosition(void 0,e)}getCurrentActiveSheetData(){var e;return(e=this._unitData[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCurrentStylesData(){return this._unitStylesData[this.getUnitId()]}getCurrentRuntimeSheetData(){var e,t;return(t=(e=this._runtimeData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCurrentActiveArrayFormulaCellData(){var e,t;return(t=(e=this._arrayFormulaCellData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCurrentRuntimeActiveArrayFormulaCellData(){var e,t;return(t=(e=this._runtimeArrayFormulaCellData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCellData(e,t){const s=this.getCurrentActiveSheetData(),i=this.getCurrentRuntimeSheetData(),a=this.getCurrentActiveArrayFormulaCellData(),o=this.getCurrentRuntimeActiveArrayFormulaCellData();return(i==null?void 0:i.getValue(e,t))||(o==null?void 0:o.getValue(e,t))||this.getRuntimeFeatureCellValue(e,t)||(a==null?void 0:a.getValue(e,t))||(s==null?void 0:s.cellData.getValue(e,t))}getRuntimeFeatureCellValue(e,t){var i;const s=Object.keys(this._runtimeFeatureCellData);for(const a of s){const o=this._runtimeFeatureCellData[a],u=(i=o==null?void 0:o[this.getUnitId()])==null?void 0:i[this.getSheetId()];if(u==null)continue;const c=u.getValue(e,t);if(c!=null)return c}}getCellByPosition(e,t){e||(e=this._rangeData.startRow),t||(t=this._rangeData.startColumn);const s=this.getCellData(e,t);return s?this.getCellValueObject(s):h.create(f.VALUE)}getCellPattern(e,t,s,i){var c,l,d,m;const a=this._unitStylesData[e];if(!a)return"";const o=(d=(l=(c=this._unitData[e])==null?void 0:c[t])==null?void 0:l.cellData)==null?void 0:d.getValue(s,i);if(!o)return"";const u=a.getStyleByCell(o);return((m=u==null?void 0:u.n)==null?void 0:m.pattern)||""}toArrayValueObject(e=!0){var D;const{startRow:t,endRow:s,startColumn:i,endColumn:a}=this.getRangePosition(),o=`${this.getUnitId()}_${this.getSheetId()}_${t}_${s}_${i}_${a}`,u=nn.get(o);if(u&&e)return u;const c=s-t+1,l=a-i+1;if(c<0||l<0)return this._getBlankArrayValueObject();const d=new Array(c);this.iterator((C,A,x)=>{const v=A-t,B=x-i;d[v]||(d[v]=new Array(l)),C==null&&(C=ce.create()),d[v][B]=C});const m={calculateValueList:d,rowCount:d.length,columnCount:((D=d[0])==null?void 0:D.length)||0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:t,column:i},R=Ce.create(m);return e&&nn.set(o,R),R}toUnitRange(){return{range:this.getRangePosition(),sheetId:this.getSheetId(),unitId:this.getUnitId()}}_checkIfWorksheetMiss(){return(this._forcedSheetId==null||this._forcedSheetId.length===0)&&this._forcedSheetName.length>0}_getBlankArrayValueObject(){const e={calculateValueList:[],rowCount:0,columnCount:0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:0,column:0};return Ce.create(e)}}class Sa extends Mr{constructor(r){super(),this._promise=r}isAsyncObject(){return!0}async getValue(){return this._promise}}class Aa extends Mr{constructor(r){super(),this._promiseList=r}isAsyncArrayObject(){return!0}async getValue(){var t;const r=[];for(let s=0;s<this._promiseList.length;s++){const i=this._promiseList[s];r[s]==null&&(r[s]=[]);for(let a=0;a<i.length;a++){const o=i[a];o.isAsyncObject()?r[s][a]=await o.getValue():r[s][a]=o}}const e={calculateValueList:r,rowCount:r.length,columnCount:((t=r[0])==null?void 0:t.length)||0,unitId:"",sheetId:"",row:0,column:0};return Ce.create(e)}}class Qt extends Ft{constructor(r,e,t){super(""),this.setRangeData(r),e&&this.setForcedSheetIdDirect(e),t&&this.setForcedUnitIdDirect(t)}isRange(){return!0}}const Zn=/[\[\]]/g;function Jn(n,r){if(Zn.test(n)){const e=Number(n.replace(Zn,""));return r+e}return Number(n)-1}function Gr(n,r=0,e=0){n=n.toLocaleUpperCase();const t=n.split(/[RC]/),s=t[1],i=t[2],a=Jn(s,r),o=Jn(i,e);return{row:a,column:o,absoluteRefType:E.AbsoluteRefType.NONE}}function Fs(n,r=0,e=0){const{refBody:t,sheetName:s,unitId:i}=xs(n),a=t.indexOf(":");if(a===-1){const C=Gr(t,r,e),A=C.row,x=C.column,v=C.absoluteRefType;return{unitId:i,sheetName:s,range:{startRow:A,startColumn:x,endRow:A,endColumn:x,startAbsoluteRefType:v,endAbsoluteRefType:v}}}const o=t.substring(0,a),u=t.substring(a+1),c=Gr(o,r,e),l=Gr(u,r,e),d=c.row,m=c.column,R=l.row,D=l.column;return{unitId:i,sheetName:s,range:{startRow:d,startColumn:m,endRow:R,endColumn:D,startAbsoluteRefType:c.absoluteRefType,endAbsoluteRefType:l.absoluteRefType}}}function La(n){const r=er(n.startRow,n.startAbsoluteRefType,!0),e=er(n.startColumn,n.startAbsoluteRefType,!1),t=er(n.endRow,n.endAbsoluteRefType,!0),s=er(n.endColumn,n.endAbsoluteRefType,!1);return r===t&&e===s?`R${r}C${e}`:`R${r}C${e}:R${t}C${s}`}function er(n,r=E.AbsoluteRefType.ALL,e){switch(n+=1,r){case E.AbsoluteRefType.ALL:return`${n}`;case E.AbsoluteRefType.ROW:return e?`${n}`:`[${n}]`;case E.AbsoluteRefType.COLUMN:return e?`[${n}]`:`${n}`;case E.AbsoluteRefType.NONE:return`[${n}]`}}const Us=[];var Ms=(n=>n)(Ms||{});function xa(n){const r=n.getValue();let e=0;return r&&(e=1),S.create(e)}function es(n){return n.isArray()&&n.getRowCount()===1&&n.getColumnCount()===1?!0:n.isReferenceObject()?!!(n.isCell()||n.getRowCount()===1&&n.getColumnCount()===1):(n=n,!!(n.isString()||n.isNumber()||n.isBoolean()||n.isError()||n.isNull()))}function ht(n){const r=n==null?void 0:n.getPattern();let e={};if(r&&(e={s:{n:{pattern:r}}}),n==null)return{v:null,...e};if(n.isError())return{v:n.getErrorType(),t:E.CellValueType.STRING,...e};if(n.isValueObject()){const t=n,s=t.getValue();return t.isNumber()?{v:s,t:E.CellValueType.NUMBER,...e}:t.isBoolean()?{v:s?1:0,t:E.CellValueType.BOOLEAN,...e}:t.isString()&&E.isRealNum(s)?{v:s,t:E.CellValueType.FORCE_STRING,...e}:t.isNull()?{v:null,...e}:{v:s,t:E.CellValueType.STRING,...e}}}function he(n,r,e,t){const s=[];if(e.isArray()){const i=e.getRowCount(),a=e.getColumnCount();if(i===1&&a===1){const o=e.getFirstCell();for(let u=0;u<n;u++){const c=[];for(let l=0;l<r;l++)c.push(o);s.push(c)}}else if(i===1&&a>1)for(let o=0;o<n;o++){const u=[];for(let c=0;c<r;c++){const l=e.getRealValue(0,c)||(t!=null?t:ce.create());u.push(l)}s.push(u)}else if(a===1&&i>1)for(let o=0;o<n;o++){const u=[];for(let c=0;c<r;c++){const l=e.getRealValue(o,0)||(t!=null?t:ce.create());u.push(l)}s.push(u)}else for(let o=0;o<n;o++){const u=[];for(let c=0;c<r;c++){const l=e.getRealValue(o,c)||(t!=null?t:ce.create());u.push(l)}s.push(u)}}else for(let i=0;i<n;i++){const a=[];for(let o=0;o<r;o++)a.push(e);s.push(a)}return zt(s,n,r)}function zt(n,r,e,t="",s=""){const i={calculateValueList:n,rowCount:r,columnCount:e,unitId:t,sheetId:s,row:-1,column:-1};return Ce.create(i)}class gn extends Ft{constructor(r){super(r);const e=Ye(r);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName),this.setRangeData(e.range)}isCell(){return!0}unionBy(r){if(!r.isCell())return h.create(f.REF);const e=r,t=this.unionRange(this.getRangeData(),e.getRangeData());return this._createRange(t)}unionRange(r,e){const t=r.startRow,s=r.startColumn,i=e.startRow,a=e.startColumn,o={startRow:-1,startColumn:-1,endRow:-1,endColumn:-1};return t>i?(o.startRow=i,o.endRow=t):(o.startRow=t,o.endRow=i),s>a?(o.startColumn=a,o.endColumn=s):(o.startColumn=s,o.endColumn=a),r.startAbsoluteRefType&&(o.startAbsoluteRefType=r.startAbsoluteRefType),e.startAbsoluteRefType&&(o.endAbsoluteRefType=e.startAbsoluteRefType),o}_createRange(r){const e=new Qt(r,this.getForcedSheetId(),this.getForcedUnitId());e.setUnitData(this.getUnitData()),e.setDefaultSheetId(this.getDefaultSheetId()),e.setDefaultUnitId(this.getDefaultUnitId()),e.setRuntimeData(this.getRuntimeData()),e.setUnitStylesData(this.getUnitStylesData()),e.setArrayFormulaCellData(this.getArrayFormulaCellData()),e.setRuntimeArrayFormulaCellData(this.getRuntimeArrayFormulaCellData()),e.setRuntimeFeatureCellData(this.getRuntimeFeatureCellData());const{x:t,y:s}=this.getRefOffset();e.setRefOffset(t,s);const i=this.getForcedSheetId();e.setForcedSheetName(this.getForcedSheetName()),i!=null&&e.setForcedSheetIdDirect(i);const a=this.getForcedUnitId();return a&&e.setForcedUnitIdDirect(a),e}}class pn extends Ft{constructor(r){super(r);const e=Ye(r);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={startColumn:Number.NaN,startRow:e.range.startRow,endColumn:Number.NaN,endRow:-1};this.setRangeData(t)}isRow(){return!0}unionBy(r){if(!r.isRow())return h.create(f.REF);const e=r;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return h.create(f.REF);const t=this.getRangeData(),s=e.getRangeData(),i=s.startRow,a=t.startRow;return i>a?t.endRow=i:(t.startRow=i,t.endRow=a),s.startAbsoluteRefType&&(t.endAbsoluteRefType=s.startAbsoluteRefType),t.rangeType=E.RANGE_TYPE.ROW,this.setToken(`${this.getToken()}${W.COLON}${e.getToken()}`),this}}class Rn extends Ft{constructor(r){super(r);const e=Ye(r);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={startColumn:e.range.startColumn,startRow:Number.NaN,endColumn:-1,endRow:Number.NaN};this.setRangeData(t)}isColumn(){return!0}unionBy(r){if(!r.isColumn())return h.create(f.REF);const e=r;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return h.create(f.REF);const t=this.getRangeData(),s=e.getRangeData(),i=s.startColumn,a=t.startColumn;return i>a?t.endColumn=i:(t.startColumn=i,t.endColumn=a),s.startAbsoluteRefType&&(t.endAbsoluteRefType=s.startAbsoluteRefType),t.rangeType=E.RANGE_TYPE.COLUMN,this.setToken(`${this.getToken()}${W.COLON}${e.getToken()}`),this}}class T extends E.Disposable{constructor(e){super();b(this,"_unitId");b(this,"_subUnitId");b(this,"_row",-1);b(this,"_column",-1);b(this,"_definedNames");b(this,"needsExpandParams",!1);b(this,"needsReferenceObject",!1);b(this,"minParams",-1);b(this,"maxParams",-1);this._name=e}get name(){return this._name}get unitId(){return this._unitId}get subUnitId(){return this._subUnitId}get row(){return this._row}get column(){return this._column}getDefinedName(e){var s;const t=this._definedNames;return t==null?null:(s=Array.from(Object.values(t)).filter(i=>i.name===e))==null?void 0:s[0]}setDefinedNames(e){this._definedNames=e}isAsync(){return!1}isAddress(){return!1}isCustom(){return!1}setRefInfo(e,t,s,i){this._unitId=e,this._subUnitId=t,this._row=s,this._column=i}calculateCustom(...e){return null}calculate(...e){return h.create(f.VALUE)}checkArrayType(e){return e.isReferenceObject()||e.isValueObject()&&e.isArray()}getIndexNumValue(e,t=1){if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())return e.getValue()===!1?h.create(f.VALUE):t;if(e.isString()){const s=Number(e.getValue());return Number.isNaN(s)?h.create(f.REF):s}else if(e.isNumber())return e.getValue();return h.create(f.VALUE)}getZeroOrOneByOneDefault(e){if(e==null)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())e.getValue()===!1&&(t=0);else{if(e.isString())return;e.isNumber()&&e.getValue()===0&&(t=0)}return t}getMatchTypeValue(e){if(e==null)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())e.getValue()===!1&&(t=0);else{if(e.isString())return;if(e.isNumber()){const s=e.getValue();s<=0&&(t=s)}}return t}binarySearch(e,t,s,i){const a=t.binarySearch(e,i);if(a==null)return h.create(f.NA);let o;return s.getRowCount()===1?o=s.get(0,a)||ce.create():o=s.get(a,0)||ce.create(),o.isNull()?h.create(f.NA):o}_getOneFirstByRaw(e){return e.length===0?h.create(f.NA):e[0][0]||h.create(f.NA)}_getOneLastByRaw(e){return e.length===0?h.create(f.NA):e[e.length-1][e[0].length-1]||h.create(f.NA)}equalSearch(e,t,s,i=!0){const a=s.pickRaw(t.isEqual(e));return i?this._getOneFirstByRaw(a):this._getOneLastByRaw(a)}fuzzySearch(e,t,s,i=!0){const a=s.pickRaw(t.compare(e,U.EQUALS));return i?this._getOneFirstByRaw(a):this._getOneLastByRaw(a)}orderSearch(e,t,s,i=xe.MIN,a=!1){const o=t.orderSearch(e,i,a);if(o==null)return h.create(f.NA);const u=s.get(o.row,o.column)||ce.create();return u.isNull()?h.create(f.NA):u}binarySearchExpand(e,t,s,i=0,a){const o=t.binarySearch(e,a);return o==null?h.create(f.NA):i===0?s.slice([o,o+1]):s.slice(void 0,[o,o+1])}equalSearchExpand(e,t,s,i=!0,a=0){const o=t.isEqual(e);let u;return i?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null?h.create(f.NA):a===0?s.slice([u.row,u.row+1]):s.slice(void 0,[u.column,u.column+1])}fuzzySearchExpand(e,t,s,i=!0,a=0){const o=t.compare(e,U.EQUALS);let u;return i?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null?h.create(f.NA):a===0?s.slice([u.row,u.row+1]):s.slice(void 0,[u.column,u.column+1])}orderSearchExpand(e,t,s,i=xe.MIN,a=!1,o=0){const u=t.orderSearch(e,i,a);return u==null?h.create(f.NA):o===0?s.slice([u.row,u.row+1]):s.slice(void 0,[u.column,u.column+1])}flattenArray(e,t=!0){const s=[];s[0]=[];for(let i=0;i<e.length;i++){let a=e[i];if((a.isString()||a.isBoolean()||a.isNull())&&(a=a.convertToNumberObjectValue()),a.isError())return a;if(a.isArray()){let o;if(a.iterator(u=>{if(u==null||u.isNull()||t&&(u.isString()||u.isBoolean()))return!0;if(u=this._includingLogicalValuesAndText(u),u.isError())return o=u,!1;s[0].push(u)}),o!=null&&o.isError())return o}else s[0].push(a)}return zt(s,1,s[0].length)}_includingLogicalValuesAndText(e){if(e.isBoolean()&&(e=xa(e)),e.isString()){const t=Number(e.getValue());e=S.create(Number.isNaN(t)?0:t)}return e}createReferenceObject(e,t){const s=e.getForcedUnitId(),i=e.getForcedSheetId()||"",a=e.getForcedSheetName(),u=Rt({unitId:s,sheetName:a,range:t});let c;return new RegExp(Gt).test(u)?c=new gn(u):new RegExp(Cs).test(u)?c=new pn(u):new RegExp(Ds).test(u)?c=new Rn(u):c=new Qt(t,i,s),this._setReferenceDefault(e,c)}_setReferenceDefault(e,t){return this.unitId==null||this.subUnitId==null?h.create(f.REF):(t.setDefaultUnitId(this.unitId),t.setDefaultSheetId(this.subUnitId),t.setUnitData(e.getUnitData()),t.setRuntimeData(e.getRuntimeData()),t.setArrayFormulaCellData(e.getArrayFormulaCellData()),t.setRuntimeArrayFormulaCellData(e.getRuntimeArrayFormulaCellData()),t)}}class Bs extends T{calculate(...r){if(r.length===0)return h.create(f.NA);const e=this.flattenArray(r);return e.isError()?e:e.std()}}class ks extends T{calculate(...r){if(r.length===0)return h.create(f.NA);const e=this.flattenArray(r);return e.isError()?e:e.std(1)}}class Ts extends T{calculate(...r){if(r.length===0)return h.create(f.NA);const e=this.flattenArray(r);return e.isError()?e:e.var()}}class js extends T{calculate(...r){if(r.length===0)return h.create(f.NA);const e=this.flattenArray(r);return e.isError()?e:e.var(1)}}var bt=(n=>(n.BETADIST="BETADIST",n.BETAINV="BETAINV",n.BINOMDIST="BINOMDIST",n.CHIDIST="CHIDIST",n.CHIINV="CHIINV",n.CHITEST="CHITEST",n.CONFIDENCE="CONFIDENCE",n.COVAR="COVAR",n.CRITBINOM="CRITBINOM",n.EXPONDIST="EXPONDIST",n.FDIST="FDIST",n.FINV="FINV",n.FTEST="FTEST",n.GAMMADIST="GAMMADIST",n.GAMMAINV="GAMMAINV",n.HYPGEOMDIST="HYPGEOMDIST",n.LOGINV="LOGINV",n.LOGNORMDIST="LOGNORMDIST",n.MODE="MODE",n.NEGBINOMDIST="NEGBINOMDIST",n.NORMDIST="NORMDIST",n.NORMINV="NORMINV",n.NORMSDIST="NORMSDIST",n.NORMSINV="NORMSINV",n.PERCENTILE="PERCENTILE",n.PERCENTRANK="PERCENTRANK",n.POISSON="POISSON",n.QUARTILE="QUARTILE",n.RANK="RANK",n.STDEV="STDEV",n.STDEVP="STDEVP",n.TDIST="TDIST",n.TINV="TINV",n.TTEST="TTEST",n.VAR="VAR",n.VARP="VARP",n.WEIBULL="WEIBULL",n.ZTEST="ZTEST",n))(bt||{});const $s=[[ks,bt.STDEV],[Bs,bt.STDEVP],[js,bt.VAR],[Ts,bt.VARP]],Is=[];var Ys=(n=>(n.CUBEKPIMEMBER="CUBEKPIMEMBER",n.CUBEMEMBER="CUBEMEMBER",n.CUBEMEMBERPROPERTY="CUBEMEMBERPROPERTY",n.CUBERANKEDMEMBER="CUBERANKEDMEMBER",n.CUBESET="CUBESET",n.CUBESETCOUNT="CUBESETCOUNT",n.CUBEVALUE="CUBEVALUE",n))(Ys||{});const Qs=[];var zs=(n=>(n.DAVERAGE="DAVERAGE",n.DCOUNT="DCOUNT",n.DCOUNTA="DCOUNTA",n.DGET="DGET",n.DMAX="DMAX",n.DMIN="DMIN",n.DPRODUCT="DPRODUCT",n.DSTDEV="DSTDEV",n.DSTDEVP="DSTDEVP",n.DSUM="DSUM",n.DVAR="DVAR",n.DVARP="DVARP",n))(zs||{});const _n="yyyy/mm/dd;@";function En(n){const r=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28)),t=Date.UTC(n.getFullYear(),n.getMonth(),n.getDate());let s=(t-r.getTime())/(1e3*3600*24);return t>e.getTime()&&(s+=1),Math.floor(s)+1}function jr(n){const r=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28));let t=Math.floor(n)-1;return t>(e.getTime()-r.getTime())/(1e3*3600*24)&&(t-=1),new Date(r.getTime()+t*(1e3*3600*24))}function yn(n){if(!/^\d{4}[-/](0?[1-9]|1[012])[-/](0?[1-9]|[12][0-9]|3[01])$/.test(n))return!1;const e=n.replace(/-/g,"/").replace(/T.+/,""),t=new Date(`${e}`);if(Number.isNaN(t.getTime()))return!1;const s=t.getFullYear(),i=(t.getMonth()+1).toString().padStart(2,"0"),a=t.getDate().toString().padStart(2,"0"),o=`${s}-${i}-${a}`;return n.replace(/\//g,"-").split("-").map(c=>c.padStart(2,"0")).join("-")===o}class wa extends T{calculate(r,e,t){if(r==null||e==null||t==null)return h.create(f.NA);if(r.isError())return r;if(e.isError())return e;if(t.isError())return t;const s=Math.max(r.isArray()?r.getRowCount():1,e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),i=Math.max(r.isArray()?r.getColumnCount():1,e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),a=he(s,i,r),o=he(s,i,e),u=he(s,i,t);return a.map((c,l,d)=>{const m=o.get(l,d)||ce.create(),R=u.get(l,d)||ce.create();if(c.isError())return c;if(m.isError())return m;if(R.isError())return R;if(c.isString()||m.isString()||R.isString())return h.create(f.VALUE);let D=+c.getValue();const C=Math.floor(+m.getValue()),A=+R.getValue();if(D<0||D>9999)return h.create(f.NUM);D>=0&&D<1899&&(D+=1900);const x=new Date(D,C-1,A),v=En(x);if(v<0)return h.create(f.NUM);const B=S.create(v);return B.setPattern(_n),B})}}class Pa extends T{calculate(r){return r==null?h.create(f.NA):r.isArray()?r.map(e=>this._handleSingleObject(e)):this._handleSingleObject(r)}_handleSingleObject(r){if(r.isError())return r;let e;const t=r.getValue();if(r.isString()){if(!yn(`${t}`))return h.create(f.VALUE);e=new Date(`${t}`)}else{const a=+r.getValue();if(a<0)return h.create(f.NUM);if(a===0)return S.create(0);e=jr(a)}const s=e.getDate();return S.create(s)}}class Va extends T{calculate(r,e){if(r==null||e==null)return h.create(f.NA);if(r.isError())return r;if(e.isError())return e;const t=Math.max(r.isArray()?r.getRowCount():1,e.isArray()?e.getRowCount():1),s=Math.max(r.isArray()?r.getColumnCount():1,e.isArray()?e.getColumnCount():1),i=he(t,s,r),a=he(t,s,e);return i.map((o,u,c)=>{const l=a.get(u,c)||ce.create();if(o.isError())return o;if(l.isError())return l;if(o.isString()||o.isBoolean()||l.isString()||l.isBoolean())return h.create(f.VALUE);const d=+o.getValue();if(d<0)return h.create(f.NUM);const m=Math.floor(+l.getValue()),R=jr(d),D=R.getUTCFullYear(),C=R.getUTCMonth()+m,A=R.getUTCDate(),x=new Date(Date.UTC(D,C,A)),v=En(x),B=S.create(v);return B.setPattern(_n),B})}}var nt=(n=>(n.DATE="DATE",n.DATEDIF="DATEDIF",n.DATEVALUE="DATEVALUE",n.DAY="DAY",n.DAYS="DAYS",n.DAYS360="DAYS360",n.EDATE="EDATE",n.EOMONTH="EOMONTH",n.HOUR="HOUR",n.ISOWEEKNUM="ISOWEEKNUM",n.MINUTE="MINUTE",n.MONTH="MONTH",n.NETWORKDAYS="NETWORKDAYS",n.NETWORKDAYS_INTL="NETWORKDAYS.INTL",n.NOW="NOW",n.SECOND="SECOND",n.TIME="TIME",n.TIMEVALUE="TIMEVALUE",n.TODAY="TODAY",n.WEEKDAY="WEEKDAY",n.WEEKNUM="WEEKNUM",n.WORKDAY="WORKDAY",n.WORKDAY_INTL="WORKDAY.INTL",n.YEAR="YEAR",n.YEARFRAC="YEARFRAC",n))(nt||{});class va extends T{calculate(r){return r==null?h.create(f.NA):r.isArray()?r.map(e=>this._handleSingleObject(e)):this._handleSingleObject(r)}_handleSingleObject(r){if(r.isError())return r;let e;const t=r.getValue();if(r.isString()){if(!yn(`${t}`))return h.create(f.VALUE);e=new Date(`${t}`)}else{const a=+r.getValue();if(a<0)return h.create(f.NUM);if(a===0)return S.create(1);e=jr(a)}const s=e.getUTCMonth()+1;return S.create(s)}}class Oa extends T{calculate(r){if(r)return h.create(f.NA);const e=En(new Date),t=S.create(e);return t.setPattern(_n),t}}class Fa extends T{calculate(r){return r==null?h.create(f.NA):r.isArray()?r.map(e=>this._handleSingleObject(e)):this._handleSingleObject(r)}_handleSingleObject(r){if(r.isError())return r;let e;const t=r.getValue();if(r.isString()){if(!yn(`${t}`))return h.create(f.VALUE);e=new Date(`${t}`)}else{const a=+t;if(a<0)return h.create(f.NUM);if(a===0)return S.create(1900);e=jr(a)}const s=e.getUTCFullYear();return S.create(s)}}const Hs=[[wa,nt.DATE],[Pa,nt.DAY],[Va,nt.EDATE],[va,nt.MONTH],[Oa,nt.TODAY],[Fa,nt.YEAR]],Ws=[];var Gs=(n=>(n.BESSELI="BESSELI",n.BESSELJ="BESSELJ",n.BESSELK="BESSELK",n.BESSELY="BESSELY",n.BIN2DEC="BIN2DEC",n.BIN2HEX="BIN2HEX",n.BIN2OCT="BIN2OCT",n.BITAND="BITAND",n.BITLSHIFT="BITLSHIFT",n.BITOR="BITOR",n.BITRSHIFT="BITRSHIFT",n.BITXOR="BITXOR",n.COMPLEX="COMPLEX",n.CONVERT="CONVERT",n.DEC2BIN="DEC2BIN",n.DEC2HEX="DEC2HEX",n.DEC2OCT="DEC2OCT",n.DELTA="DELTA",n.ERF="ERF",n.ERF_PRECISE="ERF.PRECISE",n.ERFC="ERFC",n.ERFC_PRECISE="ERFC.PRECISE",n.GESTEP="GESTEP",n.HEX2BIN="HEX2BIN",n.HEX2DEC="HEX2DEC",n.HEX2OCT="HEX2OCT",n.IMABS="IMABS",n.IMAGINARY="IMAGINARY",n.IMARGUMENT="IMARGUMENT",n.IMCONJUGATE="IMCONJUGATE",n.IMCOS="IMCOS",n.IMCOSH="IMCOSH",n.IMCOT="IMCOT",n.IMCSC="IMCSC",n.IMCSCH="IMCSCH",n.IMDIV="IMDIV",n.IMEXP="IMEXP",n.IMLN="IMLN",n.IMLOG10="IMLOG10",n.IMLOG2="IMLOG2",n.IMPOWER="IMPOWER",n.IMPRODUCT="IMPRODUCT",n.IMREAL="IMREAL",n.IMSEC="IMSEC",n.IMSECH="IMSECH",n.IMSIN="IMSIN",n.IMSINH="IMSINH",n.IMSQRT="IMSQRT",n.IMSUB="IMSUB",n.IMSUM="IMSUM",n.IMTAN="IMTAN",n.OCT2BIN="OCT2BIN",n.OCT2DEC="OCT2DEC",n.OCT2HEX="OCT2HEX",n))(Gs||{});const Xs=[];var Ks=(n=>(n.ACCRINT="ACCRINT",n.ACCRINTM="ACCRINTM",n.AMORDEGRC="AMORDEGRC",n.AMORLINC="AMORLINC",n.COUPDAYBS="COUPDAYBS",n.COUPDAYS="COUPDAYS",n.COUPDAYSNC="COUPDAYSNC",n.COUPNCD="COUPNCD",n.COUPNUM="COUPNUM",n.COUPPCD="COUPPCD",n.CUMIPMT="CUMIPMT",n.CUMPRINC="CUMPRINC",n.DB="DB",n.DDB="DDB",n.DISC="DISC",n.DOLLARDE="DOLLARDE",n.DOLLARFR="DOLLARFR",n.DURATION="DURATION",n.EFFECT="EFFECT",n.FV="FV",n.FVSCHEDULE="FVSCHEDULE",n.INTRATE="INTRATE",n.IPMT="IPMT",n.IRR="IRR",n.ISPMT="ISPMT",n.MDURATION="MDURATION",n.MIRR="MIRR",n.NOMINAL="NOMINAL",n.NPER="NPER",n.NPV="NPV",n.ODDFPRICE="ODDFPRICE",n.ODDFYIELD="ODDFYIELD",n.ODDLPRICE="ODDLPRICE",n.ODDLYIELD="ODDLYIELD",n.PDURATION="PDURATION",n.PMT="PMT",n.PPMT="PPMT",n.PRICE="PRICE",n.PRICEDISC="PRICEDISC",n.PRICEMAT="PRICEMAT",n.PV="PV",n.RATE="RATE",n.RECEIVED="RECEIVED",n.RRI="RRI",n.SLN="SLN",n.SYD="SYD",n.TBILLEQ="TBILLEQ",n.TBILLPRICE="TBILLPRICE",n.TBILLYIELD="TBILLYIELD",n.VDB="VDB",n.XIRR="XIRR",n.XNPV="XNPV",n.YIELD="YIELD",n.YIELDDISC="YIELDDISC",n.YIELDMAT="YIELDMAT",n))(Ks||{}),Ve=(n=>(n.CELL="CELL",n.ERROR_TYPE="ERROR.TYPE",n.INFO="INFO",n.ISBLANK="ISBLANK",n.ISERR="ISERR",n.ISERROR="ISERROR",n.ISEVEN="ISEVEN",n.ISFORMULA="ISFORMULA",n.ISLOGICAL="ISLOGICAL",n.ISNA="ISNA",n.ISNONTEXT="ISNONTEXT",n.ISNUMBER="ISNUMBER",n.ISODD="ISODD",n.ISOMITTED="ISOMITTED",n.ISREF="ISREF",n.ISTEXT="ISTEXT",n.N="N",n.NA="NA",n.SHEET="SHEET",n.SHEETS="SHEETS",n.TYPE="TYPE",n))(Ve||{});class Ua extends T{calculate(r){return r==null?h.create(f.NA):r.isNull()?I.create(!0):r.isArray()?r.mapValue(e=>e.isNull()?I.create(!0):I.create(!1)):I.create(!1)}}class Ma extends T{calculate(r){return r==null?h.create(f.NA):r.getValue()===f.NA?I.create(!1):r.isError()?I.create(!0):r.isArray()?r.mapValue(e=>e.getValue()===f.NA?I.create(!1):e.isError()?I.create(!0):I.create(!1)):I.create(!1)}}class Ba extends T{calculate(r){return r==null?h.create(f.NA):r.isError()?I.create(!0):r.isArray()?r.mapValue(e=>e.isError()?I.create(!0):I.create(!1)):I.create(!1)}}class ka extends T{calculate(r){if(r==null)return h.create(f.NA);if(r.isArray()||r.isBoolean()||!r.isNumber()&&(r=r.convertToNumberObjectValue(),!r.isNumber()))return h.create(f.VALUE);const e=r.getValue(),t=Math.floor(Math.abs(e));return I.create(t%2===0)}}class Ta extends T{calculate(r){return r==null?h.create(f.NA):r.isBoolean()?I.create(!0):r.isArray()?r.mapValue(e=>e.isBoolean()?I.create(!0):I.create(!1)):I.create(!1)}}class ja extends T{calculate(r){return r==null?h.create(f.NA):r.getValue()===f.NA?I.create(!0):r.isArray()?r.mapValue(e=>e.getValue()===f.NA?I.create(!0):I.create(!1)):I.create(!1)}}class $a extends T{calculate(r){return r==null?h.create(f.NA):!r.isArray()&&!r.isString()?I.create(!0):r.isArray()?r.mapValue(e=>e.isString()?I.create(!1):I.create(!0)):I.create(!1)}}class Ia extends T{calculate(r){return r==null?h.create(f.NA):r.isNumber()?I.create(!0):r.isArray()?r.mapValue(e=>e.isNumber()?I.create(!0):I.create(!1)):I.create(!1)}}class Ya extends T{calculate(r){if(r==null)return h.create(f.NA);if(r.isArray()||r.isBoolean()||!r.isNumber()&&(r=r.convertToNumberObjectValue(),!r.isNumber()))return h.create(f.VALUE);const e=r.getValue(),t=Math.floor(Math.abs(e));return I.create(t%2!==0)}}class Qa extends T{constructor(){super(...arguments);b(this,"needsReferenceObject",!0)}calculate(e){return e==null?h.create(f.NA):e.isReferenceObject()?I.create(!0):I.create(!1)}}class za extends T{calculate(r){return r==null?h.create(f.NA):r.isString()?I.create(!0):r.isArray()?r.mapValue(e=>e.isString()?I.create(!0):I.create(!1)):I.create(!1)}}const qs=[[Ua,Ve.ISBLANK],[Ma,Ve.ISERR],[ka,Ve.ISEVEN],[Ya,Ve.ISODD],[Ba,Ve.ISERROR],[Ta,Ve.ISLOGICAL],[ja,Ve.ISNA],[$a,Ve.ISNONTEXT],[Ia,Ve.ISNUMBER],[Qa,Ve.ISREF],[za,Ve.ISTEXT]];class Ha extends T{calculate(...r){if(r.length===0)return h.create(f.NA);let e=!0,t=!0,s=null;for(const i of r){if(i.isError())return i;if(i.isArray()){if(i.iterator(a=>{if(a!=null&&a.isError())return s=a,!1;(a!=null&&a.isBoolean()||a!=null&&a.isNumber())&&(e=e&&!!a.getValue(),t=!1)}),s)return s}else(i.isBoolean()||i.isNumber())&&(e=e&&!!i.getValue(),t=!1)}return t?h.create(f.VALUE):I.create(e)}}var st=(n=>(n.AND="AND",n.BYCOL="BYCOL",n.BYROW="BYROW",n.FALSE="FALSE",n.IF="IF",n.IFERROR="IFERROR",n.IFNA="IFNA",n.IFS="IFS",n.LAMBDA="LAMBDA",n.LET="LET",n.MAKEARRAY="MAKEARRAY",n.MAP="MAP",n.NOT="NOT",n.OR="OR",n.REDUCE="REDUCE",n.SCAN="SCAN",n.SWITCH="SWITCH",n.TRUE="TRUE",n.XOR="XOR",n))(st||{});class Wa extends T{calculate(r,e,t=I.create(!1)){if(r==null||e==null)return h.create(f.NA);if(r.isError())return r;if(e.isError())return e;if(r=this._getSingleValueObject(r),!r.isArray())return r.getValue()?e:t;const s=Math.max(r.isArray()?r.getRowCount():1,e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),i=Math.max(r.isArray()?r.getColumnCount():1,e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),a=he(s,i,r),o=he(s,i,e,h.create(f.NA)),u=he(s,i,t,h.create(f.NA));return a.map((c,l,d)=>{if(c.isNull())return h.create(f.NA);{const m=o.get(l,d)||ce.create(),R=u.get(l,d)||ce.create();return this._calculateSingleCell(c,m,R)}})}_getSingleValueObject(r){return r.isArray()&&r.getRowCount()===1&&r.getColumnCount()===1?r.getFirstCell():r}_calculateSingleCell(r,e,t){return r.isNull()?h.create(f.NA):r.getValue()?e.isNull()?h.create(f.NA):e:t.isNull()?h.create(f.NA):t}}class Ga extends T{calculate(r,e){if(r==null||e==null)return h.create(f.NA);if(r.isError())return r;if(e.isError())return e;if(!r.isArray())return r.isError()?e:r;const t=Math.max(r.isArray()?r.getRowCount():1,e.isArray()?e.getRowCount():1),s=Math.max(r.isArray()?r.getColumnCount():1,e.isArray()?e.getColumnCount():1),i=he(t,s,r),a=he(t,s,e);return i.iterator((o,u,c)=>{o!=null&&o.isError()&&i.set(u,c,a.get(u,c))}),i}}class Xa extends T{calculate(...r){return h.create(f.VALUE)}}class Ka extends T{calculate(...r){if(r.length!==3)return h.create(f.VALUE);const e=this.getIndexNumValue(r[0]);if(typeof e!="number")return e;const t=this.getIndexNumValue(r[1]);if(typeof t!="number")return t;if(!(r[2].isValueObject()&&r[2].isLambda()))return h.create(f.VALUE);const s=r[2],i=[];for(let a=0;a<e;a++){i[a]==null&&(i[a]=[]);for(let o=0;o<t;o++){const u=s.execute(S.create(a+1),S.create(o+1));i[a][o]=u}}return new Aa(i)}isAsync(){return!0}}class qa extends T{calculate(...r){if(r.length===0)return new h(f.NA);let e=!1,t=!0,s=null;for(const i of r){if(i.isError())return i;if(i.isArray()){if(i.iterator(a=>{if(a!=null&&a.isError())return s=a,!1;(a!=null&&a.isBoolean()||a!=null&&a.isNumber())&&(e=e||!!a.getValue(),t=!1)}),s)return s}else(i.isBoolean()||i.isNumber())&&(e=e||!!i.getValue(),t=!1)}return t?new h(f.VALUE):new I(e)}}const Ns=[[Ha,st.AND],[Wa,st.IF],[Xa,st.LAMBDA],[Ka,st.MAKEARRAY],[qa,st.OR],[Ga,st.IFERROR]];class Na extends T{calculate(r,e,t,s,i){if(r==null||e==null)return h.create(f.NA);if(r.isError())return r;if(e.isError())return e;if(t!=null&&t.isError())return t;if(s!=null&&s.isError())return s;if(i!=null&&i.isError())return i;const a=Number(r.getValue())-1,o=Number(e.getValue())-1;if(Number.isNaN(a)||Number.isNaN(o))return h.create(f.VALUE);const u=t?Za(t.getValue()):E.AbsoluteRefType.ALL,c=this.getZeroOrOneByOneDefault(s),l=i?`${i.getValue()}`:"",d=Rr(l)?`'${l}'`:l,m={startRow:a,startColumn:o,endRow:a,endColumn:o,startAbsoluteRefType:u,endAbsoluteRefType:u},R=s&&!c?La(m):Ne(m);return Re.create(d!==""?`${d}!${R}`:R)}}function Za(n){switch(n){case 1:return E.AbsoluteRefType.ALL;case 2:return E.AbsoluteRefType.ROW;case 3:return E.AbsoluteRefType.COLUMN;case 4:return E.AbsoluteRefType.NONE;default:return E.AbsoluteRefType.ALL}}class Ja extends T{calculate(r){if(r==null)return S.create(this.column+1);if(r.isError())return r;if(!r.isArray())return h.create(f.NA);const e=r.getCurrentColumn(),t=r.getColumnCount(),s=[];for(let a=0;a<t;a++)s.push(S.create(e+a+1));const i={calculateValueList:[s],rowCount:1,columnCount:t,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return Ce.create(i)}}class eo extends T{calculate(r){if(r==null)return h.create(f.NA);if(r.isError())return r;if(r.isString()||r.isNumber()||r.isBoolean())return S.create(1);if(!r.isArray())return h.create(f.NA);const e=r.getColumnCount();return S.create(e)}}var Se=(n=>(n.ADDRESS="ADDRESS",n.AREAS="AREAS",n.CHOOSE="CHOOSE",n.CHOOSECOLS="CHOOSECOLS",n.CHOOSEROWS="CHOOSEROWS",n.COLUMN="COLUMN",n.COLUMNS="COLUMNS",n.DROP="DROP",n.EXPAND="EXPAND",n.FILTER="FILTER",n.FORMULATEXT="FORMULATEXT",n.GETPIVOTDATA="GETPIVOTDATA",n.HLOOKUP="HLOOKUP",n.HSTACK="HSTACK",n.HYPERLINK="HYPERLINK",n.IMAGE="IMAGE",n.INDEX="INDEX",n.INDIRECT="INDIRECT",n.LOOKUP="LOOKUP",n.MATCH="MATCH",n.OFFSET="OFFSET",n.ROW="ROW",n.ROWS="ROWS",n.RTD="RTD",n.SORT="SORT",n.SORTBY="SORTBY",n.TAKE="TAKE",n.TOCOL="TOCOL",n.TOROW="TOROW",n.TRANSPOSE="TRANSPOSE",n.UNIQUE="UNIQUE",n.VLOOKUP="VLOOKUP",n.VSTACK="VSTACK",n.WRAPCOLS="WRAPCOLS",n.WRAPROWS="WRAPROWS",n.XLOOKUP="XLOOKUP",n.XMATCH="XMATCH",n))(Se||{});class to extends T{calculate(r,e,t,s){if(r==null||e==null||t==null)return h.create(f.NA);if(r.isError())return r;if(e.isError())return h.create(f.REF);if(!e.isArray()||t.isError()||s!=null&&s.isError())return h.create(f.NA);const i=this.getZeroOrOneByOneDefault(s);if(i==null)return h.create(f.VALUE);const a=this.getIndexNumValue(t);if(a instanceof h)return a;const o=e.slice([0,1]),u=e.slice([a-1,a]);return o==null||u==null?h.create(f.REF):r.isArray()?r.map(c=>this._handleSingleObject(c,o,u,i)):this._handleSingleObject(r,o,u,i)}_handleSingleObject(r,e,t,s){return s===0?this.equalSearch(r,e,t):this.binarySearch(r,e,t)}}class ro extends T{isAddress(){return!0}calculate(r,e){if(r==null)return h.create(f.NA);if(r.isError())return r;let t=this.getZeroOrOneByOneDefault(e);if(t==null&&(t=1),r.isArray()){const l=r;if(l.getRowCount()===1&&l.getColumnCount()===1)r=l.getFirstCell();else return l.map(()=>h.create(f.VALUE))}if(!r.isString())return h.create(f.REF);const s=this._convertToDefinedName(r.getValue());if(t===0){const l=Fs(s),{range:d,sheetName:m,unitId:R}=l,D=new Qt(d);return D.setForcedUnitIdDirect(R),D.setForcedSheetName(m),this._setDefault(D)}if(new RegExp(Gt).test(s))return this._setDefault(new gn(s));if(new RegExp(Es).test(s))return this._setDefault(new pn(s));if(new RegExp(ys).test(s))return this._setDefault(new Rn(s));const i=Ye(s),{range:a,sheetName:o,unitId:u}=i,c=new Qt(a);return c.setForcedUnitIdDirect(u),c.setForcedSheetName(o),this._setDefault(c)}_setDefault(r){return this.unitId==null||this.subUnitId==null?h.create(f.REF):(r.setDefaultUnitId(this.unitId),r.setDefaultSheetId(this.subUnitId),r)}_convertToDefinedName(r){const e=this.getDefinedName(r);if(e==null)return r;const t=e.formulaOrRefString;return t==null?r:t.startsWith(de.EQUALS)?t.slice(1):t}}class no extends T{constructor(){super(...arguments);b(this,"needsExpandParams",!0)}calculate(e,t,s){return e==null||t==null?h.create(f.NA):e.isError()?e:t.isError()?h.create(f.REF):t.isArray()?s!=null&&s.isError()?s:t.getColumnCount()===1||t.getRowCount()===1?s!=null&&!s.isArray()?h.create(f.REF):this._handleVector(e,t,s):this._handleArray(e,t):h.create(f.VALUE)}_handleVector(e,t,s){if(s==null)s=t;else if(s.getRowCount()!==t.getRowCount()||s.getColumnCount()!==t.getColumnCount())return h.create(f.REF);return e.isArray()?e.map(i=>this.binarySearch(i,t,s)):this.binarySearch(e,t,s)}_handleArray(e,t){const s=t.getRowCount(),i=t.getColumnCount();let a,o;return i>s?(a=t.slice([0,1]),o=t.slice([s-1,s])):(a=t.slice(void 0,[0,1]),o=t.slice(void 0,[i-1,i])),a==null||o==null?h.create(f.VALUE):e.isArray()?e.map(u=>this.binarySearch(u,a,o)):this.binarySearch(e,a,o)}}class so extends T{calculate(r,e,t){if(r==null||e==null)return h.create(f.NA);if(r.isError())return r;if(e.isError())return h.create(f.REF);if(!e.isArray())return h.create(f.VALUE);const s=e.getRowCount(),i=e.getColumnCount();if(s!==1&&i!==1||t!=null&&t.isError())return h.create(f.NA);const a=this.getMatchTypeValue(t);return a==null?h.create(f.VALUE):r.isArray()?r.map(o=>this._handleSingleObject(o,e,a)):this._handleSingleObject(r,e,a)}_handleSingleObject(r,e,t){const s=this._getSearchModeValue(t),i=e.orderSearch(r,s);if(i==null)return h.create(f.NA);if(i instanceof h)return i;const a=e.getRowCount()===1?i.column+1:i.row+1;return S.create(a)}_getSearchModeValue(r){switch(r){case 1:return xe.MIN;case 0:return xe.NORMAL;case-1:return xe.MAX}}}class io extends T{constructor(){super(...arguments);b(this,"needsReferenceObject",!0)}calculate(e,t,s,i,a){if(e==null||t==null||s==null)return h.create(f.NA);if(e.isError())return e;if(t.isError())return t;if(s.isError())return s;if(i!=null&&i.isError())return i;if(a!=null&&a.isError())return a;if(!e.isReferenceObject())return h.create(f.VALUE);e=e;const o=e.getRowCount(),u=e.getColumnCount();t.isReferenceObject()&&(t=t.toArrayValueObject()),s.isReferenceObject()&&(s=s.toArrayValueObject()),i?i.isReferenceObject()&&(i=i.toArrayValueObject()):i=S.create(o),a?a.isReferenceObject()&&(a=a.toArrayValueObject()):a=S.create(u);const c=Math.max(t.isArray()?t.getRowCount():1,s.isArray()?s.getRowCount():1,i.isArray()?i.getRowCount():1,a.isArray()?a.getRowCount():1),l=Math.max(t.isArray()?t.getColumnCount():1,s.isArray()?s.getColumnCount():1,i.isArray()?i.getColumnCount():1,a.isArray()?a.getColumnCount():1);if(t=t,s=s,i=i,a=a,c===1&&l===1)return this._handleSingleObject(e,t,s,i,a);const d=he(c,l,t,h.create(f.NA)),m=he(c,l,s,h.create(f.NA)),R=he(c,l,i,h.create(f.NA)),D=he(c,l,a,h.create(f.NA));return d.mapValue((C,A,x)=>{const v=m.get(A,x),B=R.get(A,x),H=D.get(A,x);return C.isError()?C:v.isError()?v:B.isError()?B:H.isError()?H:this._handleSingleObject(e,C,v,B,H,!0)})}_handleSingleObject(e,t,s,i,a,o=!1){const{startRow:u,startColumn:c}=e.getRangeData(),l=this.getIndexNumValue(t),d=this.getIndexNumValue(s);if(typeof l!="number"||typeof d!="number")return h.create(f.VALUE);const m=u+l,R=c+d;if(m<0||R<0)return h.create(f.REF);const D=this.getIndexNumValue(i),C=this.getIndexNumValue(a);if(typeof D!="number"||typeof C!="number")return h.create(f.VALUE);if(D===0||C===0)return h.create(f.REF);const A=D>0?m+D-1:m+D+1,x=C>0?R+C-1:R+C+1;if(A<0||x<0)return h.create(f.REF);if(o)return h.create(f.VALUE);const v=m<A?m:A,B=R<x?R:x,H=m>A?m:A,oe=R>x?R:x,me={startRow:v,startColumn:B,endRow:H,endColumn:oe};return this.createReferenceObject(e,me)}}class ao extends T{calculate(r){if(r==null)return S.create(this.row+1);if(r.isError())return r;if(!r.isArray())return h.create(f.NA);const e=r.getCurrentRow(),t=r.getRowCount(),s=[];for(let a=0;a<t;a++)s.push([S.create(e+a+1)]);const i={calculateValueList:s,rowCount:t,columnCount:1,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return Ce.create(i)}}class oo extends T{calculate(r){if(r==null)return h.create(f.NA);if(r.isError())return r;if(r.isString()||r.isNumber()||r.isBoolean())return S.create(1);if(!r.isArray())return h.create(f.NA);const e=r.getRowCount();return S.create(e)}}class uo extends T{calculate(r,e,t,s){if(r==null||e==null||t==null)return h.create(f.NA);if(r.isError())return r;if(e.isError())return h.create(f.REF);if(!e.isArray())return h.create(f.VALUE);if(t.isError()||s!=null&&s.isError())return h.create(f.NA);if(s=s!=null?s:I.create(!0),es(r)&&es(s)&&t.isArray()){r=r.isArray()?r.getFirstCell():r;const c=this.getZeroOrOneByOneDefault(s);if(c==null)return h.create(f.VALUE);let l;const d=[];return t.iterator((m,R,D)=>{if(m==null)return l=h.create(f.VALUE),!1;const C=this._handleTableArray(r,e,m,c);if(C.isError())return l=C,!1;d[R]===void 0&&(d[R]=[]),d[R][D]=C}),l||zt(d,d.length,d[0].length,this.unitId||"",this.subUnitId||"")}const i=Math.max(r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1),a=Math.max(r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1),o=he(i,a,r),u=he(i,a,s);return o.map((c,l,d)=>{if(c.isError())return c;const m=u.get(l,d);if(m==null)return h.create(f.VALUE);if(m.isError())return m;const R=this.getZeroOrOneByOneDefault(m);return R==null?h.create(f.VALUE):this._handleTableArray(c,e,t,R)})}_handleTableArray(r,e,t,s){const i=this.getIndexNumValue(t);if(i instanceof h)return i;const a=e.slice(void 0,[0,1]);if(a==null)return h.create(f.VALUE);const o=e.slice(void 0,[i-1,i]);return o==null?h.create(f.REF):this._handleSingleObject(r,a,o,s)}_handleSingleObject(r,e,t,s){return s===0?this.equalSearch(r,e,t):this.binarySearch(r,e,t)}}class co extends T{calculate(r,e,t,s,i,a){if(r==null||e==null||t==null)return h.create(f.NA);if(r.isError())return r;if(e.isError())return h.create(f.REF);if(!e.isArray())return h.create(f.VALUE);const o=e.getRowCount(),u=e.getColumnCount();if(o!==1&&u!==1)return h.create(f.VALUE);if(t.isError())return h.create(f.REF);if(!t.isArray())return h.create(f.VALUE);const c=t.getRowCount(),l=t.getColumnCount();if(o!==c&&u!==l)return h.create(f.VALUE);if(s!=null&&s.isError()||i!=null&&i.isError()||a!=null&&a.isError())return h.create(f.NA);s==null&&(s=h.create(f.NA));const d=this.getIndexNumValue(i||S.create(0));if(d instanceof h)return d;const m=this.getIndexNumValue(a||S.create(1));if(m instanceof h)return m;if(r.isArray()){let C;return o===1?C=t.slice([0,1]):C=t.slice(void 0,[0,1]),C==null?h.create(f.NA):r.map(A=>{const x=this._handleSingleObject(A,e,C,d,m);return x.isError()?s:x})}if(u===l&&o===c){const C=this._handleSingleObject(r,e,t,d,m);return C.isError()?s:C}let R=0;u===l&&(R=1);const D=this._handleExpandObject(r,e,t,d,m,R);return D==null?h.create(f.NA):D}_handleExpandObject(r,e,t,s,i,a=0){return(i===2||i===-2)&&s!==2?this.binarySearchExpand(r,e,t,a,this._getSearchModeValue(i)):s===2?this.fuzzySearchExpand(r,e,t,i!==-1,a):s===-1||s===1?this.orderSearchExpand(r,e,t,s===1?xe.MAX:xe.MIN,i===-1,a):this.equalSearchExpand(r,e,t,i!==-1,a)}_handleSingleObject(r,e,t,s,i){return(i===2||i===-2)&&s!==2?this.binarySearch(r,e,t,this._getSearchModeValue(i)):s===2?this.fuzzySearch(r,e,t,i!==-1):s===-1||s===1?this.orderSearch(r,e,t,s===1?xe.MAX:xe.MIN,i===-1):this.equalSearch(r,e,t,i!==-1)}_getSearchModeValue(r){return r===-2?Ke.MAX:Ke.MIN}}class lo extends T{calculate(r,e,t,s){if(r==null||e==null)return h.create(f.NA);if(r.isError())return r;if(e.isError())return h.create(f.REF);if(!e.isArray())return h.create(f.VALUE);const i=e.getRowCount(),a=e.getColumnCount();if(i!==1&&a!==1)return h.create(f.VALUE);if(t!=null&&t.isError()||s!=null&&s.isError())return h.create(f.NA);const o=this.getIndexNumValue(t||S.create(0));if(o instanceof h)return o;const u=this.getIndexNumValue(s||S.create(1));return u instanceof h?u:r.isArray()?r.map(c=>this._handleSingleObject(c,e,o,u)):this._handleSingleObject(r,e,o,u)}_handleSingleObject(r,e,t,s){let i;if((s===2||s===-2)&&t!==2){const a=this._getSearchModeValue(s);i=e.binarySearch(r,a)}else if(t===2){const a=e.compare(r,U.EQUALS);let o;if(s!==-1?o=a.getFirstTruePosition():o=a.getLastTruePosition(),o==null)return h.create(f.NA);i=e.getRowCount()===1?o.column:o.row}else if(t===-1||t===1){const a=e.orderSearch(r,t===1?xe.MAX:xe.MIN,s===-1);if(a==null)return h.create(f.NA);if(a instanceof h)return a;i=e.getRowCount()===1?a.column:a.row}else{const a=e.isEqual(r);let o;if(s!==-1?o=a.getFirstTruePosition():o=a.getLastTruePosition(),o==null)return h.create(f.NA);i=e.getRowCount()===1?o.column:o.row}return i==null?h.create(f.NA):S.create(i+1)}_getSearchModeValue(r){return r===-2?Ke.MAX:Ke.MIN}}class fo extends T{constructor(){super(...arguments);b(this,"needsReferenceObject",!0)}calculate(e,t,s,i){if(e==null)return h.create(f.NA);if(e.isError())return e;if(t!=null&&t.isError())return t;if(s!=null&&s.isError())return s;if(i!=null&&i.isError())return i;let a=0,o=0;if(e.isValueObject())a=1,o=1;else if(e.isReferenceObject()){const{startRow:l,endRow:d,startColumn:m,endColumn:R}=e.getRangeData();a=d-l+1,o=R-m+1}else return h.create(f.VALUE);a===1&&o>1&&s==null?(s=t!=null?t:S.create(0),t=S.create(0)):(t=t!=null?t:S.create(0),s=s!=null?s:S.create(0)),i=i!=null?i:S.create(1),t.isReferenceObject()&&(t=t.toArrayValueObject()),s.isReferenceObject()&&(s=s.toArrayValueObject()),i.isReferenceObject()&&(i=i.toArrayValueObject());const u=Math.max(t.isArray()?t.getRowCount():1,s.isArray()?s.getRowCount():1,i.isArray()?i.getRowCount():1),c=Math.max(t.isArray()?t.getColumnCount():1,s.isArray()?s.getColumnCount():1,i.isArray()?i.getColumnCount():1);if(t=t,s=s,i=i,u===1&&c===1)return this._calculateSingleCell(e,t,s,i);{const l=he(u,c,t,h.create(f.NA)),d=he(u,c,s,h.create(f.NA)),m=he(u,c,i,h.create(f.NA));return l.map((R,D,C)=>{const A=d.get(D,C)||ce.create(),x=m.get(D,C)||ce.create(),v=this._calculateSingleCell(e,R,A,x);return v.isReferenceObject()?v.toArrayValueObject().getFirstCell():v})}}_calculateSingleCell(e,t,s,i){if(t.isError())return t;const a=this._getNumberValue(t);if(a===void 0||a<0)return h.create(f.VALUE);if(s.isError())return s;const o=this._getNumberValue(s);if(o===void 0||o<0)return h.create(f.VALUE);if(i.isError())return i;const u=this._getAreaNumberValue(i);return u===void 0||u<1?h.create(f.VALUE):e.isReferenceObject()?this._getReferenceObject(e,a,o,u):e.isValueObject()&&a===1&&o===1?e:h.create(f.REF)}_getNumberValue(e){if(e==null)return 0;let t=0;if(e.isBoolean())e.getValue()===!0&&(t=1);else{if(e.isString())return;e.isNumber()?t=Math.floor(e.getValue()):e.isNull()&&(t=0)}return t}_getAreaNumberValue(e){if(e==null)return 1;let t=0;if(e.isBoolean())e.getValue()===!0&&(t=1);else{if(e.isString())return;e.isNumber()?t=Math.floor(e.getValue()):e.isNull()&&(t=0)}return t}_getReferenceObject(e,t,s,i){const{startRow:a,endRow:o,startColumn:u,endColumn:c}=e.getRangeData();let l=0,d=0,m=0,R=0;if(t===0?(l=a,d=o):l=d=a+t-1,s===0?(m=u,R=c):m=R=u+s-1,l>o||m>c)return h.create(f.REF);const D={startRow:l,startColumn:m,endRow:d,endColumn:R};return this.createReferenceObject(e,D)}}const Zs=[[Na,Se.ADDRESS],[Ja,Se.COLUMN],[eo,Se.COLUMNS],[fo,Se.INDEX],[ro,Se.INDIRECT],[io,Se.OFFSET],[ao,Se.ROW],[oo,Se.ROWS],[uo,Se.VLOOKUP],[no,Se.LOOKUP],[so,Se.MATCH],[to,Se.HLOOKUP],[co,Se.XLOOKUP],[lo,Se.XMATCH]];class ho extends T{calculate(r){return r==null?h.create(f.NA):(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?h.create(f.VALUE):r.abs())}}class mo extends T{calculate(r){return r==null?h.create(f.NA):(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?new h(f.VALUE):r.acos())}}class go extends T{calculate(r){return r==null?h.create(f.NA):(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?h.create(f.VALUE):r.acosh())}}class po extends T{calculate(r){return r==null?h.create(f.NA):(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:r.isArray()?r.map(e=>e.isError()?e:ts(e)):ts(r))}}function ts(n){let r=n.getValue();if(n.isBoolean()&&(r=r?1:0),!Number.isFinite(r))return h.create(f.VALUE);const e=Math.atan(1/Number(r));return Number.isNaN(e)?h.create(f.VALUE):S.create(e)}var we=(n=>(n.ABS="ABS",n.ACOS="ACOS",n.ACOSH="ACOSH",n.ACOT="ACOT",n.ACOTH="ACOTH",n.AGGREGATE="AGGREGATE",n.ARABIC="ARABIC",n.ASIN="ASIN",n.ASINH="ASINH",n.ATAN="ATAN",n.ATAN2="ATAN2",n.ATANH="ATANH",n.BASE="BASE",n.CEILING="CEILING",n.CEILING_MATH="CEILING.MATH",n.CEILING_PRECISE="CEILING.PRECISE",n.COMBIN="COMBIN",n.COMBINA="COMBINA",n.COS="COS",n.COSH="COSH",n.COT="COT",n.COTH="COTH",n.CSC="CSC",n.CSCH="CSCH",n.DECIMAL="DECIMAL",n.DEGREES="DEGREES",n.EVEN="EVEN",n.EXP="EXP",n.FACT="FACT",n.FACTDOUBLE="FACTDOUBLE",n.FLOOR="FLOOR",n.FLOOR_MATH="FLOOR.MATH",n.FLOOR_PRECISE="FLOOR.PRECISE",n.GCD="GCD",n.INT="INT",n.ISO_CEILING="ISO.CEILING",n.LCM="LCM",n.LET="LET",n.LN="LN",n.LOG="LOG",n.LOG10="LOG10",n.MDETERM="MDETERM",n.MINVERSE="MINVERSE",n.MMULT="MMULT",n.MOD="MOD",n.MROUND="MROUND",n.MULTINOMIAL="MULTINOMIAL",n.MUNIT="MUNIT",n.ODD="ODD",n.PI="PI",n.POWER="POWER",n.PRODUCT="PRODUCT",n.QUOTIENT="QUOTIENT",n.RADIANS="RADIANS",n.RAND="RAND",n.RANDARRAY="RANDARRAY",n.RANDBETWEEN="RANDBETWEEN",n.ROMAN="ROMAN",n.ROUND="ROUND",n.ROUNDDOWN="ROUNDDOWN",n.ROUNDUP="ROUNDUP",n.SEC="SEC",n.SECH="SECH",n.SERIESSUM="SERIESSUM",n.SEQUENCE="SEQUENCE",n.SIGN="SIGN",n.SIN="SIN",n.SINH="SINH",n.SQRT="SQRT",n.SQRTPI="SQRTPI",n.SUBTOTAL="SUBTOTAL",n.SUM="SUM",n.SUMIF="SUMIF",n.SUMIFS="SUMIFS",n.SUMPRODUCT="SUMPRODUCT",n.SUMSQ="SUMSQ",n.SUMX2MY2="SUMX2MY2",n.SUMX2PY2="SUMX2PY2",n.SUMXMY2="SUMXMY2",n.TAN="TAN",n.TANH="TANH",n.TRUNC="TRUNC",n))(we||{});class Ro extends T{calculate(r,e){return r==null||e==null?h.create(f.NA):(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:(e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:r.mod(e)))}}class _o extends T{calculate(r,e){return r==null||e==null?h.create(f.NA):(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:(e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:r.pow(e)))}}class Eo extends T{calculate(...r){if(r.length===0)return h.create(f.NA);let e=S.create(1);for(let t=0;t<r.length;t++){let s=r[t];if(!s.isNull()){if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isArray()&&(s=this._multiplyArray(s)),s.isError())return s;if(e=e.multiply(s),e.isError())return e}}return e}_multiplyArray(r){let e=S.create(1);return r.iterator(t=>{if(t==null||t.isString()||t.isBoolean()||t.isNull())return!0;if(t.isError())return e=t,!1;e=e.multiply(t)}),e}}class yo extends T{constructor(){super(...arguments);b(this,"needsReferenceObject",!0)}calculate(e,...t){if(e==null)return h.create(f.NA);if(e.isError())return e;if(t.length===0)return h.create(f.NA);if(e.isReferenceObject()){const s=[];return e.iterator((i,a,o)=>{s[a]==null&&(s[a]=[]),s[a][o]=this._handleSingleObject(i,...t)}),zt(s,s.length,s[0].length)}return this._handleSingleObject(e,...t)}_handleSingleObject(e,...t){const s=this._getIndexNumValue(e);let i;if(s instanceof h)return s;switch(s){case 1:i=this._average(!1,...t);break;case 2:i=this._count(!1,...t);break;case 3:i=this._counta(!1,...t);break;case 4:i=this._max(!1,...t);break;case 5:i=this._min(!1,...t);break;case 6:i=this._product(!1,...t);break;case 7:i=this._stdev(!1,...t);break;case 8:i=this._stdevp(!1,...t);break;case 9:i=this._sum(!1,...t);break;case 10:i=this._var(!1,...t);break;case 11:i=this._varp(!1,...t);break;case 101:i=this._average(!0,...t);break;case 102:i=this._count(!0,...t);break;case 103:i=this._counta(!0,...t);break;case 104:i=this._max(!0,...t);break;case 105:i=this._min(!0,...t);break;case 106:i=this._product(!0,...t);break;case 107:i=this._stdev(!0,...t);break;case 108:i=this._stdevp(!0,...t);break;case 109:i=this._sum(!0,...t);break;case 110:i=this._var(!0,...t);break;case 111:i=this._varp(!0,...t);break;default:i=h.create(f.VALUE)}return i}_getIndexNumValue(e){const t=e?Number(e.getValue()):0;if(Number.isNaN(t))return h.create(f.VALUE);const s=Math.floor(t);return s>=1&&s<=11||s>=101&&s<=111?s:h.create(f.VALUE)}_average(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:s.mean()}_count(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:s.count()}_counta(e,...t){let s=S.create(0);for(let i=0;i<t.length;i++){const a=t[i];if(!a.isReferenceObject())return h.create(f.VALUE);const o=a.getRowData();a.iterator((u,c)=>{if(e&&this._isRowHidden(o,c)||u==null||u.isNull())return!0;s=s.plusBy(1)})}return s}_max(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:this._isBlankArrayObject(s)?S.create(0):s.max()}_min(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:this._isBlankArrayObject(s)?S.create(0):s.min()}_product(e,...t){const s=this._flattenRefArray(e,...t);if(s.isError())return s;if(this._isBlankArrayObject(s))return S.create(0);let i=S.create(1);return s.iterator(a=>{i=i.multiply(a)}),i}_stdev(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:this._isBlankArrayObject(s)?h.create(f.DIV_BY_ZERO):s.std(1)}_stdevp(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:this._isBlankArrayObject(s)?h.create(f.DIV_BY_ZERO):s.std()}_sum(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:s.sum()}_var(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:this._isBlankArrayObject(s)?h.create(f.DIV_BY_ZERO):s.var(1)}_varp(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:this._isBlankArrayObject(s)?h.create(f.DIV_BY_ZERO):s.var()}_flattenRefArray(e,...t){const s=[];s[0]=[];for(let i=0;i<t.length;i++){const a=t[i];if(a.isError())return a;if(!a.isReferenceObject())return h.create(f.VALUE);const o=a.getRowData();let u;if(a.iterator((c,l)=>{if(e&&this._isRowHidden(o,l)||c==null||c.isNull()||c.isString()||c.isBoolean())return!0;if(c.isError())return u=c,!1;s[0].push(c)}),u!=null&&u.isError())return u}return zt(s,1,s[0].length)}_isRowHidden(e,t){const s=e[t];return s?s.hd===E.BooleanNumber.TRUE:!1}_isBlankArrayObject(e){return e.getArrayValue()[0].length===0}}class Co extends T{calculate(...r){if(r.length===0)return h.create(f.NA);let e=S.create(0);for(let t=0;t<r.length;t++){let s=r[t];if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()&&(s=s.sum()),e=e.plus(s),e.isError())return e}return e}}function Do(n){const r=[U.EQUALS,U.NOT_EQUAL,U.GREATER_THAN_OR_EQUAL,U.GREATER_THAN,U.LESS_THAN_OR_EQUAL,U.LESS_THAN];for(const e of r)if(n.startsWith(e)){const t=n.substring(e.length);return[e,ct.create(t)]}return[U.EQUALS,ct.create(n)]}function Cn(n,r,e){if(!e)if(r.isString()){const t=`${r.getValue()}`,[s,i]=Do(t);e=s,r=i}else e=U.EQUALS;return n.compare(r,e)}function Js(n,r){const e=Math.max(n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),t=Math.max(n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),s=he(e,t,n),i=he(e,t,r);return s.mapValue((a,o,u)=>{const c=i.get(o,u);return a!=null&&a.isError()?a:c!=null&&c.isError()?c:a!=null&&a.isBoolean()&&(c!=null&&c.isBoolean())?kr(a.getValue()&&c.getValue()):I.create(!1)})}class bo extends T{constructor(){super(...arguments);b(this,"minParams",2);b(this,"maxParams",3)}calculate(e,t,s){return e.isError()||t.isError()||s!=null&&s.isError()?h.create(f.NA):!e.isArray()||s&&!s.isArray()?h.create(f.VALUE):t.isArray()?t.map(i=>this._handleSingleObject(e,i,s)):this._handleSingleObject(e,t,s)}_handleSingleObject(e,t,s){const i=Cn(e,t),a=s?s.slice([0,e.getRowCount()],[0,e.getColumnCount()]):e;return a?a.pick(i).sum():h.create(f.VALUE)}}class So extends T{calculate(r,...e){if(r==null||e.length<2||r.isError())return h.create(f.NA);if(!r.isArray()||e.length<2||e.length%2!==0||e.some((l,d)=>d%2===0&&!l.isArray()))return h.create(f.VALUE);const t=r.getRowCount(),s=r.getColumnCount();let i=0,a=0;e.forEach((l,d)=>{if(d%2===1)if(l.isArray()){const m=l;i=Math.max(i,m.getRowCount()),a=Math.max(a,m.getColumnCount())}else i=Math.max(i,1),a=Math.max(a,1)});const o=[];for(let l=0;l<e.length;l++){if(l%2===1)continue;const d=e[l],m=d.getRowCount(),R=d.getColumnCount();if(m!==t||R!==s)return he(i,a,h.create(f.NA));const D=e[l+1];he(i,a,D,h.create(f.NA)).iterator((A,x,v)=>{if(!A)return;const B=Cn(d,A);if(o[x]===void 0&&(o[x]=[]),o[x][v]===void 0){o[x][v]=B;return}o[x][v]=Js(o[x][v],B)})}const u=o.map(l=>l.map(d=>r.pick(d).sum())),c={calculateValueList:u,rowCount:u.length,columnCount:u[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return Ce.create(c)}}const ei=[[ho,we.ABS],[mo,we.ACOS],[go,we.ACOSH],[po,we.ACOT],[Ro,we.MOD],[yo,we.SUBTOTAL],[Co,we.SUM],[bo,we.SUMIF],[So,we.SUMIFS],[_o,we.POWER],[Eo,we.PRODUCT]];class Ao extends T{constructor(){super(...arguments);b(this,"_compareType",U.EQUALS)}setCompareType(e){this._compareType=e}calculate(e,t){return e.isError()?e:t.isError()?t:e.compare(t,this._compareType)}}class Dn extends Ze{constructor(e){super("");b(this,"_values",[]);this._values=e}static create(e){return new Dn(e)}isCube(){return!0}sum(){const e=S.create(0);return this._values.forEach(t=>{e.plus(t.sum())}),e}max(){let e=S.create(Number.NEGATIVE_INFINITY);return this._values.forEach(t=>{const s=t.max();e.isLessThan(s)&&(e=s)}),e}min(){let e=S.create(Number.POSITIVE_INFINITY);return this._values.forEach(t=>{const s=t.max();e.isGreaterThan(s)&&(e=s)}),e}count(){const e=S.create(0);return this._values.forEach(t=>{e.plus(t.count())}),e}countA(){const e=S.create(0);return this._values.forEach(t=>{e.plus(t.countA())}),e}countBlank(){const e=S.create(0);return this._values.forEach(t=>{e.plus(t.countBlank())}),e}}class Lo extends T{calculate(...r){if(r.length===0)return h.create(f.VALUE);const e=[];for(let t=0;t<r.length;t++){const s=r[t];if(s.isError())return s;if(!s.isArray())return h.create(f.VALUE);e.push(s)}return Dn.create(e)}}class xo extends T{calculate(r,e){return r.isError()?r:e.isError()?e:!e.isArray()&&e.getValue()===0?h.create(f.DIV_BY_ZERO):r.divided(e)}}var Ae=(n=>(n.COMPARE="COMPARE",n.DIVIDED="DIVIDED",n.MINUS="MINUS",n.MULTIPLY="MULTIPLY",n.PLUS="PLUS",n.UNION="UNION",n.CUBE="CUBE",n))(Ae||{});class wo extends T{calculate(r,e){return r.isError()?r:e.isError()?e:r.minus(e)}}class Po extends T{calculate(r,e){return r.isError()?r:e.isError()?e:r.multiply(e)}}class Vo extends T{calculate(r,e){return r.isError()?r:e.isError()?e:r.plus(e)}}const ti=[[Ao,Ae.COMPARE],[xo,Ae.DIVIDED],[wo,Ae.MINUS],[Po,Ae.MULTIPLY],[Vo,Ae.PLUS],[Lo,Ae.CUBE]];class vo extends T{calculate(...r){if(r.length===0)return h.create(f.NA);let e=S.create(0),t=S.create(0);for(let s=0;s<r.length;s++){let i=r[s];if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()){if(e=e.plus(i.sum()),e.isError())return e;t=t.plus(i.count())}else i.isNull()||(e=e.plus(i),t=t.plus(S.create(1)))}return e.divided(t)}}class Oo extends T{calculate(...r){if(r.length===0)return h.create(f.NA);let e=S.create(0);for(let t=0;t<r.length;t++){const s=r[t];s.isError()||(s.isArray()?e=e.plus(s.count()):s.isString()?s.convertToNumberObjectValue().isError()||(e=e.plus(S.create(1))):s.isNull()||(e=e.plus(S.create(1))))}return e}}class Fo extends T{calculate(...r){if(r.length===0)return h.create(f.NA);let e=S.create(0);for(let t=0;t<r.length;t++){let s=r[t];if(s.isError()){e=e.plus(S.create(1));continue}s.isArray()?(s=s.countA(),e=e.plus(s)):s.isNull()||(e=e.plus(S.create(1)))}return e}}var be=(n=>(n.AVEDEV="AVEDEV",n.AVERAGE="AVERAGE",n.AVERAGEA="AVERAGEA",n.AVERAGEIF="AVERAGEIF",n.AVERAGEIFS="AVERAGEIFS",n.BETA_DIST="BETA.DIST",n.BETA_INV="BETA.INV",n.BINOM_DIST="BINOM.DIST",n.BINOM_DIST_RANGE="BINOM.DIST.RANGE",n.BINOM_INV="BINOM.INV",n.CHISQ_DIST="CHISQ.DIST",n.CHISQ_DIST_RT="CHISQ.DIST.RT",n.CHISQ_INV="CHISQ.INV",n.CHISQ_INV_RT="CHISQ.INV.RT",n.CHISQ_TEST="CHISQ.TEST",n.CONFIDENCE_NORM="CONFIDENCE.NORM",n.CONFIDENCE_T="CONFIDENCE.T",n.CORREL="CORREL",n.COUNT="COUNT",n.COUNTA="COUNTA",n.COUNTBLANK="COUNTBLANK",n.COUNTIF="COUNTIF",n.COUNTIFS="COUNTIFS",n.COVARIANCE_P="COVARIANCE.P",n.COVARIANCE_S="COVARIANCE.S",n.DEVSQ="DEVSQ",n.EXPON_DIST="EXPON.DIST",n.F_DIST="F.DIST",n.F_DIST_RT="F.DIST.RT",n.F_INV="F.INV",n.F_INV_RT="F.INV.RT",n.F_TEST="F.TEST",n.FISHER="FISHER",n.FISHERINV="FISHERINV",n.FORECAST="FORECAST",n.FORECAST_ETS="FORECAST.ETS",n.FORECAST_ETS_CONFINT="FORECAST.ETS.CONFINT",n.FORECAST_ETS_SEASONALITY="FORECAST.ETS.SEASONALITY",n.FORECAST_ETS_STAT="FORECAST.ETS.STAT",n.FORECAST_LINEAR="FORECAST.LINEAR",n.FREQUENCY="FREQUENCY",n.GAMMA="GAMMA",n.GAMMA_DIST="GAMMA.DIST",n.GAMMA_INV="GAMMA.INV",n.GAMMALN="GAMMALN",n.GAMMALN_PRECISE="GAMMALN.PRECISE",n.GAUSS="GAUSS",n.GEOMEAN="GEOMEAN",n.GROWTH="GROWTH",n.HARMEAN="HARMEAN",n.HYPGEOM_DIST="HYPGEOM.DIST",n.INTERCEPT="INTERCEPT",n.KURT="KURT",n.LARGE="LARGE",n.LINEST="LINEST",n.LOGEST="LOGEST",n.LOGNORM_DIST="LOGNORM.DIST",n.LOGNORM_INV="LOGNORM.INV",n.MAX="MAX",n.MAXA="MAXA",n.MAXIFS="MAXIFS",n.MEDIAN="MEDIAN",n.MIN="MIN",n.MINA="MINA",n.MINIFS="MINIFS",n.MODE_MULT="MODE.MULT",n.MODE_SNGL="MODE.SNGL",n.NEGBINOM_DIST="NEGBINOM.DIST",n.NORM_DIST="NORM.DIST",n.NORM_INV="NORM.INV",n.NORM_S_DIST="NORM.S.DIST",n.NORM_S_INV="NORM.S.INV",n.PEARSON="PEARSON",n.PERCENTILE_EXC="PERCENTILE.EXC",n.PERCENTILE_INC="PERCENTILE.INC",n.PERCENTRANK_EXC="PERCENTRANK.EXC",n.PERCENTRANK_INC="PERCENTRANK.INC",n.PERMUT="PERMUT",n.PERMUTATIONA="PERMUTATIONA",n.PHI="PHI",n.POISSON_DIST="POISSON.DIST",n.PROB="PROB",n.QUARTILE_EXC="QUARTILE.EXC",n.QUARTILE_INC="QUARTILE.INC",n.RANK_AVG="RANK.AVG",n.RANK_EQ="RANK.EQ",n.RSQ="RSQ",n.SKEW="SKEW",n.SKEW_P="SKEW.P",n.SLOPE="SLOPE",n.SMALL="SMALL",n.STANDARDIZE="STANDARDIZE",n.STDEV_P="STDEV.P",n.STDEV_S="STDEV.S",n.STDEVA="STDEVA",n.STDEVPA="STDEVPA",n.STEYX="STEYX",n.T_DIST="T.DIST",n.T_DIST_2T="T.DIST.2T",n.T_DIST_RT="T.DIST.RT",n.T_INV="T.INV",n.T_INV_2T="T.INV.2T",n.T_TEST="T.TEST",n.TREND="TREND",n.TRIMMEAN="TRIMMEAN",n.VAR_P="VAR.P",n.VAR_S="VAR.S",n.VARA="VARA",n.VARPA="VARPA",n.WEIBULL_DIST="WEIBULL.DIST",n.Z_TEST="Z.TEST",n))(be||{});class Uo extends T{calculate(...r){if(r.length===0)return h.create(f.NA);let e=S.create(Number.NEGATIVE_INFINITY);for(let t=0;t<r.length;t++){let s=r[t];if(!s.isNull()){if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isArray()&&(s=s.max()),s.isError())return s;e=this._validator(e,s)}}return e}_validator(r,e){return r.isLessThan(e).getValue()&&(r=e),r}}class rs extends T{calculate(...r){if(r.length===0)return h.create(f.NA);let e=S.create(Number.POSITIVE_INFINITY);for(let t=0;t<r.length;t++){let s=r[t];if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isArray()&&(s=s.min()),s.isError())return s;s.isNull()||(e=this._validator(e,s))}return e}_validator(r,e){return r.isGreaterThan(e).getValue()&&(r=e),r}}class Mo extends T{calculate(...r){if(r.length===0)return h.create(f.NA);const e=this.flattenArray(r,!1);return e.isError()?e:e.std(1)}}class Bo extends T{calculate(...r){if(r.length===0)return h.create(f.NA);const e=this.flattenArray(r,!1);return e.isError()?e:e.std()}}class ko extends T{calculate(...r){if(r.length===0)return h.create(f.NA);const e=this.flattenArray(r,!1);return e.isError()?e:e.var(1)}}class To extends T{calculate(...r){if(r.length===0)return h.create(f.NA);const e=this.flattenArray(r,!1);return e.isError()?e:e.var()}}class jo extends T{calculate(r,...e){if(r===null||e.length<2||r.isError())return h.create(f.NA);if(!r.isArray()||e.length%2!==0||e.some((l,d)=>d%2===0&&!l.isArray()))return h.create(f.VALUE);const t=r.getRowCount(),s=r.getColumnCount();let i=0,a=0;e.forEach((l,d)=>{if(d%2===1)if(l.isArray()){const m=l;i=Math.max(i,m.getRowCount()),a=Math.max(a,m.getColumnCount())}else i=Math.max(i,1),a=Math.max(a,1)});const o=[];for(let l=0;l<e.length;l++){if(l%2===1)continue;const d=e[l],m=d.getRowCount(),R=d.getColumnCount();if(m!==t||R!==s)return he(i,a,h.create(f.NA));const D=e[l+1];he(i,a,D,h.create(f.NA)).iterator((A,x,v)=>{if(!A)return;const B=Cn(d,A);o[x]===void 0&&(o[x]=[]),o[x][v]===void 0&&(o[x][v]=B),o[x][v]=Js(o[x][v],B)})}const u=o.map(l=>l.map(d=>{const m=r.pick(d);return m.getColumnCount()===0?Ce.create("0"):m.max()})),c={calculateValueList:u,rowCount:u.length,columnCount:u[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return Ce.create(c)}}const ri=[[vo,be.AVERAGE],[Oo,be.COUNT],[Uo,be.MAX],[rs,be.MIN],[rs,be.MIN],[Fo,be.COUNTA],[Bs,be.STDEV_P],[ks,be.STDEV_S],[Mo,be.STDEVA],[Bo,be.STDEVPA],[Ts,be.VAR_P],[js,be.VAR_S],[ko,be.VARA],[To,be.VARPA],[jo,be.MAXIFS]];class $o extends T{calculate(...r){if(r.length===0)return h.create(f.NA);let e=0,t=0;r.forEach(i=>{if(i.isArray()){const a=i;e=Math.max(e,a.getRowCount()),t=Math.max(t,a.getColumnCount())}else e=Math.max(e,1),t=Math.max(t,1)});let s=null;for(const i of r)s=he(e,t,i,h.create(f.NA)).mapValue((o,u,c)=>{var R,D;const l=s&&s.get(u,c);if(l!=null&&l.isError())return l;if(o.isError())return o;const d=l!=null&&l.isNull()?"":(R=l==null?void 0:l.getValue())!=null?R:"",m=o!=null&&o.isNull()?"":(D=o==null?void 0:o.getValue())!=null?D:"";return mn(`${d}${m}`)});return s||h.create(f.VALUE)}}var it=(n=>(n.ASC="ASC",n.ARRAYTOTEXT="ARRAYTOTEXT",n.BAHTTEXT="BAHTTEXT",n.CHAR="CHAR",n.CLEAN="CLEAN",n.CODE="CODE",n.CONCAT="CONCAT",n.CONCATENATE="CONCATENATE",n.DBCS="DBCS",n.DOLLAR="DOLLAR",n.EXACT="EXACT",n.FIND="FIND",n.FINDB="FINDB",n.FIXED="FIXED",n.LEFT="LEFT",n.LEFTB="LEFTB",n.LEN="LEN",n.LENB="LENB",n.LOWER="LOWER",n.MID="MID",n.MIDB="MIDB",n.NUMBERVALUE="NUMBERVALUE",n.PHONETIC="PHONETIC",n.PROPER="PROPER",n.REPLACE="REPLACE",n.REPLACEB="REPLACEB",n.REPT="REPT",n.RIGHT="RIGHT",n.RIGHTB="RIGHTB",n.SEARCH="SEARCH",n.SEARCHB="SEARCHB",n.SUBSTITUTE="SUBSTITUTE",n.T="T",n.TEXT="TEXT",n.TEXTAFTER="TEXTAFTER",n.TEXTBEFORE="TEXTBEFORE",n.TEXTJOIN="TEXTJOIN",n.TEXTSPLIT="TEXTSPLIT",n.TRIM="TRIM",n.UNICHAR="UNICHAR",n.UNICODE="UNICODE",n.UPPER="UPPER",n.VALUE="VALUE",n.VALUETOTEXT="VALUETOTEXT",n.CALL="CALL",n.EUROCONVERT="EUROCONVERT",n.REGISTER_ID="REGISTER.ID",n))(it||{});class Io extends T{calculate(r){return r==null?h.create(f.NA):r.isError()?r:r.isArray()?r.mapValue(e=>this._handleSingleText(e)):this._handleSingleText(r)}_handleSingleText(r){if(r.isError())return r;if(r.isNull())return S.create(0);if(r.isString()||r.isBoolean()||r.isNumber()){const e=r.getValue().toString();return S.create(e.length)}return h.create(f.VALUE)}}function Yo(n){let r=0;for(let e=0;e<n.length;e++){const t=n.charCodeAt(e);t>=12352&&t<=12543||t>=19968&&t<=40959||t>=44032&&t<=55215?r+=2:r+=1}return r}class Qo extends T{calculate(r){return r==null?h.create(f.NA):r.isError()?r:r.isArray()?r.mapValue(e=>this._handleSingleText(e)):this._handleSingleText(r)}_handleSingleText(r){if(r.isError())return r;if(r.isNull())return S.create(0);if(r.isString()||r.isBoolean()||r.isNumber()){const e=r.getValue().toString(),t=Yo(e);return S.create(t)}return h.create(f.VALUE)}}var zo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ho(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var ni={exports:{}};(function(n,r){(function(e,t){n.exports=t()})(typeof self<"u"?self:zo,function(){return function(){var e={d:function(p,g){for(var _ in g)e.o(g,_)&&!e.o(p,_)&&Object.defineProperty(p,_,{enumerable:!0,get:g[_]})},o:function(p,g){return Object.prototype.hasOwnProperty.call(p,g)}},t={};e.d(t,{default:function(){return ki}});var s={1078:"af",1052:"sq",1118:"am",5121:"ar_DZ",15361:"ar_BH",3073:"ar_EG",2049:"ar_IQ",11265:"ar_JO",13313:"ar_KW",12289:"ar_LB",4097:"ar_LY",6145:"ar_MA",8193:"ar_OM",16385:"ar_QA",1025:"ar_SA",10241:"ar_SY",7169:"ar_TN",14337:"ar_AE",9217:"ar_YE",1067:"hy",1101:"as",2092:"az_AZ",1068:"az_AZ",1069:"eu",1059:"be",2117:"bn",1093:"bn_IN",5146:"bs",1026:"bg",1109:"my",1027:"ca",2052:"zh_CN",3076:"zh_HK",5124:"zh_MO",4100:"zh_SG",1028:"zh_TW",1050:"hr",1029:"cs",1030:"da",1125:"dv",2067:"nl_BE",1043:"nl_NL",1126:"bin",3081:"en_AU",10249:"en_BZ",4105:"en_CA",9225:"en_CB",2057:"en_GB",16393:"en_IN",6153:"en_IE",8201:"en_JM",5129:"en_NZ",13321:"en_PH",7177:"en_ZA",11273:"en_TT",1033:"en_US",12297:"en_ZW",1061:"et",1071:"mk",1080:"fo",1065:"fa",1124:"fil",1035:"fi",2060:"fr_BE",11276:"fr_CM",3084:"fr_CA",9228:"fr_CG",12300:"fr_CI",1036:"fr_FR",5132:"fr_LU",13324:"fr_ML",6156:"fr_MC",14348:"fr_MA",10252:"fr_SN",4108:"fr_CH",7180:"fr",1122:"fy_NL",2108:"gd_IE",1084:"gd",1110:"gl",1079:"ka",3079:"de_AT",1031:"de_DE",5127:"de_LI",4103:"de_LU",2055:"de_CH",1032:"el",1140:"gn",1095:"gu",1279:"en",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig_NG",1057:"id",1040:"it_IT",2064:"it_CH",1041:"ja",1099:"kn",1120:"ks",1087:"kk",1107:"km",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1142:"la",1062:"lv",1063:"lt",2110:"ms_BN",1086:"ms_MY",1100:"ml",1082:"mt",1112:"mni",1153:"mi",1102:"mr",1104:"mn",2128:"mn",1121:"ne",1044:"no_NO",2068:"no_NO",1096:"or",1045:"pl",1046:"pt_BR",2070:"pt_PT",1094:"pa",1047:"rm",2072:"ro_MO",1048:"ro_RO",1049:"ru",2073:"ru_MO",1083:"se",1103:"sa",3098:"sr_SP",2074:"sr_SP",1072:"st",1074:"tn",1113:"sd",1115:"si",1051:"sk",1060:"sl",1143:"so",1070:"sb",11274:"es_AR",16394:"es_BO",13322:"es_CL",9226:"es_CO",5130:"es_CR",7178:"es_DO",12298:"es_EC",17418:"es_SV",4106:"es_GT",18442:"es_HN",2058:"es_MX",19466:"es_NI",6154:"es_PA",15370:"es_PY",10250:"es_PE",20490:"es_PR",1034:"es_ES",14346:"es_UY",8202:"es_VE",1089:"sw",2077:"sv_FI",1053:"sv_SE",1114:"syc",1064:"tg",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1073:"ts",1055:"tr",1090:"tk",1058:"uk",1056:"ur",2115:"uz_UZ",1091:"uz_UZ",1075:"ve",1066:"vi",1106:"cy",1076:"xh",1085:"yi",1077:"zu"};const i=/^([a-z\d]+)(?:[_-]([a-z\d]+))?(?:\.([a-z\d]+))?(?:@([a-z\d]+))?$/i,a={},o={group:" ",decimal:".",positive:"+",negative:"-",percent:"%",exponent:"E",nan:"NaN",infinity:"∞",ampm:["AM","PM"],mmmm6:["Muharram","Safar","Rabiʻ I","Rabiʻ II","Jumada I","Jumada II","Rajab","Shaʻban","Ramadan","Shawwal","Dhuʻl-Qiʻdah","Dhuʻl-Hijjah"],mmm6:["Muh.","Saf.","Rab. I","Rab. II","Jum. I","Jum. II","Raj.","Sha.","Ram.","Shaw.","Dhuʻl-Q.","Dhuʻl-H."],mmmm:["January","February","March","April","May","June","July","August","September","October","November","December"],mmm:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dddd:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ddd:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]};function u(p){const g=i.exec(p);if(!g)throw new SyntaxError("Malformed locale: ".concat(p));return{lang:g[1]+(g[2]?"_"+g[2]:""),language:g[1],territory:g[2]||"",codeset:g[3]||"",modifier:g[4]||""}}function c(p){if(typeof p=="number")return s[65535&p]||null;const g=parseInt(p,16);return isFinite(g)&&s[65535&g]?s[65535&g]||null:i.test(p)?p:null}function l(p){const g=c(p);let _=null;if(g){const L=u(g);_=a[L.lang]||a[L.language]||null}return _}function d(p){return Object.assign({},o,p)}function m(p,g){const _=typeof g=="object"?g:u(g);return a[_.lang]=d(p),_.language===_.lang||a[_.language]||(a[_.language]=d(p)),a[_.lang]}const R=d({group:","});function D(p,g){if(typeof p!="number")return p;if(p<0)return-D(-p,g);if(g){const _=10**(g||0)||1;return D(p*_,0)/_}return Math.round(p)}R.isDefault=!0,m({group:",",ampm:["上午","下午"],mmmm:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],ddd:["周日","周一","周二","周三","周四","周五","周六"]},"zh_CN"),m({group:",",nan:"非數值",ampm:["上午","下午"],mmmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],ddd:["週日","週一","週二","週三","週四","週五","週六"]},"zh_TW"),m({group:",",ampm:["午前","午後"],mmmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],ddd:["日","月","火","水","木","金","土"]},"ja"),m({group:",",ampm:["오전","오후"],mmmm:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],mmm:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dddd:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],ddd:["일","월","화","수","목","금","토"]},"ko"),m({group:",",ampm:["ก่อนเที่ยง","หลังเที่ยง"],mmmm:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],mmm:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],dddd:["วันอาทิตย์","วันจันทร์","วันอังคาร","วันพุธ","วันพฤหัสบดี","วันศุกร์","วันเสาร์"],ddd:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."]},"th"),m({decimal:",",ampm:["dop.","odp."],mmmm:["ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince"],mmm:["led","úno","bře","dub","kvě","čvn","čvc","srp","zář","říj","lis","pro"],dddd:["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],ddd:["ne","po","út","st","čt","pá","so"]},"cs"),m({group:".",decimal:",",mmmm:["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"],mmm:["jan.","feb.","mar.","apr.","maj","jun.","jul.","aug.","sep.","okt.","nov.","dec."],dddd:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],ddd:["søn.","man.","tir.","ons.","tor.","fre.","lør."]},"da"),m({group:".",decimal:",",ampm:["a.m.","p.m."],mmmm:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],mmm:["jan.","feb.","mrt.","apr.","mei","jun.","jul.","aug.","sep.","okt.","nov.","dec."],dddd:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],ddd:["zo","ma","di","wo","do","vr","za"]},"nl"),m({group:","},"en"),m({decimal:",",nan:"epäluku",ampm:["ap.","ip."],mmmm:["tammikuuta","helmikuuta","maaliskuuta","huhtikuuta","toukokuuta","kesäkuuta","heinäkuuta","elokuuta","syyskuuta","lokakuuta","marraskuuta","joulukuuta"],mmm:["tammik.","helmik.","maalisk.","huhtik.","toukok.","kesäk.","heinäk.","elok.","syysk.","lokak.","marrask.","jouluk."],dddd:["sunnuntaina","maanantaina","tiistaina","keskiviikkona","torstaina","perjantaina","lauantaina"],ddd:["su","ma","ti","ke","to","pe","la"]},"fi"),m({group:" ",decimal:",",mmmm:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],mmm:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dddd:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],ddd:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."]},"fr"),m({group:".",decimal:",",mmmm:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],mmm:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sept.","Okt.","Nov.","Dez."],dddd:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],ddd:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."]},"de"),m({group:".",decimal:",",ampm:["π.μ.","μ.μ."],mmmm:["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου"],mmm:["Ιαν","Φεβ","Μαρ","Απρ","Μαΐ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],dddd:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],ddd:["Κυρ","Δευ","Τρί","Τετ","Πέμ","Παρ","Σάβ"]},"el"),m({decimal:",",ampm:["de.","du."],mmmm:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],mmm:["jan.","febr.","márc.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec."],dddd:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],ddd:["V","H","K","Sze","Cs","P","Szo"]},"hu"),m({group:".",decimal:",",ampm:["f.h.","e.h."],mmmm:["janúar","febrúar","mars","apríl","maí","júní","júlí","ágúst","september","október","nóvember","desember"],mmm:["jan.","feb.","mar.","apr.","maí","jún.","júl.","ágú.","sep.","okt.","nóv.","des."],dddd:["sunnudagur","mánudagur","þriðjudagur","miðvikudagur","fimmtudagur","föstudagur","laugardagur"],ddd:["sun.","mán.","þri.","mið.","fim.","fös.","lau."]},"is"),m({group:".",decimal:",",mmmm:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],mmm:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agu","Sep","Okt","Nov","Des"],dddd:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],ddd:["Min","Sen","Sel","Rab","Kam","Jum","Sab"]},"id"),m({group:".",decimal:",",mmmm:["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"],mmm:["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],dddd:["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"],ddd:["dom","lun","mar","mer","gio","ven","sab"]},"it"),m({decimal:",",ampm:["a.m.","p.m."],mmmm:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],mmm:["jan.","feb.","mar.","apr.","mai","jun.","jul.","aug.","sep.","okt.","nov.","des."],dddd:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],ddd:["søn.","man.","tir.","ons.","tor.","fre.","lør."]},"nb"),m({decimal:",",mmmm:["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października","listopada","grudnia"],mmm:["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru"],dddd:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"],ddd:["niedz.","pon.","wt.","śr.","czw.","pt.","sob."]},"pl"),m({group:".",decimal:",",mmmm:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"],mmm:["jan.","fev.","mar.","abr.","mai.","jun.","jul.","ago.","set.","out.","nov.","dez."],dddd:["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"],ddd:["dom.","seg.","ter.","qua.","qui.","sex.","sáb."]},"pt"),m({decimal:",",nan:"не число",mmmm:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],mmm:["янв.","февр.","мар.","апр.","мая","июн.","июл.","авг.","сент.","окт.","нояб.","дек."],dddd:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],ddd:["вс","пн","вт","ср","чт","пт","сб"]},"ru"),m({decimal:",",mmmm:["januára","februára","marca","apríla","mája","júna","júla","augusta","septembra","októbra","novembra","decembra"],mmm:["jan","feb","mar","apr","máj","jún","júl","aug","sep","okt","nov","dec"],dddd:["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"],ddd:["ne","po","ut","st","št","pi","so"]},"sk"),m({group:".",decimal:",",ampm:["a. m.","p. m."],mmmm:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],mmm:["ene.","feb.","mar.","abr.","may.","jun.","jul.","ago.","sept.","oct.","nov.","dic."],dddd:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],ddd:["dom.","lun.","mar.","mié.","jue.","vie.","sáb."]},"es"),m({decimal:",",ampm:["fm","em"],mmmm:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],mmm:["jan.","feb.","mars","apr.","maj","juni","juli","aug.","sep.","okt.","nov.","dec."],dddd:["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],ddd:["sön","mån","tis","ons","tors","fre","lör"]},"sv"),m({group:".",decimal:",",ampm:["ÖÖ","ÖS"],mmmm:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],mmm:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],dddd:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],ddd:["Paz","Pzt","Sal","Çar","Per","Cum","Cmt"]},"tr");function C(p,g,_){const L=p<0?-1:1,P=10**(g||2),M=10**(_||2);let V,w,y=Math.abs(p),j=0,Q=0,O=0,z=1;if((p=y)%1==0)w=[p*L,1];else if(p<1e-19)w=[L,1e19];else if(p>1e19)w=[1e19*L,1];else{do if(y=1/(y-Math.floor(y)),V=z,z=z*Math.floor(y)+j,j=V,Q=O,O=Math.floor(p*z+.5),O>=P||z>=M)return[L*Q,j];while(Math.abs(p-O/z)>=1e-10&&y!==Math.floor(y));w=[L*O,z]}return w}const A={overflow:"######",dateErrorThrows:!1,dateErrorNumber:!0,dateSpanLarge:!0,leap1900:!0,nbsp:!0,throws:!0,invalid:"######",locale:"",ignoreTimezone:!1},x=Object.assign({},A);function v(p){if(p===null&&(p=A),p){for(const g in p)if(g in A){const _=p[g];x[g]=_==null?A[g]:_}}return{...x}}const B={"#":"",0:"0","?":" "},H={"@":"text","-":"minus","+":"plus"},oe=["#000","#FFF","#F00","#0F0","#00F","#FF0","#F0F","#0FF","#000","#FFF","#F00","#0F0","#00F","#FF0","#F0F","#0FF","#800","#080","#008","#880","#808","#088","#CCC","#888","#99F","#936","#FFC","#CFF","#606","#F88","#06C","#CCF","#008","#F0F","#FF0","#0FF","#808","#800","#088","#00F","#0CF","#CFF","#CFC","#FF9","#9CF","#F9C","#C9F","#FC9","#36F","#3CC","#9C0","#FC0"],me=["¤","$","£","¥","֏","؋","৳","฿","៛","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"],ge=new RegExp("["+me.join("")+"]");function ne(p,g,_){return g[_+"_max"]=p.length,g[_+"_min"]=p.replace(/#/g,"").length,g}const J={};function te(p){if(!(p in J)){const g=[],_=p.replace(/^[#,]+/,"").replace(/[1-9]\d*/g,L=>"?".repeat(L.length));for(let L=0;L<_.length;L++){const P=_.charAt(L);g[L]=P in B?B[P]:P}J[p]=g.join("")}return J[p]}function K(p,g){typeof p=="string"&&(p={type:"string",value:p=p.replace(/ /g,B["?"])}),g.push(p)}function Fe(p){const g=[],_={scale:1,percent:!1,text:!1,date:0,date_eval:!1,date_system:1,sec_decimals:0,general:!1,clock:24,int_pattern:[],frac_pattern:[],man_pattern:[],den_pattern:[],num_pattern:[],tokens:g};let L=p+"",P="int",M=!1,V=null;const w=[];let y,j,Q=!1;for(;L&&!M;){if(y=/^General/i.exec(L))_.general=!0,K({type:"general"},g);else if(P==="int"&&(y=/^[#?0]+(?:,[#?0]+)*/.exec(L))||P==="den"&&(y=/^[#?\d]+/.exec(L))||(y=/^[#?0]+/.exec(L)))_[P+"_pattern"].push(y[0]),V={type:P,num:y[0]},K(V,g);else if((y=/^\//.exec(L))&&_[P+"_pattern"].length){if(!V)throw new SyntaxError("Missing a numerator in pattern ".concat(p));_.fractions=!0,_.num_pattern.push(_[P+"_pattern"].pop()),V.type="num",P="den",K({type:"div"},g)}else if(y=/^,+/.exec(L)){const F=L.charAt(1)in B;j.slice(-1)in B&&(y[0].length>1||!F)?_.scale=.001**y[0].length:_.dec_fractions||K(y[0],g)}else{if(y=/^;/.exec(L)){M=!0;break}if(y=/^[@+-]/.exec(L))y[0]==="@"&&(_.text=!0),K({type:H[y[0]]},g);else if(y=/^(?:\[(h+|m+|s+)\])/i.exec(L)){const F=y[1].toLowerCase(),Y=F[0],X={type:"",size:0,date:1,raw:y[0],pad:F.length};Y==="h"?(X.size=16,X.type="hour-elap"):Y==="m"?(X.size=32,X.type="min-elap"):(X.size=64,X.type="sec-elap"),_.date=_.date|X.size,w.push(X),K(X,g)}else if(y=/^(?:B2)/i.exec(L))Q||(_.date_system=6);else if(y=/^(?:B1)/i.exec(L))Q||(_.date_system=1);else if(y=/^(?:([hHmMsSyYbBdDegG])\1*)/.exec(L)){const F={type:"",size:0,date:1,raw:y[0]},Y=y[0].toLowerCase(),X=Y[0];if(Y==="y"||Y==="yy")F.size=2,F.type="year-short";else if(X==="y"||X==="e")F.size=2,F.type="year";else if(Y==="b"||Y==="bb")F.size=2,F.type="b-year-short";else if(X==="b")F.size=2,F.type="b-year";else if(Y==="d"||Y==="dd")F.size=8,F.type="day",F.pad=/dd/.test(Y);else if(Y==="ddd")F.size=8,F.type="weekday-short";else if(X==="d")F.size=8,F.type="weekday";else if(X==="h")F.size=16,F.type="hour",F.pad=/hh/i.test(Y);else if(X==="m"){Y.length===3?(F.size=4,F.type="monthname-short"):Y.length===5?(F.size=4,F.type="monthname-single"):Y.length>=4&&(F.size=4,F.type="monthname");const re=w[w.length-1];!F.type&&re&&!re.used&&80&re.size&&(re.used=!0,F.size=32,F.type="min",F.pad=/mm/.test(Y)),F.type||(F.size=4,F.type="month",F.pad=/mm/.test(Y),F.indeterminate=!0)}else if(X==="s"){F.size=64,F.type="sec",F.pad=/ss/.test(Y);const re=w[w.length-1];re&&32&re.size?F.used=!0:re&&re.indeterminate&&(delete re.indeterminate,re.size=32,re.type="min",F.used=!0)}_.date=_.date|F.size,_.date_eval=!0,w.push(F),K(F,g)}else if(y=/^(?:AM\/PM|am\/pm|A\/P)/.exec(L))_.clock=12,_.date=16|_.date,_.date_eval=!0,K({type:"am",short:y[0]==="A/P"},g);else if(_.date&&(y=/^\.0{1,3}/i.exec(L))){const F=y[0].length-1,Y=[64,128,256,512][F];_.date=_.date|Y,_.date_eval=!0,_.sec_decimals=Math.max(_.sec_decimals,F),K({type:"subsec",size:Y,decimals:F,date:1,raw:y[0]},g)}else if((y=/^\\(.)/.exec(L))||(y=/^"([^"]*?)"/.exec(L)))K(y[1],g);else if(y=/^\[(<[=>]?|>=?|=)\s*(-?[.\d]+)\]/.exec(L))_.condition=[y[1],parseFloat(y[2],10)];else if(y=/^\[\$([^\]]+)\]/.exec(L)){const F=y[1].split("-"),Y=F.length<2?"":F[F.length-1],X=F[0];X&&K(X,g);const re=c(Y);re&&(_.locale=re);const ae=parseInt(Y,16);isFinite(ae)&&16711680&ae&&(ae>>16&255)===6&&(_.date_system=6),Q=!0}else if(y=/^\[(black|blue|cyan|green|magenta|red|white|yellow|color\s*(\d+))\]/i.exec(L))_.color=y[2]?oe[parseInt(y[2],10)]||"#000":y[1].toLowerCase();else if(!(y=/^\[(DBNum1|ENG|HIJ|JPN|TWN)\]/i.exec(L))){if(y=/^%/.exec(L))_.scale=100,_.percent=!0,K("%",g);else if(y=/^_(\\.|.)/.exec(L))K(" ",g);else if(y=/^\./.exec(L))K({type:"point",value:y[0]},g),_.dec_fractions=!0,P="frac";else if(y=/^[Ee]([+-]?|(?=[0#?]))/.exec(L))_.exponential=!0,_.exp_plus=y[1]==="+",P="man",K({type:"exp",plus:y[1]==="+"},g);else if(!(y=/^\*(\\.|.)/.exec(L))){if(y=/^[BENn[]/.exec(L))throw new SyntaxError("Unexpected char ".concat(L.charAt(0)," in pattern ").concat(p));L[0]==="("&&(_.parens=!0),y=[L[0]],K(y[0],g)}}}j=y[0],L=L.slice(y?y[0].length:1)}if(_.pattern=p.slice(0,p.length-L.length),/^((?:\[[^\]]+\])+)(;|$)/.test(_.pattern)&&!/^\[(?:h+|m+|s+)\]/.test(_.pattern)&&K({type:"text"},g),_.fractions&&_.dec_fractions||_.fractions&&_.exponential)throw new SyntaxError("Invalid pattern: ".concat(_.pattern));const O=_.int_pattern.join("");if(_.grouping=O.indexOf(",")>=0,_.grouping){const F=O.split(","),Y=F.length;Y===2?(_.group_pri=F[1].length,_.group_sec=_.group_pri):Y>2&&(_.group_pri=F[Y-1].length,_.group_sec=F[Y-2].length)}else _.group_pri=0,_.group_sec=0;ne(O.replace(/[,]/g,""),_,"int"),ne(_.frac_pattern.join(""),_,"frac"),ne(_.man_pattern.join(""),_,"man");let z=_.num_pattern.join(""),Z=_.den_pattern.join("");const G=/\?/.test(Z)||/\?/.test(z);return Z=Z.replace(/\d/g,G?"?":"#"),G&&(Z=Z.replace(/#$/g,"?")),ne(z,_,"num"),ne(Z,_,"den"),G&&(z=z.replace(/#$/g,"?")),_.int_padding=te(_.int_pattern.join("")),_.man_padding=te(_.man_pattern.join("")),_.num_padding=te(z),_.den_padding=te(Z),_.den_pattern.length&&(_.denominator=parseInt(_.den_pattern.join("").replace(/\D/g,""),10)),_.integer=!!_.int_pattern.join("").length,_.fractions&&g.forEach((F,Y)=>{const X=g[Y+1];F.type==="string"&&X&&(X.type==="num"?F.rule="num+int":X.type==="div"?F.rule="num":X.type==="den"&&(F.rule="den"))}),_}const lt=p=>{const g=p.condition;g&&g[1]<0&&(g[0]==="<"||g[0]==="<="||g[0]==="=")||p.tokens.unshift({type:"minus",volatile:!0})};function An(p){const g=[];let _,L=!1,P=null,M=p,V=0,w=!1,y=0,j=0;do{if(w=Fe(M),(w.date||w.general)&&(w.int_pattern.length||w.frac_pattern.length||w.scale!==1||w.text))throw new Error("Illegal format");if(w.condition&&(j++,L=!0),w.text){if(P)throw new Error("Unexpected partition");P=w}w.locale&&(_=c(w.locale)),g.push(w),V=M.charAt(w.pattern.length)===";"?1:0,M=M.slice(w.pattern.length+V),y++}while(V&&y<4&&j<3);if(V)throw new Error("Unexpected partition");if(j>2)throw new Error("Unexpected condition");const Q=g[3];if(Q&&(Q.int_pattern.length||Q.frac_pattern.length||Q.date))throw new Error("Unexpected partition");if(L){const O=g.length;if(O===1&&(g[1]=Fe("General"),g[1].generated=!0),O<3){const z=g[0],Z=g[1];if(lt(z),Z.condition)lt(Z);else{const G=z.condition;(G[0]==="="||G[1]>=0&&(G[0]===">"||G[0]===">="))&&Z.tokens.unshift({type:"minus",volatile:!0})}}else g.forEach(lt)}else{if(g.length<4&&P)for(let O=0,z=g.length;O<z;O++)g[O]===P&&g.splice(O,1);if(g.length<1&&P&&(g[0]=Fe("General"),g[0].generated=!0),g.length<2){const O=Fe(g[0].pattern);O.tokens.unshift({type:"minus",volatile:!0}),O.generated=!0,g.push(O)}if(g.length<3){const O=Fe(g[0].pattern);O.generated=!0,g.push(O)}if(g.length<4)if(P)g.push(P);else{const O=Fe("@");O.generated=!0,g.push(O)}g[0].condition=[">",0],g[1].condition=["<",0],g[2].condition=null}return{pattern:p,partitions:g,locale:_}}const Pe=Math.floor;function Ln(p){if((!(arguments.length>1&&arguments[1]!==void 0)||arguments[1])&&p>=0){if(p===0)return[1900,1,0];if(p===60)return[1900,2,29];if(p<60)return[1900,p<32?1:2,(p-1)%31+1]}let _=p+68569+2415019;const L=Pe(4*_/146097);_-=Pe((146097*L+3)/4);const P=Pe(4e3*(_+1)/1461001);_=_-Pe(1461*P/4)+31;const M=Pe(80*_/2447),V=_-Pe(2447*M/80);_=Pe(M/11);const w=M+2-12*_;return[0|100*(L-49)+P+_,0|w,0|V]}function Si(p){return Ln(p+1462)}function Ai(p){if(p===60)throw new Error("#VALUE!");if(p<=1)return[1317,8,29];if(p<60)return[1317,p<32?9:10,1+(p-2)%30];const g=10631/30,_=.1335;let L=p+466935;const P=Pe(L/10631);L-=10631*P;const M=Pe((L-_)/g);L-=Pe(M*g+_);const V=Pe((L+28.5001)/29.5);return V===13?[30*P+M,12,30]:[30*P+M,V,L-Pe(29.5001*V-29)]}function xn(p){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,_=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2];const L=Pe(p);return g===6?Ai(L):g===-1?Si(L):Ln(L,_)}const Nt=Math.floor,Yr=86400;function Zt(p,g){let _=null;if(Array.isArray(p)){const[L,P,M,V,w,y]=p;_=Date.UTC(L,P==null?0:P-1,M!=null?M:1,V||0,w||0,y||0)}else if(p instanceof Date&&(_=1*p,!g||!g.ignoreTimezone)){const L=new Date;L.setUTCFullYear(p.getFullYear(),p.getMonth(),p.getDate()),L.setUTCHours(p.getHours(),p.getMinutes(),p.getSeconds(),p.getMilliseconds()),_=1*L}if(_!=null&&isFinite(_)){const L=_/864e5;return L-(L<=-25509?-25568:-25569)}return p}function wn(p,g){let _=0|p;const L=Yr*(p-_);let P=Nt(L);L-P>.9999&&(P+=1,P===Yr&&(P=0,_+=1));const M=P<0?Yr+P:P,[V,w,y]=xn(p,0,g&&g.leap1900),j=Nt(M/60/60)%60,Q=Nt(M/60)%60,O=Nt(M)%60;if(g&&g.nativeDate){const z=new Date(0);return z.setUTCFullYear(V,w-1,y),z.setUTCHours(j,Q,O),z}return[V,w,y,j,Q,O]}function Li(p){return!!(p[0]&&p[0].percent||p[1]&&p[1].percent||p[2]&&p[2].percent||p[3]&&p[3].percent)}function xi(p){return!!(p[0]&&p[0].date||p[1]&&p[1].date||p[2]&&p[2].date||p[3]&&p[3].date)}function wi(p){const[g,_,L,P]=p;return!(g&&!g.generated||_&&!_.generated||L&&!L.generated||!P||!P.text||P.generated)}const Pi={text:15,datetime:10.8,date:10.8,time:10.8,percent:10.6,currency:10.4,grouped:10.2,scientific:6,number:4,fraction:2,general:0,error:0},Vi=[["DMY",1],["DM",2],["MY",3],["MDY",4],["MD",5],["hmsa",6],["hma",7],["hms",8],["hm",9]],vi={total:1,sign:0,period:0,int:1,frac:0},Ut=(p,g)=>p.replace(/\./,g.decimal);function Pn(p,g,_,L){const P=0|_;if(typeof _=="string")p.push(_);else if(_===P)p.push(Math.abs(P));else{const M=Math.abs(_);let V=M?Math.floor(Math.log10(M)):0,w=V<0?M*10**-V:M/10**V;w===10&&(w=1,V++);const y=function(Q){let O=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];const z=Math.abs(Q);if(!z)return vi;const Z=O&&Q<0?1:0,G=Math.floor(z),F=Math.floor(Math.log10(z)+1);let Y=0,X=0;if(G!==z){Y=1;const re=String(D(F<0?z*10**-F:z/10**F,15));let ae=re.length,ie=!0,Ee=0;for(;Ee<=re.length;){if(re[Ee]==="."){ae--;break}re[Ee]==="0"&&ie?ae--:ie=!1,Ee++}X=ae-F,X<0&&(X=0,Y=0)}return{total:Z+Math.max(F,1)+Y+X,digits:Math.max(F,0)+X,sign:Z,period:Y,int:Math.max(F,1),frac:X}}(M),j=()=>{const Q=Math.abs(V);let O;O=w===1?w:D(w,5),p.push(Ut(O+"",L),L.exponent,V<0?L.negative:L.positive,Q<10?"0":"",Q)};if(V>=-4&&V<=-1){const Q=M.toPrecision(10+V).replace(/\.?0+$/,"");p.push(Ut(Q,L))}else if(V===10){const Q=M.toFixed(10).slice(0,12).replace(/\.$/,"");p.push(Ut(Q,L))}else if(Math.abs(V)<=9)if(y.total<=11){const Q=D(M,9).toFixed(y.frac);p.push(Ut(Q,L))}else V===9?p.push(Math.floor(M)):V>=0&&V<9?p.push(D(M,9-V)):j();else y.total>=12?j():Math.floor(M)===M?p.push(Math.floor(M)):p.push(Ut(D(M,9).toFixed(y.frac),L))}return p}const Mt=86400,Vn={int:"integer",frac:"fraction",man:"mantissa",num:"numerator",den:"denominator"},vn=function(p){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;const _=Math.floor(Math.log10(p));return g>1?Math.floor(_/g)*g:_};function On(p,g,_,L){let P="",M="",V="",w="",y="",j=0,Q=0|p,O=0,z=0,Z=1,G=0,F=0,Y=0,X=0,re=0,ae=0;const ie=L||R;if(!g.text&&isFinite(g.scale)&&g.scale!==1&&(p=function(se){if(se===0)return se;const ue=Math.ceil(Math.log10(se<0?-se:se)),k=10**(16-Math.floor(ue));return Math.round(se*k)/k}(p*g.scale)),g.exponential){let se=Math.abs(p);if(se){const ue=10**-vn(se,g.int_max),k=D(se*ue,g.frac_max)/ue;j=vn(k,g.int_max)}se/=10**j,p=p<0?-se:se,P+=Math.abs(j)}if(g.integer){const se=Math.abs(D(p,g.fractions?1:g.frac_max));y+=se<1?"":Math.floor(se)}if(g.grouping){let se="",ue=y.length;for(ue>g.group_pri&&(ue-=g.group_pri,se=ie.group+y.slice(ue,ue+g.group_pri)+se);ue>g.group_sec;)ue-=g.group_sec,se=ie.group+y.slice(ue,ue+g.group_sec)+se;y=ue?y.slice(0,ue)+se:se}g.dec_fractions&&(w=String(D(p,g.frac_max)).split(".")[1]||"");let Ee=!1;if(g.fractions){const se=Math.abs(g.integer?p%1:p);if(se)if(Ee=!0,isFinite(g.denominator))V+=g.denominator,M+=D(se*g.denominator),M==="0"&&(M="",V="",Ee=!1,y||(y="0"));else{const ue=C(se,g.integer?g.num_max:1/0,g.den_max);M+=ue[0],V+=ue[1],g.integer&&M==="0"&&(y||(y="0"),M="",V="",Ee=!1)}}if(g.date){Q=Math.trunc(p);const se=Mt*(p-Q);if(O=Math.floor(se),ae=se-O,Math.abs(ae)<1e-6?ae=0:ae>.9999&&(ae=0,O+=1,O===Mt&&(O=0,Q+=1)),ae){const ue=512&g.date||256&g.date||128&g.date;(ue===512&&ae>.9995||ue===256&&ae>.995||ue===128&&ae>.95||!ue&&ae>=.5)&&(O++,ae=0)}if(Q||g.date_system){const ue=xn(p,g.date_system,_.leap1900);z=ue[0],Z=ue[1],G=ue[2]}if(O){const ue=O<0?Mt+O:O;re=Math.floor(ue)%60,X=Math.floor(ue/60)%60,Y=Math.floor(ue/60/60)%60}if(F=(6+Q)%7,g.date_eval&&(Ge=p,ft=Q+O/Mt,_.dateSpanLarge?Ge<-694324||ft>=35830291:Ge<0||ft>=2958466)){if(_.dateErrorThrows)throw new Error("Date out of bounds");return _.dateErrorNumber?Pn(p<0?[ie.negative]:[],0,p,ie).join(""):_.overflow}}var Ge,ft;if(g.int_padding&&(y=g.int_padding.length===1?y||g.int_padding:g.int_padding.substring(0,g.int_padding.length-y.length)+y),g.num_padding&&(M=g.num_padding.length===1?M||g.num_padding:g.num_padding.substring(0,g.num_padding.length-M.length)+M),g.den_padding&&(V=g.den_padding.length===1?V||g.den_padding:V+g.den_padding.slice(V.length)),g.man_padding){const se=g.exp_plus?"+":"";P=g.man_padding.length===1?(j<0?"-":se)+(P||g.man_padding):(j<0?"-":se)+g.man_padding.slice(0,g.man_padding.length-P.length)+P}const $=[];let Oe=0;const et={int:0,frac:0,man:0,num:0,den:0};for(let se=0,ue=g.tokens.length;se<ue;se++){const k=g.tokens[se],Jt=k.num?k.num.length:0;if(k.type==="string")k.rule?k.rule==="num"?Ee?$.push(k.value):(g.num_min>0||g.den_min>0)&&$.push(k.value.replace(/./g,B["?"])):k.rule==="num+int"?Ee&&y?$.push(k.value):g.den_min>0&&(y||g.num_min)&&$.push(k.value.replace(/./g,B["?"])):k.rule==="den"&&(Ee?$.push(k.value):(g.den_min>0||g.den_min>0)&&$.push(k.value.replace(/./g,B["?"]))):$.push(k.value);else if(k.type==="error")$.push(_.invalid);else if(k.type==="point")$.push(g.date?k.value:ie.decimal);else if(k.type==="general")Pn($,0,p,ie);else if(k.type==="exp")$.push(ie.exponent);else if(k.type==="minus")k.volatile&&g.date||k.volatile&&(p>=0||typeof p!="number")||(k.volatile&&!g.fractions&&(g.integer||g.dec_fractions)?(p<0&&y&&y!=="0"||w)&&$.push(ie.negative):$.push(ie.negative));else if(k.type==="plus")$.push(ie.positive);else if(k.type==="text")$.push(p);else if(k.type==="div")Ee?$.push("/"):g.num_min>0||g.den_min>0?$.push(B["?"]):$.push(B["#"]);else if(k.type==="int")if(g.int_pattern.length===1)$.push(y);else{const pe=Oe?g.int_pattern.join("").length-et.int:1/0,Dt=Oe===g.int_pattern.length-1?0:g.int_pattern.join("").length-(et.int+k.num.length);$.push(y.substring(y.length-pe,y.length-Dt)),Oe++,et.int+=k.num.length}else if(k.type==="frac"){const pe=et.frac;for(let Dt=0;Dt<Jt;Dt++)$.push(w[Dt+pe]||B[k.num[Dt]]);et.frac+=Jt}else if(k.type in Vn)g[k.type+"_pattern"].length===1?(k.type==="int"&&$.push(y),k.type==="frac"&&$.push(w),k.type==="man"&&$.push(P),k.type==="num"&&$.push(M),k.type==="den"&&$.push(V)):($.push(Vn[k.type].slice(et[k.type],et[k.type]+Jt)),et[k.type]+=Jt);else if(k.type==="year")z<0&&$.push(ie.negative),$.push(String(Math.abs(z)).padStart(4,"0"));else if(k.type==="year-short"){const pe=z%100;$.push(pe<10?"0":"",pe)}else if(k.type==="month")$.push(k.pad&&Z<10?"0":"",Z);else if(k.type==="monthname-single")g.date_system===6?$.push(ie.mmmm6[Z-1].charAt(0)):$.push(ie.mmmm[Z-1].charAt(0));else if(k.type==="monthname-short")g.date_system===6?$.push(ie.mmm6[Z-1]):$.push(ie.mmm[Z-1]);else if(k.type==="monthname")g.date_system===6?$.push(ie.mmmm6[Z-1]):$.push(ie.mmmm[Z-1]);else if(k.type==="weekday-short")$.push(ie.ddd[F]);else if(k.type==="weekday")$.push(ie.dddd[F]);else if(k.type==="day")$.push(k.pad&&G<10?"0":"",G);else if(k.type==="hour"){const pe=Y%g.clock||(g.clock<24?g.clock:0);$.push(k.pad&&pe<10?"0":"",pe)}else if(k.type==="min")$.push(k.pad&&X<10?"0":"",X);else if(k.type==="sec")$.push(k.pad&&re<10?"0":"",re);else if(k.type==="subsec"){$.push(ie.decimal);const pe=ae.toFixed(g.sec_decimals);$.push(pe.slice(2,2+k.decimals))}else if(k.type==="am"){const pe=Y<12?0:1;k.short&&!L?$.push("AP"[pe]):$.push(ie.ampm[pe])}else if(k.type==="hour-elap"){p<0&&$.push(ie.negative);const pe=24*Q+Math.floor(Math.abs(O)/3600);$.push(String(Math.abs(pe)).padStart(k.pad,"0"))}else if(k.type==="min-elap"){p<0&&$.push(ie.negative);const pe=1440*Q+Math.floor(Math.abs(O)/60);$.push(String(Math.abs(pe)).padStart(k.pad,"0"))}else if(k.type==="sec-elap"){p<0&&$.push(ie.negative);const pe=Q*Mt+Math.abs(O);$.push(String(Math.abs(pe)).padStart(k.pad,"0"))}else if(k.type==="b-year")$.push(z+543);else if(k.type==="b-year-short"){const pe=(z+543)%100;$.push(pe<10?"0":"",pe)}}return _.nbsp?$.join(""):$.join("").replace(/\u00a0/g," ")}function Fn(p,g){for(let _=0;_<3;_++){const L=g[_];if(L){let P;if(L.condition){const M=L.condition[0],V=L.condition[1];M==="="?P=p===V:M===">"?P=p>V:M==="<"?P=p<V:M===">="?P=p>=V:M==="<="?P=p<=V:M==="<>"&&(P=p!==V)}else P=!0;if(P)return L}}}const Un=Fe("@"),Mn="black",Ue={};function Me(p,g){if(p){const _=p[0];g[_]=g[_]||{},Me(p.slice(1),g[_])}else g.$=!0}["d-F-y","d-F-Y","d-M-y","d-M-Y","F-d-y","F-d-Y","F-j-y","F-j-Y","j-F-y","j-F-Y","j-M-y","j-M-Y","M-d-y","M-d-Y","M-j-y","M-j-Y","m-d-y","m-d-Y","m-j-y","m-j-Y","n-d-y","n-d-Y","n-j-y","n-j-Y","y-F-d","y-F-j","y-M-d","y-M-j","Y-F-d","Y-F-j","Y-M-d","Y-m-d","Y-M-j","Y-m-j","Y-n-d","Y-n-j","j-F","j-M","d-F","d-M","n-d","n-j","n-Y","m-d","m-j","m-Y","M-Y","M-y","F-y","F-Y","Y-M","Y-n","Y-m","Y-F","Y-M"].forEach(p=>{Me(p,Ue),Me(p+" x",Ue),Me(p+" l",Ue),Me(p+" l x",Ue),Me("l "+p,Ue),Me("l "+p+" x",Ue),Me(p+" D",Ue),Me(p+" D x",Ue),Me("D "+p,Ue),Me("D "+p+" x",Ue)});const Oi={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},Fi={january:1,february:2,march:3,april:4,june:6,july:7,august:8,september:9,october:10,november:11,december:12},Ui={sunday:"l",monday:"l",tuesday:"l",wednesday:"l",thursday:"l",friday:"l",saturday:"l",sun:"D",mon:"D",tue:"D",wed:"D",thu:"D",fri:"D",sat:"D"},Mi=new Date().getUTCFullYear();function Bn(p){const g=new RegExp("^([\\s+%"+me.join("")+"(-]*)(((?:(?:\\d[\\d,]*)(?:\\.\\d*)?|(?:\\.\\d+)))([eE][+-]?\\d+)?)([\\s%"+me.join("")+")]*)$").exec(p);if(g){const[,_,L,P,M,V]=g;let w=1,y="",j=!1,Q=!1,O=!1,z=!1,Z=!1,G=null,F=!1,Y=parseFloat(L.replace(/,/g,""));if(!isFinite(Y))return null;for(let re=0;re<_.length;re++){const ae=_[re];if(ae==="-"){if(j||Q)return null;j=!0,w=-1}else if(ge.test(ae)){if(Z)return null;Z=!0,G=ae}else if(ae==="("){if(Q||j)return null;Q=!0,w=-1}else if(ae==="%"){if(z)return null;z=!0}}for(let re=0;re<V.length;re++){const ae=V[re];if(ge.test(ae)){if(Z)return null;Z=!0,G=ae,F=!0}else if(ae===")"){if(O||!Q)return null;O=!0}else if(ae==="%"){if(z)return null;z=!0}}if(M){if(z||Z)return null;y="0.00E+00"}else if(z){if(Z)return null;y=P.includes(".")?"0.00%":"0%",Y*=.01}else if(Z){const re=P.includes(".")?"#,##0.00":"#,##0";y=F?re+G:G+re}else P.includes(",")&&(y=P.includes(".")?"#,##0.00":"#,##0");const X={v:Y*w};return y&&(X.z=y),X}}const je=(p,g,_)=>{const L=_.path||"",P=Object.keys(g);for(let M=0;M<P.length;M++){let V;const w=P[M];if(g[w]){if(w==="$"||w==="€")p||(V=_);else if(w==="-"){const y=/^(\s*([./-]|,\s)\s*|\s+)/.exec(p);if(y){const j=y[1]==="-"||y[1]==="/"||y[1]==="."?y[1]:" ";if(!_.sep||_.sep===j){const Q=y[0].replace(/\s+/g," ");V=je(p.slice(y[0].length),g[w],{..._,sep:j,path:L+Q})}}}else if(w===" "){const y=/^[,.]?\s+/.exec(p);if(y){const j=y[0].replace(/\s+/g," ");V=je(p.slice(y[0].length),g[w],{..._,path:L+j})}}else if(w==="j"||w==="d"){const y=/^(0?[1-9]|1\d|2\d|3[01])\b/.exec(p);y&&(V=je(p.slice(y[0].length),g[w],{..._,day:y[0],path:L+w}))}else if(w==="n"||w==="m"){const y=/^(0?[1-9]|1[012])\b/.exec(p);y&&(V=je(p.slice(y[0].length),g[w],{..._,month:+y[0],_mon:y[0],path:L+w}))}else if(w==="F"||w==="M"){const y=/^([a-z]{3,9})\b/i.exec(p),j=y&&(w==="F"?Fi:Oi)[y[0].toLowerCase()];j&&(V=je(p.slice(y[0].length),g[w],{..._,month:j,_mon:y[0],path:L+w}))}else if(w==="l"||w==="D"){const y=/^([a-z]{3,9})\b/i.exec(p);(y&&Ui[y[0].toLowerCase()])===w&&(V=je(p.slice(y[0].length),g[w],{..._,path:L+w}))}else if(w==="y"){const y=/^\d\d\b/.exec(p);if(y){const j=+y[0]>=30?+y[0]+1900:+y[0]+2e3;V=je(p.slice(y[0].length),g[w],{..._,year:j,path:L+w})}}else if(w==="Y"){const y=/^\d\d\d\d\b/.exec(p);y&&(V=je(p.slice(y[0].length),g[w],{..._,year:+y[0],path:L+w}))}else{if(w!=="x")throw new Error('Unknown date token "'.concat(w,'"'));{const y=Qr(p);y&&(V=je("",g[w],{..._,time:y.v,tf:y.z,path:L+w}))}}if(V)return V}}};function kn(p,g){const _=je(p.trim(),Ue,{path:""});if(_){var L;if(_.sep==="."&&_.path.length===3)return null;const P=+((L=_.year)!==null&&L!==void 0?L:Mi);if(_.day||(_.day=1),!function(w,y,j){if(j<1||y<1||y>12)return!1;if(y===2){if(j>(w%4==0&&w%100!=0||w%400==0||w===1900?29:28))return!1}else if((y===4||y===6||y===9||y===11)&&j>30||(y===1||y===3||y===5||y===7||y===8||y===10||y===12)&&j>31)return!1;return!0}(P,_.month,_.day))return null;let M=-1/0;if(P<1900)return null;P<=1900&&_.month<=2?M=25568:P<1e4&&(M=25569);const V=Date.UTC(P,_.month-1,_.day)/864e5+M+(_.time||0);if(V>=0&&V<=2958465){const w=_._mon[0]==="0"||_.day[0]==="0"||_._mon.length===2&&_.day.length===2,y=_.path.replace(/[jdlDnmMFyYx-]/g,j=>j==="j"||j==="d"?w?"dd":"d":j==="D"?"ddd":j==="l"?"dddd":j==="n"||j==="m"?w?"mm":"m":j==="M"?"mmm":j==="F"?"mmmm":j==="y"?"yy":j==="x"?_.tf||"":j==="Y"?"yyyy":j);return g&&g.nativeDate?{v:wn(V,g),z:y}:{v:V,z:y}}}return null}function Qr(p){const g=/^\s*([10]?\d|2[0-4])(?::([0-5]\d|\d))?(?::([0-5]\d|\d))?(\.\d{1,10})?(?:\s*([AP])M?)?\s*$/i.exec(p);if(g){const[,_,L,P,M,V]=g;if(M&&!P||!V&&!L&&!P)return null;let w=1*(_||0);if(V){if(w>=13)return null;V[0]!=="p"&&V[0]!=="P"||(w+=12)}return{v:(60*w*60+60*(1*(L||0))+1*(P||0)+1*(M||0))/86400,z:(_.length===2?"hh":"h")+":mm"+(P?":ss":"")+(V?" AM/PM":"")}}return null}function Tn(p){return/^\s*true\s*$/i.test(p)?{v:!0}:/^\s*false\s*$/i.test(p)?{v:!1}:null}const Bt={};function Bi(p,g){const{pattern:_,partitions:L,locale:P}=p,M=y=>{const j=Object.assign({},v(),g,y);return P&&(j.locale=P),j},V=(y,j)=>{const Q=M(j);return function(O,z,Z){const G=l(Z.locale),F=z[3]?z[3]:Un;if(typeof O=="boolean"&&(O=O?"TRUE":"FALSE"),O==null)return"";if(typeof O!="number")return On(O,F,Z,G);if(!isFinite(O)){const X=G||R;return isNaN(O)?X.nan:(O<0?X.negative:"")+X.infinity}const Y=Fn(O,z);return Y?On(O,Y,Z,G):Z.overflow}(Zt(y,Q),L,Q)};V.color=(y,j)=>function(Q,O){if(typeof Q!="number"||!isFinite(Q))return(O[3]?O[3].color:Un.color)||Mn;const z=Fn(Q,O);return z&&z.color||Mn}(Zt(y,M(j)),L);const w=function(y){var j;let Q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;const[O,z]=y,Z=O.frac_max,G={type:"general",isDate:xi(y),isText:wi(y),isPercent:Li(y),maxDecimals:O.general?9:Z,scale:(j=O.scale)!==null&&j!==void 0?j:1,color:0,parentheses:0,grouped:O.grouping?1:0,_partitions:y},F=!G.isDate&&!G.isText&&!O.error&&O.tokens.some(ie=>ie.type==="string"&&(Q?ie.value===Q:ge.test(ie.value)));let Y="G",X=Z>=0?Math.min(15,Z):"",re="",ae="";if(z&&z.color&&(ae="-",G.color=1),O.parens&&(re="()",G.parentheses=1),F)Y="C",G.type="currency";else if(O.error)G.type="error",G.maxDecimals=0;else if(G.isDate){let ie=0,Ee=0,Ge="";O.tokens.forEach($=>{const Oe=$.type;/^(b-)?year/.test(Oe)?(Ge+="Y",Ee++):Oe.startsWith("month")?(Ge+="M",Ee++):/^(week)?day/.test(Oe)?(Ge+="D",Ee++):Oe!=="hour"&&Oe!=="min"&&Oe!=="sec"&&Oe!=="am"||(Ge+=Oe[0],ie++)}),G.type="date",Ee&&ie?G.type="datetime":!Ee&&ie&&(G.type="time");const ft=Vi.find($=>Ge.startsWith($[0]));Y=ft?"D":"G",X=ft?ft[1]:""}else G.isText?(Y="G",G.type="text",X="",G.maxDecimals=0):O.general?(Y="G",G.type="general",X=""):O.fractions?(Y="G",G.type="fraction",X=""):O.exponential?(Y="S",G.type="scientific"):G.isPercent?(Y="P",G.type="percent"):O.grouping?(Y=",",G.type="grouped"):(O.int_max||Z)&&(Y="F",G.type="number");return G.code=Y+X+ae+re,G.level=Pi[G.type],Object.freeze(G)}(L,(g||{}).currency)||new SyntaxError;return V.info=w,V.dateInfo=function(y){const[j]=y;return{year:!!(2&j.date),month:!!(4&j.date),day:!!(8&j.date),hours:!!(16&j.date),minutes:!!(32&j.date),seconds:!!(64&j.date),clockType:j.clock===12?12:24}}(L),V.isPercent=()=>!!w.isPercent,V.isDate=()=>!!w.isDate,V.isText=()=>!!w.isText,V.pattern=_,p.error&&(V.error=p.error),V.options=M,V.locale=P||g&&g.locale||"",Object.freeze(V)}function le(p,g){p||(p="General");let _=null;return Bt[p]?_=Bt[p]:(_=Object.assign({},v(),g).throws?An(p):function(L){try{return An(L)}catch(P){const M={tokens:[{type:"error"}],error:P.message};return{pattern:L,partitions:[M,M,M,M],error:P.message,locale:null}}}(p),_.error||(Bt[p]=_)),Bi(_,g)}le.isDate=p=>le(p,{throws:!1}).isDate(),le.isPercent=p=>le(p,{throws:!1}).isPercent(),le.isText=p=>le(p,{throws:!1}).isText(),le.getInfo=(p,g)=>le(p,{...g,throws:!1}).info,le.getDateInfo=(p,g)=>le(p,{...g,throws:!1}).dateInfo,le.dateToSerial=Zt,le.dateFromSerial=wn,le.options=v,le.dec2frac=C,le.round=D,le.codeToLocale=s,le.parseLocale=u,le.getLocale=l,le.addLocale=(p,g)=>{const _=u(g);return delete Bt[_.lang],delete Bt[_.language],m(p,_)},le.format=function(p,g,_){let L=arguments.length>3&&arguments[3]!==void 0&&arguments[3];const P=_&&typeof _=="object"?_:{locale:_,throws:!L};return le(p,P)(Zt(g,P),P)},le.is_date=le.isDate,le.parseNumber=Bn,le.parseDate=kn,le.parseTime=Qr,le.parseBool=Tn,le.parseValue=function(p,g){var _,L,P;return(_=(L=(P=Bn(p))!==null&&P!==void 0?P:kn(p,g))!==null&&L!==void 0?L:Qr(p))!==null&&_!==void 0?_:Tn(p)};var ki=le;return t=t.default}()})})(ni);var Wo=ni.exports,Go=Wo;const Xo=Ho(Go),Ko=(n,r)=>Xo.format(n,r);class qo extends T{calculate(r,e){if(r==null||e==null)return h.create(f.NA);if(r.isError())return r;if(e.isError())return e;const t=Math.max(r.isArray()?r.getRowCount():1,e.isArray()?e.getRowCount():1),s=Math.max(r.isArray()?r.getColumnCount():1,e.isArray()?e.getColumnCount():1),i=he(t,s,r),a=he(t,s,e);return i.map((o,u,c)=>{if(o.isError()||o.isString()||o.isBoolean())return o;let l=a.get(u,c)||Re.create(" ");if(l.isError())return l;if(l.isBoolean())return h.create(f.VALUE);l.isNull()&&(l=Re.create(" "));const d=`${l.getValue()}`;o.isNull()&&(o=S.create(0));const m=o.getValue(),R=Ko(d,m);return Re.create(R)})}}class No extends T{calculate(r){return r==null?h.create(f.NA):r.isError()?r:r.isArray()?r.mapValue(e=>this._handleSingleText(e)):this._handleSingleText(r)}_handleSingleText(r){if(r.isError())return r;if(r.isNull())return Re.create("");if(r.isString()||r.isBoolean()||r.isNumber()){const e=r.getValue().toString().toLowerCase();return Re.create(e)}return h.create(f.VALUE)}}const si=[[$o,it.CONCATENATE],[Io,it.LEN],[Qo,it.LENB],[qo,it.TEXT],[No,it.LOWER]],ii=[];var ai=(n=>n)(ai||{});const oi=[];var ui=(n=>(n.ENCODEURL="ENCODEURL",n.FILTERXML="FILTERXML",n.WEBSERVICE="WEBSERVICE",n))(ui||{});function Zo(n,r,e,t,s,i,a){const o=(a==null?void 0:a.f)||"",u=(a==null?void 0:a.si)||"",c=E.isFormulaString(o),l=E.isFormulaId(u);if(c&&l)n.setValue(s,i,{f:o,si:u}),e.set(u,{f:o,r:s,c:i}),r.setValue(s,i,{f:o,si:u});else if(c&&!l)n.setValue(s,i,{f:o}),r.setValue(s,i,{f:o});else if(!c&&l)n.setValue(s,i,{f:"",si:u});else if(!c&&!l&&n.getValue(s,i)){const d=n.getValue(s,i),m=(d==null?void 0:d.f)||"",R=(d==null?void 0:d.si)||"";E.isFormulaString(m)&&E.isFormulaId(R)&&t.set(R,m),n.realDeleteValue(s,i),r.setValue(s,i,null)}}function Jo(n,r,e,t){const s=n==null?void 0:n.getValue(e,t);if(s==null)return!0;const{startRow:i,startColumn:a,endRow:o,endColumn:u}=s;for(let c=i;c<=o;c++)for(let l=a;l<=u;l++)r.realDeleteValue(c,l)}var eu=Object.defineProperty,tu=Object.getOwnPropertyDescriptor,ru=(n,r,e,t)=>{for(var s=t>1?void 0:t?tu(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&eu(r,e,s),s},ns=(n,r)=>(e,t)=>r(e,t,n);exports.FormulaDataModel=class extends E.Disposable{constructor(e,t){super();b(this,"_formulaData",{});b(this,"_arrayFormulaRange",{});b(this,"_arrayFormulaCellData",{});this._univerInstanceService=e,this._lexerTreeBuilder=t,this.initFormulaData()}clearPreviousArrayFormulaCellData(e){Object.keys(e).forEach(t=>{const s=e[t];if(s==null)return!0;Object.keys(s).forEach(i=>{var c,l,d,m;const a=s[i],o=(l=(c=this._arrayFormulaRange)==null?void 0:c[t])==null?void 0:l[i];if(o==null)return!0;let u=new E.ObjectMatrix;((d=this._arrayFormulaCellData[t])==null?void 0:d[i])!=null&&(u=new E.ObjectMatrix((m=this._arrayFormulaCellData[t])==null?void 0:m[i])),a.forValue((R,D)=>{var H;const C=(H=o==null?void 0:o[R])==null?void 0:H[D];if(C==null)return!0;const{startRow:A,startColumn:x,endRow:v,endColumn:B}=C;for(let oe=A;oe<=v;oe++)for(let me=x;me<=B;me++)u.setValue(oe,me,null)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][i]=u.getData())})})}mergeArrayFormulaCellData(e){Object.keys(e).forEach(t=>{const s=e[t];if(s==null)return!0;this._arrayFormulaRange[t]==null&&(this._arrayFormulaRange[t]={}),this._arrayFormulaCellData[t]==null&&(this._arrayFormulaCellData[t]={}),Object.keys(s).forEach(i=>{var c,l;const a=s[i],o=new E.ObjectMatrix((c=this._arrayFormulaRange[t])==null?void 0:c[i]),u=new E.ObjectMatrix((l=this._arrayFormulaCellData[t])==null?void 0:l[i]);a.forValue((d,m)=>{const R=o==null?void 0:o.getValue(d,m);if(R==null)return!0;const{startRow:D,startColumn:C,endRow:A,endColumn:x}=R;for(let v=D;v<=A;v++)for(let B=C;B<=x;B++)u.setValue(v,B,null)}),a.forValue((d,m,R)=>{u.setValue(d,m,R)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][i]=u.getData())})})}getFormulaData(){return this._formulaData}setFormulaData(e){this._formulaData=e}getArrayFormulaRange(){return this._arrayFormulaRange}setArrayFormulaRange(e){this._arrayFormulaRange=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}mergeArrayFormulaRange(e){Object.keys(e).forEach(t=>{const s=e[t];if(s==null)return!0;this._arrayFormulaRange[t]||(this._arrayFormulaRange[t]={}),Object.keys(s).forEach(i=>{var u;const a=new E.ObjectMatrix(s[i]),o=new E.ObjectMatrix((u=this._arrayFormulaRange[t])==null?void 0:u[i]);a.forValue((c,l,d)=>{o.setValue(c,l,d)}),this._arrayFormulaRange[t]&&(this._arrayFormulaRange[t][i]=o.getData())})})}mergeFormulaData(e){Object.keys(e).forEach(t=>{const s=e[t];if(s!==void 0){if(s===null){delete this._formulaData[t];return}this._formulaData[t]||(this._formulaData[t]={}),Object.keys(s).forEach(i=>{var c,l;const a=s[i];if(a===void 0)return;if(a===null){(c=this._formulaData[t])==null||delete c[i];return}const o=new E.ObjectMatrix(a),u=new E.ObjectMatrix(((l=this._formulaData[t])==null?void 0:l[i])||{});o.forValue((d,m,R)=>{R==null?u.realDeleteValue(d,m):u.setValue(d,m,R)}),this._formulaData[t][i]=u.clone()})}})}deleteArrayFormulaRange(e,t,s,i){var u;const a=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(a==null)return;const o=new E.ObjectMatrix(a);o.getValue(s,i)&&(o.realDeleteValue(s,i),this._arrayFormulaRange[e]&&(this._arrayFormulaRange[e][t]=o.getData()))}initFormulaData(){if(this._univerInstanceService.getAllUnitsForType(E.UniverInstanceType.UNIVER_SHEET).length===0)return;const t=this._univerInstanceService.getCurrentUnitForType(E.UniverInstanceType.UNIVER_SHEET),s=t.getUnitId();this._formulaData[s]={},t.getSheets().forEach(a=>{const o=a.getCellMatrix(),u=a.getSheetId();ci(this._formulaData,s,u,o)})}getCalculateData(){const e=this._univerInstanceService.getAllUnitsForType(E.UniverInstanceType.UNIVER_SHEET),t={},s={};for(const i of e){const a=i.getUnitId(),o=i.getSheets(),u={},c={};for(const l of o){const d=l.getSheetId(),m=l.getConfig();u[d]={cellData:new E.ObjectMatrix(m.cellData),rowCount:m.rowCount,columnCount:m.columnCount,rowData:m.rowData,columnData:m.columnData},c[l.getName()]=l.getSheetId()}t[a]=u,s[a]=c}return{allUnitData:t,unitSheetNameMap:s}}updateFormulaData(e,t,s){const i=new E.ObjectMatrix(s),a=this.getFormulaIdMap(e,t),o=new Map,u=this._formulaData;u[e]==null&&(u[e]={});const c=u[e];c[t]==null&&(c[t]={});const l=new E.ObjectMatrix(c[t]||{}),d=new E.ObjectMatrix;return i.forValue((m,R,D)=>{Zo(l,d,a,o,m,R,D)}),l.forValue((m,R,D)=>{const C=(D==null?void 0:D.f)||"",A=(D==null?void 0:D.si)||"";if(E.isFormulaId(A)){const x=a.get(A),v=o.get(A);if(x&&!E.isFormulaString(C)){const B=x.f,H=R-x.c,oe=m-x.r;l.setValue(m,R,{f:B,si:A,x:H,y:oe}),d.setValue(m,R,{f:B,si:A,x:H,y:oe})}else if(typeof v=="string"){const B=(D==null?void 0:D.x)||0,H=(D==null?void 0:D.y)||0,oe=this._lexerTreeBuilder.moveFormulaRefOffset(v,B,H);o.set(A,{r:m,c:R,f:oe}),l.setValue(m,R,{f:oe,si:A}),d.setValue(m,R,{f:oe,si:A})}else if(typeof v=="object"){const B=R-v.c,H=m-v.r;l.setValue(m,R,{f:v.f,si:A,x:B,y:H}),d.setValue(m,R,{f:v.f,si:A,x:B,y:H})}}}),d.clone()}updateArrayFormulaRange(e,t,s){var u;const i=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(!i)return;const a=new E.ObjectMatrix(i);new E.ObjectMatrix(s).forValue((c,l,d)=>{a.realDeleteValue(c,l)})}updateArrayFormulaCellData(e,t,s){var l,d;const i=(l=this._arrayFormulaRange[e])==null?void 0:l[t];if(!i)return;const a=new E.ObjectMatrix(i),o=(d=this._arrayFormulaCellData[e])==null?void 0:d[t];if(!o)return;const u=new E.ObjectMatrix(o);new E.ObjectMatrix(s).forValue((m,R,D)=>{Jo(a,u,m,R)})}getFormulaItemBySId(e,t,s){const i=this._formulaData;if(i[s]==null)return null;const a=i[s];if((a==null?void 0:a[t])==null)return null;const o=new E.ObjectMatrix(a[t]||{});let u=null;return o.forValue((c,l,d)=>{if(d==null)return!0;const{f:m,si:R,x:D=0,y:C=0}=d;if(R===e&&m.length>0&&D===0&&C===0)return u=d,!1}),u}getFormulaDataItem(e,t,s,i){var a,o,u,c;return(c=(u=(o=(a=this._formulaData)==null?void 0:a[i])==null?void 0:o[s])==null?void 0:u[e])==null?void 0:c[t]}getFormulaIdMap(e,t){const s=new Map,i=this._formulaData;if(i[e]==null)return s;const a=i[e];return(a==null?void 0:a[t])==null||new E.ObjectMatrix(a[t]||{}).forValue((u,c,l)=>{const d=(l==null?void 0:l.f)||"",m=(l==null?void 0:l.si)||"",R=(l==null?void 0:l.x)||0,D=(l==null?void 0:l.y)||0;E.isFormulaString(d)&&E.isFormulaId(m)&&R===0&&D===0&&s.set(m,{f:d,r:u,c})}),s}getFormulaStringByCell(e,t,s,i){const a=this.getFormulaDataItem(e,t,s,i);if(a==null)return null;const{f:o,si:u,x:c=0,y:l=0}=a;if(u!=null&&(c!==0||l!==0)){let d="";if(o.length>0)d=o;else{const m=this.getFormulaItemBySId(u,s,i);if(m==null||m.f.length===0)return null;d=m.f}return d=this._lexerTreeBuilder.moveFormulaRefOffset(d,c,l),d}return E.isFormulaString(o)?o:null}};exports.FormulaDataModel=ru([ns(0,E.IUniverInstanceService),ns(1,N.Inject(Ur))],exports.FormulaDataModel);function ci(n,r,e,t){const s=new Map,i=new E.ObjectMatrix;t.forValue((o,u,c)=>{const l=(c==null?void 0:c.f)||"",d=(c==null?void 0:c.si)||"",m=E.isFormulaString(l),R=E.isFormulaId(d);m&&R?(i.setValue(o,u,{f:l,si:d}),s.set(d,{f:l,r:o,c:u})):m&&!R?i.setValue(o,u,{f:l}):!m&&R&&i.setValue(o,u,{f:"",si:d})}),i.forValue((o,u,c)=>{const l=(c==null?void 0:c.f)||"",d=(c==null?void 0:c.si)||"";if(E.isFormulaId(d)&&!E.isFormulaString(l)){const m=s.get(d);if(m){const R=m.f,D=u-m.c,C=o-m.r;i.setValue(o,u,{f:R,si:d,x:D,y:C})}}}),n[r]||(n[r]={});const a=i.clone();return n[r][e]=a,{[r]:{[e]:a}}}class li extends E.Disposable{constructor(){super();b(this,"_definedNameMap",{});b(this,"_update$",new Lt.Subject);b(this,"update$",this._update$.asObservable());b(this,"_currentRange",{unitId:"",sheetId:"",range:{startRow:0,endRow:0,startColumn:0,endColumn:0}});b(this,"_currentRange$",new Lt.Subject);b(this,"currentRange$",this._currentRange$.asObservable());b(this,"_focusRange$",new Lt.Subject);b(this,"focusRange$",this._focusRange$.asObservable())}dispose(){this._definedNameMap={}}focusRange(e,t){const s=this.getValueById(e,t);s!=null&&this._focusRange$.next({...s,unitId:e})}setCurrentRange(e){this._currentRange=e,this._currentRange$.next(e)}getCurrentRange(){return this._currentRange}getCurrentRangeForString(){return Ne(this._currentRange.range)}registerDefinedNames(e,t){this._definedNameMap[e]=t,this._update()}registerDefinedName(e,t){this._definedNameMap[e]==null&&(this._definedNameMap[e]={}),this._definedNameMap[e][t.id]=t,this._update()}removeDefinedName(e,t){var s;(s=this._definedNameMap[e])==null||delete s[t],this._update()}removeUnitDefinedName(e){delete this._definedNameMap[e],this._update()}getDefinedNameMap(e){return this._definedNameMap[e]}getValueByName(e,t){var i;const s=this._definedNameMap[e];return s==null?null:(i=Array.from(Object.values(s)).filter(a=>a.name===t))==null?void 0:i[0]}getValueById(e,t){var s;return(s=this._definedNameMap[e])==null?void 0:s[t]}hasDefinedName(e){return this._definedNameMap[e]==null?!1:(Array.from(Object.values(this._definedNameMap[e])).length||0)!==0}_update(){this._update$.next(null)}}const Kt=N.createIdentifier("univer.formula.defined-names.service");var nu=Object.defineProperty,su=Object.getOwnPropertyDescriptor,iu=(n,r,e,t)=>{for(var s=t>1?void 0:t?su(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&nu(r,e,s),s},au=(n,r)=>(e,t)=>r(e,t,n);exports.FormulaCurrentConfigService=class extends E.Disposable{constructor(e){super();b(this,"_unitData",{});b(this,"_unitStylesData",{});b(this,"_arrayFormulaCellData",{});b(this,"_formulaData",{});b(this,"_sheetNameMap",{});b(this,"_forceCalculate",!1);b(this,"_dirtyRanges",[]);b(this,"_dirtyNameMap",{});b(this,"_dirtyDefinedNameMap",{});b(this,"_dirtyUnitFeatureMap",{});b(this,"_dirtyUnitOtherFormulaMap",{});b(this,"_excludedCell");b(this,"_sheetIdToNameMap",{});b(this,"_executeUnitId","");b(this,"_executeSubUnitId","");this._univerInstanceService=e}dispose(){this._unitData={},this._unitStylesData={},this._formulaData={},this._arrayFormulaCellData={},this._sheetNameMap={},this._dirtyRanges=[],this._dirtyNameMap={},this._dirtyDefinedNameMap={},this._dirtyUnitFeatureMap={},this._excludedCell={},this._sheetIdToNameMap={},this._dirtyUnitOtherFormulaMap={}}getExecuteUnitId(){return this._executeUnitId}getExecuteSubUnitId(){return this._executeSubUnitId}setExecuteUnitId(e){this._executeUnitId=e}setExecuteSubUnitId(e){this._executeSubUnitId=e}getExcludedRange(){return this._excludedCell}getUnitData(){return this._unitData}getUnitStylesData(){return this._unitStylesData}getFormulaData(){return this._formulaData}getArrayFormulaCellData(){return this._arrayFormulaCellData}getSheetNameMap(){return this._sheetNameMap}isForceCalculate(){return this._forceCalculate}getDirtyRanges(){return this._dirtyRanges}getDirtyNameMap(){return this._dirtyNameMap}getDirtyDefinedNameMap(){return this._dirtyDefinedNameMap}getDirtyUnitFeatureMap(){return this._dirtyUnitFeatureMap}getDirtyUnitOtherFormulaMap(){return this._dirtyUnitOtherFormulaMap}getSheetName(e,t){return this._sheetIdToNameMap[e]==null?"":this._sheetIdToNameMap[e][t]||""}load(e){if(e.allUnitData&&e.unitSheetNameMap&&e.unitStylesData)this._unitData=e.allUnitData,this._unitStylesData=e.unitStylesData,this._sheetNameMap=e.unitSheetNameMap;else{const{allUnitData:t,unitSheetNameMap:s,unitStylesData:i}=this._loadSheetData();this._unitData=t,this._unitStylesData=i,this._sheetNameMap=s}this._formulaData=e.formulaData,this._arrayFormulaCellData=gs(e.arrayFormulaCellData),this._forceCalculate=e.forceCalculate,this._dirtyRanges=e.dirtyRanges,this._dirtyNameMap=e.dirtyNameMap,this._dirtyDefinedNameMap=e.dirtyDefinedNameMap,this._dirtyUnitFeatureMap=e.dirtyUnitFeatureMap,this._dirtyUnitOtherFormulaMap=e.dirtyUnitOtherFormulaMap,this._excludedCell=e.excludedCell,this._mergeNameMap(this._sheetNameMap,this._dirtyNameMap)}loadDirtyRangesAndExcludedCell(e,t){this._dirtyRanges=e,this._excludedCell=t,this._dirtyNameMap={}}registerUnitData(e){this._unitData=e}registerFormulaData(e){this._formulaData=e}registerSheetNameMap(e){this._sheetNameMap=e}_mergeNameMap(e,t){Object.keys(t).forEach(s=>{t[s]&&Object.keys(t[s]).forEach(i=>{e[s]==null&&(e[s]={}),e[s][t[s][i]]=i})}),this._sheetIdToNameMap={},Object.keys(e).forEach(s=>{Object.keys(e[s]).forEach(i=>{this._sheetIdToNameMap[s]==null&&(this._sheetIdToNameMap[s]={}),this._sheetIdToNameMap[s][e[s][i]]=i})})}_loadSheetData(){const e=this._univerInstanceService.getAllUnitsForType(E.UniverInstanceType.UNIVER_SHEET),t=this._univerInstanceService.getCurrentUnitForType(E.UniverInstanceType.UNIVER_SHEET),s=t==null?void 0:t.getActiveSheet();this._executeUnitId=t==null?void 0:t.getUnitId(),this._executeSubUnitId=s==null?void 0:s.getSheetId();const i={},a={},o={};for(const u of e){const c=u.getUnitId(),l=u.getSheets(),d={},m={};for(const R of l){const D=R.getSheetId(),C=R.getConfig();d[D]={cellData:new E.ObjectMatrix(C.cellData),rowCount:C.rowCount,columnCount:C.columnCount,rowData:C.rowData,columnData:C.columnData},m[R.getName()]=R.getSheetId()}i[c]=d,a[c]=u.getStyles(),o[c]=m}return{allUnitData:i,unitStylesData:a,unitSheetNameMap:o}}};exports.FormulaCurrentConfigService=iu([au(0,E.IUniverInstanceService)],exports.FormulaCurrentConfigService);const Je=N.createIdentifier("univer.formula.current-data.service");var ou=Object.defineProperty,uu=Object.getOwnPropertyDescriptor,cu=(n,r,e,t)=>{for(var s=t>1?void 0:t?uu(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&ou(r,e,s),s},Xr=(n,r)=>(e,t)=>r(e,t,n);let wt=class extends E.Disposable{constructor(n,r,e){super(),this._definedNamesService=n,this._lexerTreeBuilder=r,this._formulaCurrentConfigService=e}treeBuilder(n,r=!0){return this._lexerTreeBuilder.treeBuilder(n,r,this._injectDefinedName.bind(this),this._simpleCheckDefinedName.bind(this))}_simpleCheckDefinedName(n){const r=this._formulaCurrentConfigService.getDirtyDefinedNameMap(),e=this._formulaCurrentConfigService.getExecuteUnitId();if(e!=null&&r[e]!=null){const t=Object.keys(r[e]);for(let s=0,i=t.length;s<i;s++){const a=t[s];if(n.indexOf(a)>-1)return!0}}return!1}_checkDefinedNameDirty(n){const r=this._formulaCurrentConfigService.getDirtyDefinedNameMap(),e=this._formulaCurrentConfigService.getExecuteUnitId();if(e!=null&&r[e]!=null){const t=Object.keys(r[e]);for(let s=0,i=t.length;s<i;s++)if(t[s]===n)return!0}return!1}_injectDefinedName(n){const r=this._formulaCurrentConfigService.getExecuteUnitId();if(r==null)return{sequenceString:"",hasDefinedName:!1,definedNames:[]};const e=this._lexerTreeBuilder.getSequenceNode(n);let t="",s=!1;const i=[];for(let a=0,o=e.length;a<o;a++){const u=e[a];if(typeof u=="string"){t+=u;continue}const{nodeType:c,token:l}=u;if(c===Le.REFERENCE||c===Le.FUNCTION){const d=this._definedNamesService.getValueByName(r,l);if(d){let m=d.formulaOrRefString;m.substring(0,1)===de.EQUALS&&(m=m.substring(1)),t+=m,i.push(d.name),s=!0}else this._checkDefinedNameDirty(l)?(t+=f.NAME,s=!0,i.push(l)):t+=l}else t+=l}return{sequenceString:t,hasDefinedName:s,definedNames:i}}};wt=cu([Xr(0,Kt),Xr(1,N.Inject(Ur)),Xr(2,Je)],wt);var lu=Object.defineProperty,fu=Object.getOwnPropertyDescriptor,hu=(n,r,e,t)=>{for(var s=t>1?void 0:t?fu(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&lu(r,e,s),s},du=(n,r)=>(e,t)=>r(e,t,n),$e=(n=>(n[n.IDLE=0]="IDLE",n[n.START_DEPENDENCY=1]="START_DEPENDENCY",n[n.START_CALCULATION=2]="START_CALCULATION",n[n.CURRENTLY_CALCULATING=3]="CURRENTLY_CALCULATING",n[n.START_DEPENDENCY_ARRAY_FORMULA=4]="START_DEPENDENCY_ARRAY_FORMULA",n[n.START_CALCULATION_ARRAY_FORMULA=5]="START_CALCULATION_ARRAY_FORMULA",n[n.CURRENTLY_CALCULATING_ARRAY_FORMULA=6]="CURRENTLY_CALCULATING_ARRAY_FORMULA",n[n.CALCULATION_COMPLETED=7]="CALCULATION_COMPLETED",n))($e||{}),St=(n=>(n[n.INITIAL=0]="INITIAL",n[n.STOP_EXECUTION=1]="STOP_EXECUTION",n[n.NOT_EXECUTED=2]="NOT_EXECUTED",n[n.SUCCESS=3]="SUCCESS",n))(St||{});exports.FormulaRuntimeService=class extends E.Disposable{constructor(e){super();b(this,"_formulaExecuteStage",0);b(this,"_stopState",!1);b(this,"_currentRow",-1);b(this,"_currentColumn",-1);b(this,"_currentRowCount",Number.NEGATIVE_INFINITY);b(this,"_currentColumnCount",Number.NEGATIVE_INFINITY);b(this,"_currentSubUnitId","");b(this,"_currentUnitId","");b(this,"_runtimeData",{});b(this,"_runtimeOtherData",{});b(this,"_unitArrayFormulaRange",{});b(this,"_runtimeArrayFormulaCellData",{});b(this,"_runtimeClearArrayFormulaCellData",{});b(this,"_runtimeFeatureRange",{});b(this,"_runtimeFeatureCellData",{});b(this,"_functionsExecutedState",0);b(this,"_functionDefinitionPrivacyVar",new Map);b(this,"_totalFormulasToCalculate",0);b(this,"_completedFormulasCount",0);b(this,"_totalArrayFormulasToCalculate",0);b(this,"_completedArrayFormulasCount",0);b(this,"_isCycleDependency",!1);this._currentConfigService=e}get currentRow(){return this._currentRow}get currentColumn(){return this._currentColumn}get currentRowCount(){return this._currentRowCount}get currentColumnCount(){return this._currentColumnCount}get currentSubUnitId(){return this._currentSubUnitId}get currentUnitId(){return this._currentUnitId}dispose(){this.reset(),this._runtimeFeatureCellData={},this._runtimeFeatureRange={}}enableCycleDependency(){this._isCycleDependency=!0}disableCycleDependency(){this._isCycleDependency=!1}isCycleDependency(){return this._isCycleDependency}setTotalArrayFormulasToCalculate(e){this._totalArrayFormulasToCalculate=e}getTotalArrayFormulasToCalculate(){return this._totalArrayFormulasToCalculate}setCompletedArrayFormulasCount(e){this._completedArrayFormulasCount=e}getCompletedArrayFormulasCount(){return this._completedArrayFormulasCount}setTotalFormulasToCalculate(e){this._totalFormulasToCalculate=e}getTotalFormulasToCalculate(){return this._totalFormulasToCalculate}setCompletedFormulasCount(e){this._completedFormulasCount=e}getCompletedFormulasCount(){return this._completedFormulasCount}markedAsSuccessfullyExecuted(){this._functionsExecutedState=3}markedAsNoFunctionsExecuted(){this._functionsExecutedState=2}markedAsStopFunctionsExecuted(){this._functionsExecutedState=1}markedAsInitialFunctionsExecuted(){this._functionsExecutedState=0}stopExecution(){this._stopState=!0,this.setFormulaExecuteStage(0)}isStopExecution(){return this._stopState}setFormulaExecuteStage(e){this._formulaExecuteStage=e}getFormulaExecuteStage(){return this._formulaExecuteStage}reset(){this._formulaExecuteStage=0,this._runtimeData={},this._runtimeOtherData={},this._unitArrayFormulaRange={},this._runtimeArrayFormulaCellData={},this._runtimeClearArrayFormulaCellData={},this._functionDefinitionPrivacyVar.clear(),this.markedAsInitialFunctionsExecuted(),this._isCycleDependency=!1,this._totalFormulasToCalculate=0,this._completedFormulasCount=0}setCurrent(e,t,s,i,a,o){this._currentRow=e,this._currentColumn=t,this._currentRowCount=s,this._currentColumnCount=i,this._currentSubUnitId=a,this._currentUnitId=o}clearFunctionDefinitionPrivacyVar(){this._functionDefinitionPrivacyVar.clear()}registerFunctionDefinitionPrivacyVar(e,t){this._functionDefinitionPrivacyVar.set(e,t)}getFunctionDefinitionPrivacyVar(e){return this._functionDefinitionPrivacyVar.get(e)}setRuntimeOtherData(e,t){const s=this._currentSubUnitId,i=this._currentUnitId;this._runtimeOtherData[i]===void 0&&(this._runtimeOtherData[i]={});const a=this._runtimeOtherData[i];a[s]===void 0&&(a[s]={});const o=a[s];let u=[];if(t.isReferenceObject()||t.isValueObject()&&t.isArray()){const c=t,{startRow:l,startColumn:d}=c.getRangePosition();c.iterator((m,R,D)=>{const C=ht(m),A=R-l,x=D-d;u[A]==null&&(u[A]=[]),u[A][x]=C})}else u=[[ht(t)]];o[e]=u}setRuntimeData(e){const t=this._currentRow,s=this._currentColumn,i=this._currentRowCount,a=this.currentColumnCount,o=this._currentSubUnitId,u=this._currentUnitId;this._runtimeData[u]==null&&(this._runtimeData[u]={});const c=this._runtimeData[u];c[o]==null&&(c[o]=new E.ObjectMatrix),this._unitArrayFormulaRange[u]==null&&(this._unitArrayFormulaRange[u]={});const l=this._unitArrayFormulaRange[u];let d=new E.ObjectMatrix;l[o]&&(d=new E.ObjectMatrix(l[o])),this._runtimeArrayFormulaCellData[u]===void 0&&(this._runtimeArrayFormulaCellData[u]={});const m=this._runtimeArrayFormulaCellData[u];m[o]==null&&(m[o]=new E.ObjectMatrix),this._runtimeClearArrayFormulaCellData[u]===void 0&&(this._runtimeClearArrayFormulaCellData[u]={});const R=this._runtimeClearArrayFormulaCellData[u];R[o]==null&&(R[o]=new E.ObjectMatrix);const D=c[o],C=m[o],A=R[o];if(e.isReferenceObject()||e.isValueObject()&&e.isArray()){const x=e,{startRow:v,startColumn:B,endRow:H,endColumn:oe}=x.getRangePosition();if(v===H&&B===oe){const ge=x.getFirstCell(),ne=ht(ge);D.setValue(t,s,ne),A.setValue(t,s,ne);return}const me={startRow:t,startColumn:s,endRow:H-v+t,endColumn:oe-B+s};if(d.setValue(t,s,me),l[o]=d.getData(),this._checkIfArrayFormulaRangeHasData(u,o,t,s,me)||this._checkIfArrayFormulaExceeded(i,a,me)){const ge=ht(h.create(f.SPILL));D.setValue(t,s,ge),A.setValue(t,s,ge)}else{const ge=h.create(f.SPILL);x.iterator((ne,J,te)=>{const K=ht(ne);if(J===v&&te===B){if(ne!=null&&ne.isError()&&ne.isEqualType(ge))return A.setValue(t,s,{}),D.setValue(t,s,{...ht(ge)}),!1;D.setValue(t,s,{...K})}const Fe=J-v+t,lt=te-B+s;C.setValue(Fe,lt,K)})}}else{const x=ht(e);D.setValue(t,s,x),A.setValue(t,s,x)}}getUnitData(){return this._runtimeData}getUnitArrayFormula(){return this._unitArrayFormulaRange}getRuntimeOtherData(){return this._runtimeOtherData}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}getRuntimeClearArrayFormulaCellData(){return this._runtimeClearArrayFormulaCellData}getRuntimeFeatureRange(){return this._runtimeFeatureRange}setRuntimeFeatureRange(e,t){this._runtimeFeatureRange[e]=t}getRuntimeFeatureCellData(){return this._runtimeFeatureCellData}setRuntimeFeatureCellData(e,t){this._runtimeFeatureCellData[e]=t}getAllRuntimeData(){return{unitData:this.getUnitData(),arrayFormulaRange:this.getUnitArrayFormula(),unitOtherData:this.getRuntimeOtherData(),functionsExecutedState:this._functionsExecutedState,arrayFormulaCellData:this.getRuntimeArrayFormulaCellData(),clearArrayFormulaCellData:this.getRuntimeClearArrayFormulaCellData(),runtimeFeatureRange:this.getRuntimeFeatureRange(),runtimeFeatureCellData:this.getRuntimeFeatureCellData()}}getRuntimeState(){return{totalFormulasToCalculate:this.getTotalFormulasToCalculate(),completedFormulasCount:this.getCompletedFormulasCount(),totalArrayFormulasToCalculate:this.getTotalArrayFormulasToCalculate(),completedArrayFormulasCount:this.getCompletedArrayFormulasCount(),stage:this.getFormulaExecuteStage()}}_checkIfArrayFormulaRangeHasData(e,t,s,i,a){var R,D,C,A,x,v,B,H,oe,me,ge,ne;const{startRow:o,startColumn:u,endRow:c,endColumn:l}=a,d=this._currentConfigService.getUnitData(),m=(C=(D=(R=this._unitArrayFormulaRange[e])==null?void 0:R[t])==null?void 0:D[s])==null?void 0:C[i];for(let J=o;J<=c;J++)for(let te=u;te<=l;te++){if(J===s&&i===te)continue;const K=(v=(x=(A=this._runtimeData)==null?void 0:A[e])==null?void 0:x[t])==null?void 0:v.getValue(J,te),Fe=(oe=(H=(B=this._runtimeArrayFormulaCellData)==null?void 0:B[e])==null?void 0:H[t])==null?void 0:oe.getValue(J,te),lt=(ne=(ge=(me=d==null?void 0:d[e])==null?void 0:me[t])==null?void 0:ge.cellData)==null?void 0:ne.getValue(J,te);if(!E.isNullCell(K)||!E.isNullCell(Fe)&&!this._isInArrayFormulaRange(m,J,te)||!E.isNullCell(lt))return!0}return!1}_isInArrayFormulaRange(e,t,s){if(e==null)return!1;const{startRow:i,startColumn:a,endRow:o,endColumn:u}=e;return t>=i&&t<=o&&s>=a&&s<=u}_checkIfArrayFormulaExceeded(e,t,s){return s.endRow>=e||s.endColumn>=t}_isInDirtyRange(e,t,s,i){const a=this._currentConfigService.getDirtyRanges();return a.length===0?!0:fs(a,e,t,s,i)}};exports.FormulaRuntimeService=hu([du(0,Je)],exports.FormulaRuntimeService);const Te=N.createIdentifier("univer.formula.runtime.service");var ee=(n=>(n.REFERENCE="ReferenceNode",n.VALUE="ValueNode",n.OPERATOR="OperatorNode",n.FUNCTION="FunctionNode",n.LAMBDA="LambdaNode",n.LAMBDA_PARAMETER="LambdaNodeParameter",n.ERROR="ErrorNode",n.BASE="Base",n.ROOT="Root",n.UNION="UnionNode",n.PREFIX="PrefixNode",n.SUFFIX="SuffixNode",n.NULL="NullNode",n))(ee||{});const Qe=new Map([["ReferenceNode",7],["ValueNode",9],["OperatorNode",8],["FunctionNode",6],["LambdaNode",1],["LambdaNodeParameter",2],["Root",10],["UnionNode",3],["PrefixNode",4],["SuffixNode",5]]);class ve extends E.Disposable{constructor(e){super();b(this,"_children",[]);b(this,"_definedNames",[]);b(this,"_parent");b(this,"_valueObject");b(this,"_calculateState",!1);b(this,"_async",!1);b(this,"_address",!1);b(this,"_refOffsetX",0);b(this,"_refOffsetY",0);this._token=e}dispose(){var e;this._children.forEach(t=>{t.dispose()}),(e=this._valueObject)==null||e.dispose(),this._parent=null}get nodeType(){return ee.BASE}isAsync(){return this._async}isAddress(){return this._address}setAsync(){this._async=!0}setAddress(){this._address=!0}getParent(){return this._parent}setParent(e){this._parent=e,e.addChildren(this)}getChildren(){return this._children}addChildren(...e){this._children.push(...e)}getToken(){return this._token}setValue(e){this._valueObject=e}getValue(){return this._valueObject}isCalculated(){return this._calculateState}setCalculated(){this._calculateState=!0}execute(){}setNotEmpty(e=!0){}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}async executeAsync(){return Promise.resolve(pt.SUCCESS)}serialize(){const e=this.getToken(),t=this.getChildren(),s=[],i=t.length;for(let o=0;o<i;o++){const u=t[o];s.push(u.serialize())}const a={token:e,nodeType:this.nodeType};return i>0&&(a.children=s),a}hasDefinedName(e){return this._definedNames.includes(e)}setDefinedNames(e){this._definedNames=e}}class De extends ve{constructor(e){super(e);b(this,"_errorValueObject");this._errorValueObject=h.create(e)}get nodeType(){return ee.ERROR}static create(e){return new De(e)}getValue(){return this._errorValueObject}}const ze=100;class He extends E.Disposable{get zIndex(){return 0}create(r,e,t){let s;return r instanceof q?s=r.getToken():s=r,new ve(s)}checkAndCreateNodeType(r){}}class sn extends ve{get nodeType(){return ee.ROOT}execute(){const e=this.getChildren()[0];e==null?this.setValue(h.create(f.VALUE)):this.setValue(e.getValue())}}class fi extends He{get zIndex(){return Qe.get(ee.ROOT)||ze}checkAndCreateNodeType(r){if(!(r instanceof q))return;if(r.getToken()===at)return new sn(at)}}class hi extends E.Disposable{constructor(){super(...arguments);b(this,"_functionExecutors",new Map);b(this,"_functionDescriptions",new Map)}dispose(){this._functionExecutors.clear(),this._functionDescriptions.clear()}registerExecutors(...e){for(let t=0;t<e.length;t++){const s=e[t];this._functionExecutors.set(s.name,s)}}getExecutors(){return this._functionExecutors}getExecutor(e){return this._functionExecutors.get(e)}hasExecutor(e){return this._functionExecutors.has(e)}unregisterExecutors(...e){for(let t=0;t<e.length;t++){const s=e[t];this._functionExecutors.delete(s)}}registerDescriptions(...e){for(let t=0;t<e.length;t++){const s=e[t];this._functionDescriptions.set(s.functionName,s)}return E.toDisposable(()=>{for(let t=0;t<e.length;t++){const s=e[t];this._functionDescriptions.delete(s.functionName)}})}getDescriptions(){return this._functionDescriptions}getDescription(e){return this._functionDescriptions.get(e)}hasDescription(e){return this._functionDescriptions.has(e)}unregisterDescriptions(...e){for(let t=0;t<e.length;t++){const s=e[t];this._functionDescriptions.delete(s)}}}const We=N.createIdentifier("univer.formula.function.service");var mu=Object.defineProperty,gu=Object.getOwnPropertyDescriptor,pu=(n,r,e,t)=>{for(var s=t>1?void 0:t?gu(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&mu(r,e,s),s},ss=(n,r)=>(e,t)=>r(e,t,n);class _r extends ve{constructor(r,e,t){super(e),this._accessor=r,this._operatorString=e,this._functionExecutor=t}get nodeType(){return ee.PREFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null)throw new Error("object is null");e.isReferenceObject()&&(e=e.toArrayValueObject()),this._operatorString===_e.MINUS?t=this._functionExecutor.calculate(S.create(0),e):this._operatorString===_e.AT?t=this._handlerAT(e):t=h.create(f.VALUE),this.setValue(t)}_handlerAT(r){if(!r.isReferenceObject())return h.create(f.VALUE);const e=r;if(e.isCell())return h.create(f.VALUE);const t=this._accessor.get(Te),s=t.currentRow||0,i=t.currentColumn||0;return e.isRow()?e.getCellByColumn(i):e.isColumn()?e.getCellByRow(s):e.isRange()||e.isTable()?e.getCellByPosition():h.create(f.VALUE)}}let Er=class extends He{constructor(n,r){super(),this._functionService=n,this._injector=r}get zIndex(){return Qe.get(ee.PREFIX)||ze}checkAndCreateNodeType(n){if(!(n instanceof q))return;const r=n.getToken(),e=r.trim();if(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')return;let t="";if(e===_e.MINUS)t=Ae.MINUS;else return e===_e.AT?new _r(this._injector,e):void 0;const s=this._functionService.getExecutor(t);return s?new _r(this._injector,e,s):(console.error(`No function ${r}`),De.create(f.NAME))}};Er=pu([ss(0,We),ss(1,N.Inject(N.Injector))],Er);function di(n,r,e){let t,s;const i=n.slice(0,2);let a=0;if(new RegExp(_e.MINUS,"g").test(i)){const o=r.getExecutor(Ae.MINUS);t=new _r(e,_e.MINUS,o),a++}return new RegExp(_e.AT,"g").test(i)&&(s=new _r(e,_e.AT),t&&s.setParent(t),a++),a>0&&(n=n.slice(a)),{tokenTrim:n,minusPrefixNode:t,atPrefixNode:s}}var Ru=Object.defineProperty,_u=Object.getOwnPropertyDescriptor,Eu=(n,r,e,t)=>{for(var s=t>1?void 0:t?_u(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&Ru(r,e,s),s},kt=(n,r)=>(e,t)=>r(e,t,n);class yu extends ve{constructor(r,e,t,s,i){super(r),this._functionExecutor=e,this._currentConfigService=t,this._runtimeService=s,this._definedNamesService=i,this._functionExecutor.isAsync()&&this.setAsync(),this._functionExecutor.isAddress()&&this.setAddress()}get nodeType(){return ee.FUNCTION}async executeAsync(){const r=[],e=this.getChildren(),t=e.length;this._compatibility();for(let a=0;a<t;a++){const o=e[a].getValue();o!=null&&(o.isReferenceObject()?r.push(o.toArrayValueObject()):r.push(o))}const s=this._calculate(r);let i;return s.isAsyncObject()||s.isAsyncArrayObject()?i=await s.getValue():i=s,this._setRefData(i),this.setValue(i),Promise.resolve(pt.SUCCESS)}execute(){const r=[],e=this.getChildren(),t=e.length;this._compatibility();for(let i=0;i<t;i++){const a=e[i].getValue();a!=null&&(a.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?r.push(a.toArrayValueObject()):r.push(a))}const s=this._calculate(r);this._setRefData(s),this.setValue(s)}_compatibility(){this._lookupCompatibility()}_lookupCompatibility(){const r=this.getChildren(),e=r.length;if(!this._functionExecutor.needsExpandParams||e!==3)return;const t=r[1].getValue(),s=r[2].getValue();if(!(t!=null&&t.isReferenceObject())&&!(s!=null&&s.isReferenceObject()))return;const i=t.getRangeData(),a=s.getRangeData(),{startRow:o,startColumn:u,endRow:c,endColumn:l}=i,d=c-o+1,m=l-u+1,{startRow:R,startColumn:D,endRow:C,endColumn:A}=a,x=C-R+1,v=A-D+1;d!==x&&(a.endRow+=d-x),m!==v&&(a.endColumn+=m-v)}_calculate(r){var i;const{minParams:e,maxParams:t}=this._functionExecutor;if(e!==-1&&t!==-1&&(r.length<e||r.length>t))return h.create(f.NA);let s;if(this._setRefInfo(),this._functionExecutor.isCustom()){const a=this._functionExecutor.calculateCustom(...r.map(o=>o.isArray()?o.toValue():o.getValue()));if(typeof a!="object"||a==null)s=ct.create(a);else{const o=ya(a);s=Ce.create({calculateValueList:o,rowCount:o.length,columnCount:((i=o[0])==null?void 0:i.length)||0,unitId:"",sheetId:"",row:-1,column:-1})}}else this._functionExecutor.isAddress()&&this._setDefinedNamesForFunction(),s=this._functionExecutor.calculate(...r);return s}_setDefinedNamesForFunction(){const r=this._currentConfigService.getExecuteUnitId();if(r==null)return;const e=this._definedNamesService.getDefinedNameMap(r);e!=null&&this._functionExecutor.setDefinedNames(e)}_setRefInfo(){const{currentUnitId:r,currentSubUnitId:e,currentRow:t,currentColumn:s}=this._runtimeService;this._functionExecutor.setRefInfo(r,e,t,s)}_setRefData(r){if(!r.isReferenceObject())return;const e=r;e.setForcedSheetId(this._currentConfigService.getSheetNameMap()),e.setUnitData(this._currentConfigService.getUnitData()),e.setArrayFormulaCellData(this._currentConfigService.getArrayFormulaCellData()),e.setRuntimeData(this._runtimeService.getUnitData()),e.setRuntimeArrayFormulaCellData(this._runtimeService.getRuntimeArrayFormulaCellData()),e.setRuntimeFeatureCellData(this._runtimeService.getRuntimeFeatureCellData())}}let yr=class extends He{constructor(n,r,e,t,s){super(),this._functionService=n,this._currentConfigService=r,this._runtimeService=e,this._definedNamesService=t,this._injector=s}get zIndex(){return Qe.get(ee.FUNCTION)||ze}create(n){const r=this._functionService.getExecutor(n);return r?new yu(n,r,this._currentConfigService,this._runtimeService,this._definedNamesService):(console.error(`No function ${n}`),De.create(f.NAME))}checkAndCreateNodeType(n){if(typeof n=="string")return;const r=n.getToken(),{tokenTrim:e,minusPrefixNode:t,atPrefixNode:s}=di(r.trim(),this._functionService,this._injector);if(!Number.isNaN(Number(e)))return De.create(f.VALUE);const i=e.toUpperCase();if(this._functionService.hasExecutor(i)){const a=this.create(i);return s?a.setParent(s):t&&a.setParent(t),a}}};yr=Eu([kt(0,We),kt(1,Je),kt(2,Te),kt(3,Kt),kt(4,N.Inject(N.Injector))],yr);var Cu=Object.defineProperty,Du=Object.getOwnPropertyDescriptor,bu=(n,r,e,t)=>{for(var s=t>1?void 0:t?Du(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&Cu(r,e,s),s},Su=(n,r)=>(e,t)=>r(e,t,n);let Pt=class extends E.Disposable{constructor(n){super(),this._runtimeService=n}dispose(){}async executeAsync(n){if(!n)return h.create(f.VALUE);await this._executeAsync(n);const r=n.getValue();if(r==null)throw new Error("node value is null");return Promise.resolve(r)}execute(n){if(!n)return h.create(f.VALUE);this._execute(n);const r=n.getValue();if(r==null)throw new Error("node value is null");return r}executePreCalculateNode(n){return n.execute(),n.getValue()}checkAsyncNode(n){const r=[];this._checkAsyncNode(n,r);for(let e=0,t=r.length;e<t;e++)if(r[e]===!0)return!0;return!1}_checkAsyncNode(n,r){const e=n.getChildren(),t=e.length;for(let s=0;s<t;s++){const i=e[s];r.push(i.isAsync()),this._checkAsyncNode(i,r)}}async _executeAsync(n){if(this._runtimeService.isStopExecution())return Promise.resolve(pt.ERROR);const r=n.getChildren(),e=r.length;for(let t=0;t<e;t++){const s=r[t];if(s.getToken().toUpperCase()===Yt&&s.isEmptyParamFunction()){s.execute();continue}await this._executeAsync(s)}return n.nodeType===ee.FUNCTION&&n.isAsync()?await n.executeAsync():n.execute(),Promise.resolve(pt.SUCCESS)}_execute(n){if(this._runtimeService.isStopExecution())return pt.ERROR;const r=n.getChildren(),e=r.length;for(let t=0;t<e;t++){const s=r[t];if(s.getToken().toUpperCase()===Yt&&s.isEmptyParamFunction()){s.execute();continue}this._execute(s)}return n.execute(),pt.SUCCESS}};Pt=bu([Su(0,Te)],Pt);function mi(n){return n instanceof q?n.getToken()===xt:!1}function Au(n){return n instanceof q?n.getToken()===_s:!1}function gi(n){if(!n)return;if(n.getToken()!==Wt)return n;const r=n,e=r.getCurrentLambdaPrivacyVar(),t=r.getLambdaParameter();if(!e)return;const s=e.get(t);return s==null&&n.getValue()?n:gi(s)}class bn extends Ze{constructor(e,t,s){super(0);b(this,"_lambdaPrivacyValueMap",new Map);this._lambdaNode=e,this._interpreter=t,this._lambdaPrivacyVarKeys=s,this._lambdaPrivacyValueMap.clear()}static create(e,t,s){return new bn(e,t,s)}isLambda(){return!0}execute(...e){const t=this._lambdaPrivacyVarKeys.length;if(e.length!==t)return h.create(f.VALUE);this._setLambdaPrivacyValueMap(e),this._setLambdaNodeValue(this._lambdaNode),this._lambdaNode.setNotEmpty(!1);let s;if(this._interpreter.checkAsyncNode(this._lambdaNode))s=new Sa(this._interpreter.executeAsync(this._lambdaNode));else{const i=this._interpreter.execute(this._lambdaNode);i.isReferenceObject()?s=i.toArrayValueObject():s=i}return this._lambdaNode.setNotEmpty(!0),s}_setLambdaNodeValue(e){const t=e.getChildren(),s=t.length;for(let i=0;i<s;i++){const a=t[i];if(a.getToken()===Wt){const u=a.getLambdaParameter(),c=this._lambdaPrivacyValueMap.get(u);if(c)a.setValue(c);else{const l=a.getCurrentLambdaPrivacyVar(),d=gi(l.get(u));d!=null&&a.setValue(d.getValue())}continue}this._setLambdaNodeValue(a)}}_setLambdaPrivacyValueMap(e){for(let t=0;t<e.length;t++){const s=e[t],i=this._lambdaPrivacyVarKeys[t];this._lambdaPrivacyValueMap.set(i,s)}}}var Lu=Object.defineProperty,xu=Object.getOwnPropertyDescriptor,wu=(n,r,e,t)=>{for(var s=t>1?void 0:t?xu(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&Lu(r,e,s),s},is=(n,r)=>(e,t)=>r(e,t,n);class Pu extends ve{constructor(e,t,s,i){super(e);b(this,"_isNotEmpty",!0);this._lambdaId=t,this._interpreter=s,this._lambdaPrivacyVarKeys=i}get nodeType(){return ee.LAMBDA}setNotEmpty(e=!1){this._isNotEmpty=e}isEmptyParamFunction(){return this.getChildren().length<2&&this._isNotEmpty}isFunctionParameter(){return this._lambdaId===null}getLambdaId(){return this._lambdaId}execute(){if(this.isEmptyParamFunction())this.setValue(bn.create(this,this._interpreter,this._lambdaPrivacyVarKeys));else{const e=this.getChildren(),t=e.length;this.setValue(e[t-1].getValue())}}}let Cr=class extends He{constructor(n,r){super(),this._runtimeService=n,this._interpreter=r}get zIndex(){return Qe.get(ee.LAMBDA)||ze}create(n){const r=n.getChildren(),e=r[0];let t=r.slice(1,-1);const s=r[r.length-1];if(!(e instanceof q&&s instanceof q))return De.create(f.NAME);if(e.getToken()===xt){const o=e.getChildren();if(t.length!==o.length)return De.create(f.VALUE)}else t=r.slice(0,-1);const i=E.Tools.generateRandomId(8),a=new Map;for(let o=0;o<t.length;o++){const u=t[o];if(u instanceof q){const c=u.getChildren()[0];u.setToken(_s),a.set(c.trim(),void 0)}else return De.create(f.VALUE)}return this._runtimeService.registerFunctionDefinitionPrivacyVar(i,a),this._updateLambdaStatement(s,i,a),new Pu(n.getToken(),i,this._interpreter,[...a.keys()])}checkAndCreateNodeType(n){if(!(!(n instanceof q)||n.getToken().trim().toUpperCase()!==Yt))return this.create(n)}_updateLambdaStatement(n,r,e){this._updateTree(n,r,e)}_updateTree(n,r,e){const t=n.getChildren(),s=t.length,i=t[0];for(let a=0;a<s;a++){const o=t[a];if(!(mi(i)&&a!==0))if(o instanceof q)this._updateTree(o,r,e);else{const u=o.trim();if(e.has(u)){const c=new q;c.setToken(Wt),c.setLambdaId(r),c.setLambdaPrivacyVar(e),c.setLambdaParameter(u),t[a]=c}}}}};Cr=wu([is(0,Te),is(1,N.Inject(Pt))],Cr);function pi(n){if(!n)return;if(n.getToken()!==Wt)return n;const r=n,e=r.getCurrentLambdaPrivacyVar(),t=r.getLambdaParameter();if(e)return pi(e.get(t))}class Vu extends ve{constructor(r,e,t){super(r),this._lambdaParameter=e,this._currentLambdaPrivacyVar=t}getLambdaParameter(){return this._lambdaParameter}getCurrentLambdaPrivacyVar(){return this._currentLambdaPrivacyVar}get nodeType(){return ee.LAMBDA_PARAMETER}execute(){const r=pi(this._currentLambdaPrivacyVar.get(this._lambdaParameter));if(r)this.setValue(r.getValue());else{const e=this.getValue();(e==null||e.isError())&&this.setValue(h.create(f.SPILL))}}}class Ri extends He{get zIndex(){return Qe.get(ee.LAMBDA_PARAMETER)||ze}create(r){const e=r.getFunctionDefinitionPrivacyVar(),t=r.getLambdaParameter();return e?new Vu(r.getToken(),t,e):new De(f.SPILL)}checkAndCreateNodeType(r){if(!(!(r instanceof q)||r.getToken().trim()!==Wt))return this.create(r)}}class vu extends ve{constructor(r){super(r),this._operatorString=r}get nodeType(){return ee.NULL}execute(){this.setValue(ce.create())}}var Ou=Object.defineProperty,Fu=Object.getOwnPropertyDescriptor,Uu=(n,r,e,t)=>{for(var s=t>1?void 0:t?Fu(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&Ou(r,e,s),s},Mu=(n,r)=>(e,t)=>r(e,t,n);class Bu extends ve{constructor(r,e){super(r),this._operatorString=r,this._functionExecutor=e}get nodeType(){return ee.OPERATOR}execute(){var i,a;const r=this.getChildren();this._functionExecutor.name===Ae.COMPARE&&this._functionExecutor.setCompareType(this.getToken());let e=(i=r[0])==null?void 0:i.getValue(),t=(a=r[1])==null?void 0:a.getValue();const s=this.getToken();if((e==null||t==null)&&s!==de.MINUS&&s!==de.PLUS){this.setValue(h.create(f.VALUE));return}e==null&&(e=ce.create()),t==null&&(t=ce.create()),e.isReferenceObject()&&(e=e.toArrayValueObject()),t.isReferenceObject()&&(t=t.toArrayValueObject()),this.setValue(this._functionExecutor.calculate(e,t))}}let Dr=class extends He{constructor(n){super(),this._functionService=n}get zIndex(){return Qe.get(ee.OPERATOR)||ze}create(n){let r="";const e=n;e===de.PLUS?r=Ae.PLUS:e===de.MINUS?r=Ae.MINUS:e===de.MULTIPLY?r=Ae.MULTIPLY:e===de.DIVIDED?r=Ae.DIVIDED:e===de.CONCATENATE?r=it.CONCATENATE:e===de.POWER?r=we.POWER:$i.has(e)&&(r=Ae.COMPARE);const t=this._functionService.getExecutor(r);return t?new Bu(e,t):(console.error(`No function ${n}`),De.create(f.NAME))}checkAndCreateNodeType(n){if(n instanceof q)return;const r=n.trim();if(!(r.charAt(0)==='"'&&r.charAt(r.length-1)==='"')&&mt.has(r))return this.create(r)}};Dr=Uu([Mu(0,We)],Dr);class ku extends E.Disposable{constructor(){super(...arguments);b(this,"_tableMap",new Map);b(this,"_tableOptionMap",new Map)}dispose(){this._tableMap.clear(),this._tableOptionMap.clear()}remove(e,t){var s;(s=this._tableMap.get(e))==null||s.delete(t)}getTableMap(e){return this._tableMap.get(e)}getTableOptionMap(){return this._tableOptionMap}registerTable(e,t,s){var i;this._tableMap.get(e)==null&&this._tableMap.set(e,new Map),(i=this._tableMap.get(e))==null||i.set(t,s)}registerTableOptionMap(e,t){this._tableOptionMap.set(e,t)}}const Sn=N.createIdentifier("univer.formula.super-table.service");class Tu extends Ft{constructor(r,e,t,s){super(r),this._tableData=e,this._columnDataString=t;const i=this._tableData.sheetId,a=this._tableData.range,o=this._tableData.titleMap;this.setForcedSheetIdDirect(i);const u=this._stringToColumnData(this._columnDataString,o,s),c=u.startColumn,l=u.endColumn,d=u.type;let m=-1,R=-1;const D=a.startRow,C=a.startColumn;d===gt.ALL?(m=D,R=C):d===gt.DATA?(m=D+1,R=C):d===gt.HEADERS?(m=D,R=D):d===gt.TOTALS&&(m=C,R=C),this.setRangeData({startColumn:c,endColumn:l,startRow:m,endRow:R})}isTable(){return!0}_stringToColumnData(r,e,t){r=r.substring(1,-1);const s=r.indexOf(W.COMMA);let i=-1,a=-1,o=gt.ALL;if(s===-1){const u=this._columnHandler(r,e);i=u.startColumn,a=u.endColumn}else{const u=r.substring(0,s).substring(1,-1),c=r.substring(s+1),l=this._columnHandler(c,e,!0);i=l.startColumn,a=l.endColumn,o=t.get(u),o||(o=gt.ALL)}return{startColumn:i,endColumn:a,type:o}}_columnHandler(r,e,t=!1){var o,u,c;let s=-1,i=-1;const a=r.indexOf(W.COLON);if(new RegExp(bs,"g").test(r)){const l=r.substring(0,a).substring(1,-1),d=r.substring(a+1).substring(1,-1);s=(o=e.get(l))!=null?o:-1,i=(u=e.get(d))!=null?u:-1}else t&&(r=r.substring(1,-1)),s=(c=e.get(r))!=null?c:-1,i=s;return{startColumn:s,endColumn:i}}}var ju=Object.defineProperty,$u=Object.getOwnPropertyDescriptor,Iu=(n,r,e,t)=>{for(var s=t>1?void 0:t?$u(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&ju(r,e,s),s},tr=(n,r)=>(e,t)=>r(e,t,n);class rr extends ve{constructor(r,e,t,s=!1){super(e),this._accessor=r,this._operatorString=e,this._referenceObject=t,this._isPrepareMerge=s}get nodeType(){return ee.REFERENCE}execute(){const r=this._accessor.get(Je),e=this._accessor.get(Te);this._referenceObject.setDefaultUnitId(e.currentUnitId),this._referenceObject.setDefaultSheetId(e.currentSubUnitId),this._referenceObject.setForcedSheetId(r.getSheetNameMap()),this._referenceObject.setUnitData(r.getUnitData()),this._referenceObject.setArrayFormulaCellData(r.getArrayFormulaCellData()),this._referenceObject.setRuntimeData(e.getUnitData()),this._referenceObject.setUnitStylesData(r.getUnitStylesData()),this._referenceObject.setRuntimeArrayFormulaCellData(e.getRuntimeArrayFormulaCellData()),this._referenceObject.setRuntimeFeatureCellData(e.getRuntimeFeatureCellData());const{x:t,y:s}=this.getRefOffset();this._referenceObject.setRefOffset(t,s),!this._isPrepareMerge&&this._referenceObject.isExceedRange()?this.setValue(h.create(f.NAME)):this.setValue(this._referenceObject)}}let br=class extends He{constructor(n,r,e,t){super(),this._superTableService=n,this._formulaRuntimeService=r,this._functionService=e,this._injector=t}get zIndex(){return Qe.get(ee.REFERENCE)||ze}checkAndCreateNodeType(n){var u,c;let r=!1,e,t=!1;n instanceof q?(r=!0,e=n.getToken().trim(),((c=(u=n.getParent())==null?void 0:u.getParent())==null?void 0:c.getToken().trim())===W.COLON&&(t=!0)):e=n.trim();const{tokenTrim:s,minusPrefixNode:i,atPrefixNode:a}=di(e,this._functionService,this._injector);if(!r&&s.charAt(0)==='"'&&s.charAt(s.length-1)==='"')return;let o;if(new RegExp(Gt).test(s))o=new rr(this._injector,s,new gn(s),t);else if(r&&this._checkParentIsUnionOperator(n))new RegExp(Cs).test(s)?o=new rr(this._injector,s,new pn(s),t):new RegExp(Ds).test(s)&&(o=new rr(this._injector,s,new Rn(s),t));else{const l=this._formulaRuntimeService.currentUnitId,d=this._superTableService.getTableMap(l),m=new RegExp(bs,"g"),R=s.replace(m,"");if(!r&&(d!=null&&d.has(R))){const D=m.exec(s);let C="";D&&(C=D[0]);const A=d.get(R),x=this._superTableService.getTableOptionMap();o=new rr(this._injector,s,new Tu(s,A,C,x))}}if(o)return a?o.setParent(a):i&&o.setParent(i),o}_checkParentIsUnionOperator(n){var r,e;return((e=(r=n.getParent())==null?void 0:r.getParent())==null?void 0:e.getToken().trim())===W.COLON}};br=Iu([tr(0,Sn),tr(1,Te),tr(2,We),tr(3,N.Inject(N.Injector))],br);var Yu=Object.defineProperty,Qu=Object.getOwnPropertyDescriptor,zu=(n,r,e,t)=>{for(var s=t>1?void 0:t?Qu(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&Yu(r,e,s),s},as=(n,r)=>(e,t)=>r(e,t,n);class os extends ve{constructor(r,e,t){super(e),this._accessor=r,this._operatorString=e,this._functionExecutor=t}get nodeType(){return ee.SUFFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null)throw new Error("object is null");this._operatorString===qe.PERCENTAGE?(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(e,S.create(100)),t.isNumber()&&t.setPattern("0.00%")):this._operatorString===qe.POUND?t=this._handlerPound(e):t=h.create(f.VALUE),this.setValue(t)}_handlerPound(r){var l,d,m,R;if(!r.isReferenceObject()||!r.isCell())return h.create(f.VALUE);const e=this._accessor.get(Je),t=this._accessor.get(wt),s=r,i=s.getRangePosition(),a=s.getUnitId(),o=s.getSheetId(),u=e.getFormulaData(),c=(R=(m=(d=(l=u==null?void 0:u[a])==null?void 0:l[o])==null?void 0:d[i.startRow])==null?void 0:m[i.startColumn])==null?void 0:R.f;return c&&t.treeBuilder(c),h.create(f.VALUE)}}let Sr=class extends He{constructor(n,r){super(),this._functionService=n,this._injector=r}get zIndex(){return Qe.get(ee.SUFFIX)||ze}checkAndCreateNodeType(n){if(!(n instanceof q))return;const r=n.getToken().trim();if(r.charAt(0)==='"'&&r.charAt(r.length-1)==='"')return;let e="";if(r===qe.PERCENTAGE)e=Ae.DIVIDED;else return r===qe.POUND?new os(this._injector,r):void 0;const t=this._functionService.getExecutor(e);return t?new os(this._injector,r,t):(console.error(`No function ${n}`),De.create(f.NAME))}};Sr=zu([as(0,We),as(1,N.Inject(N.Injector))],Sr);var Hu=Object.defineProperty,Wu=Object.getOwnPropertyDescriptor,Gu=(n,r,e,t)=>{for(var s=t>1?void 0:t?Wu(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&Hu(r,e,s),s},Xu=(n,r)=>(e,t)=>r(e,t,n);class Ku extends ve{constructor(r){super(r),this._operatorString=r}get nodeType(){return ee.UNION}execute(){const r=this.getChildren(),e=r[0].getValue(),t=r[1].getValue();if(e==null||t==null)throw new Error("leftNode and rightNode");let s;this._operatorString===W.COLON?s=this._unionFunction(e,t):s=h.create(f.NAME),this.setValue(s)}_unionFunction(r,e){return r.isError()||e.isError()||!r.isReferenceObject()||!e.isReferenceObject()?h.create(f.REF):(r=r,e=e,r.isCell()&&e.isCell()||r.isRow()&&e.isRow()||r.isColumn()&&e.isColumn()?r.unionBy(e):h.create(f.REF))}}let Ar=class extends He{constructor(n){super(),this._functionService=n}get zIndex(){return Qe.get(ee.UNION)||ze}create(n){return new Ku(n)}checkAndCreateNodeType(n){if(!(n instanceof q))return;const e=n.getToken().trim();if(!(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')&&e===W.COLON)return this.create(e)}};Ar=Gu([Xu(0,We)],Ar);class qu extends ve{constructor(r){super(r),this._operatorString=r}get nodeType(){return ee.VALUE}execute(){this.setValue(ct.create(this._operatorString))}}class _i extends He{get zIndex(){return Qe.get(ee.VALUE)||ze}_checkValueNode(r){if(Number.isNaN(Number(r))){const e=r.trim(),t=e.charAt(0),s=e.charAt(e.length-1);if(Vt.has(e))return this.create(e);if(t==='"'&&s==='"')return this.create(e);if(t==="{"&&s==="}")return this.create(e);const i=e.toUpperCase();if(i===ut.TRUE||i===ut.FALSE)return this.create(i)}else return this.create(r)}create(r){return new qu(r)}checkAndCreateNodeType(r){if(!(r instanceof q))return this._checkValueNode(r)}}function Nu(n){let r=n;for(;r!=null&&r.getParent();)r=r.getParent();return r}var Zu=Object.defineProperty,Ju=Object.getOwnPropertyDescriptor,ec=(n,r,e,t)=>{for(var s=t>1?void 0:t?Ju(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&Zu(r,e,s),s},Be=(n,r)=>(e,t)=>r(e,t,n);let Ht=class extends E.Disposable{constructor(r,e,t,s,i,a,o,u,c,l,d){super();b(this,"_astNodeFactoryList",[]);b(this,"_refOffsetX",0);b(this,"_refOffsetY",0);this._runtimeService=r,this._astRootNodeFactory=e,this._functionNodeFactory=t,this._lambdaNodeFactory=s,this._lambdaParameterNodeFactory=i,this._operatorNodeFactory=a,this._prefixNodeFactory=o,this._referenceNodeFactory=u,this._suffixNodeFactory=c,this._unionNodeFactory=l,this._valueNodeFactory=d,this._initializeAstNode()}dispose(){this._astNodeFactoryList.forEach(r=>{r.dispose()}),this._astNodeFactoryList=[]}parse(r,e=0,t=0){const s=new sn(at);this._refOffsetX=e,this._refOffsetY=t;const i=this._parse(r,s);return r.hasDefinedNames()&&(i==null||i.setDefinedNames(r.getDefinedNames())),i}_lambdaParameterHandler(r,e){if(e.getLambdaId==null)return De.create(f.VALUE);const t=e.getLambdaId(),s=new sn(at),i=this._runtimeService.getFunctionDefinitionPrivacyVar(t);if(!i)return!1;const a=[...i.keys()],o=r.getChildren(),u=o.length;for(let d=0;d<u;d++){const m=o[d];if(m instanceof q)this._parse(m,s);else return!1}const c=s.getChildren(),l=c.length;for(let d=0;d<l;d++){const m=c[d];i.set(a[d],m)}return s.setParent(e),e}_changeLetToLambda(r){const e=r.getChildren(),t=e.length;if(t%2!==1||t===0)return;const s=new q;s.setToken(Yt);const i=new q;i.setToken(xt);const a=[...e];for(let u=0;u<t;u++){const c=a[u];if(!(c instanceof q))return;u%2===0?c.changeToParent(s):c.changeToParent(i)}s.addChildrenFirst(i),i.setParent(s);const o=r.getParent();return o==null||o.replaceChild(r,s),s}_parse(r,e){const t=r.getChildren(),s=t.length,i=[];let a=null;const o=r.getToken().trim().toUpperCase();if(o===Wi){const l=this._changeLetToLambda(r);return l!=null?this._parse(l,e):De.create(f.ERROR)}if(o===Xe){if(a=e,s===0)return new vu(at).setParent(e),a}else{if(o===xt){let l=this._lambdaParameterHandler(r,e);return l===!1&&(l=De.create(f.ERROR)),l}if(a=this._checkAstNode(r),a==null)return De.create(f.NAME)}const u=t[0];for(let l=0;l<s;l++){const d=t[l];if(mi(u)){if(l!==0&&l!==s-1)continue}else if(Au(d)&&l!==s-1)continue;let m=null;if(d instanceof q){if(m=this._parse(d,a),m===a)continue}else m=this._checkAstNode(d);if(m==null)return De.create(f.NAME);if(m=Nu(m),m==null)return;switch(m.nodeType){case ee.ERROR:return m;case ee.FUNCTION:i.push(m);break;case ee.LAMBDA:i.push(m);break;case ee.LAMBDA_PARAMETER:i.push(m);break;case ee.OPERATOR:{const R=i.pop(),D=i.pop();D&&D.setParent(m),R&&R.setParent(m),i.push(m);break}case ee.REFERENCE:m.setRefOffset(this._refOffsetX,this._refOffsetY),i.push(m);break;case ee.ROOT:i.push(m);break;case ee.UNION:i.push(m);break;case ee.VALUE:i.push(m);break;case ee.PREFIX:i.push(m);break;case ee.SUFFIX:i.push(m);break}}const c=i.length;for(let l=0;l<c;l++)i[l].setParent(a);return a}_checkAstNode(r){let e=null;const t=this._astNodeFactoryList.length;for(let s=0;s<t&&(e=this._astNodeFactoryList[s].checkAndCreateNodeType(r),e==null);s++);return e}_initializeAstNode(){this._astNodeFactoryList=[this._astRootNodeFactory,this._functionNodeFactory,this._lambdaNodeFactory,this._lambdaParameterNodeFactory,this._operatorNodeFactory,this._prefixNodeFactory,this._referenceNodeFactory,this._suffixNodeFactory,this._unionNodeFactory,this._valueNodeFactory].sort(E.sortRules)}};Ht=ec([Be(0,Te),Be(1,N.Inject(fi)),Be(2,N.Inject(yr)),Be(3,N.Inject(Cr)),Be(4,N.Inject(Ri)),Be(5,N.Inject(Dr)),Be(6,N.Inject(Er)),Be(7,N.Inject(br)),Be(8,N.Inject(Sr)),Be(9,N.Inject(Ar)),Be(10,N.Inject(_i))],Ht);class Ei extends E.Disposable{constructor(){super(...arguments);b(this,"_referenceExecutorMap",new Map)}dispose(){this._referenceExecutorMap.clear()}remove(e){this._referenceExecutorMap.delete(e)}get(e){return this._referenceExecutorMap.get(e)}has(e){return this._referenceExecutorMap.has(e)}register(e,t){this._referenceExecutorMap.set(e,t)}getReferenceExecutorMap(){return this._referenceExecutorMap}}const qt=N.createIdentifier("univer.formula.feature-calculation-manager.service");class yi extends E.Disposable{constructor(){super(...arguments);b(this,"_otherFormulaData",{})}dispose(){this._otherFormulaData={}}remove(e){var a,o,u;const{unitId:t,subUnitId:s,formulaId:i}=e;(u=(o=(a=this._otherFormulaData)==null?void 0:a[t])==null?void 0:o[s])==null||delete u[i]}get(e){var a,o;const{unitId:t,subUnitId:s,formulaId:i}=e;return(o=(a=this._otherFormulaData[t])==null?void 0:a[s])==null?void 0:o[i]}has(e){var a,o;const{unitId:t,subUnitId:s,formulaId:i}=e;return((o=(a=this._otherFormulaData[t])==null?void 0:a[s])==null?void 0:o[i])!=null}register(e){const{unitId:t,subUnitId:s,formulaId:i,item:a}=e;this._otherFormulaData[t]||(this._otherFormulaData[t]={}),this._otherFormulaData[t][s]||(this._otherFormulaData[t][s]={}),this._otherFormulaData[t][s][i]=a}batchRegister(e){Object.keys(e).forEach(t=>{const s=e[t];if(s==null)return!0;Object.keys(s).forEach(i=>{const a=s[i];if(a==null)return!0;Object.keys(a).forEach(o=>{const u=a[o];if(u==null)return!0;this.register({unitId:t,subUnitId:i,formulaId:o,item:u})})})})}batchRemove(e){Object.keys(e).forEach(t=>{const s=e[t];if(s==null)return!0;Object.keys(s).forEach(i=>{const a=s[i];if(a==null)return!0;Object.keys(a).forEach(o=>{this.remove({unitId:t,subUnitId:i,formulaId:o})})})})}getOtherFormulaData(){return this._otherFormulaData}}const $r=N.createIdentifier("univer.formula.other-formula-manager.service");class Kr extends E.Disposable{constructor(){super(...arguments);b(this,"node");b(this,"children",[]);b(this,"parents",[]);b(this,"formula","");b(this,"row",-1);b(this,"column",-1);b(this,"rowCount",Number.NEGATIVE_INFINITY);b(this,"columnCount",Number.NEGATIVE_INFINITY);b(this,"subUnitId","");b(this,"unitId","");b(this,"rangeList",[]);b(this,"formulaId");b(this,"featureId");b(this,"getDirtyData");b(this,"_state",0)}dispose(){var e;super.dispose(),this.children.forEach(t=>{t.dispose()}),this.rangeList=[],this.parents=[],(e=this.node)==null||e.dispose()}resetState(){this._state=0}setAdded(){this._state=1}isAdded(){return this._state===1}setSkip(){this._state=2}isSkip(){return this._state===2}inRangeData(e){const t=e.startRow,s=e.startColumn,i=e.endRow,a=e.endColumn;return!(this.row<t||this.row>i||this.column<s||this.column>a)}dependencyRange(e,t,s){var i,a;if(this.rangeList.length===0)return!1;for(let o=0,u=this.rangeList.length;o<u;o++){const c=this.rangeList[o],{unitId:l,sheetId:d,range:m}=c.gridRange;if(((i=t[l])==null?void 0:i[d])!=null)return!0;if(!e.has(l))continue;const R=e.get(l);if(!R.has(d))continue;const D=R.get(d),C=(a=s==null?void 0:s[l])==null?void 0:a[d];let{startRow:A,endRow:x,startColumn:v,endColumn:B}=m;Number.isNaN(A)&&(A=0),Number.isNaN(v)&&(v=0),Number.isNaN(x)&&(x=Number.POSITIVE_INFINITY),Number.isNaN(B)&&(B=Number.POSITIVE_INFINITY);for(const H of D){const{startRow:oe,startColumn:me,endRow:ge,endColumn:ne}=H;if(!(A>ge||x<oe||v>ne||B<me)){let J=!0;if(C==null||C.forValue((te,K)=>{if(te>=A&&te<=x&&K>=v&&K<=B)return J=!1,!1}),J)return!0}}}return!1}pushChildren(e){this.children.push(e),e._pushParent(this)}pushRangeList(e){this.rangeList.push(e)}dependency(e){if(this.rangeList.length===0)return!1;for(let t=0,s=this.rangeList.length;t<s;t++){const i=this.rangeList[t],a=i.gridRange.unitId,o=i.gridRange.sheetId,u=i.gridRange.range;if(e.unitId===a&&e.subUnitId===o&&e.inRangeData(u))return!0}return!1}_pushParent(e){this.parents.push(e)}}class Ci extends E.Disposable{constructor(){super(...arguments);b(this,"_cacheItems",new Map)}dispose(){this.clear()}size(){return this._cacheItems.size}get length(){return this._cacheItems.size}add(e,t){const{token:s}=e;if(!this._cacheItems.has(s)){this._cacheItems.set(s,{unitRangeWithToken:e,treeList:[t]});return}this._cacheItems.get(s).treeList.push(t)}clear(){this._cacheItems.clear()}remove(e,t){if(!this._cacheItems.has(e))return;const s=this._cacheItems.get(e),i=s.treeList.indexOf(t);i!==-1&&s.treeList.splice(i,1)}delete(e){this._cacheItems.delete(e)}dependency(e){this._cacheItems.forEach(t=>{const{unitRangeWithToken:s,treeList:i}=t,{gridRange:a}=s,{unitId:o,sheetId:u,range:c}=a;e.unitId===o&&e.subUnitId===u&&e.inRangeData(c)&&i.forEach(l=>{if(l===e)return!0;l.pushChildren(e)})})}}class tc extends E.Disposable{constructor(){super(...arguments);b(this,"_otherFormulaData",{});b(this,"_featureFormulaData",new Map);b(this,"_formulaData",{})}dispose(){this._otherFormulaData={},this._featureFormulaData.clear(),this._formulaData={}}getAllTree(){const e=[];return Object.values(this._otherFormulaData).forEach(t=>{if(t==null)return!0;Object.values(t).forEach(s=>{Object.values(s).forEach(i=>{i&&(i.resetState(),e.push(i))})})}),this._featureFormulaData.forEach(t=>{t&&(t.resetState(),e.push(t))}),Object.values(this._formulaData).map(t=>t==null?[]:Object.values(t).forEach(s=>s.forValue((i,a,o)=>{o&&(o.resetState(),e.push(o))}))),e}buildDependencyTree(e){const t=this.getAllTree();return e.length===0||this._buildDependencyTree(t,e),t}_buildDependencyTree(e,t){e.forEach(s=>{t instanceof Ci?t.dependency(s):t.forEach(i=>{if(s===i)return!0;i.dependency(s)&&i.pushChildren(s)})})}clearDependencyForTree(e){if(e==null)return;const t=e.parents,s=e.children;t.forEach(i=>{i.children=i.children.filter(a=>a!==e)}),s.forEach(i=>{i.parents=i.parents.filter(a=>a!==e)}),this._buildDependencyTree(t,s),e.dispose()}reset(){this._otherFormulaData={},this._featureFormulaData.clear(),this._formulaData={}}addOtherFormulaDependency(e,t,s,i){this._otherFormulaData[e]||(this._otherFormulaData[e]={}),this._otherFormulaData[e][t]||(this._otherFormulaData[e][t]={}),this._otherFormulaData[e][t][s]=i}removeOtherFormulaDependency(e,t,s){this._otherFormulaData[e]&&this._otherFormulaData[e][t]&&s.forEach(i=>{const a=this._otherFormulaData[e][t][i];this.clearDependencyForTree(a),delete this._otherFormulaData[e][t][i]})}hasOtherFormulaDependency(e,t,s){var i,a;return((a=(i=this._otherFormulaData[e])==null?void 0:i[t])==null?void 0:a[s])!=null}addFeatureFormulaDependency(e,t){this._featureFormulaData.set(e,t)}removeFeatureFormulaDependency(e){const t=this._featureFormulaData.get(e);this.clearDependencyForTree(t),this._featureFormulaData.delete(e)}hasFeatureFormulaDependency(e){return this._featureFormulaData.has(e)}addFormulaDependency(e,t,s,i,a){this._formulaData[e]||(this._formulaData[e]={}),this._formulaData[e][t]||(this._formulaData[e][t]=new E.ObjectMatrix),this._formulaData[e][t].setValue(s,i,a)}removeFormulaDependency(e,t,s,i){if(this._formulaData[e]&&this._formulaData[e][t]){const a=this._formulaData[e][t].getValue(s,i);this.clearDependencyForTree(a),this._formulaData[e][t].realDeleteValue(s,i)}}clearFormulaDependency(e,t){this._formulaData[e]&&this._formulaData[e][t]&&this._formulaData[e][t].reset()}hasFormulaDependency(e,t,s,i){var a,o;return((o=(a=this._formulaData[e])==null?void 0:a[t])==null?void 0:o.getValue(s,i))!=null}}const Ir=N.createIdentifier("univer.formula.dependency-manager.service");var rc=Object.defineProperty,nc=Object.getOwnPropertyDescriptor,sc=(n,r,e,t)=>{for(var s=t>1?void 0:t?nc(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&rc(r,e,s),s},tt=(n,r)=>(e,t)=>r(e,t,n);const ic=1e5,nr=new Et(ic);let $t=class extends E.Disposable{constructor(r,e,t,s,i,a,o,u){super();b(this,"_updateRangeFlattenCache",new Map);b(this,"_dirtyUnitSheetNameMap",{});this._currentConfigService=r,this._runtimeService=e,this._otherFormulaManagerService=t,this._featureCalculationManagerService=s,this._interpreter=i,this._astTreeBuilder=a,this._lexer=o,this._dependencyManagerService=u}dispose(){this._updateRangeFlattenCache.clear(),nr.clear(),this._dirtyUnitSheetNameMap={}}async generate(){this._updateRangeFlatten();const r=this._currentConfigService.getFormulaData(),e=this._otherFormulaManagerService.getOtherFormulaData(),t=this._currentConfigService.getUnitData(),{treeList:s,dependencyTreeCache:i}=await this._generateTreeList(r,e,t),a=this._getUpdateTreeListAndMakeDependency(s,i);this._checkIsCycleDependency(a)&&this._runtimeService.enableCycleDependency();const u=this._calculateRunList(a);return Promise.resolve(u)}_isCyclicUtil(r,e,t){if(!e.has(r)){e.add(r),t.add(r);for(let s=0;s<r.children.length;s++)if(!e.has(r.children[s])&&this._isCyclicUtil(r.children[s],e,t)||t.has(r.children[s]))return!0}return t.delete(r),!1}_checkIsCycleDependency(r){const e=new Set,t=new Set;for(let s=0,i=r.length;s<i;s++){const a=r[s];if(this._isCyclicUtil(a,e,t)===!0)return!0}return!1}async _generateTreeList(r,e,t){const s=Object.keys(r),i=Object.keys(e),a=[];this._currentConfigService.isForceCalculate()&&(this._dependencyManagerService.reset(),nr.clear()),this._registerFormulas(s,r,t,a),this._registerOtherFormulas(e,i,a),this._registerFeatureFormulas(a);const u=new Ci;for(let c=0,l=a.length;c<l;c++){const d=a[c];if(this._runtimeService.setCurrent(d.row,d.column,d.rowCount,d.columnCount,d.subUnitId,d.unitId),d.node==null)continue;const m=await this._getRangeListByNode(d.node);for(let R=0,D=m.length;R<D;R++){const C=m[R];d.pushRangeList(C),u.add(C,d)}}return{treeList:a,dependencyTreeCache:u}}_registerFeatureFormulas(r){this._featureCalculationManagerService.getReferenceExecutorMap().forEach((e,t)=>{const{unitId:s,subUnitId:i,dependencyRanges:a,getDirtyData:o}=e;if(this._dependencyManagerService.hasFeatureFormulaDependency(s,i,t))return!0;const u=new Kr;u.unitId=s,u.subUnitId=i,u.getDirtyData=o,u.featureId=t,u.rangeList=a.map(c=>({gridRange:c,token:Rt({...c,sheetName:this._currentConfigService.getSheetName(c.unitId,c.sheetId)})})),this._dependencyManagerService.addFeatureFormulaDependency(t,u),r.push(u)})}_registerOtherFormulas(r,e,t){for(const s of e){const i=r[s];if(i==null)continue;const a=Object.keys(i);for(const o of a){const u=i[o];if(u==null)continue;const c=Object.keys(u);for(const l of c){if(this._dependencyManagerService.hasOtherFormulaDependency(s,o,l))continue;const d=u[l],{f:m}=d,R=this._generateAstNode(m),D=new Kr;D.node=R,D.formula=m,D.unitId=s,D.subUnitId=o,D.formulaId=l,this._dependencyManagerService.addOtherFormulaDependency(s,o,l,D),t.push(D)}}}}_registerFormulas(r,e,t,s){for(const i of r){const a=e[i];if(a==null)continue;const o=Object.keys(a);for(const u of o)new E.ObjectMatrix(a[u]||{}).forValue((l,d,m)=>{if(m==null)return!0;const{f:R,x:D,y:C}=m;if(this._dependencyManagerService.hasFormulaDependency(i,u,l,d))return!0;const A=this._generateAstNode(R,D,C),x=new Kr,v=t[i][u];x.node=A,x.formula=R,x.unitId=i,x.subUnitId=u,x.row=l,x.column=d,x.rowCount=v.rowCount,x.columnCount=v.columnCount,this._dependencyManagerService.addFormulaDependency(i,u,l,d,x),s.push(x)})}}_updateRangeFlatten(){const r=this._currentConfigService.isForceCalculate(),e=this._currentConfigService.getDirtyRanges();if(!r){this._updateRangeFlattenCache.clear();for(let t=0;t<e.length;t++){const s=e[t],i=s.range,a=s.sheetId,o=s.unitId;this._addFlattenCache(o,a,i)}this._dirtyUnitSheetNameMap=this._currentConfigService.getDirtyNameMap()}}_generateAstNode(r,e=0,t=0){let s=nr.get(`${r}##${e}${t}`);if(s&&!this._isDirtyDefinedForNode(s))return s;const i=this._lexer.treeBuilder(r);if(Vt.has(i))return De.create(i);if(s=this._astTreeBuilder.parse(i,e,t),s==null)throw new Error("astNode is null");return nr.set(`${r}##${e}${t}`,s),s}_addFlattenCache(r,e,t){let s=this._updateRangeFlattenCache.get(r);s==null&&(s=new Map,this._updateRangeFlattenCache.set(r,s));let i=s.get(e);i==null&&(i=[],s.set(e,i)),i.push(t)}_isPreCalculateNode(r){return r.nodeType===ee.UNION||r.nodeType===ee.PREFIX&&r.getToken()===_e.AT||r.nodeType===ee.SUFFIX&&r.getToken()===qe.POUND}_nodeTraversalRef(r,e){const t=r.getChildren(),s=t.length;for(let i=0;i<s;i++){const a=t[i];if(this._isPreCalculateNode(a)){e.push(a);continue}else a.nodeType===ee.REFERENCE&&e.push(a);this._nodeTraversalRef(a,e)}}_nodeTraversalReferenceFunction(r,e){const t=r.getChildren(),s=t.length;for(let i=0;i<s;i++){const a=t[i];if(a.nodeType===ee.FUNCTION&&a.isAddress()){e.push(a);continue}this._nodeTraversalReferenceFunction(a,e)}}async _executeNode(r){let e;return this._interpreter.checkAsyncNode(r)?e=await this._interpreter.executeAsync(r):e=this._interpreter.execute(r),e}async _getRangeListByNode(r){const e=[],t=[];this._nodeTraversalRef(r,e),this._nodeTraversalReferenceFunction(r,t);const s=[];for(let i=0,a=e.length;i<a;i++){const o=e[i],c=(await this._executeNode(o)).toUnitRange(),l=Rt({...c,sheetName:this._currentConfigService.getSheetName(c.unitId,c.sheetId)});s.push({gridRange:c,token:l})}for(let i=0,a=t.length;i<a;i++){const o=t[i],c=(await this._executeNode(o)).toUnitRange(),l=Rt({...c,sheetName:this._currentConfigService.getSheetName(c.unitId,c.sheetId)});s.push({gridRange:c,token:l})}return s}_isDirtyDefinedForNode(r){const e=this._currentConfigService.getDirtyDefinedNameMap(),t=this._currentConfigService.getExecuteUnitId();if(t!=null&&e[t]!=null){const s=Object.keys(e[t]);for(let i=0,a=s.length;i<a;i++){const o=s[i];if(r.hasDefinedName(o))return!0}}return!1}_getUpdateTreeListAndMakeDependency(r,e){const t=[],s=new Set,i=this._currentConfigService.isForceCalculate();let a=[];e.size()>r.length?a=this._dependencyManagerService.buildDependencyTree(r):a=this._dependencyManagerService.buildDependencyTree(e);for(let o=0,u=a.length;o<u;o++){const c=a[o];(i||c.dependencyRange(this._updateRangeFlattenCache,this._dirtyUnitSheetNameMap,this._currentConfigService.getExcludedRange())||this._includeTree(c))&&!s.has(c)&&(t.push(c),s.add(c))}return e.dispose(),t}_includeTreeFeature(r){var i,a;const e=r.unitId,t=r.subUnitId,s=r.featureId;if(s!=null){const o=this._currentConfigService.getDirtyUnitFeatureMap();if(((a=(i=o==null?void 0:o[e])==null?void 0:i[t])==null?void 0:a[s])!=null)return!0}return!1}_includeOtherFormula(r){var i,a;const e=r.unitId,t=r.subUnitId,s=r.formulaId;if(s!=null){const o=this._currentConfigService.getDirtyUnitOtherFormulaMap();if(((a=(i=o==null?void 0:o[e])==null?void 0:i[t])==null?void 0:a[s])!=null)return!0}return!1}_includeDefinedName(r){const e=r.node;return!!(e!=null&&this._isDirtyDefinedForNode(e))}_includeTree(r){var u,c,l;const e=r.unitId,t=r.subUnitId;if(this._includeTreeFeature(r)===!0||this._includeOtherFormula(r)===!0||this._includeDefinedName(r)===!0)return!0;const s=(c=(u=this._currentConfigService.getExcludedRange())==null?void 0:u[e])==null?void 0:c[t];let i=!1;if(s==null||s.forValue((d,m)=>{if(r.row===d&&r.column===m)return i=!0,!1}),i)return!1;if(((l=this._dirtyUnitSheetNameMap[e])==null?void 0:l[t])!=null)return!0;if(!this._updateRangeFlattenCache.has(e))return!1;const a=this._updateRangeFlattenCache.get(e);if(!a.has(t))return!1;const o=a.get(t);for(const d of o)if(r.inRangeData(d))return!0;return!1}_calculateRunList(r){let e=r;const t=[];for(;e.length>0;){const s=e.pop();if(s===void 0||s.isSkip())continue;if(s.isAdded()){t.push(s);continue}const i=[];for(let a=0,o=s.parents.length;a<o;a++){const u=s.parents[a];u.isAdded()||s.isSkip()||i.push(u)}i.length===0?(t.push(s),s.setSkip()):(s.setAdded(),e.push(s),e=e.concat(i))}return t.reverse()}};$t=sc([E.OnLifecycle(E.LifecycleStages.Rendered,$t),tt(0,Je),tt(1,Te),tt(2,$r),tt(3,qt),tt(4,N.Inject(Pt)),tt(5,N.Inject(Ht)),tt(6,N.Inject(wt)),tt(7,Ir)],$t);var ac=Object.defineProperty,oc=Object.getOwnPropertyDescriptor,uc=(n,r,e,t)=>{for(var s=t>1?void 0:t?oc(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&ac(r,e,s),s},dt=(n,r)=>(e,t)=>r(e,t,n);const cc=1;exports.CalculateFormulaService=class extends E.Disposable{constructor(e,t,s,i,a,o,u){super();b(this,"_executionStartListener$",new Lt.Subject);b(this,"executionStartListener$",this._executionStartListener$.asObservable());b(this,"_executionCompleteListener$",new Lt.Subject);b(this,"executionCompleteListener$",this._executionCompleteListener$.asObservable());b(this,"_executionInProgressListener$",new Lt.Subject);b(this,"executionInProgressListener$",this._executionInProgressListener$.asObservable());this._configService=e,this._lexer=t,this._currentConfigService=s,this._runtimeService=i,this._formulaDependencyGenerator=a,this._interpreter=o,this._astTreeBuilder=u}dispose(){}stopFormulaExecution(){this._runtimeService.stopExecution()}setRuntimeFeatureCellData(e,t){this._runtimeService.setRuntimeFeatureCellData(e,t)}setRuntimeFeatureRange(e,t){this._runtimeService.setRuntimeFeatureRange(e,t)}async execute(e){this._executionStartListener$.next(!0),this._currentConfigService.load(e),this._runtimeService.reset();const t=this._configService.getConfig("CYCLE_REFERENCE_COUNT")||cc;for(let s=0;s<t&&(await this._execute(),!!this._runtimeService.isCycleDependency());s++);this._runtimeService.setFormulaExecuteStage($e.CALCULATION_COMPLETED),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()),nn.clear(),rt.clear()}async _execute(){const e=await this._apply();if(e==null)return;const{arrayFormulaRange:t,runtimeFeatureRange:s}=e,{dirtyRanges:i,excludedCell:a}=this._getArrayFormulaDirtyRangeAndExcludedRange(t,s);return i==null||i.length===0||(this._currentConfigService.loadDirtyRangesAndExcludedCell(i,a),await this._apply(!0)),!0}_getArrayFormulaDirtyRangeAndExcludedRange(e,t){const s=[],i={};return Object.keys(e).forEach(a=>{const o=e[a];if(o==null)return!0;Object.keys(o).forEach(u=>{const c=new E.ObjectMatrix(o[u]);if(c==null)return!0;const l=new E.ObjectMatrix;c.forValue((d,m,R)=>{l.setValue(d,m,!0),s.push({unitId:a,sheetId:u,range:R})}),i[a]==null&&(i[a]={}),i[a][u]=l})}),Object.keys(t).forEach(a=>{const o=t[a];Object.keys(o).forEach(u=>{const c=o[u];if(c==null)return!0;Object.keys(c).forEach(l=>{const d=c[l];if(d==null)return!0;for(const m of d)s.push({unitId:u,sheetId:l,range:m})})})}),{dirtyRanges:s,excludedCell:i}}async _apply(e=!1){e?this._runtimeService.setFormulaExecuteStage($e.START_DEPENDENCY_ARRAY_FORMULA):this._runtimeService.setFormulaExecuteStage($e.START_DEPENDENCY),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());const t=await this._formulaDependencyGenerator.generate(),s=this._interpreter;e?(this._runtimeService.setFormulaExecuteStage($e.START_CALCULATION_ARRAY_FORMULA),this._runtimeService.setTotalArrayFormulasToCalculate(t.length)):(this._runtimeService.setFormulaExecuteStage($e.START_CALCULATION),this._runtimeService.setTotalFormulasToCalculate(t.length)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());for(let i=0,a=t.length;i<a;i++){if(await new Promise(d=>{E.requestImmediateMacroTask(d)}),this._runtimeService.isStopExecution()){this._runtimeService.setFormulaExecuteStage($e.IDLE),this._runtimeService.markedAsStopFunctionsExecuted(),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData());return}const o=t[i],u=o.node,c=o.getDirtyData;let l;if(u==null&&c==null)throw new Error("AstNode or executor is null");if(this._runtimeService.setCurrent(o.row,o.column,o.rowCount,o.columnCount,o.subUnitId,o.unitId),c!=null&&o.featureId!=null){const{runtimeCellData:d,dirtyRanges:m}=c(o);this._runtimeService.setRuntimeFeatureCellData(o.featureId,d),this._runtimeService.setRuntimeFeatureRange(o.featureId,m)}else u!=null&&(s.checkAsyncNode(u)?l=await s.executeAsync(u):l=s.execute(u),o.formulaId!=null?this._runtimeService.setRuntimeOtherData(o.formulaId,l):this._runtimeService.setRuntimeData(l));e?(this._runtimeService.setFormulaExecuteStage($e.CURRENTLY_CALCULATING_ARRAY_FORMULA),this._runtimeService.setCompletedArrayFormulasCount(i+1)):(this._runtimeService.setFormulaExecuteStage($e.CURRENTLY_CALCULATING),this._runtimeService.setCompletedFormulasCount(i+1)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState())}return t.length>0?this._runtimeService.markedAsSuccessfullyExecuted():e||this._runtimeService.markedAsNoFunctionsExecuted(),this._runtimeService.getAllRuntimeData()}calculate(e,t=!0){const s=this._lexer.treeBuilder(e,t);if(Object.values(f).includes(s))return De.create(s);const i=this._astTreeBuilder.parse(s);i==null||i.serialize()}};exports.CalculateFormulaService=uc([E.OnLifecycle(E.LifecycleStages.Rendered,exports.CalculateFormulaService),dt(0,E.IConfigService),dt(1,N.Inject(wt)),dt(2,Je),dt(3,Te),dt(4,N.Inject($t)),dt(5,N.Inject(Pt)),dt(6,N.Inject(Ht))],exports.CalculateFormulaService);var lc=Object.defineProperty,fc=Object.getOwnPropertyDescriptor,hc=(n,r,e,t)=>{for(var s=t>1?void 0:t?fc(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&lc(r,e,s),s},sr=(n,r)=>(e,t)=>r(e,t,n);let ar=class extends E.Disposable{constructor(n,r,e,t){super(),this._commandService=n,this._calculateFormulaService=r,this._univerInstanceService=e,this._formulaDataModel=t,this._initialize()}_initialize(){this._commandExecutedListener(),this._initialExecuteFormulaListener(),this._initialExecuteFormulaProcessListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted((n,r)=>{if(n.id===un.id)this._calculateFormulaService.stopFormulaExecution();else if(n.id===vr.id){const e=n.params.formulaData;this._formulaDataModel.mergeFormulaData(e)}else if(n.id===on.id){const e=n.params;if(e.forceCalculation===!0)this._calculate(!0);else{const{dirtyRanges:t,dirtyNameMap:s,dirtyDefinedNameMap:i,dirtyUnitFeatureMap:a,dirtyUnitOtherFormulaMap:o}=e;this._calculate(!1,t,s,i,a,o)}}else if(n.id===dr.id){const e=n.params;if(e==null)return;const{arrayFormulaRange:t,arrayFormulaCellData:s}=e;this._formulaDataModel.setArrayFormulaRange(t),this._formulaDataModel.setArrayFormulaCellData(s)}}))}async _calculate(n=!1,r=[],e={},t={},s={},i={}){if(r.length===0&&Object.keys(e).length===0&&Object.keys(t).length===0&&Object.keys(s).length===0&&Object.keys(i).length===0&&n===!1)return;const a=this._formulaDataModel.getFormulaData(),o=this._formulaDataModel.getArrayFormulaCellData();this._calculateFormulaService.execute({formulaData:a,arrayFormulaCellData:o,forceCalculate:n,dirtyRanges:r,dirtyNameMap:e,dirtyDefinedNameMap:t,dirtyUnitFeatureMap:s,dirtyUnitOtherFormulaMap:i})}_initialExecuteFormulaListener(){this._calculateFormulaService.executionCompleteListener$.subscribe(n=>{const r=n.functionsExecutedState;switch(r){case St.NOT_EXECUTED:break;case St.STOP_EXECUTION:break;case St.SUCCESS:this._applyFormula(n);break;case St.INITIAL:break}this._commandService.executeCommand(mr.id,{functionsExecutedState:r},{onlyLocal:!0})})}_initialExecuteFormulaProcessListener(){this._calculateFormulaService.executionInProgressListener$.subscribe(n=>{this._commandService.executeCommand(mr.id,{stageInfo:n},{onlyLocal:!0})})}async _applyFormula(n){const{unitData:r,unitOtherData:e,arrayFormulaRange:t,arrayFormulaCellData:s,clearArrayFormulaCellData:i}=n;if(!r){console.error("No sheetData from Formula Engine!");return}t&&(this._formulaDataModel.clearPreviousArrayFormulaCellData(i),this._formulaDataModel.mergeArrayFormulaCellData(s),this._formulaDataModel.mergeArrayFormulaRange(t),this._commandService.executeCommand(dr.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData()},{onlyLocal:!0})),this._commandService.executeCommand(cn.id,{unitData:Hi(r),unitOtherData:e},{onlyLocal:!0})}};ar=hc([E.OnLifecycle(E.LifecycleStages.Ready,ar),sr(0,E.ICommandService),sr(1,N.Inject(exports.CalculateFormulaService)),sr(2,E.IUniverInstanceService),sr(3,N.Inject(exports.FormulaDataModel))],ar);var dc=Object.defineProperty,mc=Object.getOwnPropertyDescriptor,gc=(n,r,e,t)=>{for(var s=t>1?void 0:t?mc(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&dc(r,e,s),s},qr=(n,r)=>(e,t)=>r(e,t,n);let It=class extends E.Disposable{constructor(n=[],r,e,t){super(),this._function=n,this._commandService=r,this._injector=e,this._functionService=t,this._initialize()}_initialize(){this._registerCommands(),this._registerFunctions()}_registerCommands(){[vr,dr,on,un,mr,cn,xr,wr,Pr,Vr,Or,Fr,ps,Rs,ln,an,fn].forEach(n=>this.disposeWithMe(this._commandService.registerCommand(n)))}_registerFunctions(){const n=[...Us,...$s,...Is,...Qs,...Hs,...Ws,...Xs,...qs,...Ns,...Zs,...ei,...ti,...ri,...si,...ii,...oi].concat(this._function).map(r=>{const e=r[0],t=r[1];return new e(t)});this._functionService.registerExecutors(...n)}};It=gc([E.OnLifecycle(E.LifecycleStages.Ready,It),qr(1,E.ICommandService),qr(2,N.Inject(N.Injector)),qr(3,We)],It);var pc=Object.defineProperty,Rc=Object.getOwnPropertyDescriptor,_c=(n,r,e,t)=>{for(var s=t>1?void 0:t?Rc(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&pc(r,e,s),s},Nr=(n,r)=>(e,t)=>r(e,t,n);let or=class extends E.Disposable{constructor(n,r,e){super(),this._commandService=n,this._formulaDataModel=r,this._functionService=e,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted((n,r)=>{if(n.id===an.id){const e=n.params;if(e==null)return;const{functions:t}=e,s=t.map(i=>{const a=i[0],o=i[1];return yc(a,o)});this._functionService.registerExecutors(...s)}else if(n.id===fn.id){const e=n.params;if(e==null)return;const{functions:t}=e;this._functionService.unregisterExecutors(...t)}}))}};or=_c([E.OnLifecycle(E.LifecycleStages.Ready,or),Nr(0,E.ICommandService),Nr(1,N.Inject(exports.FormulaDataModel)),Nr(2,We)],or);class Ec extends T{isCustom(){return!0}}function yc(n,r){const e=new Ec(r),t=new Function(`return ${n}`)();return e.calculateCustom=t,e}var Cc=Object.defineProperty,Dc=Object.getOwnPropertyDescriptor,bc=(n,r,e,t)=>{for(var s=t>1?void 0:t?Dc(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&Cc(r,e,s),s},us=(n,r)=>(e,t)=>r(e,t,n);let ur=class extends E.Disposable{constructor(n,r){super(),this._commandService=n,this._definedNamesService=r,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===xr.id){const r=n.params;if(r==null)return;const{id:e,unitId:t,name:s,formulaOrRefString:i,comment:a,hidden:o,localSheetId:u}=r;this._definedNamesService.registerDefinedName(t,{id:e,name:s.trim(),formulaOrRefString:i.trim(),comment:a==null?void 0:a.trim(),hidden:o,localSheetId:u})}else if(n.id===wr.id){const r=n.params;if(r==null)return;const{unitId:e,id:t}=r;this._definedNamesService.removeDefinedName(e,t)}}))}};ur=bc([E.OnLifecycle(E.LifecycleStages.Ready,ur),us(0,E.ICommandService),us(1,Kt)],ur);var Sc=Object.defineProperty,Ac=Object.getOwnPropertyDescriptor,Lc=(n,r,e,t)=>{for(var s=t>1?void 0:t?Ac(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&Sc(r,e,s),s},cs=(n,r)=>(e,t)=>r(e,t,n);let cr=class extends E.Disposable{constructor(n,r){super(),this._commandService=n,this._featureCalculationManagerService=r,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===Pr.id){const r=n.params;if(r==null)return;const{featureId:e,calculationParam:t}=r;this._featureCalculationManagerService.register(e,t)}else if(n.id===Vr.id){const r=n.params;if(r==null)return;const{featureId:e}=r;this._featureCalculationManagerService.remove(e)}}))}};cr=Lc([E.OnLifecycle(E.LifecycleStages.Ready,cr),cs(0,E.ICommandService),cs(1,qt)],cr);var xc=Object.defineProperty,wc=Object.getOwnPropertyDescriptor,Pc=(n,r,e,t)=>{for(var s=t>1?void 0:t?wc(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&xc(r,e,s),s},Zr=(n,r)=>(e,t)=>r(e,t,n);let lr=class extends E.Disposable{constructor(n,r,e){super(),this._commandService=n,this._otherFormulaManagerService=r,this._dependencyManagerService=e,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===Or.id){const r=n.params;if(r==null)return;const e={[r.unitId]:{[r.subUnitId]:r.formulaMap}};this._otherFormulaManagerService.batchRegister(e)}else if(n.id===Fr.id){const r=n.params;if(r==null)return;const e={};r.formulaIdList.forEach(s=>e[s]=!0);const t={[r.unitId]:{[r.subUnitId]:e}};this._otherFormulaManagerService.batchRemove(t)}}))}};lr=Pc([E.OnLifecycle(E.LifecycleStages.Ready,lr),Zr(0,E.ICommandService),Zr(1,$r),Zr(2,Ir)],lr);var Vc=Object.defineProperty,vc=Object.getOwnPropertyDescriptor,Oc=(n,r,e,t)=>{for(var s=t>1?void 0:t?vc(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&Vc(r,e,s),s},ls=(n,r)=>(e,t)=>r(e,t,n);let fr=class extends E.Disposable{constructor(n,r){super(),this._commandService=n,this._superTableService=r,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===xr.id){const r=n.params;if(r==null)return;const{unitId:e,tableName:t,reference:s}=r;this._superTableService.registerTable(e,t,s)}else if(n.id===wr.id){const r=n.params;if(r==null)return;const{unitId:e,tableName:t}=r;this._superTableService.remove(e,t)}else if(n.id===ln.id){const r=n.params;if(r==null)return;const{tableOption:e,tableOptionType:t}=r;this._superTableService.registerTableOptionMap(e,t)}}))}};fr=Oc([E.OnLifecycle(E.LifecycleStages.Ready,fr),ls(0,E.ICommandService),ls(1,Sn)],fr);class Fc extends E.Disposable{constructor(){super(...arguments);b(this,"_dirtyConversionMap",new Map)}dispose(){this._dirtyConversionMap.clear()}remove(e){this._dirtyConversionMap.delete(e)}get(e){return this._dirtyConversionMap.get(e)}has(e){return this._dirtyConversionMap.has(e)}register(e,t){this._dirtyConversionMap.set(e,t)}getDirtyConversionMap(){return this._dirtyConversionMap}}const Di=N.createIdentifier("univer.formula.active-dirty-manager.service");var Uc=Object.defineProperty,Mc=Object.getOwnPropertyDescriptor,Bc=(n,r,e,t)=>{for(var s=t>1?void 0:t?Mc(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&Uc(r,e,s),s},Jr=(n,r)=>(e,t)=>r(e,t,n);let hr=class extends E.Disposable{constructor(n,r){super(),this._commandService=n,this._dependencyManagerService=r,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===Vr.id||n.id===Pr.id){const r=n.params;if(r==null)return;const{featureId:e}=r;this._dependencyManagerService.removeFeatureFormulaDependency(e)}else if(n.id===Fr.id){const r=n.params;if(r==null)return;this._dependencyManagerService.removeOtherFormulaDependency(r.unitId,r.subUnitId,r.formulaIdList)}else if(n.id===Or.id){const r=n.params;if(r==null)return;const e=r.formulaMap,t=[];Object.keys(e).forEach(s=>{t.push(s)}),this._dependencyManagerService.removeOtherFormulaDependency(r.unitId,r.subUnitId,t)}else if(n.id===vr.id){const r=n.params.formulaData;Object.keys(r).forEach(e=>{if(r[e]==null)return!0;Object.keys(r[e]).forEach(t=>{const s=r[e][t];if(s==null)return this._dependencyManagerService.clearFormulaDependency(e,t),!0;new E.ObjectMatrix(s).forValue((i,a)=>{this._dependencyManagerService.removeFormulaDependency(e,t,i,a)})})})}}))}};hr=Bc([E.OnLifecycle(E.LifecycleStages.Ready,hr),Jr(0,E.ICommandService),Jr(1,qt),Jr(1,Ir)],hr);var kc=Object.defineProperty,Tc=Object.getOwnPropertyDescriptor,jc=(n,r,e,t)=>{for(var s=t>1?void 0:t?Tc(r,e):r,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(t?a(r,e,s):a(s))||s);return t&&s&&kc(r,e,s),s},$c=(n,r)=>(e,t)=>r(e,t,n);const Ic="base-formula-engine";var en;exports.UniverFormulaEnginePlugin=(en=class extends E.Plugin{constructor(r,e){super(),this._config=r,this._injector=e}onStarting(){this._initialize()}_initialize(){var e;const r=[[We,{useClass:hi}],[qt,{useClass:Ei}],[Kt,{useClass:li}],[Di,{useClass:Fc}],[Sn,{useClass:ku}],[exports.FormulaDataModel],[Ur],[It,{useFactory:()=>{var t;return this._injector.createInstance(It,(t=this._config)==null?void 0:t.function)}}],[cr],[ur],[fr]];(e=this._config)!=null&&e.notExecuteFormula||r.push([exports.CalculateFormulaService],[$r,{useClass:yi}],[Te,{useClass:exports.FormulaRuntimeService}],[Je,{useClass:exports.FormulaCurrentConfigService}],[Ir,{useClass:tc}],[ar],[lr],[or],[hr],[$t],[Pt],[Ht],[wt],[fi],[yr],[Cr],[Ri],[Dr],[Er],[br],[Sr],[Ar],[_i]),r.forEach(t=>this._injector.add(t))}},b(en,"pluginName",Ic),en);exports.UniverFormulaEnginePlugin=jc([$c(1,N.Inject(N.Injector))],exports.UniverFormulaEnginePlugin);function bi(n,r){const e=n.sequenceNodesBuilder(r);return!(!e||e.every(t=>typeof t=="string"||t.nodeType!==Le.REFERENCE))}function Yc(n,r,e,t,s,i){if(!bi(n,r))return r;const a=n.sequenceNodesBuilder(r),o=(R,D)=>({startRow:R,endRow:R,startColumn:D,endColumn:D}),u=o(e,t),c=E.Rectangle.getRelativeRange(o(s,i),u),l=E.Tools.deepClone(a),d=Array.isArray(l)?l.map(R=>{if(typeof R=="object"&&R.nodeType===Le.REFERENCE){const D=Ye(R.token),C=E.Rectangle.getPositionRange(c,D.range),A=Ne(C);return{...R,token:A}}return R}):l;return`=${d&&gr(d)}`}exports.ArrayValueObject=Ce;exports.BaseFunction=T;exports.BaseReferenceObject=Ft;exports.BaseValueObject=Ze;exports.BooleanValue=ut;exports.BooleanValueObject=I;exports.DefinedNamesService=li;exports.ERROR_TYPE_SET=Vt;exports.ErrorType=f;exports.ErrorValueObject=h;exports.FUNCTION_NAMES_ARRAY=Ms;exports.FUNCTION_NAMES_COMPATIBILITY=bt;exports.FUNCTION_NAMES_CUBE=Ys;exports.FUNCTION_NAMES_DATABASE=zs;exports.FUNCTION_NAMES_DATE=nt;exports.FUNCTION_NAMES_ENGINEERING=Gs;exports.FUNCTION_NAMES_FINANCIAL=Ks;exports.FUNCTION_NAMES_INFORMATION=Ve;exports.FUNCTION_NAMES_LOGICAL=st;exports.FUNCTION_NAMES_LOOKUP=Se;exports.FUNCTION_NAMES_MATH=we;exports.FUNCTION_NAMES_STATISTICAL=be;exports.FUNCTION_NAMES_TEXT=it;exports.FUNCTION_NAMES_UNIVER=ai;exports.FUNCTION_NAMES_WEB=ui;exports.FeatureCalculationManagerService=Ei;exports.FormulaExecuteStageType=$e;exports.FormulaExecutedStateType=St;exports.FunctionService=hi;exports.FunctionType=hs;exports.IActiveDirtyManagerService=Di;exports.IDefinedNamesService=Kt;exports.IFeatureCalculationManagerService=qt;exports.IFormulaCurrentConfigService=Je;exports.IFormulaRuntimeService=Te;exports.IFunctionService=We;exports.IOtherFormulaManagerService=$r;exports.LexerNode=q;exports.LexerTreeBuilder=Ur;exports.NumberValueObject=S;exports.OtherFormulaManagerService=yi;exports.RangeReferenceObject=Qt;exports.RegisterFunctionMutation=an;exports.RemoveDefinedNameMutation=wr;exports.RemoveFeatureCalculationMutation=Vr;exports.RemoveOtherFormulaMutation=Fr;exports.RemoveSuperTableMutation=Rs;exports.SetArrayFormulaDataMutation=dr;exports.SetDefinedNameMutation=xr;exports.SetFeatureCalculationMutation=Pr;exports.SetFormulaCalculationNotificationMutation=mr;exports.SetFormulaCalculationResultMutation=cn;exports.SetFormulaCalculationStartMutation=on;exports.SetFormulaCalculationStopMutation=un;exports.SetFormulaDataMutation=vr;exports.SetOtherFormulaMutation=Or;exports.SetSuperTableMutation=ps;exports.SetSuperTableOptionMutation=ln;exports.StringValueObject=Re;exports.UnregisterFunctionMutation=fn;exports.ValueObjectFactory=ct;exports.compareToken=U;exports.convertUnitDataToRuntime=gs;exports.deserializeRangeForR1C1=Fs;exports.deserializeRangeWithSheet=Ye;exports.functionArray=Us;exports.functionCompatibility=$s;exports.functionCube=Is;exports.functionDatabase=Qs;exports.functionDate=Hs;exports.functionEngineering=Ws;exports.functionFinancial=Xs;exports.functionInformation=qs;exports.functionLogical=Ns;exports.functionLookup=Zs;exports.functionMath=ei;exports.functionMeta=ti;exports.functionStatistical=ri;exports.functionText=si;exports.functionUniver=ii;exports.functionWeb=oi;exports.generateStringWithSequence=gr;exports.getAbsoluteRefTypeWitString=Ji;exports.getAbsoluteRefTypeWithSingleString=jt;exports.getRangeWithRefsString=ea;exports.includeFormulaLexerToken=ms;exports.initSheetFormulaData=ci;exports.isFormulaLexerToken=Tt;exports.isFormulaTransformable=bi;exports.isInDirtyRange=fs;exports.isReferenceString=Ss;exports.isReferenceStringWithEffectiveColumn=pr;exports.isReferenceStrings=ws;exports.matchRefDrawToken=zi;exports.matchToken=W;exports.normalizeSheetName=Qi;exports.operatorToken=de;exports.sequenceNodeType=Le;exports.serializeRange=Ne;exports.serializeRangeToRefString=Rt;exports.serializeRangeWithSheet=As;exports.serializeRangeWithSpreadsheet=Ls;exports.transformFormula=Yc;
|
|
1
|
+
"use strict";var $i=Object.defineProperty;var Ii=(r,s,e)=>s in r?$i(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e;var g=(r,s,e)=>(Ii(r,typeof s!="symbol"?s+"":s,e),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("@univerjs/core"),Z=require("@wendellhu/redi"),Pt=require("rxjs");function hs(r,s,e,t,n){for(let i=0,a=r.length;i<a;i++){const o=r[i];if(s!==o.unitId||e!==o.sheetId)continue;const{startRow:u,startColumn:c,endRow:l,endColumn:f}=o.range;if(t>=u&&t<=l&&n>=c&&n<=f)return!0}return!1}var h=(r=>(r.DIV_BY_ZERO="#DIV/0!",r.NAME="#NAME?",r.VALUE="#VALUE!",r.NUM="#NUM!",r.NA="#N/A",r.CYCLE="#CYCLE!",r.REF="#REF!",r.SPILL="#SPILL!",r.CALC="#CALC!",r.ERROR="#ERROR!",r.CONNECT="#GETTING_DATA",r.NULL="#NULL!",r))(h||{});const Vt=new Set(Object.values(h));var ms=(r=>(r[r.Financial=0]="Financial",r[r.Date=1]="Date",r[r.Math=2]="Math",r[r.Statistical=3]="Statistical",r[r.Lookup=4]="Lookup",r[r.Database=5]="Database",r[r.Text=6]="Text",r[r.Logical=7]="Logical",r[r.Information=8]="Information",r[r.Engineering=9]="Engineering",r[r.Cube=10]="Cube",r[r.Compatibility=11]="Compatibility",r[r.Web=12]="Web",r[r.Array=13]="Array",r[r.Univer=14]="Univer",r[r.User=15]="User",r[r.DefinedName=16]="DefinedName",r))(ms||{}),oe=(r=>(r.PLUS="+",r.MINUS="-",r.MULTIPLY="*",r.DIVIDED="/",r.CONCATENATE="&",r.POWER="^",r.EQUALS="=",r.NOT_EQUAL="<>",r.GREATER_THAN=">",r.GREATER_THAN_OR_EQUAL=">=",r.LESS_THAN="<",r.LESS_THAN_OR_EQUAL="<=",r))(oe||{}),M=(r=>(r.EQUALS="=",r.NOT_EQUAL="<>",r.GREATER_THAN=">",r.GREATER_THAN_OR_EQUAL=">=",r.LESS_THAN="<",r.LESS_THAN_OR_EQUAL="<=",r))(M||{});const ir=new Map([["<>",3],["<",3],[">=",3],["=",3],[">",3],["<=",3],["&",2],["+",2],["-",2],["/",1],["*",1],["^",0]]),dt=new Set(ir.keys()),Yi=new Set(["=","<>",">",">=","<","<="]);var W=(r=>(r.OPEN_BRACKET="(",r.CLOSE_BRACKET=")",r.COMMA=",",r.SINGLE_QUOTATION="'",r.DOUBLE_QUOTATION='"',r.OPEN_BRACES="{",r.CLOSE_BRACES="}",r.COLON=":",r.OPEN_SQUARE_BRACKET="[",r.CLOSE_SQUARE_BRACKET="]",r))(W||{}),qe=(r=>(r.PERCENTAGE="%",r.POUND="#",r))(qe||{});const Qi=new Set(["%","#"]);var _e=(r=>(r.AT="@",r.MINUS="-",r))(_e||{});const zi=" ",ds=[...Object.values(M),...Object.values(oe),...Object.values(W),...Object.values(qe),...Object.values(_e)];function kt(r){return ds.includes(r)}function gs(r){for(const s of ds)if(r.indexOf(s)>-1)return!0;return!1}function Hi(r){return r[0]==="'"&&r[r.length-1]==="'"?r.substring(1,r.length-1):r}function Wi(r){return kt(r)&&r!==W.CLOSE_BRACES&&r!==W.CLOSE_BRACKET&&r!==W.SINGLE_QUOTATION&&r!==W.DOUBLE_QUOTATION||r===" "}function ps(r){const s={};return Object.keys(r).forEach(e=>{const t=r[e];if(t==null)return!0;s[e]==null&&(s[e]={}),Object.keys(t).forEach(n=>{const i=t[n];s[e][n]=new y.ObjectMatrix(i)})}),s}function Gi(r){const s={};return Object.keys(r).forEach(e=>{const t=r[e];if(t==null)return!0;s[e]==null&&(s[e]={}),Object.keys(t).forEach(n=>{const i=t[n];s[e][n]=i.getData()})}),s}const on={id:"formula.mutation.register-function",type:y.CommandType.MUTATION,handler:()=>!0},mr={id:"formula.mutation.set-array-formula-data",type:y.CommandType.MUTATION,handler:(r,s)=>!0},xr={id:"formula.mutation.set-defined-name",type:y.CommandType.MUTATION,handler:()=>!0},wr={id:"formula.mutation.remove-defined-name",type:y.CommandType.MUTATION,handler:()=>!0},Vr={id:"formula.mutation.set-feature-calculation",type:y.CommandType.MUTATION,handler:()=>!0},vr={id:"formula.mutation.remove-feature-calculation",type:y.CommandType.MUTATION,handler:()=>!0},un={id:"formula.mutation.set-formula-calculation-start",type:y.CommandType.MUTATION,handler:()=>!0},cn={id:"formula.mutation.set-formula-calculation-stop",type:y.CommandType.MUTATION,handler:()=>!0},dr={id:"formula.mutation.set-formula-calculation-notification",type:y.CommandType.MUTATION,handler:()=>!0},ln={id:"formula.mutation.set-formula-calculation-result",type:y.CommandType.MUTATION,handler:()=>!0},Or={id:"formula.mutation.set-formula-data",type:y.CommandType.MUTATION,handler:(r,s)=>!0},Fr={id:"formula.mutation.set-other-formula",type:y.CommandType.MUTATION,handler:()=>!0},Ur={id:"formula.mutation.remove-other-formula",type:y.CommandType.MUTATION,handler:()=>!0},Rs={id:"formula.mutation.set-super-table",type:y.CommandType.MUTATION,handler:()=>!0},_s={id:"formula.mutation.remove-super-table",type:y.CommandType.MUTATION,handler:()=>!0},fn={id:"formula.mutation.set-super-table-option",type:y.CommandType.MUTATION,handler:()=>!0},hn={id:"formula.mutation.unregister-function",type:y.CommandType.MUTATION,handler:()=>!0},Xe="P_1",at="R_1",Lt="L_1",Wt="LR_1",Es="LO_1",Xi="LET",Yt="LAMBDA",Ki="CUBE";class q{constructor(){g(this,"_parent");g(this,"_token",at);g(this,"_children",[]);g(this,"_lambdaId");g(this,"_functionDefinitionPrivacyVar");g(this,"_lambdaParameter","");g(this,"_startIndex",-1);g(this,"_endIndex",-1);g(this,"_definedNames",[])}dispose(){var s;this._children.forEach(e=>{typeof e!="string"&&e.dispose()}),(s=this._functionDefinitionPrivacyVar)==null||s.clear(),this._parent=null}getDefinedNames(){return this._definedNames}getStartIndex(){return this._startIndex}getLambdaId(){return this._lambdaId}setLambdaId(s){this._lambdaId=s}getFunctionDefinitionPrivacyVar(){return this._functionDefinitionPrivacyVar}setLambdaPrivacyVar(s){this._functionDefinitionPrivacyVar=s}getLambdaParameter(){return this._lambdaParameter}setLambdaParameter(s){this._lambdaParameter=s}getParent(){return this._parent}setParent(s){this._parent=s}getChildren(){return this._children}setChildren(s){this._children=s}addChildren(s){this._children.push(s)}addChildrenFirst(s){this._children.unshift(s)}getToken(){return this._token}setToken(s){this._token=s}setIndex(s,e){this._startIndex=s,this._endIndex=e}setDefinedNames(s){this._definedNames=s}hasDefinedNames(){return this._definedNames.length>0}replaceChild(s,e){const t=this._getIndexInParent(s);t!=null&&(this.getChildren().splice(t,1,e),e.setParent(this))}changeToParent(s){const e=this.getParent();e&&e.removeChild(this),this.setParent(s),s.getChildren().push(this)}removeChild(s){const e=this._getIndexInParent(s);e!=null&&this.getChildren().splice(e,1)}serialize(){const s=this.getToken(),e=this.getChildren(),t=[],n=e.length;for(let i=0;i<n;i++){const a=e[i];a instanceof q?t.push(a.serialize()):t.push(a)}return{token:s,st:this._startIndex,ed:this._endIndex,children:t}}_getIndexInParent(s){const e=this.getChildren(),t=e.length;for(let n=0;n<t;n++)if(e[n]===s)return n}}class Et{constructor(s){g(this,"_cache");this._cache=new y.LRUMap(s)}set(s,e){const t=this._hash(s);this._cache.set(t,e)}get(s){const e=this._hash(s);return this._cache.get(e)}clear(){this._cache.clear()}_hash(s){return y.hashAlgorithm(s)}}const rn='\\[([^\\[\\]\\/?:"<>|*\\\\]+)\\]',qi="((?![\\[\\]\\/?*\\\\]).)*!",ot="$",mn="\\s*?:\\s*?",vt=`'?(${rn})?(${qi})?'?`,nn=`\\${ot}?[A-Za-z]+\\${ot}?[0-9]+`,Zi=`^(${_e.AT})?${vt}${nn}${mn}${nn}$`,Gt=`^${vt}\\s*?${nn}(${qe.POUND})?$`,ys=`^${vt}\\${ot}?[0-9]+${mn}\\${ot}?[0-9]+$`,Cs=`^${vt}\\${ot}?[A-Za-z]+${mn}\\${ot}?[A-Za-z]+$`,Ds=`^${vt}\\s*?\\${ot}?[0-9]+$`,bs=`^${vt}\\s*?\\${ot}?[A-Za-z]+$`,Ss="[.*?]",Ji="{.*?}";function As(r){return new RegExp(Gt).test(r)||new RegExp(Zi).test(r)||new RegExp(ys).test(r)||new RegExp(Cs).test(r)}var Pe=(r=>(r[r.NORMAL=0]="NORMAL",r[r.NUMBER=1]="NUMBER",r[r.STRING=2]="STRING",r[r.FUNCTION=3]="FUNCTION",r[r.REFERENCE=4]="REFERENCE",r[r.ARRAY=5]="ARRAY",r[r.DEFINED_NAME=6]="DEFINED_NAME",r))(Pe||{});function gr(r){let s="";for(const e of r)typeof e=="string"?s+=e:s+=e.token;return s}const Ni=/[^0-9]/g,ea=/[^A-Za-z]/g;function jt(r){let s=r[0]==="$";const e=r.substring(1);let t=e.indexOf("$")>-1;return y.Tools.isStringNumber(e)&&s&&!t&&(s=!1,t=!0),s&&t?y.AbsoluteRefType.ALL:s?y.AbsoluteRefType.COLUMN:t?y.AbsoluteRefType.ROW:y.AbsoluteRefType.NONE}function ta(r){const s=r.split("!");s.length>1&&(r=s[s.length-1]);const e=r.split(":");return e.length>1?{startAbsoluteRefType:jt(e[0]),endAbsoluteRefType:jt(e[1])}:{startAbsoluteRefType:jt(e[0])}}function $n(r=y.AbsoluteRefType.NONE){let s="",e="";return r===y.AbsoluteRefType.ROW?s="$":r===y.AbsoluteRefType.COLUMN?e="$":r===y.AbsoluteRefType.ALL&&(s="$",e="$"),{rowAbsoluteString:s,columnAbsoluteString:e}}function Ze(r){const{startColumn:s,startRow:e,endColumn:t,endRow:n,startAbsoluteRefType:i,endAbsoluteRefType:a,rangeType:o=y.RANGE_TYPE.NORMAL}=r,u=$n(i),c=$n(a);if(o===y.RANGE_TYPE.ROW||o===y.RANGE_TYPE.ALL){const d=`${u.rowAbsoluteString}${e+1}`,_=`${c.rowAbsoluteString}${n+1}`;return`${d}:${_}`}if(o===y.RANGE_TYPE.COLUMN){const d=`${u.columnAbsoluteString}${y.Tools.chatAtABC(s)}`,_=`${c.columnAbsoluteString}${y.Tools.chatAtABC(t)}`;return`${d}:${_}`}const l=`${u.columnAbsoluteString}${y.Tools.chatAtABC(s)}${u.rowAbsoluteString}${e+1}`,f=`${c.columnAbsoluteString}${y.Tools.chatAtABC(t)}${c.rowAbsoluteString}${n+1}`;return l===f?l:`${l}:${f}`}function Ps(r,s){return Rr(r)?`'${r}'!${Ze(s)}`:`${r}!${Ze(s)}`}function Ls(r,s,e){return Rr(r)||Rr(s)?`'[${r}]${s}'!${Ze(e)}`:`[${r}]${s}!${Ze(e)}`}function Rt(r){const{unitId:s,sheetName:e,range:t}=r;return s!=null&&s.length>0&&e!=null&&e.length>0?Ls(s,e,t):e!=null&&e.length>0?Ps(e,t):Ze(t)}function Hr(r){const s=Number.parseInt(r.replace(Ni,""))-1,e=y.Tools.ABCatNum(r.replace(ea,"")),t=jt(r);return{row:s,column:e,absoluteRefType:t}}function xs(r){const s=new RegExp(rn).exec(r);let e="";s!=null&&(e=s[0].trim(),e=e.slice(1,e.length-1),r=r.replace(new RegExp(rn),""));const t=r.indexOf("!");let n="",i="";return t>-1?(n=r.substring(0,t),n[0]==="'"&&n[n.length-1]==="'"&&(n=n.substring(1,n.length-1)),i=r.substring(t+1)):i=r,{refBody:i,sheetName:n,unitId:e}}function Ye(r){const{refBody:s,sheetName:e,unitId:t}=xs(r),n=s.indexOf(":");if(n===-1){const C=Hr(s),D=C.row,A=C.column,L=C.absoluteRefType;return{unitId:t,sheetName:e,range:{startRow:D,startColumn:A,endRow:D,endColumn:A,startAbsoluteRefType:L,endAbsoluteRefType:L}}}const i=s.substring(0,n),a=s.substring(n+1),o=Hr(i),u=Hr(a),c=o.row,l=o.column,f=u.row,d=u.column;let _=y.RANGE_TYPE.NORMAL;return Number.isNaN(c)&&Number.isNaN(f)?_=y.RANGE_TYPE.COLUMN:Number.isNaN(l)&&Number.isNaN(d)&&(_=y.RANGE_TYPE.ROW),{unitId:t,sheetName:e,range:{startRow:c,startColumn:l,endRow:f,endColumn:d,startAbsoluteRefType:o.absoluteRefType,endAbsoluteRefType:u.absoluteRefType,rangeType:_}}}function pr(r){if(!As(r))return!1;const{range:s}=Ye(r);return!(s.endColumn>=16384)}function ra(r,s){const e=(r==null?void 0:r.split(","))||[];return r===""||e.length===0?[]:ws(r)?e.map(i=>{const a=Ye(i);return{unitId:a.unitId,sheetId:s(a.sheetName),range:a.range,sheetName:a.sheetName}}):[]}function ws(r){return((r==null?void 0:r.split(","))||[]).every(e=>pr(e.trim()))}function Rr(r){return r.length===0?!1:!!(gs(r)||na(r)||sa(r)||ia(r)||/[\s!$%^&*()+\-=\[\]{};':"\\|,.<>\/?]/.test(r))}function na(r){const s=r.match(/[1-9][0-9]{0,6}/);return/^[A-Z]+[1-9][0-9]{0,6}$/.test(r)&&s!==null}function sa(r){return/^(R(-?[0-9]+)?C(-?[0-9]+)?|C(-?[0-9]+)?|R(-?[0-9]+)?)$/.test(r)}function ia(r){return!new RegExp("^\\p{Letter}","u").test(r.charAt(0))}const Vs=1e5,Wr=new Et(Vs),Gr=new Et(Vs);class Mr extends y.Disposable{constructor(){super(...arguments);g(this,"_currentLexerNode",new q);g(this,"_upLevel",0);g(this,"_segment","");g(this,"_bracketState",[]);g(this,"_squareBracketState",0);g(this,"_bracesState",0);g(this,"_singleQuotationState",0);g(this,"_doubleQuotationState",0);g(this,"_lambdaState",!1);g(this,"_colonState",!1);g(this,"_tableBracketState",!1)}dispose(){this._resetTemp(),this._currentLexerNode.dispose(),Wr.clear(),Gr.clear()}getUpLevel(){return this._upLevel}isColonClose(){return this._colonState===!1}isColonOpen(){return this._colonState===!0}isDoubleQuotationClose(){return this._doubleQuotationState===0}isLambdaOpen(){return this._lambdaState===!0}isLambdaClose(){return this._lambdaState===!1}isSingleQuotationClose(){return this._singleQuotationState===0}isBracesClose(){return this._bracesState===0}isBracketClose(){return this._bracketState.length===0}isSquareBracketClose(){return this._squareBracketState===0}getCurrentLexerNode(){return this._currentLexerNode}getFunctionAndParameter(e,t){const n=this._getCurrentParamIndex(e,t);if(n==null||n===h.VALUE)return;const i=n[0];if(typeof i=="string")return;let a=i.getParent(),o=i;for(;a;){const u=a.getToken();if(u!==Xe&&!kt(u)&&a.getStartIndex()!==-1){const c=a.getChildren().indexOf(o);return{functionName:u,paramIndex:c}}o=a,a=a.getParent()}}checkIfAddBracket(e){let t=0,n=e.length-1,i=e[n];for(;(i===W.CLOSE_BRACKET||i===" ")&&n>=0;)i===W.CLOSE_BRACKET&&t++,i=e[--n];const a=this._getCurrentParamIndex(e,e.length-2);if(a==null||a===h.VALUE)return 0;const o=a[0];if(typeof o=="string")return 0;let u=o.getParent(),c=0;for(a[1]===W.OPEN_BRACKET&&c++;u;){const l=u.getToken();l!==Xe&&l!==W.COLON&&u.getStartIndex()!==-1&&l.toUpperCase()!==Yt&&(t===0?c+=1:t--),u=u.getParent()}return c}sequenceNodesBuilder(e){const t=Gr.get(e);if(t)return[...t];const n=this._getSequenceArray(e);if(n.length===0)return;const i=this.getSequenceNode(n);return Gr.set(e,[...i]),i}convertRefersToAbsolute(e,t,n){const i=this.sequenceNodesBuilder(e);if(i==null)return e;let a="";e.substring(0,1)===oe.EQUALS&&(a=oe.EQUALS);for(let o=0,u=i.length;o<u;o++){const c=i[o];if(typeof c!="string"&&c.nodeType===Pe.REFERENCE){const{token:l,endIndex:f}=c,d=Ye(l);if(d==null)continue;const{range:_,sheetName:C,unitId:D}=d,A={..._,startAbsoluteRefType:t,endAbsoluteRefType:n},L=Rt({range:A,unitId:D,sheetName:C}),w=L.length-l.length;i[o]={...c,token:L,endIndex:f+w};for(let U=o+1;U<u;U++){const $=i[U];typeof $!="string"&&($.startIndex+=w,$.endIndex+=w)}}}return`${a}${gr(i)}`}moveFormulaRefOffset(e,t,n,i=!1){const a=this.sequenceNodesBuilder(e);if(a==null)return e;const o=[];for(let u=0,c=a.length;u<c;u++){const l=a[u];if(typeof l=="string"||l.nodeType!==Pe.REFERENCE){o.push(l);continue}const{token:f}=l,d=Ye(f),{sheetName:_,unitId:C}=d;let D=d.range;if(!i&&D.startAbsoluteRefType===y.AbsoluteRefType.ALL&&D.endAbsoluteRefType===y.AbsoluteRefType.ALL){o.push(l);continue}else D=y.moveRangeByOffset(D,t,n,i);let A="";y.isValidRange(D)?A=Rt({range:D,unitId:C,sheetName:_}):A=h.REF,o.push({...l,token:A})}return`=${gr(o)}`}getSequenceNode(e){const t=[];let n=!1;for(let i=0,a=e.length;i<a;i++){const o=e[i],u=e[i-1],{segment:c,currentString:l}=o;if(l===W.DOUBLE_QUOTATION&&(n=!0),(c!==""||i===0)&&i!==a-1){t.push(l);continue}let f=(u==null?void 0:u.segment)||"",d=i-f.length,_=i-1,C=i-1;if(i===a-1&&this._isLastMergeString(l)&&(f+=l,_+=1),f===""||ir.has(f)){t.push(l);continue}const D=f.trim(),A=this._replacePrefixString(D);if(n===!0&&D[D.length-1]===W.DOUBLE_QUOTATION)n=!1,this._processPushSequenceNode(t,Pe.STRING,f,d,_,C);else if(new RegExp(Gt).test(A)&&pr(A)){if(A.length!==D.length){const L=D.length-A.length;C+=L,d+=L,f=this._replacePrefixString(f)}this._processPushSequenceNode(t,Pe.REFERENCE,f,d,_,C)}else y.Tools.isStringNumber(D)?this._processPushSequenceNode(t,Pe.NUMBER,f,d,_,C):D.length>0&&this._processPushSequenceNode(t,Pe.FUNCTION,f,d,_,C);(i!==a-1||!this._isLastMergeString(l))&&t.push(l)}return this._mergeSequenceNodeReference(t)}_processPushSequenceNode(e,t,n,i,a,o){this._pushSequenceNode(e,{nodeType:t,token:n,startIndex:i,endIndex:a},o)}_getCurrentParamIndex(e,t){return this._nodeMaker(e,void 0,t)}_isLastMergeString(e){return e===W.DOUBLE_QUOTATION||y.Tools.isStringNumber(e)||!kt(e)}_mergeSequenceNodeReference(e){const t=[],n=e.length;let i=0;for(;i<n;){const a=e[i];if(typeof a=="string"){const o=e[i-1];if(a.trim()===W.CLOSE_BRACES&&o!=null&&typeof o!="string"&&o.nodeType===Pe.FUNCTION&&o.token.trim().substring(0,1)===W.OPEN_BRACES){o.nodeType=Pe.ARRAY,o.token+=a,o.endIndex+=a.length,i++;continue}t.push(a)}else{const o=e[i+1],u=e[i+2];o===W.COLON&&typeof a!="string"&&u!=null&&typeof u!="string"&&pr((a.token+o+u.token).trim())&&(a.nodeType=Pe.REFERENCE,a.token+=o+u.token,a.endIndex=u.endIndex,i+=2),t.push(a)}i++}return t}_pushSequenceNode(e,t,n){const i=n-t.startIndex+1;e.splice(e.length-i,i,t)}_replacePrefixString(e){const t=[];let n=!1;for(let i=0,a=e.length;i<a;i++){const o=e[i];if(o===zi&&!n)t.push(o);else{if(!n&&(o===_e.AT||o===_e.MINUS))continue;t.push(o),n=!0}}return t.join("")}nodeMakerTest(e){return this._nodeMaker(e)}treeBuilder(e,t=!0,n,i){if(t===!0){const d=Wr.get(e),_=i==null?void 0:i(e);if(d&&!_)return d}this._resetCurrentLexerNode(),this._currentLexerNode.setToken(at);const a=[];let o=this._nodeMaker(e,a);if(o===h.VALUE||a.length===0)return o;let u=!1,c="",l=[];if(n){const{hasDefinedName:d,sequenceString:_,definedNames:C}=n(a);u=d,c=_,l=C}if(u&&(this._resetCurrentLexerNode(),this._currentLexerNode.setToken(at),o=this._nodeMaker(`=${c}`),o===h.VALUE))return o;const f=this._getTopNode(this._currentLexerNode);if(f&&(this._currentLexerNode=f),t){if(!this._suffixExpressionHandler(this._currentLexerNode))return h.VALUE;Wr.set(e,this._currentLexerNode)}return u&&this._currentLexerNode.setDefinedNames(l),this._currentLexerNode}_suffixExpressionHandler(e){var o;const t=e.getChildren();if(!t)return!1;const n=t.length,i=[],a=[];for(let u=0;u<n;u++){const c=t[u];if(c instanceof q)this._suffixExpressionHandler(c),i.push(c);else{const l=c.trim();if(l==="")continue;if(dt.has(l)){if(l===oe.PLUS&&this._deletePlusForPreNode(t[u-1]))continue;if(l!==oe.PLUS&&l!==oe.MINUS&&this._deletePlusForPreNode(t[u-1]))return!1;for(;a.length>0;){const f=(o=a[a.length-1])==null?void 0:o.trim();if(!f||f===W.OPEN_BRACKET)break;const d=ir.get(f),_=ir.get(l);if(!d||!_)break;if(_>=d)i.push(a.pop());else break}a.push(c)}else if(l===W.OPEN_BRACKET)a.push(c);else if(l===W.CLOSE_BRACKET)this._processSuffixExpressionCloseBracket(i,a,t,u);else{if(this._checkCloseBracket(t[u-1]))return!1;i.push(c)}}}return this._processSuffixExpressionRemain(i,a,e)}_processSuffixExpressionRemain(e,t,n){const i=e.length,a=e[i-1];for(;t.length>0;){const o=t.pop();if(!(a instanceof q)&&(o===W.OPEN_BRACKET||o===W.CLOSE_BRACKET))return!1;e.push(o)}return n.setChildren(e),!0}_processSuffixExpressionCloseBracket(e,t,n,i){var a;if(this._checkOpenBracket(n[i-1])||this._checkOperator(n[i-1]))return!1;for(;t.length>0;){const o=(a=t[t.length-1])==null?void 0:a.trim();if(!o)break;if(o===W.OPEN_BRACKET){t.pop();break}e.push(t.pop())}}_checkCloseBracket(e){return e===W.CLOSE_BRACKET}_checkOpenBracket(e){return e===W.OPEN_BRACKET}_checkOperator(e){return e==null||e instanceof q?!1:dt.has(e)}_deletePlusForPreNode(e){if(e==null)return!0;if(!(e instanceof q)){const t=e.trim();if(dt.has(t)||t===W.OPEN_BRACKET)return!0}return!1}_resetCurrentLexerNode(){this._currentLexerNode=new q}_resetSegment(){this._segment=""}_openBracket(e=0){this._bracketState.push(e)}_closeBracket(){this._bracketState.pop()}_openSquareBracket(){this._squareBracketState+=1}_closeSquareBracket(){this._squareBracketState-=1}_getCurrentBracket(){const e=this._bracketState;return e[e.length-1]}_changeCurrentBracket(e){const t=this._bracketState;t[t.length-1]=e}_openBraces(){this._bracesState+=1}_closeBraces(){this._bracesState-=1}_openSingleQuotation(){this._singleQuotationState+=1}_closeSingleQuotation(){this._singleQuotationState-=1}_openDoubleQuotation(){this._doubleQuotationState+=1}_closeDoubleQuotation(){this._doubleQuotationState-=1}_openLambda(){this._lambdaState=!0}_closeLambda(){this._lambdaState=!1}_openColon(e){this._upLevel=e,this._colonState=!0}_closeColon(){this._upLevel=0,this._colonState=!1}_isTableBracket(){return this._tableBracketState}_openTableBracket(){this._tableBracketState=!0}_closeTableBracket(){this._tableBracketState=!1}_getLastChildCurrentLexerNode(){const e=this._currentLexerNode.getChildren();if(e&&e.length>0){const t=e[e.length-1];if(t instanceof q)return t}return!1}_getLastChildCurrent(){const e=this._currentLexerNode.getChildren();return e&&e.length>0?e[e.length-1]:!1}_setParentCurrentLexerNode(){const e=this._currentLexerNode.getParent();return e?(this._currentLexerNode=e,!0):!1}_setAncestorCurrentLexerNode(){var n,i,a,o,u,c;const e=(n=this._currentLexerNode)==null?void 0:n.getParent();let t=!1;if(e&&e.getToken()===Lt){if((i=e==null?void 0:e.getParent())!=null&&i.getParent()){const l=(o=(a=this._currentLexerNode.getParent())==null?void 0:a.getParent())==null?void 0:o.getParent();l&&(this._currentLexerNode=l),t=!0}}else if(e!=null&&e.getParent()){const l=(u=this._currentLexerNode.getParent())==null?void 0:u.getParent();l&&(this._currentLexerNode=l),t=!0}for(let l=0;l<this._upLevel;l++){const f=(c=this._currentLexerNode)==null?void 0:c.getParent();f&&(this._currentLexerNode=f),this._currentLexerNode?t=!0:t=!1}return t}_segmentCount(){return this._segment.trim().length}_pushSegment(e){this._segment+=e}_pushNodeToChildren(e,t=!1){if(e!==""){const n=this._currentLexerNode.getChildren();if(!(e instanceof q)&&this.isColonOpen()){const i=new q;i.setToken(e),i.setParent(this._currentLexerNode),e=i}t?n.unshift(e):n.push(e)}this.isColonOpen()&&(this._setAncestorCurrentLexerNode(),this._closeColon())}_setCurrentLexerNode(e,t=!1){this._pushNodeToChildren(e,t),e.setParent(this._currentLexerNode),this._currentLexerNode=e}_newAndPushCurrentLexerNode(e,t,n=!1){const i=new q;i.setToken(e),i.setIndex(t-e.length,t-1),this._setCurrentLexerNode(i,n)}_getTopNode(e){let t=e;for(;t!=null&&t.getParent();)t=t.getParent();return t}_removeLastChild(){this._currentLexerNode.getChildren().splice(-1)}_findPreviousToken(e,t){for(;t>=0;){const n=e[t];if(n!==" ")return n;t--}}_negativeCondition(e){return!!(dt.has(e)||e===W.OPEN_BRACKET||e===W.COMMA||e==="")}_getSequenceArray(e){const t=[];return this._nodeMaker(e,t),t}_resetTemp(){this._currentLexerNode=new q,this._upLevel=0,this._segment="",this._bracketState=[],this._bracesState=0,this._singleQuotationState=0,this._doubleQuotationState=0,this._lambdaState=!1,this._colonState=!1}_checkSimilarErrorToken(e,t,n){if(e!==qe.POUND)return!0;let i=n[++t];for(;i===" ";)i=n[++t];return!!kt(i)}_nodeMaker(e,t,n){e.substring(0,1)===oe.EQUALS&&(e=e.substring(1));let i=!1;e.substring(0,1)===oe.MINUS&&(e=`0${e}`,i=!0);const a=e.split(""),o=a.length;let u=0;for(this._resetTemp();u<o;){const c=a[u];if(n===u)return[this._currentLexerNode,c];if(c===W.OPEN_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())if(this._segmentCount()>0||this.isLambdaOpen()){this.isLambdaClose()&&(this._newAndPushCurrentLexerNode(this._segment,u),this._resetSegment()),this._openBracket(1),this._closeLambda();const l=a[u+1];if(l&&l===W.CLOSE_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==o-1)return h.VALUE;this._addSequenceArray(t,c,u,i),u++,this._addSequenceArray(t,l,u,i),u++,this._closeBracket();continue}else l&&this._newAndPushCurrentLexerNode(Xe,u)}else this._pushNodeToChildren(c),this._openBracket(0);else if(c===W.CLOSE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){this._pushNodeToChildren(this._segment),this._resetSegment();const l=this._getCurrentBracket();if(l===0)this._pushNodeToChildren(c);else if(l===1){const f=a[u+1];if(f&&f===W.OPEN_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==o-1)return h.VALUE;this._newAndPushCurrentLexerNode(Lt,u,!0),this._openLambda()}else if(!this._setAncestorCurrentLexerNode()&&u!==o-1)return h.VALUE}else return h.VALUE;this._closeBracket()}else if(c===W.OPEN_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(c),this._openBraces();else if(c===W.CLOSE_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(c),this._pushNodeToChildren(this._segment),this._resetSegment(),this._closeBraces();else if(c===W.OPEN_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._segment.length>0&&this._openTableBracket(),this._pushSegment(c),this._openSquareBracket();else if(c===W.CLOSE_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._closeSquareBracket(),this.isSquareBracketClose()?(this._pushSegment(c),this._isTableBracket()&&(this._pushNodeToChildren(this._segment),this._resetSegment()),this._closeTableBracket()):this._pushSegment(c);else if(c===W.DOUBLE_QUOTATION&&this.isSingleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){if(this.isDoubleQuotationClose())this._openDoubleQuotation();else{const l=a[u+1];l&&l===W.DOUBLE_QUOTATION?u++:this._closeDoubleQuotation()}this._pushSegment(c)}else if(c===W.SINGLE_QUOTATION&&this.isDoubleQuotationClose()){if(this.isSingleQuotationClose())this._openSingleQuotation();else{const l=a[u+1];l&&l===W.SINGLE_QUOTATION?u++:this._closeSingleQuotation()}this._pushSegment(c)}else if(c===W.COMMA&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const l=this._getCurrentBracket();if(l===1||l==null){if(this._pushNodeToChildren(this._segment),this._resetSegment(),!this._setParentCurrentLexerNode()&&u!==o-1&&l!=null)return h.VALUE;this._newAndPushCurrentLexerNode(Xe,u)}else{const f=new q;f.setToken(Ki);const d=new q;d.setToken(Xe),d.changeToParent(f);const _=this._currentLexerNode.getParent();if(_&&_.getToken()===W.COLON){const C=_.getParent();if(!C)return h.VALUE;_.changeToParent(d),C.setChildren([]),f.changeToParent(C)}else return h.VALUE;this._changeCurrentBracket(1),this._pushNodeToChildren(this._segment),this._resetSegment(),this._currentLexerNode=f,this._newAndPushCurrentLexerNode(Xe,u)}}else if(c===W.COLON&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const l=new q;l.setToken(c);const f=new q;f.setToken(Xe),f.setParent(l);const d=new q;d.setToken(Xe),d.setParent(l),l.getChildren().push(f,d);let _=l,C=0;if(this._segmentCount()>0){let D,A,L=0;const w=this._segment.trim(),U=w[0],$=w[1];if(U===_e.MINUS&&(D=new q,D.setToken(_e.MINUS),L++),(U===_e.AT||$===_e.AT)&&(A=new q,A.setToken(_e.AT),D&&(D.addChildren(A),A.setParent(D)),L++),L>0&&(this._segment=w.slice(L)),C=L,A)if(A.addChildren(l),l.setParent(A),A.getParent()){const de=A.getParent();de&&(_=de)}else _=A;else D&&(_=D,D.addChildren(l),l.setParent(D));const ue=new q;ue.setToken(this._segment),ue.setParent(f),f.getChildren().push(ue),this._resetSegment()}else{const D=this._getLastChildCurrentLexerNode();D&&D.changeToParent(f)}this._setCurrentLexerNode(_),this._currentLexerNode=d,this._openColon(C)}else if(Qi.has(c)&&this._checkSimilarErrorToken(c,u,a)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()){this._pushNodeToChildren(this._segment);const l=new q;l.setToken(c);const f=this._getLastChildCurrent();f instanceof q?f.changeToParent(l):f!==!1&&(l.getChildren().push(f),this._removeLastChild()),this._pushNodeToChildren(l),l.setParent(this._currentLexerNode),this._resetSegment()}else if(dt.has(c)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()){let l=this._segment.trim();if(c===oe.MINUS&&l===""){const f=this._findPreviousToken(a,u-1)||"";if(this._negativeCondition(f)){this._pushSegment(oe.MINUS),this._addSequenceArray(t,c,u,i),u++;continue}}else if(this._segment.length>0&&this._isScientificNotation(a,u,c)){this._pushSegment(c),this._addSequenceArray(t,c,u,i),u++;continue}else this._segment.length>0&&l===""?l=this._segment:(this._pushNodeToChildren(this._segment),l="");if(c===oe.LESS_THAN||c===oe.GREATER_THAN){const f=a[u+1];f&&dt.has(c+f)?(this._pushNodeToChildren(l+c+f),u++):this._pushNodeToChildren(l+c)}else this._pushNodeToChildren(l+c);this._resetSegment()}else this._pushSegment(c);this._addSequenceArray(t,c,u,i),u++}this._pushNodeToChildren(this._segment)}_isScientificNotation(e,t,n){const i=e[t-2];if(i&&Number.isNaN(Number(i))||!(n===oe.MINUS||n===oe.PLUS))return!1;const a=e[t+1];if(a&&Number.isNaN(Number(a)))return!1;const o=e[t-1];return o&&o.toUpperCase()==="E"}_addSequenceArray(e,t,n,i){i&&n===0||e==null||e.push({segment:this._segment,currentString:t,cur:n,currentLexerNode:this._currentLexerNode})}}class Br extends y.Disposable{constructor(){super(...arguments);g(this,"pattern","")}getPattern(){return this.pattern}setPattern(e){this.pattern=e}isError(){return!1}isAsyncObject(){return!1}isAsyncArrayObject(){return!1}isReferenceObject(){return!1}isArray(){return!1}isValueObject(){return!1}isEqualType(e){return!1}}var ut=(r=>(r.FALSE="FALSE",r.TRUE="TRUE",r))(ut||{}),pt=(r=>(r[r.SUCCESS=0]="SUCCESS",r[r.ERROR=1]="ERROR",r))(pt||{}),gt=(r=>(r.ALL="#All",r.DATA="#Data",r.HEADERS="#Headers",r.TOTALS="#Totals",r))(gt||{}),Te=(r=>(r[r.FRONT=0]="FRONT",r[r.BACK=1]="BACK",r))(Te||{});class aa{constructor(){g(this,"_cache",new Map);g(this,"_continueBuildingCache",new Map)}set(s,e,t,n,i){if(!this.shouldContinueBuildingCache(s,e,t,i))return;let a=this._cache.get(s);a==null&&(a=new Map,this._cache.set(s,a));let o=a.get(e);o==null&&(o=new Map,a.set(e,o));let u=o.get(t);u==null&&(u=new Map,o.set(t,u));let c=u.get(n);c==null&&(c=new Set,u.set(n,c)),c.add(i)}getCellValuePositions(s,e,t){var n,i;return(i=(n=this._cache.get(s))==null?void 0:n.get(e))==null?void 0:i.get(t)}getCellPositions(s,e,t,n){var i,a,o;return(o=(a=(i=this._cache.get(s))==null?void 0:i.get(e))==null?void 0:a.get(t))==null?void 0:o.get(n)}getCellPosition(s,e,t,n,i,a){const o=this.getCellPositions(s,e,t,n);if(o!=null){for(const u of o)if(u>=i&&u<=a)return u}}setContinueBuildingCache(s,e,t,n,i){let a=this._continueBuildingCache.get(s);a==null&&(a=new Map,this._continueBuildingCache.set(s,a));let o=a.get(e);o==null&&(o=new Map,a.set(e,o));let u=o.get(t);if(u==null){u={startRow:n,endRow:i},o.set(t,u);return}u.startRow=Math.min(u.startRow,n),u.endRow=Math.max(u.endRow,i)}shouldContinueBuildingCache(s,e,t,n){var u,c;const i=(c=(u=this._continueBuildingCache.get(s))==null?void 0:u.get(e))==null?void 0:c.get(t);if(i==null)return!0;const{startRow:a,endRow:o}=i;return!(n>=a&&n<=o)}canUseCache(s,e,t,n,i){var c,l;if(t===-1||n===-1||i===-1)return!1;const a=(l=(c=this._continueBuildingCache.get(s))==null?void 0:c.get(e))==null?void 0:l.get(t);if(a==null)return!1;const{startRow:o,endRow:u}=a;return!(n>u||i<o)}clear(){this._cache.clear(),this._continueBuildingCache.clear()}}const rt=new aa;var Ke=(r=>(r[r.MIN=0]="MIN",r[r.MAX=1]="MAX",r))(Ke||{}),Le=(r=>(r[r.NORMAL=0]="NORMAL",r[r.MIN=1]="MIN",r[r.MAX=2]="MAX",r))(Le||{});function In(){return Intl&&Intl.Collator?new Intl.Collator(void 0,{numeric:!1}).compare:(r,s)=>r.localeCompare(s)}function oa(r){return r.indexOf("*")>-1||r.indexOf("?")>-1}function Yn(r,s){const e=ca(s).replace(/~?[*?]/g,n=>n.startsWith("~")?`\\${n.substring(1)}`:n==="*"?".*":n==="?"?".":n);return new RegExp(`^${e}$`).test(r)}function Qn(r){return r.replace(/~?[*?]/g,s=>s.startsWith("~")?s.substring(1):" ")}function ua(r,s,e){let t=!1;switch(e){case M.EQUALS:t=Yn(r,s);break;case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:t=Yn(r,s)||r>Qn(s);break;case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:t=r<Qn(s);break}return t}function ca(r){return r.replace(/[.+^${}()|[\]\\]/g,"\\$&")}class Je extends Br{constructor(s){super(),this._rawValue=s}isValueObject(){return!0}toUnitRange(){return{range:{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1},sheetId:"",unitId:""}}getValue(){return 0}getArrayValue(){return[]}setValue(s){}setArrayValue(s){}isCube(){return!1}isString(){return!1}isNumber(){return!1}isBoolean(){return!1}isLambda(){return!1}isError(){return!1}isNull(){return!1}sum(){return m.create(h.VALUE)}max(){return m.create(h.VALUE)}min(){return m.create(h.VALUE)}count(){return m.create(h.VALUE)}countA(){return m.create(h.VALUE)}countBlank(){return m.create(h.VALUE)}getNegative(){return m.create(h.VALUE)}getReciprocal(){return m.create(h.VALUE)}plus(s){return m.create(h.VALUE)}minus(s){return m.create(h.VALUE)}multiply(s){return m.create(h.VALUE)}divided(s){return m.create(h.VALUE)}mod(s){return m.create(h.VALUE)}map(s){return m.create(h.NAME)}mapValue(s){return m.create(h.NAME)}compare(s,e){return m.create(h.NAME)}isEqual(s){return this.compare(s,M.EQUALS)}isNotEqual(s){return this.compare(s,M.NOT_EQUAL)}isGreaterThanOrEqual(s){return this.compare(s,M.GREATER_THAN_OR_EQUAL)}isLessThanOrEqual(s){return this.compare(s,M.LESS_THAN_OR_EQUAL)}isLessThan(s){return this.compare(s,M.LESS_THAN)}isGreaterThan(s){return this.compare(s,M.GREATER_THAN)}concatenateFront(s){return m.create(h.NAME)}concatenateBack(s){return m.create(h.NAME)}plusBy(s){return m.create(h.VALUE)}minusBy(s){return m.create(h.VALUE)}multiplyBy(s){return m.create(h.VALUE)}dividedBy(s){return m.create(h.VALUE)}modInverse(s){return m.create(h.VALUE)}compareBy(s,e){return m.create(h.NAME)}concatenate(s,e=Te.FRONT){let t=this.getValue().toString();if(typeof s=="string")e===Te.FRONT?t=s+t:t+=s;else if(typeof s=="number")e===Te.FRONT?t=s.toString()+t:t+=s.toString();else if(typeof s=="boolean"){const n=s?"TRUE":"FALSE";e===Te.FRONT?t=n+t:t+=n}return t}pow(s){return m.create(h.VALUE)}powInverse(s){return m.create(h.VALUE)}sqrt(){return m.create(h.VALUE)}cbrt(){return m.create(h.VALUE)}cos(){return m.create(h.VALUE)}acos(){return m.create(h.VALUE)}acosh(){return m.create(h.VALUE)}sin(){return m.create(h.VALUE)}asin(){return m.create(h.VALUE)}asinh(){return m.create(h.VALUE)}tan(){return m.create(h.VALUE)}tanh(){return m.create(h.VALUE)}atan(){return m.create(h.VALUE)}atan2(s){return m.create(h.VALUE)}atan2Inverse(s){return m.create(h.VALUE)}atanh(){return m.create(h.VALUE)}mean(){return this}median(){return this}var(){return this}std(){return this}log(){return m.create(h.VALUE)}log10(){return m.create(h.VALUE)}exp(){return m.create(h.VALUE)}abs(){return m.create(h.VALUE)}round(s){return m.create(h.VALUE)}roundInverse(s){return m.create(h.VALUE)}floor(s){return m.create(h.VALUE)}floorInverse(s){return m.create(h.VALUE)}ceil(s){return m.create(h.VALUE)}ceilInverse(s){return m.create(h.VALUE)}convertToNumberObjectValue(){return m.create(h.VALUE)}convertToBooleanObjectValue(){return m.create(h.VALUE)}}const la=1e3,zn=new Et(la);class m extends Je{constructor(s,e=""){super(s),this._errorType=s,this._errorContent=e}static create(s,e=""){const t=`${s}-${e}`,n=zn.get(t);if(n)return n;const i=new m(s,e);return zn.set(t,i),i}getValue(){return this._errorType}getErrorType(){return this._errorType}getErrorContent(){return this._errorContent}isEqualType(s){return s.getErrorType()===this.getErrorType()}isError(){return!0}}var fa=20,ha=1,_t=1e6,Hn=1e6,ma=-7,da=21,ga=!1,Xt="[big.js] ",yt=Xt+"Invalid ",Tr=yt+"decimal places",pa=yt+"rounding mode",vs=Xt+"Division by zero",he={},Ie=void 0,Ra=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function Os(){function r(s){var e=this;if(!(e instanceof r))return s===Ie?Os():new r(s);if(s instanceof r)e.s=s.s,e.e=s.e,e.c=s.c.slice();else{if(typeof s!="string"){if(r.strict===!0&&typeof s!="bigint")throw TypeError(yt+"value");s=s===0&&1/s<0?"-0":String(s)}_a(e,s)}e.constructor=r}return r.prototype=he,r.DP=fa,r.RM=ha,r.NE=ma,r.PE=da,r.strict=ga,r.roundDown=0,r.roundHalfUp=1,r.roundHalfEven=2,r.roundUp=3,r}function _a(r,s){var e,t,n;if(!Ra.test(s))throw Error(yt+"number");for(r.s=s.charAt(0)=="-"?(s=s.slice(1),-1):1,(e=s.indexOf("."))>-1&&(s=s.replace(".","")),(t=s.search(/e/i))>0?(e<0&&(e=t),e+=+s.slice(t+1),s=s.substring(0,t)):e<0&&(e=s.length),n=s.length,t=0;t<n&&s.charAt(t)=="0";)++t;if(t==n)r.c=[r.e=0];else{for(;n>0&&s.charAt(--n)=="0";);for(r.e=e-t-1,r.c=[],e=0;t<=n;)r.c[e++]=+s.charAt(t++)}return r}function Ct(r,s,e,t){var n=r.c;if(e===Ie&&(e=r.constructor.RM),e!==0&&e!==1&&e!==2&&e!==3)throw Error(pa);if(s<1)t=e===3&&(t||!!n[0])||s===0&&(e===1&&n[0]>=5||e===2&&(n[0]>5||n[0]===5&&(t||n[1]!==Ie))),n.length=1,t?(r.e=r.e-s+1,n[0]=1):n[0]=r.e=0;else if(s<n.length){if(t=e===1&&n[s]>=5||e===2&&(n[s]>5||n[s]===5&&(t||n[s+1]!==Ie||n[s-1]&1))||e===3&&(t||!!n[0]),n.length=s,t){for(;++n[--s]>9;)if(n[s]=0,s===0){++r.e,n.unshift(1);break}}for(s=n.length;!n[--s];)n.pop()}return r}function Ot(r,s,e){var t=r.e,n=r.c.join(""),i=n.length;if(s)n=n.charAt(0)+(i>1?"."+n.slice(1):"")+(t<0?"e":"e+")+t;else if(t<0){for(;++t;)n="0"+n;n="0."+n}else if(t>0)if(++t>i)for(t-=i;t--;)n+="0";else t<i&&(n=n.slice(0,t)+"."+n.slice(t));else i>1&&(n=n.charAt(0)+"."+n.slice(1));return r.s<0&&e?"-"+n:n}he.abs=function(){var r=new this.constructor(this);return r.s=1,r};he.cmp=function(r){var s,e=this,t=e.c,n=(r=new e.constructor(r)).c,i=e.s,a=r.s,o=e.e,u=r.e;if(!t[0]||!n[0])return t[0]?i:n[0]?-a:0;if(i!=a)return i;if(s=i<0,o!=u)return o>u^s?1:-1;for(a=(o=t.length)<(u=n.length)?o:u,i=-1;++i<a;)if(t[i]!=n[i])return t[i]>n[i]^s?1:-1;return o==u?0:o>u^s?1:-1};he.div=function(r){var s=this,e=s.constructor,t=s.c,n=(r=new e(r)).c,i=s.s==r.s?1:-1,a=e.DP;if(a!==~~a||a<0||a>_t)throw Error(Tr);if(!n[0])throw Error(vs);if(!t[0])return r.s=i,r.c=[r.e=0],r;var o,u,c,l,f,d=n.slice(),_=o=n.length,C=t.length,D=t.slice(0,o),A=D.length,L=r,w=L.c=[],U=0,$=a+(L.e=s.e-r.e)+1;for(L.s=i,i=$<0?0:$,d.unshift(0);A++<o;)D.push(0);do{for(c=0;c<10;c++){if(o!=(A=D.length))l=o>A?1:-1;else for(f=-1,l=0;++f<o;)if(n[f]!=D[f]){l=n[f]>D[f]?1:-1;break}if(l<0){for(u=A==o?n:d;A;){if(D[--A]<u[A]){for(f=A;f&&!D[--f];)D[f]=9;--D[f],D[A]+=10}D[A]-=u[A]}for(;!D[0];)D.shift()}else break}w[U++]=l?c:++c,D[0]&&l?D[A]=t[_]||0:D=[t[_]]}while((_++<C||D[0]!==Ie)&&i--);return!w[0]&&U!=1&&(w.shift(),L.e--,$--),U>$&&Ct(L,$,e.RM,D[0]!==Ie),L};he.eq=function(r){return this.cmp(r)===0};he.gt=function(r){return this.cmp(r)>0};he.gte=function(r){return this.cmp(r)>-1};he.lt=function(r){return this.cmp(r)<0};he.lte=function(r){return this.cmp(r)<1};he.minus=he.sub=function(r){var s,e,t,n,i=this,a=i.constructor,o=i.s,u=(r=new a(r)).s;if(o!=u)return r.s=-u,i.plus(r);var c=i.c.slice(),l=i.e,f=r.c,d=r.e;if(!c[0]||!f[0])return f[0]?r.s=-u:c[0]?r=new a(i):r.s=1,r;if(o=l-d){for((n=o<0)?(o=-o,t=c):(d=l,t=f),t.reverse(),u=o;u--;)t.push(0);t.reverse()}else for(e=((n=c.length<f.length)?c:f).length,o=u=0;u<e;u++)if(c[u]!=f[u]){n=c[u]<f[u];break}if(n&&(t=c,c=f,f=t,r.s=-r.s),(u=(e=f.length)-(s=c.length))>0)for(;u--;)c[s++]=0;for(u=s;e>o;){if(c[--e]<f[e]){for(s=e;s&&!c[--s];)c[s]=9;--c[s],c[e]+=10}c[e]-=f[e]}for(;c[--u]===0;)c.pop();for(;c[0]===0;)c.shift(),--d;return c[0]||(r.s=1,c=[d=0]),r.c=c,r.e=d,r};he.mod=function(r){var s,e=this,t=e.constructor,n=e.s,i=(r=new t(r)).s;if(!r.c[0])throw Error(vs);return e.s=r.s=1,s=r.cmp(e)==1,e.s=n,r.s=i,s?new t(e):(n=t.DP,i=t.RM,t.DP=t.RM=0,e=e.div(r),t.DP=n,t.RM=i,this.minus(e.times(r)))};he.neg=function(){var r=new this.constructor(this);return r.s=-r.s,r};he.plus=he.add=function(r){var s,e,t,n=this,i=n.constructor;if(r=new i(r),n.s!=r.s)return r.s=-r.s,n.minus(r);var a=n.e,o=n.c,u=r.e,c=r.c;if(!o[0]||!c[0])return c[0]||(o[0]?r=new i(n):r.s=n.s),r;if(o=o.slice(),s=a-u){for(s>0?(u=a,t=c):(s=-s,t=o),t.reverse();s--;)t.push(0);t.reverse()}for(o.length-c.length<0&&(t=c,c=o,o=t),s=c.length,e=0;s;o[s]%=10)e=(o[--s]=o[s]+c[s]+e)/10|0;for(e&&(o.unshift(e),++u),s=o.length;o[--s]===0;)o.pop();return r.c=o,r.e=u,r};he.pow=function(r){var s=this,e=new s.constructor("1"),t=e,n=r<0;if(r!==~~r||r<-Hn||r>Hn)throw Error(yt+"exponent");for(n&&(r=-r);r&1&&(t=t.times(s)),r>>=1,!!r;)s=s.times(s);return n?e.div(t):t};he.prec=function(r,s){if(r!==~~r||r<1||r>_t)throw Error(yt+"precision");return Ct(new this.constructor(this),r,s)};he.round=function(r,s){if(r===Ie)r=0;else if(r!==~~r||r<-_t||r>_t)throw Error(Tr);return Ct(new this.constructor(this),r+this.e+1,s)};he.sqrt=function(){var r,s,e,t=this,n=t.constructor,i=t.s,a=t.e,o=new n("0.5");if(!t.c[0])return new n(t);if(i<0)throw Error(Xt+"No square root");i=Math.sqrt(t+""),i===0||i===1/0?(s=t.c.join(""),s.length+a&1||(s+="0"),i=Math.sqrt(s),a=((a+1)/2|0)-(a<0||a&1),r=new n((i==1/0?"5e":(i=i.toExponential()).slice(0,i.indexOf("e")+1))+a)):r=new n(i+""),a=r.e+(n.DP+=4);do e=r,r=o.times(e.plus(t.div(e)));while(e.c.slice(0,a).join("")!==r.c.slice(0,a).join(""));return Ct(r,(n.DP-=4)+r.e+1,n.RM)};he.times=he.mul=function(r){var s,e=this,t=e.constructor,n=e.c,i=(r=new t(r)).c,a=n.length,o=i.length,u=e.e,c=r.e;if(r.s=e.s==r.s?1:-1,!n[0]||!i[0])return r.c=[r.e=0],r;for(r.e=u+c,a<o&&(s=n,n=i,i=s,c=a,a=o,o=c),s=new Array(c=a+o);c--;)s[c]=0;for(u=o;u--;){for(o=0,c=a+u;c>u;)o=s[c]+i[u]*n[c-u-1]+o,s[c--]=o%10,o=o/10|0;s[c]=o}for(o?++r.e:s.shift(),u=s.length;!s[--u];)s.pop();return r.c=s,r};he.toExponential=function(r,s){var e=this,t=e.c[0];if(r!==Ie){if(r!==~~r||r<0||r>_t)throw Error(Tr);for(e=Ct(new e.constructor(e),++r,s);e.c.length<r;)e.c.push(0)}return Ot(e,!0,!!t)};he.toFixed=function(r,s){var e=this,t=e.c[0];if(r!==Ie){if(r!==~~r||r<0||r>_t)throw Error(Tr);for(e=Ct(new e.constructor(e),r+e.e+1,s),r=r+e.e+1;e.c.length<r;)e.c.push(0)}return Ot(e,!1,!!t)};he[Symbol.for("nodejs.util.inspect.custom")]=he.toJSON=he.toString=function(){var r=this,s=r.constructor;return Ot(r,r.e<=s.NE||r.e>=s.PE,!!r.c[0])};he.toNumber=function(){var r=Number(Ot(this,!0,!0));if(this.constructor.strict===!0&&!this.eq(r.toString()))throw Error(Xt+"Imprecise conversion");return r};he.toPrecision=function(r,s){var e=this,t=e.constructor,n=e.c[0];if(r!==Ie){if(r!==~~r||r<1||r>_t)throw Error(yt+"precision");for(e=Ct(new t(e),r,s);e.c.length<r;)e.c.push(0)}return Ot(e,r<=e.e||e.e<=t.NE||e.e>=t.PE,!!n)};he.valueOf=function(){var r=this,s=r.constructor;if(s.strict===!0)throw Error(Xt+"valueOf disallowed");return Ot(r,r.e<=s.NE||r.e>=s.PE,!0)};var ye=Os();function Fs(r){let s;switch(r){case M.EQUALS:s=M.EQUALS;break;case M.GREATER_THAN:s=M.LESS_THAN;break;case M.GREATER_THAN_OR_EQUAL:s=M.LESS_THAN_OR_EQUAL;break;case M.LESS_THAN:s=M.GREATER_THAN;break;case M.LESS_THAN_OR_EQUAL:s=M.GREATER_THAN_OR_EQUAL;break;case M.NOT_EQUAL:s=M.NOT_EQUAL;break}return s}function dn(r,s){return ye(r).times(s).toNumber()}function Wn(r,s){const e=10**Math.floor(s);return Math.round(dn(r,e))/e}function Gn(r,s){const e=10**Math.floor(s);return Math.floor(dn(r,e))/e}function Xn(r,s){const e=10**Math.floor(s);return Math.ceil(dn(r,e))/e}function Kn(r,s){const e=new ye(r),t=new ye(s),n=Math.floor(r/s);return e.minus(t.times(n)).toNumber()}function qn(r,s){return r**s}var Ea=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ya(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var Us={exports:{}};(function(r,s){(function(e,t){r.exports=t()})(typeof self<"u"?self:Ea,function(){return function(){var e={d:function(R,p){for(var E in p)e.o(p,E)&&!e.o(R,E)&&Object.defineProperty(R,E,{enumerable:!0,get:p[E]})},o:function(R,p){return Object.prototype.hasOwnProperty.call(R,p)}},t={};e.d(t,{default:function(){return ji}});var n={1078:"af",1052:"sq",1118:"am",5121:"ar_DZ",15361:"ar_BH",3073:"ar_EG",2049:"ar_IQ",11265:"ar_JO",13313:"ar_KW",12289:"ar_LB",4097:"ar_LY",6145:"ar_MA",8193:"ar_OM",16385:"ar_QA",1025:"ar_SA",10241:"ar_SY",7169:"ar_TN",14337:"ar_AE",9217:"ar_YE",1067:"hy",1101:"as",2092:"az_AZ",1068:"az_AZ",1069:"eu",1059:"be",2117:"bn",1093:"bn_IN",5146:"bs",1026:"bg",1109:"my",1027:"ca",2052:"zh_CN",3076:"zh_HK",5124:"zh_MO",4100:"zh_SG",1028:"zh_TW",1050:"hr",1029:"cs",1030:"da",1125:"dv",2067:"nl_BE",1043:"nl_NL",1126:"bin",3081:"en_AU",10249:"en_BZ",4105:"en_CA",9225:"en_CB",2057:"en_GB",16393:"en_IN",6153:"en_IE",8201:"en_JM",5129:"en_NZ",13321:"en_PH",7177:"en_ZA",11273:"en_TT",1033:"en_US",12297:"en_ZW",1061:"et",1071:"mk",1080:"fo",1065:"fa",1124:"fil",1035:"fi",2060:"fr_BE",11276:"fr_CM",3084:"fr_CA",9228:"fr_CG",12300:"fr_CI",1036:"fr_FR",5132:"fr_LU",13324:"fr_ML",6156:"fr_MC",14348:"fr_MA",10252:"fr_SN",4108:"fr_CH",7180:"fr",1122:"fy_NL",2108:"gd_IE",1084:"gd",1110:"gl",1079:"ka",3079:"de_AT",1031:"de_DE",5127:"de_LI",4103:"de_LU",2055:"de_CH",1032:"el",1140:"gn",1095:"gu",1279:"en",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig_NG",1057:"id",1040:"it_IT",2064:"it_CH",1041:"ja",1099:"kn",1120:"ks",1087:"kk",1107:"km",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1142:"la",1062:"lv",1063:"lt",2110:"ms_BN",1086:"ms_MY",1100:"ml",1082:"mt",1112:"mni",1153:"mi",1102:"mr",1104:"mn",2128:"mn",1121:"ne",1044:"no_NO",2068:"no_NO",1096:"or",1045:"pl",1046:"pt_BR",2070:"pt_PT",1094:"pa",1047:"rm",2072:"ro_MO",1048:"ro_RO",1049:"ru",2073:"ru_MO",1083:"se",1103:"sa",3098:"sr_SP",2074:"sr_SP",1072:"st",1074:"tn",1113:"sd",1115:"si",1051:"sk",1060:"sl",1143:"so",1070:"sb",11274:"es_AR",16394:"es_BO",13322:"es_CL",9226:"es_CO",5130:"es_CR",7178:"es_DO",12298:"es_EC",17418:"es_SV",4106:"es_GT",18442:"es_HN",2058:"es_MX",19466:"es_NI",6154:"es_PA",15370:"es_PY",10250:"es_PE",20490:"es_PR",1034:"es_ES",14346:"es_UY",8202:"es_VE",1089:"sw",2077:"sv_FI",1053:"sv_SE",1114:"syc",1064:"tg",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1073:"ts",1055:"tr",1090:"tk",1058:"uk",1056:"ur",2115:"uz_UZ",1091:"uz_UZ",1075:"ve",1066:"vi",1106:"cy",1076:"xh",1085:"yi",1077:"zu"};const i=/^([a-z\d]+)(?:[_-]([a-z\d]+))?(?:\.([a-z\d]+))?(?:@([a-z\d]+))?$/i,a={},o={group:" ",decimal:".",positive:"+",negative:"-",percent:"%",exponent:"E",nan:"NaN",infinity:"∞",ampm:["AM","PM"],mmmm6:["Muharram","Safar","Rabiʻ I","Rabiʻ II","Jumada I","Jumada II","Rajab","Shaʻban","Ramadan","Shawwal","Dhuʻl-Qiʻdah","Dhuʻl-Hijjah"],mmm6:["Muh.","Saf.","Rab. I","Rab. II","Jum. I","Jum. II","Raj.","Sha.","Ram.","Shaw.","Dhuʻl-Q.","Dhuʻl-H."],mmmm:["January","February","March","April","May","June","July","August","September","October","November","December"],mmm:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dddd:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ddd:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]};function u(R){const p=i.exec(R);if(!p)throw new SyntaxError("Malformed locale: ".concat(R));return{lang:p[1]+(p[2]?"_"+p[2]:""),language:p[1],territory:p[2]||"",codeset:p[3]||"",modifier:p[4]||""}}function c(R){if(typeof R=="number")return n[65535&R]||null;const p=parseInt(R,16);return isFinite(p)&&n[65535&p]?n[65535&p]||null:i.test(R)?R:null}function l(R){const p=c(R);let E=null;if(p){const P=u(p);E=a[P.lang]||a[P.language]||null}return E}function f(R){return Object.assign({},o,R)}function d(R,p){const E=typeof p=="object"?p:u(p);return a[E.lang]=f(R),E.language===E.lang||a[E.language]||(a[E.language]=f(R)),a[E.lang]}const _=f({group:","});function C(R,p){if(typeof R!="number")return R;if(R<0)return-C(-R,p);if(p){const E=10**(p||0)||1;return C(R*E,0)/E}return Math.round(R)}_.isDefault=!0,d({group:",",ampm:["上午","下午"],mmmm:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],ddd:["周日","周一","周二","周三","周四","周五","周六"]},"zh_CN"),d({group:",",nan:"非數值",ampm:["上午","下午"],mmmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],ddd:["週日","週一","週二","週三","週四","週五","週六"]},"zh_TW"),d({group:",",ampm:["午前","午後"],mmmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],ddd:["日","月","火","水","木","金","土"]},"ja"),d({group:",",ampm:["오전","오후"],mmmm:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],mmm:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dddd:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],ddd:["일","월","화","수","목","금","토"]},"ko"),d({group:",",ampm:["ก่อนเที่ยง","หลังเที่ยง"],mmmm:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],mmm:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],dddd:["วันอาทิตย์","วันจันทร์","วันอังคาร","วันพุธ","วันพฤหัสบดี","วันศุกร์","วันเสาร์"],ddd:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."]},"th"),d({decimal:",",ampm:["dop.","odp."],mmmm:["ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince"],mmm:["led","úno","bře","dub","kvě","čvn","čvc","srp","zář","říj","lis","pro"],dddd:["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],ddd:["ne","po","út","st","čt","pá","so"]},"cs"),d({group:".",decimal:",",mmmm:["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"],mmm:["jan.","feb.","mar.","apr.","maj","jun.","jul.","aug.","sep.","okt.","nov.","dec."],dddd:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],ddd:["søn.","man.","tir.","ons.","tor.","fre.","lør."]},"da"),d({group:".",decimal:",",ampm:["a.m.","p.m."],mmmm:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],mmm:["jan.","feb.","mrt.","apr.","mei","jun.","jul.","aug.","sep.","okt.","nov.","dec."],dddd:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],ddd:["zo","ma","di","wo","do","vr","za"]},"nl"),d({group:","},"en"),d({decimal:",",nan:"epäluku",ampm:["ap.","ip."],mmmm:["tammikuuta","helmikuuta","maaliskuuta","huhtikuuta","toukokuuta","kesäkuuta","heinäkuuta","elokuuta","syyskuuta","lokakuuta","marraskuuta","joulukuuta"],mmm:["tammik.","helmik.","maalisk.","huhtik.","toukok.","kesäk.","heinäk.","elok.","syysk.","lokak.","marrask.","jouluk."],dddd:["sunnuntaina","maanantaina","tiistaina","keskiviikkona","torstaina","perjantaina","lauantaina"],ddd:["su","ma","ti","ke","to","pe","la"]},"fi"),d({group:" ",decimal:",",mmmm:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],mmm:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dddd:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],ddd:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."]},"fr"),d({group:".",decimal:",",mmmm:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],mmm:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sept.","Okt.","Nov.","Dez."],dddd:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],ddd:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."]},"de"),d({group:".",decimal:",",ampm:["π.μ.","μ.μ."],mmmm:["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου"],mmm:["Ιαν","Φεβ","Μαρ","Απρ","Μαΐ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],dddd:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],ddd:["Κυρ","Δευ","Τρί","Τετ","Πέμ","Παρ","Σάβ"]},"el"),d({decimal:",",ampm:["de.","du."],mmmm:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],mmm:["jan.","febr.","márc.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec."],dddd:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],ddd:["V","H","K","Sze","Cs","P","Szo"]},"hu"),d({group:".",decimal:",",ampm:["f.h.","e.h."],mmmm:["janúar","febrúar","mars","apríl","maí","júní","júlí","ágúst","september","október","nóvember","desember"],mmm:["jan.","feb.","mar.","apr.","maí","jún.","júl.","ágú.","sep.","okt.","nóv.","des."],dddd:["sunnudagur","mánudagur","þriðjudagur","miðvikudagur","fimmtudagur","föstudagur","laugardagur"],ddd:["sun.","mán.","þri.","mið.","fim.","fös.","lau."]},"is"),d({group:".",decimal:",",mmmm:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],mmm:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agu","Sep","Okt","Nov","Des"],dddd:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],ddd:["Min","Sen","Sel","Rab","Kam","Jum","Sab"]},"id"),d({group:".",decimal:",",mmmm:["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"],mmm:["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],dddd:["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"],ddd:["dom","lun","mar","mer","gio","ven","sab"]},"it"),d({decimal:",",ampm:["a.m.","p.m."],mmmm:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],mmm:["jan.","feb.","mar.","apr.","mai","jun.","jul.","aug.","sep.","okt.","nov.","des."],dddd:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],ddd:["søn.","man.","tir.","ons.","tor.","fre.","lør."]},"nb"),d({decimal:",",mmmm:["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października","listopada","grudnia"],mmm:["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru"],dddd:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"],ddd:["niedz.","pon.","wt.","śr.","czw.","pt.","sob."]},"pl"),d({group:".",decimal:",",mmmm:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"],mmm:["jan.","fev.","mar.","abr.","mai.","jun.","jul.","ago.","set.","out.","nov.","dez."],dddd:["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"],ddd:["dom.","seg.","ter.","qua.","qui.","sex.","sáb."]},"pt"),d({decimal:",",nan:"не число",mmmm:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],mmm:["янв.","февр.","мар.","апр.","мая","июн.","июл.","авг.","сент.","окт.","нояб.","дек."],dddd:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],ddd:["вс","пн","вт","ср","чт","пт","сб"]},"ru"),d({decimal:",",mmmm:["januára","februára","marca","apríla","mája","júna","júla","augusta","septembra","októbra","novembra","decembra"],mmm:["jan","feb","mar","apr","máj","jún","júl","aug","sep","okt","nov","dec"],dddd:["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"],ddd:["ne","po","ut","st","št","pi","so"]},"sk"),d({group:".",decimal:",",ampm:["a. m.","p. m."],mmmm:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],mmm:["ene.","feb.","mar.","abr.","may.","jun.","jul.","ago.","sept.","oct.","nov.","dic."],dddd:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],ddd:["dom.","lun.","mar.","mié.","jue.","vie.","sáb."]},"es"),d({decimal:",",ampm:["fm","em"],mmmm:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],mmm:["jan.","feb.","mars","apr.","maj","juni","juli","aug.","sep.","okt.","nov.","dec."],dddd:["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],ddd:["sön","mån","tis","ons","tors","fre","lör"]},"sv"),d({group:".",decimal:",",ampm:["ÖÖ","ÖS"],mmmm:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],mmm:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],dddd:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],ddd:["Paz","Pzt","Sal","Çar","Per","Cum","Cmt"]},"tr");function D(R,p,E){const P=R<0?-1:1,V=10**(p||2),B=10**(E||2);let v,x,b=Math.abs(R),j=0,z=0,O=0,H=1;if((R=b)%1==0)x=[R*P,1];else if(R<1e-19)x=[P,1e19];else if(R>1e19)x=[1e19*P,1];else{do if(b=1/(b-Math.floor(b)),v=H,H=H*Math.floor(b)+j,j=v,z=O,O=Math.floor(R*H+.5),O>=V||H>=B)return[P*z,j];while(Math.abs(R-O/H)>=1e-10&&b!==Math.floor(b));x=[P*O,H]}return x}const A={overflow:"######",dateErrorThrows:!1,dateErrorNumber:!0,dateSpanLarge:!0,leap1900:!0,nbsp:!0,throws:!0,invalid:"######",locale:"",ignoreTimezone:!1},L=Object.assign({},A);function w(R){if(R===null&&(R=A),R){for(const p in R)if(p in A){const E=R[p];L[p]=E==null?A[p]:E}}return{...L}}const U={"#":"",0:"0","?":" "},$={"@":"text","-":"minus","+":"plus"},ue=["#000","#FFF","#F00","#0F0","#00F","#FF0","#F0F","#0FF","#000","#FFF","#F00","#0F0","#00F","#FF0","#F0F","#0FF","#800","#080","#008","#880","#808","#088","#CCC","#888","#99F","#936","#FFC","#CFF","#606","#F88","#06C","#CCF","#008","#F0F","#FF0","#0FF","#808","#800","#088","#00F","#0CF","#CFF","#CFC","#FF9","#9CF","#F9C","#C9F","#FC9","#36F","#3CC","#9C0","#FC0"],de=["¤","$","£","¥","֏","؋","৳","฿","៛","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"],ge=new RegExp("["+de.join("")+"]");function ne(R,p,E){return p[E+"_max"]=R.length,p[E+"_min"]=R.replace(/#/g,"").length,p}const N={};function te(R){if(!(R in N)){const p=[],E=R.replace(/^[#,]+/,"").replace(/[1-9]\d*/g,P=>"?".repeat(P.length));for(let P=0;P<E.length;P++){const V=E.charAt(P);p[P]=V in U?U[V]:V}N[R]=p.join("")}return N[R]}function K(R,p){typeof R=="string"&&(R={type:"string",value:R=R.replace(/ /g,U["?"])}),p.push(R)}function Fe(R){const p=[],E={scale:1,percent:!1,text:!1,date:0,date_eval:!1,date_system:1,sec_decimals:0,general:!1,clock:24,int_pattern:[],frac_pattern:[],man_pattern:[],den_pattern:[],num_pattern:[],tokens:p};let P=R+"",V="int",B=!1,v=null;const x=[];let b,j,z=!1;for(;P&&!B;){if(b=/^General/i.exec(P))E.general=!0,K({type:"general"},p);else if(V==="int"&&(b=/^[#?0]+(?:,[#?0]+)*/.exec(P))||V==="den"&&(b=/^[#?\d]+/.exec(P))||(b=/^[#?0]+/.exec(P)))E[V+"_pattern"].push(b[0]),v={type:V,num:b[0]},K(v,p);else if((b=/^\//.exec(P))&&E[V+"_pattern"].length){if(!v)throw new SyntaxError("Missing a numerator in pattern ".concat(R));E.fractions=!0,E.num_pattern.push(E[V+"_pattern"].pop()),v.type="num",V="den",K({type:"div"},p)}else if(b=/^,+/.exec(P)){const F=P.charAt(1)in U;j.slice(-1)in U&&(b[0].length>1||!F)?E.scale=.001**b[0].length:E.dec_fractions||K(b[0],p)}else{if(b=/^;/.exec(P)){B=!0;break}if(b=/^[@+-]/.exec(P))b[0]==="@"&&(E.text=!0),K({type:$[b[0]]},p);else if(b=/^(?:\[(h+|m+|s+)\])/i.exec(P)){const F=b[1].toLowerCase(),Q=F[0],X={type:"",size:0,date:1,raw:b[0],pad:F.length};Q==="h"?(X.size=16,X.type="hour-elap"):Q==="m"?(X.size=32,X.type="min-elap"):(X.size=64,X.type="sec-elap"),E.date=E.date|X.size,x.push(X),K(X,p)}else if(b=/^(?:B2)/i.exec(P))z||(E.date_system=6);else if(b=/^(?:B1)/i.exec(P))z||(E.date_system=1);else if(b=/^(?:([hHmMsSyYbBdDegG])\1*)/.exec(P)){const F={type:"",size:0,date:1,raw:b[0]},Q=b[0].toLowerCase(),X=Q[0];if(Q==="y"||Q==="yy")F.size=2,F.type="year-short";else if(X==="y"||X==="e")F.size=2,F.type="year";else if(Q==="b"||Q==="bb")F.size=2,F.type="b-year-short";else if(X==="b")F.size=2,F.type="b-year";else if(Q==="d"||Q==="dd")F.size=8,F.type="day",F.pad=/dd/.test(Q);else if(Q==="ddd")F.size=8,F.type="weekday-short";else if(X==="d")F.size=8,F.type="weekday";else if(X==="h")F.size=16,F.type="hour",F.pad=/hh/i.test(Q);else if(X==="m"){Q.length===3?(F.size=4,F.type="monthname-short"):Q.length===5?(F.size=4,F.type="monthname-single"):Q.length>=4&&(F.size=4,F.type="monthname");const re=x[x.length-1];!F.type&&re&&!re.used&&80&re.size&&(re.used=!0,F.size=32,F.type="min",F.pad=/mm/.test(Q)),F.type||(F.size=4,F.type="month",F.pad=/mm/.test(Q),F.indeterminate=!0)}else if(X==="s"){F.size=64,F.type="sec",F.pad=/ss/.test(Q);const re=x[x.length-1];re&&32&re.size?F.used=!0:re&&re.indeterminate&&(delete re.indeterminate,re.size=32,re.type="min",F.used=!0)}E.date=E.date|F.size,E.date_eval=!0,x.push(F),K(F,p)}else if(b=/^(?:AM\/PM|am\/pm|A\/P)/.exec(P))E.clock=12,E.date=16|E.date,E.date_eval=!0,K({type:"am",short:b[0]==="A/P"},p);else if(E.date&&(b=/^\.0{1,3}/i.exec(P))){const F=b[0].length-1,Q=[64,128,256,512][F];E.date=E.date|Q,E.date_eval=!0,E.sec_decimals=Math.max(E.sec_decimals,F),K({type:"subsec",size:Q,decimals:F,date:1,raw:b[0]},p)}else if((b=/^\\(.)/.exec(P))||(b=/^"([^"]*?)"/.exec(P)))K(b[1],p);else if(b=/^\[(<[=>]?|>=?|=)\s*(-?[.\d]+)\]/.exec(P))E.condition=[b[1],parseFloat(b[2],10)];else if(b=/^\[\$([^\]]+)\]/.exec(P)){const F=b[1].split("-"),Q=F.length<2?"":F[F.length-1],X=F[0];X&&K(X,p);const re=c(Q);re&&(E.locale=re);const ae=parseInt(Q,16);isFinite(ae)&&16711680&ae&&(ae>>16&255)===6&&(E.date_system=6),z=!0}else if(b=/^\[(black|blue|cyan|green|magenta|red|white|yellow|color\s*(\d+))\]/i.exec(P))E.color=b[2]?ue[parseInt(b[2],10)]||"#000":b[1].toLowerCase();else if(!(b=/^\[(DBNum1|ENG|HIJ|JPN|TWN)\]/i.exec(P))){if(b=/^%/.exec(P))E.scale=100,E.percent=!0,K("%",p);else if(b=/^_(\\.|.)/.exec(P))K(" ",p);else if(b=/^\./.exec(P))K({type:"point",value:b[0]},p),E.dec_fractions=!0,V="frac";else if(b=/^[Ee]([+-]?|(?=[0#?]))/.exec(P))E.exponential=!0,E.exp_plus=b[1]==="+",V="man",K({type:"exp",plus:b[1]==="+"},p);else if(!(b=/^\*(\\.|.)/.exec(P))){if(b=/^[BENn[]/.exec(P))throw new SyntaxError("Unexpected char ".concat(P.charAt(0)," in pattern ").concat(R));P[0]==="("&&(E.parens=!0),b=[P[0]],K(b[0],p)}}}j=b[0],P=P.slice(b?b[0].length:1)}if(E.pattern=R.slice(0,R.length-P.length),/^((?:\[[^\]]+\])+)(;|$)/.test(E.pattern)&&!/^\[(?:h+|m+|s+)\]/.test(E.pattern)&&K({type:"text"},p),E.fractions&&E.dec_fractions||E.fractions&&E.exponential)throw new SyntaxError("Invalid pattern: ".concat(E.pattern));const O=E.int_pattern.join("");if(E.grouping=O.indexOf(",")>=0,E.grouping){const F=O.split(","),Q=F.length;Q===2?(E.group_pri=F[1].length,E.group_sec=E.group_pri):Q>2&&(E.group_pri=F[Q-1].length,E.group_sec=F[Q-2].length)}else E.group_pri=0,E.group_sec=0;ne(O.replace(/[,]/g,""),E,"int"),ne(E.frac_pattern.join(""),E,"frac"),ne(E.man_pattern.join(""),E,"man");let H=E.num_pattern.join(""),J=E.den_pattern.join("");const G=/\?/.test(J)||/\?/.test(H);return J=J.replace(/\d/g,G?"?":"#"),G&&(J=J.replace(/#$/g,"?")),ne(H,E,"num"),ne(J,E,"den"),G&&(H=H.replace(/#$/g,"?")),E.int_padding=te(E.int_pattern.join("")),E.man_padding=te(E.man_pattern.join("")),E.num_padding=te(H),E.den_padding=te(J),E.den_pattern.length&&(E.denominator=parseInt(E.den_pattern.join("").replace(/\D/g,""),10)),E.integer=!!E.int_pattern.join("").length,E.fractions&&p.forEach((F,Q)=>{const X=p[Q+1];F.type==="string"&&X&&(X.type==="num"?F.rule="num+int":X.type==="div"?F.rule="num":X.type==="den"&&(F.rule="den"))}),E}const lt=R=>{const p=R.condition;p&&p[1]<0&&(p[0]==="<"||p[0]==="<="||p[0]==="=")||R.tokens.unshift({type:"minus",volatile:!0})};function Pn(R){const p=[];let E,P=!1,V=null,B=R,v=0,x=!1,b=0,j=0;do{if(x=Fe(B),(x.date||x.general)&&(x.int_pattern.length||x.frac_pattern.length||x.scale!==1||x.text))throw new Error("Illegal format");if(x.condition&&(j++,P=!0),x.text){if(V)throw new Error("Unexpected partition");V=x}x.locale&&(E=c(x.locale)),p.push(x),v=B.charAt(x.pattern.length)===";"?1:0,B=B.slice(x.pattern.length+v),b++}while(v&&b<4&&j<3);if(v)throw new Error("Unexpected partition");if(j>2)throw new Error("Unexpected condition");const z=p[3];if(z&&(z.int_pattern.length||z.frac_pattern.length||z.date))throw new Error("Unexpected partition");if(P){const O=p.length;if(O===1&&(p[1]=Fe("General"),p[1].generated=!0),O<3){const H=p[0],J=p[1];if(lt(H),J.condition)lt(J);else{const G=H.condition;(G[0]==="="||G[1]>=0&&(G[0]===">"||G[0]===">="))&&J.tokens.unshift({type:"minus",volatile:!0})}}else p.forEach(lt)}else{if(p.length<4&&V)for(let O=0,H=p.length;O<H;O++)p[O]===V&&p.splice(O,1);if(p.length<1&&V&&(p[0]=Fe("General"),p[0].generated=!0),p.length<2){const O=Fe(p[0].pattern);O.tokens.unshift({type:"minus",volatile:!0}),O.generated=!0,p.push(O)}if(p.length<3){const O=Fe(p[0].pattern);O.generated=!0,p.push(O)}if(p.length<4)if(V)p.push(V);else{const O=Fe("@");O.generated=!0,p.push(O)}p[0].condition=[">",0],p[1].condition=["<",0],p[2].condition=null}return{pattern:R,partitions:p,locale:E}}const we=Math.floor;function Ln(R){if((!(arguments.length>1&&arguments[1]!==void 0)||arguments[1])&&R>=0){if(R===0)return[1900,1,0];if(R===60)return[1900,2,29];if(R<60)return[1900,R<32?1:2,(R-1)%31+1]}let E=R+68569+2415019;const P=we(4*E/146097);E-=we((146097*P+3)/4);const V=we(4e3*(E+1)/1461001);E=E-we(1461*V/4)+31;const B=we(80*E/2447),v=E-we(2447*B/80);E=we(B/11);const x=B+2-12*E;return[0|100*(P-49)+V+E,0|x,0|v]}function Pi(R){return Ln(R+1462)}function Li(R){if(R===60)throw new Error("#VALUE!");if(R<=1)return[1317,8,29];if(R<60)return[1317,R<32?9:10,1+(R-2)%30];const p=10631/30,E=.1335;let P=R+466935;const V=we(P/10631);P-=10631*V;const B=we((P-E)/p);P-=we(B*p+E);const v=we((P+28.5001)/29.5);return v===13?[30*V+B,12,30]:[30*V+B,v,P-we(29.5001*v-29)]}function xn(R){let p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,E=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2];const P=we(R);return p===6?Li(P):p===-1?Pi(P):Ln(P,E)}const Zt=Math.floor,Qr=86400;function Jt(R,p){let E=null;if(Array.isArray(R)){const[P,V,B,v,x,b]=R;E=Date.UTC(P,V==null?0:V-1,B!=null?B:1,v||0,x||0,b||0)}else if(R instanceof Date&&(E=1*R,!p||!p.ignoreTimezone)){const P=new Date;P.setUTCFullYear(R.getFullYear(),R.getMonth(),R.getDate()),P.setUTCHours(R.getHours(),R.getMinutes(),R.getSeconds(),R.getMilliseconds()),E=1*P}if(E!=null&&isFinite(E)){const P=E/864e5;return P-(P<=-25509?-25568:-25569)}return R}function wn(R,p){let E=0|R;const P=Qr*(R-E);let V=Zt(P);P-V>.9999&&(V+=1,V===Qr&&(V=0,E+=1));const B=V<0?Qr+V:V,[v,x,b]=xn(R,0,p&&p.leap1900),j=Zt(B/60/60)%60,z=Zt(B/60)%60,O=Zt(B)%60;if(p&&p.nativeDate){const H=new Date(0);return H.setUTCFullYear(v,x-1,b),H.setUTCHours(j,z,O),H}return[v,x,b,j,z,O]}function xi(R){return!!(R[0]&&R[0].percent||R[1]&&R[1].percent||R[2]&&R[2].percent||R[3]&&R[3].percent)}function wi(R){return!!(R[0]&&R[0].date||R[1]&&R[1].date||R[2]&&R[2].date||R[3]&&R[3].date)}function Vi(R){const[p,E,P,V]=R;return!(p&&!p.generated||E&&!E.generated||P&&!P.generated||!V||!V.text||V.generated)}const vi={text:15,datetime:10.8,date:10.8,time:10.8,percent:10.6,currency:10.4,grouped:10.2,scientific:6,number:4,fraction:2,general:0,error:0},Oi=[["DMY",1],["DM",2],["MY",3],["MDY",4],["MD",5],["hmsa",6],["hma",7],["hms",8],["hm",9]],Fi={total:1,sign:0,period:0,int:1,frac:0},Ut=(R,p)=>R.replace(/\./,p.decimal);function Vn(R,p,E,P){const V=0|E;if(typeof E=="string")R.push(E);else if(E===V)R.push(Math.abs(V));else{const B=Math.abs(E);let v=B?Math.floor(Math.log10(B)):0,x=v<0?B*10**-v:B/10**v;x===10&&(x=1,v++);const b=function(z){let O=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];const H=Math.abs(z);if(!H)return Fi;const J=O&&z<0?1:0,G=Math.floor(H),F=Math.floor(Math.log10(H)+1);let Q=0,X=0;if(G!==H){Q=1;const re=String(C(F<0?H*10**-F:H/10**F,15));let ae=re.length,ie=!0,Ee=0;for(;Ee<=re.length;){if(re[Ee]==="."){ae--;break}re[Ee]==="0"&&ie?ae--:ie=!1,Ee++}X=ae-F,X<0&&(X=0,Q=0)}return{total:J+Math.max(F,1)+Q+X,digits:Math.max(F,0)+X,sign:J,period:Q,int:Math.max(F,1),frac:X}}(B),j=()=>{const z=Math.abs(v);let O;O=x===1?x:C(x,5),R.push(Ut(O+"",P),P.exponent,v<0?P.negative:P.positive,z<10?"0":"",z)};if(v>=-4&&v<=-1){const z=B.toPrecision(10+v).replace(/\.?0+$/,"");R.push(Ut(z,P))}else if(v===10){const z=B.toFixed(10).slice(0,12).replace(/\.$/,"");R.push(Ut(z,P))}else if(Math.abs(v)<=9)if(b.total<=11){const z=C(B,9).toFixed(b.frac);R.push(Ut(z,P))}else v===9?R.push(Math.floor(B)):v>=0&&v<9?R.push(C(B,9-v)):j();else b.total>=12?j():Math.floor(B)===B?R.push(Math.floor(B)):R.push(Ut(C(B,9).toFixed(b.frac),P))}return R}const Mt=86400,vn={int:"integer",frac:"fraction",man:"mantissa",num:"numerator",den:"denominator"},On=function(R){let p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;const E=Math.floor(Math.log10(R));return p>1?Math.floor(E/p)*p:E};function Fn(R,p,E,P){let V="",B="",v="",x="",b="",j=0,z=0|R,O=0,H=0,J=1,G=0,F=0,Q=0,X=0,re=0,ae=0;const ie=P||_;if(!p.text&&isFinite(p.scale)&&p.scale!==1&&(R=function(se){if(se===0)return se;const ce=Math.ceil(Math.log10(se<0?-se:se)),T=10**(16-Math.floor(ce));return Math.round(se*T)/T}(R*p.scale)),p.exponential){let se=Math.abs(R);if(se){const ce=10**-On(se,p.int_max),T=C(se*ce,p.frac_max)/ce;j=On(T,p.int_max)}se/=10**j,R=R<0?-se:se,V+=Math.abs(j)}if(p.integer){const se=Math.abs(C(R,p.fractions?1:p.frac_max));b+=se<1?"":Math.floor(se)}if(p.grouping){let se="",ce=b.length;for(ce>p.group_pri&&(ce-=p.group_pri,se=ie.group+b.slice(ce,ce+p.group_pri)+se);ce>p.group_sec;)ce-=p.group_sec,se=ie.group+b.slice(ce,ce+p.group_sec)+se;b=ce?b.slice(0,ce)+se:se}p.dec_fractions&&(x=String(C(R,p.frac_max)).split(".")[1]||"");let Ee=!1;if(p.fractions){const se=Math.abs(p.integer?R%1:R);if(se)if(Ee=!0,isFinite(p.denominator))v+=p.denominator,B+=C(se*p.denominator),B==="0"&&(B="",v="",Ee=!1,b||(b="0"));else{const ce=D(se,p.integer?p.num_max:1/0,p.den_max);B+=ce[0],v+=ce[1],p.integer&&B==="0"&&(b||(b="0"),B="",v="",Ee=!1)}}if(p.date){z=Math.trunc(R);const se=Mt*(R-z);if(O=Math.floor(se),ae=se-O,Math.abs(ae)<1e-6?ae=0:ae>.9999&&(ae=0,O+=1,O===Mt&&(O=0,z+=1)),ae){const ce=512&p.date||256&p.date||128&p.date;(ce===512&&ae>.9995||ce===256&&ae>.995||ce===128&&ae>.95||!ce&&ae>=.5)&&(O++,ae=0)}if(z||p.date_system){const ce=xn(R,p.date_system,E.leap1900);H=ce[0],J=ce[1],G=ce[2]}if(O){const ce=O<0?Mt+O:O;re=Math.floor(ce)%60,X=Math.floor(ce/60)%60,Q=Math.floor(ce/60/60)%60}if(F=(6+z)%7,p.date_eval&&(Ge=R,ft=z+O/Mt,E.dateSpanLarge?Ge<-694324||ft>=35830291:Ge<0||ft>=2958466)){if(E.dateErrorThrows)throw new Error("Date out of bounds");return E.dateErrorNumber?Vn(R<0?[ie.negative]:[],0,R,ie).join(""):E.overflow}}var Ge,ft;if(p.int_padding&&(b=p.int_padding.length===1?b||p.int_padding:p.int_padding.substring(0,p.int_padding.length-b.length)+b),p.num_padding&&(B=p.num_padding.length===1?B||p.num_padding:p.num_padding.substring(0,p.num_padding.length-B.length)+B),p.den_padding&&(v=p.den_padding.length===1?v||p.den_padding:v+p.den_padding.slice(v.length)),p.man_padding){const se=p.exp_plus?"+":"";V=p.man_padding.length===1?(j<0?"-":se)+(V||p.man_padding):(j<0?"-":se)+p.man_padding.slice(0,p.man_padding.length-V.length)+V}const I=[];let Oe=0;const et={int:0,frac:0,man:0,num:0,den:0};for(let se=0,ce=p.tokens.length;se<ce;se++){const T=p.tokens[se],Nt=T.num?T.num.length:0;if(T.type==="string")T.rule?T.rule==="num"?Ee?I.push(T.value):(p.num_min>0||p.den_min>0)&&I.push(T.value.replace(/./g,U["?"])):T.rule==="num+int"?Ee&&b?I.push(T.value):p.den_min>0&&(b||p.num_min)&&I.push(T.value.replace(/./g,U["?"])):T.rule==="den"&&(Ee?I.push(T.value):(p.den_min>0||p.den_min>0)&&I.push(T.value.replace(/./g,U["?"]))):I.push(T.value);else if(T.type==="error")I.push(E.invalid);else if(T.type==="point")I.push(p.date?T.value:ie.decimal);else if(T.type==="general")Vn(I,0,R,ie);else if(T.type==="exp")I.push(ie.exponent);else if(T.type==="minus")T.volatile&&p.date||T.volatile&&(R>=0||typeof R!="number")||(T.volatile&&!p.fractions&&(p.integer||p.dec_fractions)?(R<0&&b&&b!=="0"||x)&&I.push(ie.negative):I.push(ie.negative));else if(T.type==="plus")I.push(ie.positive);else if(T.type==="text")I.push(R);else if(T.type==="div")Ee?I.push("/"):p.num_min>0||p.den_min>0?I.push(U["?"]):I.push(U["#"]);else if(T.type==="int")if(p.int_pattern.length===1)I.push(b);else{const pe=Oe?p.int_pattern.join("").length-et.int:1/0,Dt=Oe===p.int_pattern.length-1?0:p.int_pattern.join("").length-(et.int+T.num.length);I.push(b.substring(b.length-pe,b.length-Dt)),Oe++,et.int+=T.num.length}else if(T.type==="frac"){const pe=et.frac;for(let Dt=0;Dt<Nt;Dt++)I.push(x[Dt+pe]||U[T.num[Dt]]);et.frac+=Nt}else if(T.type in vn)p[T.type+"_pattern"].length===1?(T.type==="int"&&I.push(b),T.type==="frac"&&I.push(x),T.type==="man"&&I.push(V),T.type==="num"&&I.push(B),T.type==="den"&&I.push(v)):(I.push(vn[T.type].slice(et[T.type],et[T.type]+Nt)),et[T.type]+=Nt);else if(T.type==="year")H<0&&I.push(ie.negative),I.push(String(Math.abs(H)).padStart(4,"0"));else if(T.type==="year-short"){const pe=H%100;I.push(pe<10?"0":"",pe)}else if(T.type==="month")I.push(T.pad&&J<10?"0":"",J);else if(T.type==="monthname-single")p.date_system===6?I.push(ie.mmmm6[J-1].charAt(0)):I.push(ie.mmmm[J-1].charAt(0));else if(T.type==="monthname-short")p.date_system===6?I.push(ie.mmm6[J-1]):I.push(ie.mmm[J-1]);else if(T.type==="monthname")p.date_system===6?I.push(ie.mmmm6[J-1]):I.push(ie.mmmm[J-1]);else if(T.type==="weekday-short")I.push(ie.ddd[F]);else if(T.type==="weekday")I.push(ie.dddd[F]);else if(T.type==="day")I.push(T.pad&&G<10?"0":"",G);else if(T.type==="hour"){const pe=Q%p.clock||(p.clock<24?p.clock:0);I.push(T.pad&&pe<10?"0":"",pe)}else if(T.type==="min")I.push(T.pad&&X<10?"0":"",X);else if(T.type==="sec")I.push(T.pad&&re<10?"0":"",re);else if(T.type==="subsec"){I.push(ie.decimal);const pe=ae.toFixed(p.sec_decimals);I.push(pe.slice(2,2+T.decimals))}else if(T.type==="am"){const pe=Q<12?0:1;T.short&&!P?I.push("AP"[pe]):I.push(ie.ampm[pe])}else if(T.type==="hour-elap"){R<0&&I.push(ie.negative);const pe=24*z+Math.floor(Math.abs(O)/3600);I.push(String(Math.abs(pe)).padStart(T.pad,"0"))}else if(T.type==="min-elap"){R<0&&I.push(ie.negative);const pe=1440*z+Math.floor(Math.abs(O)/60);I.push(String(Math.abs(pe)).padStart(T.pad,"0"))}else if(T.type==="sec-elap"){R<0&&I.push(ie.negative);const pe=z*Mt+Math.abs(O);I.push(String(Math.abs(pe)).padStart(T.pad,"0"))}else if(T.type==="b-year")I.push(H+543);else if(T.type==="b-year-short"){const pe=(H+543)%100;I.push(pe<10?"0":"",pe)}}return E.nbsp?I.join(""):I.join("").replace(/\u00a0/g," ")}function Un(R,p){for(let E=0;E<3;E++){const P=p[E];if(P){let V;if(P.condition){const B=P.condition[0],v=P.condition[1];B==="="?V=R===v:B===">"?V=R>v:B==="<"?V=R<v:B===">="?V=R>=v:B==="<="?V=R<=v:B==="<>"&&(V=R!==v)}else V=!0;if(V)return P}}}const Mn=Fe("@"),Bn="black",Ue={};function Me(R,p){if(R){const E=R[0];p[E]=p[E]||{},Me(R.slice(1),p[E])}else p.$=!0}["d-F-y","d-F-Y","d-M-y","d-M-Y","F-d-y","F-d-Y","F-j-y","F-j-Y","j-F-y","j-F-Y","j-M-y","j-M-Y","M-d-y","M-d-Y","M-j-y","M-j-Y","m-d-y","m-d-Y","m-j-y","m-j-Y","n-d-y","n-d-Y","n-j-y","n-j-Y","y-F-d","y-F-j","y-M-d","y-M-j","Y-F-d","Y-F-j","Y-M-d","Y-m-d","Y-M-j","Y-m-j","Y-n-d","Y-n-j","j-F","j-M","d-F","d-M","n-d","n-j","n-Y","m-d","m-j","m-Y","M-Y","M-y","F-y","F-Y","Y-M","Y-n","Y-m","Y-F","Y-M"].forEach(R=>{Me(R,Ue),Me(R+" x",Ue),Me(R+" l",Ue),Me(R+" l x",Ue),Me("l "+R,Ue),Me("l "+R+" x",Ue),Me(R+" D",Ue),Me(R+" D x",Ue),Me("D "+R,Ue),Me("D "+R+" x",Ue)});const Ui={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},Mi={january:1,february:2,march:3,april:4,june:6,july:7,august:8,september:9,october:10,november:11,december:12},Bi={sunday:"l",monday:"l",tuesday:"l",wednesday:"l",thursday:"l",friday:"l",saturday:"l",sun:"D",mon:"D",tue:"D",wed:"D",thu:"D",fri:"D",sat:"D"},Ti=new Date().getUTCFullYear();function Tn(R){const p=new RegExp("^([\\s+%"+de.join("")+"(-]*)(((?:(?:\\d[\\d,]*)(?:\\.\\d*)?|(?:\\.\\d+)))([eE][+-]?\\d+)?)([\\s%"+de.join("")+")]*)$").exec(R);if(p){const[,E,P,V,B,v]=p;let x=1,b="",j=!1,z=!1,O=!1,H=!1,J=!1,G=null,F=!1,Q=parseFloat(P.replace(/,/g,""));if(!isFinite(Q))return null;for(let re=0;re<E.length;re++){const ae=E[re];if(ae==="-"){if(j||z)return null;j=!0,x=-1}else if(ge.test(ae)){if(J)return null;J=!0,G=ae}else if(ae==="("){if(z||j)return null;z=!0,x=-1}else if(ae==="%"){if(H)return null;H=!0}}for(let re=0;re<v.length;re++){const ae=v[re];if(ge.test(ae)){if(J)return null;J=!0,G=ae,F=!0}else if(ae===")"){if(O||!z)return null;O=!0}else if(ae==="%"){if(H)return null;H=!0}}if(B){if(H||J)return null;b="0.00E+00"}else if(H){if(J)return null;b=V.includes(".")?"0.00%":"0%",Q*=.01}else if(J){const re=V.includes(".")?"#,##0.00":"#,##0";b=F?re+G:G+re}else V.includes(",")&&(b=V.includes(".")?"#,##0.00":"#,##0");const X={v:Q*x};return b&&(X.z=b),X}}const je=(R,p,E)=>{const P=E.path||"",V=Object.keys(p);for(let B=0;B<V.length;B++){let v;const x=V[B];if(p[x]){if(x==="$"||x==="€")R||(v=E);else if(x==="-"){const b=/^(\s*([./-]|,\s)\s*|\s+)/.exec(R);if(b){const j=b[1]==="-"||b[1]==="/"||b[1]==="."?b[1]:" ";if(!E.sep||E.sep===j){const z=b[0].replace(/\s+/g," ");v=je(R.slice(b[0].length),p[x],{...E,sep:j,path:P+z})}}}else if(x===" "){const b=/^[,.]?\s+/.exec(R);if(b){const j=b[0].replace(/\s+/g," ");v=je(R.slice(b[0].length),p[x],{...E,path:P+j})}}else if(x==="j"||x==="d"){const b=/^(0?[1-9]|1\d|2\d|3[01])\b/.exec(R);b&&(v=je(R.slice(b[0].length),p[x],{...E,day:b[0],path:P+x}))}else if(x==="n"||x==="m"){const b=/^(0?[1-9]|1[012])\b/.exec(R);b&&(v=je(R.slice(b[0].length),p[x],{...E,month:+b[0],_mon:b[0],path:P+x}))}else if(x==="F"||x==="M"){const b=/^([a-z]{3,9})\b/i.exec(R),j=b&&(x==="F"?Mi:Ui)[b[0].toLowerCase()];j&&(v=je(R.slice(b[0].length),p[x],{...E,month:j,_mon:b[0],path:P+x}))}else if(x==="l"||x==="D"){const b=/^([a-z]{3,9})\b/i.exec(R);(b&&Bi[b[0].toLowerCase()])===x&&(v=je(R.slice(b[0].length),p[x],{...E,path:P+x}))}else if(x==="y"){const b=/^\d\d\b/.exec(R);if(b){const j=+b[0]>=30?+b[0]+1900:+b[0]+2e3;v=je(R.slice(b[0].length),p[x],{...E,year:j,path:P+x})}}else if(x==="Y"){const b=/^\d\d\d\d\b/.exec(R);b&&(v=je(R.slice(b[0].length),p[x],{...E,year:+b[0],path:P+x}))}else{if(x!=="x")throw new Error('Unknown date token "'.concat(x,'"'));{const b=zr(R);b&&(v=je("",p[x],{...E,time:b.v,tf:b.z,path:P+x}))}}if(v)return v}}};function kn(R,p){const E=je(R.trim(),Ue,{path:""});if(E){var P;if(E.sep==="."&&E.path.length===3)return null;const V=+((P=E.year)!==null&&P!==void 0?P:Ti);if(E.day||(E.day=1),!function(x,b,j){if(j<1||b<1||b>12)return!1;if(b===2){if(j>(x%4==0&&x%100!=0||x%400==0||x===1900?29:28))return!1}else if((b===4||b===6||b===9||b===11)&&j>30||(b===1||b===3||b===5||b===7||b===8||b===10||b===12)&&j>31)return!1;return!0}(V,E.month,E.day))return null;let B=-1/0;if(V<1900)return null;V<=1900&&E.month<=2?B=25568:V<1e4&&(B=25569);const v=Date.UTC(V,E.month-1,E.day)/864e5+B+(E.time||0);if(v>=0&&v<=2958465){const x=E._mon[0]==="0"||E.day[0]==="0"||E._mon.length===2&&E.day.length===2,b=E.path.replace(/[jdlDnmMFyYx-]/g,j=>j==="j"||j==="d"?x?"dd":"d":j==="D"?"ddd":j==="l"?"dddd":j==="n"||j==="m"?x?"mm":"m":j==="M"?"mmm":j==="F"?"mmmm":j==="y"?"yy":j==="x"?E.tf||"":j==="Y"?"yyyy":j);return p&&p.nativeDate?{v:wn(v,p),z:b}:{v,z:b}}}return null}function zr(R){const p=/^\s*([10]?\d|2[0-4])(?::([0-5]\d|\d))?(?::([0-5]\d|\d))?(\.\d{1,10})?(?:\s*([AP])M?)?\s*$/i.exec(R);if(p){const[,E,P,V,B,v]=p;if(B&&!V||!v&&!P&&!V)return null;let x=1*(E||0);if(v){if(x>=13)return null;v[0]!=="p"&&v[0]!=="P"||(x+=12)}return{v:(60*x*60+60*(1*(P||0))+1*(V||0)+1*(B||0))/86400,z:(E.length===2?"hh":"h")+":mm"+(V?":ss":"")+(v?" AM/PM":"")}}return null}function jn(R){return/^\s*true\s*$/i.test(R)?{v:!0}:/^\s*false\s*$/i.test(R)?{v:!1}:null}const Bt={};function ki(R,p){const{pattern:E,partitions:P,locale:V}=R,B=b=>{const j=Object.assign({},w(),p,b);return V&&(j.locale=V),j},v=(b,j)=>{const z=B(j);return function(O,H,J){const G=l(J.locale),F=H[3]?H[3]:Mn;if(typeof O=="boolean"&&(O=O?"TRUE":"FALSE"),O==null)return"";if(typeof O!="number")return Fn(O,F,J,G);if(!isFinite(O)){const X=G||_;return isNaN(O)?X.nan:(O<0?X.negative:"")+X.infinity}const Q=Un(O,H);return Q?Fn(O,Q,J,G):J.overflow}(Jt(b,z),P,z)};v.color=(b,j)=>function(z,O){if(typeof z!="number"||!isFinite(z))return(O[3]?O[3].color:Mn.color)||Bn;const H=Un(z,O);return H&&H.color||Bn}(Jt(b,B(j)),P);const x=function(b){var j;let z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;const[O,H]=b,J=O.frac_max,G={type:"general",isDate:wi(b),isText:Vi(b),isPercent:xi(b),maxDecimals:O.general?9:J,scale:(j=O.scale)!==null&&j!==void 0?j:1,color:0,parentheses:0,grouped:O.grouping?1:0,_partitions:b},F=!G.isDate&&!G.isText&&!O.error&&O.tokens.some(ie=>ie.type==="string"&&(z?ie.value===z:ge.test(ie.value)));let Q="G",X=J>=0?Math.min(15,J):"",re="",ae="";if(H&&H.color&&(ae="-",G.color=1),O.parens&&(re="()",G.parentheses=1),F)Q="C",G.type="currency";else if(O.error)G.type="error",G.maxDecimals=0;else if(G.isDate){let ie=0,Ee=0,Ge="";O.tokens.forEach(I=>{const Oe=I.type;/^(b-)?year/.test(Oe)?(Ge+="Y",Ee++):Oe.startsWith("month")?(Ge+="M",Ee++):/^(week)?day/.test(Oe)?(Ge+="D",Ee++):Oe!=="hour"&&Oe!=="min"&&Oe!=="sec"&&Oe!=="am"||(Ge+=Oe[0],ie++)}),G.type="date",Ee&&ie?G.type="datetime":!Ee&&ie&&(G.type="time");const ft=Oi.find(I=>Ge.startsWith(I[0]));Q=ft?"D":"G",X=ft?ft[1]:""}else G.isText?(Q="G",G.type="text",X="",G.maxDecimals=0):O.general?(Q="G",G.type="general",X=""):O.fractions?(Q="G",G.type="fraction",X=""):O.exponential?(Q="S",G.type="scientific"):G.isPercent?(Q="P",G.type="percent"):O.grouping?(Q=",",G.type="grouped"):(O.int_max||J)&&(Q="F",G.type="number");return G.code=Q+X+ae+re,G.level=vi[G.type],Object.freeze(G)}(P,(p||{}).currency)||new SyntaxError;return v.info=x,v.dateInfo=function(b){const[j]=b;return{year:!!(2&j.date),month:!!(4&j.date),day:!!(8&j.date),hours:!!(16&j.date),minutes:!!(32&j.date),seconds:!!(64&j.date),clockType:j.clock===12?12:24}}(P),v.isPercent=()=>!!x.isPercent,v.isDate=()=>!!x.isDate,v.isText=()=>!!x.isText,v.pattern=E,R.error&&(v.error=R.error),v.options=B,v.locale=V||p&&p.locale||"",Object.freeze(v)}function fe(R,p){R||(R="General");let E=null;return Bt[R]?E=Bt[R]:(E=Object.assign({},w(),p).throws?Pn(R):function(P){try{return Pn(P)}catch(V){const B={tokens:[{type:"error"}],error:V.message};return{pattern:P,partitions:[B,B,B,B],error:V.message,locale:null}}}(R),E.error||(Bt[R]=E)),ki(E,p)}fe.isDate=R=>fe(R,{throws:!1}).isDate(),fe.isPercent=R=>fe(R,{throws:!1}).isPercent(),fe.isText=R=>fe(R,{throws:!1}).isText(),fe.getInfo=(R,p)=>fe(R,{...p,throws:!1}).info,fe.getDateInfo=(R,p)=>fe(R,{...p,throws:!1}).dateInfo,fe.dateToSerial=Jt,fe.dateFromSerial=wn,fe.options=w,fe.dec2frac=D,fe.round=C,fe.codeToLocale=n,fe.parseLocale=u,fe.getLocale=l,fe.addLocale=(R,p)=>{const E=u(p);return delete Bt[E.lang],delete Bt[E.language],d(R,E)},fe.format=function(R,p,E){let P=arguments.length>3&&arguments[3]!==void 0&&arguments[3];const V=E&&typeof E=="object"?E:{locale:E,throws:!P};return fe(R,V)(Jt(p,V),V)},fe.is_date=fe.isDate,fe.parseNumber=Tn,fe.parseDate=kn,fe.parseTime=zr,fe.parseBool=jn,fe.parseValue=function(R,p){var E,P,V;return(E=(P=(V=Tn(R))!==null&&V!==void 0?V:kn(R,p))!==null&&P!==void 0?P:zr(R))!==null&&E!==void 0?E:jn(R)};var ji=fe;return t=t.default}()})})(Us);var Ca=Us.exports,Da=Ca;const Ms=ya(Da),ba=["$","£","¥","¤","֏","؋","৳","฿","៛","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"],Sa={currency:2,date:4,datetime:5,error:11,fraction:7,general:0,grouped:11,number:1,percent:6,scientific:8,text:9,time:5,unknown:11};function Aa(r,s,e){var u,c;if(r==null||s==null)return s;const t=(e==null?void 0:e.getStyleByCell(r))||r.s,n=(e==null?void 0:e.getStyleByCell(s))||s.s;if(t==null||n==null||typeof t!="object"||typeof n!="object")return s;const i=(u=t==null?void 0:t.n)==null?void 0:u.pattern,a=(c=n==null?void 0:n.n)==null?void 0:c.pattern;if(i==null||a==null)return s;const o=Pa(i,a);return n.n.pattern=o,s}function Pa(r,s){const e=_r(r),t=_r(s);return e===0?s:[1,2,5,9,10].includes(e)?r:e===3?[4,5,6,7,8,9,11].includes(t)?s:r:[4,6,7,8].includes(e)?[2,3,4,5,6,7,8,9,11].includes(t)?s:r:e===11&&[2,3,4,6,7,8,9].includes(t)?s:r}function _r(r){if(La(r))return 3;const s=Ms.getInfo(r).type||"unknown";return Sa[s]}function La(r){return!!ba.find(s=>r.includes(s))&&r.startsWith("_(")}function er(r,s,e){const t=_r(r),n=_r(s);return e===oe.PLUS||e===oe.MINUS?t===4&&n===4||t===11&&n===11?"":s:e===oe.MULTIPLY||e===oe.DIVIDED?t===6&&n===6||t===7&&n===7||t===8&&n===8||t===9&&n===9?s:"":r||s}const Lr=class Lr extends Je{static create(){return this._instance=this._instance||new Lr(0),this._instance}isNull(){return!0}plus(s){return S.create(0).plus(s)}minus(s){return S.create(0).minus(s)}multiply(s){return S.create(0).multiply(s)}divided(s){return S.create(0).divided(s)}mod(s){return S.create(0).mod(s)}compare(s,e){return s.isString()?Re.create("").compare(s,e):s.isBoolean()?Y.create(!1).compare(s,e):S.create(0).compare(s,e)}concatenateFront(s){return s.isArray()?s.concatenateBack(Re.create("")):Re.create(this.concatenate(s.getValue(),Te.FRONT))}concatenateBack(s){return s.isArray()?s.concatenateFront(Re.create("")):Re.create(this.concatenate(s.getValue(),Te.BACK))}plusBy(s){return S.create(0).plusBy(s)}minusBy(s){return S.create(0).minusBy(s)}multiplyBy(s){return S.create(0).multiplyBy(s)}dividedBy(s){return S.create(0).dividedBy(s)}compareBy(s,e){return typeof s=="string"?Re.create("").compareBy(s,e):typeof s=="boolean"?Y.create(!1).compareBy(s,e):S.create(0).compareBy(s,e)}pow(s){return S.create(0).pow(s)}sqrt(){return S.create(0).sqrt()}cbrt(){return S.create(0).cbrt()}cos(){return S.create(0).cos()}acos(){return S.create(0).acos()}acosh(){return S.create(0).acosh()}sin(){return S.create(0).sin()}asin(){return S.create(0).asin()}asinh(){return S.create(0).asinh()}tan(){return S.create(0).tan()}tanh(){return S.create(0).tanh()}atan(){return S.create(0).atan()}atan2(s){return S.create(0).atan2(s)}atanh(){return S.create(0).atanh()}log(){return m.create(h.NUM)}log10(){return m.create(h.NUM)}exp(){return S.create(0).exp()}abs(){return S.create(0).abs()}round(s){return S.create(0).round(s)}floor(s){return S.create(0).floor(s)}ceil(s){return S.create(0).ceil(s)}convertToNumberObjectValue(){return S.create(0)}convertToBooleanObjectValue(){return Y.create(!1)}};g(Lr,"_instance");let le=Lr;const At=class At extends Je{constructor(e){super(e);g(this,"_value",!1);this._value=e}static create(e){return e?(this._instanceTrue=this._instanceTrue||new At(!0),this._instanceTrue):(this._instanceFalse=this._instanceFalse||new At(!1),this._instanceFalse)}getValue(){return this._value}isBoolean(){return!0}getNegative(){const e=this.getValue();let t=0;return e&&(t=1),S.create(-t)}getReciprocal(){return this.getValue()?S.create(1):m.create(h.DIV_BY_ZERO)}plus(e){return this._convertTonNumber().plus(e)}minus(e){return this._convertTonNumber().minus(e)}multiply(e){return this._convertTonNumber().multiply(e)}divided(e){return this._convertTonNumber().divided(e)}mod(e){return this._convertTonNumber().mod(e)}compare(e,t){return this._convertTonNumber().compare(e,t)}concatenateFront(e){return this._convertTonNumber().concatenateFront(e)}concatenateBack(e){return this._convertTonNumber().concatenateBack(e)}_convertTonNumber(){const e=this.getValue();let t=0;return e&&(t=1),S.create(t)}pow(e){return this._convertTonNumber().pow(e)}sqrt(){return this._convertTonNumber().sqrt()}cbrt(){return this._convertTonNumber().cbrt()}cos(){return this._convertTonNumber().cos()}acos(){return this._convertTonNumber().acos()}acosh(){return this._convertTonNumber().acosh()}sin(){return this._convertTonNumber().sin()}asin(){return this._convertTonNumber().asin()}asinh(){return this._convertTonNumber().asinh()}tan(){return this._convertTonNumber().tan()}tanh(){return this._convertTonNumber().tanh()}atan(){return this._convertTonNumber().atan()}atan2(e){return this._convertTonNumber().atan2(e)}atanh(){return this._convertTonNumber().atanh()}log(){return this._convertTonNumber().log()}log10(){return this._convertTonNumber().log10()}exp(){return this._convertTonNumber().exp()}abs(){return this._convertTonNumber().abs()}round(e){return this._convertTonNumber().round(e)}floor(e){return this._convertTonNumber().floor(e)}ceil(e){return this._convertTonNumber().ceil(e)}convertToNumberObjectValue(){return jr(this.getValue())}convertToBooleanObjectValue(){return this}};g(At,"_instanceTrue"),g(At,"_instanceFalse");let Y=At;const xa=2e5,Zn=new Et(xa);class S extends Je{constructor(e){super(e);g(this,"_value",0);this._value=Number(e)}static create(e){const t=`${e}`,n=Zn.get(t);if(n)return n.setPattern(""),n;const i=new S(e);return Zn.set(t,i),i}getValue(){return this._value}setValue(e){this._value=e}isNumber(){return!0}getNegative(){return S.create(0).minus(this)}getReciprocal(){return S.create(1).divided(this)}plus(e){if(e.isArray())return e.plus(this);const t=this.plusBy(e.getValue());return t.isError()||t.setPattern(er(this.getPattern(),e.getPattern(),oe.PLUS)),t}equalZero(){return this._value===0}minus(e){if(e.isArray()){const n=e.getNegative();return n.isError()?n:n.plus(this)}const t=this.minusBy(e.getValue());return t.isError()||t.setPattern(er(this.getPattern(),e.getPattern(),oe.MINUS)),t}multiply(e){if(e.isArray())return e.multiply(this);const t=this.multiplyBy(e.getValue());return t.isError()||t.setPattern(er(this.getPattern(),e.getPattern(),oe.MULTIPLY)),t}divided(e){if(e.isArray()){const n=e.getReciprocal();return n.isError()?n:n.multiply(this)}const t=this.dividedBy(e.getValue());return t.isError()||t.setPattern(er(this.getPattern(),e.getPattern(),oe.DIVIDED)),t}mod(e){if(e.isArray())return e.modInverse(this);const t=this.getValue(),n=e.getValue();if(e.isNull())return m.create(h.DIV_BY_ZERO);if(typeof n=="string")return m.create(h.VALUE);if(typeof n=="number"){if(n===0)return m.create(h.DIV_BY_ZERO);if(!Number.isFinite(t)||!Number.isFinite(n)||Math.abs(n)*11259e8<=Math.abs(t))return m.create(h.NUM);const i=Kn(t,n);return Number.isFinite(i)?S.create(i):m.create(h.NUM)}if(typeof n=="boolean"){const i=n?1:0;return i===0?m.create(h.DIV_BY_ZERO):S.create(Kn(t,i))}return this}concatenateFront(e){return e.isArray()?e.concatenateBack(this):Re.create(this.concatenate(e.getValue(),Te.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):Re.create(this.concatenate(e.getValue(),Te.BACK))}compare(e,t){return e.isArray()?e.compare(this,Fs(t)):this.compareBy(e.getValue(),t)}plusBy(e){const t=this.getValue();if(typeof e=="string")return Vt.has(e)?m.create(e):m.create(h.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return m.create(h.NUM);const n=ye(t).plus(e).toNumber();return Number.isFinite(n)?S.create(n):m.create(h.NUM)}return typeof e=="boolean"?S.create(ye(t).plus(e?1:0).toNumber()):this}minusBy(e){const t=this.getValue();if(typeof e=="string")return m.create(h.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return m.create(h.NUM);const n=ye(t).minus(e).toNumber();return Number.isFinite(n)?S.create(n):m.create(h.NUM)}return typeof e=="boolean"?S.create(ye(t).minus(e?1:0).toNumber()):this}multiplyBy(e){const t=this.getValue();if(typeof e=="string")return m.create(h.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return m.create(h.NUM);const n=ye(t).times(e).toNumber();return Number.isFinite(n)?S.create(n):m.create(h.NUM)}return typeof e=="boolean"?S.create(ye(t).times(e?1:0).toNumber()):this}dividedBy(e){const t=this.getValue();if(typeof e=="string")return m.create(h.VALUE);if(typeof e=="number"){if(e===0)return m.create(h.DIV_BY_ZERO);if(!Number.isFinite(t)||!Number.isFinite(e))return m.create(h.NUM);const n=ye(t).div(e).toNumber();return Number.isFinite(n)?S.create(n):m.create(h.NUM)}return typeof e=="boolean"?e===!1?m.create(h.DIV_BY_ZERO):S.create(ye(t).div(1).toNumber()):this}compareBy(e,t){const n=this.getValue();let i=!1;if(typeof e=="string")switch(t){case M.EQUALS:case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:i=!1;break;case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:case M.NOT_EQUAL:i=!0;break}else if(typeof e=="number")if(!Number.isFinite(n)||!Number.isFinite(e))i=this._compareInfinity(n,e,t);else switch(t){case M.EQUALS:i=ye(n).eq(e);break;case M.GREATER_THAN:i=ye(n).gt(e);break;case M.GREATER_THAN_OR_EQUAL:i=ye(n).gte(e);break;case M.LESS_THAN:i=ye(n).lt(e);break;case M.LESS_THAN_OR_EQUAL:i=ye(n).lte(e);break;case M.NOT_EQUAL:i=!ye(n).eq(e);break}else if(typeof e=="boolean")switch(t){case M.EQUALS:case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:i=!1;break;case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:case M.NOT_EQUAL:i=!0;break}return Y.create(i)}pow(e){if(e.isArray())return e.powInverse(this);const t=this.getValue(),n=e.getValue();if(typeof n=="string")return m.create(h.VALUE);if(typeof n=="number"){if(!Number.isFinite(t)||!Number.isFinite(n))return m.create(h.NUM);const i=qn(t,n);return Number.isFinite(i)?S.create(i):m.create(h.NUM)}return typeof n=="boolean"?S.create(qn(t,n?1:0)):this}sqrt(){const e=this.getValue();if(!Number.isFinite(e))return m.create(h.NUM);const t=ye(e).sqrt().toNumber();return Number.isFinite(t)?S.create(t):m.create(h.NUM)}cbrt(){const e=this.getValue();if(!Number.isFinite(e))return m.create(h.NUM);const t=Math.cbrt(e);return Number.isFinite(t)?S.create(t):m.create(h.NUM)}cos(){const e=this.getValue();if(!Number.isFinite(e))return m.create(h.NUM);const t=Math.cos(e);return Number.isFinite(t)?S.create(t):m.create(h.NUM)}acos(){const e=this.getValue();if(!Number.isFinite(e))return m.create(h.NUM);const t=Math.acos(e);return Number.isNaN(t)?m.create(h.NUM):S.create(t)}acosh(){const e=this.getValue();if(!Number.isFinite(e))return m.create(h.NUM);const t=Math.acosh(e);return Number.isNaN(t)?m.create(h.NUM):S.create(t)}sin(){const e=this.getValue();if(!Number.isFinite(e))return m.create(h.NUM);const t=Math.sin(e);return Number.isFinite(t)?S.create(t):m.create(h.NUM)}asin(){const e=this.getValue();if(!Number.isFinite(e))return m.create(h.NUM);const t=Math.asin(e);return Number.isNaN(t)?m.create(h.NUM):S.create(t)}asinh(){const e=this.getValue();if(!Number.isFinite(e))return m.create(h.NUM);const t=Math.asinh(e);return Number.isNaN(t)?m.create(h.NUM):S.create(t)}tan(){const e=this.getValue();if(!Number.isFinite(e))return m.create(h.NUM);const t=Math.tan(e);return Number.isFinite(t)?S.create(t):m.create(h.NUM)}tanh(){const e=this.getValue();if(!Number.isFinite(e))return m.create(h.NUM);const t=Math.tanh(e);return Number.isFinite(t)?S.create(t):m.create(h.NUM)}atan(){const e=this.getValue();if(!Number.isFinite(e))return m.create(h.NUM);const t=Math.atan(e);return Number.isFinite(t)?S.create(t):m.create(h.NUM)}atan2(e){if(e.isArray())return e.atan2Inverse(this);const t=this.getValue(),n=e.getValue();if(typeof n=="string")return m.create(h.VALUE);if(typeof n=="number"){if(!Number.isFinite(t)||!Number.isFinite(n))return m.create(h.NUM);const i=Math.atan2(t,n);return Number.isFinite(i)?S.create(i):m.create(h.NUM)}return typeof n=="boolean"?S.create(Math.atan2(t,n?1:0)):this}atanh(){const e=this.getValue();if(!Number.isFinite(e))return m.create(h.NUM);const t=Math.atanh(e);return Number.isFinite(t)?S.create(t):m.create(h.NUM)}log(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return m.create(h.NUM);const t=Math.log(e);return Number.isFinite(t)?S.create(t):m.create(h.NUM)}log10(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return m.create(h.NUM);const t=Math.log10(e);return Number.isFinite(t)?S.create(t):m.create(h.NUM)}exp(){const e=this.getValue();if(!Number.isFinite(e))return m.create(h.NUM);const t=Math.exp(e);return Number.isFinite(t)?S.create(t):m.create(h.NUM)}abs(){const e=this.getValue();if(!Number.isFinite(e))return m.create(h.NUM);const t=Math.abs(e);return Number.isFinite(t)?S.create(t):m.create(h.NUM)}round(e){if(e.isArray())return e.roundInverse(this);const t=this.getValue(),n=e.getValue();if(typeof n=="string")return m.create(h.VALUE);if(typeof n=="number"){if(!Number.isFinite(t)||!Number.isFinite(n))return m.create(h.NUM);const i=Wn(t,n);return Number.isFinite(i)?S.create(i):m.create(h.NUM)}return typeof n=="boolean"?S.create(Wn(t,n?1:0)):this}floor(e){if(e.isArray())return e.floorInverse(this);const t=this.getValue(),n=e.getValue();if(typeof n=="string")return m.create(h.VALUE);if(typeof n=="number"){if(!Number.isFinite(t)||!Number.isFinite(n))return m.create(h.NUM);const i=Gn(t,n);return Number.isFinite(i)?S.create(i):m.create(h.NUM)}return typeof n=="boolean"?S.create(Gn(t,n?1:0)):this}ceil(e){if(e.isArray())return e.ceilInverse(this);const t=this.getValue(),n=e.getValue();if(typeof n=="string")return m.create(h.VALUE);if(typeof n=="number"){if(!Number.isFinite(t)||!Number.isFinite(n))return m.create(h.NUM);const i=Xn(t,n);return Number.isFinite(i)?S.create(i):m.create(h.NUM)}return typeof n=="boolean"?S.create(Xn(t,n?1:0)):this}convertToNumberObjectValue(){return this}convertToBooleanObjectValue(){return kr(!0)}_compareInfinity(e,t,n){let i=!1;switch(n){case M.EQUALS:i=e===t;break;case M.GREATER_THAN:i=e>t;break;case M.GREATER_THAN_OR_EQUAL:i=e>=t;break;case M.LESS_THAN:i=e<t;break;case M.LESS_THAN_OR_EQUAL:i=e<=t;break;case M.NOT_EQUAL:i=e!==t;break}return i}}const wa=2e5,Jn=new Et(wa);class Re extends Je{constructor(e){super(e);g(this,"_value");this._value=e}static create(e){const t=Jn.get(e);if(t)return t;const n=new Re(e);return Jn.set(e,n),n}getValue(){return this._value}isString(){return!0}concatenateFront(e){return e.isArray()?e.concatenateBack(this):Re.create(this.concatenate(e.getValue(),Te.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):Re.create(this.concatenate(e.getValue(),Te.BACK))}compare(e,t){return e.isArray()?e.compare(this,Fs(t)):this.compareBy(e.getValue(),t)}compareBy(e,t){const n=this.getValue();let i=!1;if(typeof e=="string"){if(oa(e))return this._checkWildcard(e,t);switch(t){case M.EQUALS:i=n===e;break;case M.GREATER_THAN:i=n>e;break;case M.GREATER_THAN_OR_EQUAL:i=n>=e;break;case M.LESS_THAN:i=n<e;break;case M.LESS_THAN_OR_EQUAL:i=n<=e;break;case M.NOT_EQUAL:i=n!==e;break}}else if(typeof e=="number")switch(t){case M.NOT_EQUAL:case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:i=!0;break;case M.EQUALS:case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:i=!1;break}else if(typeof e=="boolean")switch(t){case M.EQUALS:case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:i=!1;break;case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:case M.NOT_EQUAL:i=!0;break}return Y.create(i)}convertToNumberObjectValue(){return jr(this.getValue())}convertToBooleanObjectValue(){return Y.create(!0)}_checkWildcard(e,t){const n=this.getValue().toLocaleLowerCase(),i=ua(n,e,t);return Y.create(i)}}function kr(r){if(typeof r=="boolean")return Y.create(r);let s=!1;if(typeof r=="string"){const e=r.toLocaleUpperCase();e===ut.TRUE?s=!0:e===ut.FALSE&&(s=!1)}else r===1?s=!0:s=!1;return Y.create(s)}function gn(r){let s=r.toString();return s.charAt(0)==='"'&&s.charAt(s.length-1)==='"'&&(s=s.slice(1,-1),s=s.replace(/""/g,'"')),Re.create(s)}function jr(r){if(typeof r=="boolean"){let s=0;return r&&(s=1),S.create(s)}else{if(typeof r=="number")return Number.isFinite(r)?S.create(r):m.create(h.NUM);if(y.isRealNum(r))return S.create(Number(r))}return m.create(h.VALUE)}function Va(r){return""}function va(r=[]){const s=[];for(let e=0;e<r.length;e++){const t=r[e];s[e]==null&&(s[e]=[]);for(let n=0;n<t.length;n++){const i=t[n];s[e][n]=ct.create(i)}}return s}function Oa(r=[]){const s=[];for(let e=0;e<r.length;e++){const t=r[e];s[e]==null&&(s[e]=[]);for(let n=0;n<t.length;n++){const i=t[n];i==null?s[e][n]=null:i.isError()?s[e][n]=i.getErrorType():s[e][n]=i.getValue()}}return s}class Ce extends Je{constructor(e){super(typeof e=="string"?e:Va());g(this,"_values",[]);g(this,"_rowCount",-1);g(this,"_columnCount",-1);g(this,"_unitId","");g(this,"_sheetId","");g(this,"_currentRow",-1);g(this,"_currentColumn",-1);g(this,"_sliceCache",new Map);g(this,"_flattenCache");g(this,"_defaultValue",null);g(this,"_flattenPosition");this._values=this._formatValue(e)}static create(e){return new Ce(e)}dispose(){this._values.forEach(e=>{e.forEach(t=>{t==null||t.dispose()})}),this._values=[],this._clearCache()}clone(){return this.map(e=>e)}getRowCount(){return this._rowCount}setRowCount(e){this._rowCount=e}getColumnCount(){return this._columnCount}setColumnCount(e){this._columnCount=e}setCurrent(e,t){this._currentRow=e,this._currentColumn=t}setUnitId(e){this._unitId=e}getUnitId(){return this._unitId}setSheetId(e){this._sheetId=e}getSheetId(){return this._sheetId}getCurrentRow(){return this._currentRow}getCurrentColumn(){return this._currentColumn}getArrayValue(){return this._values}setArrayValue(e){this._clearCache(),this._values=e}isArray(){return!0}setDefaultValue(e){this._defaultValue=e}get(e,t){var n;return(n=this._values[e])==null?void 0:n[t]}getRealValue(e,t){const n=this._values[e];if(n==null)return null;const i=n[t];return i==null?null:i}set(e,t,n){if(e>=this._rowCount||t>=this._columnCount)throw new Error("Exceeding array bounds.");this._clearCache(),this._values[e][t]=n}getRangePosition(){const t=this.getRowCount(),n=0,i=this.getColumnCount();return{startRow:0,endRow:t-1,startColumn:n,endColumn:i-1}}iterator(e){var u;const{startRow:t,endRow:n,startColumn:i,endColumn:a}=this.getRangePosition(),o=this.getArrayValue();for(let c=t;c<=n;c++)for(let l=i;l<=a;l++)if(e(((u=o[c])==null?void 0:u[l])||this._defaultValue,c,l)===!1)return}iteratorReverse(e){var u;const{startRow:t,endRow:n,startColumn:i,endColumn:a}=this.getRangePosition(),o=this.getArrayValue();for(let c=n;c>=t;c--)for(let l=a;l>=i;l--)if(e(((u=o[c])==null?void 0:u[l])||this._defaultValue,c,l)===!1)return}getLastTruePosition(){let e;return this.iteratorReverse((t,n,i)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:n,column:i},!1}),e}getFirstTruePosition(){let e;return this.iterator((t,n,i)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:n,column:i},!1}),e}getFirstCell(){const{startRow:e,startColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||le.create()}getLastCell(){const{endRow:e,endColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||le.create()}pick(e){const t=this.pickRaw(e);return this._createNewArray(t,1,t[0].length)}pickRaw(e){const t=e.getRowCount(),n=e.getColumnCount();if(t!==this._rowCount||n!==this._columnCount)return[[le.create()]];const i=[];i[0]=[];for(let a=0;a<t;a++)for(let o=0;o<n;o++){const u=e.get(a,o);if(!(u==null||u.isError())&&u.getValue()===!0){const c=this.get(a,o);i[0].push(c)}}return i}flatten(){if(this._flattenCache!=null)return this._flattenCache;const e=[];e[0]=[];for(let n=0;n<this._rowCount;n++)for(let i=0;i<this._columnCount;i++){const a=this.get(n,i);e[0].push(a)}const t=this._createNewArray(e,1,e[0].length);return t.setDefaultValue(this._defaultValue),this._flattenCache=t,t}flattenPosition(){if(this._flattenPosition!=null)return this._flattenPosition;const e=[],t=[],n=[],i=[];let a=0;for(let u=0;u<this._rowCount;u++)for(let c=0;c<this._columnCount;c++){const l=this.get(u,c);if(l==null||l.isError()||l.isNull()){a++;continue}l.isString()?(e.push(l),n.push(a++)):(t.push(l),i.push(a++))}const o={stringArray:e,numberArray:t,stringPosition:n,numberPosition:i};return this._flattenPosition=o,o}slice(e,t){let n=0,i=this._rowCount,a=1,o=0,u=this._columnCount,c=1;if(e!=null&&(n=e[0]||0,i=e[1]||this._rowCount,a=e[2]||1),t!=null&&(o=t[0]||0,u=t[1]||this._columnCount,c=t[2]||1),n>=this._rowCount||o>=this._columnCount)return;const l=`${n}_${i}_${a}_${o}_${u}_${c}`,f=this._sliceCache.get(l);if(f!=null)return f;const d=[],_=this._values;let C=0,D=0;for(let U=n;U<i;U+=a){D=0,d[C]==null&&(d[C]=[]);for(let $=o;$<u;$+=c){if(!_[U])return;let ue=_[U][$]||this._defaultValue;ue==null&&(ue=le.create()),d[C][D]=ue,D++}C++}if(d.length===0||d[0].length===0)return;const A=a>1?-1:n+this._currentRow,L=c>1?-1:o+this._currentColumn,w=this._createNewArray(d,d.length,d[0].length,A,L);return w.setDefaultValue(this._defaultValue),this._sliceCache.set(l,w),w}sortByRow(e){const t=this._transposeArray(this._values);t.sort(this._sort(e)),this._clearCache(),this._values=this._transposeArray(t)}sortByColumn(e){this._clearCache(),this._values.sort(this._sort(e))}transpose(){const e=this._transposeArray(this._values),t=this._rowCount,n=this._columnCount,i=this._createNewArray(e,n,t);return i.setDefaultValue(this._defaultValue),i}orderSearch(e,t=Le.MIN,n=!1,i=!1){let a,o,u,c;const l=(f,d,_)=>{if(f==null)return!0;let C;if(i===!0?C=f.compare(e,M.EQUALS):C=f.isEqual(e),(C==null?void 0:C.getValue())===!0)return a=f,u={row:d,column:_},!1;t===Le.MAX?f.isGreaterThan(e).getValue()===!0&&(o==null||f.minus(e).abs().isLessThanOrEqual(o.minus(e).abs()).getValue()===!0)&&(o=f,c={row:d,column:_}):t===Le.MIN&&f.isLessThan(e).getValue()===!0&&(o==null||f.minus(e).abs().isLessThanOrEqual(o.minus(e).abs()).getValue()===!0)&&(o=f,c={row:d,column:_})};if(n){const f=this._values.length;if(this._values[0]==null)return;const d=this._values[0].length;for(let _=f-1;_>=0;_--)for(let C=d-1;C>=0;C--){const D=this._values[_][C];l(D,_,C)}}else this.iterator((f,d,_)=>{l(f,d,_)});if(a!=null)return u;if(o!=null)return c}binarySearch(e,t=Ke.MIN){if(e.isError())return;const{stringArray:n,stringPosition:i,numberArray:a,numberPosition:o}=this.flattenPosition();return e.isString()?this._binarySearch(e,n,i,t):this._binarySearch(e,a,o,t)}_binarySearch(e,t,n,i=Ke.MIN){const a=In(),o=e.getValue().toString();let u=0,c=t.length-1,l=null;for(;u<=c;){const f=Math.floor((u+c)/2),d=t[f];let _=0;if(d.isNull())_=1;else{const C=d.getValue();_=a(C.toString(),o)}if(_===0)return n[f];_===-1?(u=f+1,i===Ke.MIN&&(l=f)):(c=f-1,i===Ke.MAX&&(l=f))}if(l!=null)return n[l]}sum(){let e=S.create(0);return this.iterator(t=>{if(t==null||t.isString()||t.isBoolean()||t.isNull())return!0;if(t.isError())return e=t,!1;e=e.plus(t)}),e}max(){let e=S.create(Number.NEGATIVE_INFINITY);return this.iterator(t=>{if(t==null)return!0;if(t.isError())return e=t,!1;if(t.isString()||t.isNull()||t.isBoolean())return!0;e.isLessThan(t).getValue()&&(e=t)}),e}min(){let e=S.create(Number.POSITIVE_INFINITY);return this.iterator(t=>{if(t==null)return!0;if(t.isError())return e=t,!1;if(t.isString()||t.isNull()||t.isBoolean())return!0;e.isGreaterThan(t).getValue()&&(e=t)}),e}count(){let e=S.create(0);return this.iterator(t=>{if(t==null||t.isError()||t.isString()||t.isNull()||t.isBoolean())return!0;e=e.plusBy(1)}),e}countA(){let e=S.create(0);return this.iterator(t=>{if(t==null||t.isNull())return!0;e=e.plusBy(1)}),e}countBlank(){let e=S.create(0);return this.iterator(t=>{if(t!=null&&!t.isNull())return!0;e=e.plusBy(1)}),e}getNegative(){return Ce.create("{0}").minus(this)}getReciprocal(){return Ce.create("{1}").divided(this)}plus(e){return this._batchOperator(e,1)}minus(e){return this._batchOperator(e,0)}multiply(e){return this._batchOperator(e,2)}divided(e){return this._batchOperator(e,3)}mod(e){return this._batchOperator(e,4)}modInverse(e){return this.map(t=>t.isError()?t:e.mod(t))}compare(e,t){return this._batchOperator(e,5,t)}concatenateFront(e){return this._batchOperator(e,6)}concatenateBack(e){return this._batchOperator(e,7)}map(e){const t=(n,i,a)=>n==null?le.create():n.isError()?n:e(n,i,a);return this.mapValue(t)}mapValue(e){var a;const t=this._rowCount,n=this._columnCount,i=[];for(let o=0;o<t;o++){const u=[];for(let c=0;c<n;c++){const l=(a=this._values)==null?void 0:a[o];if(l==null)u[c]=m.create(h.VALUE);else{const f=l[c]||this._defaultValue;f?u[c]=e(f,o,c):u[c]=le.create()}}i.push(u)}return this._createNewArray(i,t,n)}pow(e){return this._batchOperator(e,8)}powInverse(e){return this.map(t=>t.isError()?t:e.pow(t))}sqrt(){return this.map(e=>e.isError()?e:e.sqrt())}cbrt(){return this.map(e=>e.isError()?e:e.cbrt())}cos(){return this.map(e=>e.isError()?e:e.cos())}acos(){return this.map(e=>e.isError()?e:e.acos())}acosh(){return this.map(e=>e.isError()?e:e.acosh())}sin(){return this.map(e=>e.isError()?e:e.sin())}asin(){return this.map(e=>e.isError()?e:e.asin())}asinh(){return this.map(e=>e.isError()?e:e.asinh())}tan(){return this.map(e=>e.isError()?e:e.tan())}tanh(){return this.map(e=>e.isError()?e:e.tanh())}atan(){return this.map(e=>e.isError()?e:e.atan())}atanh(){return this.map(e=>e.isError()?e:e.atanh())}atan2(e){return this._batchOperator(e,12)}atan2Inverse(e){return this.map(t=>t.isError()?t:e.atan2(t))}mean(e=0){const t=this.sum(),n=this.count();return t.divided(e===0?n:n.minusBy(1))}median(){const e=this.flattenPosition().numberArray,t=this._createNewArray([e],1,e.length),n=t.getColumnCount();if(n<=1)return t.get(0,0)||le.create();if(t.sortByRow(0),n%2===0){const i=t.get(0,n/2)||le.create(),a=t.get(0,n/2-1)||le.create();return i.plus(a).divided(S.create(2))}return t.get(0,(n-1)/2)||le.create()}var(e=0){const t=this.mean(),n=[[]];this.iterator(l=>{if(l==null||l.isError()||l.isString()||l.isBoolean()||l.isNull())return;const f=l.minus(t).pow(S.create(2));f.isError()||n[0].push(f)});const{_unitId:i,_sheetId:a,_currentRow:o,_currentColumn:u}=this;return Ce.create({calculateValueList:n,rowCount:1,columnCount:n[0].length,unitId:i,sheetId:a,row:o,column:u}).mean(e)}std(e=0){const t=this.var(e);return t.isError()?t:t.sqrt()}log(){return this.map(e=>e.isError()?e:e.log())}log10(){return this.map(e=>e.isError()?e:e.log10())}exp(){return this.map(e=>e.isError()?e:e.exp())}abs(){return this.map(e=>e.isError()?e:e.abs())}round(e){return this._batchOperator(e,9)}roundInverse(e){return this.map(t=>t.isError()?t:e.round(t))}floor(e){return this._batchOperator(e,10)}floorInverse(e){return this.map(t=>t.isError()?t:e.floor(t))}ceil(e){return this._batchOperator(e,11)}ceilInverse(e){return this.map(t=>t.isError()?t:e.ceil(t))}toValue(){return Oa(this._values)}_clearCache(){this._flattenCache=null,this._sliceCache.clear()}_sort(e){const t=In();return(n,i)=>{const a=n[e],o=i[e];return a==null?1:o==null?-1:a.isError()&&a.isError()?0:a.isError()?1:o.isError()?-1:t(a.getValue(),o.getValue())}}_transposeArray(e){const t=e.length,n=e[0].length,i=[];for(let a=0;a<n;a++){i[a]=[];for(let o=0;o<t;o++)i[a][o]=e[o][a]}return i}_batchOperator(e,t,n){const i=[];let a=this._rowCount,o=this._columnCount;if(e.isArray()){const l=e.getRowCount(),f=e.getColumnCount();if(a=Math.max(l,a),o=Math.max(f,o),l===1&&f===1){const d=e.getFirstCell();for(let _=0;_<o;_++)i.push(d)}else if(l===1&&this._columnCount>1){const d=e.getArrayValue();for(let _=0;_<o;_++)i.push(d[0][_])}else return this._batchOperatorArray(e,t,n)}else for(let l=0;l<o;l++)i.push(e);const u=[];for(let l=0;l<o;l++){const f=i[l];this._batchOperatorValue(f,l,u,t,n)}const c=this._createNewArray(u,a,o);return c.setDefaultValue(Y.create(!1)),c}_batchOperatorValue(e,t,n,i,a){var _,C;const o=this._rowCount;let u=!1;const c=this.getUnitId(),l=this.getSheetId(),f=this.getCurrentRow(),d=this.getCurrentColumn();if(i===5&&(u=rt.canUseCache(c,l,t+d,f,f+o-1),u===!0)){if(a===M.EQUALS){const D=rt.getCellPositions(c,l,t+d,e.getValue());D!=null&&D.forEach(A=>{const L=A-f;n[L]==null&&(n[L]=[]),n[L][t]=Y.create(!0)})}else{const D=rt.getCellValuePositions(c,l,t+d);D!=null&&D.forEach((A,L)=>{let w=le.create();typeof L=="string"?w=Re.create(L):typeof L=="number"?w=S.create(L):typeof L=="boolean"&&(w=Y.create(L)),w.compare(e,a).getValue()===!0&&A.forEach($=>{$>=f&&$<=f+o-1&&(n[$-f]==null&&(n[$-f]=[]),n[$-f][t]=Y.create(!0))})})}return}for(let D=0;D<o;D++){const A=(C=(_=this._values)==null?void 0:_[D])==null?void 0:C[t];if(n[D]==null&&(n[D]=[]),A&&e)if(A.isError())n[D][t]=A;else if(e.isError())n[D][t]=e;else switch(i){case 1:n[D][t]=A.plus(e);break;case 0:n[D][t]=A.minus(e);break;case 2:n[D][t]=A.multiply(e);break;case 3:n[D][t]=A.divided(e);break;case 4:n[D][t]=A.mod(e);break;case 5:a?n[D][t]=A.compare(e,a):n[D][t]=m.create(h.VALUE);break;case 6:n[D][t]=A.concatenateFront(e);break;case 7:n[D][t]=A.concatenateBack(e);break;case 8:n[D][t]=A.pow(e);break;case 9:n[D][t]=A.round(e);break;case 10:n[D][t]=A.floor(e);break;case 12:n[D][t]=A.atan2(e);break;case 11:n[D][t]=A.ceil(e);break}else n[D][t]=m.create(h.NA);A!=null&&(A.isError()?rt.set(c,l,t+d,A.getErrorType(),D+f):A.isNull()?rt.set(c,l,t+d,null,D+f):rt.set(c,l,t+d,A.getValue(),D+f))}rt.setContinueBuildingCache(c,l,t+d,f,f+o-1)}_batchOperatorArray(e,t,n){var f,d,_,C,D,A,L,w,U,$,ue,de;let i=e.getRowCount(),a=e.getColumnCount();i<this._rowCount&&(i=this._rowCount),a<this._columnCount&&(a=this._columnCount);const o=[],u=e.getArrayValue(),c=this._checkArrayCalculateType(this),l=this._checkArrayCalculateType(e);for(let ge=0;ge<i;ge++){const ne=[];for(let N=0;N<a;N++){let te;c===3?te=(d=(f=this._values)==null?void 0:f[0])==null?void 0:d[0]:c===1?te=(C=(_=this._values)==null?void 0:_[0])==null?void 0:C[N]:c===2?te=(A=(D=this._values)==null?void 0:D[ge])==null?void 0:A[0]:te=(w=(L=this._values)==null?void 0:L[ge])==null?void 0:w[N];let K;if(l===3?K=(U=u==null?void 0:u[0])==null?void 0:U[0]:l===1?K=($=u==null?void 0:u[0])==null?void 0:$[N]:l===2?K=(ue=u==null?void 0:u[ge])==null?void 0:ue[0]:K=(de=u==null?void 0:u[ge])==null?void 0:de[N],te&&K)if(te.isError())ne[N]=te;else if(K.isError())ne[N]=K;else switch(t){case 1:ne[N]=te.plus(K);break;case 0:ne[N]=te.minus(K);break;case 2:ne[N]=te.multiply(K);break;case 3:ne[N]=te.divided(K);break;case 4:ne[N]=te.mod(K);break;case 5:n?ne[N]=te.compare(K,n):ne[N]=m.create(h.VALUE);break;case 6:ne[N]=te.concatenateFront(K);break;case 7:ne[N]=te.concatenateBack(K);break;case 8:ne[N]=te.pow(K);break;case 9:ne[N]=te.round(K);break;case 12:ne[N]=te.atan2(K);break;case 10:ne[N]=te.floor(K);break;case 11:ne[N]=te.ceil(K);break}else ne[N]=m.create(h.NA)}o.push(ne)}return this._createNewArray(o,i,a)}_checkArrayCalculateType(e){return e.getRowCount()===1&&e.getColumnCount()===1?3:e.getRowCount()===1?1:e.getColumnCount()===1?2:0}_formatValue(e){if(typeof e!="string")return e=e,this._rowCount=e.rowCount,this._columnCount=e.columnCount,this._unitId=e.unitId,this._sheetId=e.sheetId,this._currentRow=e.row,this._currentColumn=e.column,e.calculateValueList;e=e.slice(1,-1);const t=e.split(";"),n=t.length,i=[];let a=0;for(let o=0;o<n;o++){const c=t[o].split(","),l=c.length;a<l&&(a=l);const f=[];for(let d=0;d<l;d++){const _=c[d].trim();f.push(ct.create(_))}i.push(f)}return this._rowCount=n,this._columnCount=a,i}_createNewArray(e,t,n,i=-1,a=-1){(this._currentColumn===-1||this._currentRow===-1)&&(i=-1,a=-1);const o={calculateValueList:e,rowCount:t,columnCount:n,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:i,column:a};return Ce.create(o)}}class ct{static create(s){if(s==null)return le.create();if(typeof s=="boolean")return Y.create(s);if(typeof s=="string"){const e=s.toLocaleUpperCase().trim();return Vt.has(e)?m.create(e):e===ut.TRUE||e===ut.FALSE?kr(s):y.isRealNum(s)?S.create(Number(s)):new RegExp(Ji,"g").test(s.replace(/\n/g,"").replace(/\r/g,""))?Ce.create(s.replace(/\n/g,"").replace(/\r/g,"")):gn(s)}return typeof s=="number"?jr(s):m.create(h.VALUE)}}function Fa(r){if(r===null)return 0;if(r!=null&&r.p){const s=r==null?void 0:r.p.body;if(s==null)return 0;const e=s.dataStream;return e.substring(e.length-2,e.length)===y.DEFAULT_EMPTY_DOCUMENT_VALUE?e.substring(0,e.length-2):e}return(r==null?void 0:r.v)||0}const Ua=1e5,sn=new Et(Ua);class Ft extends Br{constructor(e){super();g(this,"_forcedSheetId","");g(this,"_forcedSheetName","");g(this,"_defaultSheetId","");g(this,"_rangeData",{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1});g(this,"_unitData",{});g(this,"_unitStylesData",{});g(this,"_defaultUnitId","");g(this,"_forcedUnitId","");g(this,"_runtimeData",{});g(this,"_arrayFormulaCellData",{});g(this,"_runtimeArrayFormulaCellData",{});g(this,"_runtimeFeatureCellData",{});g(this,"_refOffsetX",0);g(this,"_refOffsetY",0);this._token=e}dispose(){this._unitData={},this._unitStylesData={},this._runtimeData={}}getToken(){return this._token}setToken(e){this._token=e}isExceedRange(){const{startRow:e,endRow:t,startColumn:n,endColumn:i}=this.getRangePosition();return e<0||n<0||t>=this.getActiveSheetRowCount()||i>=this.getActiveSheetColumnCount()}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}getRangePosition(){let{startRow:e,startColumn:t,endRow:n,endColumn:i}=y.moveRangeByOffset(this._rangeData,this._refOffsetX,this._refOffsetY);return Number.isNaN(e)&&(e=0),Number.isNaN(t)&&(t=0),Number.isNaN(n)&&(n=this.getActiveSheetRowCount()-1),Number.isNaN(i)&&(i=this.getActiveSheetColumnCount()-1),{startRow:e,endRow:n,startColumn:t,endColumn:i}}isReferenceObject(){return!0}iterator(e){const{startRow:t,endRow:n,startColumn:i,endColumn:a}=this.getRangePosition();if(this._checkIfWorksheetMiss())return e(m.create(h.VALUE),t,i);const o=this._forcedUnitId||this._defaultUnitId,u=this._forcedSheetId||this._defaultSheetId;for(let c=t;c<=n;c++)for(let l=i;l<=a;l++){if(c<0||l<0)return e(m.create(h.REF),c,l);const f=this.getCellData(c,l);let d=!1;if(y.isNullCell(f)){d=e(null,c,l);continue}const _=this.getCellValueObject(f);if(c===t&&l===i){const C=this.getCellPattern(o,u,c,l);C&&_.setPattern(C)}if(d=e(_,c,l),d===!1)return}}getFirstCell(){const{startRow:e,startColumn:t}=this.getRangePosition(),n=this.getCellData(e,t);if(!n)return S.create(0);const i=this.getCellValueObject(n),a=this._forcedUnitId||this._defaultUnitId,o=this._forcedSheetId||this._defaultSheetId,u=this.getCellPattern(a,o,e,t);return u&&i.setPattern(u),i}getRangeData(){return this._rangeData}setRangeData(e){this._rangeData=e}getUnitId(){return this._forcedUnitId&&this._forcedUnitId.length>0?this._forcedUnitId:this._defaultUnitId}getSheetId(){return this._forcedSheetId&&this._forcedSheetId.length>0?this._forcedSheetId:this._defaultSheetId}setForcedUnitIdDirect(e){e.length>0&&(this._forcedUnitId=e)}getForcedUnitId(){return this._forcedUnitId}setForcedSheetId(e){var t;this._forcedSheetId=(t=e[this.getUnitId()])==null?void 0:t[this._forcedSheetName]}setForcedSheetIdDirect(e){this._forcedSheetId=e}getForcedSheetId(){return this._forcedSheetId}setForcedSheetName(e){e.length>0&&(this._forcedSheetName=e)}getForcedSheetName(){return this._forcedSheetName}setDefaultSheetId(e){this._defaultSheetId=e}getDefaultSheetId(){return this._defaultSheetId}setDefaultUnitId(e){this._defaultUnitId=e}getDefaultUnitId(){return this._defaultUnitId}getUnitData(){return this._unitData}setUnitData(e){this._unitData=e}getUnitStylesData(){return this._unitStylesData}setUnitStylesData(e){this._unitStylesData=e}getRuntimeData(){return this._runtimeData}setRuntimeData(e){this._runtimeData=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}setRuntimeArrayFormulaCellData(e){this._runtimeArrayFormulaCellData=e}getRuntimeFeatureCellData(){return this._runtimeFeatureCellData}setRuntimeFeatureCellData(e){this._runtimeFeatureCellData=e}getActiveSheetRowCount(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.rowCount)||0}getActiveSheetColumnCount(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.columnCount)||0}getRowCount(){return this._rangeData.endRow-this._rangeData.startRow+1}getColumnCount(){return this._rangeData.endColumn-this._rangeData.startColumn+1}getRowData(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.rowData)||{}}getColumnData(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.columnData)||{}}isCell(){return!1}isColumn(){return!1}isRow(){return!1}isRange(){return!1}isTable(){return!1}unionBy(e){return m.create(h.REF)}unionRange(e,t){return{startRow:-1,startColumn:-1,endRow:-1,endColumn:-1}}getCellValueObject(e){const t=Fa(e);return Vt.has(t)?m.create(t):e.t===y.CellValueType.NUMBER?jr(t):e.t===y.CellValueType.STRING||e.t===y.CellValueType.FORCE_STRING?gn(t):e.t===y.CellValueType.BOOLEAN?kr(t):ct.create(t)}getCellByRow(e){return this.getCellByPosition(e)}getCellByColumn(e){return this.getCellByPosition(void 0,e)}getCurrentActiveSheetData(){var e;return(e=this._unitData[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCurrentStylesData(){return this._unitStylesData[this.getUnitId()]}getCurrentRuntimeSheetData(){var e,t;return(t=(e=this._runtimeData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCurrentActiveArrayFormulaCellData(){var e,t;return(t=(e=this._arrayFormulaCellData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCurrentRuntimeActiveArrayFormulaCellData(){var e,t;return(t=(e=this._runtimeArrayFormulaCellData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCellData(e,t){const n=this.getCurrentActiveSheetData(),i=this.getCurrentRuntimeSheetData(),a=this.getCurrentActiveArrayFormulaCellData(),o=this.getCurrentRuntimeActiveArrayFormulaCellData();return(i==null?void 0:i.getValue(e,t))||(o==null?void 0:o.getValue(e,t))||this.getRuntimeFeatureCellValue(e,t)||(a==null?void 0:a.getValue(e,t))||(n==null?void 0:n.cellData.getValue(e,t))}getRuntimeFeatureCellValue(e,t){var i;const n=Object.keys(this._runtimeFeatureCellData);for(const a of n){const o=this._runtimeFeatureCellData[a],u=(i=o==null?void 0:o[this.getUnitId()])==null?void 0:i[this.getSheetId()];if(u==null)continue;const c=u.getValue(e,t);if(c!=null)return c}}getCellByPosition(e,t){e||(e=this._rangeData.startRow),t||(t=this._rangeData.startColumn);const n=this.getCellData(e,t);return n?this.getCellValueObject(n):m.create(h.VALUE)}getCellPattern(e,t,n,i){var c,l,f,d;const a=this._unitStylesData[e];if(!a)return"";const o=(f=(l=(c=this._unitData[e])==null?void 0:c[t])==null?void 0:l.cellData)==null?void 0:f.getValue(n,i);if(!o)return"";const u=a.getStyleByCell(o);return((d=u==null?void 0:u.n)==null?void 0:d.pattern)||""}toArrayValueObject(e=!0){var C;const{startRow:t,endRow:n,startColumn:i,endColumn:a}=this.getRangePosition(),o=`${this.getUnitId()}_${this.getSheetId()}_${t}_${n}_${i}_${a}`,u=sn.get(o);if(u&&e)return u;const c=n-t+1,l=a-i+1;if(c<0||l<0)return this._getBlankArrayValueObject();const f=new Array(c);this.iterator((D,A,L)=>{const w=A-t,U=L-i;f[w]||(f[w]=new Array(l)),D==null&&(D=le.create()),f[w][U]=D});const d={calculateValueList:f,rowCount:f.length,columnCount:((C=f[0])==null?void 0:C.length)||0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:t,column:i},_=Ce.create(d);return e&&sn.set(o,_),_}toUnitRange(){return{range:this.getRangePosition(),sheetId:this.getSheetId(),unitId:this.getUnitId()}}_checkIfWorksheetMiss(){return(this._forcedSheetId==null||this._forcedSheetId.length===0)&&this._forcedSheetName.length>0}_getBlankArrayValueObject(){const e={calculateValueList:[],rowCount:0,columnCount:0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:0,column:0};return Ce.create(e)}}class Ma extends Br{constructor(s){super(),this._promise=s}isAsyncObject(){return!0}async getValue(){return this._promise}}class Ba extends Br{constructor(s){super(),this._promiseList=s}isAsyncArrayObject(){return!0}async getValue(){var t;const s=[];for(let n=0;n<this._promiseList.length;n++){const i=this._promiseList[n];s[n]==null&&(s[n]=[]);for(let a=0;a<i.length;a++){const o=i[a];o.isAsyncObject()?s[n][a]=await o.getValue():s[n][a]=o}}const e={calculateValueList:s,rowCount:s.length,columnCount:((t=s[0])==null?void 0:t.length)||0,unitId:"",sheetId:"",row:0,column:0};return Ce.create(e)}}class Qt extends Ft{constructor(s,e,t){super(""),this.setRangeData(s),e&&this.setForcedSheetIdDirect(e),t&&this.setForcedUnitIdDirect(t)}isRange(){return!0}}const Nn=/[\[\]]/g;function es(r,s){if(Nn.test(r)){const e=Number(r.replace(Nn,""));return s+e}return Number(r)-1}function Xr(r,s=0,e=0){r=r.toLocaleUpperCase();const t=r.split(/[RC]/),n=t[1],i=t[2],a=es(n,s),o=es(i,e);return{row:a,column:o,absoluteRefType:y.AbsoluteRefType.NONE}}function Bs(r,s=0,e=0){const{refBody:t,sheetName:n,unitId:i}=xs(r),a=t.indexOf(":");if(a===-1){const D=Xr(t,s,e),A=D.row,L=D.column,w=D.absoluteRefType;return{unitId:i,sheetName:n,range:{startRow:A,startColumn:L,endRow:A,endColumn:L,startAbsoluteRefType:w,endAbsoluteRefType:w}}}const o=t.substring(0,a),u=t.substring(a+1),c=Xr(o,s,e),l=Xr(u,s,e),f=c.row,d=c.column,_=l.row,C=l.column;return{unitId:i,sheetName:n,range:{startRow:f,startColumn:d,endRow:_,endColumn:C,startAbsoluteRefType:c.absoluteRefType,endAbsoluteRefType:l.absoluteRefType}}}function Ta(r){const s=tr(r.startRow,r.startAbsoluteRefType,!0),e=tr(r.startColumn,r.startAbsoluteRefType,!1),t=tr(r.endRow,r.endAbsoluteRefType,!0),n=tr(r.endColumn,r.endAbsoluteRefType,!1);return s===t&&e===n?`R${s}C${e}`:`R${s}C${e}:R${t}C${n}`}function tr(r,s=y.AbsoluteRefType.ALL,e){switch(r+=1,s){case y.AbsoluteRefType.ALL:return`${r}`;case y.AbsoluteRefType.ROW:return e?`${r}`:`[${r}]`;case y.AbsoluteRefType.COLUMN:return e?`[${r}]`:`${r}`;case y.AbsoluteRefType.NONE:return`[${r}]`}}const Ts=[];var ks=(r=>r)(ks||{});function ka(r){const s=r.getValue();let e=0;return s&&(e=1),S.create(e)}function ts(r){return r.isArray()&&r.getRowCount()===1&&r.getColumnCount()===1?!0:r.isReferenceObject()?!!(r.isCell()||r.getRowCount()===1&&r.getColumnCount()===1):(r=r,!!(r.isString()||r.isNumber()||r.isBoolean()||r.isError()||r.isNull()))}function ht(r){const s=r==null?void 0:r.getPattern();let e={};if(s&&(e={s:{n:{pattern:s}}}),r==null)return{v:null,...e};if(r.isError())return{v:r.getErrorType(),t:y.CellValueType.STRING,...e};if(r.isValueObject()){const t=r,n=t.getValue();return t.isNumber()?{v:n,t:y.CellValueType.NUMBER,...e}:t.isBoolean()?{v:n?1:0,t:y.CellValueType.BOOLEAN,...e}:t.isString()?{v:n,t:y.CellValueType.STRING,...e}:t.isNull()?{v:null,...e}:{v:n,t:y.CellValueType.STRING,...e}}}function me(r,s,e,t){const n=[];if(e.isArray()){const i=e.getRowCount(),a=e.getColumnCount();if(i===1&&a===1){const o=e.getFirstCell();for(let u=0;u<r;u++){const c=[];for(let l=0;l<s;l++)c.push(o);n.push(c)}}else if(i===1&&a>1)for(let o=0;o<r;o++){const u=[];for(let c=0;c<s;c++){const l=e.getRealValue(0,c)||(t!=null?t:le.create());u.push(l)}n.push(u)}else if(a===1&&i>1)for(let o=0;o<r;o++){const u=[];for(let c=0;c<s;c++){const l=e.getRealValue(o,0)||(t!=null?t:le.create());u.push(l)}n.push(u)}else for(let o=0;o<r;o++){const u=[];for(let c=0;c<s;c++){const l=e.getRealValue(o,c)||(t!=null?t:le.create());u.push(l)}n.push(u)}}else for(let i=0;i<r;i++){const a=[];for(let o=0;o<s;o++)a.push(e);n.push(a)}return zt(n,r,s)}function zt(r,s,e,t="",n=""){const i={calculateValueList:r,rowCount:s,columnCount:e,unitId:t,sheetId:n,row:-1,column:-1};return Ce.create(i)}class pn extends Ft{constructor(s){super(s);const e=Ye(s);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName),this.setRangeData(e.range)}isCell(){return!0}unionBy(s){if(!s.isCell())return m.create(h.REF);const e=s,t=this.unionRange(this.getRangeData(),e.getRangeData());return this._createRange(t)}unionRange(s,e){const t=s.startRow,n=s.startColumn,i=e.startRow,a=e.startColumn,o={startRow:-1,startColumn:-1,endRow:-1,endColumn:-1};return t>i?(o.startRow=i,o.endRow=t):(o.startRow=t,o.endRow=i),n>a?(o.startColumn=a,o.endColumn=n):(o.startColumn=n,o.endColumn=a),s.startAbsoluteRefType&&(o.startAbsoluteRefType=s.startAbsoluteRefType),e.startAbsoluteRefType&&(o.endAbsoluteRefType=e.startAbsoluteRefType),o}_createRange(s){const e=new Qt(s,this.getForcedSheetId(),this.getForcedUnitId());e.setUnitData(this.getUnitData()),e.setDefaultSheetId(this.getDefaultSheetId()),e.setDefaultUnitId(this.getDefaultUnitId()),e.setRuntimeData(this.getRuntimeData()),e.setUnitStylesData(this.getUnitStylesData()),e.setArrayFormulaCellData(this.getArrayFormulaCellData()),e.setRuntimeArrayFormulaCellData(this.getRuntimeArrayFormulaCellData()),e.setRuntimeFeatureCellData(this.getRuntimeFeatureCellData());const{x:t,y:n}=this.getRefOffset();e.setRefOffset(t,n);const i=this.getForcedSheetId();e.setForcedSheetName(this.getForcedSheetName()),i!=null&&e.setForcedSheetIdDirect(i);const a=this.getForcedUnitId();return a&&e.setForcedUnitIdDirect(a),e}}class Rn extends Ft{constructor(s){super(s);const e=Ye(s);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={startColumn:Number.NaN,startRow:e.range.startRow,endColumn:Number.NaN,endRow:-1};this.setRangeData(t)}isRow(){return!0}unionBy(s){if(!s.isRow())return m.create(h.REF);const e=s;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return m.create(h.REF);const t=this.getRangeData(),n=e.getRangeData(),i=n.startRow,a=t.startRow;return i>a?t.endRow=i:(t.startRow=i,t.endRow=a),n.startAbsoluteRefType&&(t.endAbsoluteRefType=n.startAbsoluteRefType),t.rangeType=y.RANGE_TYPE.ROW,this.setToken(`${this.getToken()}${W.COLON}${e.getToken()}`),this}}class _n extends Ft{constructor(s){super(s);const e=Ye(s);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={startColumn:e.range.startColumn,startRow:Number.NaN,endColumn:-1,endRow:Number.NaN};this.setRangeData(t)}isColumn(){return!0}unionBy(s){if(!s.isColumn())return m.create(h.REF);const e=s;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return m.create(h.REF);const t=this.getRangeData(),n=e.getRangeData(),i=n.startColumn,a=t.startColumn;return i>a?t.endColumn=i:(t.startColumn=i,t.endColumn=a),n.startAbsoluteRefType&&(t.endAbsoluteRefType=n.startAbsoluteRefType),t.rangeType=y.RANGE_TYPE.COLUMN,this.setToken(`${this.getToken()}${W.COLON}${e.getToken()}`),this}}class k extends y.Disposable{constructor(e){super();g(this,"_unitId");g(this,"_subUnitId");g(this,"_row",-1);g(this,"_column",-1);g(this,"_definedNames");g(this,"needsExpandParams",!1);g(this,"needsReferenceObject",!1);g(this,"minParams",-1);g(this,"maxParams",-1);this._name=e}get name(){return this._name}get unitId(){return this._unitId}get subUnitId(){return this._subUnitId}get row(){return this._row}get column(){return this._column}getDefinedName(e){var n;const t=this._definedNames;return t==null?null:(n=Array.from(Object.values(t)).filter(i=>i.name===e))==null?void 0:n[0]}setDefinedNames(e){this._definedNames=e}isAsync(){return!1}isAddress(){return!1}isCustom(){return!1}setRefInfo(e,t,n,i){this._unitId=e,this._subUnitId=t,this._row=n,this._column=i}calculateCustom(...e){return null}calculate(...e){return m.create(h.VALUE)}checkArrayType(e){return e.isReferenceObject()||e.isValueObject()&&e.isArray()}getIndexNumValue(e,t=1){if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())return e.getValue()===!1?m.create(h.VALUE):t;if(e.isString()){const n=Number(e.getValue());return Number.isNaN(n)?m.create(h.REF):n}else if(e.isNumber())return e.getValue();return m.create(h.VALUE)}getZeroOrOneByOneDefault(e){if(e==null)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())e.getValue()===!1&&(t=0);else{if(e.isString())return;e.isNumber()&&e.getValue()===0&&(t=0)}return t}getMatchTypeValue(e){if(e==null)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())e.getValue()===!1&&(t=0);else{if(e.isString())return;if(e.isNumber()){const n=e.getValue();n<=0&&(t=n)}}return t}binarySearch(e,t,n,i){const a=t.binarySearch(e,i);if(a==null)return m.create(h.NA);let o;return n.getRowCount()===1?o=n.get(0,a)||le.create():o=n.get(a,0)||le.create(),o.isNull()?m.create(h.NA):o}_getOneFirstByRaw(e){return e.length===0?m.create(h.NA):e[0][0]||m.create(h.NA)}_getOneLastByRaw(e){return e.length===0?m.create(h.NA):e[e.length-1][e[0].length-1]||m.create(h.NA)}equalSearch(e,t,n,i=!0){const a=n.pickRaw(t.isEqual(e));return i?this._getOneFirstByRaw(a):this._getOneLastByRaw(a)}fuzzySearch(e,t,n,i=!0){const a=n.pickRaw(t.compare(e,M.EQUALS));return i?this._getOneFirstByRaw(a):this._getOneLastByRaw(a)}orderSearch(e,t,n,i=Le.MIN,a=!1){const o=t.orderSearch(e,i,a);if(o==null)return m.create(h.NA);const u=n.get(o.row,o.column)||le.create();return u.isNull()?m.create(h.NA):u}binarySearchExpand(e,t,n,i=0,a){const o=t.binarySearch(e,a);return o==null?m.create(h.NA):i===0?n.slice([o,o+1]):n.slice(void 0,[o,o+1])}equalSearchExpand(e,t,n,i=!0,a=0){const o=t.isEqual(e);let u;return i?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null?m.create(h.NA):a===0?n.slice([u.row,u.row+1]):n.slice(void 0,[u.column,u.column+1])}fuzzySearchExpand(e,t,n,i=!0,a=0){const o=t.compare(e,M.EQUALS);let u;return i?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null?m.create(h.NA):a===0?n.slice([u.row,u.row+1]):n.slice(void 0,[u.column,u.column+1])}orderSearchExpand(e,t,n,i=Le.MIN,a=!1,o=0){const u=t.orderSearch(e,i,a);return u==null?m.create(h.NA):o===0?n.slice([u.row,u.row+1]):n.slice(void 0,[u.column,u.column+1])}flattenArray(e,t=!0){const n=[];n[0]=[];for(let i=0;i<e.length;i++){let a=e[i];if((a.isString()||a.isBoolean()||a.isNull())&&(a=a.convertToNumberObjectValue()),a.isError())return a;if(a.isArray()){let o;if(a.iterator(u=>{if(u==null||u.isNull()||t&&(u.isString()||u.isBoolean()))return!0;if(u=this._includingLogicalValuesAndText(u),u.isError())return o=u,!1;n[0].push(u)}),o!=null&&o.isError())return o}else n[0].push(a)}return zt(n,1,n[0].length)}_includingLogicalValuesAndText(e){if(e.isBoolean()&&(e=ka(e)),e.isString()){const t=Number(e.getValue());e=S.create(Number.isNaN(t)?0:t)}return e}createReferenceObject(e,t){const n=e.getForcedUnitId(),i=e.getForcedSheetId()||"",a=e.getForcedSheetName(),u=Rt({unitId:n,sheetName:a,range:t});let c;return new RegExp(Gt).test(u)?c=new pn(u):new RegExp(Ds).test(u)?c=new Rn(u):new RegExp(bs).test(u)?c=new _n(u):c=new Qt(t,i,n),this._setReferenceDefault(e,c)}_setReferenceDefault(e,t){return this.unitId==null||this.subUnitId==null?m.create(h.REF):(t.setDefaultUnitId(this.unitId),t.setDefaultSheetId(this.subUnitId),t.setUnitData(e.getUnitData()),t.setRuntimeData(e.getRuntimeData()),t.setArrayFormulaCellData(e.getArrayFormulaCellData()),t.setRuntimeArrayFormulaCellData(e.getRuntimeArrayFormulaCellData()),t)}}class js extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.std()}}class $s extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.std(1)}}class Is extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.var()}}class Ys extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.var(1)}}var bt=(r=>(r.BETADIST="BETADIST",r.BETAINV="BETAINV",r.BINOMDIST="BINOMDIST",r.CHIDIST="CHIDIST",r.CHIINV="CHIINV",r.CHITEST="CHITEST",r.CONFIDENCE="CONFIDENCE",r.COVAR="COVAR",r.CRITBINOM="CRITBINOM",r.EXPONDIST="EXPONDIST",r.FDIST="FDIST",r.FINV="FINV",r.FTEST="FTEST",r.GAMMADIST="GAMMADIST",r.GAMMAINV="GAMMAINV",r.HYPGEOMDIST="HYPGEOMDIST",r.LOGINV="LOGINV",r.LOGNORMDIST="LOGNORMDIST",r.MODE="MODE",r.NEGBINOMDIST="NEGBINOMDIST",r.NORMDIST="NORMDIST",r.NORMINV="NORMINV",r.NORMSDIST="NORMSDIST",r.NORMSINV="NORMSINV",r.PERCENTILE="PERCENTILE",r.PERCENTRANK="PERCENTRANK",r.POISSON="POISSON",r.QUARTILE="QUARTILE",r.RANK="RANK",r.STDEV="STDEV",r.STDEVP="STDEVP",r.TDIST="TDIST",r.TINV="TINV",r.TTEST="TTEST",r.VAR="VAR",r.VARP="VARP",r.WEIBULL="WEIBULL",r.ZTEST="ZTEST",r))(bt||{});const Qs=[[$s,bt.STDEV],[js,bt.STDEVP],[Ys,bt.VAR],[Is,bt.VARP]],zs=[];var Hs=(r=>(r.CUBEKPIMEMBER="CUBEKPIMEMBER",r.CUBEMEMBER="CUBEMEMBER",r.CUBEMEMBERPROPERTY="CUBEMEMBERPROPERTY",r.CUBERANKEDMEMBER="CUBERANKEDMEMBER",r.CUBESET="CUBESET",r.CUBESETCOUNT="CUBESETCOUNT",r.CUBEVALUE="CUBEVALUE",r))(Hs||{});const Ws=[];var Gs=(r=>(r.DAVERAGE="DAVERAGE",r.DCOUNT="DCOUNT",r.DCOUNTA="DCOUNTA",r.DGET="DGET",r.DMAX="DMAX",r.DMIN="DMIN",r.DPRODUCT="DPRODUCT",r.DSTDEV="DSTDEV",r.DSTDEVP="DSTDEVP",r.DSUM="DSUM",r.DVAR="DVAR",r.DVARP="DVARP",r))(Gs||{});const En="yyyy/mm/dd;@";function yn(r){const s=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28)),t=Date.UTC(r.getFullYear(),r.getMonth(),r.getDate());let n=(t-s.getTime())/(1e3*3600*24);return t>e.getTime()&&(n+=1),Math.floor(n)+1}function $r(r){const s=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28));let t=Math.floor(r)-1;return t>(e.getTime()-s.getTime())/(1e3*3600*24)&&(t-=1),new Date(s.getTime()+t*(1e3*3600*24))}function Cn(r){if(!/^\d{4}[-/](0?[1-9]|1[012])[-/](0?[1-9]|[12][0-9]|3[01])$/.test(r))return!1;const e=r.replace(/-/g,"/").replace(/T.+/,""),t=new Date(`${e}`);if(Number.isNaN(t.getTime()))return!1;const n=t.getFullYear(),i=(t.getMonth()+1).toString().padStart(2,"0"),a=t.getDate().toString().padStart(2,"0"),o=`${n}-${i}-${a}`;return r.replace(/\//g,"-").split("-").map(c=>c.padStart(2,"0")).join("-")===o}class ja extends k{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",3)}calculate(e,t,n){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;const i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=me(i,a,e),u=me(i,a,t),c=me(i,a,n);return o.map((l,f,d)=>{const _=u.get(f,d)||le.create(),C=c.get(f,d)||le.create();if(l.isError())return l;if(_.isError())return _;if(C.isError())return C;if(l.isString()||_.isString()||C.isString())return m.create(h.VALUE);let D=+l.getValue();const A=Math.floor(+_.getValue()),L=+C.getValue();if(D<0||D>9999)return m.create(h.NUM);D>=0&&D<1899&&(D+=1900);const w=new Date(D,A-1,L),U=yn(w);if(U<0)return m.create(h.NUM);const $=S.create(U);return $.setPattern(En),$})}}class $a extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t;const n=e.getValue();if(e.isString()){if(!Cn(`${n}`))return m.create(h.VALUE);t=new Date(`${n}`)}else{const o=+e.getValue();if(o<0)return m.create(h.NUM);if(o===0)return S.create(0);t=$r(o)}const i=t.getDate();return S.create(i)}}class Ia extends k{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),a=me(n,i,e),o=me(n,i,t);return a.map((u,c,l)=>{const f=o.get(c,l)||le.create();if(u.isError())return u;if(f.isError())return f;if(u.isString()||u.isBoolean()||f.isString()||f.isBoolean())return m.create(h.VALUE);const d=+u.getValue();if(d<0)return m.create(h.NUM);const _=Math.floor(+f.getValue()),C=$r(d),D=C.getUTCFullYear(),A=C.getUTCMonth()+_,L=C.getUTCDate(),w=new Date(Date.UTC(D,A,L)),U=yn(w),$=S.create(U);return $.setPattern(En),$})}}var nt=(r=>(r.DATE="DATE",r.DATEDIF="DATEDIF",r.DATEVALUE="DATEVALUE",r.DAY="DAY",r.DAYS="DAYS",r.DAYS360="DAYS360",r.EDATE="EDATE",r.EOMONTH="EOMONTH",r.HOUR="HOUR",r.ISOWEEKNUM="ISOWEEKNUM",r.MINUTE="MINUTE",r.MONTH="MONTH",r.NETWORKDAYS="NETWORKDAYS",r.NETWORKDAYS_INTL="NETWORKDAYS.INTL",r.NOW="NOW",r.SECOND="SECOND",r.TIME="TIME",r.TIMEVALUE="TIMEVALUE",r.TODAY="TODAY",r.WEEKDAY="WEEKDAY",r.WEEKNUM="WEEKNUM",r.WORKDAY="WORKDAY",r.WORKDAY_INTL="WORKDAY.INTL",r.YEAR="YEAR",r.YEARFRAC="YEARFRAC",r))(nt||{});class Ya extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t;const n=e.getValue();if(e.isString()){if(!Cn(`${n}`))return m.create(h.VALUE);t=new Date(`${n}`)}else{const o=+e.getValue();if(o<0)return m.create(h.NUM);if(o===0)return S.create(1);t=$r(o)}const i=t.getUTCMonth()+1;return S.create(i)}}class Qa extends k{constructor(){super(...arguments);g(this,"minParams",0);g(this,"maxParams",0)}calculate(e){const t=yn(new Date),n=S.create(t);return n.setPattern(En),n}}class za extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t;const n=e.getValue();if(e.isString()){if(!Cn(`${n}`))return m.create(h.VALUE);t=new Date(`${n}`)}else{const o=+n;if(o<0)return m.create(h.NUM);if(o===0)return S.create(1900);t=$r(o)}const i=t.getUTCFullYear();return S.create(i)}}const Xs=[[ja,nt.DATE],[$a,nt.DAY],[Ia,nt.EDATE],[Ya,nt.MONTH],[Qa,nt.TODAY],[za,nt.YEAR]],Ks=[];var qs=(r=>(r.BESSELI="BESSELI",r.BESSELJ="BESSELJ",r.BESSELK="BESSELK",r.BESSELY="BESSELY",r.BIN2DEC="BIN2DEC",r.BIN2HEX="BIN2HEX",r.BIN2OCT="BIN2OCT",r.BITAND="BITAND",r.BITLSHIFT="BITLSHIFT",r.BITOR="BITOR",r.BITRSHIFT="BITRSHIFT",r.BITXOR="BITXOR",r.COMPLEX="COMPLEX",r.CONVERT="CONVERT",r.DEC2BIN="DEC2BIN",r.DEC2HEX="DEC2HEX",r.DEC2OCT="DEC2OCT",r.DELTA="DELTA",r.ERF="ERF",r.ERF_PRECISE="ERF.PRECISE",r.ERFC="ERFC",r.ERFC_PRECISE="ERFC.PRECISE",r.GESTEP="GESTEP",r.HEX2BIN="HEX2BIN",r.HEX2DEC="HEX2DEC",r.HEX2OCT="HEX2OCT",r.IMABS="IMABS",r.IMAGINARY="IMAGINARY",r.IMARGUMENT="IMARGUMENT",r.IMCONJUGATE="IMCONJUGATE",r.IMCOS="IMCOS",r.IMCOSH="IMCOSH",r.IMCOT="IMCOT",r.IMCSC="IMCSC",r.IMCSCH="IMCSCH",r.IMDIV="IMDIV",r.IMEXP="IMEXP",r.IMLN="IMLN",r.IMLOG10="IMLOG10",r.IMLOG2="IMLOG2",r.IMPOWER="IMPOWER",r.IMPRODUCT="IMPRODUCT",r.IMREAL="IMREAL",r.IMSEC="IMSEC",r.IMSECH="IMSECH",r.IMSIN="IMSIN",r.IMSINH="IMSINH",r.IMSQRT="IMSQRT",r.IMSUB="IMSUB",r.IMSUM="IMSUM",r.IMTAN="IMTAN",r.OCT2BIN="OCT2BIN",r.OCT2DEC="OCT2DEC",r.OCT2HEX="OCT2HEX",r))(qs||{});const Zs=[];var Js=(r=>(r.ACCRINT="ACCRINT",r.ACCRINTM="ACCRINTM",r.AMORDEGRC="AMORDEGRC",r.AMORLINC="AMORLINC",r.COUPDAYBS="COUPDAYBS",r.COUPDAYS="COUPDAYS",r.COUPDAYSNC="COUPDAYSNC",r.COUPNCD="COUPNCD",r.COUPNUM="COUPNUM",r.COUPPCD="COUPPCD",r.CUMIPMT="CUMIPMT",r.CUMPRINC="CUMPRINC",r.DB="DB",r.DDB="DDB",r.DISC="DISC",r.DOLLARDE="DOLLARDE",r.DOLLARFR="DOLLARFR",r.DURATION="DURATION",r.EFFECT="EFFECT",r.FV="FV",r.FVSCHEDULE="FVSCHEDULE",r.INTRATE="INTRATE",r.IPMT="IPMT",r.IRR="IRR",r.ISPMT="ISPMT",r.MDURATION="MDURATION",r.MIRR="MIRR",r.NOMINAL="NOMINAL",r.NPER="NPER",r.NPV="NPV",r.ODDFPRICE="ODDFPRICE",r.ODDFYIELD="ODDFYIELD",r.ODDLPRICE="ODDLPRICE",r.ODDLYIELD="ODDLYIELD",r.PDURATION="PDURATION",r.PMT="PMT",r.PPMT="PPMT",r.PRICE="PRICE",r.PRICEDISC="PRICEDISC",r.PRICEMAT="PRICEMAT",r.PV="PV",r.RATE="RATE",r.RECEIVED="RECEIVED",r.RRI="RRI",r.SLN="SLN",r.SYD="SYD",r.TBILLEQ="TBILLEQ",r.TBILLPRICE="TBILLPRICE",r.TBILLYIELD="TBILLYIELD",r.VDB="VDB",r.XIRR="XIRR",r.XNPV="XNPV",r.YIELD="YIELD",r.YIELDDISC="YIELDDISC",r.YIELDMAT="YIELDMAT",r))(Js||{}),Ve=(r=>(r.CELL="CELL",r.ERROR_TYPE="ERROR.TYPE",r.INFO="INFO",r.ISBLANK="ISBLANK",r.ISERR="ISERR",r.ISERROR="ISERROR",r.ISEVEN="ISEVEN",r.ISFORMULA="ISFORMULA",r.ISLOGICAL="ISLOGICAL",r.ISNA="ISNA",r.ISNONTEXT="ISNONTEXT",r.ISNUMBER="ISNUMBER",r.ISODD="ISODD",r.ISOMITTED="ISOMITTED",r.ISREF="ISREF",r.ISTEXT="ISTEXT",r.N="N",r.NA="NA",r.SHEET="SHEET",r.SHEETS="SHEETS",r.TYPE="TYPE",r))(Ve||{});class Ha extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isNull()?Y.create(!0):e.isArray()?e.mapValue(t=>t.isNull()?Y.create(!0):Y.create(!1)):Y.create(!1)}}class Wa extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.getValue()===h.NA?Y.create(!1):e.isError()?Y.create(!0):e.isArray()?e.mapValue(t=>t.getValue()===h.NA?Y.create(!1):t.isError()?Y.create(!0):Y.create(!1)):Y.create(!1)}}class Ga extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isError()?Y.create(!0):e.isArray()?e.mapValue(t=>t.isError()?Y.create(!0):Y.create(!1)):Y.create(!1)}}class Xa extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){if(e.isArray()||e.isBoolean()||!e.isNumber()&&(e=e.convertToNumberObjectValue(),!e.isNumber()))return m.create(h.VALUE);const t=e.getValue(),n=Math.floor(Math.abs(t));return Y.create(n%2===0)}}class Ka extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isBoolean()?Y.create(!0):e.isArray()?e.mapValue(t=>t.isBoolean()?Y.create(!0):Y.create(!1)):Y.create(!1)}}class qa extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.getValue()===h.NA?Y.create(!0):e.isArray()?e.mapValue(t=>t.getValue()===h.NA?Y.create(!0):Y.create(!1)):Y.create(!1)}}class Za extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return!e.isArray()&&!e.isString()?Y.create(!0):e.isArray()?e.mapValue(t=>t.isString()?Y.create(!1):Y.create(!0)):Y.create(!1)}}class Ja extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isNumber()?Y.create(!0):e.isArray()?e.mapValue(t=>t.isNumber()?Y.create(!0):Y.create(!1)):Y.create(!1)}}class Na extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){if(e.isArray()||e.isBoolean()||!e.isNumber()&&(e=e.convertToNumberObjectValue(),!e.isNumber()))return m.create(h.VALUE);const t=e.getValue(),n=Math.floor(Math.abs(t));return Y.create(n%2!==0)}}class eo extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1);g(this,"needsReferenceObject",!0)}calculate(e){return e.isReferenceObject()?Y.create(!0):Y.create(!1)}}class to extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()?Y.create(!0):e.isArray()?e.mapValue(t=>t.isString()?Y.create(!0):Y.create(!1)):Y.create(!1)}}const Ns=[[Ha,Ve.ISBLANK],[Wa,Ve.ISERR],[Xa,Ve.ISEVEN],[Na,Ve.ISODD],[Ga,Ve.ISERROR],[Ka,Ve.ISLOGICAL],[qa,Ve.ISNA],[Za,Ve.ISNONTEXT],[Ja,Ve.ISNUMBER],[eo,Ve.ISREF],[to,Ve.ISTEXT]];class ro extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=!0,n=!0,i=null;for(const a of e){if(a.isError())return a;if(a.isArray()){if(a.iterator(o=>{if(o!=null&&o.isError())return i=o,!1;(o!=null&&o.isBoolean()||o!=null&&o.isNumber())&&(t=t&&!!o.getValue(),n=!1)}),i)return i}else(a.isBoolean()||a.isNumber())&&(t=t&&!!a.getValue(),n=!1)}return n?m.create(h.VALUE):Y.create(t)}}var st=(r=>(r.AND="AND",r.BYCOL="BYCOL",r.BYROW="BYROW",r.FALSE="FALSE",r.IF="IF",r.IFERROR="IFERROR",r.IFNA="IFNA",r.IFS="IFS",r.LAMBDA="LAMBDA",r.LET="LET",r.MAKEARRAY="MAKEARRAY",r.MAP="MAP",r.NOT="NOT",r.OR="OR",r.REDUCE="REDUCE",r.SCAN="SCAN",r.SWITCH="SWITCH",r.TRUE="TRUE",r.XOR="XOR",r))(st||{});class no extends k{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",3)}calculate(e,t,n=Y.create(!1)){if(e.isError())return e;if(t.isError())return t;if(e=this._getSingleValueObject(e),!e.isArray())return e.getValue()?t:n;const i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=me(i,a,e),u=me(i,a,t,m.create(h.NA)),c=me(i,a,n,m.create(h.NA));return o.map((l,f,d)=>{if(l.isNull())return m.create(h.NA);{const _=u.get(f,d)||le.create(),C=c.get(f,d)||le.create();return this._calculateSingleCell(l,_,C)}})}_getSingleValueObject(e){return e.isArray()&&e.getRowCount()===1&&e.getColumnCount()===1?e.getFirstCell():e}_calculateSingleCell(e,t,n){return e.isNull()?m.create(h.NA):e.getValue()?t.isNull()?m.create(h.NA):t:n.isNull()?m.create(h.NA):n}}class so extends k{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;if(!e.isArray())return e.isError()?t:e;const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),a=me(n,i,e),o=me(n,i,t);return a.iterator((u,c,l)=>{u!=null&&u.isError()&&a.set(c,l,o.get(c,l))}),a}}class io extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){return m.create(h.VALUE)}}class ao extends k{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",3)}calculate(...e){const t=this.getIndexNumValue(e[0]);if(typeof t!="number")return t;const n=this.getIndexNumValue(e[1]);if(typeof n!="number")return n;if(!(e[2].isValueObject()&&e[2].isLambda()))return m.create(h.VALUE);const i=e[2],a=[];for(let o=0;o<t;o++){a[o]==null&&(a[o]=[]);for(let u=0;u<n;u++){const c=i.execute(S.create(o+1),S.create(u+1));a[o][u]=c}}return new Ba(a)}isAsync(){return!0}}class oo extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=!1,n=!0,i=null;for(const a of e){if(a.isError())return a;if(a.isArray()){if(a.iterator(o=>{if(o!=null&&o.isError())return i=o,!1;(o!=null&&o.isBoolean()||o!=null&&o.isNumber())&&(t=t||!!o.getValue(),n=!1)}),i)return i}else(a.isBoolean()||a.isNumber())&&(t=t||!!a.getValue(),n=!1)}return n?new m(h.VALUE):new Y(t)}}const ei=[[ro,st.AND],[no,st.IF],[io,st.LAMBDA],[ao,st.MAKEARRAY],[oo,st.OR],[so,st.IFERROR]];class uo extends k{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",5)}calculate(e,t,n,i,a){if(e.isError())return e;if(t.isError())return t;if(n!=null&&n.isError())return n;if(i!=null&&i.isError())return i;if(a!=null&&a.isError())return a;const o=Number(e.getValue())-1,u=Number(t.getValue())-1;if(Number.isNaN(o)||Number.isNaN(u))return m.create(h.VALUE);const c=n?co(n.getValue()):y.AbsoluteRefType.ALL,l=this.getZeroOrOneByOneDefault(i),f=a?`${a.getValue()}`:"",d=Rr(f)?`'${f}'`:f,_={startRow:o,startColumn:u,endRow:o,endColumn:u,startAbsoluteRefType:c,endAbsoluteRefType:c},C=i&&!l?Ta(_):Ze(_);return Re.create(d!==""?`${d}!${C}`:C)}}function co(r){switch(r){case 1:return y.AbsoluteRefType.ALL;case 2:return y.AbsoluteRefType.ROW;case 3:return y.AbsoluteRefType.COLUMN;case 4:return y.AbsoluteRefType.NONE;default:return y.AbsoluteRefType.ALL}}class lo extends k{constructor(){super(...arguments);g(this,"minParams",0);g(this,"maxParams",1)}calculate(e){if(e==null)return S.create(this.column+1);if(e.isError())return e;if(!e.isArray())return m.create(h.NA);const t=e.getCurrentColumn(),n=e.getColumnCount(),i=[];for(let o=0;o<n;o++)i.push(S.create(t+o+1));const a={calculateValueList:[i],rowCount:1,columnCount:n,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return Ce.create(a)}}class fo extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return S.create(1);if(!e.isArray())return m.create(h.NA);const t=e.getColumnCount();return S.create(t)}}var Se=(r=>(r.ADDRESS="ADDRESS",r.AREAS="AREAS",r.CHOOSE="CHOOSE",r.CHOOSECOLS="CHOOSECOLS",r.CHOOSEROWS="CHOOSEROWS",r.COLUMN="COLUMN",r.COLUMNS="COLUMNS",r.DROP="DROP",r.EXPAND="EXPAND",r.FILTER="FILTER",r.FORMULATEXT="FORMULATEXT",r.GETPIVOTDATA="GETPIVOTDATA",r.HLOOKUP="HLOOKUP",r.HSTACK="HSTACK",r.HYPERLINK="HYPERLINK",r.IMAGE="IMAGE",r.INDEX="INDEX",r.INDIRECT="INDIRECT",r.LOOKUP="LOOKUP",r.MATCH="MATCH",r.OFFSET="OFFSET",r.ROW="ROW",r.ROWS="ROWS",r.RTD="RTD",r.SORT="SORT",r.SORTBY="SORTBY",r.TAKE="TAKE",r.TOCOL="TOCOL",r.TOROW="TOROW",r.TRANSPOSE="TRANSPOSE",r.UNIQUE="UNIQUE",r.VLOOKUP="VLOOKUP",r.VSTACK="VSTACK",r.WRAPCOLS="WRAPCOLS",r.WRAPROWS="WRAPROWS",r.XLOOKUP="XLOOKUP",r.XMATCH="XMATCH",r))(Se||{});class ho extends k{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",4)}calculate(e,t,n,i){if(e.isError())return e;if(t.isError())return m.create(h.REF);if(!t.isArray()||n.isError()||i!=null&&i.isError())return m.create(h.NA);const a=this.getZeroOrOneByOneDefault(i);if(a==null)return m.create(h.VALUE);const o=this.getIndexNumValue(n);if(o instanceof m)return o;const u=t.slice([0,1]),c=t.slice([o-1,o]);return u==null||c==null?m.create(h.REF):e.isArray()?e.map(l=>this._handleSingleObject(l,u,c,a)):this._handleSingleObject(e,u,c,a)}_handleSingleObject(e,t,n,i){return i===0?this.equalSearch(e,t,n):this.binarySearch(e,t,n)}}class mo extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",2)}isAddress(){return!0}calculate(e,t){if(e.isError())return e;let n=this.getZeroOrOneByOneDefault(t);if(n==null&&(n=1),e.isArray()){const f=e;if(f.getRowCount()===1&&f.getColumnCount()===1)e=f.getFirstCell();else return f.map(()=>m.create(h.VALUE))}if(!e.isString())return m.create(h.REF);const i=this._convertToDefinedName(e.getValue());if(n===0){const f=Bs(i),{range:d,sheetName:_,unitId:C}=f,D=new Qt(d);return D.setForcedUnitIdDirect(C),D.setForcedSheetName(_),this._setDefault(D)}if(new RegExp(Gt).test(i))return this._setDefault(new pn(i));if(new RegExp(ys).test(i))return this._setDefault(new Rn(i));if(new RegExp(Cs).test(i))return this._setDefault(new _n(i));const a=Ye(i),{range:o,sheetName:u,unitId:c}=a,l=new Qt(o);return l.setForcedUnitIdDirect(c),l.setForcedSheetName(u),this._setDefault(l)}_setDefault(e){return this.unitId==null||this.subUnitId==null?m.create(h.REF):(e.setDefaultUnitId(this.unitId),e.setDefaultSheetId(this.subUnitId),e)}_convertToDefinedName(e){const t=this.getDefinedName(e);if(t==null)return e;const n=t.formulaOrRefString;return n==null?e:n.startsWith(oe.EQUALS)?n.slice(1):n}}class go extends k{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",3);g(this,"needsExpandParams",!0)}calculate(e,t,n){return e.isError()?e:t.isError()?m.create(h.REF):t.isArray()?n!=null&&n.isError()?n:t.getColumnCount()===1||t.getRowCount()===1?n!=null&&!n.isArray()?m.create(h.REF):this._handleVector(e,t,n):this._handleArray(e,t):m.create(h.VALUE)}_handleVector(e,t,n){if(n==null)n=t;else if(n.getRowCount()!==t.getRowCount()||n.getColumnCount()!==t.getColumnCount())return m.create(h.REF);return e.isArray()?e.map(i=>this.binarySearch(i,t,n)):this.binarySearch(e,t,n)}_handleArray(e,t){const n=t.getRowCount(),i=t.getColumnCount();let a,o;return i>n?(a=t.slice([0,1]),o=t.slice([n-1,n])):(a=t.slice(void 0,[0,1]),o=t.slice(void 0,[i-1,i])),a==null||o==null?m.create(h.VALUE):e.isArray()?e.map(u=>this.binarySearch(u,a,o)):this.binarySearch(e,a,o)}}class po extends k{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",3)}calculate(e,t,n){if(e.isError())return e;if(t.isError())return m.create(h.REF);if(!t.isArray())return m.create(h.VALUE);const i=t.getRowCount(),a=t.getColumnCount();if(i!==1&&a!==1||n!=null&&n.isError())return m.create(h.NA);const o=this.getMatchTypeValue(n);return o==null?m.create(h.VALUE):e.isArray()?e.map(u=>this._handleSingleObject(u,t,o)):this._handleSingleObject(e,t,o)}_handleSingleObject(e,t,n){const i=this._getSearchModeValue(n),a=t.orderSearch(e,i);if(a==null)return m.create(h.NA);if(a instanceof m)return a;const o=t.getRowCount()===1?a.column+1:a.row+1;return S.create(o)}_getSearchModeValue(e){switch(e){case 1:return Le.MIN;case 0:return Le.NORMAL;case-1:return Le.MAX}}}class Ro extends k{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",5);g(this,"needsReferenceObject",!0)}calculate(e,t,n,i,a){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;if(i!=null&&i.isError())return i;if(a!=null&&a.isError())return a;if(!e.isReferenceObject())return m.create(h.VALUE);e=e;const o=e.getRowCount(),u=e.getColumnCount();t.isReferenceObject()&&(t=t.toArrayValueObject()),n.isReferenceObject()&&(n=n.toArrayValueObject()),i?i.isReferenceObject()&&(i=i.toArrayValueObject()):i=S.create(o),a?a.isReferenceObject()&&(a=a.toArrayValueObject()):a=S.create(u);const c=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,i.isArray()?i.getRowCount():1,a.isArray()?a.getRowCount():1),l=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,i.isArray()?i.getColumnCount():1,a.isArray()?a.getColumnCount():1);if(t=t,n=n,i=i,a=a,c===1&&l===1)return this._handleSingleObject(e,t,n,i,a);const f=me(c,l,t,m.create(h.NA)),d=me(c,l,n,m.create(h.NA)),_=me(c,l,i,m.create(h.NA)),C=me(c,l,a,m.create(h.NA));return f.mapValue((D,A,L)=>{const w=d.get(A,L),U=_.get(A,L),$=C.get(A,L);return D.isError()?D:w.isError()?w:U.isError()?U:$.isError()?$:this._handleSingleObject(e,D,w,U,$,!0)})}_handleSingleObject(e,t,n,i,a,o=!1){const{startRow:u,startColumn:c}=e.getRangeData(),l=this.getIndexNumValue(t),f=this.getIndexNumValue(n);if(typeof l!="number"||typeof f!="number")return m.create(h.VALUE);const d=u+l,_=c+f;if(d<0||_<0)return m.create(h.REF);const C=this.getIndexNumValue(i),D=this.getIndexNumValue(a);if(typeof C!="number"||typeof D!="number")return m.create(h.VALUE);if(C===0||D===0)return m.create(h.REF);const A=C>0?d+C-1:d+C+1,L=D>0?_+D-1:_+D+1;if(A<0||L<0)return m.create(h.REF);if(o)return m.create(h.VALUE);const w=d<A?d:A,U=_<L?_:L,$=d>A?d:A,ue=_>L?_:L,de={startRow:w,startColumn:U,endRow:$,endColumn:ue};return this.createReferenceObject(e,de)}}class _o extends k{constructor(){super(...arguments);g(this,"minParams",0);g(this,"maxParams",1)}calculate(e){if(e==null)return S.create(this.row+1);if(e.isError())return e;if(!e.isArray())return m.create(h.NA);const t=e.getCurrentRow(),n=e.getRowCount(),i=[];for(let o=0;o<n;o++)i.push([S.create(t+o+1)]);const a={calculateValueList:i,rowCount:n,columnCount:1,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return Ce.create(a)}}class Eo extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return S.create(1);if(!e.isArray())return m.create(h.NA);const t=e.getRowCount();return S.create(t)}}class yo extends k{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",4)}calculate(e,t,n,i){if(e.isError())return e;if(t.isError())return m.create(h.REF);if(!t.isArray())return m.create(h.VALUE);if(n.isError()||i!=null&&i.isError())return m.create(h.NA);if(i=i!=null?i:Y.create(!0),ts(e)&&ts(i)&&n.isArray()){e=e.isArray()?e.getFirstCell():e;const l=this.getZeroOrOneByOneDefault(i);if(l==null)return m.create(h.VALUE);let f;const d=[];return n.iterator((_,C,D)=>{if(_==null)return f=m.create(h.VALUE),!1;const A=this._handleTableArray(e,t,_,l);if(A.isError())return f=A,!1;d[C]===void 0&&(d[C]=[]),d[C][D]=A}),f||zt(d,d.length,d[0].length,this.unitId||"",this.subUnitId||"")}const a=Math.max(e.isArray()?e.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,i.isArray()?i.getColumnCount():1),u=me(a,o,e),c=me(a,o,i);return u.map((l,f,d)=>{if(l.isError())return l;const _=c.get(f,d);if(_==null)return m.create(h.VALUE);if(_.isError())return _;const C=this.getZeroOrOneByOneDefault(_);return C==null?m.create(h.VALUE):this._handleTableArray(l,t,n,C)})}_handleTableArray(e,t,n,i){const a=this.getIndexNumValue(n);if(a instanceof m)return a;const o=t.slice(void 0,[0,1]);if(o==null)return m.create(h.VALUE);const u=t.slice(void 0,[a-1,a]);return u==null?m.create(h.REF):this._handleSingleObject(e,o,u,i)}_handleSingleObject(e,t,n,i){return i===0?this.equalSearch(e,t,n):this.binarySearch(e,t,n)}}class Co extends k{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",6)}calculate(e,t,n,i,a,o){if(e.isError())return e;if(t.isError())return m.create(h.REF);if(!t.isArray())return m.create(h.VALUE);const u=t.getRowCount(),c=t.getColumnCount();if(u!==1&&c!==1)return m.create(h.VALUE);if(n.isError())return m.create(h.REF);if(!n.isArray())return m.create(h.VALUE);const l=n.getRowCount(),f=n.getColumnCount();if(u!==l&&c!==f)return m.create(h.VALUE);if(i!=null&&i.isError()||a!=null&&a.isError()||o!=null&&o.isError())return m.create(h.NA);i==null&&(i=m.create(h.NA));const d=this.getIndexNumValue(a||S.create(0));if(d instanceof m)return d;const _=this.getIndexNumValue(o||S.create(1));if(_ instanceof m)return _;if(e.isArray()){let A;return u===1?A=n.slice([0,1]):A=n.slice(void 0,[0,1]),A==null?m.create(h.NA):e.map(L=>{const w=this._handleSingleObject(L,t,A,d,_);return w.isError()?i:w})}if(c===f&&u===l){const A=this._handleSingleObject(e,t,n,d,_);return A.isError()?i:A}let C=0;c===f&&(C=1);const D=this._handleExpandObject(e,t,n,d,_,C);return D==null?m.create(h.NA):D}_handleExpandObject(e,t,n,i,a,o=0){return(a===2||a===-2)&&i!==2?this.binarySearchExpand(e,t,n,o,this._getSearchModeValue(a)):i===2?this.fuzzySearchExpand(e,t,n,a!==-1,o):i===-1||i===1?this.orderSearchExpand(e,t,n,i===1?Le.MAX:Le.MIN,a===-1,o):this.equalSearchExpand(e,t,n,a!==-1,o)}_handleSingleObject(e,t,n,i,a){return(a===2||a===-2)&&i!==2?this.binarySearch(e,t,n,this._getSearchModeValue(a)):i===2?this.fuzzySearch(e,t,n,a!==-1):i===-1||i===1?this.orderSearch(e,t,n,i===1?Le.MAX:Le.MIN,a===-1):this.equalSearch(e,t,n,a!==-1)}_getSearchModeValue(e){return e===-2?Ke.MAX:Ke.MIN}}class Do extends k{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",4)}calculate(e,t,n,i){if(e.isError())return e;if(t.isError())return m.create(h.REF);if(!t.isArray())return m.create(h.VALUE);const a=t.getRowCount(),o=t.getColumnCount();if(a!==1&&o!==1)return m.create(h.VALUE);if(n!=null&&n.isError()||i!=null&&i.isError())return m.create(h.NA);const u=this.getIndexNumValue(n||S.create(0));if(u instanceof m)return u;const c=this.getIndexNumValue(i||S.create(1));return c instanceof m?c:e.isArray()?e.map(l=>this._handleSingleObject(l,t,u,c)):this._handleSingleObject(e,t,u,c)}_handleSingleObject(e,t,n,i){let a;if((i===2||i===-2)&&n!==2){const o=this._getSearchModeValue(i);a=t.binarySearch(e,o)}else if(n===2){const o=t.compare(e,M.EQUALS);let u;if(i!==-1?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null)return m.create(h.NA);a=t.getRowCount()===1?u.column:u.row}else if(n===-1||n===1){const o=t.orderSearch(e,n===1?Le.MAX:Le.MIN,i===-1);if(o==null)return m.create(h.NA);if(o instanceof m)return o;a=t.getRowCount()===1?o.column:o.row}else{const o=t.isEqual(e);let u;if(i!==-1?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null)return m.create(h.NA);a=t.getRowCount()===1?u.column:u.row}return a==null?m.create(h.NA):S.create(a+1)}_getSearchModeValue(e){return e===-2?Ke.MAX:Ke.MIN}}class bo extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",4);g(this,"needsReferenceObject",!0)}calculate(e,t,n,i){if(e.isError())return e;if(t!=null&&t.isError())return t;if(n!=null&&n.isError())return n;if(i!=null&&i.isError())return i;let a=0,o=0;if(e.isValueObject())a=1,o=1;else if(e.isReferenceObject()){const{startRow:l,endRow:f,startColumn:d,endColumn:_}=e.getRangeData();a=f-l+1,o=_-d+1}else return m.create(h.VALUE);a===1&&o>1&&n==null?(n=t!=null?t:S.create(0),t=S.create(0)):(t=t!=null?t:S.create(0),n=n!=null?n:S.create(0)),i=i!=null?i:S.create(1),t.isReferenceObject()&&(t=t.toArrayValueObject()),n.isReferenceObject()&&(n=n.toArrayValueObject()),i.isReferenceObject()&&(i=i.toArrayValueObject());const u=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,i.isArray()?i.getRowCount():1),c=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,i.isArray()?i.getColumnCount():1);if(t=t,n=n,i=i,u===1&&c===1)return this._calculateSingleCell(e,t,n,i);{const l=me(u,c,t,m.create(h.NA)),f=me(u,c,n,m.create(h.NA)),d=me(u,c,i,m.create(h.NA));return l.map((_,C,D)=>{const A=f.get(C,D)||le.create(),L=d.get(C,D)||le.create(),w=this._calculateSingleCell(e,_,A,L);return w.isReferenceObject()?w.toArrayValueObject().getFirstCell():w})}}_calculateSingleCell(e,t,n,i){if(t.isError())return t;const a=this._getNumberValue(t);if(a===void 0||a<0)return m.create(h.VALUE);if(n.isError())return n;const o=this._getNumberValue(n);if(o===void 0||o<0)return m.create(h.VALUE);if(i.isError())return i;const u=this._getAreaNumberValue(i);return u===void 0||u<1?m.create(h.VALUE):e.isReferenceObject()?this._getReferenceObject(e,a,o,u):e.isValueObject()&&a===1&&o===1?e:m.create(h.REF)}_getNumberValue(e){if(e==null)return 0;let t=0;if(e.isBoolean())e.getValue()===!0&&(t=1);else{if(e.isString())return;e.isNumber()?t=Math.floor(e.getValue()):e.isNull()&&(t=0)}return t}_getAreaNumberValue(e){if(e==null)return 1;let t=0;if(e.isBoolean())e.getValue()===!0&&(t=1);else{if(e.isString())return;e.isNumber()?t=Math.floor(e.getValue()):e.isNull()&&(t=0)}return t}_getReferenceObject(e,t,n,i){const{startRow:a,endRow:o,startColumn:u,endColumn:c}=e.getRangeData();let l=0,f=0,d=0,_=0;if(t===0?(l=a,f=o):l=f=a+t-1,n===0?(d=u,_=c):d=_=u+n-1,l>o||d>c)return m.create(h.REF);const C={startRow:l,startColumn:d,endRow:f,endColumn:_};return this.createReferenceObject(e,C)}}const ti=[[uo,Se.ADDRESS],[lo,Se.COLUMN],[fo,Se.COLUMNS],[bo,Se.INDEX],[mo,Se.INDIRECT],[Ro,Se.OFFSET],[_o,Se.ROW],[Eo,Se.ROWS],[yo,Se.VLOOKUP],[go,Se.LOOKUP],[po,Se.MATCH],[ho,Se.HLOOKUP],[Co,Se.XLOOKUP],[Do,Se.XMATCH]];class So extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?m.create(h.VALUE):e.abs()}}class Ao extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?new m(h.VALUE):e.acos()}}class Po extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?m.create(h.VALUE):e.acosh()}}class Lo extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:rs(t)):rs(e)}}function rs(r){let s=r.getValue();if(r.isBoolean()&&(s=s?1:0),!Number.isFinite(s))return m.create(h.VALUE);const e=Math.atan(1/Number(s));return Number.isNaN(e)?m.create(h.VALUE):S.create(e)}var xe=(r=>(r.ABS="ABS",r.ACOS="ACOS",r.ACOSH="ACOSH",r.ACOT="ACOT",r.ACOTH="ACOTH",r.AGGREGATE="AGGREGATE",r.ARABIC="ARABIC",r.ASIN="ASIN",r.ASINH="ASINH",r.ATAN="ATAN",r.ATAN2="ATAN2",r.ATANH="ATANH",r.BASE="BASE",r.CEILING="CEILING",r.CEILING_MATH="CEILING.MATH",r.CEILING_PRECISE="CEILING.PRECISE",r.COMBIN="COMBIN",r.COMBINA="COMBINA",r.COS="COS",r.COSH="COSH",r.COT="COT",r.COTH="COTH",r.CSC="CSC",r.CSCH="CSCH",r.DECIMAL="DECIMAL",r.DEGREES="DEGREES",r.EVEN="EVEN",r.EXP="EXP",r.FACT="FACT",r.FACTDOUBLE="FACTDOUBLE",r.FLOOR="FLOOR",r.FLOOR_MATH="FLOOR.MATH",r.FLOOR_PRECISE="FLOOR.PRECISE",r.GCD="GCD",r.INT="INT",r.ISO_CEILING="ISO.CEILING",r.LCM="LCM",r.LET="LET",r.LN="LN",r.LOG="LOG",r.LOG10="LOG10",r.MDETERM="MDETERM",r.MINVERSE="MINVERSE",r.MMULT="MMULT",r.MOD="MOD",r.MROUND="MROUND",r.MULTINOMIAL="MULTINOMIAL",r.MUNIT="MUNIT",r.ODD="ODD",r.PI="PI",r.POWER="POWER",r.PRODUCT="PRODUCT",r.QUOTIENT="QUOTIENT",r.RADIANS="RADIANS",r.RAND="RAND",r.RANDARRAY="RANDARRAY",r.RANDBETWEEN="RANDBETWEEN",r.ROMAN="ROMAN",r.ROUND="ROUND",r.ROUNDDOWN="ROUNDDOWN",r.ROUNDUP="ROUNDUP",r.SEC="SEC",r.SECH="SECH",r.SERIESSUM="SERIESSUM",r.SEQUENCE="SEQUENCE",r.SIGN="SIGN",r.SIN="SIN",r.SINH="SINH",r.SQRT="SQRT",r.SQRTPI="SQRTPI",r.SUBTOTAL="SUBTOTAL",r.SUM="SUM",r.SUMIF="SUMIF",r.SUMIFS="SUMIFS",r.SUMPRODUCT="SUMPRODUCT",r.SUMSQ="SUMSQ",r.SUMX2MY2="SUMX2MY2",r.SUMX2PY2="SUMX2PY2",r.SUMXMY2="SUMXMY2",r.TAN="TAN",r.TANH="TANH",r.TRUNC="TRUNC",r))(xe||{});class xo extends k{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:e.mod(t))}}class wo extends k{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:e.pow(t))}}class Vo extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=S.create(1);for(let n=0;n<e.length;n++){let i=e[n];if(!i.isNull()){if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isArray()&&(i=this._multiplyArray(i)),i.isError())return i;if(t=t.multiply(i),t.isError())return t}}return t}_multiplyArray(e){let t=S.create(1);return e.iterator(n=>{if(n==null||n.isString()||n.isBoolean()||n.isNull())return!0;if(n.isError())return t=n,!1;t=t.multiply(n)}),t}}class vo extends k{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",255);g(this,"needsReferenceObject",!0)}calculate(e,...t){if(e.isError())return e;if(e.isReferenceObject()){const n=[];return e.iterator((i,a,o)=>{n[a]==null&&(n[a]=[]),n[a][o]=this._handleSingleObject(i,...t)}),zt(n,n.length,n[0].length)}return this._handleSingleObject(e,...t)}_handleSingleObject(e,...t){const n=this._getIndexNumValue(e);let i;if(n instanceof m)return n;switch(n){case 1:i=this._average(!1,...t);break;case 2:i=this._count(!1,...t);break;case 3:i=this._counta(!1,...t);break;case 4:i=this._max(!1,...t);break;case 5:i=this._min(!1,...t);break;case 6:i=this._product(!1,...t);break;case 7:i=this._stdev(!1,...t);break;case 8:i=this._stdevp(!1,...t);break;case 9:i=this._sum(!1,...t);break;case 10:i=this._var(!1,...t);break;case 11:i=this._varp(!1,...t);break;case 101:i=this._average(!0,...t);break;case 102:i=this._count(!0,...t);break;case 103:i=this._counta(!0,...t);break;case 104:i=this._max(!0,...t);break;case 105:i=this._min(!0,...t);break;case 106:i=this._product(!0,...t);break;case 107:i=this._stdev(!0,...t);break;case 108:i=this._stdevp(!0,...t);break;case 109:i=this._sum(!0,...t);break;case 110:i=this._var(!0,...t);break;case 111:i=this._varp(!0,...t);break;default:i=m.create(h.VALUE)}return i}_getIndexNumValue(e){const t=e?Number(e.getValue()):0;if(Number.isNaN(t))return m.create(h.VALUE);const n=Math.floor(t);return n>=1&&n<=11||n>=101&&n<=111?n:m.create(h.VALUE)}_average(e,...t){const n=this._flattenRefArray(e,...t);return n.isError()?n:n.mean()}_count(e,...t){const n=this._flattenRefArray(e,...t);return n.isError()?n:n.count()}_counta(e,...t){let n=S.create(0);for(let i=0;i<t.length;i++){const a=t[i];if(!a.isReferenceObject())return m.create(h.VALUE);const o=a.getRowData();a.iterator((u,c)=>{if(e&&this._isRowHidden(o,c)||u==null||u.isNull())return!0;n=n.plusBy(1)})}return n}_max(e,...t){const n=this._flattenRefArray(e,...t);return n.isError()?n:this._isBlankArrayObject(n)?S.create(0):n.max()}_min(e,...t){const n=this._flattenRefArray(e,...t);return n.isError()?n:this._isBlankArrayObject(n)?S.create(0):n.min()}_product(e,...t){const n=this._flattenRefArray(e,...t);if(n.isError())return n;if(this._isBlankArrayObject(n))return S.create(0);let i=S.create(1);return n.iterator(a=>{i=i.multiply(a)}),i}_stdev(e,...t){const n=this._flattenRefArray(e,...t);return n.isError()?n:this._isBlankArrayObject(n)?m.create(h.DIV_BY_ZERO):n.std(1)}_stdevp(e,...t){const n=this._flattenRefArray(e,...t);return n.isError()?n:this._isBlankArrayObject(n)?m.create(h.DIV_BY_ZERO):n.std()}_sum(e,...t){const n=this._flattenRefArray(e,...t);return n.isError()?n:n.sum()}_var(e,...t){const n=this._flattenRefArray(e,...t);return n.isError()?n:this._isBlankArrayObject(n)?m.create(h.DIV_BY_ZERO):n.var(1)}_varp(e,...t){const n=this._flattenRefArray(e,...t);return n.isError()?n:this._isBlankArrayObject(n)?m.create(h.DIV_BY_ZERO):n.var()}_flattenRefArray(e,...t){const n=[];n[0]=[];for(let i=0;i<t.length;i++){const a=t[i];if(a.isError())return a;if(!a.isReferenceObject())return m.create(h.VALUE);const o=a.getRowData();let u;if(a.iterator((c,l)=>{if(e&&this._isRowHidden(o,l)||c==null||c.isNull()||c.isString()||c.isBoolean())return!0;if(c.isError())return u=c,!1;n[0].push(c)}),u!=null&&u.isError())return u}return zt(n,1,n[0].length)}_isRowHidden(e,t){const n=e[t];return n?n.hd===y.BooleanNumber.TRUE:!1}_isBlankArrayObject(e){return e.getArrayValue()[0].length===0}}class Oo extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=S.create(0);for(let n=0;n<e.length;n++){let i=e[n];if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()&&(i=i.sum()),t=t.plus(i),t.isError())return t}return t}}function Fo(r){const s=[M.EQUALS,M.NOT_EQUAL,M.GREATER_THAN_OR_EQUAL,M.GREATER_THAN,M.LESS_THAN_OR_EQUAL,M.LESS_THAN];for(const e of s)if(r.startsWith(e)){const t=r.substring(e.length);return[e,ct.create(t)]}return[M.EQUALS,ct.create(r)]}function Dn(r,s,e){if(!e)if(s.isString()){const t=`${s.getValue()}`,[n,i]=Fo(t);e=n,s=i}else e=M.EQUALS;return r.compare(s,e)}function ri(r,s){const e=Math.max(r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1),t=Math.max(r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1),n=me(e,t,r),i=me(e,t,s);return n.mapValue((a,o,u)=>{const c=i.get(o,u);return a!=null&&a.isError()?a:c!=null&&c.isError()?c:a!=null&&a.isBoolean()&&(c!=null&&c.isBoolean())?kr(a.getValue()&&c.getValue()):Y.create(!1)})}class Uo extends k{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",3)}calculate(e,t,n){return e.isError()||t.isError()||n!=null&&n.isError()?m.create(h.NA):!e.isArray()||n&&!n.isArray()?m.create(h.VALUE):t.isArray()?t.map(i=>this._handleSingleObject(e,i,n)):this._handleSingleObject(e,t,n)}_handleSingleObject(e,t,n){const i=Dn(e,t),a=n?n.slice([0,e.getRowCount()],[0,e.getColumnCount()]):e;return a?a.pick(i).sum():m.create(h.VALUE)}}class Mo extends k{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",255)}calculate(e,...t){if(e.isError())return m.create(h.NA);if(!e.isArray()||t.length<2||t.length%2!==0||t.some((f,d)=>d%2===0&&!f.isArray()))return m.create(h.VALUE);const n=e.getRowCount(),i=e.getColumnCount();let a=0,o=0;t.forEach((f,d)=>{if(d%2===1)if(f.isArray()){const _=f;a=Math.max(a,_.getRowCount()),o=Math.max(o,_.getColumnCount())}else a=Math.max(a,1),o=Math.max(o,1)});const u=[];for(let f=0;f<t.length;f++){if(f%2===1)continue;const d=t[f],_=d.getRowCount(),C=d.getColumnCount();if(_!==n||C!==i)return me(a,o,m.create(h.NA));const D=t[f+1];me(a,o,D,m.create(h.NA)).iterator((L,w,U)=>{if(!L)return;const $=Dn(d,L);if(u[w]===void 0&&(u[w]=[]),u[w][U]===void 0){u[w][U]=$;return}u[w][U]=ri(u[w][U],$)})}const c=u.map(f=>f.map(d=>e.pick(d).sum())),l={calculateValueList:c,rowCount:c.length,columnCount:c[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return Ce.create(l)}}const ni=[[So,xe.ABS],[Ao,xe.ACOS],[Po,xe.ACOSH],[Lo,xe.ACOT],[xo,xe.MOD],[vo,xe.SUBTOTAL],[Oo,xe.SUM],[Uo,xe.SUMIF],[Mo,xe.SUMIFS],[wo,xe.POWER],[Vo,xe.PRODUCT]];class Bo extends k{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2);g(this,"_compareType",M.EQUALS)}setCompareType(e){this._compareType=e}calculate(e,t){return e.isError()?e:t.isError()?t:e.compare(t,this._compareType)}}class bn extends Je{constructor(e){super("");g(this,"_values",[]);this._values=e}static create(e){return new bn(e)}isCube(){return!0}sum(){const e=S.create(0);return this._values.forEach(t=>{e.plus(t.sum())}),e}max(){let e=S.create(Number.NEGATIVE_INFINITY);return this._values.forEach(t=>{const n=t.max();e.isLessThan(n)&&(e=n)}),e}min(){let e=S.create(Number.POSITIVE_INFINITY);return this._values.forEach(t=>{const n=t.max();e.isGreaterThan(n)&&(e=n)}),e}count(){const e=S.create(0);return this._values.forEach(t=>{e.plus(t.count())}),e}countA(){const e=S.create(0);return this._values.forEach(t=>{e.plus(t.countA())}),e}countBlank(){const e=S.create(0);return this._values.forEach(t=>{e.plus(t.countBlank())}),e}}class To extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){const t=[];for(let n=0;n<e.length;n++){const i=e[n];if(i.isError())return i;if(!i.isArray())return m.create(h.VALUE);t.push(i)}return bn.create(t)}}class ko extends k{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:!t.isArray()&&t.getValue()===0?m.create(h.DIV_BY_ZERO):e.divided(t)}}var Ae=(r=>(r.COMPARE="COMPARE",r.DIVIDED="DIVIDED",r.MINUS="MINUS",r.MULTIPLY="MULTIPLY",r.PLUS="PLUS",r.UNION="UNION",r.CUBE="CUBE",r))(Ae||{});class jo extends k{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.minus(t)}}class $o extends k{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.multiply(t)}}class Io extends k{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.plus(t)}}const si=[[Bo,Ae.COMPARE],[ko,Ae.DIVIDED],[jo,Ae.MINUS],[$o,Ae.MULTIPLY],[Io,Ae.PLUS],[To,Ae.CUBE]];class Yo extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=S.create(0),n=S.create(0);for(let i=0;i<e.length;i++){let a=e[i];if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;if(a.isArray()){if(t=t.plus(a.sum()),t.isError())return t;n=n.plus(a.count())}else a.isNull()||(t=t.plus(a),n=n.plus(S.create(1)))}return t.divided(n)}}class Qo extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=S.create(0);for(let n=0;n<e.length;n++){const i=e[n];i.isError()||(i.isArray()?t=t.plus(i.count()):i.isString()?i.convertToNumberObjectValue().isError()||(t=t.plus(S.create(1))):i.isNull()||(t=t.plus(S.create(1))))}return t}}class zo extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=S.create(0);for(let n=0;n<e.length;n++){let i=e[n];if(i.isError()){t=t.plus(S.create(1));continue}i.isArray()?(i=i.countA(),t=t.plus(i)):i.isNull()||(t=t.plus(S.create(1)))}return t}}var be=(r=>(r.AVEDEV="AVEDEV",r.AVERAGE="AVERAGE",r.AVERAGEA="AVERAGEA",r.AVERAGEIF="AVERAGEIF",r.AVERAGEIFS="AVERAGEIFS",r.BETA_DIST="BETA.DIST",r.BETA_INV="BETA.INV",r.BINOM_DIST="BINOM.DIST",r.BINOM_DIST_RANGE="BINOM.DIST.RANGE",r.BINOM_INV="BINOM.INV",r.CHISQ_DIST="CHISQ.DIST",r.CHISQ_DIST_RT="CHISQ.DIST.RT",r.CHISQ_INV="CHISQ.INV",r.CHISQ_INV_RT="CHISQ.INV.RT",r.CHISQ_TEST="CHISQ.TEST",r.CONFIDENCE_NORM="CONFIDENCE.NORM",r.CONFIDENCE_T="CONFIDENCE.T",r.CORREL="CORREL",r.COUNT="COUNT",r.COUNTA="COUNTA",r.COUNTBLANK="COUNTBLANK",r.COUNTIF="COUNTIF",r.COUNTIFS="COUNTIFS",r.COVARIANCE_P="COVARIANCE.P",r.COVARIANCE_S="COVARIANCE.S",r.DEVSQ="DEVSQ",r.EXPON_DIST="EXPON.DIST",r.F_DIST="F.DIST",r.F_DIST_RT="F.DIST.RT",r.F_INV="F.INV",r.F_INV_RT="F.INV.RT",r.F_TEST="F.TEST",r.FISHER="FISHER",r.FISHERINV="FISHERINV",r.FORECAST="FORECAST",r.FORECAST_ETS="FORECAST.ETS",r.FORECAST_ETS_CONFINT="FORECAST.ETS.CONFINT",r.FORECAST_ETS_SEASONALITY="FORECAST.ETS.SEASONALITY",r.FORECAST_ETS_STAT="FORECAST.ETS.STAT",r.FORECAST_LINEAR="FORECAST.LINEAR",r.FREQUENCY="FREQUENCY",r.GAMMA="GAMMA",r.GAMMA_DIST="GAMMA.DIST",r.GAMMA_INV="GAMMA.INV",r.GAMMALN="GAMMALN",r.GAMMALN_PRECISE="GAMMALN.PRECISE",r.GAUSS="GAUSS",r.GEOMEAN="GEOMEAN",r.GROWTH="GROWTH",r.HARMEAN="HARMEAN",r.HYPGEOM_DIST="HYPGEOM.DIST",r.INTERCEPT="INTERCEPT",r.KURT="KURT",r.LARGE="LARGE",r.LINEST="LINEST",r.LOGEST="LOGEST",r.LOGNORM_DIST="LOGNORM.DIST",r.LOGNORM_INV="LOGNORM.INV",r.MAX="MAX",r.MAXA="MAXA",r.MAXIFS="MAXIFS",r.MEDIAN="MEDIAN",r.MIN="MIN",r.MINA="MINA",r.MINIFS="MINIFS",r.MODE_MULT="MODE.MULT",r.MODE_SNGL="MODE.SNGL",r.NEGBINOM_DIST="NEGBINOM.DIST",r.NORM_DIST="NORM.DIST",r.NORM_INV="NORM.INV",r.NORM_S_DIST="NORM.S.DIST",r.NORM_S_INV="NORM.S.INV",r.PEARSON="PEARSON",r.PERCENTILE_EXC="PERCENTILE.EXC",r.PERCENTILE_INC="PERCENTILE.INC",r.PERCENTRANK_EXC="PERCENTRANK.EXC",r.PERCENTRANK_INC="PERCENTRANK.INC",r.PERMUT="PERMUT",r.PERMUTATIONA="PERMUTATIONA",r.PHI="PHI",r.POISSON_DIST="POISSON.DIST",r.PROB="PROB",r.QUARTILE_EXC="QUARTILE.EXC",r.QUARTILE_INC="QUARTILE.INC",r.RANK_AVG="RANK.AVG",r.RANK_EQ="RANK.EQ",r.RSQ="RSQ",r.SKEW="SKEW",r.SKEW_P="SKEW.P",r.SLOPE="SLOPE",r.SMALL="SMALL",r.STANDARDIZE="STANDARDIZE",r.STDEV_P="STDEV.P",r.STDEV_S="STDEV.S",r.STDEVA="STDEVA",r.STDEVPA="STDEVPA",r.STEYX="STEYX",r.T_DIST="T.DIST",r.T_DIST_2T="T.DIST.2T",r.T_DIST_RT="T.DIST.RT",r.T_INV="T.INV",r.T_INV_2T="T.INV.2T",r.T_TEST="T.TEST",r.TREND="TREND",r.TRIMMEAN="TRIMMEAN",r.VAR_P="VAR.P",r.VAR_S="VAR.S",r.VARA="VARA",r.VARPA="VARPA",r.WEIBULL_DIST="WEIBULL.DIST",r.Z_TEST="Z.TEST",r))(be||{});class Ho extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=S.create(Number.NEGATIVE_INFINITY);for(let n=0;n<e.length;n++){let i=e[n];if(!i.isNull()){if((i.isString()||i.isBoolean())&&(i=i.convertToNumberObjectValue()),i.isArray()&&(i=i.max()),i.isError())return i;t=this._validator(t,i)}}return t.getValue()===Number.NEGATIVE_INFINITY?S.create(0):t}_validator(e,t){return e.isLessThan(t).getValue()&&(e=t),e}}class ns extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=S.create(Number.POSITIVE_INFINITY);for(let n=0;n<e.length;n++){let i=e[n];if((i.isString()||i.isBoolean())&&(i=i.convertToNumberObjectValue()),i.isArray()&&(i=i.min()),i.isError())return i;i.isNull()||(t=this._validator(t,i))}return t.getValue()===Number.POSITIVE_INFINITY?S.create(0):t}_validator(e,t){return e.isGreaterThan(t).getValue()&&(e=t),e}}class Wo extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.std(1)}}class Go extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.std()}}class Xo extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.var(1)}}class Ko extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.var()}}class qo extends k{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",255)}calculate(e,...t){if(e.isError())return m.create(h.NA);if(!e.isArray()||t.length%2!==0||t.some((f,d)=>d%2===0&&!f.isArray()))return m.create(h.VALUE);const n=e.getRowCount(),i=e.getColumnCount();let a=0,o=0;t.forEach((f,d)=>{if(d%2===1)if(f.isArray()){const _=f;a=Math.max(a,_.getRowCount()),o=Math.max(o,_.getColumnCount())}else a=Math.max(a,1),o=Math.max(o,1)});const u=[];for(let f=0;f<t.length;f++){if(f%2===1)continue;const d=t[f],_=d.getRowCount(),C=d.getColumnCount();if(_!==n||C!==i)return me(a,o,m.create(h.NA));const D=t[f+1];me(a,o,D,m.create(h.NA)).iterator((L,w,U)=>{if(!L)return;const $=Dn(d,L);u[w]===void 0&&(u[w]=[]),u[w][U]===void 0&&(u[w][U]=$),u[w][U]=ri(u[w][U],$)})}const c=u.map(f=>f.map(d=>{const _=e.pick(d);return _.getColumnCount()===0?Ce.create("0"):_.max()})),l={calculateValueList:c,rowCount:c.length,columnCount:c[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return Ce.create(l)}}const ii=[[Yo,be.AVERAGE],[Qo,be.COUNT],[Ho,be.MAX],[ns,be.MIN],[ns,be.MIN],[zo,be.COUNTA],[js,be.STDEV_P],[$s,be.STDEV_S],[Wo,be.STDEVA],[Go,be.STDEVPA],[Is,be.VAR_P],[Ys,be.VAR_S],[Xo,be.VARA],[Ko,be.VARPA],[qo,be.MAXIFS]];class Zo extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=0,n=0;e.forEach(a=>{if(a.isArray()){const o=a;t=Math.max(t,o.getRowCount()),n=Math.max(n,o.getColumnCount())}else t=Math.max(t,1),n=Math.max(n,1)});let i=null;for(const a of e)i=me(t,n,a,m.create(h.NA)).mapValue((u,c,l)=>{var C,D;const f=i&&i.get(c,l);if(f!=null&&f.isError())return f;if(u.isError())return u;const d=f!=null&&f.isNull()?"":(C=f==null?void 0:f.getValue())!=null?C:"",_=u!=null&&u.isNull()?"":(D=u==null?void 0:u.getValue())!=null?D:"";return gn(`${d}${_}`)});return i||m.create(h.VALUE)}}var it=(r=>(r.ASC="ASC",r.ARRAYTOTEXT="ARRAYTOTEXT",r.BAHTTEXT="BAHTTEXT",r.CHAR="CHAR",r.CLEAN="CLEAN",r.CODE="CODE",r.CONCAT="CONCAT",r.CONCATENATE="CONCATENATE",r.DBCS="DBCS",r.DOLLAR="DOLLAR",r.EXACT="EXACT",r.FIND="FIND",r.FINDB="FINDB",r.FIXED="FIXED",r.LEFT="LEFT",r.LEFTB="LEFTB",r.LEN="LEN",r.LENB="LENB",r.LOWER="LOWER",r.MID="MID",r.MIDB="MIDB",r.NUMBERVALUE="NUMBERVALUE",r.PHONETIC="PHONETIC",r.PROPER="PROPER",r.REPLACE="REPLACE",r.REPLACEB="REPLACEB",r.REPT="REPT",r.RIGHT="RIGHT",r.RIGHTB="RIGHTB",r.SEARCH="SEARCH",r.SEARCHB="SEARCHB",r.SUBSTITUTE="SUBSTITUTE",r.T="T",r.TEXT="TEXT",r.TEXTAFTER="TEXTAFTER",r.TEXTBEFORE="TEXTBEFORE",r.TEXTJOIN="TEXTJOIN",r.TEXTSPLIT="TEXTSPLIT",r.TRIM="TRIM",r.UNICHAR="UNICHAR",r.UNICODE="UNICODE",r.UPPER="UPPER",r.VALUE="VALUE",r.VALUETOTEXT="VALUETOTEXT",r.CALL="CALL",r.EUROCONVERT="EUROCONVERT",r.REGISTER_ID="REGISTER.ID",r))(it||{});class Jo extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.mapValue(t=>this._handleSingleText(t)):this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;if(e.isNull())return S.create(0);if(e.isString()||e.isBoolean()||e.isNumber()){const t=e.getValue().toString();return S.create(t.length)}return m.create(h.VALUE)}}function No(r){let s=0;for(let e=0;e<r.length;e++){const t=r.charCodeAt(e);t>=12352&&t<=12543||t>=19968&&t<=40959||t>=44032&&t<=55215?s+=2:s+=1}return s}class eu extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.mapValue(t=>this._handleSingleText(t)):this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;if(e.isNull())return S.create(0);if(e.isString()||e.isBoolean()||e.isNumber()){const t=e.getValue().toString(),n=No(t);return S.create(n)}return m.create(h.VALUE)}}const tu=(r,s)=>Ms.format(r,s);class ru extends k{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),a=me(n,i,e),o=me(n,i,t);return a.map((u,c,l)=>{if(u.isError()||u.isString()||u.isBoolean())return u;let f=o.get(c,l)||Re.create(" ");if(f.isError())return f;if(f.isBoolean())return m.create(h.VALUE);f.isNull()&&(f=Re.create(" "));const d=`${f.getValue()}`;u.isNull()&&(u=S.create(0));const _=u.getValue(),C=tu(d,_);return Re.create(C)})}}class nu extends k{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.mapValue(t=>this._handleSingleText(t)):this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;if(e.isNull())return Re.create("");if(e.isString()||e.isBoolean()||e.isNumber()){const t=e.getValue().toString().toLowerCase();return Re.create(t)}return m.create(h.VALUE)}}const ai=[[Zo,it.CONCATENATE],[Jo,it.LEN],[eu,it.LENB],[ru,it.TEXT],[nu,it.LOWER]],oi=[];var ui=(r=>r)(ui||{});const ci=[];var li=(r=>(r.ENCODEURL="ENCODEURL",r.FILTERXML="FILTERXML",r.WEBSERVICE="WEBSERVICE",r))(li||{});function su(r,s,e,t,n,i,a){const o=(a==null?void 0:a.f)||"",u=(a==null?void 0:a.si)||"",c=y.isFormulaString(o),l=y.isFormulaId(u);if(c&&l)r.setValue(n,i,{f:o,si:u}),e.set(u,{f:o,r:n,c:i}),s.setValue(n,i,{f:o,si:u});else if(c&&!l)r.setValue(n,i,{f:o}),s.setValue(n,i,{f:o});else if(!c&&l)r.setValue(n,i,{f:"",si:u});else if(!c&&!l&&r.getValue(n,i)){const f=r.getValue(n,i),d=(f==null?void 0:f.f)||"",_=(f==null?void 0:f.si)||"";y.isFormulaString(d)&&y.isFormulaId(_)&&t.set(_,d),r.realDeleteValue(n,i),s.setValue(n,i,null)}}function iu(r,s,e,t){const n=r==null?void 0:r.getValue(e,t);if(n==null)return!0;const{startRow:i,startColumn:a,endRow:o,endColumn:u}=n;for(let c=i;c<=o;c++)for(let l=a;l<=u;l++)s.realDeleteValue(c,l)}var au=Object.defineProperty,ou=Object.getOwnPropertyDescriptor,uu=(r,s,e,t)=>{for(var n=t>1?void 0:t?ou(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&au(s,e,n),n},ss=(r,s)=>(e,t)=>s(e,t,r);exports.FormulaDataModel=class extends y.Disposable{constructor(e,t){super();g(this,"_formulaData",{});g(this,"_arrayFormulaRange",{});g(this,"_arrayFormulaCellData",{});this._univerInstanceService=e,this._lexerTreeBuilder=t,this.initFormulaData()}clearPreviousArrayFormulaCellData(e){Object.keys(e).forEach(t=>{const n=e[t];if(n==null)return!0;Object.keys(n).forEach(i=>{var c,l,f,d;const a=n[i],o=(l=(c=this._arrayFormulaRange)==null?void 0:c[t])==null?void 0:l[i];if(o==null)return!0;let u=new y.ObjectMatrix;((f=this._arrayFormulaCellData[t])==null?void 0:f[i])!=null&&(u=new y.ObjectMatrix((d=this._arrayFormulaCellData[t])==null?void 0:d[i])),a.forValue((_,C)=>{var $;const D=($=o==null?void 0:o[_])==null?void 0:$[C];if(D==null)return!0;const{startRow:A,startColumn:L,endRow:w,endColumn:U}=D;for(let ue=A;ue<=w;ue++)for(let de=L;de<=U;de++)u.setValue(ue,de,null)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][i]=u.getData())})})}mergeArrayFormulaCellData(e){Object.keys(e).forEach(t=>{const n=e[t];if(n==null)return!0;this._arrayFormulaRange[t]==null&&(this._arrayFormulaRange[t]={}),this._arrayFormulaCellData[t]==null&&(this._arrayFormulaCellData[t]={}),Object.keys(n).forEach(i=>{var c,l;const a=n[i],o=new y.ObjectMatrix((c=this._arrayFormulaRange[t])==null?void 0:c[i]),u=new y.ObjectMatrix((l=this._arrayFormulaCellData[t])==null?void 0:l[i]);a.forValue((f,d)=>{const _=o==null?void 0:o.getValue(f,d);if(_==null)return!0;const{startRow:C,startColumn:D,endRow:A,endColumn:L}=_;for(let w=C;w<=A;w++)for(let U=D;U<=L;U++)u.setValue(w,U,null)}),a.forValue((f,d,_)=>{u.setValue(f,d,_)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][i]=u.getData())})})}getFormulaData(){return this._formulaData}setFormulaData(e){this._formulaData=e}getArrayFormulaRange(){return this._arrayFormulaRange}setArrayFormulaRange(e){this._arrayFormulaRange=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}mergeArrayFormulaRange(e){Object.keys(e).forEach(t=>{const n=e[t];if(n==null)return!0;this._arrayFormulaRange[t]||(this._arrayFormulaRange[t]={}),Object.keys(n).forEach(i=>{var u;const a=new y.ObjectMatrix(n[i]),o=new y.ObjectMatrix((u=this._arrayFormulaRange[t])==null?void 0:u[i]);a.forValue((c,l,f)=>{o.setValue(c,l,f)}),this._arrayFormulaRange[t]&&(this._arrayFormulaRange[t][i]=o.getData())})})}mergeFormulaData(e){Object.keys(e).forEach(t=>{const n=e[t];if(n!==void 0){if(n===null){delete this._formulaData[t];return}this._formulaData[t]||(this._formulaData[t]={}),Object.keys(n).forEach(i=>{var c,l;const a=n[i];if(a===void 0)return;if(a===null){(c=this._formulaData[t])==null||delete c[i];return}const o=new y.ObjectMatrix(a),u=new y.ObjectMatrix(((l=this._formulaData[t])==null?void 0:l[i])||{});o.forValue((f,d,_)=>{_==null?u.realDeleteValue(f,d):u.setValue(f,d,_)}),this._formulaData[t][i]=u.clone()})}})}deleteArrayFormulaRange(e,t,n,i){var u;const a=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(a==null)return;const o=new y.ObjectMatrix(a);o.getValue(n,i)&&(o.realDeleteValue(n,i),this._arrayFormulaRange[e]&&(this._arrayFormulaRange[e][t]=o.getData()))}initFormulaData(){if(this._univerInstanceService.getAllUnitsForType(y.UniverInstanceType.UNIVER_SHEET).length===0)return;const t=this._univerInstanceService.getCurrentUnitForType(y.UniverInstanceType.UNIVER_SHEET),n=t.getUnitId();this._formulaData[n]={},t.getSheets().forEach(a=>{const o=a.getCellMatrix(),u=a.getSheetId();fi(this._formulaData,n,u,o)})}getCalculateData(){const e=this._univerInstanceService.getAllUnitsForType(y.UniverInstanceType.UNIVER_SHEET),t={},n={};for(const i of e){const a=i.getUnitId(),o=i.getSheets(),u={},c={};for(const l of o){const f=l.getSheetId(),d=l.getConfig();u[f]={cellData:new y.ObjectMatrix(d.cellData),rowCount:d.rowCount,columnCount:d.columnCount,rowData:d.rowData,columnData:d.columnData},c[l.getName()]=l.getSheetId()}t[a]=u,n[a]=c}return{allUnitData:t,unitSheetNameMap:n}}updateFormulaData(e,t,n){const i=new y.ObjectMatrix(n),a=this.getFormulaIdMap(e,t),o=new Map,u=this._formulaData;u[e]==null&&(u[e]={});const c=u[e];c[t]==null&&(c[t]={});const l=new y.ObjectMatrix(c[t]||{}),f=new y.ObjectMatrix;return i.forValue((d,_,C)=>{su(l,f,a,o,d,_,C)}),l.forValue((d,_,C)=>{const D=(C==null?void 0:C.f)||"",A=(C==null?void 0:C.si)||"";if(y.isFormulaId(A)){const L=a.get(A),w=o.get(A);if(L&&!y.isFormulaString(D)){const U=L.f,$=_-L.c,ue=d-L.r;l.setValue(d,_,{f:U,si:A,x:$,y:ue}),f.setValue(d,_,{f:U,si:A,x:$,y:ue})}else if(typeof w=="string"){const U=(C==null?void 0:C.x)||0,$=(C==null?void 0:C.y)||0,ue=this._lexerTreeBuilder.moveFormulaRefOffset(w,U,$);o.set(A,{r:d,c:_,f:ue}),l.setValue(d,_,{f:ue,si:A}),f.setValue(d,_,{f:ue,si:A})}else if(typeof w=="object"){const U=_-w.c,$=d-w.r;l.setValue(d,_,{f:w.f,si:A,x:U,y:$}),f.setValue(d,_,{f:w.f,si:A,x:U,y:$})}}}),f.clone()}updateArrayFormulaRange(e,t,n){var u;const i=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(!i)return;const a=new y.ObjectMatrix(i);new y.ObjectMatrix(n).forValue((c,l,f)=>{a.realDeleteValue(c,l)})}updateArrayFormulaCellData(e,t,n){var l,f;const i=(l=this._arrayFormulaRange[e])==null?void 0:l[t];if(!i)return;const a=new y.ObjectMatrix(i),o=(f=this._arrayFormulaCellData[e])==null?void 0:f[t];if(!o)return;const u=new y.ObjectMatrix(o);new y.ObjectMatrix(n).forValue((d,_,C)=>{iu(a,u,d,_)})}getFormulaItemBySId(e,t,n){const i=this._formulaData;if(i[n]==null)return null;const a=i[n];if((a==null?void 0:a[t])==null)return null;const o=new y.ObjectMatrix(a[t]||{});let u=null;return o.forValue((c,l,f)=>{if(f==null)return!0;const{f:d,si:_,x:C=0,y:D=0}=f;if(_===e&&d.length>0&&C===0&&D===0)return u=f,!1}),u}getFormulaDataItem(e,t,n,i){var a,o,u,c;return(c=(u=(o=(a=this._formulaData)==null?void 0:a[i])==null?void 0:o[n])==null?void 0:u[e])==null?void 0:c[t]}getFormulaIdMap(e,t){const n=new Map,i=this._formulaData;if(i[e]==null)return n;const a=i[e];return(a==null?void 0:a[t])==null||new y.ObjectMatrix(a[t]||{}).forValue((u,c,l)=>{const f=(l==null?void 0:l.f)||"",d=(l==null?void 0:l.si)||"",_=(l==null?void 0:l.x)||0,C=(l==null?void 0:l.y)||0;y.isFormulaString(f)&&y.isFormulaId(d)&&_===0&&C===0&&n.set(d,{f,r:u,c})}),n}getFormulaStringByCell(e,t,n,i){const a=this.getFormulaDataItem(e,t,n,i);if(a==null)return null;const{f:o,si:u,x:c=0,y:l=0}=a;if(u!=null&&(c!==0||l!==0)){let f="";if(o.length>0)f=o;else{const d=this.getFormulaItemBySId(u,n,i);if(d==null||d.f.length===0)return null;f=d.f}return f=this._lexerTreeBuilder.moveFormulaRefOffset(f,c,l),f}return y.isFormulaString(o)?o:null}};exports.FormulaDataModel=uu([ss(0,y.IUniverInstanceService),ss(1,Z.Inject(Mr))],exports.FormulaDataModel);function fi(r,s,e,t){const n=new Map,i=new y.ObjectMatrix;t.forValue((o,u,c)=>{const l=(c==null?void 0:c.f)||"",f=(c==null?void 0:c.si)||"",d=y.isFormulaString(l),_=y.isFormulaId(f);d&&_?(i.setValue(o,u,{f:l,si:f}),n.set(f,{f:l,r:o,c:u})):d&&!_?i.setValue(o,u,{f:l}):!d&&_&&i.setValue(o,u,{f:"",si:f})}),i.forValue((o,u,c)=>{const l=(c==null?void 0:c.f)||"",f=(c==null?void 0:c.si)||"";if(y.isFormulaId(f)&&!y.isFormulaString(l)){const d=n.get(f);if(d){const _=d.f,C=u-d.c,D=o-d.r;i.setValue(o,u,{f:_,si:f,x:C,y:D})}}}),r[s]||(r[s]={});const a=i.clone();return r[s][e]=a,{[s]:{[e]:a}}}class hi extends y.Disposable{constructor(){super();g(this,"_definedNameMap",{});g(this,"_update$",new Pt.Subject);g(this,"update$",this._update$.asObservable());g(this,"_currentRange",{unitId:"",sheetId:"",range:{startRow:0,endRow:0,startColumn:0,endColumn:0}});g(this,"_currentRange$",new Pt.Subject);g(this,"currentRange$",this._currentRange$.asObservable());g(this,"_focusRange$",new Pt.Subject);g(this,"focusRange$",this._focusRange$.asObservable())}dispose(){this._definedNameMap={}}focusRange(e,t){const n=this.getValueById(e,t);n!=null&&this._focusRange$.next({...n,unitId:e})}setCurrentRange(e){this._currentRange=e,this._currentRange$.next(e)}getCurrentRange(){return this._currentRange}getCurrentRangeForString(){return Ze(this._currentRange.range)}registerDefinedNames(e,t){this._definedNameMap[e]=t,this._update()}registerDefinedName(e,t){this._definedNameMap[e]==null&&(this._definedNameMap[e]={}),this._definedNameMap[e][t.id]=t,this._update()}removeDefinedName(e,t){var n;(n=this._definedNameMap[e])==null||delete n[t],this._update()}removeUnitDefinedName(e){delete this._definedNameMap[e],this._update()}getDefinedNameMap(e){return this._definedNameMap[e]}getValueByName(e,t){var i;const n=this._definedNameMap[e];return n==null?null:(i=Array.from(Object.values(n)).filter(a=>a.name===t))==null?void 0:i[0]}getValueById(e,t){var n;return(n=this._definedNameMap[e])==null?void 0:n[t]}hasDefinedName(e){return this._definedNameMap[e]==null?!1:(Array.from(Object.values(this._definedNameMap[e])).length||0)!==0}_update(){this._update$.next(null)}}const Kt=Z.createIdentifier("univer.formula.defined-names.service");var cu=Object.defineProperty,lu=Object.getOwnPropertyDescriptor,fu=(r,s,e,t)=>{for(var n=t>1?void 0:t?lu(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&cu(s,e,n),n},hu=(r,s)=>(e,t)=>s(e,t,r);exports.FormulaCurrentConfigService=class extends y.Disposable{constructor(e){super();g(this,"_unitData",{});g(this,"_unitStylesData",{});g(this,"_arrayFormulaCellData",{});g(this,"_formulaData",{});g(this,"_sheetNameMap",{});g(this,"_forceCalculate",!1);g(this,"_dirtyRanges",[]);g(this,"_dirtyNameMap",{});g(this,"_dirtyDefinedNameMap",{});g(this,"_dirtyUnitFeatureMap",{});g(this,"_dirtyUnitOtherFormulaMap",{});g(this,"_excludedCell");g(this,"_sheetIdToNameMap",{});g(this,"_executeUnitId","");g(this,"_executeSubUnitId","");this._univerInstanceService=e}dispose(){this._unitData={},this._unitStylesData={},this._formulaData={},this._arrayFormulaCellData={},this._sheetNameMap={},this._dirtyRanges=[],this._dirtyNameMap={},this._dirtyDefinedNameMap={},this._dirtyUnitFeatureMap={},this._excludedCell={},this._sheetIdToNameMap={},this._dirtyUnitOtherFormulaMap={}}getExecuteUnitId(){return this._executeUnitId}getExecuteSubUnitId(){return this._executeSubUnitId}setExecuteUnitId(e){this._executeUnitId=e}setExecuteSubUnitId(e){this._executeSubUnitId=e}getExcludedRange(){return this._excludedCell}getUnitData(){return this._unitData}getUnitStylesData(){return this._unitStylesData}getFormulaData(){return this._formulaData}getArrayFormulaCellData(){return this._arrayFormulaCellData}getSheetNameMap(){return this._sheetNameMap}isForceCalculate(){return this._forceCalculate}getDirtyRanges(){return this._dirtyRanges}getDirtyNameMap(){return this._dirtyNameMap}getDirtyDefinedNameMap(){return this._dirtyDefinedNameMap}getDirtyUnitFeatureMap(){return this._dirtyUnitFeatureMap}getDirtyUnitOtherFormulaMap(){return this._dirtyUnitOtherFormulaMap}getSheetName(e,t){return this._sheetIdToNameMap[e]==null?"":this._sheetIdToNameMap[e][t]||""}load(e){if(e.allUnitData&&e.unitSheetNameMap&&e.unitStylesData)this._unitData=e.allUnitData,this._unitStylesData=e.unitStylesData,this._sheetNameMap=e.unitSheetNameMap;else{const{allUnitData:t,unitSheetNameMap:n,unitStylesData:i}=this._loadSheetData();this._unitData=t,this._unitStylesData=i,this._sheetNameMap=n}this._formulaData=e.formulaData,this._arrayFormulaCellData=ps(e.arrayFormulaCellData),this._forceCalculate=e.forceCalculate,this._dirtyRanges=e.dirtyRanges,this._dirtyNameMap=e.dirtyNameMap,this._dirtyDefinedNameMap=e.dirtyDefinedNameMap,this._dirtyUnitFeatureMap=e.dirtyUnitFeatureMap,this._dirtyUnitOtherFormulaMap=e.dirtyUnitOtherFormulaMap,this._excludedCell=e.excludedCell,this._mergeNameMap(this._sheetNameMap,this._dirtyNameMap)}loadDirtyRangesAndExcludedCell(e,t){this._dirtyRanges=e,this._excludedCell=t,this._dirtyNameMap={}}registerUnitData(e){this._unitData=e}registerFormulaData(e){this._formulaData=e}registerSheetNameMap(e){this._sheetNameMap=e}_mergeNameMap(e,t){Object.keys(t).forEach(n=>{t[n]&&Object.keys(t[n]).forEach(i=>{e[n]==null&&(e[n]={}),e[n][t[n][i]]=i})}),this._sheetIdToNameMap={},Object.keys(e).forEach(n=>{Object.keys(e[n]).forEach(i=>{this._sheetIdToNameMap[n]==null&&(this._sheetIdToNameMap[n]={}),this._sheetIdToNameMap[n][e[n][i]]=i})})}_loadSheetData(){const e=this._univerInstanceService.getAllUnitsForType(y.UniverInstanceType.UNIVER_SHEET),t=this._univerInstanceService.getCurrentUnitForType(y.UniverInstanceType.UNIVER_SHEET),n=t==null?void 0:t.getActiveSheet();this._executeUnitId=t==null?void 0:t.getUnitId(),this._executeSubUnitId=n==null?void 0:n.getSheetId();const i={},a={},o={};for(const u of e){const c=u.getUnitId(),l=u.getSheets(),f={},d={};for(const _ of l){const C=_.getSheetId(),D=_.getConfig();f[C]={cellData:new y.ObjectMatrix(D.cellData),rowCount:D.rowCount,columnCount:D.columnCount,rowData:D.rowData,columnData:D.columnData},d[_.getName()]=_.getSheetId()}i[c]=f,a[c]=u.getStyles(),o[c]=d}return{allUnitData:i,unitStylesData:a,unitSheetNameMap:o}}};exports.FormulaCurrentConfigService=fu([hu(0,y.IUniverInstanceService)],exports.FormulaCurrentConfigService);const Ne=Z.createIdentifier("univer.formula.current-data.service");var mu=Object.defineProperty,du=Object.getOwnPropertyDescriptor,gu=(r,s,e,t)=>{for(var n=t>1?void 0:t?du(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&mu(s,e,n),n},Kr=(r,s)=>(e,t)=>s(e,t,r);let xt=class extends y.Disposable{constructor(r,s,e){super(),this._definedNamesService=r,this._lexerTreeBuilder=s,this._formulaCurrentConfigService=e}treeBuilder(r,s=!0){return this._lexerTreeBuilder.treeBuilder(r,s,this._injectDefinedName.bind(this),this._simpleCheckDefinedName.bind(this))}_simpleCheckDefinedName(r){const s=this._formulaCurrentConfigService.getDirtyDefinedNameMap(),e=this._formulaCurrentConfigService.getExecuteUnitId();if(e!=null&&s[e]!=null){const t=Object.keys(s[e]);for(let n=0,i=t.length;n<i;n++){const a=t[n];if(r.indexOf(a)>-1)return!0}}return!1}_checkDefinedNameDirty(r){const s=this._formulaCurrentConfigService.getDirtyDefinedNameMap(),e=this._formulaCurrentConfigService.getExecuteUnitId();if(e!=null&&s[e]!=null){const t=Object.keys(s[e]);for(let n=0,i=t.length;n<i;n++)if(t[n]===r)return!0}return!1}_injectDefinedName(r){const s=this._formulaCurrentConfigService.getExecuteUnitId();if(s==null)return{sequenceString:"",hasDefinedName:!1,definedNames:[]};const e=this._lexerTreeBuilder.getSequenceNode(r);let t="",n=!1;const i=[];for(let a=0,o=e.length;a<o;a++){const u=e[a];if(typeof u=="string"){t+=u;continue}const{nodeType:c,token:l}=u;if(c===Pe.REFERENCE||c===Pe.FUNCTION){const f=this._definedNamesService.getValueByName(s,l);if(f){let d=f.formulaOrRefString;d.substring(0,1)===oe.EQUALS&&(d=d.substring(1)),t+=d,i.push(f.name),n=!0}else this._checkDefinedNameDirty(l)?(t+=h.NAME,n=!0,i.push(l)):t+=l}else t+=l}return{sequenceString:t,hasDefinedName:n,definedNames:i}}};xt=gu([Kr(0,Kt),Kr(1,Z.Inject(Mr)),Kr(2,Ne)],xt);var pu=Object.defineProperty,Ru=Object.getOwnPropertyDescriptor,_u=(r,s,e,t)=>{for(var n=t>1?void 0:t?Ru(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&pu(s,e,n),n},Eu=(r,s)=>(e,t)=>s(e,t,r),$e=(r=>(r[r.IDLE=0]="IDLE",r[r.START_DEPENDENCY=1]="START_DEPENDENCY",r[r.START_CALCULATION=2]="START_CALCULATION",r[r.CURRENTLY_CALCULATING=3]="CURRENTLY_CALCULATING",r[r.START_DEPENDENCY_ARRAY_FORMULA=4]="START_DEPENDENCY_ARRAY_FORMULA",r[r.START_CALCULATION_ARRAY_FORMULA=5]="START_CALCULATION_ARRAY_FORMULA",r[r.CURRENTLY_CALCULATING_ARRAY_FORMULA=6]="CURRENTLY_CALCULATING_ARRAY_FORMULA",r[r.CALCULATION_COMPLETED=7]="CALCULATION_COMPLETED",r))($e||{}),St=(r=>(r[r.INITIAL=0]="INITIAL",r[r.STOP_EXECUTION=1]="STOP_EXECUTION",r[r.NOT_EXECUTED=2]="NOT_EXECUTED",r[r.SUCCESS=3]="SUCCESS",r))(St||{});exports.FormulaRuntimeService=class extends y.Disposable{constructor(e){super();g(this,"_formulaExecuteStage",0);g(this,"_stopState",!1);g(this,"_currentRow",-1);g(this,"_currentColumn",-1);g(this,"_currentRowCount",Number.NEGATIVE_INFINITY);g(this,"_currentColumnCount",Number.NEGATIVE_INFINITY);g(this,"_currentSubUnitId","");g(this,"_currentUnitId","");g(this,"_runtimeData",{});g(this,"_runtimeOtherData",{});g(this,"_unitArrayFormulaRange",{});g(this,"_runtimeArrayFormulaCellData",{});g(this,"_runtimeClearArrayFormulaCellData",{});g(this,"_runtimeFeatureRange",{});g(this,"_runtimeFeatureCellData",{});g(this,"_functionsExecutedState",0);g(this,"_functionDefinitionPrivacyVar",new Map);g(this,"_totalFormulasToCalculate",0);g(this,"_completedFormulasCount",0);g(this,"_totalArrayFormulasToCalculate",0);g(this,"_completedArrayFormulasCount",0);g(this,"_isCycleDependency",!1);this._currentConfigService=e}get currentRow(){return this._currentRow}get currentColumn(){return this._currentColumn}get currentRowCount(){return this._currentRowCount}get currentColumnCount(){return this._currentColumnCount}get currentSubUnitId(){return this._currentSubUnitId}get currentUnitId(){return this._currentUnitId}dispose(){this.reset(),this._runtimeFeatureCellData={},this._runtimeFeatureRange={}}enableCycleDependency(){this._isCycleDependency=!0}disableCycleDependency(){this._isCycleDependency=!1}isCycleDependency(){return this._isCycleDependency}setTotalArrayFormulasToCalculate(e){this._totalArrayFormulasToCalculate=e}getTotalArrayFormulasToCalculate(){return this._totalArrayFormulasToCalculate}setCompletedArrayFormulasCount(e){this._completedArrayFormulasCount=e}getCompletedArrayFormulasCount(){return this._completedArrayFormulasCount}setTotalFormulasToCalculate(e){this._totalFormulasToCalculate=e}getTotalFormulasToCalculate(){return this._totalFormulasToCalculate}setCompletedFormulasCount(e){this._completedFormulasCount=e}getCompletedFormulasCount(){return this._completedFormulasCount}markedAsSuccessfullyExecuted(){this._functionsExecutedState=3}markedAsNoFunctionsExecuted(){this._functionsExecutedState=2}markedAsStopFunctionsExecuted(){this._functionsExecutedState=1}markedAsInitialFunctionsExecuted(){this._functionsExecutedState=0}stopExecution(){this._stopState=!0,this.setFormulaExecuteStage(0)}isStopExecution(){return this._stopState}setFormulaExecuteStage(e){this._formulaExecuteStage=e}getFormulaExecuteStage(){return this._formulaExecuteStage}reset(){this._formulaExecuteStage=0,this._runtimeData={},this._runtimeOtherData={},this._unitArrayFormulaRange={},this._runtimeArrayFormulaCellData={},this._runtimeClearArrayFormulaCellData={},this._functionDefinitionPrivacyVar.clear(),this.markedAsInitialFunctionsExecuted(),this._isCycleDependency=!1,this._totalFormulasToCalculate=0,this._completedFormulasCount=0}setCurrent(e,t,n,i,a,o){this._currentRow=e,this._currentColumn=t,this._currentRowCount=n,this._currentColumnCount=i,this._currentSubUnitId=a,this._currentUnitId=o}clearFunctionDefinitionPrivacyVar(){this._functionDefinitionPrivacyVar.clear()}registerFunctionDefinitionPrivacyVar(e,t){this._functionDefinitionPrivacyVar.set(e,t)}getFunctionDefinitionPrivacyVar(e){return this._functionDefinitionPrivacyVar.get(e)}setRuntimeOtherData(e,t){const n=this._currentSubUnitId,i=this._currentUnitId;this._runtimeOtherData[i]===void 0&&(this._runtimeOtherData[i]={});const a=this._runtimeOtherData[i];a[n]===void 0&&(a[n]={});const o=a[n];let u=[];if(t.isReferenceObject()||t.isValueObject()&&t.isArray()){const c=t,{startRow:l,startColumn:f}=c.getRangePosition();c.iterator((d,_,C)=>{const D=ht(d),A=_-l,L=C-f;u[A]==null&&(u[A]=[]),u[A][L]=D})}else u=[[ht(t)]];o[e]=u}setRuntimeData(e){const t=this._currentRow,n=this._currentColumn,i=this._currentRowCount,a=this.currentColumnCount,o=this._currentSubUnitId,u=this._currentUnitId;this._runtimeData[u]==null&&(this._runtimeData[u]={});const c=this._runtimeData[u];c[o]==null&&(c[o]=new y.ObjectMatrix),this._unitArrayFormulaRange[u]==null&&(this._unitArrayFormulaRange[u]={});const l=this._unitArrayFormulaRange[u];let f=new y.ObjectMatrix;l[o]&&(f=new y.ObjectMatrix(l[o])),this._runtimeArrayFormulaCellData[u]===void 0&&(this._runtimeArrayFormulaCellData[u]={});const d=this._runtimeArrayFormulaCellData[u];d[o]==null&&(d[o]=new y.ObjectMatrix),this._runtimeClearArrayFormulaCellData[u]===void 0&&(this._runtimeClearArrayFormulaCellData[u]={});const _=this._runtimeClearArrayFormulaCellData[u];_[o]==null&&(_[o]=new y.ObjectMatrix);const C=c[o],D=d[o],A=_[o];if(e.isReferenceObject()||e.isValueObject()&&e.isArray()){const L=e,{startRow:w,startColumn:U,endRow:$,endColumn:ue}=L.getRangePosition();if(w===$&&U===ue){const ge=L.getFirstCell(),ne=ht(ge);C.setValue(t,n,ne),A.setValue(t,n,ne);return}const de={startRow:t,startColumn:n,endRow:$-w+t,endColumn:ue-U+n};if(f.setValue(t,n,de),l[o]=f.getData(),this._checkIfArrayFormulaRangeHasData(u,o,t,n,de)||this._checkIfArrayFormulaExceeded(i,a,de)){const ge=ht(m.create(h.SPILL));C.setValue(t,n,ge),A.setValue(t,n,ge)}else{const ge=m.create(h.SPILL);L.iterator((ne,N,te)=>{const K=ht(ne);if(N===w&&te===U){if(ne!=null&&ne.isError()&&ne.isEqualType(ge))return A.setValue(t,n,{}),C.setValue(t,n,{...ht(ge)}),!1;C.setValue(t,n,{...K})}const Fe=N-w+t,lt=te-U+n;D.setValue(Fe,lt,K)})}}else{const L=ht(e);C.setValue(t,n,L),A.setValue(t,n,L)}}getUnitData(){return this._runtimeData}getUnitArrayFormula(){return this._unitArrayFormulaRange}getRuntimeOtherData(){return this._runtimeOtherData}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}getRuntimeClearArrayFormulaCellData(){return this._runtimeClearArrayFormulaCellData}getRuntimeFeatureRange(){return this._runtimeFeatureRange}setRuntimeFeatureRange(e,t){this._runtimeFeatureRange[e]=t}getRuntimeFeatureCellData(){return this._runtimeFeatureCellData}setRuntimeFeatureCellData(e,t){this._runtimeFeatureCellData[e]=t}getAllRuntimeData(){return{unitData:this.getUnitData(),arrayFormulaRange:this.getUnitArrayFormula(),unitOtherData:this.getRuntimeOtherData(),functionsExecutedState:this._functionsExecutedState,arrayFormulaCellData:this.getRuntimeArrayFormulaCellData(),clearArrayFormulaCellData:this.getRuntimeClearArrayFormulaCellData(),runtimeFeatureRange:this.getRuntimeFeatureRange(),runtimeFeatureCellData:this.getRuntimeFeatureCellData()}}getRuntimeState(){return{totalFormulasToCalculate:this.getTotalFormulasToCalculate(),completedFormulasCount:this.getCompletedFormulasCount(),totalArrayFormulasToCalculate:this.getTotalArrayFormulasToCalculate(),completedArrayFormulasCount:this.getCompletedArrayFormulasCount(),stage:this.getFormulaExecuteStage()}}_checkIfArrayFormulaRangeHasData(e,t,n,i,a){var _,C,D,A,L,w,U,$,ue,de,ge,ne;const{startRow:o,startColumn:u,endRow:c,endColumn:l}=a,f=this._currentConfigService.getUnitData(),d=(D=(C=(_=this._unitArrayFormulaRange[e])==null?void 0:_[t])==null?void 0:C[n])==null?void 0:D[i];for(let N=o;N<=c;N++)for(let te=u;te<=l;te++){if(N===n&&i===te)continue;const K=(w=(L=(A=this._runtimeData)==null?void 0:A[e])==null?void 0:L[t])==null?void 0:w.getValue(N,te),Fe=(ue=($=(U=this._runtimeArrayFormulaCellData)==null?void 0:U[e])==null?void 0:$[t])==null?void 0:ue.getValue(N,te),lt=(ne=(ge=(de=f==null?void 0:f[e])==null?void 0:de[t])==null?void 0:ge.cellData)==null?void 0:ne.getValue(N,te);if(!y.isNullCell(K)||!y.isNullCell(Fe)&&!this._isInArrayFormulaRange(d,N,te)||!y.isNullCell(lt))return!0}return!1}_isInArrayFormulaRange(e,t,n){if(e==null)return!1;const{startRow:i,startColumn:a,endRow:o,endColumn:u}=e;return t>=i&&t<=o&&n>=a&&n<=u}_checkIfArrayFormulaExceeded(e,t,n){return n.endRow>=e||n.endColumn>=t}_isInDirtyRange(e,t,n,i){const a=this._currentConfigService.getDirtyRanges();return a.length===0?!0:hs(a,e,t,n,i)}};exports.FormulaRuntimeService=_u([Eu(0,Ne)],exports.FormulaRuntimeService);const ke=Z.createIdentifier("univer.formula.runtime.service");var ee=(r=>(r.REFERENCE="ReferenceNode",r.VALUE="ValueNode",r.OPERATOR="OperatorNode",r.FUNCTION="FunctionNode",r.LAMBDA="LambdaNode",r.LAMBDA_PARAMETER="LambdaNodeParameter",r.ERROR="ErrorNode",r.BASE="Base",r.ROOT="Root",r.UNION="UnionNode",r.PREFIX="PrefixNode",r.SUFFIX="SuffixNode",r.NULL="NullNode",r))(ee||{});const Qe=new Map([["ReferenceNode",7],["ValueNode",9],["OperatorNode",8],["FunctionNode",6],["LambdaNode",1],["LambdaNodeParameter",2],["Root",10],["UnionNode",3],["PrefixNode",4],["SuffixNode",5]]);class ve extends y.Disposable{constructor(e){super();g(this,"_children",[]);g(this,"_definedNames",[]);g(this,"_parent");g(this,"_valueObject");g(this,"_calculateState",!1);g(this,"_async",!1);g(this,"_address",!1);g(this,"_refOffsetX",0);g(this,"_refOffsetY",0);this._token=e}dispose(){var e;this._children.forEach(t=>{t.dispose()}),(e=this._valueObject)==null||e.dispose(),this._parent=null}get nodeType(){return ee.BASE}isAsync(){return this._async}isAddress(){return this._address}setAsync(){this._async=!0}setAddress(){this._address=!0}getParent(){return this._parent}setParent(e){this._parent=e,e.addChildren(this)}getChildren(){return this._children}addChildren(...e){this._children.push(...e)}getToken(){return this._token}setValue(e){this._valueObject=e}getValue(){return this._valueObject}isCalculated(){return this._calculateState}setCalculated(){this._calculateState=!0}execute(){}setNotEmpty(e=!0){}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}async executeAsync(){return Promise.resolve(pt.SUCCESS)}serialize(){const e=this.getToken(),t=this.getChildren(),n=[],i=t.length;for(let o=0;o<i;o++){const u=t[o];n.push(u.serialize())}const a={token:e,nodeType:this.nodeType};return i>0&&(a.children=n),a}hasDefinedName(e){return this._definedNames.includes(e)}setDefinedNames(e){this._definedNames=e}}class De extends ve{constructor(e){super(e);g(this,"_errorValueObject");this._errorValueObject=m.create(e)}get nodeType(){return ee.ERROR}static create(e){return new De(e)}getValue(){return this._errorValueObject}}const ze=100;class He extends y.Disposable{get zIndex(){return 0}create(s,e,t){let n;return s instanceof q?n=s.getToken():n=s,new ve(n)}}class an extends ve{get nodeType(){return ee.ROOT}execute(){const e=this.getChildren()[0];e==null?this.setValue(m.create(h.VALUE)):this.setValue(e.getValue())}}class mi extends He{get zIndex(){return Qe.get(ee.ROOT)||ze}checkAndCreateNodeType(s){if(!(s instanceof q))return;if(s.getToken()===at)return new an(at)}}class di extends y.Disposable{constructor(){super(...arguments);g(this,"_functionExecutors",new Map);g(this,"_functionDescriptions",new Map)}dispose(){this._functionExecutors.clear(),this._functionDescriptions.clear()}registerExecutors(...e){for(let t=0;t<e.length;t++){const n=e[t];this._functionExecutors.set(n.name,n)}}getExecutors(){return this._functionExecutors}getExecutor(e){return this._functionExecutors.get(e)}hasExecutor(e){return this._functionExecutors.has(e)}unregisterExecutors(...e){for(let t=0;t<e.length;t++){const n=e[t];this._functionExecutors.delete(n)}}registerDescriptions(...e){for(let t=0;t<e.length;t++){const n=e[t];this._functionDescriptions.set(n.functionName,n)}return y.toDisposable(()=>{for(let t=0;t<e.length;t++){const n=e[t];this._functionDescriptions.delete(n.functionName)}})}getDescriptions(){return this._functionDescriptions}getDescription(e){return this._functionDescriptions.get(e)}hasDescription(e){return this._functionDescriptions.has(e)}unregisterDescriptions(...e){for(let t=0;t<e.length;t++){const n=e[t];this._functionDescriptions.delete(n)}}}const We=Z.createIdentifier("univer.formula.function.service");var yu=Object.defineProperty,Cu=Object.getOwnPropertyDescriptor,Du=(r,s,e,t)=>{for(var n=t>1?void 0:t?Cu(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&yu(s,e,n),n},is=(r,s)=>(e,t)=>s(e,t,r);class Er extends ve{constructor(s,e,t){super(e),this._accessor=s,this._operatorString=e,this._functionExecutor=t}get nodeType(){return ee.PREFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null)throw new Error("object is null");e.isReferenceObject()&&(e=e.toArrayValueObject()),this._operatorString===_e.MINUS?t=this._functionExecutor.calculate(S.create(0),e):this._operatorString===_e.AT?t=this._handlerAT(e):t=m.create(h.VALUE),this.setValue(t)}_handlerAT(s){if(!s.isReferenceObject())return m.create(h.VALUE);const e=s;if(e.isCell())return m.create(h.VALUE);const t=this._accessor.get(ke),n=t.currentRow||0,i=t.currentColumn||0;return e.isRow()?e.getCellByColumn(i):e.isColumn()?e.getCellByRow(n):e.isRange()||e.isTable()?e.getCellByPosition():m.create(h.VALUE)}}let yr=class extends He{constructor(r,s){super(),this._functionService=r,this._injector=s}get zIndex(){return Qe.get(ee.PREFIX)||ze}checkAndCreateNodeType(r){if(!(r instanceof q))return;const s=r.getToken(),e=s.trim();if(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')return;let t="";if(e===_e.MINUS)t=Ae.MINUS;else return e===_e.AT?new Er(this._injector,e):void 0;const n=this._functionService.getExecutor(t);return n?new Er(this._injector,e,n):(console.error(`No function ${s}`),De.create(h.NAME))}};yr=Du([is(0,We),is(1,Z.Inject(Z.Injector))],yr);function gi(r,s,e){let t,n;const i=r.slice(0,2);let a=0;if(new RegExp(_e.MINUS,"g").test(i)){const o=s.getExecutor(Ae.MINUS);t=new Er(e,_e.MINUS,o),a++}return new RegExp(_e.AT,"g").test(i)&&(n=new Er(e,_e.AT),t&&n.setParent(t),a++),a>0&&(r=r.slice(a)),{tokenTrim:r,minusPrefixNode:t,atPrefixNode:n}}var bu=Object.defineProperty,Su=Object.getOwnPropertyDescriptor,Au=(r,s,e,t)=>{for(var n=t>1?void 0:t?Su(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&bu(s,e,n),n},Tt=(r,s)=>(e,t)=>s(e,t,r);class Pu extends ve{constructor(s,e,t,n,i){super(s),this._functionExecutor=e,this._currentConfigService=t,this._runtimeService=n,this._definedNamesService=i,this._functionExecutor.isAsync()&&this.setAsync(),this._functionExecutor.isAddress()&&this.setAddress()}get nodeType(){return ee.FUNCTION}async executeAsync(){const s=[],e=this.getChildren(),t=e.length;this._compatibility();for(let a=0;a<t;a++){const o=e[a].getValue();o!=null&&(o.isReferenceObject()?s.push(o.toArrayValueObject()):s.push(o))}const n=this._calculate(s);let i;return n.isAsyncObject()||n.isAsyncArrayObject()?i=await n.getValue():i=n,this._setRefData(i),this.setValue(i),Promise.resolve(pt.SUCCESS)}execute(){const s=[],e=this.getChildren(),t=e.length;this._compatibility();for(let i=0;i<t;i++){const a=e[i].getValue();a!=null&&(a.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?s.push(a.toArrayValueObject()):s.push(a))}const n=this._calculate(s);this._setRefData(n),this.setValue(n)}_compatibility(){this._lookupCompatibility()}_lookupCompatibility(){const s=this.getChildren(),e=s.length;if(!this._functionExecutor.needsExpandParams||e!==3)return;const t=s[1].getValue(),n=s[2].getValue();if(!(t!=null&&t.isReferenceObject())&&!(n!=null&&n.isReferenceObject()))return;const i=t.getRangeData(),a=n.getRangeData(),{startRow:o,startColumn:u,endRow:c,endColumn:l}=i,f=c-o+1,d=l-u+1,{startRow:_,startColumn:C,endRow:D,endColumn:A}=a,L=D-_+1,w=A-C+1;f!==L&&(a.endRow+=f-L),d!==w&&(a.endColumn+=d-w)}_calculate(s){var i;const{minParams:e,maxParams:t}=this._functionExecutor;if(e!==-1&&t!==-1&&(s.length<e||s.length>t))return m.create(h.NA);let n;if(this._setRefInfo(),this._functionExecutor.isCustom()){const a=this._functionExecutor.calculateCustom(...s.map(o=>o.isArray()?o.toValue():o.getValue()));if(typeof a!="object"||a==null)n=ct.create(a);else{const o=va(a);n=Ce.create({calculateValueList:o,rowCount:o.length,columnCount:((i=o[0])==null?void 0:i.length)||0,unitId:"",sheetId:"",row:-1,column:-1})}}else this._functionExecutor.isAddress()&&this._setDefinedNamesForFunction(),n=this._functionExecutor.calculate(...s);return n}_setDefinedNamesForFunction(){const s=this._currentConfigService.getExecuteUnitId();if(s==null)return;const e=this._definedNamesService.getDefinedNameMap(s);e!=null&&this._functionExecutor.setDefinedNames(e)}_setRefInfo(){const{currentUnitId:s,currentSubUnitId:e,currentRow:t,currentColumn:n}=this._runtimeService;this._functionExecutor.setRefInfo(s,e,t,n)}_setRefData(s){if(!s.isReferenceObject())return;const e=s;e.setForcedSheetId(this._currentConfigService.getSheetNameMap()),e.setUnitData(this._currentConfigService.getUnitData()),e.setArrayFormulaCellData(this._currentConfigService.getArrayFormulaCellData()),e.setRuntimeData(this._runtimeService.getUnitData()),e.setRuntimeArrayFormulaCellData(this._runtimeService.getRuntimeArrayFormulaCellData()),e.setRuntimeFeatureCellData(this._runtimeService.getRuntimeFeatureCellData())}}let Cr=class extends He{constructor(r,s,e,t,n){super(),this._functionService=r,this._currentConfigService=s,this._runtimeService=e,this._definedNamesService=t,this._injector=n}get zIndex(){return Qe.get(ee.FUNCTION)||ze}create(r){const s=this._functionService.getExecutor(r);return s?new Pu(r,s,this._currentConfigService,this._runtimeService,this._definedNamesService):(console.error(`No function ${r}`),De.create(h.NAME))}checkAndCreateNodeType(r){if(typeof r=="string")return;const s=r.getToken(),{tokenTrim:e,minusPrefixNode:t,atPrefixNode:n}=gi(s.trim(),this._functionService,this._injector);if(!Number.isNaN(Number(e)))return De.create(h.VALUE);const i=e.toUpperCase();if(this._functionService.hasExecutor(i)){const a=this.create(i);return n?a.setParent(n):t&&a.setParent(t),a}}};Cr=Au([Tt(0,We),Tt(1,Ne),Tt(2,ke),Tt(3,Kt),Tt(4,Z.Inject(Z.Injector))],Cr);var Lu=Object.defineProperty,xu=Object.getOwnPropertyDescriptor,wu=(r,s,e,t)=>{for(var n=t>1?void 0:t?xu(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&Lu(s,e,n),n},Vu=(r,s)=>(e,t)=>s(e,t,r);let wt=class extends y.Disposable{constructor(r){super(),this._runtimeService=r}async executeAsync(r){if(!r)return m.create(h.VALUE);await this._executeAsync(r);const s=r.getValue();if(s==null)throw new Error("node value is null");return Promise.resolve(s)}execute(r){if(!r)return m.create(h.VALUE);this._execute(r);const s=r.getValue();if(s==null)throw new Error("node value is null");return s}executePreCalculateNode(r){return r.execute(),r.getValue()}checkAsyncNode(r){const s=[];this._checkAsyncNode(r,s);for(let e=0,t=s.length;e<t;e++)if(s[e]===!0)return!0;return!1}_checkAsyncNode(r,s){const e=r.getChildren(),t=e.length;for(let n=0;n<t;n++){const i=e[n];s.push(i.isAsync()),this._checkAsyncNode(i,s)}}async _executeAsync(r){if(this._runtimeService.isStopExecution())return Promise.resolve(pt.ERROR);const s=r.getChildren(),e=s.length;for(let t=0;t<e;t++){const n=s[t];if(n.getToken().toUpperCase()===Yt&&n.isEmptyParamFunction()){n.execute();continue}await this._executeAsync(n)}return r.nodeType===ee.FUNCTION&&r.isAsync()?await r.executeAsync():r.execute(),Promise.resolve(pt.SUCCESS)}_execute(r){if(this._runtimeService.isStopExecution())return pt.ERROR;const s=r.getChildren(),e=s.length;for(let t=0;t<e;t++){const n=s[t];if(n.getToken().toUpperCase()===Yt&&n.isEmptyParamFunction()){n.execute();continue}this._execute(n)}return r.execute(),pt.SUCCESS}};wt=wu([Vu(0,ke)],wt);function pi(r){return r instanceof q?r.getToken()===Lt:!1}function vu(r){return r instanceof q?r.getToken()===Es:!1}function Ri(r){if(!r)return;if(r.getToken()!==Wt)return r;const s=r,e=s.getCurrentLambdaPrivacyVar(),t=s.getLambdaParameter();if(!e)return;const n=e.get(t);return n==null&&r.getValue()?r:Ri(n)}class Sn extends Je{constructor(e,t,n){super(0);g(this,"_lambdaPrivacyValueMap",new Map);this._lambdaNode=e,this._interpreter=t,this._lambdaPrivacyVarKeys=n,this._lambdaPrivacyValueMap.clear()}static create(e,t,n){return new Sn(e,t,n)}isLambda(){return!0}execute(...e){const t=this._lambdaPrivacyVarKeys.length;if(e.length!==t)return m.create(h.VALUE);this._setLambdaPrivacyValueMap(e),this._setLambdaNodeValue(this._lambdaNode),this._lambdaNode.setNotEmpty(!1);let n;if(this._interpreter.checkAsyncNode(this._lambdaNode))n=new Ma(this._interpreter.executeAsync(this._lambdaNode));else{const i=this._interpreter.execute(this._lambdaNode);i.isReferenceObject()?n=i.toArrayValueObject():n=i}return this._lambdaNode.setNotEmpty(!0),n}_setLambdaNodeValue(e){const t=e.getChildren(),n=t.length;for(let i=0;i<n;i++){const a=t[i];if(a.getToken()===Wt){const u=a.getLambdaParameter(),c=this._lambdaPrivacyValueMap.get(u);if(c)a.setValue(c);else{const l=a.getCurrentLambdaPrivacyVar(),f=Ri(l.get(u));f!=null&&a.setValue(f.getValue())}continue}this._setLambdaNodeValue(a)}}_setLambdaPrivacyValueMap(e){for(let t=0;t<e.length;t++){const n=e[t],i=this._lambdaPrivacyVarKeys[t];this._lambdaPrivacyValueMap.set(i,n)}}}var Ou=Object.defineProperty,Fu=Object.getOwnPropertyDescriptor,Uu=(r,s,e,t)=>{for(var n=t>1?void 0:t?Fu(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&Ou(s,e,n),n},as=(r,s)=>(e,t)=>s(e,t,r);class Mu extends ve{constructor(e,t,n,i){super(e);g(this,"_isNotEmpty",!0);this._lambdaId=t,this._interpreter=n,this._lambdaPrivacyVarKeys=i}get nodeType(){return ee.LAMBDA}setNotEmpty(e=!1){this._isNotEmpty=e}isEmptyParamFunction(){return this.getChildren().length<2&&this._isNotEmpty}isFunctionParameter(){return this._lambdaId===null}getLambdaId(){return this._lambdaId}execute(){if(this.isEmptyParamFunction())this.setValue(Sn.create(this,this._interpreter,this._lambdaPrivacyVarKeys));else{const e=this.getChildren(),t=e.length;this.setValue(e[t-1].getValue())}}}let Dr=class extends He{constructor(r,s){super(),this._runtimeService=r,this._interpreter=s}get zIndex(){return Qe.get(ee.LAMBDA)||ze}create(r){const s=r.getChildren(),e=s[0];let t=s.slice(1,-1);const n=s[s.length-1];if(!(e instanceof q&&n instanceof q))return De.create(h.NAME);if(e.getToken()===Lt){const o=e.getChildren();if(t.length!==o.length)return De.create(h.VALUE)}else t=s.slice(0,-1);const i=y.Tools.generateRandomId(8),a=new Map;for(let o=0;o<t.length;o++){const u=t[o];if(u instanceof q){const c=u.getChildren()[0];u.setToken(Es),a.set(c.trim(),void 0)}else return De.create(h.VALUE)}return this._runtimeService.registerFunctionDefinitionPrivacyVar(i,a),this._updateLambdaStatement(n,i,a),new Mu(r.getToken(),i,this._interpreter,[...a.keys()])}checkAndCreateNodeType(r){if(!(!(r instanceof q)||r.getToken().trim().toUpperCase()!==Yt))return this.create(r)}_updateLambdaStatement(r,s,e){this._updateTree(r,s,e)}_updateTree(r,s,e){const t=r.getChildren(),n=t.length,i=t[0];for(let a=0;a<n;a++){const o=t[a];if(!(pi(i)&&a!==0))if(o instanceof q)this._updateTree(o,s,e);else{const u=o.trim();if(e.has(u)){const c=new q;c.setToken(Wt),c.setLambdaId(s),c.setLambdaPrivacyVar(e),c.setLambdaParameter(u),t[a]=c}}}}};Dr=Uu([as(0,ke),as(1,Z.Inject(wt))],Dr);function _i(r){if(!r)return;if(r.getToken()!==Wt)return r;const s=r,e=s.getCurrentLambdaPrivacyVar(),t=s.getLambdaParameter();if(e)return _i(e.get(t))}class Bu extends ve{constructor(s,e,t){super(s),this._lambdaParameter=e,this._currentLambdaPrivacyVar=t}getLambdaParameter(){return this._lambdaParameter}getCurrentLambdaPrivacyVar(){return this._currentLambdaPrivacyVar}get nodeType(){return ee.LAMBDA_PARAMETER}execute(){const s=_i(this._currentLambdaPrivacyVar.get(this._lambdaParameter));if(s)this.setValue(s.getValue());else{const e=this.getValue();(e==null||e.isError())&&this.setValue(m.create(h.SPILL))}}}class Ei extends He{get zIndex(){return Qe.get(ee.LAMBDA_PARAMETER)||ze}create(s){const e=s.getFunctionDefinitionPrivacyVar(),t=s.getLambdaParameter();return e?new Bu(s.getToken(),t,e):new De(h.SPILL)}checkAndCreateNodeType(s){if(!(!(s instanceof q)||s.getToken().trim()!==Wt))return this.create(s)}}class Tu extends ve{constructor(s){super(s),this._operatorString=s}get nodeType(){return ee.NULL}execute(){this.setValue(le.create())}}var ku=Object.defineProperty,ju=Object.getOwnPropertyDescriptor,$u=(r,s,e,t)=>{for(var n=t>1?void 0:t?ju(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&ku(s,e,n),n},Iu=(r,s)=>(e,t)=>s(e,t,r);class Yu extends ve{constructor(s,e){super(s),this._operatorString=s,this._functionExecutor=e}get nodeType(){return ee.OPERATOR}execute(){var i,a;const s=this.getChildren();this._functionExecutor.name===Ae.COMPARE&&this._functionExecutor.setCompareType(this.getToken());let e=(i=s[0])==null?void 0:i.getValue(),t=(a=s[1])==null?void 0:a.getValue();const n=this.getToken();if((e==null||t==null)&&n!==oe.MINUS&&n!==oe.PLUS){this.setValue(m.create(h.VALUE));return}e==null&&(e=le.create()),t==null&&(t=le.create()),e.isReferenceObject()&&(e=e.toArrayValueObject()),t.isReferenceObject()&&(t=t.toArrayValueObject()),this.setValue(this._functionExecutor.calculate(e,t))}}let br=class extends He{constructor(r){super(),this._functionService=r}get zIndex(){return Qe.get(ee.OPERATOR)||ze}create(r){let s="";const e=r;e===oe.PLUS?s=Ae.PLUS:e===oe.MINUS?s=Ae.MINUS:e===oe.MULTIPLY?s=Ae.MULTIPLY:e===oe.DIVIDED?s=Ae.DIVIDED:e===oe.CONCATENATE?s=it.CONCATENATE:e===oe.POWER?s=xe.POWER:Yi.has(e)&&(s=Ae.COMPARE);const t=this._functionService.getExecutor(s);return t?new Yu(e,t):(console.error(`No function ${r}`),De.create(h.NAME))}checkAndCreateNodeType(r){if(r instanceof q)return;const s=r.trim();if(!(s.charAt(0)==='"'&&s.charAt(s.length-1)==='"')&&dt.has(s))return this.create(s)}};br=$u([Iu(0,We)],br);class Qu extends y.Disposable{constructor(){super(...arguments);g(this,"_tableMap",new Map);g(this,"_tableOptionMap",new Map)}dispose(){this._tableMap.clear(),this._tableOptionMap.clear()}remove(e,t){var n;(n=this._tableMap.get(e))==null||n.delete(t)}getTableMap(e){return this._tableMap.get(e)}getTableOptionMap(){return this._tableOptionMap}registerTable(e,t,n){var i;this._tableMap.get(e)==null&&this._tableMap.set(e,new Map),(i=this._tableMap.get(e))==null||i.set(t,n)}registerTableOptionMap(e,t){this._tableOptionMap.set(e,t)}}const An=Z.createIdentifier("univer.formula.super-table.service");class zu extends Ft{constructor(s,e,t,n){super(s),this._tableData=e,this._columnDataString=t;const i=this._tableData.sheetId,a=this._tableData.range,o=this._tableData.titleMap;this.setForcedSheetIdDirect(i);const u=this._stringToColumnData(this._columnDataString,o,n),c=u.startColumn,l=u.endColumn,f=u.type;let d=-1,_=-1;const C=a.startRow,D=a.startColumn;f===gt.ALL?(d=C,_=D):f===gt.DATA?(d=C+1,_=D):f===gt.HEADERS?(d=C,_=C):f===gt.TOTALS&&(d=D,_=D),this.setRangeData({startColumn:c,endColumn:l,startRow:d,endRow:_})}isTable(){return!0}_stringToColumnData(s,e,t){s=s.substring(1,-1);const n=s.indexOf(W.COMMA);let i=-1,a=-1,o=gt.ALL;if(n===-1){const u=this._columnHandler(s,e);i=u.startColumn,a=u.endColumn}else{const u=s.substring(0,n).substring(1,-1),c=s.substring(n+1),l=this._columnHandler(c,e,!0);i=l.startColumn,a=l.endColumn,o=t.get(u),o||(o=gt.ALL)}return{startColumn:i,endColumn:a,type:o}}_columnHandler(s,e,t=!1){var o,u,c;let n=-1,i=-1;const a=s.indexOf(W.COLON);if(new RegExp(Ss,"g").test(s)){const l=s.substring(0,a).substring(1,-1),f=s.substring(a+1).substring(1,-1);n=(o=e.get(l))!=null?o:-1,i=(u=e.get(f))!=null?u:-1}else t&&(s=s.substring(1,-1)),n=(c=e.get(s))!=null?c:-1,i=n;return{startColumn:n,endColumn:i}}}var Hu=Object.defineProperty,Wu=Object.getOwnPropertyDescriptor,Gu=(r,s,e,t)=>{for(var n=t>1?void 0:t?Wu(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&Hu(s,e,n),n},rr=(r,s)=>(e,t)=>s(e,t,r);class nr extends ve{constructor(s,e,t,n=!1){super(e),this._accessor=s,this._operatorString=e,this._referenceObject=t,this._isPrepareMerge=n}get nodeType(){return ee.REFERENCE}execute(){const s=this._accessor.get(Ne),e=this._accessor.get(ke);this._referenceObject.setDefaultUnitId(e.currentUnitId),this._referenceObject.setDefaultSheetId(e.currentSubUnitId),this._referenceObject.setForcedSheetId(s.getSheetNameMap()),this._referenceObject.setUnitData(s.getUnitData()),this._referenceObject.setArrayFormulaCellData(s.getArrayFormulaCellData()),this._referenceObject.setRuntimeData(e.getUnitData()),this._referenceObject.setUnitStylesData(s.getUnitStylesData()),this._referenceObject.setRuntimeArrayFormulaCellData(e.getRuntimeArrayFormulaCellData()),this._referenceObject.setRuntimeFeatureCellData(e.getRuntimeFeatureCellData());const{x:t,y:n}=this.getRefOffset();this._referenceObject.setRefOffset(t,n),!this._isPrepareMerge&&this._referenceObject.isExceedRange()?this.setValue(m.create(h.NAME)):this.setValue(this._referenceObject)}}let Sr=class extends He{constructor(r,s,e,t){super(),this._superTableService=r,this._formulaRuntimeService=s,this._functionService=e,this._injector=t}get zIndex(){return Qe.get(ee.REFERENCE)||ze}checkAndCreateNodeType(r){var u,c;let s=!1,e,t=!1;r instanceof q?(s=!0,e=r.getToken().trim(),((c=(u=r.getParent())==null?void 0:u.getParent())==null?void 0:c.getToken().trim())===W.COLON&&(t=!0)):e=r.trim();const{tokenTrim:n,minusPrefixNode:i,atPrefixNode:a}=gi(e,this._functionService,this._injector);if(!s&&n.charAt(0)==='"'&&n.charAt(n.length-1)==='"')return;let o;if(new RegExp(Gt).test(n))o=new nr(this._injector,n,new pn(n),t);else if(s&&this._checkParentIsUnionOperator(r))new RegExp(Ds).test(n)?o=new nr(this._injector,n,new Rn(n),t):new RegExp(bs).test(n)&&(o=new nr(this._injector,n,new _n(n),t));else{const l=this._formulaRuntimeService.currentUnitId,f=this._superTableService.getTableMap(l),d=new RegExp(Ss,"g"),_=n.replace(d,"");if(!s&&(f!=null&&f.has(_))){const C=d.exec(n);let D="";C&&(D=C[0]);const A=f.get(_),L=this._superTableService.getTableOptionMap();o=new nr(this._injector,n,new zu(n,A,D,L))}}if(o)return a?o.setParent(a):i&&o.setParent(i),o}_checkParentIsUnionOperator(r){var s,e;return((e=(s=r.getParent())==null?void 0:s.getParent())==null?void 0:e.getToken().trim())===W.COLON}};Sr=Gu([rr(0,An),rr(1,ke),rr(2,We),rr(3,Z.Inject(Z.Injector))],Sr);var Xu=Object.defineProperty,Ku=Object.getOwnPropertyDescriptor,qu=(r,s,e,t)=>{for(var n=t>1?void 0:t?Ku(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&Xu(s,e,n),n},os=(r,s)=>(e,t)=>s(e,t,r);class us extends ve{constructor(s,e,t){super(e),this._accessor=s,this._operatorString=e,this._functionExecutor=t}get nodeType(){return ee.SUFFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null)throw new Error("object is null");this._operatorString===qe.PERCENTAGE?(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(e,S.create(100)),t.isNumber()&&t.setPattern("0.00%")):this._operatorString===qe.POUND?t=this._handlerPound(e):t=m.create(h.VALUE),this.setValue(t)}_handlerPound(s){var l,f,d,_;if(!s.isReferenceObject()||!s.isCell())return m.create(h.VALUE);const e=this._accessor.get(Ne),t=this._accessor.get(xt),n=s,i=n.getRangePosition(),a=n.getUnitId(),o=n.getSheetId(),u=e.getFormulaData(),c=(_=(d=(f=(l=u==null?void 0:u[a])==null?void 0:l[o])==null?void 0:f[i.startRow])==null?void 0:d[i.startColumn])==null?void 0:_.f;return c&&t.treeBuilder(c),m.create(h.VALUE)}}let Ar=class extends He{constructor(r,s){super(),this._functionService=r,this._injector=s}get zIndex(){return Qe.get(ee.SUFFIX)||ze}checkAndCreateNodeType(r){if(!(r instanceof q))return;const s=r.getToken().trim();if(s.charAt(0)==='"'&&s.charAt(s.length-1)==='"')return;let e="";if(s===qe.PERCENTAGE)e=Ae.DIVIDED;else return s===qe.POUND?new us(this._injector,s):void 0;const t=this._functionService.getExecutor(e);return t?new us(this._injector,s,t):(console.error(`No function ${r}`),De.create(h.NAME))}};Ar=qu([os(0,We),os(1,Z.Inject(Z.Injector))],Ar);var Zu=Object.defineProperty,Ju=Object.getOwnPropertyDescriptor,Nu=(r,s,e,t)=>{for(var n=t>1?void 0:t?Ju(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&Zu(s,e,n),n},ec=(r,s)=>(e,t)=>s(e,t,r);class tc extends ve{constructor(s){super(s),this._operatorString=s}get nodeType(){return ee.UNION}execute(){const s=this.getChildren(),e=s[0].getValue(),t=s[1].getValue();if(e==null||t==null)throw new Error("leftNode and rightNode");let n;this._operatorString===W.COLON?n=this._unionFunction(e,t):n=m.create(h.NAME),this.setValue(n)}_unionFunction(s,e){return s.isError()||e.isError()||!s.isReferenceObject()||!e.isReferenceObject()?m.create(h.REF):(s=s,e=e,s.isCell()&&e.isCell()||s.isRow()&&e.isRow()||s.isColumn()&&e.isColumn()?s.unionBy(e):m.create(h.REF))}}let Pr=class extends He{constructor(r){super(),this._functionService=r}get zIndex(){return Qe.get(ee.UNION)||ze}create(r){return new tc(r)}checkAndCreateNodeType(r){if(!(r instanceof q))return;const e=r.getToken().trim();if(!(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')&&e===W.COLON)return this.create(e)}};Pr=Nu([ec(0,We)],Pr);class rc extends ve{constructor(s){super(s),this._operatorString=s}get nodeType(){return ee.VALUE}execute(){this.setValue(ct.create(this._operatorString))}}class yi extends He{get zIndex(){return Qe.get(ee.VALUE)||ze}_checkValueNode(s){if(Number.isNaN(Number(s))){const e=s.trim(),t=e.charAt(0),n=e.charAt(e.length-1);if(Vt.has(e))return this.create(e);if(t==='"'&&n==='"')return this.create(e);if(t==="{"&&n==="}")return this.create(e);const i=e.toUpperCase();if(i===ut.TRUE||i===ut.FALSE)return this.create(i)}else return this.create(s)}create(s){return new rc(s)}checkAndCreateNodeType(s){if(!(s instanceof q))return this._checkValueNode(s)}}function nc(r){let s=r;for(;s!=null&&s.getParent();)s=s.getParent();return s}var sc=Object.defineProperty,ic=Object.getOwnPropertyDescriptor,ac=(r,s,e,t)=>{for(var n=t>1?void 0:t?ic(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&sc(s,e,n),n},Be=(r,s)=>(e,t)=>s(e,t,r);let Ht=class extends y.Disposable{constructor(s,e,t,n,i,a,o,u,c,l,f){super();g(this,"_astNodeFactoryList",[]);g(this,"_refOffsetX",0);g(this,"_refOffsetY",0);this._runtimeService=s,this._astRootNodeFactory=e,this._functionNodeFactory=t,this._lambdaNodeFactory=n,this._lambdaParameterNodeFactory=i,this._operatorNodeFactory=a,this._prefixNodeFactory=o,this._referenceNodeFactory=u,this._suffixNodeFactory=c,this._unionNodeFactory=l,this._valueNodeFactory=f,this._initializeAstNode()}dispose(){this._astNodeFactoryList.forEach(s=>{s.dispose()}),this._astNodeFactoryList=[]}parse(s,e=0,t=0){const n=new an(at);this._refOffsetX=e,this._refOffsetY=t;const i=this._parse(s,n);return s.hasDefinedNames()&&(i==null||i.setDefinedNames(s.getDefinedNames())),i}_lambdaParameterHandler(s,e){if(e.getLambdaId==null)return De.create(h.VALUE);const t=e.getLambdaId(),n=new an(at),i=this._runtimeService.getFunctionDefinitionPrivacyVar(t);if(!i)return!1;const a=[...i.keys()],o=s.getChildren(),u=o.length;for(let f=0;f<u;f++){const d=o[f];if(d instanceof q)this._parse(d,n);else return!1}const c=n.getChildren(),l=c.length;for(let f=0;f<l;f++){const d=c[f];i.set(a[f],d)}return n.setParent(e),e}_changeLetToLambda(s){const e=s.getChildren(),t=e.length;if(t%2!==1||t===0)return;const n=new q;n.setToken(Yt);const i=new q;i.setToken(Lt);const a=[...e];for(let u=0;u<t;u++){const c=a[u];if(!(c instanceof q))return;u%2===0?c.changeToParent(n):c.changeToParent(i)}n.addChildrenFirst(i),i.setParent(n);const o=s.getParent();return o==null||o.replaceChild(s,n),n}_parse(s,e){const t=s.getChildren(),n=t.length,i=[];let a=null;const o=s.getToken().trim().toUpperCase();if(o===Xi){const l=this._changeLetToLambda(s);return l!=null?this._parse(l,e):De.create(h.ERROR)}if(o===Xe){if(a=e,n===0)return new Tu(at).setParent(e),a}else{if(o===Lt){let l=this._lambdaParameterHandler(s,e);return l===!1&&(l=De.create(h.ERROR)),l}if(a=this._checkAstNode(s),a==null)return De.create(h.NAME)}const u=t[0];for(let l=0;l<n;l++){const f=t[l];if(pi(u)){if(l!==0&&l!==n-1)continue}else if(vu(f)&&l!==n-1)continue;let d=null;if(f instanceof q){if(d=this._parse(f,a),d===a)continue}else d=this._checkAstNode(f);if(d==null)return De.create(h.NAME);if(d=nc(d),d==null)return;switch(d.nodeType){case ee.ERROR:return d;case ee.FUNCTION:i.push(d);break;case ee.LAMBDA:i.push(d);break;case ee.LAMBDA_PARAMETER:i.push(d);break;case ee.OPERATOR:{const _=i.pop(),C=i.pop();C&&C.setParent(d),_&&_.setParent(d),i.push(d);break}case ee.REFERENCE:d.setRefOffset(this._refOffsetX,this._refOffsetY),i.push(d);break;case ee.ROOT:i.push(d);break;case ee.UNION:i.push(d);break;case ee.VALUE:i.push(d);break;case ee.PREFIX:i.push(d);break;case ee.SUFFIX:i.push(d);break}}const c=i.length;for(let l=0;l<c;l++)i[l].setParent(a);return a}_checkAstNode(s){let e=null;const t=this._astNodeFactoryList.length;for(let n=0;n<t&&(e=this._astNodeFactoryList[n].checkAndCreateNodeType(s),e==null);n++);return e}_initializeAstNode(){this._astNodeFactoryList=[this._astRootNodeFactory,this._functionNodeFactory,this._lambdaNodeFactory,this._lambdaParameterNodeFactory,this._operatorNodeFactory,this._prefixNodeFactory,this._referenceNodeFactory,this._suffixNodeFactory,this._unionNodeFactory,this._valueNodeFactory].sort(y.sortRules)}};Ht=ac([Be(0,ke),Be(1,Z.Inject(mi)),Be(2,Z.Inject(Cr)),Be(3,Z.Inject(Dr)),Be(4,Z.Inject(Ei)),Be(5,Z.Inject(br)),Be(6,Z.Inject(yr)),Be(7,Z.Inject(Sr)),Be(8,Z.Inject(Ar)),Be(9,Z.Inject(Pr)),Be(10,Z.Inject(yi))],Ht);class Ci extends y.Disposable{constructor(){super(...arguments);g(this,"_referenceExecutorMap",new Map)}dispose(){this._referenceExecutorMap.clear()}remove(e){this._referenceExecutorMap.delete(e)}get(e){return this._referenceExecutorMap.get(e)}has(e){return this._referenceExecutorMap.has(e)}register(e,t){this._referenceExecutorMap.set(e,t)}getReferenceExecutorMap(){return this._referenceExecutorMap}}const qt=Z.createIdentifier("univer.formula.feature-calculation-manager.service");class Di extends y.Disposable{constructor(){super(...arguments);g(this,"_otherFormulaData",{})}dispose(){this._otherFormulaData={}}remove(e){var a,o,u;const{unitId:t,subUnitId:n,formulaId:i}=e;(u=(o=(a=this._otherFormulaData)==null?void 0:a[t])==null?void 0:o[n])==null||delete u[i]}get(e){var a,o;const{unitId:t,subUnitId:n,formulaId:i}=e;return(o=(a=this._otherFormulaData[t])==null?void 0:a[n])==null?void 0:o[i]}has(e){var a,o;const{unitId:t,subUnitId:n,formulaId:i}=e;return((o=(a=this._otherFormulaData[t])==null?void 0:a[n])==null?void 0:o[i])!=null}register(e){const{unitId:t,subUnitId:n,formulaId:i,item:a}=e;this._otherFormulaData[t]||(this._otherFormulaData[t]={}),this._otherFormulaData[t][n]||(this._otherFormulaData[t][n]={}),this._otherFormulaData[t][n][i]=a}batchRegister(e){Object.keys(e).forEach(t=>{const n=e[t];if(n==null)return!0;Object.keys(n).forEach(i=>{const a=n[i];if(a==null)return!0;Object.keys(a).forEach(o=>{const u=a[o];if(u==null)return!0;this.register({unitId:t,subUnitId:i,formulaId:o,item:u})})})})}batchRemove(e){Object.keys(e).forEach(t=>{const n=e[t];if(n==null)return!0;Object.keys(n).forEach(i=>{const a=n[i];if(a==null)return!0;Object.keys(a).forEach(o=>{this.remove({unitId:t,subUnitId:i,formulaId:o})})})})}getOtherFormulaData(){return this._otherFormulaData}}const Ir=Z.createIdentifier("univer.formula.other-formula-manager.service");class qr extends y.Disposable{constructor(){super(...arguments);g(this,"node");g(this,"children",[]);g(this,"parents",[]);g(this,"formula","");g(this,"row",-1);g(this,"column",-1);g(this,"rowCount",Number.NEGATIVE_INFINITY);g(this,"columnCount",Number.NEGATIVE_INFINITY);g(this,"subUnitId","");g(this,"unitId","");g(this,"rangeList",[]);g(this,"formulaId");g(this,"featureId");g(this,"getDirtyData");g(this,"_state",0)}dispose(){var e;super.dispose(),this.children.forEach(t=>{t.dispose()}),this.rangeList=[],this.parents=[],(e=this.node)==null||e.dispose()}resetState(){this._state=0}setAdded(){this._state=1}isAdded(){return this._state===1}setSkip(){this._state=2}isSkip(){return this._state===2}inRangeData(e){const t=e.startRow,n=e.startColumn,i=e.endRow,a=e.endColumn;return!(this.row<t||this.row>i||this.column<n||this.column>a)}dependencyRange(e,t,n){var i,a;if(this.rangeList.length===0)return!1;for(let o=0,u=this.rangeList.length;o<u;o++){const c=this.rangeList[o],{unitId:l,sheetId:f,range:d}=c.gridRange;if(((i=t[l])==null?void 0:i[f])!=null)return!0;if(!e.has(l))continue;const _=e.get(l);if(!_.has(f))continue;const C=_.get(f),D=(a=n==null?void 0:n[l])==null?void 0:a[f];let{startRow:A,endRow:L,startColumn:w,endColumn:U}=d;Number.isNaN(A)&&(A=0),Number.isNaN(w)&&(w=0),Number.isNaN(L)&&(L=Number.POSITIVE_INFINITY),Number.isNaN(U)&&(U=Number.POSITIVE_INFINITY);for(const $ of C){const{startRow:ue,startColumn:de,endRow:ge,endColumn:ne}=$;if(!(A>ge||L<ue||w>ne||U<de)){let N=!0;if(D==null||D.forValue((te,K)=>{if(te>=A&&te<=L&&K>=w&&K<=U)return N=!1,!1}),N)return!0}}}return!1}pushChildren(e){this.children.push(e),e._pushParent(this)}pushRangeList(e){this.rangeList.push(e)}dependency(e){if(this.rangeList.length===0)return!1;for(let t=0,n=this.rangeList.length;t<n;t++){const i=this.rangeList[t],a=i.gridRange.unitId,o=i.gridRange.sheetId,u=i.gridRange.range;if(e.unitId===a&&e.subUnitId===o&&e.inRangeData(u))return!0}return!1}_pushParent(e){this.parents.push(e)}}class bi extends y.Disposable{constructor(){super(...arguments);g(this,"_cacheItems",new Map)}dispose(){this.clear()}size(){return this._cacheItems.size}get length(){return this._cacheItems.size}add(e,t){const{token:n}=e;if(!this._cacheItems.has(n)){this._cacheItems.set(n,{unitRangeWithToken:e,treeList:[t]});return}this._cacheItems.get(n).treeList.push(t)}clear(){this._cacheItems.clear()}remove(e,t){if(!this._cacheItems.has(e))return;const n=this._cacheItems.get(e),i=n.treeList.indexOf(t);i!==-1&&n.treeList.splice(i,1)}delete(e){this._cacheItems.delete(e)}dependency(e){this._cacheItems.forEach(t=>{const{unitRangeWithToken:n,treeList:i}=t,{gridRange:a}=n,{unitId:o,sheetId:u,range:c}=a;e.unitId===o&&e.subUnitId===u&&e.inRangeData(c)&&i.forEach(l=>{if(l===e)return!0;l.pushChildren(e)})})}}class oc extends y.Disposable{constructor(){super(...arguments);g(this,"_otherFormulaData",{});g(this,"_featureFormulaData",new Map);g(this,"_formulaData",{})}dispose(){this._otherFormulaData={},this._featureFormulaData.clear(),this._formulaData={}}getAllTree(){const e=[];return Object.values(this._otherFormulaData).forEach(t=>{if(t==null)return!0;Object.values(t).forEach(n=>{Object.values(n).forEach(i=>{i&&(i.resetState(),e.push(i))})})}),this._featureFormulaData.forEach(t=>{t&&(t.resetState(),e.push(t))}),Object.values(this._formulaData).map(t=>t==null?[]:Object.values(t).forEach(n=>n.forValue((i,a,o)=>{o&&(o.resetState(),e.push(o))}))),e}buildDependencyTree(e){const t=this.getAllTree();return e.length===0||this._buildDependencyTree(t,e),t}_buildDependencyTree(e,t){e.forEach(n=>{t instanceof bi?t.dependency(n):t.forEach(i=>{if(n===i)return!0;i.dependency(n)&&i.pushChildren(n)})})}clearDependencyForTree(e){if(e==null)return;const t=e.parents,n=e.children;t.forEach(i=>{i.children=i.children.filter(a=>a!==e)}),n.forEach(i=>{i.parents=i.parents.filter(a=>a!==e)}),this._buildDependencyTree(t,n),e.dispose()}reset(){this._otherFormulaData={},this._featureFormulaData.clear(),this._formulaData={}}addOtherFormulaDependency(e,t,n,i){this._otherFormulaData[e]||(this._otherFormulaData[e]={}),this._otherFormulaData[e][t]||(this._otherFormulaData[e][t]={}),this._otherFormulaData[e][t][n]=i}removeOtherFormulaDependency(e,t,n){this._otherFormulaData[e]&&this._otherFormulaData[e][t]&&n.forEach(i=>{const a=this._otherFormulaData[e][t][i];this.clearDependencyForTree(a),delete this._otherFormulaData[e][t][i]})}hasOtherFormulaDependency(e,t,n){var i,a;return((a=(i=this._otherFormulaData[e])==null?void 0:i[t])==null?void 0:a[n])!=null}addFeatureFormulaDependency(e,t){this._featureFormulaData.set(e,t)}removeFeatureFormulaDependency(e){const t=this._featureFormulaData.get(e);this.clearDependencyForTree(t),this._featureFormulaData.delete(e)}hasFeatureFormulaDependency(e){return this._featureFormulaData.has(e)}addFormulaDependency(e,t,n,i,a){this._formulaData[e]||(this._formulaData[e]={}),this._formulaData[e][t]||(this._formulaData[e][t]=new y.ObjectMatrix),this._formulaData[e][t].setValue(n,i,a)}removeFormulaDependency(e,t,n,i){if(this._formulaData[e]&&this._formulaData[e][t]){const a=this._formulaData[e][t].getValue(n,i);this.clearDependencyForTree(a),this._formulaData[e][t].realDeleteValue(n,i)}}clearFormulaDependency(e,t){this._formulaData[e]&&this._formulaData[e][t]&&this._formulaData[e][t].reset()}hasFormulaDependency(e,t,n,i){var a,o;return((o=(a=this._formulaData[e])==null?void 0:a[t])==null?void 0:o.getValue(n,i))!=null}}const Yr=Z.createIdentifier("univer.formula.dependency-manager.service");var uc=Object.defineProperty,cc=Object.getOwnPropertyDescriptor,lc=(r,s,e,t)=>{for(var n=t>1?void 0:t?cc(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&uc(s,e,n),n},tt=(r,s)=>(e,t)=>s(e,t,r);const fc=1e5;let $t=class extends y.Disposable{constructor(s,e,t,n,i,a,o,u){super();g(this,"_updateRangeFlattenCache",new Map);g(this,"_dirtyUnitSheetNameMap",{});g(this,"_formulaASTCache",new Et(fc));this._currentConfigService=s,this._runtimeService=e,this._otherFormulaManagerService=t,this._featureCalculationManagerService=n,this._interpreter=i,this._astTreeBuilder=a,this._lexer=o,this._dependencyManagerService=u}dispose(){this._updateRangeFlattenCache.clear(),this._formulaASTCache.clear(),this._dirtyUnitSheetNameMap={}}async generate(){this._updateRangeFlatten();const s=this._currentConfigService.getFormulaData(),e=this._otherFormulaManagerService.getOtherFormulaData(),t=this._currentConfigService.getUnitData(),{treeList:n,dependencyTreeCache:i}=await this._generateTreeList(s,e,t),a=this._getUpdateTreeListAndMakeDependency(n,i);this._checkIsCycleDependency(a)&&this._runtimeService.enableCycleDependency();const u=this._calculateRunList(a);return Promise.resolve(u)}_isCyclicUtil(s,e,t){if(!e.has(s)){e.add(s),t.add(s);for(let n=0;n<s.children.length;n++)if(!e.has(s.children[n])&&this._isCyclicUtil(s.children[n],e,t)||t.has(s.children[n]))return!0}return t.delete(s),!1}_checkIsCycleDependency(s){const e=new Set,t=new Set;for(let n=0,i=s.length;n<i;n++){const a=s[n];if(this._isCyclicUtil(a,e,t)===!0)return!0}return!1}async _generateTreeList(s,e,t){const n=Object.keys(s),i=Object.keys(e),a=[];this._currentConfigService.isForceCalculate()&&(this._dependencyManagerService.reset(),this._formulaASTCache.clear()),this._registerFormulas(n,s,t,a),this._registerOtherFormulas(e,i,a),this._registerFeatureFormulas(a);const u=new bi;for(let c=0,l=a.length;c<l;c++){const f=a[c];if(this._runtimeService.setCurrent(f.row,f.column,f.rowCount,f.columnCount,f.subUnitId,f.unitId),f.node==null)continue;const d=await this._getRangeListByNode(f.node);for(let _=0,C=d.length;_<C;_++){const D=d[_];f.pushRangeList(D),u.add(D,f)}}return{treeList:a,dependencyTreeCache:u}}_registerFeatureFormulas(s){this._featureCalculationManagerService.getReferenceExecutorMap().forEach((e,t)=>{const{unitId:n,subUnitId:i,dependencyRanges:a,getDirtyData:o}=e;if(this._dependencyManagerService.hasFeatureFormulaDependency(n,i,t))return!0;const u=new qr;u.unitId=n,u.subUnitId=i,u.getDirtyData=o,u.featureId=t,u.rangeList=a.map(c=>({gridRange:c,token:Rt({...c,sheetName:this._currentConfigService.getSheetName(c.unitId,c.sheetId)})})),this._dependencyManagerService.addFeatureFormulaDependency(t,u),s.push(u)})}_registerOtherFormulas(s,e,t){for(const n of e){const i=s[n];if(i==null)continue;const a=Object.keys(i);for(const o of a){const u=i[o];if(u==null)continue;const c=Object.keys(u);for(const l of c){if(this._dependencyManagerService.hasOtherFormulaDependency(n,o,l))continue;const f=u[l],{f:d}=f,_=this._generateAstNode(n,d),C=new qr;C.node=_,C.formula=d,C.unitId=n,C.subUnitId=o,C.formulaId=l,this._dependencyManagerService.addOtherFormulaDependency(n,o,l,C),t.push(C)}}}}_registerFormulas(s,e,t,n){for(const i of s){const a=e[i];if(a==null)continue;const o=Object.keys(a);for(const u of o)new y.ObjectMatrix(a[u]||{}).forValue((l,f,d)=>{if(d==null)return!0;const{f:_,x:C,y:D}=d;if(this._dependencyManagerService.hasFormulaDependency(i,u,l,f))return!0;const A=this._generateAstNode(i,_,C,D),L=new qr,w=t[i][u];L.node=A,L.formula=_,L.unitId=i,L.subUnitId=u,L.row=l,L.column=f,L.rowCount=w.rowCount,L.columnCount=w.columnCount,this._dependencyManagerService.addFormulaDependency(i,u,l,f,L),n.push(L)})}}_updateRangeFlatten(){const s=this._currentConfigService.isForceCalculate(),e=this._currentConfigService.getDirtyRanges();if(!s){this._updateRangeFlattenCache.clear();for(let t=0;t<e.length;t++){const n=e[t],i=n.range,a=n.sheetId,o=n.unitId;this._addFlattenCache(o,a,i)}this._dirtyUnitSheetNameMap=this._currentConfigService.getDirtyNameMap()}}_generateAstNode(s,e,t=0,n=0){let i=this._formulaASTCache.get(`${s}${e}##${t}${n}`);if(i&&!this._isDirtyDefinedForNode(i))return i;const a=this._lexer.treeBuilder(e);if(Vt.has(a))return De.create(a);if(i=this._astTreeBuilder.parse(a,t,n),i==null)throw new Error("astNode is null");return this._formulaASTCache.set(`${s}${e}##${t}${n}`,i),i}_addFlattenCache(s,e,t){let n=this._updateRangeFlattenCache.get(s);n==null&&(n=new Map,this._updateRangeFlattenCache.set(s,n));let i=n.get(e);i==null&&(i=[],n.set(e,i)),i.push(t)}_isPreCalculateNode(s){return s.nodeType===ee.UNION||s.nodeType===ee.PREFIX&&s.getToken()===_e.AT||s.nodeType===ee.SUFFIX&&s.getToken()===qe.POUND}_nodeTraversalRef(s,e){const t=s.getChildren(),n=t.length;for(let i=0;i<n;i++){const a=t[i];if(this._isPreCalculateNode(a)){e.push(a);continue}else a.nodeType===ee.REFERENCE&&e.push(a);this._nodeTraversalRef(a,e)}}_nodeTraversalReferenceFunction(s,e){const t=s.getChildren(),n=t.length;for(let i=0;i<n;i++){const a=t[i];if(a.nodeType===ee.FUNCTION&&a.isAddress()){e.push(a);continue}this._nodeTraversalReferenceFunction(a,e)}}async _executeNode(s){let e;return this._interpreter.checkAsyncNode(s)?e=await this._interpreter.executeAsync(s):e=this._interpreter.execute(s),e}async _getRangeListByNode(s){const e=[],t=[];this._nodeTraversalRef(s,e),this._nodeTraversalReferenceFunction(s,t);const n=[];for(let i=0,a=e.length;i<a;i++){const o=e[i],c=(await this._executeNode(o)).toUnitRange(),l=Rt({...c,sheetName:this._currentConfigService.getSheetName(c.unitId,c.sheetId)});n.push({gridRange:c,token:l})}for(let i=0,a=t.length;i<a;i++){const o=t[i],c=(await this._executeNode(o)).toUnitRange(),l=Rt({...c,sheetName:this._currentConfigService.getSheetName(c.unitId,c.sheetId)});n.push({gridRange:c,token:l})}return n}_isDirtyDefinedForNode(s){const e=this._currentConfigService.getDirtyDefinedNameMap(),t=this._currentConfigService.getExecuteUnitId();if(t!=null&&e[t]!=null){const n=Object.keys(e[t]);for(let i=0,a=n.length;i<a;i++){const o=n[i];if(s.hasDefinedName(o))return!0}}return!1}_getUpdateTreeListAndMakeDependency(s,e){const t=[],n=new Set,i=this._currentConfigService.isForceCalculate();let a=[];e.size()>s.length?a=this._dependencyManagerService.buildDependencyTree(s):a=this._dependencyManagerService.buildDependencyTree(e);for(let o=0,u=a.length;o<u;o++){const c=a[o];(i||c.dependencyRange(this._updateRangeFlattenCache,this._dirtyUnitSheetNameMap,this._currentConfigService.getExcludedRange())||this._includeTree(c))&&!n.has(c)&&(t.push(c),n.add(c))}return e.dispose(),t}_includeTreeFeature(s){var i,a;const e=s.unitId,t=s.subUnitId,n=s.featureId;if(n!=null){const o=this._currentConfigService.getDirtyUnitFeatureMap();if(((a=(i=o==null?void 0:o[e])==null?void 0:i[t])==null?void 0:a[n])!=null)return!0}return!1}_includeOtherFormula(s){var i,a;const e=s.unitId,t=s.subUnitId,n=s.formulaId;if(n!=null){const o=this._currentConfigService.getDirtyUnitOtherFormulaMap();if(((a=(i=o==null?void 0:o[e])==null?void 0:i[t])==null?void 0:a[n])!=null)return!0}return!1}_includeDefinedName(s){const e=s.node;return!!(e!=null&&this._isDirtyDefinedForNode(e))}_includeTree(s){var u,c,l;const e=s.unitId,t=s.subUnitId;if(this._includeTreeFeature(s)===!0||this._includeOtherFormula(s)===!0||this._includeDefinedName(s)===!0)return!0;const n=(c=(u=this._currentConfigService.getExcludedRange())==null?void 0:u[e])==null?void 0:c[t];let i=!1;if(n==null||n.forValue((f,d)=>{if(s.row===f&&s.column===d)return i=!0,!1}),i)return!1;if(((l=this._dirtyUnitSheetNameMap[e])==null?void 0:l[t])!=null)return!0;if(!this._updateRangeFlattenCache.has(e))return!1;const a=this._updateRangeFlattenCache.get(e);if(!a.has(t))return!1;const o=a.get(t);for(const f of o)if(s.inRangeData(f))return!0;return!1}_calculateRunList(s){let e=s;const t=[];for(;e.length>0;){const n=e.pop();if(n===void 0||n.isSkip())continue;if(n.isAdded()){t.push(n);continue}const i=[];for(let a=0,o=n.parents.length;a<o;a++){const u=n.parents[a];u.isAdded()||n.isSkip()||i.push(u)}i.length===0?(t.push(n),n.setSkip()):(n.setAdded(),e.push(n),e=e.concat(i))}return t.reverse()}};$t=lc([y.OnLifecycle(y.LifecycleStages.Rendered,$t),tt(0,Ne),tt(1,ke),tt(2,Ir),tt(3,qt),tt(4,Z.Inject(wt)),tt(5,Z.Inject(Ht)),tt(6,Z.Inject(xt)),tt(7,Yr)],$t);var hc=Object.defineProperty,mc=Object.getOwnPropertyDescriptor,dc=(r,s,e,t)=>{for(var n=t>1?void 0:t?mc(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&hc(s,e,n),n},mt=(r,s)=>(e,t)=>s(e,t,r);const gc=1;exports.CalculateFormulaService=class extends y.Disposable{constructor(e,t,n,i,a,o,u){super();g(this,"_executionStartListener$",new Pt.Subject);g(this,"executionStartListener$",this._executionStartListener$.asObservable());g(this,"_executionCompleteListener$",new Pt.Subject);g(this,"executionCompleteListener$",this._executionCompleteListener$.asObservable());g(this,"_executionInProgressListener$",new Pt.Subject);g(this,"executionInProgressListener$",this._executionInProgressListener$.asObservable());this._configService=e,this._lexer=t,this._currentConfigService=n,this._runtimeService=i,this._formulaDependencyGenerator=a,this._interpreter=o,this._astTreeBuilder=u}stopFormulaExecution(){this._runtimeService.stopExecution()}setRuntimeFeatureCellData(e,t){this._runtimeService.setRuntimeFeatureCellData(e,t)}setRuntimeFeatureRange(e,t){this._runtimeService.setRuntimeFeatureRange(e,t)}async execute(e){this._executionStartListener$.next(!0),this._currentConfigService.load(e),this._runtimeService.reset();const t=this._configService.getConfig("CYCLE_REFERENCE_COUNT")||gc;for(let n=0;n<t&&(await this._execute(),!!this._runtimeService.isCycleDependency());n++);this._runtimeService.setFormulaExecuteStage($e.CALCULATION_COMPLETED),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()),sn.clear(),rt.clear()}async _execute(){const e=await this._apply();if(e==null)return;const{arrayFormulaRange:t,runtimeFeatureRange:n}=e,{dirtyRanges:i,excludedCell:a}=this._getArrayFormulaDirtyRangeAndExcludedRange(t,n);return i==null||i.length===0||(this._currentConfigService.loadDirtyRangesAndExcludedCell(i,a),await this._apply(!0)),!0}_getArrayFormulaDirtyRangeAndExcludedRange(e,t){const n=[],i={};return Object.keys(e).forEach(a=>{const o=e[a];if(o==null)return!0;Object.keys(o).forEach(u=>{const c=new y.ObjectMatrix(o[u]);if(c==null)return!0;const l=new y.ObjectMatrix;c.forValue((f,d,_)=>{l.setValue(f,d,!0),n.push({unitId:a,sheetId:u,range:_})}),i[a]==null&&(i[a]={}),i[a][u]=l})}),Object.keys(t).forEach(a=>{const o=t[a];Object.keys(o).forEach(u=>{const c=o[u];if(c==null)return!0;Object.keys(c).forEach(l=>{const f=c[l];if(f==null)return!0;for(const d of f)n.push({unitId:u,sheetId:l,range:d})})})}),{dirtyRanges:n,excludedCell:i}}async _apply(e=!1){e?this._runtimeService.setFormulaExecuteStage($e.START_DEPENDENCY_ARRAY_FORMULA):this._runtimeService.setFormulaExecuteStage($e.START_DEPENDENCY),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());const t=await this._formulaDependencyGenerator.generate(),n=this._interpreter;e?(this._runtimeService.setFormulaExecuteStage($e.START_CALCULATION_ARRAY_FORMULA),this._runtimeService.setTotalArrayFormulasToCalculate(t.length)):(this._runtimeService.setFormulaExecuteStage($e.START_CALCULATION),this._runtimeService.setTotalFormulasToCalculate(t.length)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());for(let i=0,a=t.length;i<a;i++){if(await new Promise(f=>{y.requestImmediateMacroTask(f)}),this._runtimeService.isStopExecution()){this._runtimeService.setFormulaExecuteStage($e.IDLE),this._runtimeService.markedAsStopFunctionsExecuted(),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData());return}const o=t[i],u=o.node,c=o.getDirtyData;let l;if(u==null&&c==null)throw new Error("AstNode or executor is null");if(this._runtimeService.setCurrent(o.row,o.column,o.rowCount,o.columnCount,o.subUnitId,o.unitId),c!=null&&o.featureId!=null){const{runtimeCellData:f,dirtyRanges:d}=c(o);this._runtimeService.setRuntimeFeatureCellData(o.featureId,f),this._runtimeService.setRuntimeFeatureRange(o.featureId,d)}else u!=null&&(n.checkAsyncNode(u)?l=await n.executeAsync(u):l=n.execute(u),o.formulaId!=null?this._runtimeService.setRuntimeOtherData(o.formulaId,l):this._runtimeService.setRuntimeData(l));e?(this._runtimeService.setFormulaExecuteStage($e.CURRENTLY_CALCULATING_ARRAY_FORMULA),this._runtimeService.setCompletedArrayFormulasCount(i+1)):(this._runtimeService.setFormulaExecuteStage($e.CURRENTLY_CALCULATING),this._runtimeService.setCompletedFormulasCount(i+1)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState())}return t.length>0?this._runtimeService.markedAsSuccessfullyExecuted():e||this._runtimeService.markedAsNoFunctionsExecuted(),this._runtimeService.getAllRuntimeData()}calculate(e,t=!0){const n=this._lexer.treeBuilder(e,t);if(Object.values(h).includes(n))return De.create(n);const i=this._astTreeBuilder.parse(n);i==null||i.serialize()}};exports.CalculateFormulaService=dc([y.OnLifecycle(y.LifecycleStages.Rendered,exports.CalculateFormulaService),mt(0,y.IConfigService),mt(1,Z.Inject(xt)),mt(2,Ne),mt(3,ke),mt(4,Z.Inject($t)),mt(5,Z.Inject(wt)),mt(6,Z.Inject(Ht))],exports.CalculateFormulaService);var pc=Object.defineProperty,Rc=Object.getOwnPropertyDescriptor,_c=(r,s,e,t)=>{for(var n=t>1?void 0:t?Rc(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&pc(s,e,n),n},sr=(r,s)=>(e,t)=>s(e,t,r);let ar=class extends y.Disposable{constructor(r,s,e,t){super(),this._commandService=r,this._calculateFormulaService=s,this._univerInstanceService=e,this._formulaDataModel=t,this._initialize()}_initialize(){this._commandExecutedListener(),this._initialExecuteFormulaListener(),this._initialExecuteFormulaProcessListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted((r,s)=>{if(r.id===cn.id)this._calculateFormulaService.stopFormulaExecution();else if(r.id===Or.id){const e=r.params.formulaData;this._formulaDataModel.mergeFormulaData(e)}else if(r.id===un.id){const e=r.params;if(e.forceCalculation===!0)this._calculate(!0);else{const{dirtyRanges:t,dirtyNameMap:n,dirtyDefinedNameMap:i,dirtyUnitFeatureMap:a,dirtyUnitOtherFormulaMap:o}=e;this._calculate(!1,t,n,i,a,o)}}else if(r.id===mr.id){const e=r.params;if(e==null)return;const{arrayFormulaRange:t,arrayFormulaCellData:n}=e;this._formulaDataModel.setArrayFormulaRange(t),this._formulaDataModel.setArrayFormulaCellData(n)}}))}async _calculate(r=!1,s=[],e={},t={},n={},i={}){if(s.length===0&&Object.keys(e).length===0&&Object.keys(t).length===0&&Object.keys(n).length===0&&Object.keys(i).length===0&&r===!1)return;const a=this._formulaDataModel.getFormulaData(),o=this._formulaDataModel.getArrayFormulaCellData();this._calculateFormulaService.execute({formulaData:a,arrayFormulaCellData:o,forceCalculate:r,dirtyRanges:s,dirtyNameMap:e,dirtyDefinedNameMap:t,dirtyUnitFeatureMap:n,dirtyUnitOtherFormulaMap:i})}_initialExecuteFormulaListener(){this._calculateFormulaService.executionCompleteListener$.subscribe(r=>{const s=r.functionsExecutedState;switch(s){case St.NOT_EXECUTED:break;case St.STOP_EXECUTION:break;case St.SUCCESS:this._applyFormula(r);break;case St.INITIAL:break}this._commandService.executeCommand(dr.id,{functionsExecutedState:s},{onlyLocal:!0})})}_initialExecuteFormulaProcessListener(){this._calculateFormulaService.executionInProgressListener$.subscribe(r=>{this._commandService.executeCommand(dr.id,{stageInfo:r},{onlyLocal:!0})})}async _applyFormula(r){const{unitData:s,unitOtherData:e,arrayFormulaRange:t,arrayFormulaCellData:n,clearArrayFormulaCellData:i}=r;if(!s){console.error("No sheetData from Formula Engine!");return}t&&(this._formulaDataModel.clearPreviousArrayFormulaCellData(i),this._formulaDataModel.mergeArrayFormulaCellData(n),this._formulaDataModel.mergeArrayFormulaRange(t),this._commandService.executeCommand(mr.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData()},{onlyLocal:!0})),this._commandService.executeCommand(ln.id,{unitData:Gi(s),unitOtherData:e},{onlyLocal:!0})}};ar=_c([y.OnLifecycle(y.LifecycleStages.Ready,ar),sr(0,y.ICommandService),sr(1,Z.Inject(exports.CalculateFormulaService)),sr(2,y.IUniverInstanceService),sr(3,Z.Inject(exports.FormulaDataModel))],ar);var Ec=Object.defineProperty,yc=Object.getOwnPropertyDescriptor,Cc=(r,s,e,t)=>{for(var n=t>1?void 0:t?yc(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&Ec(s,e,n),n},Zr=(r,s)=>(e,t)=>s(e,t,r);let It=class extends y.Disposable{constructor(r=[],s,e,t){super(),this._function=r,this._commandService=s,this._injector=e,this._functionService=t,this._initialize()}_initialize(){this._registerCommands(),this._registerFunctions()}_registerCommands(){[Or,mr,un,cn,dr,ln,xr,wr,Vr,vr,Fr,Ur,Rs,_s,fn,on,hn].forEach(r=>this.disposeWithMe(this._commandService.registerCommand(r)))}_registerFunctions(){const r=[...Ts,...Qs,...zs,...Ws,...Xs,...Ks,...Zs,...Ns,...ei,...ti,...ni,...si,...ii,...ai,...oi,...ci].concat(this._function).map(s=>{const e=s[0],t=s[1];return new e(t)});this._functionService.registerExecutors(...r)}};It=Cc([y.OnLifecycle(y.LifecycleStages.Ready,It),Zr(1,y.ICommandService),Zr(2,Z.Inject(Z.Injector)),Zr(3,We)],It);var Dc=Object.defineProperty,bc=Object.getOwnPropertyDescriptor,Sc=(r,s,e,t)=>{for(var n=t>1?void 0:t?bc(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&Dc(s,e,n),n},Jr=(r,s)=>(e,t)=>s(e,t,r);let or=class extends y.Disposable{constructor(r,s,e){super(),this._commandService=r,this._formulaDataModel=s,this._functionService=e,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted((r,s)=>{if(r.id===on.id){const e=r.params;if(e==null)return;const{functions:t}=e,n=t.map(i=>{const a=i[0],o=i[1];return Pc(a,o)});this._functionService.registerExecutors(...n)}else if(r.id===hn.id){const e=r.params;if(e==null)return;const{functions:t}=e;this._functionService.unregisterExecutors(...t)}}))}};or=Sc([y.OnLifecycle(y.LifecycleStages.Ready,or),Jr(0,y.ICommandService),Jr(1,Z.Inject(exports.FormulaDataModel)),Jr(2,We)],or);class Ac extends k{isCustom(){return!0}}function Pc(r,s){const e=new Ac(s),t=new Function(`return ${r}`)();return e.calculateCustom=t,e}var Lc=Object.defineProperty,xc=Object.getOwnPropertyDescriptor,wc=(r,s,e,t)=>{for(var n=t>1?void 0:t?xc(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&Lc(s,e,n),n},cs=(r,s)=>(e,t)=>s(e,t,r);let ur=class extends y.Disposable{constructor(r,s){super(),this._commandService=r,this._definedNamesService=s,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(r=>{if(r.id===xr.id){const s=r.params;if(s==null)return;const{id:e,unitId:t,name:n,formulaOrRefString:i,comment:a,hidden:o,localSheetId:u}=s;this._definedNamesService.registerDefinedName(t,{id:e,name:n.trim(),formulaOrRefString:i.trim(),comment:a==null?void 0:a.trim(),hidden:o,localSheetId:u})}else if(r.id===wr.id){const s=r.params;if(s==null)return;const{unitId:e,id:t}=s;this._definedNamesService.removeDefinedName(e,t)}}))}};ur=wc([y.OnLifecycle(y.LifecycleStages.Ready,ur),cs(0,y.ICommandService),cs(1,Kt)],ur);var Vc=Object.defineProperty,vc=Object.getOwnPropertyDescriptor,Oc=(r,s,e,t)=>{for(var n=t>1?void 0:t?vc(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&Vc(s,e,n),n},ls=(r,s)=>(e,t)=>s(e,t,r);let cr=class extends y.Disposable{constructor(r,s){super(),this._commandService=r,this._featureCalculationManagerService=s,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(r=>{if(r.id===Vr.id){const s=r.params;if(s==null)return;const{featureId:e,calculationParam:t}=s;this._featureCalculationManagerService.register(e,t)}else if(r.id===vr.id){const s=r.params;if(s==null)return;const{featureId:e}=s;this._featureCalculationManagerService.remove(e)}}))}};cr=Oc([y.OnLifecycle(y.LifecycleStages.Ready,cr),ls(0,y.ICommandService),ls(1,qt)],cr);var Fc=Object.defineProperty,Uc=Object.getOwnPropertyDescriptor,Mc=(r,s,e,t)=>{for(var n=t>1?void 0:t?Uc(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&Fc(s,e,n),n},Nr=(r,s)=>(e,t)=>s(e,t,r);let lr=class extends y.Disposable{constructor(r,s,e){super(),this._commandService=r,this._otherFormulaManagerService=s,this._dependencyManagerService=e,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(r=>{if(r.id===Fr.id){const s=r.params;if(s==null)return;const e={[s.unitId]:{[s.subUnitId]:s.formulaMap}};this._otherFormulaManagerService.batchRegister(e)}else if(r.id===Ur.id){const s=r.params;if(s==null)return;const e={};s.formulaIdList.forEach(n=>e[n]=!0);const t={[s.unitId]:{[s.subUnitId]:e}};this._otherFormulaManagerService.batchRemove(t)}}))}};lr=Mc([y.OnLifecycle(y.LifecycleStages.Ready,lr),Nr(0,y.ICommandService),Nr(1,Ir),Nr(2,Yr)],lr);var Bc=Object.defineProperty,Tc=Object.getOwnPropertyDescriptor,kc=(r,s,e,t)=>{for(var n=t>1?void 0:t?Tc(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&Bc(s,e,n),n},fs=(r,s)=>(e,t)=>s(e,t,r);let fr=class extends y.Disposable{constructor(r,s){super(),this._commandService=r,this._superTableService=s,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(r=>{if(r.id===xr.id){const s=r.params;if(s==null)return;const{unitId:e,tableName:t,reference:n}=s;this._superTableService.registerTable(e,t,n)}else if(r.id===wr.id){const s=r.params;if(s==null)return;const{unitId:e,tableName:t}=s;this._superTableService.remove(e,t)}else if(r.id===fn.id){const s=r.params;if(s==null)return;const{tableOption:e,tableOptionType:t}=s;this._superTableService.registerTableOptionMap(e,t)}}))}};fr=kc([y.OnLifecycle(y.LifecycleStages.Ready,fr),fs(0,y.ICommandService),fs(1,An)],fr);class jc extends y.Disposable{constructor(){super(...arguments);g(this,"_dirtyConversionMap",new Map)}dispose(){this._dirtyConversionMap.clear()}remove(e){this._dirtyConversionMap.delete(e)}get(e){return this._dirtyConversionMap.get(e)}has(e){return this._dirtyConversionMap.has(e)}register(e,t){this._dirtyConversionMap.set(e,t)}getDirtyConversionMap(){return this._dirtyConversionMap}}const Si=Z.createIdentifier("univer.formula.active-dirty-manager.service");var $c=Object.defineProperty,Ic=Object.getOwnPropertyDescriptor,Yc=(r,s,e,t)=>{for(var n=t>1?void 0:t?Ic(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&$c(s,e,n),n},en=(r,s)=>(e,t)=>s(e,t,r);let hr=class extends y.Disposable{constructor(r,s){super(),this._commandService=r,this._dependencyManagerService=s,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(r=>{if(r.id===vr.id||r.id===Vr.id){const s=r.params;if(s==null)return;const{featureId:e}=s;this._dependencyManagerService.removeFeatureFormulaDependency(e)}else if(r.id===Ur.id){const s=r.params;if(s==null)return;this._dependencyManagerService.removeOtherFormulaDependency(s.unitId,s.subUnitId,s.formulaIdList)}else if(r.id===Fr.id){const s=r.params;if(s==null)return;const e=s.formulaMap,t=[];Object.keys(e).forEach(n=>{t.push(n)}),this._dependencyManagerService.removeOtherFormulaDependency(s.unitId,s.subUnitId,t)}else if(r.id===Or.id){const s=r.params.formulaData;Object.keys(s).forEach(e=>{if(s[e]==null)return!0;Object.keys(s[e]).forEach(t=>{const n=s[e][t];if(n==null)return this._dependencyManagerService.clearFormulaDependency(e,t),!0;new y.ObjectMatrix(n).forValue((i,a)=>{this._dependencyManagerService.removeFormulaDependency(e,t,i,a)})})})}}))}};hr=Yc([y.OnLifecycle(y.LifecycleStages.Ready,hr),en(0,y.ICommandService),en(1,qt),en(1,Yr)],hr);var Qc=Object.defineProperty,zc=Object.getOwnPropertyDescriptor,Hc=(r,s,e,t)=>{for(var n=t>1?void 0:t?zc(s,e):s,i=r.length-1,a;i>=0;i--)(a=r[i])&&(n=(t?a(s,e,n):a(n))||n);return t&&n&&Qc(s,e,n),n},Wc=(r,s)=>(e,t)=>s(e,t,r);const Gc="base-formula-engine";var tn;exports.UniverFormulaEnginePlugin=(tn=class extends y.Plugin{constructor(s,e){super(),this._config=s,this._injector=e}onStarting(){this._initialize()}_initialize(){var e;const s=[[We,{useClass:di}],[qt,{useClass:Ci}],[Kt,{useClass:hi}],[Si,{useClass:jc}],[An,{useClass:Qu}],[exports.FormulaDataModel],[Mr],[It,{useFactory:()=>{var t;return this._injector.createInstance(It,(t=this._config)==null?void 0:t.function)}}],[cr],[ur],[fr]];(e=this._config)!=null&&e.notExecuteFormula||s.push([exports.CalculateFormulaService],[Ir,{useClass:Di}],[ke,{useClass:exports.FormulaRuntimeService}],[Ne,{useClass:exports.FormulaCurrentConfigService}],[Yr,{useClass:oc}],[ar],[lr],[or],[hr],[$t],[wt],[Ht],[xt],[mi],[Cr],[Dr],[Ei],[br],[yr],[Sr],[Ar],[Pr],[yi]),s.forEach(t=>this._injector.add(t))}},g(tn,"pluginName",Gc),tn);exports.UniverFormulaEnginePlugin=Hc([Wc(1,Z.Inject(Z.Injector))],exports.UniverFormulaEnginePlugin);function Ai(r,s){const e=r.sequenceNodesBuilder(s);return!(!e||e.every(t=>typeof t=="string"||t.nodeType!==Pe.REFERENCE))}function Xc(r,s,e,t,n,i){if(!Ai(r,s))return s;const a=r.sequenceNodesBuilder(s),o=(_,C)=>({startRow:_,endRow:_,startColumn:C,endColumn:C}),u=o(e,t),c=y.Rectangle.getRelativeRange(o(n,i),u),l=y.Tools.deepClone(a),f=Array.isArray(l)?l.map(_=>{if(typeof _=="object"&&_.nodeType===Pe.REFERENCE){const C=Ye(_.token),D=y.Rectangle.getPositionRange(c,C.range),A=Ze(D);return{..._,token:A}}return _}):l;return`=${f&&gr(f)}`}exports.ArrayValueObject=Ce;exports.BaseFunction=k;exports.BaseReferenceObject=Ft;exports.BaseValueObject=Je;exports.BooleanValue=ut;exports.BooleanValueObject=Y;exports.DefinedNamesService=hi;exports.ERROR_TYPE_SET=Vt;exports.ErrorType=h;exports.ErrorValueObject=m;exports.FUNCTION_NAMES_ARRAY=ks;exports.FUNCTION_NAMES_COMPATIBILITY=bt;exports.FUNCTION_NAMES_CUBE=Hs;exports.FUNCTION_NAMES_DATABASE=Gs;exports.FUNCTION_NAMES_DATE=nt;exports.FUNCTION_NAMES_ENGINEERING=qs;exports.FUNCTION_NAMES_FINANCIAL=Js;exports.FUNCTION_NAMES_INFORMATION=Ve;exports.FUNCTION_NAMES_LOGICAL=st;exports.FUNCTION_NAMES_LOOKUP=Se;exports.FUNCTION_NAMES_MATH=xe;exports.FUNCTION_NAMES_STATISTICAL=be;exports.FUNCTION_NAMES_TEXT=it;exports.FUNCTION_NAMES_UNIVER=ui;exports.FUNCTION_NAMES_WEB=li;exports.FeatureCalculationManagerService=Ci;exports.FormulaExecuteStageType=$e;exports.FormulaExecutedStateType=St;exports.FunctionService=di;exports.FunctionType=ms;exports.IActiveDirtyManagerService=Si;exports.IDefinedNamesService=Kt;exports.IFeatureCalculationManagerService=qt;exports.IFormulaCurrentConfigService=Ne;exports.IFormulaRuntimeService=ke;exports.IFunctionService=We;exports.IOtherFormulaManagerService=Ir;exports.LexerNode=q;exports.LexerTreeBuilder=Mr;exports.NumberValueObject=S;exports.OtherFormulaManagerService=Di;exports.RangeReferenceObject=Qt;exports.RegisterFunctionMutation=on;exports.RemoveDefinedNameMutation=wr;exports.RemoveFeatureCalculationMutation=vr;exports.RemoveOtherFormulaMutation=Ur;exports.RemoveSuperTableMutation=_s;exports.SetArrayFormulaDataMutation=mr;exports.SetDefinedNameMutation=xr;exports.SetFeatureCalculationMutation=Vr;exports.SetFormulaCalculationNotificationMutation=dr;exports.SetFormulaCalculationResultMutation=ln;exports.SetFormulaCalculationStartMutation=un;exports.SetFormulaCalculationStopMutation=cn;exports.SetFormulaDataMutation=Or;exports.SetOtherFormulaMutation=Fr;exports.SetSuperTableMutation=Rs;exports.SetSuperTableOptionMutation=fn;exports.StringValueObject=Re;exports.UnregisterFunctionMutation=hn;exports.ValueObjectFactory=ct;exports.compareToken=M;exports.convertUnitDataToRuntime=ps;exports.deserializeRangeForR1C1=Bs;exports.deserializeRangeWithSheet=Ye;exports.functionArray=Ts;exports.functionCompatibility=Qs;exports.functionCube=zs;exports.functionDatabase=Ws;exports.functionDate=Xs;exports.functionEngineering=Ks;exports.functionFinancial=Zs;exports.functionInformation=Ns;exports.functionLogical=ei;exports.functionLookup=ti;exports.functionMath=ni;exports.functionMeta=si;exports.functionStatistical=ii;exports.functionText=ai;exports.functionUniver=oi;exports.functionWeb=ci;exports.generateStringWithSequence=gr;exports.getAbsoluteRefTypeWitString=ta;exports.getAbsoluteRefTypeWithSingleString=jt;exports.getRangeWithRefsString=ra;exports.handleNumfmtInCell=Aa;exports.includeFormulaLexerToken=gs;exports.initSheetFormulaData=fi;exports.isFormulaLexerToken=kt;exports.isFormulaTransformable=Ai;exports.isInDirtyRange=hs;exports.isReferenceString=As;exports.isReferenceStringWithEffectiveColumn=pr;exports.isReferenceStrings=ws;exports.matchRefDrawToken=Wi;exports.matchToken=W;exports.normalizeSheetName=Hi;exports.operatorToken=oe;exports.sequenceNodeType=Pe;exports.serializeRange=Ze;exports.serializeRangeToRefString=Rt;exports.serializeRangeWithSheet=Ps;exports.serializeRangeWithSpreadsheet=Ls;exports.transformFormula=Xc;
|