@univerjs/engine-formula 0.1.13 → 0.1.15
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 +3197 -3449
- package/lib/types/controller/formula.controller.d.ts +4 -3
- package/lib/types/engine/utils/math-kit.d.ts +106 -10
- package/lib/types/functions/__tests__/create-function-test-bed.d.ts +1 -0
- package/lib/types/index.d.ts +2 -0
- package/lib/umd/index.js +1 -1
- package/package.json +24 -12
package/lib/umd/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(L,y){typeof exports=="object"&&typeof module<"u"?y(exports,require("@univerjs/core"),require("@wendellhu/redi"),require("rxjs")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@wendellhu/redi","rxjs"],y):(L=typeof globalThis<"u"?globalThis:L||self,y(L.UniverEngineFormula={},L.UniverCore,L["@wendellhu/redi"],L.rxjs))})(this,function(L,y,X,bt){"use strict";var Xl=Object.defineProperty;var Kl=(L,y,X)=>y in L?Xl(L,y,{enumerable:!0,configurable:!0,writable:!0,value:X}):L[y]=X;var g=(L,y,X)=>(Kl(L,typeof y!="symbol"?y+"":y,X),X);var Sn;function Pn(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:l,endRow:c,endColumn:f}=o.range;if(t>=u&&t<=c&&n>=l&&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 St=new Set(Object.values(h));var wn=(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))(wn||{}),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||{}),B=(r=>(r.EQUALS="=",r.NOT_EQUAL="<>",r.GREATER_THAN=">",r.GREATER_THAN_OR_EQUAL=">=",r.LESS_THAN="<",r.LESS_THAN_OR_EQUAL="<=",r))(B||{});const Zt=new Map([["<>",3],["<",3],[">=",3],["=",3],[">",3],["<=",3],["&",2],["+",2],["-",2],["/",1],["*",1],["^",0]]),ft=new Set(Zt.keys()),xi=new Set(["=","<>",">",">=","<","<="]);var G=(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))(G||{}),Xe=(r=>(r.PERCENTAGE="%",r.POUND="#",r))(Xe||{});const Vi=new Set(["%","#"]);var Ee=(r=>(r.AT="@",r.MINUS="-",r))(Ee||{});const vi=" ",xn=[...Object.values(B),...Object.values(oe),...Object.values(G),...Object.values(Xe),...Object.values(Ee)];function Mt(r){return xn.includes(r)}function Vn(r){for(const s of xn)if(r.indexOf(s)>-1)return!0;return!1}function Oi(r){return r[0]==="'"&&r[r.length-1]==="'"?r.substring(1,r.length-1):r}function Fi(r){return Mt(r)&&r!==G.CLOSE_BRACES&&r!==G.CLOSE_BRACKET&&r!==G.SINGLE_QUOTATION&&r!==G.DOUBLE_QUOTATION||r===" "}function vn(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 Ui(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 Hr={id:"formula.mutation.register-function",type:y.CommandType.MUTATION,handler:()=>!0},Jt={id:"formula.mutation.set-array-formula-data",type:y.CommandType.MUTATION,handler:(r,s)=>!0},er={id:"formula.mutation.set-defined-name",type:y.CommandType.MUTATION,handler:()=>!0},tr={id:"formula.mutation.remove-defined-name",type:y.CommandType.MUTATION,handler:()=>!0},rr={id:"formula.mutation.set-feature-calculation",type:y.CommandType.MUTATION,handler:()=>!0},nr={id:"formula.mutation.remove-feature-calculation",type:y.CommandType.MUTATION,handler:()=>!0},Wr={id:"formula.mutation.set-formula-calculation-start",type:y.CommandType.MUTATION,handler:()=>!0},Gr={id:"formula.mutation.set-formula-calculation-stop",type:y.CommandType.MUTATION,handler:()=>!0},sr={id:"formula.mutation.set-formula-calculation-notification",type:y.CommandType.MUTATION,handler:()=>!0},Xr={id:"formula.mutation.set-formula-calculation-result",type:y.CommandType.MUTATION,handler:()=>!0},ir={id:"formula.mutation.set-formula-data",type:y.CommandType.MUTATION,handler:(r,s)=>!0},ar={id:"formula.mutation.set-other-formula",type:y.CommandType.MUTATION,handler:()=>!0},or={id:"formula.mutation.remove-other-formula",type:y.CommandType.MUTATION,handler:()=>!0},On={id:"formula.mutation.set-super-table",type:y.CommandType.MUTATION,handler:()=>!0},Fn={id:"formula.mutation.remove-super-table",type:y.CommandType.MUTATION,handler:()=>!0},Kr={id:"formula.mutation.set-super-table-option",type:y.CommandType.MUTATION,handler:()=>!0},qr={id:"formula.mutation.unregister-function",type:y.CommandType.MUTATION,handler:()=>!0},Ke="P_1",tt="R_1",At="L_1",Bt="LR_1",Un="LO_1",Mi="LET",Tt="LAMBDA",Bi="CUBE";class N{constructor(){g(this,"_parent");g(this,"_token",tt);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 N?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 ht{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 Nr='\\[([^\\[\\]\\/?:"<>|*\\\\]+)\\]',Ti="((?![\\[\\]\\/?*\\\\]).)*!",rt="$",Zr="\\s*?:\\s*?",Lt=`'?(${Nr})?(${Ti})?'?`,Jr=`\\${rt}?[A-Za-z]+\\${rt}?[0-9]+`,ki=`^(${Ee.AT})?${Lt}${Jr}${Zr}${Jr}$`,kt=`^${Lt}\\s*?${Jr}(${Xe.POUND})?$`,Mn=`^${Lt}\\${rt}?[0-9]+${Zr}\\${rt}?[0-9]+$`,Bn=`^${Lt}\\${rt}?[A-Za-z]+${Zr}\\${rt}?[A-Za-z]+$`,Tn=`^${Lt}\\s*?\\${rt}?[0-9]+$`,kn=`^${Lt}\\s*?\\${rt}?[A-Za-z]+$`,jn="[.*?]",ji="{.*?}";function $n(r){return new RegExp(kt).test(r)||new RegExp(ki).test(r)||new RegExp(Mn).test(r)||new RegExp(Bn).test(r)}var we=(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))(we||{});function ur(r){let s="";for(const e of r)typeof e=="string"?s+=e:s+=e.token;return s}const $i=/[^0-9]/g,Ii=/[^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 Yi(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 In(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 qe(r){const{startColumn:s,startRow:e,endColumn:t,endRow:n,startAbsoluteRefType:i,endAbsoluteRefType:a,rangeType:o=y.RANGE_TYPE.NORMAL}=r,u=In(i),l=In(a);if(o===y.RANGE_TYPE.ROW||o===y.RANGE_TYPE.ALL){const d=`${u.rowAbsoluteString}${e+1}`,_=`${l.rowAbsoluteString}${n+1}`;return`${d}:${_}`}if(o===y.RANGE_TYPE.COLUMN){const d=`${u.columnAbsoluteString}${y.Tools.chatAtABC(s)}`,_=`${l.columnAbsoluteString}${y.Tools.chatAtABC(t)}`;return`${d}:${_}`}const c=`${u.columnAbsoluteString}${y.Tools.chatAtABC(s)}${u.rowAbsoluteString}${e+1}`,f=`${l.columnAbsoluteString}${y.Tools.chatAtABC(t)}${l.rowAbsoluteString}${n+1}`;return c===f?c:`${c}:${f}`}function Yn(r,s){return fr(r)?`'${r}'!${qe(s)}`:`${r}!${qe(s)}`}function Qn(r,s,e){return fr(r)||fr(s)?`'[${r}]${s}'!${qe(e)}`:`[${r}]${s}!${qe(e)}`}function mt(r){const{unitId:s,sheetName:e,range:t}=r;return s!=null&&s.length>0&&e!=null&&e.length>0?Qn(s,e,t):e!=null&&e.length>0?Yn(e,t):qe(t)}function lr(r){const s=Number.parseInt(r.replace($i,""))-1,e=y.Tools.ABCatNum(r.replace(Ii,"")),t=jt(r);return{row:s,column:e,absoluteRefType:t}}function zn(r){const s=new RegExp(Nr).exec(r);let e="";s!=null&&(e=s[0].trim(),e=e.slice(1,e.length-1),r=r.replace(new RegExp(Nr),""));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 $e(r){const{refBody:s,sheetName:e,unitId:t}=zn(r),n=s.indexOf(":");if(n===-1){const C=lr(s),S=C.row,A=C.column,w=C.absoluteRefType;return{unitId:t,sheetName:e,range:{startRow:S,startColumn:A,endRow:S,endColumn:A,startAbsoluteRefType:w,endAbsoluteRefType:w}}}const i=s.substring(0,n),a=s.substring(n+1),o=lr(i),u=lr(a),l=o.row,c=o.column,f=u.row,d=u.column;let _=y.RANGE_TYPE.NORMAL;return Number.isNaN(l)&&Number.isNaN(f)?_=y.RANGE_TYPE.COLUMN:Number.isNaN(c)&&Number.isNaN(d)&&(_=y.RANGE_TYPE.ROW),{unitId:t,sheetName:e,range:{startRow:l,startColumn:c,endRow:f,endColumn:d,startAbsoluteRefType:o.absoluteRefType,endAbsoluteRefType:u.absoluteRefType,rangeType:_}}}function cr(r){if(!$n(r))return!1;const{range:s}=$e(r);return!(s.endColumn>=16384)}function Qi(r,s){const e=(r==null?void 0:r.split(","))||[];return r===""||e.length===0?[]:Hn(r)?e.map(i=>{const a=$e(i);return{unitId:a.unitId,sheetId:s(a.sheetName),range:a.range,sheetName:a.sheetName}}):[]}function Hn(r){return((r==null?void 0:r.split(","))||[]).every(e=>cr(e.trim()))}function fr(r){return r.length===0?!1:!!(Vn(r)||zi(r)||Hi(r)||Wi(r)||/[\s!$%^&*()+\-=\[\]{};':"\\|,.<>\/?]/.test(r))}function zi(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 Hi(r){return/^(R(-?[0-9]+)?C(-?[0-9]+)?|C(-?[0-9]+)?|R(-?[0-9]+)?)$/.test(r)}function Wi(r){return!new RegExp("^\\p{Letter}","u").test(r.charAt(0))}const Wn=1e5,en=new ht(Wn),tn=new ht(Wn);class hr extends y.Disposable{constructor(){super(...arguments);g(this,"_currentLexerNode",new N);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(),en.clear(),tn.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!==Ke&&!Mt(u)&&a.getStartIndex()!==-1){const l=a.getChildren().indexOf(o);return{functionName:u,paramIndex:l}}o=a,a=a.getParent()}}checkIfAddBracket(e){let t=0,n=e.length-1,i=e[n];for(;(i===G.CLOSE_BRACKET||i===" ")&&n>=0;)i===G.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(),l=0;for(a[1]===G.OPEN_BRACKET&&l++;u;){const c=u.getToken();c!==Ke&&c!==G.COLON&&u.getStartIndex()!==-1&&c.toUpperCase()!==Tt&&(t===0?l+=1:t--),u=u.getParent()}return l}sequenceNodesBuilder(e){const t=tn.get(e);if(t)return[...t];const n=this._getSequenceArray(e);if(n.length===0)return;const i=this.getSequenceNode(n);return tn.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 l=i[o];if(typeof l!="string"&&l.nodeType===we.REFERENCE){const{token:c,endIndex:f}=l,d=$e(c);if(d==null)continue;const{range:_,sheetName:C,unitId:S}=d,A={..._,startAbsoluteRefType:t,endAbsoluteRefType:n},w=mt({range:A,unitId:S,sheetName:C}),x=w.length-c.length;i[o]={...l,token:w,endIndex:f+x};for(let F=o+1;F<u;F++){const z=i[F];typeof z!="string"&&(z.startIndex+=x,z.endIndex+=x)}}}return`${a}${ur(i)}`}moveFormulaRefOffset(e,t,n,i=!1){const a=this.sequenceNodesBuilder(e);if(a==null)return e;const o=[];for(let u=0,l=a.length;u<l;u++){const c=a[u];if(typeof c=="string"||c.nodeType!==we.REFERENCE){o.push(c);continue}const{token:f}=c,d=$e(f),{sheetName:_,unitId:C}=d;let S=d.range;if(!i&&S.startAbsoluteRefType===y.AbsoluteRefType.ALL&&S.endAbsoluteRefType===y.AbsoluteRefType.ALL){o.push(c);continue}else S=y.moveRangeByOffset(S,t,n,i);let A="";y.isValidRange(S)?A=mt({range:S,unitId:C,sheetName:_}):A=h.REF,o.push({...c,token:A})}return`=${ur(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:l,currentString:c}=o;if(c===G.DOUBLE_QUOTATION&&(n=!0),(l!==""||i===0)&&i!==a-1){t.push(c);continue}let f=(u==null?void 0:u.segment)||"",d=i-f.length,_=i-1,C=i-1;if(i===a-1&&this._isLastMergeString(c)&&(f+=c,_+=1),f===""||Zt.has(f)){t.push(c);continue}const S=f.trim(),A=this._replacePrefixString(S);if(n===!0&&S[S.length-1]===G.DOUBLE_QUOTATION)n=!1,this._processPushSequenceNode(t,we.STRING,f,d,_,C);else if(new RegExp(kt).test(A)&&cr(A)){if(A.length!==S.length){const w=S.length-A.length;C+=w,d+=w,f=this._replacePrefixString(f)}this._processPushSequenceNode(t,we.REFERENCE,f,d,_,C)}else y.Tools.isStringNumber(S)?this._processPushSequenceNode(t,we.NUMBER,f,d,_,C):S.length>0&&this._processPushSequenceNode(t,we.FUNCTION,f,d,_,C);(i!==a-1||!this._isLastMergeString(c))&&t.push(c)}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===G.DOUBLE_QUOTATION||y.Tools.isStringNumber(e)||!Mt(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()===G.CLOSE_BRACES&&o!=null&&typeof o!="string"&&o.nodeType===we.FUNCTION&&o.token.trim().substring(0,1)===G.OPEN_BRACES){o.nodeType=we.ARRAY,o.token+=a,o.endIndex+=a.length,i++;continue}t.push(a)}else{const o=e[i+1],u=e[i+2];o===G.COLON&&typeof a!="string"&&u!=null&&typeof u!="string"&&cr((a.token+o+u.token).trim())&&(a.nodeType=we.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===vi&&!n)t.push(o);else{if(!n&&(o===Ee.AT||o===Ee.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=en.get(e),_=i==null?void 0:i(e);if(d&&!_)return d}this._resetCurrentLexerNode(),this._currentLexerNode.setToken(tt);const a=[];let o=this._nodeMaker(e,a);if(o===h.VALUE||a.length===0)return o;let u=!1,l="",c=[];if(n){const{hasDefinedName:d,sequenceString:_,definedNames:C}=n(a);u=d,l=_,c=C}if(u&&(this._resetCurrentLexerNode(),this._currentLexerNode.setToken(tt),o=this._nodeMaker(`=${l}`),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;en.set(e,this._currentLexerNode)}return u&&this._currentLexerNode.setDefinedNames(c),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 l=t[u];if(l instanceof N)this._suffixExpressionHandler(l),i.push(l);else{const c=l.trim();if(c==="")continue;if(ft.has(c)){if(c===oe.PLUS&&this._deletePlusForPreNode(t[u-1]))continue;if(c!==oe.PLUS&&c!==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===G.OPEN_BRACKET)break;const d=Zt.get(f),_=Zt.get(c);if(!d||!_)break;if(_>=d)i.push(a.pop());else break}a.push(l)}else if(c===G.OPEN_BRACKET)a.push(l);else if(c===G.CLOSE_BRACKET)this._processSuffixExpressionCloseBracket(i,a,t,u);else{if(this._checkCloseBracket(t[u-1]))return!1;i.push(l)}}}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 N)&&(o===G.OPEN_BRACKET||o===G.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===G.OPEN_BRACKET){t.pop();break}e.push(t.pop())}}_checkCloseBracket(e){return e===G.CLOSE_BRACKET}_checkOpenBracket(e){return e===G.OPEN_BRACKET}_checkOperator(e){return e==null||e instanceof N?!1:ft.has(e)}_deletePlusForPreNode(e){if(e==null)return!0;if(!(e instanceof N)){const t=e.trim();if(ft.has(t)||t===G.OPEN_BRACKET)return!0}return!1}_resetCurrentLexerNode(){this._currentLexerNode=new N}_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 N)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,l;const e=(n=this._currentLexerNode)==null?void 0:n.getParent();let t=!1;if(e&&e.getToken()===At){if((i=e==null?void 0:e.getParent())!=null&&i.getParent()){const c=(o=(a=this._currentLexerNode.getParent())==null?void 0:a.getParent())==null?void 0:o.getParent();c&&(this._currentLexerNode=c),t=!0}}else if(e!=null&&e.getParent()){const c=(u=this._currentLexerNode.getParent())==null?void 0:u.getParent();c&&(this._currentLexerNode=c),t=!0}for(let c=0;c<this._upLevel;c++){const f=(l=this._currentLexerNode)==null?void 0:l.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 N)&&this.isColonOpen()){const i=new N;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 N;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!!(ft.has(e)||e===G.OPEN_BRACKET||e===G.COMMA||e==="")}_getSequenceArray(e){const t=[];return this._nodeMaker(e,t),t}_resetTemp(){this._currentLexerNode=new N,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!==Xe.POUND)return!0;let i=n[++t];for(;i===" ";)i=n[++t];return!!Mt(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 l=a[u];if(n===u)return[this._currentLexerNode,l];if(l===G.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 c=a[u+1];if(c&&c===G.CLOSE_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==o-1)return h.VALUE;this._addSequenceArray(t,l,u,i),u++,this._addSequenceArray(t,c,u,i),u++,this._closeBracket();continue}else c&&this._newAndPushCurrentLexerNode(Ke,u)}else this._pushNodeToChildren(l),this._openBracket(0);else if(l===G.CLOSE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){this._pushNodeToChildren(this._segment),this._resetSegment();const c=this._getCurrentBracket();if(c===0)this._pushNodeToChildren(l);else if(c===1){const f=a[u+1];if(f&&f===G.OPEN_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==o-1)return h.VALUE;this._newAndPushCurrentLexerNode(At,u,!0),this._openLambda()}else if(!this._setAncestorCurrentLexerNode()&&u!==o-1)return h.VALUE}else return h.VALUE;this._closeBracket()}else if(l===G.OPEN_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(l),this._openBraces();else if(l===G.CLOSE_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(l),this._pushNodeToChildren(this._segment),this._resetSegment(),this._closeBraces();else if(l===G.OPEN_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._segment.length>0&&this._openTableBracket(),this._pushSegment(l),this._openSquareBracket();else if(l===G.CLOSE_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._closeSquareBracket(),this.isSquareBracketClose()?(this._pushSegment(l),this._isTableBracket()&&(this._pushNodeToChildren(this._segment),this._resetSegment()),this._closeTableBracket()):this._pushSegment(l);else if(l===G.DOUBLE_QUOTATION&&this.isSingleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){if(this.isDoubleQuotationClose())this._openDoubleQuotation();else{const c=a[u+1];c&&c===G.DOUBLE_QUOTATION?u++:this._closeDoubleQuotation()}this._pushSegment(l)}else if(l===G.SINGLE_QUOTATION&&this.isDoubleQuotationClose()){if(this.isSingleQuotationClose())this._openSingleQuotation();else{const c=a[u+1];c&&c===G.SINGLE_QUOTATION?u++:this._closeSingleQuotation()}this._pushSegment(l)}else if(l===G.COMMA&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const c=this._getCurrentBracket();if(c===1||c==null){if(this._pushNodeToChildren(this._segment),this._resetSegment(),!this._setParentCurrentLexerNode()&&u!==o-1&&c!=null)return h.VALUE;this._newAndPushCurrentLexerNode(Ke,u)}else{const f=new N;f.setToken(Bi);const d=new N;d.setToken(Ke),d.changeToParent(f);const _=this._currentLexerNode.getParent();if(_&&_.getToken()===G.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(Ke,u)}}else if(l===G.COLON&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const c=new N;c.setToken(l);const f=new N;f.setToken(Ke),f.setParent(c);const d=new N;d.setToken(Ke),d.setParent(c),c.getChildren().push(f,d);let _=c,C=0;if(this._segmentCount()>0){let S,A,w=0;const x=this._segment.trim(),F=x[0],z=x[1];if(F===Ee.MINUS&&(S=new N,S.setToken(Ee.MINUS),w++),(F===Ee.AT||z===Ee.AT)&&(A=new N,A.setToken(Ee.AT),S&&(S.addChildren(A),A.setParent(S)),w++),w>0&&(this._segment=x.slice(w)),C=w,A)if(A.addChildren(c),c.setParent(A),A.getParent()){const pe=A.getParent();pe&&(_=pe)}else _=A;else S&&(_=S,S.addChildren(c),c.setParent(S));const re=new N;re.setToken(this._segment),re.setParent(f),f.getChildren().push(re),this._resetSegment()}else{const S=this._getLastChildCurrentLexerNode();S&&S.changeToParent(f)}this._setCurrentLexerNode(_),this._currentLexerNode=d,this._openColon(C)}else if(Vi.has(l)&&this._checkSimilarErrorToken(l,u,a)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()){this._pushNodeToChildren(this._segment);const c=new N;c.setToken(l);const f=this._getLastChildCurrent();f instanceof N?f.changeToParent(c):f!==!1&&(c.getChildren().push(f),this._removeLastChild()),this._pushNodeToChildren(c),c.setParent(this._currentLexerNode),this._resetSegment()}else if(ft.has(l)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()){let c=this._segment.trim();if(l===oe.MINUS&&c===""){const f=this._findPreviousToken(a,u-1)||"";if(this._negativeCondition(f)){this._pushSegment(oe.MINUS),this._addSequenceArray(t,l,u,i),u++;continue}}else if(this._segment.length>0&&this._isScientificNotation(a,u,l)){this._pushSegment(l),this._addSequenceArray(t,l,u,i),u++;continue}else this._segment.length>0&&c===""?c=this._segment:(this._pushNodeToChildren(this._segment),c="");if(l===oe.LESS_THAN||l===oe.GREATER_THAN){const f=a[u+1];f&&ft.has(l+f)?(this._pushNodeToChildren(c+l+f),u++):this._pushNodeToChildren(c+l)}else this._pushNodeToChildren(c+l);this._resetSegment()}else this._pushSegment(l);this._addSequenceArray(t,l,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 mr 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 nt=(r=>(r.FALSE="FALSE",r.TRUE="TRUE",r))(nt||{}),dt=(r=>(r[r.SUCCESS=0]="SUCCESS",r[r.ERROR=1]="ERROR",r))(dt||{}),gt=(r=>(r.ALL="#All",r.DATA="#Data",r.HEADERS="#Headers",r.TOTALS="#Totals",r))(gt||{}),Me=(r=>(r[r.FRONT=0]="FRONT",r[r.BACK=1]="BACK",r))(Me||{});class Gi{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 l=u.get(n);l==null&&(l=new Set,u.set(n,l)),l.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,l;const i=(l=(u=this._continueBuildingCache.get(s))==null?void 0:u.get(e))==null?void 0:l.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 l,c;if(t===-1||n===-1||i===-1)return!1;const a=(c=(l=this._continueBuildingCache.get(s))==null?void 0:l.get(e))==null?void 0:c.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 st=new Gi;var Ne=(r=>(r[r.MIN=0]="MIN",r[r.MAX=1]="MAX",r))(Ne||{}),xe=(r=>(r[r.NORMAL=0]="NORMAL",r[r.MIN=1]="MIN",r[r.MAX=2]="MAX",r))(xe||{});function Gn(){return Intl&&Intl.Collator?new Intl.Collator(void 0,{numeric:!1}).compare:(r,s)=>r.localeCompare(s)}function Xi(r){return r.indexOf("*")>-1||r.indexOf("?")>-1}function Xn(r,s){const e=qi(s).replace(/~?[*?]/g,n=>n.startsWith("~")?`\\${n.substring(1)}`:n==="*"?".*":n==="?"?".":n);return new RegExp(`^${e}$`).test(r)}function Kn(r){return r.replace(/~?[*?]/g,s=>s.startsWith("~")?s.substring(1):" ")}function Ki(r,s,e){let t=!1;switch(e){case B.EQUALS:t=Xn(r,s);break;case B.GREATER_THAN:case B.GREATER_THAN_OR_EQUAL:t=Xn(r,s)||r>Kn(s);break;case B.LESS_THAN:case B.LESS_THAN_OR_EQUAL:t=r<Kn(s);break}return t}function qi(r){return r.replace(/[.+^${}()|[\]\\]/g,"\\$&")}class Ze extends mr{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,t=!1){return m.create(h.NAME)}isEqual(s){return this.compare(s,B.EQUALS)}isNotEqual(s){return this.compare(s,B.NOT_EQUAL)}isGreaterThanOrEqual(s){return this.compare(s,B.GREATER_THAN_OR_EQUAL)}isLessThanOrEqual(s){return this.compare(s,B.LESS_THAN_OR_EQUAL)}isLessThan(s){return this.compare(s,B.LESS_THAN)}isGreaterThan(s){return this.compare(s,B.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=Me.FRONT){let t=this.getValue().toString();if(typeof s=="string")e===Me.FRONT?t=s+t:t+=s;else if(typeof s=="number")e===Me.FRONT?t=s.toString()+t:t+=s.toString();else if(typeof s=="boolean"){const n=s?"TRUE":"FALSE";e===Me.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 Ni=1e3,qn=new ht(Ni);class m extends Ze{constructor(s,e=""){super(s),this._errorType=s,this._errorContent=e}static create(s,e=""){const t=`${s}-${e}`,n=qn.get(t);if(n)return n;const i=new m(s,e);return qn.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 Zi=20,Ji=1,pt=1e6,Nn=1e6,ea=-7,ta=21,ra=!1,$t="[big.js] ",Rt=$t+"Invalid ",dr=Rt+"decimal places",na=Rt+"rounding mode",Zn=$t+"Division by zero",he={},Ie=void 0,sa=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function Jn(){function r(s){var e=this;if(!(e instanceof r))return s===Ie?Jn():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(Rt+"value");s=s===0&&1/s<0?"-0":String(s)}ia(e,s)}e.constructor=r}return r.prototype=he,r.DP=Zi,r.RM=Ji,r.NE=ea,r.PE=ta,r.strict=ra,r.roundDown=0,r.roundHalfUp=1,r.roundHalfEven=2,r.roundUp=3,r}function ia(r,s){var e,t,n;if(!sa.test(s))throw Error(Rt+"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 _t(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(na);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 Pt(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>pt)throw Error(dr);if(!n[0])throw Error(Zn);if(!t[0])return r.s=i,r.c=[r.e=0],r;var o,u,l,c,f,d=n.slice(),_=o=n.length,C=t.length,S=t.slice(0,o),A=S.length,w=r,x=w.c=[],F=0,z=a+(w.e=s.e-r.e)+1;for(w.s=i,i=z<0?0:z,d.unshift(0);A++<o;)S.push(0);do{for(l=0;l<10;l++){if(o!=(A=S.length))c=o>A?1:-1;else for(f=-1,c=0;++f<o;)if(n[f]!=S[f]){c=n[f]>S[f]?1:-1;break}if(c<0){for(u=A==o?n:d;A;){if(S[--A]<u[A]){for(f=A;f&&!S[--f];)S[f]=9;--S[f],S[A]+=10}S[A]-=u[A]}for(;!S[0];)S.shift()}else break}x[F++]=c?l:++l,S[0]&&c?S[A]=t[_]||0:S=[t[_]]}while((_++<C||S[0]!==Ie)&&i--);return!x[0]&&F!=1&&(x.shift(),w.e--,z--),F>z&&_t(w,z,e.RM,S[0]!==Ie),w},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 l=i.c.slice(),c=i.e,f=r.c,d=r.e;if(!l[0]||!f[0])return f[0]?r.s=-u:l[0]?r=new a(i):r.s=1,r;if(o=c-d){for((n=o<0)?(o=-o,t=l):(d=c,t=f),t.reverse(),u=o;u--;)t.push(0);t.reverse()}else for(e=((n=l.length<f.length)?l:f).length,o=u=0;u<e;u++)if(l[u]!=f[u]){n=l[u]<f[u];break}if(n&&(t=l,l=f,f=t,r.s=-r.s),(u=(e=f.length)-(s=l.length))>0)for(;u--;)l[s++]=0;for(u=s;e>o;){if(l[--e]<f[e]){for(s=e;s&&!l[--s];)l[s]=9;--l[s],l[e]+=10}l[e]-=f[e]}for(;l[--u]===0;)l.pop();for(;l[0]===0;)l.shift(),--d;return l[0]||(r.s=1,l=[d=0]),r.c=l,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(Zn);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,l=r.c;if(!o[0]||!l[0])return l[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=l):(s=-s,t=o),t.reverse();s--;)t.push(0);t.reverse()}for(o.length-l.length<0&&(t=l,l=o,o=t),s=l.length,e=0;s;o[s]%=10)e=(o[--s]=o[s]+l[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<-Nn||r>Nn)throw Error(Rt+"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>pt)throw Error(Rt+"precision");return _t(new this.constructor(this),r,s)},he.round=function(r,s){if(r===Ie)r=0;else if(r!==~~r||r<-pt||r>pt)throw Error(dr);return _t(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($t+"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 _t(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,l=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+l,a<o&&(s=n,n=i,i=s,l=a,a=o,o=l),s=new Array(l=a+o);l--;)s[l]=0;for(u=o;u--;){for(o=0,l=a+u;l>u;)o=s[l]+i[u]*n[l-u-1]+o,s[l--]=o%10,o=o/10|0;s[l]=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>pt)throw Error(dr);for(e=_t(new e.constructor(e),++r,s);e.c.length<r;)e.c.push(0)}return Pt(e,!0,!!t)},he.toFixed=function(r,s){var e=this,t=e.c[0];if(r!==Ie){if(r!==~~r||r<0||r>pt)throw Error(dr);for(e=_t(new e.constructor(e),r+e.e+1,s),r=r+e.e+1;e.c.length<r;)e.c.push(0)}return Pt(e,!1,!!t)},he[Symbol.for("nodejs.util.inspect.custom")]=he.toJSON=he.toString=function(){var r=this,s=r.constructor;return Pt(r,r.e<=s.NE||r.e>=s.PE,!!r.c[0])},he.toNumber=function(){var r=Number(Pt(this,!0,!0));if(this.constructor.strict===!0&&!this.eq(r.toString()))throw Error($t+"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>pt)throw Error(Rt+"precision");for(e=_t(new t(e),r,s);e.c.length<r;)e.c.push(0)}return Pt(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($t+"valueOf disallowed");return Pt(r,r.e<=s.NE||r.e>=s.PE,!0)};var De=Jn();function es(r){let s;switch(r){case B.EQUALS:s=B.EQUALS;break;case B.GREATER_THAN:s=B.LESS_THAN;break;case B.GREATER_THAN_OR_EQUAL:s=B.LESS_THAN_OR_EQUAL;break;case B.LESS_THAN:s=B.GREATER_THAN;break;case B.LESS_THAN_OR_EQUAL:s=B.GREATER_THAN_OR_EQUAL;break;case B.NOT_EQUAL:s=B.NOT_EQUAL;break}return s}function rn(r,s){return De(r).times(s).toNumber()}function ts(r,s){const e=10**Math.floor(s);return Math.round(rn(r,e))/e}function rs(r,s){const e=10**Math.floor(s);return Math.floor(rn(r,e))/e}function ns(r,s){const e=10**Math.floor(s);return Math.ceil(rn(r,e))/e}function ss(r,s){const e=new De(r),t=new De(s),n=Math.floor(r/s);return e.minus(t.times(n)).toNumber()}function is(r,s){return r**s}var aa=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function oa(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var as={exports:{}};(function(r,s){(function(e,t){r.exports=t()})(typeof self<"u"?self:aa,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 Gl}});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 l(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 c(R){const p=l(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 S(R,p,E){const P=R<0?-1:1,v=10**(p||2),T=10**(E||2);let O,V,D=Math.abs(R),$=0,H=0,U=0,W=1;if((R=D)%1==0)V=[R*P,1];else if(R<1e-19)V=[P,1e19];else if(R>1e19)V=[1e19*P,1];else{do if(D=1/(D-Math.floor(D)),O=W,W=W*Math.floor(D)+$,$=O,H=U,U=Math.floor(R*W+.5),U>=v||W>=T)return[P*H,$];while(Math.abs(R-U/W)>=1e-10&&D!==Math.floor(D));V=[P*U,W]}return V}const A={overflow:"######",dateErrorThrows:!1,dateErrorNumber:!0,dateSpanLarge:!0,leap1900:!0,nbsp:!0,throws:!0,invalid:"######",locale:"",ignoreTimezone:!1},w=Object.assign({},A);function x(R){if(R===null&&(R=A),R){for(const p in R)if(p in A){const E=R[p];w[p]=E==null?A[p]:E}}return{...w}}const F={"#":"",0:"0","?":" "},z={"@":"text","-":"minus","+":"plus"},re=["#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"],pe=["¤","$","£","¥","֏","؋","৳","฿","៛","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"],Ce=new RegExp("["+pe.join("")+"]");function ge(R,p,E){return p[E+"_max"]=R.length,p[E+"_min"]=R.replace(/#/g,"").length,p}const ie={};function J(R){if(!(R in ie)){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 F?F[v]:v}ie[R]=p.join("")}return ie[R]}function Z(R,p){typeof R=="string"&&(R={type:"string",value:R=R.replace(/ /g,F["?"])}),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",T=!1,O=null;const V=[];let D,$,H=!1;for(;P&&!T;){if(D=/^General/i.exec(P))E.general=!0,Z({type:"general"},p);else if(v==="int"&&(D=/^[#?0]+(?:,[#?0]+)*/.exec(P))||v==="den"&&(D=/^[#?\d]+/.exec(P))||(D=/^[#?0]+/.exec(P)))E[v+"_pattern"].push(D[0]),O={type:v,num:D[0]},Z(O,p);else if((D=/^\//.exec(P))&&E[v+"_pattern"].length){if(!O)throw new SyntaxError("Missing a numerator in pattern ".concat(R));E.fractions=!0,E.num_pattern.push(E[v+"_pattern"].pop()),O.type="num",v="den",Z({type:"div"},p)}else if(D=/^,+/.exec(P)){const M=P.charAt(1)in F;$.slice(-1)in F&&(D[0].length>1||!M)?E.scale=.001**D[0].length:E.dec_fractions||Z(D[0],p)}else{if(D=/^;/.exec(P)){T=!0;break}if(D=/^[@+-]/.exec(P))D[0]==="@"&&(E.text=!0),Z({type:z[D[0]]},p);else if(D=/^(?:\[(h+|m+|s+)\])/i.exec(P)){const M=D[1].toLowerCase(),Q=M[0],q={type:"",size:0,date:1,raw:D[0],pad:M.length};Q==="h"?(q.size=16,q.type="hour-elap"):Q==="m"?(q.size=32,q.type="min-elap"):(q.size=64,q.type="sec-elap"),E.date=E.date|q.size,V.push(q),Z(q,p)}else if(D=/^(?:B2)/i.exec(P))H||(E.date_system=6);else if(D=/^(?:B1)/i.exec(P))H||(E.date_system=1);else if(D=/^(?:([hHmMsSyYbBdDegG])\1*)/.exec(P)){const M={type:"",size:0,date:1,raw:D[0]},Q=D[0].toLowerCase(),q=Q[0];if(Q==="y"||Q==="yy")M.size=2,M.type="year-short";else if(q==="y"||q==="e")M.size=2,M.type="year";else if(Q==="b"||Q==="bb")M.size=2,M.type="b-year-short";else if(q==="b")M.size=2,M.type="b-year";else if(Q==="d"||Q==="dd")M.size=8,M.type="day",M.pad=/dd/.test(Q);else if(Q==="ddd")M.size=8,M.type="weekday-short";else if(q==="d")M.size=8,M.type="weekday";else if(q==="h")M.size=16,M.type="hour",M.pad=/hh/i.test(Q);else if(q==="m"){Q.length===3?(M.size=4,M.type="monthname-short"):Q.length===5?(M.size=4,M.type="monthname-single"):Q.length>=4&&(M.size=4,M.type="monthname");const ne=V[V.length-1];!M.type&&ne&&!ne.used&&80&ne.size&&(ne.used=!0,M.size=32,M.type="min",M.pad=/mm/.test(Q)),M.type||(M.size=4,M.type="month",M.pad=/mm/.test(Q),M.indeterminate=!0)}else if(q==="s"){M.size=64,M.type="sec",M.pad=/ss/.test(Q);const ne=V[V.length-1];ne&&32&ne.size?M.used=!0:ne&&ne.indeterminate&&(delete ne.indeterminate,ne.size=32,ne.type="min",M.used=!0)}E.date=E.date|M.size,E.date_eval=!0,V.push(M),Z(M,p)}else if(D=/^(?:AM\/PM|am\/pm|A\/P)/.exec(P))E.clock=12,E.date=16|E.date,E.date_eval=!0,Z({type:"am",short:D[0]==="A/P"},p);else if(E.date&&(D=/^\.0{1,3}/i.exec(P))){const M=D[0].length-1,Q=[64,128,256,512][M];E.date=E.date|Q,E.date_eval=!0,E.sec_decimals=Math.max(E.sec_decimals,M),Z({type:"subsec",size:Q,decimals:M,date:1,raw:D[0]},p)}else if((D=/^\\(.)/.exec(P))||(D=/^"([^"]*?)"/.exec(P)))Z(D[1],p);else if(D=/^\[(<[=>]?|>=?|=)\s*(-?[.\d]+)\]/.exec(P))E.condition=[D[1],parseFloat(D[2],10)];else if(D=/^\[\$([^\]]+)\]/.exec(P)){const M=D[1].split("-"),Q=M.length<2?"":M[M.length-1],q=M[0];q&&Z(q,p);const ne=l(Q);ne&&(E.locale=ne);const ue=parseInt(Q,16);isFinite(ue)&&16711680&ue&&(ue>>16&255)===6&&(E.date_system=6),H=!0}else if(D=/^\[(black|blue|cyan|green|magenta|red|white|yellow|color\s*(\d+))\]/i.exec(P))E.color=D[2]?re[parseInt(D[2],10)]||"#000":D[1].toLowerCase();else if(!(D=/^\[(DBNum1|ENG|HIJ|JPN|TWN)\]/i.exec(P))){if(D=/^%/.exec(P))E.scale=100,E.percent=!0,Z("%",p);else if(D=/^_(\\.|.)/.exec(P))Z(" ",p);else if(D=/^\./.exec(P))Z({type:"point",value:D[0]},p),E.dec_fractions=!0,v="frac";else if(D=/^[Ee]([+-]?|(?=[0#?]))/.exec(P))E.exponential=!0,E.exp_plus=D[1]==="+",v="man",Z({type:"exp",plus:D[1]==="+"},p);else if(!(D=/^\*(\\.|.)/.exec(P))){if(D=/^[BENn[]/.exec(P))throw new SyntaxError("Unexpected char ".concat(P.charAt(0)," in pattern ").concat(R));P[0]==="("&&(E.parens=!0),D=[P[0]],Z(D[0],p)}}}$=D[0],P=P.slice(D?D[0].length:1)}if(E.pattern=R.slice(0,R.length-P.length),/^((?:\[[^\]]+\])+)(;|$)/.test(E.pattern)&&!/^\[(?:h+|m+|s+)\]/.test(E.pattern)&&Z({type:"text"},p),E.fractions&&E.dec_fractions||E.fractions&&E.exponential)throw new SyntaxError("Invalid pattern: ".concat(E.pattern));const U=E.int_pattern.join("");if(E.grouping=U.indexOf(",")>=0,E.grouping){const M=U.split(","),Q=M.length;Q===2?(E.group_pri=M[1].length,E.group_sec=E.group_pri):Q>2&&(E.group_pri=M[Q-1].length,E.group_sec=M[Q-2].length)}else E.group_pri=0,E.group_sec=0;ge(U.replace(/[,]/g,""),E,"int"),ge(E.frac_pattern.join(""),E,"frac"),ge(E.man_pattern.join(""),E,"man");let W=E.num_pattern.join(""),ee=E.den_pattern.join("");const K=/\?/.test(ee)||/\?/.test(W);return ee=ee.replace(/\d/g,K?"?":"#"),K&&(ee=ee.replace(/#$/g,"?")),ge(W,E,"num"),ge(ee,E,"den"),K&&(W=W.replace(/#$/g,"?")),E.int_padding=J(E.int_pattern.join("")),E.man_padding=J(E.man_pattern.join("")),E.num_padding=J(W),E.den_padding=J(ee),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((M,Q)=>{const q=p[Q+1];M.type==="string"&&q&&(q.type==="num"?M.rule="num+int":q.type==="div"?M.rule="num":q.type==="den"&&(M.rule="den"))}),E}const Ct=R=>{const p=R.condition;p&&p[1]<0&&(p[0]==="<"||p[0]==="<="||p[0]==="=")||R.tokens.unshift({type:"minus",volatile:!0})};function gi(R){const p=[];let E,P=!1,v=null,T=R,O=0,V=!1,D=0,$=0;do{if(V=fe(T),(V.date||V.general)&&(V.int_pattern.length||V.frac_pattern.length||V.scale!==1||V.text))throw new Error("Illegal format");if(V.condition&&($++,P=!0),V.text){if(v)throw new Error("Unexpected partition");v=V}V.locale&&(E=l(V.locale)),p.push(V),O=T.charAt(V.pattern.length)===";"?1:0,T=T.slice(V.pattern.length+O),D++}while(O&&D<4&&$<3);if(O)throw new Error("Unexpected partition");if($>2)throw new Error("Unexpected condition");const H=p[3];if(H&&(H.int_pattern.length||H.frac_pattern.length||H.date))throw new Error("Unexpected partition");if(P){const U=p.length;if(U===1&&(p[1]=fe("General"),p[1].generated=!0),U<3){const W=p[0],ee=p[1];if(Ct(W),ee.condition)Ct(ee);else{const K=W.condition;(K[0]==="="||K[1]>=0&&(K[0]===">"||K[0]===">="))&&ee.tokens.unshift({type:"minus",volatile:!0})}}else p.forEach(Ct)}else{if(p.length<4&&v)for(let U=0,W=p.length;U<W;U++)p[U]===v&&p.splice(U,1);if(p.length<1&&v&&(p[0]=fe("General"),p[0].generated=!0),p.length<2){const U=fe(p[0].pattern);U.tokens.unshift({type:"minus",volatile:!0}),U.generated=!0,p.push(U)}if(p.length<3){const U=fe(p[0].pattern);U.generated=!0,p.push(U)}if(p.length<4)if(v)p.push(v);else{const U=fe("@");U.generated=!0,p.push(U)}p[0].condition=[">",0],p[1].condition=["<",0],p[2].condition=null}return{pattern:R,partitions:p,locale:E}}const Fe=Math.floor;function pi(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=Fe(4*E/146097);E-=Fe((146097*P+3)/4);const v=Fe(4e3*(E+1)/1461001);E=E-Fe(1461*v/4)+31;const T=Fe(80*E/2447),O=E-Fe(2447*T/80);E=Fe(T/11);const V=T+2-12*E;return[0|100*(P-49)+v+E,0|V,0|O]}function Ul(R){return pi(R+1462)}function Ml(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=Fe(P/10631);P-=10631*v;const T=Fe((P-E)/p);P-=Fe(T*p+E);const O=Fe((P+28.5001)/29.5);return O===13?[30*v+T,12,30]:[30*v+T,O,P-Fe(29.5001*O-29)]}function Ri(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=Fe(R);return p===6?Ml(P):p===-1?Ul(P):pi(P,E)}const Yr=Math.floor,An=86400;function Qr(R,p){let E=null;if(Array.isArray(R)){const[P,v,T,O,V,D]=R;E=Date.UTC(P,v==null?0:v-1,T!=null?T:1,O||0,V||0,D||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 _i(R,p){let E=0|R;const P=An*(R-E);let v=Yr(P);P-v>.9999&&(v+=1,v===An&&(v=0,E+=1));const T=v<0?An+v:v,[O,V,D]=Ri(R,0,p&&p.leap1900),$=Yr(T/60/60)%60,H=Yr(T/60)%60,U=Yr(T)%60;if(p&&p.nativeDate){const W=new Date(0);return W.setUTCFullYear(O,V-1,D),W.setUTCHours($,H,U),W}return[O,V,D,$,H,U]}function Bl(R){return!!(R[0]&&R[0].percent||R[1]&&R[1].percent||R[2]&&R[2].percent||R[3]&&R[3].percent)}function Tl(R){return!!(R[0]&&R[0].date||R[1]&&R[1].date||R[2]&&R[2].date||R[3]&&R[3].date)}function kl(R){const[p,E,P,v]=R;return!(p&&!p.generated||E&&!E.generated||P&&!P.generated||!v||!v.text||v.generated)}const jl={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},$l=[["DMY",1],["DM",2],["MY",3],["MDY",4],["MD",5],["hmsa",6],["hma",7],["hms",8],["hm",9]],Il={total:1,sign:0,period:0,int:1,frac:0},Kt=(R,p)=>R.replace(/\./,p.decimal);function Ei(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 T=Math.abs(E);let O=T?Math.floor(Math.log10(T)):0,V=O<0?T*10**-O:T/10**O;V===10&&(V=1,O++);const D=function(H){let U=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];const W=Math.abs(H);if(!W)return Il;const ee=U&&H<0?1:0,K=Math.floor(W),M=Math.floor(Math.log10(W)+1);let Q=0,q=0;if(K!==W){Q=1;const ne=String(C(M<0?W*10**-M:W/10**M,15));let ue=ne.length,ae=!0,Se=0;for(;Se<=ne.length;){if(ne[Se]==="."){ue--;break}ne[Se]==="0"&&ae?ue--:ae=!1,Se++}q=ue-M,q<0&&(q=0,Q=0)}return{total:ee+Math.max(M,1)+Q+q,digits:Math.max(M,0)+q,sign:ee,period:Q,int:Math.max(M,1),frac:q}}(T),$=()=>{const H=Math.abs(O);let U;U=V===1?V:C(V,5),R.push(Kt(U+"",P),P.exponent,O<0?P.negative:P.positive,H<10?"0":"",H)};if(O>=-4&&O<=-1){const H=T.toPrecision(10+O).replace(/\.?0+$/,"");R.push(Kt(H,P))}else if(O===10){const H=T.toFixed(10).slice(0,12).replace(/\.$/,"");R.push(Kt(H,P))}else if(Math.abs(O)<=9)if(D.total<=11){const H=C(T,9).toFixed(D.frac);R.push(Kt(H,P))}else O===9?R.push(Math.floor(T)):O>=0&&O<9?R.push(C(T,9-O)):$();else D.total>=12?$():Math.floor(T)===T?R.push(Math.floor(T)):R.push(Kt(C(T,9).toFixed(D.frac),P))}return R}const qt=86400,yi={int:"integer",frac:"fraction",man:"mantissa",num:"numerator",den:"denominator"},Ci=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 Di(R,p,E,P){let v="",T="",O="",V="",D="",$=0,H=0|R,U=0,W=0,ee=1,K=0,M=0,Q=0,q=0,ne=0,ue=0;const ae=P||_;if(!p.text&&isFinite(p.scale)&&p.scale!==1&&(R=function(se){if(se===0)return se;const le=Math.ceil(Math.log10(se<0?-se:se)),k=10**(16-Math.floor(le));return Math.round(se*k)/k}(R*p.scale)),p.exponential){let se=Math.abs(R);if(se){const le=10**-Ci(se,p.int_max),k=C(se*le,p.frac_max)/le;$=Ci(k,p.int_max)}se/=10**$,R=R<0?-se:se,v+=Math.abs($)}if(p.integer){const se=Math.abs(C(R,p.fractions?1:p.frac_max));D+=se<1?"":Math.floor(se)}if(p.grouping){let se="",le=D.length;for(le>p.group_pri&&(le-=p.group_pri,se=ae.group+D.slice(le,le+p.group_pri)+se);le>p.group_sec;)le-=p.group_sec,se=ae.group+D.slice(le,le+p.group_sec)+se;D=le?D.slice(0,le)+se:se}p.dec_fractions&&(V=String(C(R,p.frac_max)).split(".")[1]||"");let Se=!1;if(p.fractions){const se=Math.abs(p.integer?R%1:R);if(se)if(Se=!0,isFinite(p.denominator))O+=p.denominator,T+=C(se*p.denominator),T==="0"&&(T="",O="",Se=!1,D||(D="0"));else{const le=S(se,p.integer?p.num_max:1/0,p.den_max);T+=le[0],O+=le[1],p.integer&&T==="0"&&(D||(D="0"),T="",O="",Se=!1)}}if(p.date){H=Math.trunc(R);const se=qt*(R-H);if(U=Math.floor(se),ue=se-U,Math.abs(ue)<1e-6?ue=0:ue>.9999&&(ue=0,U+=1,U===qt&&(U=0,H+=1)),ue){const le=512&p.date||256&p.date||128&p.date;(le===512&&ue>.9995||le===256&&ue>.995||le===128&&ue>.95||!le&&ue>=.5)&&(U++,ue=0)}if(H||p.date_system){const le=Ri(R,p.date_system,E.leap1900);W=le[0],ee=le[1],K=le[2]}if(U){const le=U<0?qt+U:U;ne=Math.floor(le)%60,q=Math.floor(le/60)%60,Q=Math.floor(le/60/60)%60}if(M=(6+H)%7,p.date_eval&&(et=R,Dt=H+U/qt,E.dateSpanLarge?et<-694324||Dt>=35830291:et<0||Dt>=2958466)){if(E.dateErrorThrows)throw new Error("Date out of bounds");return E.dateErrorNumber?Ei(R<0?[ae.negative]:[],0,R,ae).join(""):E.overflow}}var et,Dt;if(p.int_padding&&(D=p.int_padding.length===1?D||p.int_padding:p.int_padding.substring(0,p.int_padding.length-D.length)+D),p.num_padding&&(T=p.num_padding.length===1?T||p.num_padding:p.num_padding.substring(0,p.num_padding.length-T.length)+T),p.den_padding&&(O=p.den_padding.length===1?O||p.den_padding:O+p.den_padding.slice(O.length)),p.man_padding){const se=p.exp_plus?"+":"";v=p.man_padding.length===1?($<0?"-":se)+(v||p.man_padding):($<0?"-":se)+p.man_padding.slice(0,p.man_padding.length-v.length)+v}const I=[];let Ue=0;const ct={int:0,frac:0,man:0,num:0,den:0};for(let se=0,le=p.tokens.length;se<le;se++){const k=p.tokens[se],zr=k.num?k.num.length:0;if(k.type==="string")k.rule?k.rule==="num"?Se?I.push(k.value):(p.num_min>0||p.den_min>0)&&I.push(k.value.replace(/./g,F["?"])):k.rule==="num+int"?Se&&D?I.push(k.value):p.den_min>0&&(D||p.num_min)&&I.push(k.value.replace(/./g,F["?"])):k.rule==="den"&&(Se?I.push(k.value):(p.den_min>0||p.den_min>0)&&I.push(k.value.replace(/./g,F["?"]))):I.push(k.value);else if(k.type==="error")I.push(E.invalid);else if(k.type==="point")I.push(p.date?k.value:ae.decimal);else if(k.type==="general")Ei(I,0,R,ae);else if(k.type==="exp")I.push(ae.exponent);else if(k.type==="minus")k.volatile&&p.date||k.volatile&&(R>=0||typeof R!="number")||(k.volatile&&!p.fractions&&(p.integer||p.dec_fractions)?(R<0&&D&&D!=="0"||V)&&I.push(ae.negative):I.push(ae.negative));else if(k.type==="plus")I.push(ae.positive);else if(k.type==="text")I.push(R);else if(k.type==="div")Se?I.push("/"):p.num_min>0||p.den_min>0?I.push(F["?"]):I.push(F["#"]);else if(k.type==="int")if(p.int_pattern.length===1)I.push(D);else{const Re=Ue?p.int_pattern.join("").length-ct.int:1/0,Ut=Ue===p.int_pattern.length-1?0:p.int_pattern.join("").length-(ct.int+k.num.length);I.push(D.substring(D.length-Re,D.length-Ut)),Ue++,ct.int+=k.num.length}else if(k.type==="frac"){const Re=ct.frac;for(let Ut=0;Ut<zr;Ut++)I.push(V[Ut+Re]||F[k.num[Ut]]);ct.frac+=zr}else if(k.type in yi)p[k.type+"_pattern"].length===1?(k.type==="int"&&I.push(D),k.type==="frac"&&I.push(V),k.type==="man"&&I.push(v),k.type==="num"&&I.push(T),k.type==="den"&&I.push(O)):(I.push(yi[k.type].slice(ct[k.type],ct[k.type]+zr)),ct[k.type]+=zr);else if(k.type==="year")W<0&&I.push(ae.negative),I.push(String(Math.abs(W)).padStart(4,"0"));else if(k.type==="year-short"){const Re=W%100;I.push(Re<10?"0":"",Re)}else if(k.type==="month")I.push(k.pad&&ee<10?"0":"",ee);else if(k.type==="monthname-single")p.date_system===6?I.push(ae.mmmm6[ee-1].charAt(0)):I.push(ae.mmmm[ee-1].charAt(0));else if(k.type==="monthname-short")p.date_system===6?I.push(ae.mmm6[ee-1]):I.push(ae.mmm[ee-1]);else if(k.type==="monthname")p.date_system===6?I.push(ae.mmmm6[ee-1]):I.push(ae.mmmm[ee-1]);else if(k.type==="weekday-short")I.push(ae.ddd[M]);else if(k.type==="weekday")I.push(ae.dddd[M]);else if(k.type==="day")I.push(k.pad&&K<10?"0":"",K);else if(k.type==="hour"){const Re=Q%p.clock||(p.clock<24?p.clock:0);I.push(k.pad&&Re<10?"0":"",Re)}else if(k.type==="min")I.push(k.pad&&q<10?"0":"",q);else if(k.type==="sec")I.push(k.pad&&ne<10?"0":"",ne);else if(k.type==="subsec"){I.push(ae.decimal);const Re=ue.toFixed(p.sec_decimals);I.push(Re.slice(2,2+k.decimals))}else if(k.type==="am"){const Re=Q<12?0:1;k.short&&!P?I.push("AP"[Re]):I.push(ae.ampm[Re])}else if(k.type==="hour-elap"){R<0&&I.push(ae.negative);const Re=24*H+Math.floor(Math.abs(U)/3600);I.push(String(Math.abs(Re)).padStart(k.pad,"0"))}else if(k.type==="min-elap"){R<0&&I.push(ae.negative);const Re=1440*H+Math.floor(Math.abs(U)/60);I.push(String(Math.abs(Re)).padStart(k.pad,"0"))}else if(k.type==="sec-elap"){R<0&&I.push(ae.negative);const Re=H*qt+Math.abs(U);I.push(String(Math.abs(Re)).padStart(k.pad,"0"))}else if(k.type==="b-year")I.push(W+543);else if(k.type==="b-year-short"){const Re=(W+543)%100;I.push(Re<10?"0":"",Re)}}return E.nbsp?I.join(""):I.join("").replace(/\u00a0/g," ")}function bi(R,p){for(let E=0;E<3;E++){const P=p[E];if(P){let v;if(P.condition){const T=P.condition[0],O=P.condition[1];T==="="?v=R===O:T===">"?v=R>O:T==="<"?v=R<O:T===">="?v=R>=O:T==="<="?v=R<=O:T==="<>"&&(v=R!==O)}else v=!0;if(v)return P}}}const Si=fe("@"),Ai="black",ke={};function je(R,p){if(R){const E=R[0];p[E]=p[E]||{},je(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=>{je(R,ke),je(R+" x",ke),je(R+" l",ke),je(R+" l x",ke),je("l "+R,ke),je("l "+R+" x",ke),je(R+" D",ke),je(R+" D x",ke),je("D "+R,ke),je("D "+R+" x",ke)});const Yl={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},Ql={january:1,february:2,march:3,april:4,june:6,july:7,august:8,september:9,october:10,november:11,december:12},zl={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"},Hl=new Date().getUTCFullYear();function Li(R){const p=new RegExp("^([\\s+%"+pe.join("")+"(-]*)(((?:(?:\\d[\\d,]*)(?:\\.\\d*)?|(?:\\.\\d+)))([eE][+-]?\\d+)?)([\\s%"+pe.join("")+")]*)$").exec(R);if(p){const[,E,P,v,T,O]=p;let V=1,D="",$=!1,H=!1,U=!1,W=!1,ee=!1,K=null,M=!1,Q=parseFloat(P.replace(/,/g,""));if(!isFinite(Q))return null;for(let ne=0;ne<E.length;ne++){const ue=E[ne];if(ue==="-"){if($||H)return null;$=!0,V=-1}else if(Ce.test(ue)){if(ee)return null;ee=!0,K=ue}else if(ue==="("){if(H||$)return null;H=!0,V=-1}else if(ue==="%"){if(W)return null;W=!0}}for(let ne=0;ne<O.length;ne++){const ue=O[ne];if(Ce.test(ue)){if(ee)return null;ee=!0,K=ue,M=!0}else if(ue===")"){if(U||!H)return null;U=!0}else if(ue==="%"){if(W)return null;W=!0}}if(T){if(W||ee)return null;D="0.00E+00"}else if(W){if(ee)return null;D=v.includes(".")?"0.00%":"0%",Q*=.01}else if(ee){const ne=v.includes(".")?"#,##0.00":"#,##0";D=M?ne+K:K+ne}else v.includes(",")&&(D=v.includes(".")?"#,##0.00":"#,##0");const q={v:Q*V};return D&&(q.z=D),q}}const Ge=(R,p,E)=>{const P=E.path||"",v=Object.keys(p);for(let T=0;T<v.length;T++){let O;const V=v[T];if(p[V]){if(V==="$"||V==="€")R||(O=E);else if(V==="-"){const D=/^(\s*([./-]|,\s)\s*|\s+)/.exec(R);if(D){const $=D[1]==="-"||D[1]==="/"||D[1]==="."?D[1]:" ";if(!E.sep||E.sep===$){const H=D[0].replace(/\s+/g," ");O=Ge(R.slice(D[0].length),p[V],{...E,sep:$,path:P+H})}}}else if(V===" "){const D=/^[,.]?\s+/.exec(R);if(D){const $=D[0].replace(/\s+/g," ");O=Ge(R.slice(D[0].length),p[V],{...E,path:P+$})}}else if(V==="j"||V==="d"){const D=/^(0?[1-9]|1\d|2\d|3[01])\b/.exec(R);D&&(O=Ge(R.slice(D[0].length),p[V],{...E,day:D[0],path:P+V}))}else if(V==="n"||V==="m"){const D=/^(0?[1-9]|1[012])\b/.exec(R);D&&(O=Ge(R.slice(D[0].length),p[V],{...E,month:+D[0],_mon:D[0],path:P+V}))}else if(V==="F"||V==="M"){const D=/^([a-z]{3,9})\b/i.exec(R),$=D&&(V==="F"?Ql:Yl)[D[0].toLowerCase()];$&&(O=Ge(R.slice(D[0].length),p[V],{...E,month:$,_mon:D[0],path:P+V}))}else if(V==="l"||V==="D"){const D=/^([a-z]{3,9})\b/i.exec(R);(D&&zl[D[0].toLowerCase()])===V&&(O=Ge(R.slice(D[0].length),p[V],{...E,path:P+V}))}else if(V==="y"){const D=/^\d\d\b/.exec(R);if(D){const $=+D[0]>=30?+D[0]+1900:+D[0]+2e3;O=Ge(R.slice(D[0].length),p[V],{...E,year:$,path:P+V})}}else if(V==="Y"){const D=/^\d\d\d\d\b/.exec(R);D&&(O=Ge(R.slice(D[0].length),p[V],{...E,year:+D[0],path:P+V}))}else{if(V!=="x")throw new Error('Unknown date token "'.concat(V,'"'));{const D=Ln(R);D&&(O=Ge("",p[V],{...E,time:D.v,tf:D.z,path:P+V}))}}if(O)return O}}};function Pi(R,p){const E=Ge(R.trim(),ke,{path:""});if(E){var P;if(E.sep==="."&&E.path.length===3)return null;const v=+((P=E.year)!==null&&P!==void 0?P:Hl);if(E.day||(E.day=1),!function(V,D,$){if($<1||D<1||D>12)return!1;if(D===2){if($>(V%4==0&&V%100!=0||V%400==0||V===1900?29:28))return!1}else if((D===4||D===6||D===9||D===11)&&$>30||(D===1||D===3||D===5||D===7||D===8||D===10||D===12)&&$>31)return!1;return!0}(v,E.month,E.day))return null;let T=-1/0;if(v<1900)return null;v<=1900&&E.month<=2?T=25568:v<1e4&&(T=25569);const O=Date.UTC(v,E.month-1,E.day)/864e5+T+(E.time||0);if(O>=0&&O<=2958465){const V=E._mon[0]==="0"||E.day[0]==="0"||E._mon.length===2&&E.day.length===2,D=E.path.replace(/[jdlDnmMFyYx-]/g,$=>$==="j"||$==="d"?V?"dd":"d":$==="D"?"ddd":$==="l"?"dddd":$==="n"||$==="m"?V?"mm":"m":$==="M"?"mmm":$==="F"?"mmmm":$==="y"?"yy":$==="x"?E.tf||"":$==="Y"?"yyyy":$);return p&&p.nativeDate?{v:_i(O,p),z:D}:{v:O,z:D}}}return null}function Ln(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,T,O]=p;if(T&&!v||!O&&!P&&!v)return null;let V=1*(E||0);if(O){if(V>=13)return null;O[0]!=="p"&&O[0]!=="P"||(V+=12)}return{v:(60*V*60+60*(1*(P||0))+1*(v||0)+1*(T||0))/86400,z:(E.length===2?"hh":"h")+":mm"+(v?":ss":"")+(O?" AM/PM":"")}}return null}function wi(R){return/^\s*true\s*$/i.test(R)?{v:!0}:/^\s*false\s*$/i.test(R)?{v:!1}:null}const Nt={};function Wl(R,p){const{pattern:E,partitions:P,locale:v}=R,T=D=>{const $=Object.assign({},x(),p,D);return v&&($.locale=v),$},O=(D,$)=>{const H=T($);return function(U,W,ee){const K=c(ee.locale),M=W[3]?W[3]:Si;if(typeof U=="boolean"&&(U=U?"TRUE":"FALSE"),U==null)return"";if(typeof U!="number")return Di(U,M,ee,K);if(!isFinite(U)){const q=K||_;return isNaN(U)?q.nan:(U<0?q.negative:"")+q.infinity}const Q=bi(U,W);return Q?Di(U,Q,ee,K):ee.overflow}(Qr(D,H),P,H)};O.color=(D,$)=>function(H,U){if(typeof H!="number"||!isFinite(H))return(U[3]?U[3].color:Si.color)||Ai;const W=bi(H,U);return W&&W.color||Ai}(Qr(D,T($)),P);const V=function(D){var $;let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;const[U,W]=D,ee=U.frac_max,K={type:"general",isDate:Tl(D),isText:kl(D),isPercent:Bl(D),maxDecimals:U.general?9:ee,scale:($=U.scale)!==null&&$!==void 0?$:1,color:0,parentheses:0,grouped:U.grouping?1:0,_partitions:D},M=!K.isDate&&!K.isText&&!U.error&&U.tokens.some(ae=>ae.type==="string"&&(H?ae.value===H:Ce.test(ae.value)));let Q="G",q=ee>=0?Math.min(15,ee):"",ne="",ue="";if(W&&W.color&&(ue="-",K.color=1),U.parens&&(ne="()",K.parentheses=1),M)Q="C",K.type="currency";else if(U.error)K.type="error",K.maxDecimals=0;else if(K.isDate){let ae=0,Se=0,et="";U.tokens.forEach(I=>{const Ue=I.type;/^(b-)?year/.test(Ue)?(et+="Y",Se++):Ue.startsWith("month")?(et+="M",Se++):/^(week)?day/.test(Ue)?(et+="D",Se++):Ue!=="hour"&&Ue!=="min"&&Ue!=="sec"&&Ue!=="am"||(et+=Ue[0],ae++)}),K.type="date",Se&&ae?K.type="datetime":!Se&&ae&&(K.type="time");const Dt=$l.find(I=>et.startsWith(I[0]));Q=Dt?"D":"G",q=Dt?Dt[1]:""}else K.isText?(Q="G",K.type="text",q="",K.maxDecimals=0):U.general?(Q="G",K.type="general",q=""):U.fractions?(Q="G",K.type="fraction",q=""):U.exponential?(Q="S",K.type="scientific"):K.isPercent?(Q="P",K.type="percent"):U.grouping?(Q=",",K.type="grouped"):(U.int_max||ee)&&(Q="F",K.type="number");return K.code=Q+q+ue+ne,K.level=jl[K.type],Object.freeze(K)}(P,(p||{}).currency)||new SyntaxError;return O.info=V,O.dateInfo=function(D){const[$]=D;return{year:!!(2&$.date),month:!!(4&$.date),day:!!(8&$.date),hours:!!(16&$.date),minutes:!!(32&$.date),seconds:!!(64&$.date),clockType:$.clock===12?12:24}}(P),O.isPercent=()=>!!V.isPercent,O.isDate=()=>!!V.isDate,O.isText=()=>!!V.isText,O.pattern=E,R.error&&(O.error=R.error),O.options=T,O.locale=v||p&&p.locale||"",Object.freeze(O)}function me(R,p){R||(R="General");let E=null;return Nt[R]?E=Nt[R]:(E=Object.assign({},x(),p).throws?gi(R):function(P){try{return gi(P)}catch(v){const T={tokens:[{type:"error"}],error:v.message};return{pattern:P,partitions:[T,T,T,T],error:v.message,locale:null}}}(R),E.error||(Nt[R]=E)),Wl(E,p)}me.isDate=R=>me(R,{throws:!1}).isDate(),me.isPercent=R=>me(R,{throws:!1}).isPercent(),me.isText=R=>me(R,{throws:!1}).isText(),me.getInfo=(R,p)=>me(R,{...p,throws:!1}).info,me.getDateInfo=(R,p)=>me(R,{...p,throws:!1}).dateInfo,me.dateToSerial=Qr,me.dateFromSerial=_i,me.options=x,me.dec2frac=S,me.round=C,me.codeToLocale=n,me.parseLocale=u,me.getLocale=c,me.addLocale=(R,p)=>{const E=u(p);return delete Nt[E.lang],delete Nt[E.language],d(R,E)},me.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 me(R,v)(Qr(p,v),v)},me.is_date=me.isDate,me.parseNumber=Li,me.parseDate=Pi,me.parseTime=Ln,me.parseBool=wi,me.parseValue=function(R,p){var E,P,v;return(E=(P=(v=Li(R))!==null&&v!==void 0?v:Pi(R,p))!==null&&P!==void 0?P:Ln(R))!==null&&E!==void 0?E:wi(R)};var Gl=me;return t=t.default}()})})(as);var ua=as.exports,la=ua;const os=oa(la),ca=["$","£","¥","¤","֏","؋","৳","฿","៛","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"],fa={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 ha(r,s,e){var u,l;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=(l=n==null?void 0:n.n)==null?void 0:l.pattern;if(i==null||a==null)return s;const o=ma(i,a);return n.n.pattern=o,s}function ma(r,s){const e=gr(r),t=gr(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 gr(r){if(da(r))return 3;const s=os.getInfo(r).type||"unknown";return fa[s]}function da(r){return!!ca.find(s=>r.includes(s))&&r.startsWith("_(")}function pr(r,s,e){const t=gr(r),n=gr(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 Ir=class Ir extends Ze{static create(){return this._instance=this._instance||new Ir(0),this._instance}isNull(){return!0}plus(s){return b.create(0).plus(s)}minus(s){return b.create(0).minus(s)}multiply(s){return b.create(0).multiply(s)}divided(s){return b.create(0).divided(s)}mod(s){return b.create(0).mod(s)}compare(s,e){return s.isString()?_e.create("").compare(s,e):s.isBoolean()?Y.create(!1).compare(s,e):b.create(0).compare(s,e)}concatenateFront(s){return s.isArray()?s.concatenateBack(_e.create("")):_e.create(this.concatenate(s.getValue(),Me.FRONT))}concatenateBack(s){return s.isArray()?s.concatenateFront(_e.create("")):_e.create(this.concatenate(s.getValue(),Me.BACK))}plusBy(s){return b.create(0).plusBy(s)}minusBy(s){return b.create(0).minusBy(s)}multiplyBy(s){return b.create(0).multiplyBy(s)}dividedBy(s){return b.create(0).dividedBy(s)}compareBy(s,e){return typeof s=="string"?_e.create("").compareBy(s,e):typeof s=="boolean"?Y.create(!1).compareBy(s,e):b.create(0).compareBy(s,e)}pow(s){return b.create(0).pow(s)}sqrt(){return b.create(0).sqrt()}cbrt(){return b.create(0).cbrt()}cos(){return b.create(0).cos()}acos(){return b.create(0).acos()}acosh(){return b.create(0).acosh()}sin(){return b.create(0).sin()}asin(){return b.create(0).asin()}asinh(){return b.create(0).asinh()}tan(){return b.create(0).tan()}tanh(){return b.create(0).tanh()}atan(){return b.create(0).atan()}atan2(s){return b.create(0).atan2(s)}atanh(){return b.create(0).atanh()}log(){return m.create(h.NUM)}log10(){return m.create(h.NUM)}exp(){return b.create(0).exp()}abs(){return b.create(0).abs()}round(s){return b.create(0).round(s)}floor(s){return b.create(0).floor(s)}ceil(s){return b.create(0).ceil(s)}convertToNumberObjectValue(){return b.create(0)}convertToBooleanObjectValue(){return Y.create(!1)}};g(Ir,"_instance");let ce=Ir;const Ft=class Ft extends Ze{constructor(e){super(e);g(this,"_value",!1);this._value=e}static create(e){return e?(this._instanceTrue=this._instanceTrue||new Ft(!0),this._instanceTrue):(this._instanceFalse=this._instanceFalse||new Ft(!1),this._instanceFalse)}getValue(){return this._value}isBoolean(){return!0}getNegative(){const e=this.getValue();let t=0;return e&&(t=1),b.create(-t)}getReciprocal(){return this.getValue()?b.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),b.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 _r(this.getValue())}convertToBooleanObjectValue(){return this}};g(Ft,"_instanceTrue"),g(Ft,"_instanceFalse");let Y=Ft;const ga=2e5,us=new ht(ga);class b extends Ze{constructor(e){super(e);g(this,"_value",0);this._value=Number(e)}static create(e){const t=`${e}`,n=us.get(t);if(n)return n.setPattern(""),n;const i=new b(e);return us.set(t,i),i}getValue(){return this._value}setValue(e){this._value=e}isNumber(){return!0}getNegative(){return b.create(0).minus(this)}getReciprocal(){return b.create(1).divided(this)}plus(e){if(e.isArray())return e.plus(this);const t=this.plusBy(e.getValue());return t.isError()||t.setPattern(pr(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(pr(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(pr(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(pr(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=ss(t,n);return Number.isFinite(i)?b.create(i):m.create(h.NUM)}if(typeof n=="boolean"){const i=n?1:0;return i===0?m.create(h.DIV_BY_ZERO):b.create(ss(t,i))}return this}concatenateFront(e){return e.isArray()?e.concatenateBack(this):_e.create(this.concatenate(e.getValue(),Me.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):_e.create(this.concatenate(e.getValue(),Me.BACK))}compare(e,t){return e.isArray()?e.compare(this,es(t)):this.compareBy(e.getValue(),t)}plusBy(e){const t=this.getValue();if(typeof e=="string")return St.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=De(t).plus(e).toNumber();return Number.isFinite(n)?b.create(n):m.create(h.NUM)}return typeof e=="boolean"?b.create(De(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=De(t).minus(e).toNumber();return Number.isFinite(n)?b.create(n):m.create(h.NUM)}return typeof e=="boolean"?b.create(De(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=De(t).times(e).toNumber();return Number.isFinite(n)?b.create(n):m.create(h.NUM)}return typeof e=="boolean"?b.create(De(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=De(t).div(e).toNumber();return Number.isFinite(n)?b.create(n):m.create(h.NUM)}return typeof e=="boolean"?e===!1?m.create(h.DIV_BY_ZERO):b.create(De(t).div(1).toNumber()):this}compareBy(e,t){const n=this.getValue();let i=!1;return typeof e=="string"?i=this._compareString(t):typeof e=="number"?i=this._compareNumber(n,e,t):typeof e=="boolean"&&(i=this._compareBoolean(t)),Y.create(i)}_compareString(e){switch(e){case B.EQUALS:case B.GREATER_THAN:case B.GREATER_THAN_OR_EQUAL:return!1;case B.LESS_THAN:case B.LESS_THAN_OR_EQUAL:case B.NOT_EQUAL:return!0}}_compareNumber(e,t,n){return!Number.isFinite(e)||!Number.isFinite(t)?this._compareInfinity(e,t,n):this._compareFiniteNumber(e,t,n)}_compareFiniteNumber(e,t,n){switch(n){case B.EQUALS:return De(e).eq(t);case B.GREATER_THAN:return De(e).gt(t);case B.GREATER_THAN_OR_EQUAL:return De(e).gte(t);case B.LESS_THAN:return De(e).lt(t);case B.LESS_THAN_OR_EQUAL:return De(e).lte(t);case B.NOT_EQUAL:return!De(e).eq(t)}}_compareBoolean(e){switch(e){case B.EQUALS:case B.GREATER_THAN:case B.GREATER_THAN_OR_EQUAL:return!1;case B.LESS_THAN:case B.LESS_THAN_OR_EQUAL:case B.NOT_EQUAL:return!0}}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=is(t,n);return Number.isFinite(i)?b.create(i):m.create(h.NUM)}return typeof n=="boolean"?b.create(is(t,n?1:0)):this}sqrt(){const e=this.getValue();if(!Number.isFinite(e))return m.create(h.NUM);const t=De(e).sqrt().toNumber();return Number.isFinite(t)?b.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)?b.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)?b.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):b.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):b.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)?b.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):b.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):b.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)?b.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)?b.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)?b.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)?b.create(i):m.create(h.NUM)}return typeof n=="boolean"?b.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)?b.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)?b.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)?b.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)?b.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)?b.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=ts(t,n);return Number.isFinite(i)?b.create(i):m.create(h.NUM)}return typeof n=="boolean"?b.create(ts(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=rs(t,n);return Number.isFinite(i)?b.create(i):m.create(h.NUM)}return typeof n=="boolean"?b.create(rs(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=ns(t,n);return Number.isFinite(i)?b.create(i):m.create(h.NUM)}return typeof n=="boolean"?b.create(ns(t,n?1:0)):this}convertToNumberObjectValue(){return this}convertToBooleanObjectValue(){return Rr(!0)}_compareInfinity(e,t,n){let i=!1;switch(n){case B.EQUALS:i=e===t;break;case B.GREATER_THAN:i=e>t;break;case B.GREATER_THAN_OR_EQUAL:i=e>=t;break;case B.LESS_THAN:i=e<t;break;case B.LESS_THAN_OR_EQUAL:i=e<=t;break;case B.NOT_EQUAL:i=e!==t;break}return i}}const pa=2e5,ls=new ht(pa);class _e extends Ze{constructor(e){super(e);g(this,"_value");this._value=e}static create(e){const t=ls.get(e);if(t)return t;const n=new _e(e);return ls.set(e,n),n}getValue(){return this._value}isString(){return!0}concatenateFront(e){return e.isArray()?e.concatenateBack(this):_e.create(this.concatenate(e.getValue(),Me.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):_e.create(this.concatenate(e.getValue(),Me.BACK))}compare(e,t,n){return e.isArray()?e.compare(this,es(t),n):this.compareBy(e.getValue(),t,n)}compareBy(e,t,n=!1){let i=this.getValue(),a=!1;if(typeof e=="string"){if(n||(i=i.toLocaleLowerCase(),e=e.toLocaleLowerCase()),Xi(e))return this._checkWildcard(e,t);a=this._compareString(i,e,t)}else typeof e=="number"?a=this._compareNumber(t):typeof e=="boolean"&&(a=this._compareBoolean(t));return Y.create(a)}_compareString(e,t,n){switch(n){case B.EQUALS:return e===t;case B.GREATER_THAN:return e>t;case B.GREATER_THAN_OR_EQUAL:return e>=t;case B.LESS_THAN:return e<t;case B.LESS_THAN_OR_EQUAL:return e<=t;case B.NOT_EQUAL:return e!==t}}_compareNumber(e){switch(e){case B.NOT_EQUAL:case B.GREATER_THAN:case B.GREATER_THAN_OR_EQUAL:return!0;case B.EQUALS:case B.LESS_THAN:case B.LESS_THAN_OR_EQUAL:return!1}}_compareBoolean(e){switch(e){case B.EQUALS:case B.GREATER_THAN:case B.GREATER_THAN_OR_EQUAL:return!1;case B.LESS_THAN:case B.LESS_THAN_OR_EQUAL:case B.NOT_EQUAL:return!0}}convertToNumberObjectValue(){return _r(this.getValue())}convertToBooleanObjectValue(){return Y.create(!0)}_checkWildcard(e,t){const n=this.getValue().toLocaleLowerCase(),i=Ki(n,e,t);return Y.create(i)}}function Rr(r){if(typeof r=="boolean")return Y.create(r);let s=!1;if(typeof r=="string"){const e=r.toLocaleUpperCase();e===nt.TRUE?s=!0:e===nt.FALSE&&(s=!1)}else r===1?s=!0:s=!1;return Y.create(s)}function nn(r){let s=r.toString();return s.charAt(0)==='"'&&s.charAt(s.length-1)==='"'&&(s=s.slice(1,-1),s=s.replace(/""/g,'"')),_e.create(s)}function _r(r){if(typeof r=="boolean"){let s=0;return r&&(s=1),b.create(s)}else{if(typeof r=="number")return Number.isFinite(r)?b.create(r):m.create(h.NUM);if(y.isRealNum(r))return b.create(Number(r))}return m.create(h.VALUE)}function Ra(r){return""}function cs(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]=it.create(i)}}return s}function _a(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 ye extends Ze{constructor(e){super(typeof e=="string"?e:Ra());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 ye(e)}static createByArray(e){const n={calculateValueList:cs(e),rowCount:e.length,columnCount:e[0].length||0,unitId:"",sheetId:"",row:-1,column:-1};return new ye(n)}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 l=t;l<=n;l++)for(let c=i;c<=a;c++)if(e(((u=o[l])==null?void 0:u[c])||this._defaultValue,l,c)===!1)return}iteratorReverse(e){var u;const{startRow:t,endRow:n,startColumn:i,endColumn:a}=this.getRangePosition(),o=this.getArrayValue();for(let l=n;l>=t;l--)for(let c=a;c>=i;c--)if(e(((u=o[l])==null?void 0:u[c])||this._defaultValue,l,c)===!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||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(),n=e.getColumnCount();if(t!==this._rowCount||n!==this._columnCount)return[[ce.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 l=this.get(a,o);i[0].push(l)}}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 l=0;l<this._columnCount;l++){const c=this.get(u,l);if(c==null||c.isError()||c.isNull()){a++;continue}c.isString()?(e.push(c),n.push(a++)):(t.push(c),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,l=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,l=t[2]||1),n>=this._rowCount||o>=this._columnCount)return;const c=`${n}_${i}_${a}_${o}_${u}_${l}`,f=this._sliceCache.get(c);if(f!=null)return f;const d=[],_=this._values;let C=0,S=0;for(let F=n;F<i;F+=a){S=0,d[C]==null&&(d[C]=[]);for(let z=o;z<u;z+=l){if(!_[F])return;let re=_[F][z]||this._defaultValue;re==null&&(re=ce.create()),d[C][S]=re,S++}C++}if(d.length===0||d[0].length===0)return;const A=a>1?-1:n+this._currentRow,w=l>1?-1:o+this._currentColumn,x=this._createNewArray(d,d.length,d[0].length,A,w);return x.setDefaultValue(this._defaultValue),this._sliceCache.set(c,x),x}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=xe.MIN,n=!1,i=!1){let a,o,u,l;const c=(f,d,_)=>{if(f==null)return!0;let C;if(i===!0?C=f.compare(e,B.EQUALS):C=f.isEqual(e),(C==null?void 0:C.getValue())===!0)return a=f,u={row:d,column:_},!1;t===xe.MAX?f.isGreaterThan(e).getValue()===!0&&(o==null||f.minus(e).abs().isLessThanOrEqual(o.minus(e).abs()).getValue()===!0)&&(o=f,l={row:d,column:_}):t===xe.MIN&&f.isLessThan(e).getValue()===!0&&(o==null||f.minus(e).abs().isLessThanOrEqual(o.minus(e).abs()).getValue()===!0)&&(o=f,l={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 S=this._values[_][C];c(S,_,C)}}else this.iterator((f,d,_)=>{c(f,d,_)});if(a!=null)return u;if(o!=null)return l}binarySearch(e,t=Ne.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=Ne.MIN){const a=Gn(),o=e.getValue().toString().toLocaleLowerCase();let u=0,l=t.length-1,c=null;for(;u<=l;){const f=Math.floor((u+l)/2),d=t[f];let _=0;if(d.isNull())_=1;else{const C=d.getValue();_=a(C.toString().toLocaleLowerCase(),o)}if(_===0)return n[f];_===-1?(u=f+1,i===Ne.MIN&&(c=f)):(l=f-1,i===Ne.MAX&&(c=f))}if(c!=null)return n[c]}sum(){let e=b.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=b.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=b.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=b.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=b.create(0);return this.iterator(t=>{if(t==null||t.isNull())return!0;e=e.plusBy(1)}),e}countBlank(){let e=b.create(0);return this.iterator(t=>{if(t!=null&&!t.isNull())return!0;e=e.plusBy(1)}),e}getNegative(){return ye.create("{0}").minus(this)}getReciprocal(){return ye.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,n){return this._batchOperator(e,5,t,n)}concatenateFront(e){return this._batchOperator(e,6)}concatenateBack(e){return this._batchOperator(e,7)}map(e){const t=(n,i,a)=>n==null?ce.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 l=0;l<n;l++){const c=(a=this._values)==null?void 0:a[o];if(c==null)u[l]=m.create(h.VALUE);else{const f=c[l]||this._defaultValue;f?u[l]=e(f,o,l):u[l]=ce.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)||ce.create();if(t.sortByRow(0),n%2===0){const i=t.get(0,n/2)||ce.create(),a=t.get(0,n/2-1)||ce.create();return i.plus(a).divided(b.create(2))}return t.get(0,(n-1)/2)||ce.create()}var(e=0){const t=this.mean(),n=[[]];this.iterator(c=>{if(c==null||c.isError()||c.isString()||c.isBoolean()||c.isNull())return;const f=c.minus(t).pow(b.create(2));f.isError()||n[0].push(f)});const{_unitId:i,_sheetId:a,_currentRow:o,_currentColumn:u}=this;return ye.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 _a(this._values)}_clearCache(){this._flattenCache=null,this._sliceCache.clear()}_sort(e){const t=Gn();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,i){const a=[];let o=this._rowCount,u=this._columnCount;if(e.isArray()){const f=e.getRowCount(),d=e.getColumnCount();if(o=Math.max(f,o),u=Math.max(d,u),f===1&&d===1){const _=e.getFirstCell();for(let C=0;C<u;C++)a.push(_)}else if(f===1&&this._columnCount>1){const _=e.getArrayValue();for(let C=0;C<u;C++)a.push(_[0][C])}else return this._batchOperatorArray(e,t,n,i)}else for(let f=0;f<u;f++)a.push(e);const l=[];for(let f=0;f<u;f++){const d=a[f];this._batchOperatorValue(d,f,l,t,n,i)}const c=this._createNewArray(l,o,u);return c.setDefaultValue(Y.create(!1)),c}_batchOperatorValue(e,t,n,i,a,o){var C,S;const u=this._rowCount;let l=!1;const c=this.getUnitId(),f=this.getSheetId(),d=this.getCurrentRow(),_=this.getCurrentColumn();if(i===5&&(l=st.canUseCache(c,f,t+_,d,d+u-1),l===!0)){if(a===B.EQUALS){const A=st.getCellPositions(c,f,t+_,e.getValue());A!=null&&A.forEach(w=>{const x=w-d;n[x]==null&&(n[x]=[]),n[x][t]=Y.create(!0)})}else{const A=st.getCellValuePositions(c,f,t+_);A!=null&&A.forEach((w,x)=>{let F=ce.create();typeof x=="string"?F=_e.create(x):typeof x=="number"?F=b.create(x):typeof x=="boolean"&&(F=Y.create(x)),F.compare(e,a,o).getValue()===!0&&w.forEach(re=>{re>=d&&re<=d+u-1&&(n[re-d]==null&&(n[re-d]=[]),n[re-d][t]=Y.create(!0))})})}return}for(let A=0;A<u;A++){const w=(S=(C=this._values)==null?void 0:C[A])==null?void 0:S[t];if(n[A]==null&&(n[A]=[]),w&&e)if(w.isError())n[A][t]=w;else if(e.isError())n[A][t]=e;else switch(i){case 1:n[A][t]=w.plus(e);break;case 0:n[A][t]=w.minus(e);break;case 2:n[A][t]=w.multiply(e);break;case 3:n[A][t]=w.divided(e);break;case 4:n[A][t]=w.mod(e);break;case 5:a?n[A][t]=w.compare(e,a,o):n[A][t]=m.create(h.VALUE);break;case 6:n[A][t]=w.concatenateFront(e);break;case 7:n[A][t]=w.concatenateBack(e);break;case 8:n[A][t]=w.pow(e);break;case 9:n[A][t]=w.round(e);break;case 10:n[A][t]=w.floor(e);break;case 12:n[A][t]=w.atan2(e);break;case 11:n[A][t]=w.ceil(e);break}else n[A][t]=m.create(h.NA);w!=null&&(w.isError()?st.set(c,f,t+_,w.getErrorType(),A+d):w.isNull()?st.set(c,f,t+_,null,A+d):st.set(c,f,t+_,w.getValue(),A+d))}st.setContinueBuildingCache(c,f,t+_,d,d+u-1)}_batchOperatorArray(e,t,n,i){var d,_,C,S,A,w,x,F,z,re,pe,Ce;let a=e.getRowCount(),o=e.getColumnCount();a<this._rowCount&&(a=this._rowCount),o<this._columnCount&&(o=this._columnCount);const u=[],l=e.getArrayValue(),c=this._checkArrayCalculateType(this),f=this._checkArrayCalculateType(e);for(let ge=0;ge<a;ge++){const ie=[];for(let J=0;J<o;J++){let Z;c===3?Z=(_=(d=this._values)==null?void 0:d[0])==null?void 0:_[0]:c===1?Z=(S=(C=this._values)==null?void 0:C[0])==null?void 0:S[J]:c===2?Z=(w=(A=this._values)==null?void 0:A[ge])==null?void 0:w[0]:Z=(F=(x=this._values)==null?void 0:x[ge])==null?void 0:F[J];let fe;if(f===3?fe=(z=l==null?void 0:l[0])==null?void 0:z[0]:f===1?fe=(re=l==null?void 0:l[0])==null?void 0:re[J]:f===2?fe=(pe=l==null?void 0:l[ge])==null?void 0:pe[0]:fe=(Ce=l==null?void 0:l[ge])==null?void 0:Ce[J],Z&&fe)if(Z.isError())ie[J]=Z;else if(fe.isError())ie[J]=fe;else switch(t){case 1:ie[J]=Z.plus(fe);break;case 0:ie[J]=Z.minus(fe);break;case 2:ie[J]=Z.multiply(fe);break;case 3:ie[J]=Z.divided(fe);break;case 4:ie[J]=Z.mod(fe);break;case 5:n?ie[J]=Z.compare(fe,n,i):ie[J]=m.create(h.VALUE);break;case 6:ie[J]=Z.concatenateFront(fe);break;case 7:ie[J]=Z.concatenateBack(fe);break;case 8:ie[J]=Z.pow(fe);break;case 9:ie[J]=Z.round(fe);break;case 12:ie[J]=Z.atan2(fe);break;case 10:ie[J]=Z.floor(fe);break;case 11:ie[J]=Z.ceil(fe);break}else ie[J]=m.create(h.NA)}u.push(ie)}return this._createNewArray(u,a,o)}_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 l=t[o].split(","),c=l.length;a<c&&(a=c);const f=[];for(let d=0;d<c;d++){const _=l[d].trim();f.push(it.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 ye.create(o)}}class it{static create(s){if(s==null)return ce.create();if(typeof s=="boolean")return Y.create(s);if(typeof s=="string"){const e=s.toLocaleUpperCase().trim();return St.has(e)?m.create(e):e===nt.TRUE||e===nt.FALSE?Rr(s):y.isRealNum(s)?b.create(Number(s)):new RegExp(ji,"g").test(s.replace(/\n/g,"").replace(/\r/g,""))?ye.create(s.replace(/\n/g,"").replace(/\r/g,"")):nn(s)}return typeof s=="number"?_r(s):m.create(h.VALUE)}}function Ea(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 ya=1e5,sn=new ht(ya);class wt extends mr{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 l=t;l<=n;l++)for(let c=i;c<=a;c++){if(l<0||c<0)return e(m.create(h.REF),l,c);const f=this.getCellData(l,c);let d=!1;if(y.isNullCell(f)){d=e(null,l,c);continue}const _=this.getCellValueObject(f);if(l===t&&c===i){const C=this.getCellPattern(o,u,l,c);C&&_.setPattern(C)}if(d=e(_,l,c),d===!1)return}}getFirstCell(){const{startRow:e,startColumn:t}=this.getRangePosition(),n=this.getCellData(e,t);if(!n)return b.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=Ea(e);return St.has(t)?m.create(t):e.t===y.CellValueType.NUMBER?_r(t):e.t===y.CellValueType.STRING||e.t===y.CellValueType.FORCE_STRING?nn(t):e.t===y.CellValueType.BOOLEAN?Rr(t):it.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 l=u.getValue(e,t);if(l!=null)return l}}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 l,c,f,d;const a=this._unitStylesData[e];if(!a)return"";const o=(f=(c=(l=this._unitData[e])==null?void 0:l[t])==null?void 0:c.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 l=n-t+1,c=a-i+1;if(l<0||c<0)return this._getBlankArrayValueObject();const f=new Array(l);this.iterator((S,A,w)=>{const x=A-t,F=w-i;f[x]||(f[x]=new Array(c)),S==null&&(S=ce.create()),f[x][F]=S});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},_=ye.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 ye.create(e)}}class Ca extends mr{constructor(s){super(),this._promise=s}isAsyncObject(){return!0}async getValue(){return this._promise}}class fs extends mr{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 ye.create(e)}}class It extends wt{constructor(s,e,t){super(""),this.setRangeData(s),e&&this.setForcedSheetIdDirect(e),t&&this.setForcedUnitIdDirect(t)}isRange(){return!0}}const hs=/[\[\]]/g;function ms(r,s){if(hs.test(r)){const e=Number(r.replace(hs,""));return s+e}return Number(r)-1}function an(r,s=0,e=0){r=r.toLocaleUpperCase();const t=r.split(/[RC]/),n=t[1],i=t[2],a=ms(n,s),o=ms(i,e);return{row:a,column:o,absoluteRefType:y.AbsoluteRefType.NONE}}function ds(r,s=0,e=0){const{refBody:t,sheetName:n,unitId:i}=zn(r),a=t.indexOf(":");if(a===-1){const S=an(t,s,e),A=S.row,w=S.column,x=S.absoluteRefType;return{unitId:i,sheetName:n,range:{startRow:A,startColumn:w,endRow:A,endColumn:w,startAbsoluteRefType:x,endAbsoluteRefType:x}}}const o=t.substring(0,a),u=t.substring(a+1),l=an(o,s,e),c=an(u,s,e),f=l.row,d=l.column,_=c.row,C=c.column;return{unitId:i,sheetName:n,range:{startRow:f,startColumn:d,endRow:_,endColumn:C,startAbsoluteRefType:l.absoluteRefType,endAbsoluteRefType:c.absoluteRefType}}}function Da(r){const s=Er(r.startRow,r.startAbsoluteRefType,!0),e=Er(r.startColumn,r.startAbsoluteRefType,!1),t=Er(r.endRow,r.endAbsoluteRefType,!0),n=Er(r.endColumn,r.endAbsoluteRefType,!1);return s===t&&e===n?`R${s}C${e}`:`R${s}C${e}:R${t}C${n}`}function Er(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 gs=[];var ps=(r=>r)(ps||{});function ba(r){const s=r.getValue();let e=0;return s&&(e=1),b.create(e)}function Rs(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 Et(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 de(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 l=[];for(let c=0;c<s;c++)l.push(o);n.push(l)}}else if(i===1&&a>1)for(let o=0;o<r;o++){const u=[];for(let l=0;l<s;l++){const c=e.getRealValue(0,l)||(t!=null?t:ce.create());u.push(c)}n.push(u)}else if(a===1&&i>1)for(let o=0;o<r;o++){const u=[];for(let l=0;l<s;l++){const c=e.getRealValue(o,0)||(t!=null?t:ce.create());u.push(c)}n.push(u)}else for(let o=0;o<r;o++){const u=[];for(let l=0;l<s;l++){const c=e.getRealValue(o,l)||(t!=null?t:ce.create());u.push(c)}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 Yt(n,r,s)}function Yt(r,s,e,t="",n=""){const i={calculateValueList:r,rowCount:s,columnCount:e,unitId:t,sheetId:n,row:-1,column:-1};return ye.create(i)}class on extends wt{constructor(s){super(s);const e=$e(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 It(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 un extends wt{constructor(s){super(s);const e=$e(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()}${G.COLON}${e.getToken()}`),this}}class ln extends wt{constructor(s){super(s);const e=$e(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()}${G.COLON}${e.getToken()}`),this}}class j 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)||ce.create():o=n.get(a,0)||ce.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,B.EQUALS));return i?this._getOneFirstByRaw(a):this._getOneLastByRaw(a)}orderSearch(e,t,n,i=xe.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)||ce.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,B.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=xe.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 Yt(n,1,n[0].length)}_includingLogicalValuesAndText(e){if(e.isBoolean()&&(e=ba(e)),e.isString()){const t=Number(e.getValue());e=b.create(Number.isNaN(t)?0:t)}return e}createReferenceObject(e,t){const n=e.getForcedUnitId(),i=e.getForcedSheetId()||"",a=e.getForcedSheetName(),u=mt({unitId:n,sheetName:a,range:t});let l;return new RegExp(kt).test(u)?l=new on(u):new RegExp(Tn).test(u)?l=new un(u):new RegExp(kn).test(u)?l=new ln(u):l=new It(t,i,n),this._setReferenceDefault(e,l)}_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 _s extends j{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 Es extends j{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 ys extends j{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 Cs extends j{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 xt=(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))(xt||{});const Ds=[[Es,xt.STDEV],[_s,xt.STDEVP],[Cs,xt.VAR],[ys,xt.VARP]],bs=[];var Ss=(r=>(r.CUBEKPIMEMBER="CUBEKPIMEMBER",r.CUBEMEMBER="CUBEMEMBER",r.CUBEMEMBERPROPERTY="CUBEMEMBERPROPERTY",r.CUBERANKEDMEMBER="CUBERANKEDMEMBER",r.CUBESET="CUBESET",r.CUBESETCOUNT="CUBESETCOUNT",r.CUBEVALUE="CUBEVALUE",r))(Ss||{});const As=[];var Ls=(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))(Ls||{});const cn="yyyy/mm/dd;@";function fn(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 yr(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 hn(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(l=>l.padStart(2,"0")).join("-")===o}class Sa extends j{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=de(i,a,e),u=de(i,a,t),l=de(i,a,n);return o.map((c,f,d)=>{const _=u.get(f,d)||ce.create(),C=l.get(f,d)||ce.create();if(c.isError())return c;if(_.isError())return _;if(C.isError())return C;if(c.isString()||_.isString()||C.isString())return m.create(h.VALUE);let S=+c.getValue();const A=Math.floor(+_.getValue()),w=+C.getValue();if(S<0||S>9999)return m.create(h.NUM);S>=0&&S<1899&&(S+=1900);const x=new Date(S,A-1,w),F=fn(x);if(F<0)return m.create(h.NUM);const z=b.create(F);return z.setPattern(cn),z})}}class Aa extends j{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(!hn(`${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 b.create(0);t=yr(o)}const i=t.getDate();return b.create(i)}}class La extends j{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=de(n,i,e),o=de(n,i,t);return a.map((u,l,c)=>{const f=o.get(l,c)||ce.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=yr(d),S=C.getUTCFullYear(),A=C.getUTCMonth()+_,w=C.getUTCDate(),x=new Date(Date.UTC(S,A,w)),F=fn(x),z=b.create(F);return z.setPattern(cn),z})}}var at=(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))(at||{});class Pa extends j{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(!hn(`${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 b.create(1);t=yr(o)}const i=t.getUTCMonth()+1;return b.create(i)}}class wa extends j{constructor(){super(...arguments);g(this,"minParams",0);g(this,"maxParams",0)}calculate(e){const t=fn(new Date),n=b.create(t);return n.setPattern(cn),n}}class xa extends j{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(!hn(`${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 b.create(1900);t=yr(o)}const i=t.getUTCFullYear();return b.create(i)}}const Ps=[[Sa,at.DATE],[Aa,at.DAY],[La,at.EDATE],[Pa,at.MONTH],[wa,at.TODAY],[xa,at.YEAR]],ws=[];var xs=(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))(xs||{});const Vs=[];var vs=(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))(vs||{}),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 Va extends j{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 va extends j{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 Oa extends j{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 Fa extends j{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 Ua extends j{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 Ma extends j{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 Ba extends j{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 Ta extends j{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 ka extends j{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 ja extends j{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 $a extends j{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 Os=[[Va,ve.ISBLANK],[va,ve.ISERR],[Fa,ve.ISEVEN],[ka,ve.ISODD],[Oa,ve.ISERROR],[Ua,ve.ISLOGICAL],[Ma,ve.ISNA],[Ba,ve.ISNONTEXT],[Ta,ve.ISNUMBER],[ja,ve.ISREF],[$a,ve.ISTEXT]];class Ia extends j{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 ot=(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))(ot||{});class Ya extends j{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=de(i,a,e),u=de(i,a,t,m.create(h.NA)),l=de(i,a,n,m.create(h.NA));return o.map((c,f,d)=>{if(c.isNull())return m.create(h.NA);{const _=u.get(f,d)||ce.create(),C=l.get(f,d)||ce.create();return this._calculateSingleCell(c,_,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 Qa extends j{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=de(n,i,e),o=de(n,i,t);return a.iterator((u,l,c)=>{u!=null&&u.isError()&&a.set(l,c,o.get(l,c))}),a}}class za extends j{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){return m.create(h.VALUE)}}class Ha extends j{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 l=i.execute(b.create(o+1),b.create(u+1));a[o][u]=l}}return new fs(a)}isAsync(){return!0}}class Wa extends j{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 Fs=[[Ia,ot.AND],[Ya,ot.IF],[za,ot.LAMBDA],[Ha,ot.MAKEARRAY],[Wa,ot.OR],[Qa,ot.IFERROR]];class Ga extends j{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 l=n?Xa(n.getValue()):y.AbsoluteRefType.ALL,c=this.getZeroOrOneByOneDefault(i),f=a?`${a.getValue()}`:"",d=fr(f)?`'${f}'`:f,_={startRow:o,startColumn:u,endRow:o,endColumn:u,startAbsoluteRefType:l,endAbsoluteRefType:l},C=i&&!c?Da(_):qe(_);return _e.create(d!==""?`${d}!${C}`:C)}}function Xa(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 Ka extends j{constructor(){super(...arguments);g(this,"minParams",0);g(this,"maxParams",1)}calculate(e){if(e==null)return b.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(b.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 ye.create(a)}}class qa extends j{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 b.create(1);if(!e.isArray())return m.create(h.NA);const t=e.getColumnCount();return b.create(t)}}var Le=(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))(Le||{});class Na extends j{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]),l=t.slice([o-1,o]);return u==null||l==null?m.create(h.REF):e.isArray()?e.map(c=>this._handleSingleObject(c,u,l,a)):this._handleSingleObject(e,u,l,a)}_handleSingleObject(e,t,n,i){return i===0?this.equalSearch(e,t,n):this.binarySearch(e,t,n)}}class Za extends j{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=ds(i),{range:d,sheetName:_,unitId:C}=f,S=new It(d);return S.setForcedUnitIdDirect(C),S.setForcedSheetName(_),this._setDefault(S)}if(new RegExp(kt).test(i))return this._setDefault(new on(i));if(new RegExp(Mn).test(i))return this._setDefault(new un(i));if(new RegExp(Bn).test(i))return this._setDefault(new ln(i));const a=$e(i),{range:o,sheetName:u,unitId:l}=a,c=new It(o);return c.setForcedUnitIdDirect(l),c.setForcedSheetName(u),this._setDefault(c)}_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 Ja extends j{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 eo extends j{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 b.create(o)}_getSearchModeValue(e){switch(e){case 1:return xe.MIN;case 0:return xe.NORMAL;case-1:return xe.MAX}}}class to extends j{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=b.create(o),a?a.isReferenceObject()&&(a=a.toArrayValueObject()):a=b.create(u);const l=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,i.isArray()?i.getRowCount():1,a.isArray()?a.getRowCount():1),c=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,l===1&&c===1)return this._handleSingleObject(e,t,n,i,a);const f=de(l,c,t,m.create(h.NA)),d=de(l,c,n,m.create(h.NA)),_=de(l,c,i,m.create(h.NA)),C=de(l,c,a,m.create(h.NA));return f.mapValue((S,A,w)=>{const x=d.get(A,w),F=_.get(A,w),z=C.get(A,w);return S.isError()?S:x.isError()?x:F.isError()?F:z.isError()?z:this._handleSingleObject(e,S,x,F,z,!0)})}_handleSingleObject(e,t,n,i,a,o=!1){const{startRow:u,startColumn:l}=e.getRangeData(),c=this.getIndexNumValue(t),f=this.getIndexNumValue(n);if(typeof c!="number"||typeof f!="number")return m.create(h.VALUE);const d=u+c,_=l+f;if(d<0||_<0)return m.create(h.REF);const C=this.getIndexNumValue(i),S=this.getIndexNumValue(a);if(typeof C!="number"||typeof S!="number")return m.create(h.VALUE);if(C===0||S===0)return m.create(h.REF);const A=C>0?d+C-1:d+C+1,w=S>0?_+S-1:_+S+1;if(A<0||w<0)return m.create(h.REF);if(o)return m.create(h.VALUE);const x=d<A?d:A,F=_<w?_:w,z=d>A?d:A,re=_>w?_:w,pe={startRow:x,startColumn:F,endRow:z,endColumn:re};return this.createReferenceObject(e,pe)}}class ro extends j{constructor(){super(...arguments);g(this,"minParams",0);g(this,"maxParams",1)}calculate(e){if(e==null)return b.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([b.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 ye.create(a)}}class no extends j{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 b.create(1);if(!e.isArray())return m.create(h.NA);const t=e.getRowCount();return b.create(t)}}class so extends j{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",4)}calculate(e,t,n,i){return e.isError()?e:t.isError()?m.create(h.REF):t.isArray()?n.isError()||i!=null&&i.isError()?m.create(h.NA):(i=i!=null?i:Y.create(!0),Rs(e)&&Rs(i)&&n.isArray()?this._handleArrayColIndexNum(e,t,n,i):this._handleNonArrayColIndexNum(e,t,n,i)):m.create(h.VALUE)}_handleArrayColIndexNum(e,t,n,i){e=e.isArray()?e.getFirstCell():e;const a=this.getZeroOrOneByOneDefault(i);if(a==null)return m.create(h.VALUE);let o;const u=[];return n.iterator((l,c,f)=>{if(l==null)return o=m.create(h.VALUE),!1;const d=this._handleTableArray(e,t,l,a);if(d.isError())return o=d,!1;u[c]===void 0&&(u[c]=[]),u[c][f]=d}),o||Yt(u,u.length,u[0].length,this.unitId||"",this.subUnitId||"")}_handleNonArrayColIndexNum(e,t,n,i){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=de(a,o,e),l=de(a,o,i);return u.map((c,f,d)=>{if(c.isError())return c;const _=l.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(c,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 io extends j{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(),l=t.getColumnCount();if(u!==1&&l!==1)return m.create(h.VALUE);if(n.isError())return m.create(h.REF);if(!n.isArray())return m.create(h.VALUE);const c=n.getRowCount(),f=n.getColumnCount();if(u!==c&&l!==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||b.create(0));if(d instanceof m)return d;const _=this.getIndexNumValue(o||b.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(w=>{const x=this._handleSingleObject(w,t,A,d,_);return x.isError()?i:x})}if(l===f&&u===c){const A=this._handleSingleObject(e,t,n,d,_);return A.isError()?i:A}let C=0;l===f&&(C=1);const S=this._handleExpandObject(e,t,n,d,_,C);return S==null?m.create(h.NA):S}_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?xe.MAX:xe.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?xe.MAX:xe.MIN,a===-1):this.equalSearch(e,t,n,a!==-1)}_getSearchModeValue(e){return e===-2?Ne.MAX:Ne.MIN}}class ao extends j{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||b.create(0));if(u instanceof m)return u;const l=this.getIndexNumValue(i||b.create(1));return l instanceof m?l:e.isArray()?e.map(c=>this._handleSingleObject(c,t,u,l)):this._handleSingleObject(e,t,u,l)}_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,B.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?xe.MAX:xe.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):b.create(a+1)}_getSearchModeValue(e){return e===-2?Ne.MAX:Ne.MIN}}class oo extends j{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:c,endRow:f,startColumn:d,endColumn:_}=e.getRangeData();a=f-c+1,o=_-d+1}else return m.create(h.VALUE);a===1&&o>1&&n==null?(n=t!=null?t:b.create(0),t=b.create(0)):(t=t!=null?t:b.create(0),n=n!=null?n:b.create(0)),i=i!=null?i:b.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),l=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&&l===1)return this._calculateSingleCell(e,t,n,i);{const c=de(u,l,t,m.create(h.NA)),f=de(u,l,n,m.create(h.NA)),d=de(u,l,i,m.create(h.NA));return c.map((_,C,S)=>{const A=f.get(C,S)||ce.create(),w=d.get(C,S)||ce.create(),x=this._calculateSingleCell(e,_,A,w);return x.isReferenceObject()?x.toArrayValueObject().getFirstCell():x})}}_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:l}=e.getRangeData();let c=0,f=0,d=0,_=0;if(t===0?(c=a,f=o):c=f=a+t-1,n===0?(d=u,_=l):d=_=u+n-1,c>o||d>l)return m.create(h.REF);const C={startRow:c,startColumn:d,endRow:f,endColumn:_};return this.createReferenceObject(e,C)}}const Us=[[Ga,Le.ADDRESS],[Ka,Le.COLUMN],[qa,Le.COLUMNS],[oo,Le.INDEX],[Za,Le.INDIRECT],[to,Le.OFFSET],[ro,Le.ROW],[no,Le.ROWS],[so,Le.VLOOKUP],[Ja,Le.LOOKUP],[eo,Le.MATCH],[Na,Le.HLOOKUP],[io,Le.XLOOKUP],[ao,Le.XMATCH]];class uo extends j{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 lo extends j{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 co extends j{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 fo extends j{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:Ms(t)):Ms(e)}}function Ms(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):b.create(e)}var Ve=(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))(Ve||{});class ho extends j{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 mo extends j{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 go extends j{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=b.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=b.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 po extends j{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)}),Yt(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=b.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,l)=>{if(e&&this._isRowHidden(o,l)||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)?b.create(0):n.max()}_min(e,...t){const n=this._flattenRefArray(e,...t);return n.isError()?n:this._isBlankArrayObject(n)?b.create(0):n.min()}_product(e,...t){const n=this._flattenRefArray(e,...t);if(n.isError())return n;if(this._isBlankArrayObject(n))return b.create(0);let i=b.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((l,c)=>{if(e&&this._isRowHidden(o,c)||l==null||l.isNull()||l.isString()||l.isBoolean())return!0;if(l.isError())return u=l,!1;n[0].push(l)}),u!=null&&u.isError())return u}return Yt(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 Ro extends j{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=b.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 _o(r){const s=[B.EQUALS,B.NOT_EQUAL,B.GREATER_THAN_OR_EQUAL,B.GREATER_THAN,B.LESS_THAN_OR_EQUAL,B.LESS_THAN];for(const e of s)if(r.startsWith(e)){const t=r.substring(e.length);return[e,it.create(t)]}return[B.EQUALS,it.create(r)]}function mn(r,s,e,t){if(!e)if(s.isString()){const n=`${s.getValue()}`,[i,a]=_o(n);e=i,s=a}else e=B.EQUALS;return r.compare(s,e,t)}function Bs(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=de(e,t,r),i=de(e,t,s);return n.mapValue((a,o,u)=>{const l=i.get(o,u);return a!=null&&a.isError()?a:l!=null&&l.isError()?l:a!=null&&a.isBoolean()&&(l!=null&&l.isBoolean())?Rr(a.getValue()&&l.getValue()):Y.create(!1)})}class Eo extends j{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=mn(e,t),a=n?n.slice([0,e.getRowCount()],[0,e.getColumnCount()]):e;return a?a.pick(i).sum():m.create(h.VALUE)}}class yo extends j{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 de(a,o,m.create(h.NA));const S=t[f+1];de(a,o,S,m.create(h.NA)).iterator((w,x,F)=>{if(!w)return;const z=mn(d,w);if(u[x]===void 0&&(u[x]=[]),u[x][F]===void 0){u[x][F]=z;return}u[x][F]=Bs(u[x][F],z)})}const l=u.map(f=>f.map(d=>e.pick(d).sum())),c={calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return ye.create(c)}}const Ts=[[uo,Ve.ABS],[lo,Ve.ACOS],[co,Ve.ACOSH],[fo,Ve.ACOT],[ho,Ve.MOD],[po,Ve.SUBTOTAL],[Ro,Ve.SUM],[Eo,Ve.SUMIF],[yo,Ve.SUMIFS],[mo,Ve.POWER],[go,Ve.PRODUCT]];class Co extends j{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",2);g(this,"_compareType",B.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("");g(this,"_values",[]);this._values=e}static create(e){return new dn(e)}isCube(){return!0}sum(){const e=b.create(0);return this._values.forEach(t=>{e.plus(t.sum())}),e}max(){let e=b.create(Number.NEGATIVE_INFINITY);return this._values.forEach(t=>{const n=t.max();e.isLessThan(n)&&(e=n)}),e}min(){let e=b.create(Number.POSITIVE_INFINITY);return this._values.forEach(t=>{const n=t.max();e.isGreaterThan(n)&&(e=n)}),e}count(){const e=b.create(0);return this._values.forEach(t=>{e.plus(t.count())}),e}countA(){const e=b.create(0);return this._values.forEach(t=>{e.plus(t.countA())}),e}countBlank(){const e=b.create(0);return this._values.forEach(t=>{e.plus(t.countBlank())}),e}}class Do extends j{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 dn.create(t)}}class bo extends j{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 Pe=(r=>(r.COMPARE="COMPARE",r.DIVIDED="DIVIDED",r.MINUS="MINUS",r.MULTIPLY="MULTIPLY",r.PLUS="PLUS",r.UNION="UNION",r.CUBE="CUBE",r))(Pe||{});class So extends j{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 Ao extends j{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 Lo extends j{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 ks=[[Co,Pe.COMPARE],[bo,Pe.DIVIDED],[So,Pe.MINUS],[Ao,Pe.MULTIPLY],[Lo,Pe.PLUS],[Do,Pe.CUBE]];class Po extends j{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=b.create(0),n=b.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(b.create(1)))}return t.divided(n)}}class wo extends j{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=b.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(b.create(1))):i.isNull()||(t=t.plus(b.create(1))))}return t}}class xo extends j{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=b.create(0);for(let n=0;n<e.length;n++){let i=e[n];if(i.isError()){t=t.plus(b.create(1));continue}i.isArray()?(i=i.countA(),t=t.plus(i)):i.isNull()||(t=t.plus(b.create(1)))}return t}}var Ae=(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))(Ae||{});class Vo extends j{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=b.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?b.create(0):t}_validator(e,t){return e.isLessThan(t).getValue()&&(e=t),e}}class js extends j{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=b.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?b.create(0):t}_validator(e,t){return e.isGreaterThan(t).getValue()&&(e=t),e}}class vo extends j{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 Oo extends j{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 Fo extends j{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 Uo extends j{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 Mo extends j{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 de(a,o,m.create(h.NA));const S=t[f+1];de(a,o,S,m.create(h.NA)).iterator((w,x,F)=>{if(!w)return;const z=mn(d,w);u[x]===void 0&&(u[x]=[]),u[x][F]===void 0&&(u[x][F]=z),u[x][F]=Bs(u[x][F],z)})}const l=u.map(f=>f.map(d=>{const _=e.pick(d);return _.getColumnCount()===0?ye.create("0"):_.max()})),c={calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return ye.create(c)}}const $s=[[Po,Ae.AVERAGE],[wo,Ae.COUNT],[Vo,Ae.MAX],[js,Ae.MIN],[js,Ae.MIN],[xo,Ae.COUNTA],[_s,Ae.STDEV_P],[Es,Ae.STDEV_S],[vo,Ae.STDEVA],[Oo,Ae.STDEVPA],[ys,Ae.VAR_P],[Cs,Ae.VAR_S],[Fo,Ae.VARA],[Uo,Ae.VARPA],[Mo,Ae.MAXIFS]];class Bo extends j{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=de(t,n,a,m.create(h.NA)).mapValue((u,l,c)=>{var C,S;const f=i&&i.get(l,c);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()?"":(S=u==null?void 0:u.getValue())!=null?S:"";return nn(`${d}${_}`)});return i||m.create(h.VALUE)}}var ut=(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))(ut||{});class To extends j{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 b.create(0);if(e.isString()||e.isBoolean()||e.isNumber()){const t=e.getValue().toString();return b.create(t.length)}return m.create(h.VALUE)}}function ko(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 jo extends j{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 b.create(0);if(e.isString()||e.isBoolean()||e.isNumber()){const t=e.getValue().toString(),n=ko(t);return b.create(n)}return m.create(h.VALUE)}}const $o=(r,s)=>os.format(r,s);class Io extends j{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=de(n,i,e),o=de(n,i,t);return a.map((u,l,c)=>{if(u.isError()||u.isString()||u.isBoolean())return u;let f=o.get(l,c)||_e.create(" ");if(f.isError())return f;if(f.isBoolean())return m.create(h.VALUE);f.isNull()&&(f=_e.create(" "));const d=`${f.getValue()}`;u.isNull()&&(u=b.create(0));const _=u.getValue(),C=$o(d,_);return _e.create(C)})}}class Yo extends j{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 _e.create("");if(e.isString()||e.isBoolean()||e.isNumber()){const t=e.getValue().toString().toLowerCase();return _e.create(t)}return m.create(h.VALUE)}}const Is=[[Bo,ut.CONCATENATE],[To,ut.LEN],[jo,ut.LENB],[Io,ut.TEXT],[Yo,ut.LOWER]],Ys=[];var Qs=(r=>r)(Qs||{});const zs=[];var Hs=(r=>(r.ENCODEURL="ENCODEURL",r.FILTERXML="FILTERXML",r.WEBSERVICE="WEBSERVICE",r))(Hs||{});function Qo(r,s,e,t,n,i,a){const o=(a==null?void 0:a.f)||"",u=(a==null?void 0:a.si)||"",l=y.isFormulaString(o),c=y.isFormulaId(u);if(l&&c)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(l&&!c)r.setValue(n,i,{f:o}),s.setValue(n,i,{f:o});else if(!l&&c)r.setValue(n,i,{f:"",si:u});else if(!l&&!c&&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 zo(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 l=i;l<=o;l++)for(let c=a;c<=u;c++)s.realDeleteValue(l,c)}var Ho=Object.defineProperty,Wo=Object.getOwnPropertyDescriptor,Go=(r,s,e,t)=>{for(var n=t>1?void 0:t?Wo(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&&Ho(s,e,n),n},Ws=(r,s)=>(e,t)=>s(e,t,r);L.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 l,c,f,d;const a=n[i],o=(c=(l=this._arrayFormulaRange)==null?void 0:l[t])==null?void 0:c[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 z;const S=(z=o==null?void 0:o[_])==null?void 0:z[C];if(S==null)return!0;const{startRow:A,startColumn:w,endRow:x,endColumn:F}=S;for(let re=A;re<=x;re++)for(let pe=w;pe<=F;pe++)u.setValue(re,pe,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 l,c;const a=n[i],o=new y.ObjectMatrix((l=this._arrayFormulaRange[t])==null?void 0:l[i]),u=new y.ObjectMatrix((c=this._arrayFormulaCellData[t])==null?void 0:c[i]);a.forValue((f,d)=>{const _=o==null?void 0:o.getValue(f,d);if(_==null)return!0;const{startRow:C,startColumn:S,endRow:A,endColumn:w}=_;for(let x=C;x<=A;x++)for(let F=S;F<=w;F++)u.setValue(x,F,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((l,c,f)=>{o.setValue(l,c,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 l,c;const a=n[i];if(a===void 0)return;if(a===null){(l=this._formulaData[t])==null||delete l[i];return}const o=new y.ObjectMatrix(a),u=new y.ObjectMatrix(((c=this._formulaData[t])==null?void 0:c[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();Gs(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={},l={};for(const c of o){const f=c.getSheetId(),d=c.getConfig();u[f]={cellData:new y.ObjectMatrix(d.cellData),rowCount:d.rowCount,columnCount:d.columnCount,rowData:d.rowData,columnData:d.columnData},l[c.getName()]=c.getSheetId()}t[a]=u,n[a]=l}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 l=u[e];l[t]==null&&(l[t]={});const c=new y.ObjectMatrix(l[t]||{}),f=new y.ObjectMatrix;return i.forValue((d,_,C)=>{Qo(c,f,a,o,d,_,C)}),c.forValue((d,_,C)=>{const S=(C==null?void 0:C.f)||"",A=(C==null?void 0:C.si)||"";if(y.isFormulaId(A)){const w=a.get(A),x=o.get(A);if(w&&!y.isFormulaString(S)){const F=w.f,z=_-w.c,re=d-w.r;c.setValue(d,_,{f:F,si:A,x:z,y:re}),f.setValue(d,_,{f:F,si:A,x:z,y:re})}else if(typeof x=="string"){const F=(C==null?void 0:C.x)||0,z=(C==null?void 0:C.y)||0,re=this._lexerTreeBuilder.moveFormulaRefOffset(x,F,z);o.set(A,{r:d,c:_,f:re}),c.setValue(d,_,{f:re,si:A}),f.setValue(d,_,{f:re,si:A})}else if(typeof x=="object"){const F=_-x.c,z=d-x.r;c.setValue(d,_,{f:x.f,si:A,x:F,y:z}),f.setValue(d,_,{f:x.f,si:A,x:F,y:z})}}}),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((l,c,f)=>{a.realDeleteValue(l,c)})}updateArrayFormulaCellData(e,t,n){var c,f;const i=(c=this._arrayFormulaRange[e])==null?void 0:c[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)=>{zo(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((l,c,f)=>{if(f==null)return!0;const{f:d,si:_,x:C=0,y:S=0}=f;if(_===e&&d.length>0&&C===0&&S===0)return u=f,!1}),u}getFormulaDataItem(e,t,n,i){var a,o,u,l;return(l=(u=(o=(a=this._formulaData)==null?void 0:a[i])==null?void 0:o[n])==null?void 0:u[e])==null?void 0:l[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,l,c)=>{const f=(c==null?void 0:c.f)||"",d=(c==null?void 0:c.si)||"",_=(c==null?void 0:c.x)||0,C=(c==null?void 0:c.y)||0;y.isFormulaString(f)&&y.isFormulaId(d)&&_===0&&C===0&&n.set(d,{f,r:u,c:l})}),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:l=0,y:c=0}=a;if(u!=null&&(l!==0||c!==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,l,c),f}return y.isFormulaString(o)?o:null}},L.FormulaDataModel=Go([Ws(0,y.IUniverInstanceService),Ws(1,X.Inject(hr))],L.FormulaDataModel);function Gs(r,s,e,t){const n=new Map,i=new y.ObjectMatrix;t.forValue((o,u,l)=>{const c=(l==null?void 0:l.f)||"",f=(l==null?void 0:l.si)||"",d=y.isFormulaString(c),_=y.isFormulaId(f);d&&_?(i.setValue(o,u,{f:c,si:f}),n.set(f,{f:c,r:o,c:u})):d&&!_?i.setValue(o,u,{f:c}):!d&&_&&i.setValue(o,u,{f:"",si:f})}),i.forValue((o,u,l)=>{const c=(l==null?void 0:l.f)||"",f=(l==null?void 0:l.si)||"";if(y.isFormulaId(f)&&!y.isFormulaString(c)){const d=n.get(f);if(d){const _=d.f,C=u-d.c,S=o-d.r;i.setValue(o,u,{f:_,si:f,x:C,y:S})}}}),r[s]||(r[s]={});const a=i.clone();return r[s][e]=a,{[s]:{[e]:a}}}class Xs extends y.Disposable{constructor(){super();g(this,"_definedNameMap",{});g(this,"_update$",new bt.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 bt.Subject);g(this,"currentRange$",this._currentRange$.asObservable());g(this,"_focusRange$",new bt.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 qe(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 Qt=X.createIdentifier("univer.formula.defined-names.service");var Xo=Object.defineProperty,Ko=Object.getOwnPropertyDescriptor,qo=(r,s,e,t)=>{for(var n=t>1?void 0:t?Ko(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&&Xo(s,e,n),n},No=(r,s)=>(e,t)=>s(e,t,r);L.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=vn(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 l=u.getUnitId(),c=u.getSheets(),f={},d={};for(const _ of c){const C=_.getSheetId(),S=_.getConfig();f[C]={cellData:new y.ObjectMatrix(S.cellData),rowCount:S.rowCount,columnCount:S.columnCount,rowData:S.rowData,columnData:S.columnData},d[_.getName()]=_.getSheetId()}i[l]=f,a[l]=u.getStyles(),o[l]=d}return{allUnitData:i,unitStylesData:a,unitSheetNameMap:o}}},L.FormulaCurrentConfigService=qo([No(0,y.IUniverInstanceService)],L.FormulaCurrentConfigService);const Je=X.createIdentifier("univer.formula.current-data.service");var Zo=Object.defineProperty,Jo=Object.getOwnPropertyDescriptor,eu=(r,s,e,t)=>{for(var n=t>1?void 0:t?Jo(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&&Zo(s,e,n),n},gn=(r,s)=>(e,t)=>s(e,t,r);let Vt=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:l,token:c}=u;if(l===we.REFERENCE||l===we.FUNCTION){const f=this._definedNamesService.getValueByName(s,c);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(c)?(t+=h.NAME,n=!0,i.push(c)):t+=c}else t+=c}return{sequenceString:t,hasDefinedName:n,definedNames:i}}};Vt=eu([gn(0,Qt),gn(1,X.Inject(hr)),gn(2,Je)],Vt);var tu=Object.defineProperty,ru=Object.getOwnPropertyDescriptor,nu=(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&&tu(s,e,n),n},su=(r,s)=>(e,t)=>s(e,t,r),Ye=(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))(Ye||{}),vt=(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))(vt||{});L.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 l=t,{startRow:c,startColumn:f}=l.getRangePosition();l.iterator((d,_,C)=>{const S=Et(d),A=_-c,w=C-f;u[A]==null&&(u[A]=[]),u[A][w]=S})}else u=[[Et(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 l=this._runtimeData[u];l[o]==null&&(l[o]=new y.ObjectMatrix),this._unitArrayFormulaRange[u]==null&&(this._unitArrayFormulaRange[u]={});const c=this._unitArrayFormulaRange[u];let f=new y.ObjectMatrix;c[o]&&(f=new y.ObjectMatrix(c[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=l[o],S=d[o],A=_[o];if(e.isReferenceObject()||e.isValueObject()&&e.isArray()){const w=e,{startRow:x,startColumn:F,endRow:z,endColumn:re}=w.getRangePosition();if(x===z&&F===re){const Ce=w.getFirstCell(),ge=Et(Ce);C.setValue(t,n,ge),A.setValue(t,n,ge);return}const pe={startRow:t,startColumn:n,endRow:z-x+t,endColumn:re-F+n};if(f.setValue(t,n,pe),c[o]=f.getData(),this._checkIfArrayFormulaRangeHasData(u,o,t,n,pe)||this._checkIfArrayFormulaExceeded(i,a,pe)){const Ce=Et(m.create(h.SPILL));C.setValue(t,n,Ce),A.setValue(t,n,Ce)}else{const Ce=m.create(h.SPILL);w.iterator((ge,ie,J)=>{const Z=Et(ge);if(ie===x&&J===F){if(ge!=null&&ge.isError()&&ge.isEqualType(Ce))return A.setValue(t,n,{}),C.setValue(t,n,{...Et(Ce)}),!1;C.setValue(t,n,{...Z})}const fe=ie-x+t,Ct=J-F+n;S.setValue(fe,Ct,Z)})}}else{const w=Et(e);C.setValue(t,n,w),A.setValue(t,n,w)}}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,S,A,w,x,F,z,re,pe,Ce,ge;const{startRow:o,startColumn:u,endRow:l,endColumn:c}=a,f=this._currentConfigService.getUnitData(),d=(S=(C=(_=this._unitArrayFormulaRange[e])==null?void 0:_[t])==null?void 0:C[n])==null?void 0:S[i];for(let ie=o;ie<=l;ie++)for(let J=u;J<=c;J++){if(ie===n&&i===J)continue;const Z=(x=(w=(A=this._runtimeData)==null?void 0:A[e])==null?void 0:w[t])==null?void 0:x.getValue(ie,J),fe=(re=(z=(F=this._runtimeArrayFormulaCellData)==null?void 0:F[e])==null?void 0:z[t])==null?void 0:re.getValue(ie,J),Ct=(ge=(Ce=(pe=f==null?void 0:f[e])==null?void 0:pe[t])==null?void 0:Ce.cellData)==null?void 0:ge.getValue(ie,J);if(!y.isNullCell(Z)||!y.isNullCell(fe)&&!this._isInArrayFormulaRange(d,ie,J)||!y.isNullCell(Ct))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:Pn(a,e,t,n,i)}},L.FormulaRuntimeService=nu([su(0,Je)],L.FormulaRuntimeService);const Be=X.createIdentifier("univer.formula.runtime.service");var te=(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))(te||{});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 Oe 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 te.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(dt.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 be extends Oe{constructor(e){super(e);g(this,"_errorValueObject");this._errorValueObject=m.create(e)}get nodeType(){return te.ERROR}static create(e){return new be(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 N?n=s.getToken():n=s,new Oe(n)}}class pn extends Oe{get nodeType(){return te.ROOT}execute(){const e=this.getChildren()[0];e==null?this.setValue(m.create(h.VALUE)):this.setValue(e.getValue())}}class Ks extends He{get zIndex(){return Qe.get(te.ROOT)||ze}checkAndCreateNodeType(s){if(!(s instanceof N))return;if(s.getToken()===tt)return new pn(tt)}}class qs 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=X.createIdentifier("univer.formula.function.service");var iu=Object.defineProperty,au=Object.getOwnPropertyDescriptor,ou=(r,s,e,t)=>{for(var n=t>1?void 0:t?au(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&&iu(s,e,n),n},Ns=(r,s)=>(e,t)=>s(e,t,r);class Cr extends Oe{constructor(s,e,t){super(e),this._accessor=s,this._operatorString=e,this._functionExecutor=t}get nodeType(){return te.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===Ee.MINUS?t=this._functionExecutor.calculate(b.create(0),e):this._operatorString===Ee.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(Be),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 Dr=class extends He{constructor(r,s){super(),this._functionService=r,this._injector=s}get zIndex(){return Qe.get(te.PREFIX)||ze}checkAndCreateNodeType(r){if(!(r instanceof N))return;const s=r.getToken(),e=s.trim();if(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')return;let t="";if(e===Ee.MINUS)t=Pe.MINUS;else return e===Ee.AT?new Cr(this._injector,e):void 0;const n=this._functionService.getExecutor(t);return n?new Cr(this._injector,e,n):(console.error(`No function ${s}`),be.create(h.NAME))}};Dr=ou([Ns(0,We),Ns(1,X.Inject(X.Injector))],Dr);function Zs(r,s,e){let t,n;const i=r.slice(0,2);let a=0;if(new RegExp(Ee.MINUS,"g").test(i)){const o=s.getExecutor(Pe.MINUS);t=new Cr(e,Ee.MINUS,o),a++}return new RegExp(Ee.AT,"g").test(i)&&(n=new Cr(e,Ee.AT),t&&n.setParent(t),a++),a>0&&(r=r.slice(a)),{tokenTrim:r,minusPrefixNode:t,atPrefixNode:n}}var uu=Object.defineProperty,lu=Object.getOwnPropertyDescriptor,cu=(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&&uu(s,e,n),n},zt=(r,s)=>(e,t)=>s(e,t,r);class fu extends Oe{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 te.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(dt.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:l,endColumn:c}=i,f=l-o+1,d=c-u+1,{startRow:_,startColumn:C,endRow:S,endColumn:A}=a,w=S-_+1,x=A-C+1;f!==w&&(a.endRow+=f-w),d!==x&&(a.endColumn+=d-x)}_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=it.create(a);else{const o=cs(a);n=ye.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 br=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(te.FUNCTION)||ze}create(r){const s=this._functionService.getExecutor(r);return s?new fu(r,s,this._currentConfigService,this._runtimeService,this._definedNamesService):(console.error(`No function ${r}`),be.create(h.NAME))}checkAndCreateNodeType(r){if(typeof r=="string")return;const s=r.getToken(),{tokenTrim:e,minusPrefixNode:t,atPrefixNode:n}=Zs(s.trim(),this._functionService,this._injector);if(!Number.isNaN(Number(e)))return be.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}}};br=cu([zt(0,We),zt(1,Je),zt(2,Be),zt(3,Qt),zt(4,X.Inject(X.Injector))],br);var hu=Object.defineProperty,mu=Object.getOwnPropertyDescriptor,du=(r,s,e,t)=>{for(var n=t>1?void 0:t?mu(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},gu=(r,s)=>(e,t)=>s(e,t,r);let Ot=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(dt.ERROR);const s=r.getChildren(),e=s.length;for(let t=0;t<e;t++){const n=s[t];if(n.getToken().toUpperCase()===Tt&&n.isEmptyParamFunction()){n.execute();continue}await this._executeAsync(n)}return r.nodeType===te.FUNCTION&&r.isAsync()?await r.executeAsync():r.execute(),Promise.resolve(dt.SUCCESS)}_execute(r){if(this._runtimeService.isStopExecution())return dt.ERROR;const s=r.getChildren(),e=s.length;for(let t=0;t<e;t++){const n=s[t];if(n.getToken().toUpperCase()===Tt&&n.isEmptyParamFunction()){n.execute();continue}this._execute(n)}return r.execute(),dt.SUCCESS}};Ot=du([gu(0,Be)],Ot);function Js(r){return r instanceof N?r.getToken()===At:!1}function pu(r){return r instanceof N?r.getToken()===Un:!1}function ei(r){if(!r)return;if(r.getToken()!==Bt)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:ei(n)}class Rn extends Ze{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 Rn(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 Ca(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()===Bt){const u=a.getLambdaParameter(),l=this._lambdaPrivacyValueMap.get(u);if(l)a.setValue(l);else{const c=a.getCurrentLambdaPrivacyVar(),f=ei(c.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 Ru=Object.defineProperty,_u=Object.getOwnPropertyDescriptor,Eu=(r,s,e,t)=>{for(var n=t>1?void 0:t?_u(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&&Ru(s,e,n),n},ti=(r,s)=>(e,t)=>s(e,t,r);class yu extends Oe{constructor(e,t,n,i){super(e);g(this,"_isNotEmpty",!0);this._lambdaId=t,this._interpreter=n,this._lambdaPrivacyVarKeys=i}get nodeType(){return te.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(Rn.create(this,this._interpreter,this._lambdaPrivacyVarKeys));else{const e=this.getChildren(),t=e.length;this.setValue(e[t-1].getValue())}}}let Sr=class extends He{constructor(r,s){super(),this._runtimeService=r,this._interpreter=s}get zIndex(){return Qe.get(te.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 N&&n instanceof N))return be.create(h.NAME);if(e.getToken()===At){const o=e.getChildren();if(t.length!==o.length)return be.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 N){const l=u.getChildren()[0];u.setToken(Un),a.set(l.trim(),void 0)}else return be.create(h.VALUE)}return this._runtimeService.registerFunctionDefinitionPrivacyVar(i,a),this._updateLambdaStatement(n,i,a),new yu(r.getToken(),i,this._interpreter,[...a.keys()])}checkAndCreateNodeType(r){if(!(!(r instanceof N)||r.getToken().trim().toUpperCase()!==Tt))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(!(Js(i)&&a!==0))if(o instanceof N)this._updateTree(o,s,e);else{const u=o.trim();if(e.has(u)){const l=new N;l.setToken(Bt),l.setLambdaId(s),l.setLambdaPrivacyVar(e),l.setLambdaParameter(u),t[a]=l}}}}};Sr=Eu([ti(0,Be),ti(1,X.Inject(Ot))],Sr);function ri(r){if(!r)return;if(r.getToken()!==Bt)return r;const s=r,e=s.getCurrentLambdaPrivacyVar(),t=s.getLambdaParameter();if(e)return ri(e.get(t))}class Cu extends Oe{constructor(s,e,t){super(s),this._lambdaParameter=e,this._currentLambdaPrivacyVar=t}getLambdaParameter(){return this._lambdaParameter}getCurrentLambdaPrivacyVar(){return this._currentLambdaPrivacyVar}get nodeType(){return te.LAMBDA_PARAMETER}execute(){const s=ri(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 ni extends He{get zIndex(){return Qe.get(te.LAMBDA_PARAMETER)||ze}create(s){const e=s.getFunctionDefinitionPrivacyVar(),t=s.getLambdaParameter();return e?new Cu(s.getToken(),t,e):new be(h.SPILL)}checkAndCreateNodeType(s){if(!(!(s instanceof N)||s.getToken().trim()!==Bt))return this.create(s)}}class Du extends Oe{constructor(s){super(s),this._operatorString=s}get nodeType(){return te.NULL}execute(){this.setValue(ce.create())}}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},Lu=(r,s)=>(e,t)=>s(e,t,r);class Pu extends Oe{constructor(s,e){super(s),this._operatorString=s,this._functionExecutor=e}get nodeType(){return te.OPERATOR}execute(){var i,a;const s=this.getChildren();this._functionExecutor.name===Pe.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=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 Ar=class extends He{constructor(r){super(),this._functionService=r}get zIndex(){return Qe.get(te.OPERATOR)||ze}create(r){let s="";const e=r;e===oe.PLUS?s=Pe.PLUS:e===oe.MINUS?s=Pe.MINUS:e===oe.MULTIPLY?s=Pe.MULTIPLY:e===oe.DIVIDED?s=Pe.DIVIDED:e===oe.CONCATENATE?s=ut.CONCATENATE:e===oe.POWER?s=Ve.POWER:xi.has(e)&&(s=Pe.COMPARE);const t=this._functionService.getExecutor(s);return t?new Pu(e,t):(console.error(`No function ${r}`),be.create(h.NAME))}checkAndCreateNodeType(r){if(r instanceof N)return;const s=r.trim();if(!(s.charAt(0)==='"'&&s.charAt(s.length-1)==='"')&&ft.has(s))return this.create(s)}};Ar=Au([Lu(0,We)],Ar);class wu 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 _n=X.createIdentifier("univer.formula.super-table.service");class xu extends wt{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),l=u.startColumn,c=u.endColumn,f=u.type;let d=-1,_=-1;const C=a.startRow,S=a.startColumn;f===gt.ALL?(d=C,_=S):f===gt.DATA?(d=C+1,_=S):f===gt.HEADERS?(d=C,_=C):f===gt.TOTALS&&(d=S,_=S),this.setRangeData({startColumn:l,endColumn:c,startRow:d,endRow:_})}isTable(){return!0}_stringToColumnData(s,e,t){s=s.substring(1,-1);const n=s.indexOf(G.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),l=s.substring(n+1),c=this._columnHandler(l,e,!0);i=c.startColumn,a=c.endColumn,o=t.get(u),o||(o=gt.ALL)}return{startColumn:i,endColumn:a,type:o}}_columnHandler(s,e,t=!1){var o,u,l;let n=-1,i=-1;const a=s.indexOf(G.COLON);if(new RegExp(jn,"g").test(s)){const c=s.substring(0,a).substring(1,-1),f=s.substring(a+1).substring(1,-1);n=(o=e.get(c))!=null?o:-1,i=(u=e.get(f))!=null?u:-1}else t&&(s=s.substring(1,-1)),n=(l=e.get(s))!=null?l:-1,i=n;return{startColumn:n,endColumn:i}}}var Vu=Object.defineProperty,vu=Object.getOwnPropertyDescriptor,Ou=(r,s,e,t)=>{for(var n=t>1?void 0:t?vu(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&&Vu(s,e,n),n},Lr=(r,s)=>(e,t)=>s(e,t,r);class Pr extends Oe{constructor(s,e,t,n=!1){super(e),this._accessor=s,this._operatorString=e,this._referenceObject=t,this._isPrepareMerge=n}get nodeType(){return te.REFERENCE}execute(){const s=this._accessor.get(Je),e=this._accessor.get(Be);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 wr=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(te.REFERENCE)||ze}checkAndCreateNodeType(r){var u,l;let s=!1,e,t=!1;r instanceof N?(s=!0,e=r.getToken().trim(),((l=(u=r.getParent())==null?void 0:u.getParent())==null?void 0:l.getToken().trim())===G.COLON&&(t=!0)):e=r.trim();const{tokenTrim:n,minusPrefixNode:i,atPrefixNode:a}=Zs(e,this._functionService,this._injector);if(!s&&n.charAt(0)==='"'&&n.charAt(n.length-1)==='"')return;let o;if(new RegExp(kt).test(n))o=new Pr(this._injector,n,new on(n),t);else if(s&&this._checkParentIsUnionOperator(r))new RegExp(Tn).test(n)?o=new Pr(this._injector,n,new un(n),t):new RegExp(kn).test(n)&&(o=new Pr(this._injector,n,new ln(n),t));else{const c=this._formulaRuntimeService.currentUnitId,f=this._superTableService.getTableMap(c),d=new RegExp(jn,"g"),_=n.replace(d,"");if(!s&&(f!=null&&f.has(_))){const C=d.exec(n);let S="";C&&(S=C[0]);const A=f.get(_),w=this._superTableService.getTableOptionMap();o=new Pr(this._injector,n,new xu(n,A,S,w))}}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())===G.COLON}};wr=Ou([Lr(0,_n),Lr(1,Be),Lr(2,We),Lr(3,X.Inject(X.Injector))],wr);var Fu=Object.defineProperty,Uu=Object.getOwnPropertyDescriptor,Mu=(r,s,e,t)=>{for(var n=t>1?void 0:t?Uu(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&&Fu(s,e,n),n},si=(r,s)=>(e,t)=>s(e,t,r);class ii extends Oe{constructor(s,e,t){super(e),this._accessor=s,this._operatorString=e,this._functionExecutor=t}get nodeType(){return te.SUFFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null)throw new Error("object is null");this._operatorString===Xe.PERCENTAGE?(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(e,b.create(100)),t.isNumber()&&t.setPattern("0.00%")):this._operatorString===Xe.POUND?t=this._handlerPound(e):t=m.create(h.VALUE),this.setValue(t)}_handlerPound(s){var c,f,d,_;if(!s.isReferenceObject()||!s.isCell())return m.create(h.VALUE);const e=this._accessor.get(Je),t=this._accessor.get(Vt),n=s,i=n.getRangePosition(),a=n.getUnitId(),o=n.getSheetId(),u=e.getFormulaData(),l=(_=(d=(f=(c=u==null?void 0:u[a])==null?void 0:c[o])==null?void 0:f[i.startRow])==null?void 0:d[i.startColumn])==null?void 0:_.f;return l&&t.treeBuilder(l),m.create(h.VALUE)}}let xr=class extends He{constructor(r,s){super(),this._functionService=r,this._injector=s}get zIndex(){return Qe.get(te.SUFFIX)||ze}checkAndCreateNodeType(r){if(!(r instanceof N))return;const s=r.getToken().trim();if(s.charAt(0)==='"'&&s.charAt(s.length-1)==='"')return;let e="";if(s===Xe.PERCENTAGE)e=Pe.DIVIDED;else return s===Xe.POUND?new ii(this._injector,s):void 0;const t=this._functionService.getExecutor(e);return t?new ii(this._injector,s,t):(console.error(`No function ${r}`),be.create(h.NAME))}};xr=Mu([si(0,We),si(1,X.Inject(X.Injector))],xr);var Bu=Object.defineProperty,Tu=Object.getOwnPropertyDescriptor,ku=(r,s,e,t)=>{for(var n=t>1?void 0:t?Tu(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},ju=(r,s)=>(e,t)=>s(e,t,r);class $u extends Oe{constructor(s){super(s),this._operatorString=s}get nodeType(){return te.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===G.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 Vr=class extends He{constructor(r){super(),this._functionService=r}get zIndex(){return Qe.get(te.UNION)||ze}create(r){return new $u(r)}checkAndCreateNodeType(r){if(!(r instanceof N))return;const e=r.getToken().trim();if(!(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')&&e===G.COLON)return this.create(e)}};Vr=ku([ju(0,We)],Vr);class Iu extends Oe{constructor(s){super(s),this._operatorString=s}get nodeType(){return te.VALUE}execute(){this.setValue(it.create(this._operatorString))}}class ai extends He{get zIndex(){return Qe.get(te.VALUE)||ze}_checkValueNode(s){if(Number.isNaN(Number(s))){const e=s.trim(),t=e.charAt(0),n=e.charAt(e.length-1);if(St.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===nt.TRUE||i===nt.FALSE)return this.create(i)}else return this.create(s)}create(s){return new Iu(s)}checkAndCreateNodeType(s){if(!(s instanceof N))return this._checkValueNode(s)}}function Yu(r){let s=r;for(;s!=null&&s.getParent();)s=s.getParent();return s}var Qu=Object.defineProperty,zu=Object.getOwnPropertyDescriptor,Hu=(r,s,e,t)=>{for(var n=t>1?void 0:t?zu(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&&Qu(s,e,n),n},Te=(r,s)=>(e,t)=>s(e,t,r);let Ht=class extends y.Disposable{constructor(s,e,t,n,i,a,o,u,l,c,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=l,this._unionNodeFactory=c,this._valueNodeFactory=f,this._initializeAstNode()}dispose(){this._astNodeFactoryList.forEach(s=>{s.dispose()}),this._astNodeFactoryList=[]}parse(s,e=0,t=0){const n=new pn(tt);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 be.create(h.VALUE);const t=e.getLambdaId(),n=new pn(tt),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 N)this._parse(d,n);else return!1}const l=n.getChildren(),c=l.length;for(let f=0;f<c;f++){const d=l[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 N;n.setToken(Tt);const i=new N;i.setToken(At);const a=[...e];for(let u=0;u<t;u++){const l=a[u];if(!(l instanceof N))return;u%2===0?l.changeToParent(n):l.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===Mi){const c=this._changeLetToLambda(s);return c!=null?this._parse(c,e):be.create(h.ERROR)}if(o===Ke){if(a=e,n===0)return new Du(tt).setParent(e),a}else{if(o===At){let c=this._lambdaParameterHandler(s,e);return c===!1&&(c=be.create(h.ERROR)),c}if(a=this._checkAstNode(s),a==null)return be.create(h.NAME)}const u=t[0];for(let c=0;c<n;c++){const f=t[c];if(Js(u)){if(c!==0&&c!==n-1)continue}else if(pu(f)&&c!==n-1)continue;let d=null;if(f instanceof N){if(d=this._parse(f,a),d===a)continue}else d=this._checkAstNode(f);if(d==null)return be.create(h.NAME);if(d=Yu(d),d==null)return;switch(d.nodeType){case te.ERROR:return d;case te.FUNCTION:i.push(d);break;case te.LAMBDA:i.push(d);break;case te.LAMBDA_PARAMETER:i.push(d);break;case te.OPERATOR:{const _=i.pop(),C=i.pop();C&&C.setParent(d),_&&_.setParent(d),i.push(d);break}case te.REFERENCE:d.setRefOffset(this._refOffsetX,this._refOffsetY),i.push(d);break;case te.ROOT:i.push(d);break;case te.UNION:i.push(d);break;case te.VALUE:i.push(d);break;case te.PREFIX:i.push(d);break;case te.SUFFIX:i.push(d);break}}const l=i.length;for(let c=0;c<l;c++)i[c].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=Hu([Te(0,Be),Te(1,X.Inject(Ks)),Te(2,X.Inject(br)),Te(3,X.Inject(Sr)),Te(4,X.Inject(ni)),Te(5,X.Inject(Ar)),Te(6,X.Inject(Dr)),Te(7,X.Inject(wr)),Te(8,X.Inject(xr)),Te(9,X.Inject(Vr)),Te(10,X.Inject(ai))],Ht);class oi 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 Wt=X.createIdentifier("univer.formula.feature-calculation-manager.service");class ui 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 vr=X.createIdentifier("univer.formula.other-formula-manager.service");class En 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 l=this.rangeList[o],{unitId:c,sheetId:f,range:d}=l.gridRange;if(((i=t[c])==null?void 0:i[f])!=null)return!0;if(!e.has(c))continue;const _=e.get(c);if(!_.has(f))continue;const C=_.get(f),S=(a=n==null?void 0:n[c])==null?void 0:a[f];let{startRow:A,endRow:w,startColumn:x,endColumn:F}=d;Number.isNaN(A)&&(A=0),Number.isNaN(x)&&(x=0),Number.isNaN(w)&&(w=Number.POSITIVE_INFINITY),Number.isNaN(F)&&(F=Number.POSITIVE_INFINITY);for(const z of C){const{startRow:re,startColumn:pe,endRow:Ce,endColumn:ge}=z;if(!(A>Ce||w<re||x>ge||F<pe)){let ie=!0;if(S==null||S.forValue((J,Z)=>{if(J>=A&&J<=w&&Z>=x&&Z<=F)return ie=!1,!1}),ie)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 li 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:l}=a;e.unitId===o&&e.subUnitId===u&&e.inRangeData(l)&&i.forEach(c=>{if(c===e)return!0;c.pushChildren(e)})})}}class Wu 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 li?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 Or=X.createIdentifier("univer.formula.dependency-manager.service");var Gu=Object.defineProperty,Xu=Object.getOwnPropertyDescriptor,Ku=(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&&Gu(s,e,n),n},lt=(r,s)=>(e,t)=>s(e,t,r);const qu=1e5;let Gt=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 ht(qu));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 li;for(let l=0,c=a.length;l<c;l++){const f=a[l];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 S=d[_];f.pushRangeList(S),u.add(S,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 En;u.unitId=n,u.subUnitId=i,u.getDirtyData=o,u.featureId=t,u.rangeList=a.map(l=>({gridRange:l,token:mt({...l,sheetName:this._currentConfigService.getSheetName(l.unitId,l.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 l=Object.keys(u);for(const c of l){if(this._dependencyManagerService.hasOtherFormulaDependency(n,o,c))continue;const f=u[c],{f:d}=f,_=this._generateAstNode(n,d),C=new En;C.node=_,C.formula=d,C.unitId=n,C.subUnitId=o,C.formulaId=c,this._dependencyManagerService.addOtherFormulaDependency(n,o,c,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((c,f,d)=>{if(d==null)return!0;const{f:_,x:C,y:S}=d;if(this._dependencyManagerService.hasFormulaDependency(i,u,c,f))return!0;const A=this._generateAstNode(i,_,C,S),w=new En,x=t[i][u];w.node=A,w.formula=_,w.unitId=i,w.subUnitId=u,w.row=c,w.column=f,w.rowCount=x.rowCount,w.columnCount=x.columnCount,this._dependencyManagerService.addFormulaDependency(i,u,c,f,w),n.push(w)})}}_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(St.has(a))return be.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===te.UNION||s.nodeType===te.PREFIX&&s.getToken()===Ee.AT||s.nodeType===te.SUFFIX&&s.getToken()===Xe.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===te.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===te.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],l=(await this._executeNode(o)).toUnitRange(),c=mt({...l,sheetName:this._currentConfigService.getSheetName(l.unitId,l.sheetId)});n.push({gridRange:l,token:c})}for(let i=0,a=t.length;i<a;i++){const o=t[i],l=(await this._executeNode(o)).toUnitRange(),c=mt({...l,sheetName:this._currentConfigService.getSheetName(l.unitId,l.sheetId)});n.push({gridRange:l,token:c})}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 l=a[o];(i||l.dependencyRange(this._updateRangeFlattenCache,this._dirtyUnitSheetNameMap,this._currentConfigService.getExcludedRange())||this._includeTree(l))&&!n.has(l)&&(t.push(l),n.add(l))}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,l,c;const e=s.unitId,t=s.subUnitId;if(this._includeTreeFeature(s)===!0||this._includeOtherFormula(s)===!0||this._includeDefinedName(s)===!0)return!0;const n=(l=(u=this._currentConfigService.getExcludedRange())==null?void 0:u[e])==null?void 0:l[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(((c=this._dirtyUnitSheetNameMap[e])==null?void 0:c[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()}};Gt=Ku([y.OnLifecycle(y.LifecycleStages.Rendered,Gt),lt(0,Je),lt(1,Be),lt(2,vr),lt(3,Wt),lt(4,X.Inject(Ot)),lt(5,X.Inject(Ht)),lt(6,X.Inject(Vt)),lt(7,Or)],Gt);var Nu=Object.defineProperty,Zu=Object.getOwnPropertyDescriptor,Ju=(r,s,e,t)=>{for(var n=t>1?void 0:t?Zu(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&&Nu(s,e,n),n},yt=(r,s)=>(e,t)=>s(e,t,r);const el=1;L.CalculateFormulaService=class extends y.Disposable{constructor(e,t,n,i,a,o,u){super();g(this,"_executionStartListener$",new bt.Subject);g(this,"executionStartListener$",this._executionStartListener$.asObservable());g(this,"_executionCompleteListener$",new bt.Subject);g(this,"executionCompleteListener$",this._executionCompleteListener$.asObservable());g(this,"_executionInProgressListener$",new bt.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")||el;for(let n=0;n<t&&(await this._execute(),!!this._runtimeService.isCycleDependency());n++);this._runtimeService.setFormulaExecuteStage(Ye.CALCULATION_COMPLETED),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()),sn.clear(),st.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 l=new y.ObjectMatrix(o[u]);if(l==null)return!0;const c=new y.ObjectMatrix;l.forValue((f,d,_)=>{c.setValue(f,d,!0),n.push({unitId:a,sheetId:u,range:_})}),i[a]==null&&(i[a]={}),i[a][u]=c})}),Object.keys(t).forEach(a=>{const o=t[a];Object.keys(o).forEach(u=>{const l=o[u];if(l==null)return!0;Object.keys(l).forEach(c=>{const f=l[c];if(f==null)return!0;for(const d of f)n.push({unitId:u,sheetId:c,range:d})})})}),{dirtyRanges:n,excludedCell:i}}async _apply(e=!1){e?this._runtimeService.setFormulaExecuteStage(Ye.START_DEPENDENCY_ARRAY_FORMULA):this._runtimeService.setFormulaExecuteStage(Ye.START_DEPENDENCY),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());const t=await this._formulaDependencyGenerator.generate(),n=this._interpreter;e?(this._runtimeService.setFormulaExecuteStage(Ye.START_CALCULATION_ARRAY_FORMULA),this._runtimeService.setTotalArrayFormulasToCalculate(t.length)):(this._runtimeService.setFormulaExecuteStage(Ye.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(Ye.IDLE),this._runtimeService.markedAsStopFunctionsExecuted(),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData());return}const o=t[i],u=o.node,l=o.getDirtyData;let c;if(u==null&&l==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),l!=null&&o.featureId!=null){const{runtimeCellData:f,dirtyRanges:d}=l(o);this._runtimeService.setRuntimeFeatureCellData(o.featureId,f),this._runtimeService.setRuntimeFeatureRange(o.featureId,d)}else u!=null&&(n.checkAsyncNode(u)?c=await n.executeAsync(u):c=n.execute(u),o.formulaId!=null?this._runtimeService.setRuntimeOtherData(o.formulaId,c):this._runtimeService.setRuntimeData(c));e?(this._runtimeService.setFormulaExecuteStage(Ye.CURRENTLY_CALCULATING_ARRAY_FORMULA),this._runtimeService.setCompletedArrayFormulasCount(i+1)):(this._runtimeService.setFormulaExecuteStage(Ye.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 be.create(n);const i=this._astTreeBuilder.parse(n);i==null||i.serialize()}},L.CalculateFormulaService=Ju([y.OnLifecycle(y.LifecycleStages.Rendered,L.CalculateFormulaService),yt(0,y.IConfigService),yt(1,X.Inject(Vt)),yt(2,Je),yt(3,Be),yt(4,X.Inject(Gt)),yt(5,X.Inject(Ot)),yt(6,X.Inject(Ht))],L.CalculateFormulaService);var tl=Object.defineProperty,rl=Object.getOwnPropertyDescriptor,nl=(r,s,e,t)=>{for(var n=t>1?void 0:t?rl(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&&tl(s,e,n),n},Fr=(r,s)=>(e,t)=>s(e,t,r);let Ur=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===Gr.id)this._calculateFormulaService.stopFormulaExecution();else if(r.id===ir.id){const e=r.params.formulaData;this._formulaDataModel.mergeFormulaData(e)}else if(r.id===Wr.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===Jt.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 vt.NOT_EXECUTED:break;case vt.STOP_EXECUTION:break;case vt.SUCCESS:this._applyFormula(r);break;case vt.INITIAL:break}this._commandService.executeCommand(sr.id,{functionsExecutedState:s},{onlyLocal:!0})})}_initialExecuteFormulaProcessListener(){this._calculateFormulaService.executionInProgressListener$.subscribe(r=>{this._commandService.executeCommand(sr.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(Jt.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData()},{onlyLocal:!0})),this._commandService.executeCommand(Xr.id,{unitData:Ui(s),unitOtherData:e},{onlyLocal:!0})}};Ur=nl([y.OnLifecycle(y.LifecycleStages.Ready,Ur),Fr(0,y.ICommandService),Fr(1,X.Inject(L.CalculateFormulaService)),Fr(2,y.IUniverInstanceService),Fr(3,X.Inject(L.FormulaDataModel))],Ur);var sl=Object.defineProperty,il=Object.getOwnPropertyDescriptor,al=(r,s,e,t)=>{for(var n=t>1?void 0:t?il(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&&sl(s,e,n),n},yn=(r,s)=>(e,t)=>s(e,t,r);let Xt=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(){[ir,Jt,Wr,Gr,sr,Xr,er,tr,rr,nr,ar,or,On,Fn,Kr,Hr,qr].forEach(r=>this.disposeWithMe(this._commandService.registerCommand(r)))}_registerFunctions(){const r=[...gs,...Ds,...bs,...As,...Ps,...ws,...Vs,...Os,...Fs,...Us,...Ts,...ks,...$s,...Is,...Ys,...zs].concat(this._function).map(s=>{const e=s[0],t=s[1];return new e(t)});this._functionService.registerExecutors(...r)}};Xt=al([y.OnLifecycle(y.LifecycleStages.Ready,Xt),yn(1,y.ICommandService),yn(2,X.Inject(X.Injector)),yn(3,We)],Xt);var ol=Object.defineProperty,ul=Object.getOwnPropertyDescriptor,ll=(r,s,e,t)=>{for(var n=t>1?void 0:t?ul(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&&ol(s,e,n),n},Cn=(r,s)=>(e,t)=>s(e,t,r);let Mr=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===Hr.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 fl(a,o)});this._functionService.registerExecutors(...n)}else if(r.id===qr.id){const e=r.params;if(e==null)return;const{functions:t}=e;this._functionService.unregisterExecutors(...t)}}))}};Mr=ll([y.OnLifecycle(y.LifecycleStages.Ready,Mr),Cn(0,y.ICommandService),Cn(1,X.Inject(L.FormulaDataModel)),Cn(2,We)],Mr);class cl extends j{isCustom(){return!0}}function fl(r,s){const e=new cl(s),t=new Function(`return ${r}`)();return e.calculateCustom=t,e}var hl=Object.defineProperty,ml=Object.getOwnPropertyDescriptor,dl=(r,s,e,t)=>{for(var n=t>1?void 0:t?ml(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&&hl(s,e,n),n},ci=(r,s)=>(e,t)=>s(e,t,r);let Br=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===er.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===tr.id){const s=r.params;if(s==null)return;const{unitId:e,id:t}=s;this._definedNamesService.removeDefinedName(e,t)}}))}};Br=dl([y.OnLifecycle(y.LifecycleStages.Ready,Br),ci(0,y.ICommandService),ci(1,Qt)],Br);var gl=Object.defineProperty,pl=Object.getOwnPropertyDescriptor,Rl=(r,s,e,t)=>{for(var n=t>1?void 0:t?pl(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&&gl(s,e,n),n},fi=(r,s)=>(e,t)=>s(e,t,r);let Tr=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===rr.id){const s=r.params;if(s==null)return;const{featureId:e,calculationParam:t}=s;this._featureCalculationManagerService.register(e,t)}else if(r.id===nr.id){const s=r.params;if(s==null)return;const{featureId:e}=s;this._featureCalculationManagerService.remove(e)}}))}};Tr=Rl([y.OnLifecycle(y.LifecycleStages.Ready,Tr),fi(0,y.ICommandService),fi(1,Wt)],Tr);var _l=Object.defineProperty,El=Object.getOwnPropertyDescriptor,yl=(r,s,e,t)=>{for(var n=t>1?void 0:t?El(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&&_l(s,e,n),n},Dn=(r,s)=>(e,t)=>s(e,t,r);let kr=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===ar.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===or.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)}}))}};kr=yl([y.OnLifecycle(y.LifecycleStages.Ready,kr),Dn(0,y.ICommandService),Dn(1,vr),Dn(2,Or)],kr);var Cl=Object.defineProperty,Dl=Object.getOwnPropertyDescriptor,bl=(r,s,e,t)=>{for(var n=t>1?void 0:t?Dl(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&&Cl(s,e,n),n},hi=(r,s)=>(e,t)=>s(e,t,r);let jr=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===er.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===tr.id){const s=r.params;if(s==null)return;const{unitId:e,tableName:t}=s;this._superTableService.remove(e,t)}else if(r.id===Kr.id){const s=r.params;if(s==null)return;const{tableOption:e,tableOptionType:t}=s;this._superTableService.registerTableOptionMap(e,t)}}))}};jr=bl([y.OnLifecycle(y.LifecycleStages.Ready,jr),hi(0,y.ICommandService),hi(1,_n)],jr);class Sl 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 mi=X.createIdentifier("univer.formula.active-dirty-manager.service");var Al=Object.defineProperty,Ll=Object.getOwnPropertyDescriptor,Pl=(r,s,e,t)=>{for(var n=t>1?void 0:t?Ll(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&&Al(s,e,n),n},bn=(r,s)=>(e,t)=>s(e,t,r);let $r=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===nr.id||r.id===rr.id){const s=r.params;if(s==null)return;const{featureId:e}=s;this._dependencyManagerService.removeFeatureFormulaDependency(e)}else if(r.id===or.id){const s=r.params;if(s==null)return;this._dependencyManagerService.removeOtherFormulaDependency(s.unitId,s.subUnitId,s.formulaIdList)}else if(r.id===ar.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===ir.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)})})})}}))}};$r=Pl([y.OnLifecycle(y.LifecycleStages.Ready,$r),bn(0,y.ICommandService),bn(1,Wt),bn(1,Or)],$r);var wl=Object.defineProperty,xl=Object.getOwnPropertyDescriptor,Vl=(r,s,e,t)=>{for(var n=t>1?void 0:t?xl(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&&wl(s,e,n),n},vl=(r,s)=>(e,t)=>s(e,t,r);const Ol="base-formula-engine";L.UniverFormulaEnginePlugin=(Sn=class extends y.Plugin{constructor(s,e){super(),this._config=s,this._injector=e}onStarting(){this._initialize()}_initialize(){var e;const s=[[We,{useClass:qs}],[Wt,{useClass:oi}],[Qt,{useClass:Xs}],[mi,{useClass:Sl}],[_n,{useClass:wu}],[L.FormulaDataModel],[hr],[Xt,{useFactory:()=>{var t;return this._injector.createInstance(Xt,(t=this._config)==null?void 0:t.function)}}],[Tr],[Br],[jr]];(e=this._config)!=null&&e.notExecuteFormula||s.push([L.CalculateFormulaService],[vr,{useClass:ui}],[Be,{useClass:L.FormulaRuntimeService}],[Je,{useClass:L.FormulaCurrentConfigService}],[Or,{useClass:Wu}],[Ur],[kr],[Mr],[$r],[Gt],[Ot],[Ht],[Vt],[Ks],[br],[Sr],[ni],[Ar],[Dr],[wr],[xr],[Vr],[ai]),s.forEach(t=>this._injector.add(t))}},g(Sn,"pluginName",Ol),Sn),L.UniverFormulaEnginePlugin=Vl([vl(1,X.Inject(X.Injector))],L.UniverFormulaEnginePlugin);function di(r,s){const e=r.sequenceNodesBuilder(s);return!(!e||e.every(t=>typeof t=="string"||t.nodeType!==we.REFERENCE))}function Fl(r,s,e,t,n,i){if(!di(r,s))return s;const a=r.sequenceNodesBuilder(s),o=(_,C)=>({startRow:_,endRow:_,startColumn:C,endColumn:C}),u=o(e,t),l=y.Rectangle.getRelativeRange(o(n,i),u),c=y.Tools.deepClone(a),f=Array.isArray(c)?c.map(_=>{if(typeof _=="object"&&_.nodeType===we.REFERENCE){const C=$e(_.token),S=y.Rectangle.getPositionRange(l,C.range),A=qe(S);return{..._,token:A}}return _}):c;return`=${f&&ur(f)}`}L.ArrayValueObject=ye,L.AsyncArrayObject=fs,L.BaseFunction=j,L.BaseReferenceObject=wt,L.BaseValueObject=Ze,L.BooleanValue=nt,L.BooleanValueObject=Y,L.DefinedNamesService=Xs,L.ERROR_TYPE_SET=St,L.ErrorType=h,L.ErrorValueObject=m,L.FUNCTION_NAMES_ARRAY=ps,L.FUNCTION_NAMES_COMPATIBILITY=xt,L.FUNCTION_NAMES_CUBE=Ss,L.FUNCTION_NAMES_DATABASE=Ls,L.FUNCTION_NAMES_DATE=at,L.FUNCTION_NAMES_ENGINEERING=xs,L.FUNCTION_NAMES_FINANCIAL=vs,L.FUNCTION_NAMES_INFORMATION=ve,L.FUNCTION_NAMES_LOGICAL=ot,L.FUNCTION_NAMES_LOOKUP=Le,L.FUNCTION_NAMES_MATH=Ve,L.FUNCTION_NAMES_STATISTICAL=Ae,L.FUNCTION_NAMES_TEXT=ut,L.FUNCTION_NAMES_UNIVER=Qs,L.FUNCTION_NAMES_WEB=Hs,L.FeatureCalculationManagerService=oi,L.FormulaExecuteStageType=Ye,L.FormulaExecutedStateType=vt,L.FunctionService=qs,L.FunctionType=wn,L.IActiveDirtyManagerService=mi,L.IDefinedNamesService=Qt,L.IFeatureCalculationManagerService=Wt,L.IFormulaCurrentConfigService=Je,L.IFormulaRuntimeService=Be,L.IFunctionService=We,L.IOtherFormulaManagerService=vr,L.LexerNode=N,L.LexerTreeBuilder=hr,L.NullValueObject=ce,L.NumberValueObject=b,L.OtherFormulaManagerService=ui,L.RangeReferenceObject=It,L.RegisterFunctionMutation=Hr,L.RemoveDefinedNameMutation=tr,L.RemoveFeatureCalculationMutation=nr,L.RemoveOtherFormulaMutation=or,L.RemoveSuperTableMutation=Fn,L.SetArrayFormulaDataMutation=Jt,L.SetDefinedNameMutation=er,L.SetFeatureCalculationMutation=rr,L.SetFormulaCalculationNotificationMutation=sr,L.SetFormulaCalculationResultMutation=Xr,L.SetFormulaCalculationStartMutation=Wr,L.SetFormulaCalculationStopMutation=Gr,L.SetFormulaDataMutation=ir,L.SetOtherFormulaMutation=ar,L.SetSuperTableMutation=On,L.SetSuperTableOptionMutation=Kr,L.StringValueObject=_e,L.UnregisterFunctionMutation=qr,L.ValueObjectFactory=it,L.compareToken=B,L.convertUnitDataToRuntime=vn,L.deserializeRangeForR1C1=ds,L.deserializeRangeWithSheet=$e,L.functionArray=gs,L.functionCompatibility=Ds,L.functionCube=bs,L.functionDatabase=As,L.functionDate=Ps,L.functionEngineering=ws,L.functionFinancial=Vs,L.functionInformation=Os,L.functionLogical=Fs,L.functionLookup=Us,L.functionMath=Ts,L.functionMeta=ks,L.functionStatistical=$s,L.functionText=Is,L.functionUniver=Ys,L.functionWeb=zs,L.generateStringWithSequence=ur,L.getAbsoluteRefTypeWitString=Yi,L.getAbsoluteRefTypeWithSingleString=jt,L.getRangeWithRefsString=Qi,L.handleNumfmtInCell=ha,L.includeFormulaLexerToken=Vn,L.initSheetFormulaData=Gs,L.isFormulaLexerToken=Mt,L.isFormulaTransformable=di,L.isInDirtyRange=Pn,L.isReferenceString=$n,L.isReferenceStringWithEffectiveColumn=cr,L.isReferenceStrings=Hn,L.matchRefDrawToken=Fi,L.matchToken=G,L.normalizeSheetName=Oi,L.operatorToken=oe,L.sequenceNodeType=we,L.serializeRange=qe,L.serializeRangeToRefString=mt,L.serializeRangeWithSheet=Yn,L.serializeRangeWithSpreadsheet=Qn,L.singleReferenceToGrid=lr,L.transformFormula=Fl,Object.defineProperty(L,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(S,E){typeof exports=="object"&&typeof module<"u"?E(exports,require("@univerjs/core"),require("@wendellhu/redi"),require("rxjs"),require("@univerjs/rpc")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@wendellhu/redi","rxjs","@univerjs/rpc"],E):(S=typeof globalThis<"u"?globalThis:S||self,E(S.UniverEngineFormula={},S.UniverCore,S["@wendellhu/redi"],S.rxjs,S.UniverRpc))})(this,function(S,E,X,Rt,Sa){"use strict";var Yl=Object.defineProperty;var Ql=(S,E,X)=>E in S?Yl(S,E,{enumerable:!0,configurable:!0,writable:!0,value:X}):S[E]=X;var g=(S,E,X)=>(Ql(S,typeof E!="symbol"?E+"":E,X),X);var Rn;function En(r,s,e,t,n){for(let a=0,i=r.length;a<i;a++){const o=r[a];if(s!==o.unitId||e!==o.sheetId)continue;const{startRow:u,startColumn:l,endRow:c,endColumn:f}=o.range;if(t>=u&&t<=c&&n>=l&&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 _t=new Set(Object.values(h));var Cn=(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))(Cn||{}),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 Ht=new Map([["<>",3],["<",3],[">=",3],["=",3],[">",3],["<=",3],["&",2],["+",2],["-",2],["/",1],["*",1],["^",0]]),ut=new Set(Ht.keys()),La=new Set(["=","<>",">",">=","<","<="]);var G=(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))(G||{}),He=(r=>(r.PERCENTAGE="%",r.POUND="#",r))(He||{});const Aa=new Set(["%","#"]);var _e=(r=>(r.AT="@",r.MINUS="-",r))(_e||{});const Pa=" ",Dn=[...Object.values(M),...Object.values(oe),...Object.values(G),...Object.values(He),...Object.values(_e)];function xt(r){return Dn.includes(r)}function bn(r){for(const s of Dn)if(r.indexOf(s)>-1)return!0;return!1}function wa(r){return r[0]==="'"&&r[r.length-1]==="'"?r.substring(1,r.length-1):r}function xa(r){return xt(r)&&r!==G.CLOSE_BRACES&&r!==G.CLOSE_BRACKET&&r!==G.SINGLE_QUOTATION&&r!==G.DOUBLE_QUOTATION||r===" "}function Sn(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 a=t[n];s[e][n]=new E.ObjectMatrix(a)})}),s}function Va(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 a=t[n];s[e][n]=a.getData()})}),s}const Tr={id:"formula.mutation.register-function",type:E.CommandType.MUTATION,handler:()=>!0},Wt={id:"formula.mutation.set-array-formula-data",type:E.CommandType.MUTATION,handler:(r,s)=>!0},Gt={id:"formula.mutation.set-defined-name",type:E.CommandType.MUTATION,handler:()=>!0},Xt={id:"formula.mutation.remove-defined-name",type:E.CommandType.MUTATION,handler:()=>!0},Kt={id:"formula.mutation.set-feature-calculation",type:E.CommandType.MUTATION,handler:()=>!0},qt={id:"formula.mutation.remove-feature-calculation",type:E.CommandType.MUTATION,handler:()=>!0},kr={id:"formula.mutation.set-formula-calculation-start",type:E.CommandType.MUTATION,handler:()=>!0},jr={id:"formula.mutation.set-formula-calculation-stop",type:E.CommandType.MUTATION,handler:()=>!0},Zt={id:"formula.mutation.set-formula-calculation-notification",type:E.CommandType.MUTATION,handler:()=>!0},$r={id:"formula.mutation.set-formula-calculation-result",type:E.CommandType.MUTATION,handler:()=>!0},Jt={id:"formula.mutation.set-formula-data",type:E.CommandType.MUTATION,handler:(r,s)=>!0},Nt={id:"formula.mutation.set-other-formula",type:E.CommandType.MUTATION,handler:()=>!0},er={id:"formula.mutation.remove-other-formula",type:E.CommandType.MUTATION,handler:()=>!0},Ln={id:"formula.mutation.set-super-table",type:E.CommandType.MUTATION,handler:()=>!0},An={id:"formula.mutation.remove-super-table",type:E.CommandType.MUTATION,handler:()=>!0},Ir={id:"formula.mutation.set-super-table-option",type:E.CommandType.MUTATION,handler:()=>!0},Yr={id:"formula.mutation.unregister-function",type:E.CommandType.MUTATION,handler:()=>!0},We="P_1",Je="R_1",yt="L_1",Vt="LR_1",Pn="LO_1",va="LET",vt="LAMBDA",Oa="CUBE";class Z{constructor(){g(this,"_parent");g(this,"_token",Je);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 a=0;a<n;a++){const i=e[a];i instanceof Z?t.push(i.serialize()):t.push(i)}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 lt{constructor(s){g(this,"_cache");this._cache=new E.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 E.hashAlgorithm(s)}}const Qr='\\[([^\\[\\]\\/?:"<>|*\\\\]+)\\]',Fa="((?![\\[\\]\\/?*\\\\]).)*!",Ne="$",zr="\\s*?:\\s*?",Et=`'?(${Qr})?(${Fa})?'?`,Hr=`\\${Ne}?[A-Za-z]+\\${Ne}?[0-9]+`,Ua=`^(${_e.AT})?${Et}${Hr}${zr}${Hr}$`,Ot=`^${Et}\\s*?${Hr}(${He.POUND})?$`,wn=`^${Et}\\${Ne}?[0-9]+${zr}\\${Ne}?[0-9]+$`,xn=`^${Et}\\${Ne}?[A-Za-z]+${zr}\\${Ne}?[A-Za-z]+$`,Vn=`^${Et}\\s*?\\${Ne}?[0-9]+$`,vn=`^${Et}\\s*?\\${Ne}?[A-Za-z]+$`,On="[.*?]",Ma="{.*?}";function Fn(r){return new RegExp(Ot).test(r)||new RegExp(Ua).test(r)||new RegExp(wn).test(r)||new RegExp(xn).test(r)}var Ae=(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))(Ae||{});function tr(r){let s="";for(const e of r)typeof e=="string"?s+=e:s+=e.token;return s}const Ba=/[^0-9]/g,Ta=/[^A-Za-z]/g;function Ft(r){let s=r[0]==="$";const e=r.substring(1);let t=e.indexOf("$")>-1;return E.Tools.isStringNumber(e)&&s&&!t&&(s=!1,t=!0),s&&t?E.AbsoluteRefType.ALL:s?E.AbsoluteRefType.COLUMN:t?E.AbsoluteRefType.ROW:E.AbsoluteRefType.NONE}function ka(r){const s=r.split("!");s.length>1&&(r=s[s.length-1]);const e=r.split(":");return e.length>1?{startAbsoluteRefType:Ft(e[0]),endAbsoluteRefType:Ft(e[1])}:{startAbsoluteRefType:Ft(e[0])}}function Un(r=E.AbsoluteRefType.NONE){let s="",e="";return r===E.AbsoluteRefType.ROW?s="$":r===E.AbsoluteRefType.COLUMN?e="$":r===E.AbsoluteRefType.ALL&&(s="$",e="$"),{rowAbsoluteString:s,columnAbsoluteString:e}}function Ge(r){const{startColumn:s,startRow:e,endColumn:t,endRow:n,startAbsoluteRefType:a,endAbsoluteRefType:i,rangeType:o=E.RANGE_TYPE.NORMAL}=r,u=Un(a),l=Un(i);if(o===E.RANGE_TYPE.ROW||o===E.RANGE_TYPE.ALL){const d=`${u.rowAbsoluteString}${e+1}`,_=`${l.rowAbsoluteString}${n+1}`;return`${d}:${_}`}if(o===E.RANGE_TYPE.COLUMN){const d=`${u.columnAbsoluteString}${E.Tools.chatAtABC(s)}`,_=`${l.columnAbsoluteString}${E.Tools.chatAtABC(t)}`;return`${d}:${_}`}const c=`${u.columnAbsoluteString}${E.Tools.chatAtABC(s)}${u.rowAbsoluteString}${e+1}`,f=`${l.columnAbsoluteString}${E.Tools.chatAtABC(t)}${l.rowAbsoluteString}${n+1}`;return c===f?c:`${c}:${f}`}function Mn(r,s){return sr(r)?`'${r}'!${Ge(s)}`:`${r}!${Ge(s)}`}function Bn(r,s,e){return sr(r)||sr(s)?`'[${r}]${s}'!${Ge(e)}`:`[${r}]${s}!${Ge(e)}`}function ct(r){const{unitId:s,sheetName:e,range:t}=r;return s!=null&&s.length>0&&e!=null&&e.length>0?Bn(s,e,t):e!=null&&e.length>0?Mn(e,t):Ge(t)}function rr(r){const s=Number.parseInt(r.replace(Ba,""))-1,e=E.Tools.ABCatNum(r.replace(Ta,"")),t=Ft(r);return{row:s,column:e,absoluteRefType:t}}function Tn(r){const s=new RegExp(Qr).exec(r);let e="";s!=null&&(e=s[0].trim(),e=e.slice(1,e.length-1),r=r.replace(new RegExp(Qr),""));const t=r.indexOf("!");let n="",a="";return t>-1?(n=r.substring(0,t),n[0]==="'"&&n[n.length-1]==="'"&&(n=n.substring(1,n.length-1)),a=r.substring(t+1)):a=r,{refBody:a,sheetName:n,unitId:e}}function ke(r){const{refBody:s,sheetName:e,unitId:t}=Tn(r),n=s.indexOf(":");if(n===-1){const C=rr(s),A=C.row,L=C.column,w=C.absoluteRefType;return{unitId:t,sheetName:e,range:{startRow:A,startColumn:L,endRow:A,endColumn:L,startAbsoluteRefType:w,endAbsoluteRefType:w}}}const a=s.substring(0,n),i=s.substring(n+1),o=rr(a),u=rr(i),l=o.row,c=o.column,f=u.row,d=u.column;let _=E.RANGE_TYPE.NORMAL;return Number.isNaN(l)&&Number.isNaN(f)?_=E.RANGE_TYPE.COLUMN:Number.isNaN(c)&&Number.isNaN(d)&&(_=E.RANGE_TYPE.ROW),{unitId:t,sheetName:e,range:{startRow:l,startColumn:c,endRow:f,endColumn:d,startAbsoluteRefType:o.absoluteRefType,endAbsoluteRefType:u.absoluteRefType,rangeType:_}}}function nr(r){if(!Fn(r))return!1;const{range:s}=ke(r);return!(s.endColumn>=16384)}function ja(r,s){const e=(r==null?void 0:r.split(","))||[];return r===""||e.length===0?[]:kn(r)?e.map(a=>{const i=ke(a);return{unitId:i.unitId,sheetId:s(i.sheetName),range:i.range,sheetName:i.sheetName}}):[]}function kn(r){return((r==null?void 0:r.split(","))||[]).every(e=>nr(e.trim()))}function sr(r){return r.length===0?!1:!!(bn(r)||$a(r)||Ia(r)||Ya(r)||/[\s!$%^&*()+\-=\[\]{};':"\\|,.<>\/?]/.test(r))}function $a(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 Ia(r){return/^(R(-?[0-9]+)?C(-?[0-9]+)?|C(-?[0-9]+)?|R(-?[0-9]+)?)$/.test(r)}function Ya(r){return!new RegExp("^\\p{Letter}","u").test(r.charAt(0))}const jn=1e5,Wr=new lt(jn),Gr=new lt(jn);class ar extends E.Disposable{constructor(){super(...arguments);g(this,"_currentLexerNode",new Z);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 a=n[0];if(typeof a=="string")return;let i=a.getParent(),o=a;for(;i;){const u=i.getToken();if(u!==We&&!xt(u)&&i.getStartIndex()!==-1){const l=i.getChildren().indexOf(o);return{functionName:u,paramIndex:l}}o=i,i=i.getParent()}}checkIfAddBracket(e){let t=0,n=e.length-1,a=e[n];for(;(a===G.CLOSE_BRACKET||a===" ")&&n>=0;)a===G.CLOSE_BRACKET&&t++,a=e[--n];const i=this._getCurrentParamIndex(e,e.length-2);if(i==null||i===h.VALUE)return 0;const o=i[0];if(typeof o=="string")return 0;let u=o.getParent(),l=0;for(i[1]===G.OPEN_BRACKET&&l++;u;){const c=u.getToken();c!==We&&c!==G.COLON&&u.getStartIndex()!==-1&&c.toUpperCase()!==vt&&(t===0?l+=1:t--),u=u.getParent()}return l}sequenceNodesBuilder(e){const t=Gr.get(e);if(t)return[...t];const n=this._getSequenceArray(e);if(n.length===0)return;const a=this.getSequenceNode(n);return Gr.set(e,[...a]),a}convertRefersToAbsolute(e,t,n){const a=this.sequenceNodesBuilder(e);if(a==null)return e;let i="";e.substring(0,1)===oe.EQUALS&&(i=oe.EQUALS);for(let o=0,u=a.length;o<u;o++){const l=a[o];if(typeof l!="string"&&l.nodeType===Ae.REFERENCE){const{token:c,endIndex:f}=l,d=ke(c);if(d==null)continue;const{range:_,sheetName:C,unitId:A}=d,L={..._,startAbsoluteRefType:t,endAbsoluteRefType:n},w=ct({range:L,unitId:A,sheetName:C}),V=w.length-c.length;a[o]={...l,token:w,endIndex:f+V};for(let B=o+1;B<u;B++){const W=a[B];typeof W!="string"&&(W.startIndex+=V,W.endIndex+=V)}}}return`${i}${tr(a)}`}moveFormulaRefOffset(e,t,n,a=!1){const i=this.sequenceNodesBuilder(e);if(i==null)return e;const o=[];for(let u=0,l=i.length;u<l;u++){const c=i[u];if(typeof c=="string"||c.nodeType!==Ae.REFERENCE){o.push(c);continue}const{token:f}=c,d=ke(f),{sheetName:_,unitId:C}=d;let A=d.range;if(!a&&A.startAbsoluteRefType===E.AbsoluteRefType.ALL&&A.endAbsoluteRefType===E.AbsoluteRefType.ALL){o.push(c);continue}else A=E.moveRangeByOffset(A,t,n,a);let L="";E.isValidRange(A)?L=ct({range:A,unitId:C,sheetName:_}):L=h.REF,o.push({...c,token:L})}return`=${tr(o)}`}getSequenceNode(e){const t=[];let n=!1;for(let a=0,i=e.length;a<i;a++){const o=e[a],u=e[a-1],{segment:l,currentString:c}=o;if(c===G.DOUBLE_QUOTATION&&(n=!0),(l!==""||a===0)&&a!==i-1){t.push(c);continue}let f=(u==null?void 0:u.segment)||"",d=a-f.length,_=a-1,C=a-1;if(a===i-1&&this._isLastMergeString(c)&&(f+=c,_+=1),f===""||Ht.has(f)){t.push(c);continue}const A=f.trim(),L=this._replacePrefixString(A);if(n===!0&&A[A.length-1]===G.DOUBLE_QUOTATION)n=!1,this._processPushSequenceNode(t,Ae.STRING,f,d,_,C);else if(new RegExp(Ot).test(L)&&nr(L)){if(L.length!==A.length){const w=A.length-L.length;C+=w,d+=w,f=this._replacePrefixString(f)}this._processPushSequenceNode(t,Ae.REFERENCE,f,d,_,C)}else E.Tools.isStringNumber(A)?this._processPushSequenceNode(t,Ae.NUMBER,f,d,_,C):A.length>0&&this._processPushSequenceNode(t,Ae.FUNCTION,f,d,_,C);(a!==i-1||!this._isLastMergeString(c))&&t.push(c)}return this._mergeSequenceNodeReference(t)}_processPushSequenceNode(e,t,n,a,i,o){this._pushSequenceNode(e,{nodeType:t,token:n,startIndex:a,endIndex:i},o)}_getCurrentParamIndex(e,t){return this._nodeMaker(e,void 0,t)}_isLastMergeString(e){return e===G.DOUBLE_QUOTATION||E.Tools.isStringNumber(e)||!xt(e)}_mergeSequenceNodeReference(e){const t=[],n=e.length;let a=0;for(;a<n;){const i=e[a];if(typeof i=="string"){const o=e[a-1];if(i.trim()===G.CLOSE_BRACES&&o!=null&&typeof o!="string"&&o.nodeType===Ae.FUNCTION&&o.token.trim().substring(0,1)===G.OPEN_BRACES){o.nodeType=Ae.ARRAY,o.token+=i,o.endIndex+=i.length,a++;continue}t.push(i)}else{const o=e[a+1],u=e[a+2];o===G.COLON&&typeof i!="string"&&u!=null&&typeof u!="string"&&nr((i.token+o+u.token).trim())&&(i.nodeType=Ae.REFERENCE,i.token+=o+u.token,i.endIndex=u.endIndex,a+=2),t.push(i)}a++}return t}_pushSequenceNode(e,t,n){const a=n-t.startIndex+1;e.splice(e.length-a,a,t)}_replacePrefixString(e){const t=[];let n=!1;for(let a=0,i=e.length;a<i;a++){const o=e[a];if(o===Pa&&!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,a){if(t===!0){const d=Wr.get(e),_=a==null?void 0:a(e);if(d&&!_)return d}this._resetCurrentLexerNode(),this._currentLexerNode.setToken(Je);const i=[];let o=this._nodeMaker(e,i);if(o===h.VALUE||i.length===0)return o;let u=!1,l="",c=[];if(n){const{hasDefinedName:d,sequenceString:_,definedNames:C}=n(i);u=d,l=_,c=C}if(u&&(this._resetCurrentLexerNode(),this._currentLexerNode.setToken(Je),o=this._nodeMaker(`=${l}`),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(c),this._currentLexerNode}_suffixExpressionHandler(e){var o;const t=e.getChildren();if(!t)return!1;const n=t.length,a=[],i=[];for(let u=0;u<n;u++){const l=t[u];if(l instanceof Z)this._suffixExpressionHandler(l),a.push(l);else{const c=l.trim();if(c==="")continue;if(ut.has(c)){if(c===oe.PLUS&&this._deletePlusForPreNode(t[u-1]))continue;if(c!==oe.PLUS&&c!==oe.MINUS&&this._deletePlusForPreNode(t[u-1]))return!1;for(;i.length>0;){const f=(o=i[i.length-1])==null?void 0:o.trim();if(!f||f===G.OPEN_BRACKET)break;const d=Ht.get(f),_=Ht.get(c);if(!d||!_)break;if(_>=d)a.push(i.pop());else break}i.push(l)}else if(c===G.OPEN_BRACKET)i.push(l);else if(c===G.CLOSE_BRACKET)this._processSuffixExpressionCloseBracket(a,i,t,u);else{if(this._checkCloseBracket(t[u-1]))return!1;a.push(l)}}}return this._processSuffixExpressionRemain(a,i,e)}_processSuffixExpressionRemain(e,t,n){const a=e.length,i=e[a-1];for(;t.length>0;){const o=t.pop();if(!(i instanceof Z)&&(o===G.OPEN_BRACKET||o===G.CLOSE_BRACKET))return!1;e.push(o)}return n.setChildren(e),!0}_processSuffixExpressionCloseBracket(e,t,n,a){var i;if(this._checkOpenBracket(n[a-1])||this._checkOperator(n[a-1]))return!1;for(;t.length>0;){const o=(i=t[t.length-1])==null?void 0:i.trim();if(!o)break;if(o===G.OPEN_BRACKET){t.pop();break}e.push(t.pop())}}_checkCloseBracket(e){return e===G.CLOSE_BRACKET}_checkOpenBracket(e){return e===G.OPEN_BRACKET}_checkOperator(e){return e==null||e instanceof Z?!1:ut.has(e)}_deletePlusForPreNode(e){if(e==null)return!0;if(!(e instanceof Z)){const t=e.trim();if(ut.has(t)||t===G.OPEN_BRACKET)return!0}return!1}_resetCurrentLexerNode(){this._currentLexerNode=new Z}_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 Z)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,a,i,o,u,l;const e=(n=this._currentLexerNode)==null?void 0:n.getParent();let t=!1;if(e&&e.getToken()===yt){if((a=e==null?void 0:e.getParent())!=null&&a.getParent()){const c=(o=(i=this._currentLexerNode.getParent())==null?void 0:i.getParent())==null?void 0:o.getParent();c&&(this._currentLexerNode=c),t=!0}}else if(e!=null&&e.getParent()){const c=(u=this._currentLexerNode.getParent())==null?void 0:u.getParent();c&&(this._currentLexerNode=c),t=!0}for(let c=0;c<this._upLevel;c++){const f=(l=this._currentLexerNode)==null?void 0:l.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 Z)&&this.isColonOpen()){const a=new Z;a.setToken(e),a.setParent(this._currentLexerNode),e=a}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 a=new Z;a.setToken(e),a.setIndex(t-e.length,t-1),this._setCurrentLexerNode(a,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!!(ut.has(e)||e===G.OPEN_BRACKET||e===G.COMMA||e==="")}_getSequenceArray(e){const t=[];return this._nodeMaker(e,t),t}_resetTemp(){this._currentLexerNode=new Z,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!==He.POUND)return!0;let a=n[++t];for(;a===" ";)a=n[++t];return!!xt(a)}_nodeMaker(e,t,n){e.substring(0,1)===oe.EQUALS&&(e=e.substring(1));let a=!1;e.substring(0,1)===oe.MINUS&&(e=`0${e}`,a=!0);const i=e.split(""),o=i.length;let u=0;for(this._resetTemp();u<o;){const l=i[u];if(n===u)return[this._currentLexerNode,l];if(l===G.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 c=i[u+1];if(c&&c===G.CLOSE_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==o-1)return h.VALUE;this._addSequenceArray(t,l,u,a),u++,this._addSequenceArray(t,c,u,a),u++,this._closeBracket();continue}else c&&this._newAndPushCurrentLexerNode(We,u)}else this._pushNodeToChildren(l),this._openBracket(0);else if(l===G.CLOSE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){this._pushNodeToChildren(this._segment),this._resetSegment();const c=this._getCurrentBracket();if(c===0)this._pushNodeToChildren(l);else if(c===1){const f=i[u+1];if(f&&f===G.OPEN_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==o-1)return h.VALUE;this._newAndPushCurrentLexerNode(yt,u,!0),this._openLambda()}else if(!this._setAncestorCurrentLexerNode()&&u!==o-1)return h.VALUE}else return h.VALUE;this._closeBracket()}else if(l===G.OPEN_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(l),this._openBraces();else if(l===G.CLOSE_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(l),this._pushNodeToChildren(this._segment),this._resetSegment(),this._closeBraces();else if(l===G.OPEN_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._segment.length>0&&this._openTableBracket(),this._pushSegment(l),this._openSquareBracket();else if(l===G.CLOSE_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._closeSquareBracket(),this.isSquareBracketClose()?(this._pushSegment(l),this._isTableBracket()&&(this._pushNodeToChildren(this._segment),this._resetSegment()),this._closeTableBracket()):this._pushSegment(l);else if(l===G.DOUBLE_QUOTATION&&this.isSingleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){if(this.isDoubleQuotationClose())this._openDoubleQuotation();else{const c=i[u+1];c&&c===G.DOUBLE_QUOTATION?u++:this._closeDoubleQuotation()}this._pushSegment(l)}else if(l===G.SINGLE_QUOTATION&&this.isDoubleQuotationClose()){if(this.isSingleQuotationClose())this._openSingleQuotation();else{const c=i[u+1];c&&c===G.SINGLE_QUOTATION?u++:this._closeSingleQuotation()}this._pushSegment(l)}else if(l===G.COMMA&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const c=this._getCurrentBracket();if(c===1||c==null){if(this._pushNodeToChildren(this._segment),this._resetSegment(),!this._setParentCurrentLexerNode()&&u!==o-1&&c!=null)return h.VALUE;this._newAndPushCurrentLexerNode(We,u)}else{const f=new Z;f.setToken(Oa);const d=new Z;d.setToken(We),d.changeToParent(f);const _=this._currentLexerNode.getParent();if(_&&_.getToken()===G.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(We,u)}}else if(l===G.COLON&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const c=new Z;c.setToken(l);const f=new Z;f.setToken(We),f.setParent(c);const d=new Z;d.setToken(We),d.setParent(c),c.getChildren().push(f,d);let _=c,C=0;if(this._segmentCount()>0){let A,L,w=0;const V=this._segment.trim(),B=V[0],W=V[1];if(B===_e.MINUS&&(A=new Z,A.setToken(_e.MINUS),w++),(B===_e.AT||W===_e.AT)&&(L=new Z,L.setToken(_e.AT),A&&(A.addChildren(L),L.setParent(A)),w++),w>0&&(this._segment=V.slice(w)),C=w,L)if(L.addChildren(c),c.setParent(L),L.getParent()){const ge=L.getParent();ge&&(_=ge)}else _=L;else A&&(_=A,A.addChildren(c),c.setParent(A));const re=new Z;re.setToken(this._segment),re.setParent(f),f.getChildren().push(re),this._resetSegment()}else{const A=this._getLastChildCurrentLexerNode();A&&A.changeToParent(f)}this._setCurrentLexerNode(_),this._currentLexerNode=d,this._openColon(C)}else if(Aa.has(l)&&this._checkSimilarErrorToken(l,u,i)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()){this._pushNodeToChildren(this._segment);const c=new Z;c.setToken(l);const f=this._getLastChildCurrent();f instanceof Z?f.changeToParent(c):f!==!1&&(c.getChildren().push(f),this._removeLastChild()),this._pushNodeToChildren(c),c.setParent(this._currentLexerNode),this._resetSegment()}else if(ut.has(l)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()){let c=this._segment.trim();if(l===oe.MINUS&&c===""){const f=this._findPreviousToken(i,u-1)||"";if(this._negativeCondition(f)){this._pushSegment(oe.MINUS),this._addSequenceArray(t,l,u,a),u++;continue}}else if(this._segment.length>0&&this._isScientificNotation(i,u,l)){this._pushSegment(l),this._addSequenceArray(t,l,u,a),u++;continue}else this._segment.length>0&&c===""?c=this._segment:(this._pushNodeToChildren(this._segment),c="");if(l===oe.LESS_THAN||l===oe.GREATER_THAN){const f=i[u+1];f&&ut.has(l+f)?(this._pushNodeToChildren(c+l+f),u++):this._pushNodeToChildren(c+l)}else this._pushNodeToChildren(c+l);this._resetSegment()}else this._pushSegment(l);this._addSequenceArray(t,l,u,a),u++}this._pushNodeToChildren(this._segment)}_isScientificNotation(e,t,n){const a=e[t-2];if(a&&Number.isNaN(Number(a))||!(n===oe.MINUS||n===oe.PLUS))return!1;const i=e[t+1];if(i&&Number.isNaN(Number(i)))return!1;const o=e[t-1];return o&&o.toUpperCase()==="E"}_addSequenceArray(e,t,n,a){a&&n===0||e==null||e.push({segment:this._segment,currentString:t,cur:n,currentLexerNode:this._currentLexerNode})}}class ir extends E.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 et=(r=>(r.FALSE="FALSE",r.TRUE="TRUE",r))(et||{}),ft=(r=>(r[r.SUCCESS=0]="SUCCESS",r[r.ERROR=1]="ERROR",r))(ft||{}),ht=(r=>(r.ALL="#All",r.DATA="#Data",r.HEADERS="#Headers",r.TOTALS="#Totals",r))(ht||{}),Fe=(r=>(r[r.FRONT=0]="FRONT",r[r.BACK=1]="BACK",r))(Fe||{});class Qa{constructor(){g(this,"_cache",new Map);g(this,"_continueBuildingCache",new Map)}set(s,e,t,n,a){if(!this.shouldContinueBuildingCache(s,e,t,a))return;let i=this._cache.get(s);i==null&&(i=new Map,this._cache.set(s,i));let o=i.get(e);o==null&&(o=new Map,i.set(e,o));let u=o.get(t);u==null&&(u=new Map,o.set(t,u));let l=u.get(n);l==null&&(l=new Set,u.set(n,l)),l.add(a)}getCellValuePositions(s,e,t){var n,a;return(a=(n=this._cache.get(s))==null?void 0:n.get(e))==null?void 0:a.get(t)}getCellPositions(s,e,t,n){var a,i,o;return(o=(i=(a=this._cache.get(s))==null?void 0:a.get(e))==null?void 0:i.get(t))==null?void 0:o.get(n)}getCellPosition(s,e,t,n,a,i){const o=this.getCellPositions(s,e,t,n);if(o!=null){for(const u of o)if(u>=a&&u<=i)return u}}setContinueBuildingCache(s,e,t,n,a){let i=this._continueBuildingCache.get(s);i==null&&(i=new Map,this._continueBuildingCache.set(s,i));let o=i.get(e);o==null&&(o=new Map,i.set(e,o));let u=o.get(t);if(u==null){u={startRow:n,endRow:a},o.set(t,u);return}u.startRow=Math.min(u.startRow,n),u.endRow=Math.max(u.endRow,a)}shouldContinueBuildingCache(s,e,t,n){var u,l;const a=(l=(u=this._continueBuildingCache.get(s))==null?void 0:u.get(e))==null?void 0:l.get(t);if(a==null)return!0;const{startRow:i,endRow:o}=a;return!(n>=i&&n<=o)}canUseCache(s,e,t,n,a){var l,c;if(t===-1||n===-1||a===-1)return!1;const i=(c=(l=this._continueBuildingCache.get(s))==null?void 0:l.get(e))==null?void 0:c.get(t);if(i==null)return!1;const{startRow:o,endRow:u}=i;return!(n>u||a<o)}clear(){this._cache.clear(),this._continueBuildingCache.clear()}}const tt=new Qa;var Xe=(r=>(r[r.MIN=0]="MIN",r[r.MAX=1]="MAX",r))(Xe||{}),Pe=(r=>(r[r.NORMAL=0]="NORMAL",r[r.MIN=1]="MIN",r[r.MAX=2]="MAX",r))(Pe||{});function $n(){return Intl&&Intl.Collator?new Intl.Collator(void 0,{numeric:!1}).compare:(r,s)=>r.localeCompare(s)}function za(r){return r.indexOf("*")>-1||r.indexOf("?")>-1}function In(r,s){const e=Wa(s).replace(/~?[*?]/g,n=>n.startsWith("~")?`\\${n.substring(1)}`:n==="*"?".*":n==="?"?".":n);return new RegExp(`^${e}$`).test(r)}function Yn(r){return r.replace(/~?[*?]/g,s=>s.startsWith("~")?s.substring(1):" ")}function Ha(r,s,e){let t=!1;switch(e){case M.EQUALS:t=In(r,s);break;case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:t=In(r,s)||r>Yn(s);break;case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:t=r<Yn(s);break}return t}function Wa(r){return r.replace(/[.+^${}()|[\]\\]/g,"\\$&")}class Ke extends ir{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,t=!1){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=Fe.FRONT){let t=this.getValue().toString();if(typeof s=="string")e===Fe.FRONT?t=s+t:t+=s;else if(typeof s=="number")e===Fe.FRONT?t=s.toString()+t:t+=s.toString();else if(typeof s=="boolean"){const n=s?"TRUE":"FALSE";e===Fe.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 Ga=1e3,Qn=new lt(Ga);class m extends Ke{constructor(s,e=""){super(s),this._errorType=s,this._errorContent=e}static create(s,e=""){const t=`${s}-${e}`,n=Qn.get(t);if(n)return n;const a=new m(s,e);return Qn.set(t,a),a}getValue(){return this._errorType}getErrorType(){return this._errorType}getErrorContent(){return this._errorContent}isEqualType(s){return s.getErrorType()===this.getErrorType()}isError(){return!0}}function zn(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 Hn(r,s){return r+s}function Wn(r,s){return r-s}function Ct(r,s){return r*s}function Gn(r,s){return r/s}function Xn(r,s){const e=10**Math.floor(s),t=Xr(r,e);return Math.round(Ct(r,e)+t)/e}function Kn(r,s){const e=10**Math.floor(s),t=Xr(r,e);return Math.floor(Ct(r,e)+t)/e}function qn(r,s){const e=10**Math.floor(s),t=Xr(r,e);return Math.ceil(Ct(r,e)-t)/e}function Xr(r,s){return Number.EPSILON*Math.max(1,Math.abs(Ct(r,s)))}function Zn(r,s){return r-s*Math.floor(r/s)}function Jn(r,s){return r**s}function Xa(r){return Math.sqrt(r)}function Nn(r,s){return r===s}function Ka(r,s){return r>s}function qa(r,s){return r>=s}function Za(r,s){return r<s}function Ja(r,s){return r<=s}function Kr(r,s=15){return Number.parseFloat(r.toPrecision(s))}function Na(r,s){return Math.abs(r-s)<Number.EPSILON}function ei(r,s=12){const e=Kr(r,s);return Na(r,e)?e:Kr(r)}var ti=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ri(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var es={exports:{}};(function(r,s){(function(e,t){r.exports=t()})(typeof self<"u"?self:ti,function(){return function(){var e={d:function(R,p){for(var y in p)e.o(p,y)&&!e.o(R,y)&&Object.defineProperty(R,y,{enumerable:!0,get:p[y]})},o:function(R,p){return Object.prototype.hasOwnProperty.call(R,p)}},t={};e.d(t,{default:function(){return Il}});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 a=/^([a-z\d]+)(?:[_-]([a-z\d]+))?(?:\.([a-z\d]+))?(?:@([a-z\d]+))?$/i,i={},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=a.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 l(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:a.test(R)?R:null}function c(R){const p=l(R);let y=null;if(p){const P=u(p);y=i[P.lang]||i[P.language]||null}return y}function f(R){return Object.assign({},o,R)}function d(R,p){const y=typeof p=="object"?p:u(p);return i[y.lang]=f(R),y.language===y.lang||i[y.language]||(i[y.language]=f(R)),i[y.lang]}const _=f({group:","});function C(R,p){if(typeof R!="number")return R;if(R<0)return-C(-R,p);if(p){const y=10**(p||0)||1;return C(R*y,0)/y}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 A(R,p,y){const P=R<0?-1:1,v=10**(p||2),T=10**(y||2);let O,x,D=Math.abs(R),$=0,z=0,F=0,H=1;if((R=D)%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(D=1/(D-Math.floor(D)),O=H,H=H*Math.floor(D)+$,$=O,z=F,F=Math.floor(R*H+.5),F>=v||H>=T)return[P*z,$];while(Math.abs(R-F/H)>=1e-10&&D!==Math.floor(D));x=[P*F,H]}return x}const L={overflow:"######",dateErrorThrows:!1,dateErrorNumber:!0,dateSpanLarge:!0,leap1900:!0,nbsp:!0,throws:!0,invalid:"######",locale:"",ignoreTimezone:!1},w=Object.assign({},L);function V(R){if(R===null&&(R=L),R){for(const p in R)if(p in L){const y=R[p];w[p]=y==null?L[p]:y}}return{...w}}const B={"#":"",0:"0","?":" "},W={"@":"text","-":"minus","+":"plus"},re=["#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"],ge=["¤","$","£","¥","֏","؋","৳","฿","៛","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"],Ee=new RegExp("["+ge.join("")+"]");function de(R,p,y){return p[y+"_max"]=R.length,p[y+"_min"]=R.replace(/#/g,"").length,p}const ae={};function N(R){if(!(R in ae)){const p=[],y=R.replace(/^[#,]+/,"").replace(/[1-9]\d*/g,P=>"?".repeat(P.length));for(let P=0;P<y.length;P++){const v=y.charAt(P);p[P]=v in B?B[v]:v}ae[R]=p.join("")}return ae[R]}function J(R,p){typeof R=="string"&&(R={type:"string",value:R=R.replace(/ /g,B["?"])}),p.push(R)}function fe(R){const p=[],y={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",T=!1,O=null;const x=[];let D,$,z=!1;for(;P&&!T;){if(D=/^General/i.exec(P))y.general=!0,J({type:"general"},p);else if(v==="int"&&(D=/^[#?0]+(?:,[#?0]+)*/.exec(P))||v==="den"&&(D=/^[#?\d]+/.exec(P))||(D=/^[#?0]+/.exec(P)))y[v+"_pattern"].push(D[0]),O={type:v,num:D[0]},J(O,p);else if((D=/^\//.exec(P))&&y[v+"_pattern"].length){if(!O)throw new SyntaxError("Missing a numerator in pattern ".concat(R));y.fractions=!0,y.num_pattern.push(y[v+"_pattern"].pop()),O.type="num",v="den",J({type:"div"},p)}else if(D=/^,+/.exec(P)){const U=P.charAt(1)in B;$.slice(-1)in B&&(D[0].length>1||!U)?y.scale=.001**D[0].length:y.dec_fractions||J(D[0],p)}else{if(D=/^;/.exec(P)){T=!0;break}if(D=/^[@+-]/.exec(P))D[0]==="@"&&(y.text=!0),J({type:W[D[0]]},p);else if(D=/^(?:\[(h+|m+|s+)\])/i.exec(P)){const U=D[1].toLowerCase(),Q=U[0],q={type:"",size:0,date:1,raw:D[0],pad:U.length};Q==="h"?(q.size=16,q.type="hour-elap"):Q==="m"?(q.size=32,q.type="min-elap"):(q.size=64,q.type="sec-elap"),y.date=y.date|q.size,x.push(q),J(q,p)}else if(D=/^(?:B2)/i.exec(P))z||(y.date_system=6);else if(D=/^(?:B1)/i.exec(P))z||(y.date_system=1);else if(D=/^(?:([hHmMsSyYbBdDegG])\1*)/.exec(P)){const U={type:"",size:0,date:1,raw:D[0]},Q=D[0].toLowerCase(),q=Q[0];if(Q==="y"||Q==="yy")U.size=2,U.type="year-short";else if(q==="y"||q==="e")U.size=2,U.type="year";else if(Q==="b"||Q==="bb")U.size=2,U.type="b-year-short";else if(q==="b")U.size=2,U.type="b-year";else if(Q==="d"||Q==="dd")U.size=8,U.type="day",U.pad=/dd/.test(Q);else if(Q==="ddd")U.size=8,U.type="weekday-short";else if(q==="d")U.size=8,U.type="weekday";else if(q==="h")U.size=16,U.type="hour",U.pad=/hh/i.test(Q);else if(q==="m"){Q.length===3?(U.size=4,U.type="monthname-short"):Q.length===5?(U.size=4,U.type="monthname-single"):Q.length>=4&&(U.size=4,U.type="monthname");const ne=x[x.length-1];!U.type&&ne&&!ne.used&&80&ne.size&&(ne.used=!0,U.size=32,U.type="min",U.pad=/mm/.test(Q)),U.type||(U.size=4,U.type="month",U.pad=/mm/.test(Q),U.indeterminate=!0)}else if(q==="s"){U.size=64,U.type="sec",U.pad=/ss/.test(Q);const ne=x[x.length-1];ne&&32&ne.size?U.used=!0:ne&&ne.indeterminate&&(delete ne.indeterminate,ne.size=32,ne.type="min",U.used=!0)}y.date=y.date|U.size,y.date_eval=!0,x.push(U),J(U,p)}else if(D=/^(?:AM\/PM|am\/pm|A\/P)/.exec(P))y.clock=12,y.date=16|y.date,y.date_eval=!0,J({type:"am",short:D[0]==="A/P"},p);else if(y.date&&(D=/^\.0{1,3}/i.exec(P))){const U=D[0].length-1,Q=[64,128,256,512][U];y.date=y.date|Q,y.date_eval=!0,y.sec_decimals=Math.max(y.sec_decimals,U),J({type:"subsec",size:Q,decimals:U,date:1,raw:D[0]},p)}else if((D=/^\\(.)/.exec(P))||(D=/^"([^"]*?)"/.exec(P)))J(D[1],p);else if(D=/^\[(<[=>]?|>=?|=)\s*(-?[.\d]+)\]/.exec(P))y.condition=[D[1],parseFloat(D[2],10)];else if(D=/^\[\$([^\]]+)\]/.exec(P)){const U=D[1].split("-"),Q=U.length<2?"":U[U.length-1],q=U[0];q&&J(q,p);const ne=l(Q);ne&&(y.locale=ne);const ue=parseInt(Q,16);isFinite(ue)&&16711680&ue&&(ue>>16&255)===6&&(y.date_system=6),z=!0}else if(D=/^\[(black|blue|cyan|green|magenta|red|white|yellow|color\s*(\d+))\]/i.exec(P))y.color=D[2]?re[parseInt(D[2],10)]||"#000":D[1].toLowerCase();else if(!(D=/^\[(DBNum1|ENG|HIJ|JPN|TWN)\]/i.exec(P))){if(D=/^%/.exec(P))y.scale=100,y.percent=!0,J("%",p);else if(D=/^_(\\.|.)/.exec(P))J(" ",p);else if(D=/^\./.exec(P))J({type:"point",value:D[0]},p),y.dec_fractions=!0,v="frac";else if(D=/^[Ee]([+-]?|(?=[0#?]))/.exec(P))y.exponential=!0,y.exp_plus=D[1]==="+",v="man",J({type:"exp",plus:D[1]==="+"},p);else if(!(D=/^\*(\\.|.)/.exec(P))){if(D=/^[BENn[]/.exec(P))throw new SyntaxError("Unexpected char ".concat(P.charAt(0)," in pattern ").concat(R));P[0]==="("&&(y.parens=!0),D=[P[0]],J(D[0],p)}}}$=D[0],P=P.slice(D?D[0].length:1)}if(y.pattern=R.slice(0,R.length-P.length),/^((?:\[[^\]]+\])+)(;|$)/.test(y.pattern)&&!/^\[(?:h+|m+|s+)\]/.test(y.pattern)&&J({type:"text"},p),y.fractions&&y.dec_fractions||y.fractions&&y.exponential)throw new SyntaxError("Invalid pattern: ".concat(y.pattern));const F=y.int_pattern.join("");if(y.grouping=F.indexOf(",")>=0,y.grouping){const U=F.split(","),Q=U.length;Q===2?(y.group_pri=U[1].length,y.group_sec=y.group_pri):Q>2&&(y.group_pri=U[Q-1].length,y.group_sec=U[Q-2].length)}else y.group_pri=0,y.group_sec=0;de(F.replace(/[,]/g,""),y,"int"),de(y.frac_pattern.join(""),y,"frac"),de(y.man_pattern.join(""),y,"man");let H=y.num_pattern.join(""),ee=y.den_pattern.join("");const K=/\?/.test(ee)||/\?/.test(H);return ee=ee.replace(/\d/g,K?"?":"#"),K&&(ee=ee.replace(/#$/g,"?")),de(H,y,"num"),de(ee,y,"den"),K&&(H=H.replace(/#$/g,"?")),y.int_padding=N(y.int_pattern.join("")),y.man_padding=N(y.man_pattern.join("")),y.num_padding=N(H),y.den_padding=N(ee),y.den_pattern.length&&(y.denominator=parseInt(y.den_pattern.join("").replace(/\D/g,""),10)),y.integer=!!y.int_pattern.join("").length,y.fractions&&p.forEach((U,Q)=>{const q=p[Q+1];U.type==="string"&&q&&(q.type==="num"?U.rule="num+int":q.type==="div"?U.rule="num":q.type==="den"&&(U.rule="den"))}),y}const gt=R=>{const p=R.condition;p&&p[1]<0&&(p[0]==="<"||p[0]==="<="||p[0]==="=")||R.tokens.unshift({type:"minus",volatile:!0})};function ca(R){const p=[];let y,P=!1,v=null,T=R,O=0,x=!1,D=0,$=0;do{if(x=fe(T),(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&&($++,P=!0),x.text){if(v)throw new Error("Unexpected partition");v=x}x.locale&&(y=l(x.locale)),p.push(x),O=T.charAt(x.pattern.length)===";"?1:0,T=T.slice(x.pattern.length+O),D++}while(O&&D<4&&$<3);if(O)throw new Error("Unexpected partition");if($>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 F=p.length;if(F===1&&(p[1]=fe("General"),p[1].generated=!0),F<3){const H=p[0],ee=p[1];if(gt(H),ee.condition)gt(ee);else{const K=H.condition;(K[0]==="="||K[1]>=0&&(K[0]===">"||K[0]===">="))&&ee.tokens.unshift({type:"minus",volatile:!0})}}else p.forEach(gt)}else{if(p.length<4&&v)for(let F=0,H=p.length;F<H;F++)p[F]===v&&p.splice(F,1);if(p.length<1&&v&&(p[0]=fe("General"),p[0].generated=!0),p.length<2){const F=fe(p[0].pattern);F.tokens.unshift({type:"minus",volatile:!0}),F.generated=!0,p.push(F)}if(p.length<3){const F=fe(p[0].pattern);F.generated=!0,p.push(F)}if(p.length<4)if(v)p.push(v);else{const F=fe("@");F.generated=!0,p.push(F)}p[0].condition=[">",0],p[1].condition=["<",0],p[2].condition=null}return{pattern:R,partitions:p,locale:y}}const ve=Math.floor;function fa(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 y=R+68569+2415019;const P=ve(4*y/146097);y-=ve((146097*P+3)/4);const v=ve(4e3*(y+1)/1461001);y=y-ve(1461*v/4)+31;const T=ve(80*y/2447),O=y-ve(2447*T/80);y=ve(T/11);const x=T+2-12*y;return[0|100*(P-49)+v+y,0|x,0|O]}function wl(R){return fa(R+1462)}function xl(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,y=.1335;let P=R+466935;const v=ve(P/10631);P-=10631*v;const T=ve((P-y)/p);P-=ve(T*p+y);const O=ve((P+28.5001)/29.5);return O===13?[30*v+T,12,30]:[30*v+T,O,P-ve(29.5001*O-29)]}function ha(R){let p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,y=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2];const P=ve(R);return p===6?xl(P):p===-1?wl(P):fa(P,y)}const Ur=Math.floor,_n=86400;function Mr(R,p){let y=null;if(Array.isArray(R)){const[P,v,T,O,x,D]=R;y=Date.UTC(P,v==null?0:v-1,T!=null?T:1,O||0,x||0,D||0)}else if(R instanceof Date&&(y=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()),y=1*P}if(y!=null&&isFinite(y)){const P=y/864e5;return P-(P<=-25509?-25568:-25569)}return R}function ma(R,p){let y=0|R;const P=_n*(R-y);let v=Ur(P);P-v>.9999&&(v+=1,v===_n&&(v=0,y+=1));const T=v<0?_n+v:v,[O,x,D]=ha(R,0,p&&p.leap1900),$=Ur(T/60/60)%60,z=Ur(T/60)%60,F=Ur(T)%60;if(p&&p.nativeDate){const H=new Date(0);return H.setUTCFullYear(O,x-1,D),H.setUTCHours($,z,F),H}return[O,x,D,$,z,F]}function Vl(R){return!!(R[0]&&R[0].percent||R[1]&&R[1].percent||R[2]&&R[2].percent||R[3]&&R[3].percent)}function vl(R){return!!(R[0]&&R[0].date||R[1]&&R[1].date||R[2]&&R[2].date||R[3]&&R[3].date)}function Ol(R){const[p,y,P,v]=R;return!(p&&!p.generated||y&&!y.generated||P&&!P.generated||!v||!v.text||v.generated)}const Fl={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},Ul=[["DMY",1],["DM",2],["MY",3],["MDY",4],["MD",5],["hmsa",6],["hma",7],["hms",8],["hm",9]],Ml={total:1,sign:0,period:0,int:1,frac:0},Yt=(R,p)=>R.replace(/\./,p.decimal);function da(R,p,y,P){const v=0|y;if(typeof y=="string")R.push(y);else if(y===v)R.push(Math.abs(v));else{const T=Math.abs(y);let O=T?Math.floor(Math.log10(T)):0,x=O<0?T*10**-O:T/10**O;x===10&&(x=1,O++);const D=function(z){let F=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];const H=Math.abs(z);if(!H)return Ml;const ee=F&&z<0?1:0,K=Math.floor(H),U=Math.floor(Math.log10(H)+1);let Q=0,q=0;if(K!==H){Q=1;const ne=String(C(U<0?H*10**-U:H/10**U,15));let ue=ne.length,ie=!0,De=0;for(;De<=ne.length;){if(ne[De]==="."){ue--;break}ne[De]==="0"&&ie?ue--:ie=!1,De++}q=ue-U,q<0&&(q=0,Q=0)}return{total:ee+Math.max(U,1)+Q+q,digits:Math.max(U,0)+q,sign:ee,period:Q,int:Math.max(U,1),frac:q}}(T),$=()=>{const z=Math.abs(O);let F;F=x===1?x:C(x,5),R.push(Yt(F+"",P),P.exponent,O<0?P.negative:P.positive,z<10?"0":"",z)};if(O>=-4&&O<=-1){const z=T.toPrecision(10+O).replace(/\.?0+$/,"");R.push(Yt(z,P))}else if(O===10){const z=T.toFixed(10).slice(0,12).replace(/\.$/,"");R.push(Yt(z,P))}else if(Math.abs(O)<=9)if(D.total<=11){const z=C(T,9).toFixed(D.frac);R.push(Yt(z,P))}else O===9?R.push(Math.floor(T)):O>=0&&O<9?R.push(C(T,9-O)):$();else D.total>=12?$():Math.floor(T)===T?R.push(Math.floor(T)):R.push(Yt(C(T,9).toFixed(D.frac),P))}return R}const Qt=86400,ga={int:"integer",frac:"fraction",man:"mantissa",num:"numerator",den:"denominator"},pa=function(R){let p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;const y=Math.floor(Math.log10(R));return p>1?Math.floor(y/p)*p:y};function Ra(R,p,y,P){let v="",T="",O="",x="",D="",$=0,z=0|R,F=0,H=0,ee=1,K=0,U=0,Q=0,q=0,ne=0,ue=0;const ie=P||_;if(!p.text&&isFinite(p.scale)&&p.scale!==1&&(R=function(se){if(se===0)return se;const le=Math.ceil(Math.log10(se<0?-se:se)),k=10**(16-Math.floor(le));return Math.round(se*k)/k}(R*p.scale)),p.exponential){let se=Math.abs(R);if(se){const le=10**-pa(se,p.int_max),k=C(se*le,p.frac_max)/le;$=pa(k,p.int_max)}se/=10**$,R=R<0?-se:se,v+=Math.abs($)}if(p.integer){const se=Math.abs(C(R,p.fractions?1:p.frac_max));D+=se<1?"":Math.floor(se)}if(p.grouping){let se="",le=D.length;for(le>p.group_pri&&(le-=p.group_pri,se=ie.group+D.slice(le,le+p.group_pri)+se);le>p.group_sec;)le-=p.group_sec,se=ie.group+D.slice(le,le+p.group_sec)+se;D=le?D.slice(0,le)+se:se}p.dec_fractions&&(x=String(C(R,p.frac_max)).split(".")[1]||"");let De=!1;if(p.fractions){const se=Math.abs(p.integer?R%1:R);if(se)if(De=!0,isFinite(p.denominator))O+=p.denominator,T+=C(se*p.denominator),T==="0"&&(T="",O="",De=!1,D||(D="0"));else{const le=A(se,p.integer?p.num_max:1/0,p.den_max);T+=le[0],O+=le[1],p.integer&&T==="0"&&(D||(D="0"),T="",O="",De=!1)}}if(p.date){z=Math.trunc(R);const se=Qt*(R-z);if(F=Math.floor(se),ue=se-F,Math.abs(ue)<1e-6?ue=0:ue>.9999&&(ue=0,F+=1,F===Qt&&(F=0,z+=1)),ue){const le=512&p.date||256&p.date||128&p.date;(le===512&&ue>.9995||le===256&&ue>.995||le===128&&ue>.95||!le&&ue>=.5)&&(F++,ue=0)}if(z||p.date_system){const le=ha(R,p.date_system,y.leap1900);H=le[0],ee=le[1],K=le[2]}if(F){const le=F<0?Qt+F:F;ne=Math.floor(le)%60,q=Math.floor(le/60)%60,Q=Math.floor(le/60/60)%60}if(U=(6+z)%7,p.date_eval&&(Ze=R,pt=z+F/Qt,y.dateSpanLarge?Ze<-694324||pt>=35830291:Ze<0||pt>=2958466)){if(y.dateErrorThrows)throw new Error("Date out of bounds");return y.dateErrorNumber?da(R<0?[ie.negative]:[],0,R,ie).join(""):y.overflow}}var Ze,pt;if(p.int_padding&&(D=p.int_padding.length===1?D||p.int_padding:p.int_padding.substring(0,p.int_padding.length-D.length)+D),p.num_padding&&(T=p.num_padding.length===1?T||p.num_padding:p.num_padding.substring(0,p.num_padding.length-T.length)+T),p.den_padding&&(O=p.den_padding.length===1?O||p.den_padding:O+p.den_padding.slice(O.length)),p.man_padding){const se=p.exp_plus?"+":"";v=p.man_padding.length===1?($<0?"-":se)+(v||p.man_padding):($<0?"-":se)+p.man_padding.slice(0,p.man_padding.length-v.length)+v}const I=[];let Oe=0;const ot={int:0,frac:0,man:0,num:0,den:0};for(let se=0,le=p.tokens.length;se<le;se++){const k=p.tokens[se],Br=k.num?k.num.length:0;if(k.type==="string")k.rule?k.rule==="num"?De?I.push(k.value):(p.num_min>0||p.den_min>0)&&I.push(k.value.replace(/./g,B["?"])):k.rule==="num+int"?De&&D?I.push(k.value):p.den_min>0&&(D||p.num_min)&&I.push(k.value.replace(/./g,B["?"])):k.rule==="den"&&(De?I.push(k.value):(p.den_min>0||p.den_min>0)&&I.push(k.value.replace(/./g,B["?"]))):I.push(k.value);else if(k.type==="error")I.push(y.invalid);else if(k.type==="point")I.push(p.date?k.value:ie.decimal);else if(k.type==="general")da(I,0,R,ie);else if(k.type==="exp")I.push(ie.exponent);else if(k.type==="minus")k.volatile&&p.date||k.volatile&&(R>=0||typeof R!="number")||(k.volatile&&!p.fractions&&(p.integer||p.dec_fractions)?(R<0&&D&&D!=="0"||x)&&I.push(ie.negative):I.push(ie.negative));else if(k.type==="plus")I.push(ie.positive);else if(k.type==="text")I.push(R);else if(k.type==="div")De?I.push("/"):p.num_min>0||p.den_min>0?I.push(B["?"]):I.push(B["#"]);else if(k.type==="int")if(p.int_pattern.length===1)I.push(D);else{const pe=Oe?p.int_pattern.join("").length-ot.int:1/0,wt=Oe===p.int_pattern.length-1?0:p.int_pattern.join("").length-(ot.int+k.num.length);I.push(D.substring(D.length-pe,D.length-wt)),Oe++,ot.int+=k.num.length}else if(k.type==="frac"){const pe=ot.frac;for(let wt=0;wt<Br;wt++)I.push(x[wt+pe]||B[k.num[wt]]);ot.frac+=Br}else if(k.type in ga)p[k.type+"_pattern"].length===1?(k.type==="int"&&I.push(D),k.type==="frac"&&I.push(x),k.type==="man"&&I.push(v),k.type==="num"&&I.push(T),k.type==="den"&&I.push(O)):(I.push(ga[k.type].slice(ot[k.type],ot[k.type]+Br)),ot[k.type]+=Br);else if(k.type==="year")H<0&&I.push(ie.negative),I.push(String(Math.abs(H)).padStart(4,"0"));else if(k.type==="year-short"){const pe=H%100;I.push(pe<10?"0":"",pe)}else if(k.type==="month")I.push(k.pad&&ee<10?"0":"",ee);else if(k.type==="monthname-single")p.date_system===6?I.push(ie.mmmm6[ee-1].charAt(0)):I.push(ie.mmmm[ee-1].charAt(0));else if(k.type==="monthname-short")p.date_system===6?I.push(ie.mmm6[ee-1]):I.push(ie.mmm[ee-1]);else if(k.type==="monthname")p.date_system===6?I.push(ie.mmmm6[ee-1]):I.push(ie.mmmm[ee-1]);else if(k.type==="weekday-short")I.push(ie.ddd[U]);else if(k.type==="weekday")I.push(ie.dddd[U]);else if(k.type==="day")I.push(k.pad&&K<10?"0":"",K);else if(k.type==="hour"){const pe=Q%p.clock||(p.clock<24?p.clock:0);I.push(k.pad&&pe<10?"0":"",pe)}else if(k.type==="min")I.push(k.pad&&q<10?"0":"",q);else if(k.type==="sec")I.push(k.pad&&ne<10?"0":"",ne);else if(k.type==="subsec"){I.push(ie.decimal);const pe=ue.toFixed(p.sec_decimals);I.push(pe.slice(2,2+k.decimals))}else if(k.type==="am"){const pe=Q<12?0:1;k.short&&!P?I.push("AP"[pe]):I.push(ie.ampm[pe])}else if(k.type==="hour-elap"){R<0&&I.push(ie.negative);const pe=24*z+Math.floor(Math.abs(F)/3600);I.push(String(Math.abs(pe)).padStart(k.pad,"0"))}else if(k.type==="min-elap"){R<0&&I.push(ie.negative);const pe=1440*z+Math.floor(Math.abs(F)/60);I.push(String(Math.abs(pe)).padStart(k.pad,"0"))}else if(k.type==="sec-elap"){R<0&&I.push(ie.negative);const pe=z*Qt+Math.abs(F);I.push(String(Math.abs(pe)).padStart(k.pad,"0"))}else if(k.type==="b-year")I.push(H+543);else if(k.type==="b-year-short"){const pe=(H+543)%100;I.push(pe<10?"0":"",pe)}}return y.nbsp?I.join(""):I.join("").replace(/\u00a0/g," ")}function _a(R,p){for(let y=0;y<3;y++){const P=p[y];if(P){let v;if(P.condition){const T=P.condition[0],O=P.condition[1];T==="="?v=R===O:T===">"?v=R>O:T==="<"?v=R<O:T===">="?v=R>=O:T==="<="?v=R<=O:T==="<>"&&(v=R!==O)}else v=!0;if(v)return P}}}const ya=fe("@"),Ea="black",Be={};function Te(R,p){if(R){const y=R[0];p[y]=p[y]||{},Te(R.slice(1),p[y])}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=>{Te(R,Be),Te(R+" x",Be),Te(R+" l",Be),Te(R+" l x",Be),Te("l "+R,Be),Te("l "+R+" x",Be),Te(R+" D",Be),Te(R+" D x",Be),Te("D "+R,Be),Te("D "+R+" x",Be)});const Bl={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},Tl={january:1,february:2,march:3,april:4,june:6,july:7,august:8,september:9,october:10,november:11,december:12},kl={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"},jl=new Date().getUTCFullYear();function Ca(R){const p=new RegExp("^([\\s+%"+ge.join("")+"(-]*)(((?:(?:\\d[\\d,]*)(?:\\.\\d*)?|(?:\\.\\d+)))([eE][+-]?\\d+)?)([\\s%"+ge.join("")+")]*)$").exec(R);if(p){const[,y,P,v,T,O]=p;let x=1,D="",$=!1,z=!1,F=!1,H=!1,ee=!1,K=null,U=!1,Q=parseFloat(P.replace(/,/g,""));if(!isFinite(Q))return null;for(let ne=0;ne<y.length;ne++){const ue=y[ne];if(ue==="-"){if($||z)return null;$=!0,x=-1}else if(Ee.test(ue)){if(ee)return null;ee=!0,K=ue}else if(ue==="("){if(z||$)return null;z=!0,x=-1}else if(ue==="%"){if(H)return null;H=!0}}for(let ne=0;ne<O.length;ne++){const ue=O[ne];if(Ee.test(ue)){if(ee)return null;ee=!0,K=ue,U=!0}else if(ue===")"){if(F||!z)return null;F=!0}else if(ue==="%"){if(H)return null;H=!0}}if(T){if(H||ee)return null;D="0.00E+00"}else if(H){if(ee)return null;D=v.includes(".")?"0.00%":"0%",Q*=.01}else if(ee){const ne=v.includes(".")?"#,##0.00":"#,##0";D=U?ne+K:K+ne}else v.includes(",")&&(D=v.includes(".")?"#,##0.00":"#,##0");const q={v:Q*x};return D&&(q.z=D),q}}const ze=(R,p,y)=>{const P=y.path||"",v=Object.keys(p);for(let T=0;T<v.length;T++){let O;const x=v[T];if(p[x]){if(x==="$"||x==="€")R||(O=y);else if(x==="-"){const D=/^(\s*([./-]|,\s)\s*|\s+)/.exec(R);if(D){const $=D[1]==="-"||D[1]==="/"||D[1]==="."?D[1]:" ";if(!y.sep||y.sep===$){const z=D[0].replace(/\s+/g," ");O=ze(R.slice(D[0].length),p[x],{...y,sep:$,path:P+z})}}}else if(x===" "){const D=/^[,.]?\s+/.exec(R);if(D){const $=D[0].replace(/\s+/g," ");O=ze(R.slice(D[0].length),p[x],{...y,path:P+$})}}else if(x==="j"||x==="d"){const D=/^(0?[1-9]|1\d|2\d|3[01])\b/.exec(R);D&&(O=ze(R.slice(D[0].length),p[x],{...y,day:D[0],path:P+x}))}else if(x==="n"||x==="m"){const D=/^(0?[1-9]|1[012])\b/.exec(R);D&&(O=ze(R.slice(D[0].length),p[x],{...y,month:+D[0],_mon:D[0],path:P+x}))}else if(x==="F"||x==="M"){const D=/^([a-z]{3,9})\b/i.exec(R),$=D&&(x==="F"?Tl:Bl)[D[0].toLowerCase()];$&&(O=ze(R.slice(D[0].length),p[x],{...y,month:$,_mon:D[0],path:P+x}))}else if(x==="l"||x==="D"){const D=/^([a-z]{3,9})\b/i.exec(R);(D&&kl[D[0].toLowerCase()])===x&&(O=ze(R.slice(D[0].length),p[x],{...y,path:P+x}))}else if(x==="y"){const D=/^\d\d\b/.exec(R);if(D){const $=+D[0]>=30?+D[0]+1900:+D[0]+2e3;O=ze(R.slice(D[0].length),p[x],{...y,year:$,path:P+x})}}else if(x==="Y"){const D=/^\d\d\d\d\b/.exec(R);D&&(O=ze(R.slice(D[0].length),p[x],{...y,year:+D[0],path:P+x}))}else{if(x!=="x")throw new Error('Unknown date token "'.concat(x,'"'));{const D=yn(R);D&&(O=ze("",p[x],{...y,time:D.v,tf:D.z,path:P+x}))}}if(O)return O}}};function Da(R,p){const y=ze(R.trim(),Be,{path:""});if(y){var P;if(y.sep==="."&&y.path.length===3)return null;const v=+((P=y.year)!==null&&P!==void 0?P:jl);if(y.day||(y.day=1),!function(x,D,$){if($<1||D<1||D>12)return!1;if(D===2){if($>(x%4==0&&x%100!=0||x%400==0||x===1900?29:28))return!1}else if((D===4||D===6||D===9||D===11)&&$>30||(D===1||D===3||D===5||D===7||D===8||D===10||D===12)&&$>31)return!1;return!0}(v,y.month,y.day))return null;let T=-1/0;if(v<1900)return null;v<=1900&&y.month<=2?T=25568:v<1e4&&(T=25569);const O=Date.UTC(v,y.month-1,y.day)/864e5+T+(y.time||0);if(O>=0&&O<=2958465){const x=y._mon[0]==="0"||y.day[0]==="0"||y._mon.length===2&&y.day.length===2,D=y.path.replace(/[jdlDnmMFyYx-]/g,$=>$==="j"||$==="d"?x?"dd":"d":$==="D"?"ddd":$==="l"?"dddd":$==="n"||$==="m"?x?"mm":"m":$==="M"?"mmm":$==="F"?"mmmm":$==="y"?"yy":$==="x"?y.tf||"":$==="Y"?"yyyy":$);return p&&p.nativeDate?{v:ma(O,p),z:D}:{v:O,z:D}}}return null}function yn(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[,y,P,v,T,O]=p;if(T&&!v||!O&&!P&&!v)return null;let x=1*(y||0);if(O){if(x>=13)return null;O[0]!=="p"&&O[0]!=="P"||(x+=12)}return{v:(60*x*60+60*(1*(P||0))+1*(v||0)+1*(T||0))/86400,z:(y.length===2?"hh":"h")+":mm"+(v?":ss":"")+(O?" AM/PM":"")}}return null}function ba(R){return/^\s*true\s*$/i.test(R)?{v:!0}:/^\s*false\s*$/i.test(R)?{v:!1}:null}const zt={};function $l(R,p){const{pattern:y,partitions:P,locale:v}=R,T=D=>{const $=Object.assign({},V(),p,D);return v&&($.locale=v),$},O=(D,$)=>{const z=T($);return function(F,H,ee){const K=c(ee.locale),U=H[3]?H[3]:ya;if(typeof F=="boolean"&&(F=F?"TRUE":"FALSE"),F==null)return"";if(typeof F!="number")return Ra(F,U,ee,K);if(!isFinite(F)){const q=K||_;return isNaN(F)?q.nan:(F<0?q.negative:"")+q.infinity}const Q=_a(F,H);return Q?Ra(F,Q,ee,K):ee.overflow}(Mr(D,z),P,z)};O.color=(D,$)=>function(z,F){if(typeof z!="number"||!isFinite(z))return(F[3]?F[3].color:ya.color)||Ea;const H=_a(z,F);return H&&H.color||Ea}(Mr(D,T($)),P);const x=function(D){var $;let z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;const[F,H]=D,ee=F.frac_max,K={type:"general",isDate:vl(D),isText:Ol(D),isPercent:Vl(D),maxDecimals:F.general?9:ee,scale:($=F.scale)!==null&&$!==void 0?$:1,color:0,parentheses:0,grouped:F.grouping?1:0,_partitions:D},U=!K.isDate&&!K.isText&&!F.error&&F.tokens.some(ie=>ie.type==="string"&&(z?ie.value===z:Ee.test(ie.value)));let Q="G",q=ee>=0?Math.min(15,ee):"",ne="",ue="";if(H&&H.color&&(ue="-",K.color=1),F.parens&&(ne="()",K.parentheses=1),U)Q="C",K.type="currency";else if(F.error)K.type="error",K.maxDecimals=0;else if(K.isDate){let ie=0,De=0,Ze="";F.tokens.forEach(I=>{const Oe=I.type;/^(b-)?year/.test(Oe)?(Ze+="Y",De++):Oe.startsWith("month")?(Ze+="M",De++):/^(week)?day/.test(Oe)?(Ze+="D",De++):Oe!=="hour"&&Oe!=="min"&&Oe!=="sec"&&Oe!=="am"||(Ze+=Oe[0],ie++)}),K.type="date",De&&ie?K.type="datetime":!De&&ie&&(K.type="time");const pt=Ul.find(I=>Ze.startsWith(I[0]));Q=pt?"D":"G",q=pt?pt[1]:""}else K.isText?(Q="G",K.type="text",q="",K.maxDecimals=0):F.general?(Q="G",K.type="general",q=""):F.fractions?(Q="G",K.type="fraction",q=""):F.exponential?(Q="S",K.type="scientific"):K.isPercent?(Q="P",K.type="percent"):F.grouping?(Q=",",K.type="grouped"):(F.int_max||ee)&&(Q="F",K.type="number");return K.code=Q+q+ue+ne,K.level=Fl[K.type],Object.freeze(K)}(P,(p||{}).currency)||new SyntaxError;return O.info=x,O.dateInfo=function(D){const[$]=D;return{year:!!(2&$.date),month:!!(4&$.date),day:!!(8&$.date),hours:!!(16&$.date),minutes:!!(32&$.date),seconds:!!(64&$.date),clockType:$.clock===12?12:24}}(P),O.isPercent=()=>!!x.isPercent,O.isDate=()=>!!x.isDate,O.isText=()=>!!x.isText,O.pattern=y,R.error&&(O.error=R.error),O.options=T,O.locale=v||p&&p.locale||"",Object.freeze(O)}function he(R,p){R||(R="General");let y=null;return zt[R]?y=zt[R]:(y=Object.assign({},V(),p).throws?ca(R):function(P){try{return ca(P)}catch(v){const T={tokens:[{type:"error"}],error:v.message};return{pattern:P,partitions:[T,T,T,T],error:v.message,locale:null}}}(R),y.error||(zt[R]=y)),$l(y,p)}he.isDate=R=>he(R,{throws:!1}).isDate(),he.isPercent=R=>he(R,{throws:!1}).isPercent(),he.isText=R=>he(R,{throws:!1}).isText(),he.getInfo=(R,p)=>he(R,{...p,throws:!1}).info,he.getDateInfo=(R,p)=>he(R,{...p,throws:!1}).dateInfo,he.dateToSerial=Mr,he.dateFromSerial=ma,he.options=V,he.dec2frac=A,he.round=C,he.codeToLocale=n,he.parseLocale=u,he.getLocale=c,he.addLocale=(R,p)=>{const y=u(p);return delete zt[y.lang],delete zt[y.language],d(R,y)},he.format=function(R,p,y){let P=arguments.length>3&&arguments[3]!==void 0&&arguments[3];const v=y&&typeof y=="object"?y:{locale:y,throws:!P};return he(R,v)(Mr(p,v),v)},he.is_date=he.isDate,he.parseNumber=Ca,he.parseDate=Da,he.parseTime=yn,he.parseBool=ba,he.parseValue=function(R,p){var y,P,v;return(y=(P=(v=Ca(R))!==null&&v!==void 0?v:Da(R,p))!==null&&P!==void 0?P:yn(R))!==null&&y!==void 0?y:ba(R)};var Il=he;return t=t.default}()})})(es);var ni=es.exports,si=ni;const ts=ri(si),ai=["$","£","¥","¤","֏","؋","৳","฿","៛","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"],ii={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 oi(r,s,e){var u,l;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 a=(u=t==null?void 0:t.n)==null?void 0:u.pattern,i=(l=n==null?void 0:n.n)==null?void 0:l.pattern;if(a==null||i==null)return s;const o=ui(a,i);return n.n.pattern=o,s}function ui(r,s){const e=or(r),t=or(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 or(r){if(li(r))return 3;const s=ts.getInfo(r).type||"unknown";return ii[s]}function li(r){return!!ai.find(s=>r.includes(s))&&r.startsWith("_(")}function ur(r,s,e){const t=or(r),n=or(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 Fr=class Fr extends Ke{static create(){return this._instance=this._instance||new Fr(0),this._instance}isNull(){return!0}plus(s){return b.create(0).plus(s)}minus(s){return b.create(0).minus(s)}multiply(s){return b.create(0).multiply(s)}divided(s){return b.create(0).divided(s)}mod(s){return b.create(0).mod(s)}compare(s,e){return s.isString()?Re.create("").compare(s,e):s.isBoolean()?Y.create(!1).compare(s,e):b.create(0).compare(s,e)}concatenateFront(s){return s.isArray()?s.concatenateBack(Re.create("")):Re.create(this.concatenate(s.getValue(),Fe.FRONT))}concatenateBack(s){return s.isArray()?s.concatenateFront(Re.create("")):Re.create(this.concatenate(s.getValue(),Fe.BACK))}plusBy(s){return b.create(0).plusBy(s)}minusBy(s){return b.create(0).minusBy(s)}multiplyBy(s){return b.create(0).multiplyBy(s)}dividedBy(s){return b.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):b.create(0).compareBy(s,e)}pow(s){return b.create(0).pow(s)}sqrt(){return b.create(0).sqrt()}cbrt(){return b.create(0).cbrt()}cos(){return b.create(0).cos()}acos(){return b.create(0).acos()}acosh(){return b.create(0).acosh()}sin(){return b.create(0).sin()}asin(){return b.create(0).asin()}asinh(){return b.create(0).asinh()}tan(){return b.create(0).tan()}tanh(){return b.create(0).tanh()}atan(){return b.create(0).atan()}atan2(s){return b.create(0).atan2(s)}atanh(){return b.create(0).atanh()}log(){return m.create(h.NUM)}log10(){return m.create(h.NUM)}exp(){return b.create(0).exp()}abs(){return b.create(0).abs()}round(s){return b.create(0).round(s)}floor(s){return b.create(0).floor(s)}ceil(s){return b.create(0).ceil(s)}convertToNumberObjectValue(){return b.create(0)}convertToBooleanObjectValue(){return Y.create(!1)}};g(Fr,"_instance");let ce=Fr;const Pt=class Pt extends Ke{constructor(e){super(e);g(this,"_value",!1);this._value=e}static create(e){return e?(this._instanceTrue=this._instanceTrue||new Pt(!0),this._instanceTrue):(this._instanceFalse=this._instanceFalse||new Pt(!1),this._instanceFalse)}getValue(){return this._value}isBoolean(){return!0}getNegative(){const e=this.getValue();let t=0;return e&&(t=1),b.create(-t)}getReciprocal(){return this.getValue()?b.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),b.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 cr(this.getValue())}convertToBooleanObjectValue(){return this}};g(Pt,"_instanceTrue"),g(Pt,"_instanceFalse");let Y=Pt;const ci=2e5,rs=new lt(ci);class b extends Ke{constructor(e){super(e);g(this,"_value",0);this._value=Number(e)}static create(e){const t=`${e}`,n=rs.get(t);if(n)return n.setPattern(""),n;const a=new b(e);return rs.set(t,a),a}getValue(){return this._value}setValue(e){this._value=e}isNumber(){return!0}getNegative(){return b.create(0).minus(this)}getReciprocal(){return b.create(1).divided(this)}plus(e){if(e.isArray())return e.plus(this);const t=this.plusBy(e.getValue());return t.isError()||t.setPattern(ur(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(ur(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(ur(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(ur(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 a=Zn(t,n);return Number.isFinite(a)?b.create(a):m.create(h.NUM)}if(typeof n=="boolean"){const a=n?1:0;return a===0?m.create(h.DIV_BY_ZERO):b.create(Zn(t,a))}return this}concatenateFront(e){return e.isArray()?e.concatenateBack(this):Re.create(this.concatenate(e.getValue(),Fe.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):Re.create(this.concatenate(e.getValue(),Fe.BACK))}compare(e,t){return e.isArray()?e.compare(this,zn(t)):this.compareBy(e.getValue(),t)}plusBy(e){const t=this.getValue();if(typeof e=="string")return _t.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=Hn(t,e);return Number.isFinite(n)?b.create(n):m.create(h.NUM)}return typeof e=="boolean"?b.create(Hn(t,e?1:0)):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=Wn(t,e);return Number.isFinite(n)?b.create(n):m.create(h.NUM)}return typeof e=="boolean"?b.create(Wn(t,e?1:0)):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=Ct(t,e);return Number.isFinite(n)?b.create(n):m.create(h.NUM)}return typeof e=="boolean"?b.create(Ct(t,e?1:0)):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=Gn(t,e);return Number.isFinite(n)?b.create(n):m.create(h.NUM)}return typeof e=="boolean"?e===!1?m.create(h.DIV_BY_ZERO):b.create(Gn(t,1)):this}compareBy(e,t){const n=this.getValue();let a=!1;return typeof e=="string"?a=this._compareString(t):typeof e=="number"?a=this._compareNumber(n,e,t):typeof e=="boolean"&&(a=this._compareBoolean(t)),Y.create(a)}_compareString(e){switch(e){case M.EQUALS:case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:return!1;case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:case M.NOT_EQUAL:return!0}}_compareNumber(e,t,n){return!Number.isFinite(e)||!Number.isFinite(t)?this._compareInfinity(e,t,n):this._compareFiniteNumber(e,t,n)}_compareFiniteNumber(e,t,n){switch(n){case M.EQUALS:return Nn(e,t);case M.GREATER_THAN:return Ka(e,t);case M.GREATER_THAN_OR_EQUAL:return qa(e,t);case M.LESS_THAN:return Za(e,t);case M.LESS_THAN_OR_EQUAL:return Ja(e,t);case M.NOT_EQUAL:return!Nn(e,t)}}_compareBoolean(e){switch(e){case M.EQUALS:case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:return!1;case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:case M.NOT_EQUAL:return!0}}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 a=Jn(t,n);return Number.isFinite(a)?b.create(a):m.create(h.NUM)}return typeof n=="boolean"?b.create(Jn(t,n?1:0)):this}sqrt(){const e=this.getValue();if(!Number.isFinite(e))return m.create(h.NUM);const t=Xa(e);return Number.isFinite(t)?b.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)?b.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)?b.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):b.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):b.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)?b.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):b.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):b.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)?b.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)?b.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)?b.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 a=Math.atan2(t,n);return Number.isFinite(a)?b.create(a):m.create(h.NUM)}return typeof n=="boolean"?b.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)?b.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)?b.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)?b.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)?b.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)?b.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 a=Xn(t,n);return Number.isFinite(a)?b.create(a):m.create(h.NUM)}return typeof n=="boolean"?b.create(Xn(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 a=Kn(t,n);return Number.isFinite(a)?b.create(a):m.create(h.NUM)}return typeof n=="boolean"?b.create(Kn(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 a=qn(t,n);return Number.isFinite(a)?b.create(a):m.create(h.NUM)}return typeof n=="boolean"?b.create(qn(t,n?1:0)):this}convertToNumberObjectValue(){return this}convertToBooleanObjectValue(){return lr(!0)}_compareInfinity(e,t,n){let a=!1;switch(n){case M.EQUALS:a=e===t;break;case M.GREATER_THAN:a=e>t;break;case M.GREATER_THAN_OR_EQUAL:a=e>=t;break;case M.LESS_THAN:a=e<t;break;case M.LESS_THAN_OR_EQUAL:a=e<=t;break;case M.NOT_EQUAL:a=e!==t;break}return a}}const fi=2e5,ns=new lt(fi);class Re extends Ke{constructor(e){super(e);g(this,"_value");this._value=e}static create(e){const t=ns.get(e);if(t)return t;const n=new Re(e);return ns.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(),Fe.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):Re.create(this.concatenate(e.getValue(),Fe.BACK))}compare(e,t,n){return e.isArray()?e.compare(this,zn(t),n):this.compareBy(e.getValue(),t,n)}compareBy(e,t,n=!1){let a=this.getValue(),i=!1;if(typeof e=="string"){if(n||(a=a.toLocaleLowerCase(),e=e.toLocaleLowerCase()),za(e))return this._checkWildcard(e,t);i=this._compareString(a,e,t)}else typeof e=="number"?i=this._compareNumber(t):typeof e=="boolean"&&(i=this._compareBoolean(t));return Y.create(i)}_compareString(e,t,n){switch(n){case M.EQUALS:return e===t;case M.GREATER_THAN:return e>t;case M.GREATER_THAN_OR_EQUAL:return e>=t;case M.LESS_THAN:return e<t;case M.LESS_THAN_OR_EQUAL:return e<=t;case M.NOT_EQUAL:return e!==t}}_compareNumber(e){switch(e){case M.NOT_EQUAL:case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:return!0;case M.EQUALS:case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:return!1}}_compareBoolean(e){switch(e){case M.EQUALS:case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:return!1;case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:case M.NOT_EQUAL:return!0}}convertToNumberObjectValue(){return cr(this.getValue())}convertToBooleanObjectValue(){return Y.create(!0)}_checkWildcard(e,t){const n=this.getValue().toLocaleLowerCase(),a=Ha(n,e,t);return Y.create(a)}}function lr(r){if(typeof r=="boolean")return Y.create(r);let s=!1;if(typeof r=="string"){const e=r.toLocaleUpperCase();e===et.TRUE?s=!0:e===et.FALSE&&(s=!1)}else r===1?s=!0:s=!1;return Y.create(s)}function qr(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 cr(r){if(typeof r=="boolean"){let s=0;return r&&(s=1),b.create(s)}else{if(typeof r=="number")return Number.isFinite(r)?b.create(r):m.create(h.NUM);if(E.isRealNum(r))return b.create(Number(r))}return m.create(h.VALUE)}function hi(r){return""}function ss(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 a=t[n];s[e][n]=rt.create(a)}}return s}function mi(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 a=t[n];a==null?s[e][n]=null:a.isError()?s[e][n]=a.getErrorType():s[e][n]=a.getValue()}}return s}class ye extends Ke{constructor(e){super(typeof e=="string"?e:hi());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 ye(e)}static createByArray(e){const n={calculateValueList:ss(e),rowCount:e.length,columnCount:e[0].length||0,unitId:"",sheetId:"",row:-1,column:-1};return new ye(n)}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 a=n[t];return a==null?null:a}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,a=this.getColumnCount();return{startRow:0,endRow:t-1,startColumn:n,endColumn:a-1}}iterator(e){var u;const{startRow:t,endRow:n,startColumn:a,endColumn:i}=this.getRangePosition(),o=this.getArrayValue();for(let l=t;l<=n;l++)for(let c=a;c<=i;c++)if(e(((u=o[l])==null?void 0:u[c])||this._defaultValue,l,c)===!1)return}iteratorReverse(e){var u;const{startRow:t,endRow:n,startColumn:a,endColumn:i}=this.getRangePosition(),o=this.getArrayValue();for(let l=n;l>=t;l--)for(let c=i;c>=a;c--)if(e(((u=o[l])==null?void 0:u[c])||this._defaultValue,l,c)===!1)return}getLastTruePosition(){let e;return this.iteratorReverse((t,n,a)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:n,column:a},!1}),e}getFirstTruePosition(){let e;return this.iterator((t,n,a)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:n,column:a},!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(),n=e.getColumnCount();if(t!==this._rowCount||n!==this._columnCount)return[[ce.create()]];const a=[];a[0]=[];for(let i=0;i<t;i++)for(let o=0;o<n;o++){const u=e.get(i,o);if(!(u==null||u.isError())&&u.getValue()===!0){const l=this.get(i,o);a[0].push(l)}}return a}flatten(){if(this._flattenCache!=null)return this._flattenCache;const e=[];e[0]=[];for(let n=0;n<this._rowCount;n++)for(let a=0;a<this._columnCount;a++){const i=this.get(n,a);e[0].push(i)}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=[],a=[];let i=0;for(let u=0;u<this._rowCount;u++)for(let l=0;l<this._columnCount;l++){const c=this.get(u,l);if(c==null||c.isError()||c.isNull()){i++;continue}c.isString()?(e.push(c),n.push(i++)):(t.push(c),a.push(i++))}const o={stringArray:e,numberArray:t,stringPosition:n,numberPosition:a};return this._flattenPosition=o,o}slice(e,t){let n=0,a=this._rowCount,i=1,o=0,u=this._columnCount,l=1;if(e!=null&&(n=e[0]||0,a=e[1]||this._rowCount,i=e[2]||1),t!=null&&(o=t[0]||0,u=t[1]||this._columnCount,l=t[2]||1),n>=this._rowCount||o>=this._columnCount)return;const c=`${n}_${a}_${i}_${o}_${u}_${l}`,f=this._sliceCache.get(c);if(f!=null)return f;const d=[],_=this._values;let C=0,A=0;for(let B=n;B<a;B+=i){A=0,d[C]==null&&(d[C]=[]);for(let W=o;W<u;W+=l){if(!_[B])return;let re=_[B][W]||this._defaultValue;re==null&&(re=ce.create()),d[C][A]=re,A++}C++}if(d.length===0||d[0].length===0)return;const L=i>1?-1:n+this._currentRow,w=l>1?-1:o+this._currentColumn,V=this._createNewArray(d,d.length,d[0].length,L,w);return V.setDefaultValue(this._defaultValue),this._sliceCache.set(c,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,n=this._columnCount,a=this._createNewArray(e,n,t);return a.setDefaultValue(this._defaultValue),a}orderSearch(e,t=Pe.MIN,n=!1,a=!1){let i,o,u,l;const c=(f,d,_)=>{if(f==null)return!0;let C;if(a===!0?C=f.compare(e,M.EQUALS):C=f.isEqual(e),(C==null?void 0:C.getValue())===!0)return i=f,u={row:d,column:_},!1;t===Pe.MAX?f.isGreaterThan(e).getValue()===!0&&(o==null||f.minus(e).abs().isLessThanOrEqual(o.minus(e).abs()).getValue()===!0)&&(o=f,l={row:d,column:_}):t===Pe.MIN&&f.isLessThan(e).getValue()===!0&&(o==null||f.minus(e).abs().isLessThanOrEqual(o.minus(e).abs()).getValue()===!0)&&(o=f,l={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 A=this._values[_][C];c(A,_,C)}}else this.iterator((f,d,_)=>{c(f,d,_)});if(i!=null)return u;if(o!=null)return l}binarySearch(e,t=Xe.MIN){if(e.isError())return;const{stringArray:n,stringPosition:a,numberArray:i,numberPosition:o}=this.flattenPosition();return e.isString()?this._binarySearch(e,n,a,t):this._binarySearch(e,i,o,t)}_binarySearch(e,t,n,a=Xe.MIN){const i=$n(),o=e.getValue().toString().toLocaleLowerCase();let u=0,l=t.length-1,c=null;for(;u<=l;){const f=Math.floor((u+l)/2),d=t[f];let _=0;if(d.isNull())_=1;else{const C=d.getValue();_=i(C.toString().toLocaleLowerCase(),o)}if(_===0)return n[f];_===-1?(u=f+1,a===Xe.MIN&&(c=f)):(l=f-1,a===Xe.MAX&&(c=f))}if(c!=null)return n[c]}sum(){let e=b.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=b.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=b.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=b.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=b.create(0);return this.iterator(t=>{if(t==null||t.isNull())return!0;e=e.plusBy(1)}),e}countBlank(){let e=b.create(0);return this.iterator(t=>{if(t!=null&&!t.isNull())return!0;e=e.plusBy(1)}),e}getNegative(){return ye.create("{0}").minus(this)}getReciprocal(){return ye.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,n){return this._batchOperator(e,5,t,n)}concatenateFront(e){return this._batchOperator(e,6)}concatenateBack(e){return this._batchOperator(e,7)}map(e){const t=(n,a,i)=>n==null?ce.create():n.isError()?n:e(n,a,i);return this.mapValue(t)}mapValue(e){var i;const t=this._rowCount,n=this._columnCount,a=[];for(let o=0;o<t;o++){const u=[];for(let l=0;l<n;l++){const c=(i=this._values)==null?void 0:i[o];if(c==null)u[l]=m.create(h.VALUE);else{const f=c[l]||this._defaultValue;f?u[l]=e(f,o,l):u[l]=ce.create()}}a.push(u)}return this._createNewArray(a,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)||ce.create();if(t.sortByRow(0),n%2===0){const a=t.get(0,n/2)||ce.create(),i=t.get(0,n/2-1)||ce.create();return a.plus(i).divided(b.create(2))}return t.get(0,(n-1)/2)||ce.create()}var(e=0){const t=this.mean(),n=[[]];this.iterator(c=>{if(c==null||c.isError()||c.isString()||c.isBoolean()||c.isNull())return;const f=c.minus(t).pow(b.create(2));f.isError()||n[0].push(f)});const{_unitId:a,_sheetId:i,_currentRow:o,_currentColumn:u}=this;return ye.create({calculateValueList:n,rowCount:1,columnCount:n[0].length,unitId:a,sheetId:i,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 mi(this._values)}_clearCache(){this._flattenCache=null,this._sliceCache.clear()}_sort(e){const t=$n();return(n,a)=>{const i=n[e],o=a[e];return i==null?1:o==null?-1:i.isError()&&i.isError()?0:i.isError()?1:o.isError()?-1:t(i.getValue(),o.getValue())}}_transposeArray(e){const t=e.length,n=e[0].length,a=[];for(let i=0;i<n;i++){a[i]=[];for(let o=0;o<t;o++)a[i][o]=e[o][i]}return a}_batchOperator(e,t,n,a){const i=[];let o=this._rowCount,u=this._columnCount;if(e.isArray()){const f=e.getRowCount(),d=e.getColumnCount();if(o=Math.max(f,o),u=Math.max(d,u),f===1&&d===1){const _=e.getFirstCell();for(let C=0;C<u;C++)i.push(_)}else if(f===1&&this._columnCount>1){const _=e.getArrayValue();for(let C=0;C<u;C++)i.push(_[0][C])}else return this._batchOperatorArray(e,t,n,a)}else for(let f=0;f<u;f++)i.push(e);const l=[];for(let f=0;f<u;f++){const d=i[f];this._batchOperatorValue(d,f,l,t,n,a)}const c=this._createNewArray(l,o,u);return c.setDefaultValue(Y.create(!1)),c}_batchOperatorValue(e,t,n,a,i,o){var C,A;const u=this._rowCount;let l=!1;const c=this.getUnitId(),f=this.getSheetId(),d=this.getCurrentRow(),_=this.getCurrentColumn();if(a===5&&(l=tt.canUseCache(c,f,t+_,d,d+u-1),l===!0)){if(i===M.EQUALS){const L=tt.getCellPositions(c,f,t+_,e.getValue());L!=null&&L.forEach(w=>{const V=w-d;n[V]==null&&(n[V]=[]),n[V][t]=Y.create(!0)})}else{const L=tt.getCellValuePositions(c,f,t+_);L!=null&&L.forEach((w,V)=>{let B=ce.create();typeof V=="string"?B=Re.create(V):typeof V=="number"?B=b.create(V):typeof V=="boolean"&&(B=Y.create(V)),B.compare(e,i,o).getValue()===!0&&w.forEach(re=>{re>=d&&re<=d+u-1&&(n[re-d]==null&&(n[re-d]=[]),n[re-d][t]=Y.create(!0))})})}return}for(let L=0;L<u;L++){const w=(A=(C=this._values)==null?void 0:C[L])==null?void 0:A[t];if(n[L]==null&&(n[L]=[]),w&&e)if(w.isError())n[L][t]=w;else if(e.isError())n[L][t]=e;else switch(a){case 1:n[L][t]=w.plus(e);break;case 0:n[L][t]=w.minus(e);break;case 2:n[L][t]=w.multiply(e);break;case 3:n[L][t]=w.divided(e);break;case 4:n[L][t]=w.mod(e);break;case 5:i?n[L][t]=w.compare(e,i,o):n[L][t]=m.create(h.VALUE);break;case 6:n[L][t]=w.concatenateFront(e);break;case 7:n[L][t]=w.concatenateBack(e);break;case 8:n[L][t]=w.pow(e);break;case 9:n[L][t]=w.round(e);break;case 10:n[L][t]=w.floor(e);break;case 12:n[L][t]=w.atan2(e);break;case 11:n[L][t]=w.ceil(e);break}else n[L][t]=m.create(h.NA);w!=null&&(w.isError()?tt.set(c,f,t+_,w.getErrorType(),L+d):w.isNull()?tt.set(c,f,t+_,null,L+d):tt.set(c,f,t+_,w.getValue(),L+d))}tt.setContinueBuildingCache(c,f,t+_,d,d+u-1)}_batchOperatorArray(e,t,n,a){var d,_,C,A,L,w,V,B,W,re,ge,Ee;let i=e.getRowCount(),o=e.getColumnCount();i<this._rowCount&&(i=this._rowCount),o<this._columnCount&&(o=this._columnCount);const u=[],l=e.getArrayValue(),c=this._checkArrayCalculateType(this),f=this._checkArrayCalculateType(e);for(let de=0;de<i;de++){const ae=[];for(let N=0;N<o;N++){let J;c===3?J=(_=(d=this._values)==null?void 0:d[0])==null?void 0:_[0]:c===1?J=(A=(C=this._values)==null?void 0:C[0])==null?void 0:A[N]:c===2?J=(w=(L=this._values)==null?void 0:L[de])==null?void 0:w[0]:J=(B=(V=this._values)==null?void 0:V[de])==null?void 0:B[N];let fe;if(f===3?fe=(W=l==null?void 0:l[0])==null?void 0:W[0]:f===1?fe=(re=l==null?void 0:l[0])==null?void 0:re[N]:f===2?fe=(ge=l==null?void 0:l[de])==null?void 0:ge[0]:fe=(Ee=l==null?void 0:l[de])==null?void 0:Ee[N],J&&fe)if(J.isError())ae[N]=J;else if(fe.isError())ae[N]=fe;else switch(t){case 1:ae[N]=J.plus(fe);break;case 0:ae[N]=J.minus(fe);break;case 2:ae[N]=J.multiply(fe);break;case 3:ae[N]=J.divided(fe);break;case 4:ae[N]=J.mod(fe);break;case 5:n?ae[N]=J.compare(fe,n,a):ae[N]=m.create(h.VALUE);break;case 6:ae[N]=J.concatenateFront(fe);break;case 7:ae[N]=J.concatenateBack(fe);break;case 8:ae[N]=J.pow(fe);break;case 9:ae[N]=J.round(fe);break;case 12:ae[N]=J.atan2(fe);break;case 10:ae[N]=J.floor(fe);break;case 11:ae[N]=J.ceil(fe);break}else ae[N]=m.create(h.NA)}u.push(ae)}return this._createNewArray(u,i,o)}_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,a=[];let i=0;for(let o=0;o<n;o++){const l=t[o].split(","),c=l.length;i<c&&(i=c);const f=[];for(let d=0;d<c;d++){const _=l[d].trim();f.push(rt.create(_))}a.push(f)}return this._rowCount=n,this._columnCount=i,a}_createNewArray(e,t,n,a=-1,i=-1){(this._currentColumn===-1||this._currentRow===-1)&&(a=-1,i=-1);const o={calculateValueList:e,rowCount:t,columnCount:n,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:a,column:i};return ye.create(o)}}class rt{static create(s){if(s==null)return ce.create();if(typeof s=="boolean")return Y.create(s);if(typeof s=="string"){const e=s.toLocaleUpperCase().trim();return _t.has(e)?m.create(e):e===et.TRUE||e===et.FALSE?lr(s):E.isRealNum(s)?b.create(Number(s)):new RegExp(Ma,"g").test(s.replace(/\n/g,"").replace(/\r/g,""))?ye.create(s.replace(/\n/g,"").replace(/\r/g,"")):qr(s)}return typeof s=="number"?cr(s):m.create(h.VALUE)}}function di(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)===E.DEFAULT_EMPTY_DOCUMENT_VALUE?e.substring(0,e.length-2):e}return(r==null?void 0:r.v)||0}const gi=1e5,Zr=new lt(gi);class Dt extends ir{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:a}=this.getRangePosition();return e<0||n<0||t>=this.getActiveSheetRowCount()||a>=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:a}=E.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(a)&&(a=this.getActiveSheetColumnCount()-1),{startRow:e,endRow:n,startColumn:t,endColumn:a}}isReferenceObject(){return!0}iterator(e){const{startRow:t,endRow:n,startColumn:a,endColumn:i}=this.getRangePosition();if(this._checkIfWorksheetMiss())return e(m.create(h.VALUE),t,a);const o=this._forcedUnitId||this._defaultUnitId,u=this._forcedSheetId||this._defaultSheetId;for(let l=t;l<=n;l++)for(let c=a;c<=i;c++){if(l<0||c<0)return e(m.create(h.REF),l,c);const f=this.getCellData(l,c);let d=!1;if(E.isNullCell(f)){d=e(null,l,c);continue}const _=this.getCellValueObject(f);if(l===t&&c===a){const C=this.getCellPattern(o,u,l,c);C&&_.setPattern(C)}if(d=e(_,l,c),d===!1)return}}getFirstCell(){const{startRow:e,startColumn:t}=this.getRangePosition(),n=this.getCellData(e,t);if(!n)return b.create(0);const a=this.getCellValueObject(n),i=this._forcedUnitId||this._defaultUnitId,o=this._forcedSheetId||this._defaultSheetId,u=this.getCellPattern(i,o,e,t);return u&&a.setPattern(u),a}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=di(e);return _t.has(t)?m.create(t):e.t===E.CellValueType.NUMBER?cr(t):e.t===E.CellValueType.STRING||e.t===E.CellValueType.FORCE_STRING?qr(t):e.t===E.CellValueType.BOOLEAN?lr(t):rt.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(),a=this.getCurrentRuntimeSheetData(),i=this.getCurrentActiveArrayFormulaCellData(),o=this.getCurrentRuntimeActiveArrayFormulaCellData();return(a==null?void 0:a.getValue(e,t))||(o==null?void 0:o.getValue(e,t))||this.getRuntimeFeatureCellValue(e,t)||(i==null?void 0:i.getValue(e,t))||(n==null?void 0:n.cellData.getValue(e,t))}getRuntimeFeatureCellValue(e,t){var a;const n=Object.keys(this._runtimeFeatureCellData);for(const i of n){const o=this._runtimeFeatureCellData[i],u=(a=o==null?void 0:o[this.getUnitId()])==null?void 0:a[this.getSheetId()];if(u==null)continue;const l=u.getValue(e,t);if(l!=null)return l}}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,a){var l,c,f,d;const i=this._unitStylesData[e];if(!i)return"";const o=(f=(c=(l=this._unitData[e])==null?void 0:l[t])==null?void 0:c.cellData)==null?void 0:f.getValue(n,a);if(!o)return"";const u=i.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:a,endColumn:i}=this.getRangePosition(),o=`${this.getUnitId()}_${this.getSheetId()}_${t}_${n}_${a}_${i}`,u=Zr.get(o);if(u&&e)return u;const l=n-t+1,c=i-a+1;if(l<0||c<0)return this._getBlankArrayValueObject();const f=new Array(l);this.iterator((A,L,w)=>{const V=L-t,B=w-a;f[V]||(f[V]=new Array(c)),A==null&&(A=ce.create()),f[V][B]=A});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:a},_=ye.create(d);return e&&Zr.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 ye.create(e)}}class as extends ir{constructor(s){super(),this._promise=s}isAsyncObject(){return!0}async getValue(){return this._promise}}class is extends ir{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 a=this._promiseList[n];s[n]==null&&(s[n]=[]);for(let i=0;i<a.length;i++){const o=a[i];o.isAsyncObject()?s[n][i]=await o.getValue():s[n][i]=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 ye.create(e)}}class Ut extends Dt{constructor(s,e,t){super(""),this.setRangeData(s),e&&this.setForcedSheetIdDirect(e),t&&this.setForcedUnitIdDirect(t)}isRange(){return!0}}const os=/[\[\]]/g;function us(r,s){if(os.test(r)){const e=Number(r.replace(os,""));return s+e}return Number(r)-1}function Jr(r,s=0,e=0){r=r.toLocaleUpperCase();const t=r.split(/[RC]/),n=t[1],a=t[2],i=us(n,s),o=us(a,e);return{row:i,column:o,absoluteRefType:E.AbsoluteRefType.NONE}}function ls(r,s=0,e=0){const{refBody:t,sheetName:n,unitId:a}=Tn(r),i=t.indexOf(":");if(i===-1){const A=Jr(t,s,e),L=A.row,w=A.column,V=A.absoluteRefType;return{unitId:a,sheetName:n,range:{startRow:L,startColumn:w,endRow:L,endColumn:w,startAbsoluteRefType:V,endAbsoluteRefType:V}}}const o=t.substring(0,i),u=t.substring(i+1),l=Jr(o,s,e),c=Jr(u,s,e),f=l.row,d=l.column,_=c.row,C=c.column;return{unitId:a,sheetName:n,range:{startRow:f,startColumn:d,endRow:_,endColumn:C,startAbsoluteRefType:l.absoluteRefType,endAbsoluteRefType:c.absoluteRefType}}}function pi(r){const s=fr(r.startRow,r.startAbsoluteRefType,!0),e=fr(r.startColumn,r.startAbsoluteRefType,!1),t=fr(r.endRow,r.endAbsoluteRefType,!0),n=fr(r.endColumn,r.endAbsoluteRefType,!1);return s===t&&e===n?`R${s}C${e}`:`R${s}C${e}:R${t}C${n}`}function fr(r,s=E.AbsoluteRefType.ALL,e){switch(r+=1,s){case E.AbsoluteRefType.ALL:return`${r}`;case E.AbsoluteRefType.ROW:return e?`${r}`:`[${r}]`;case E.AbsoluteRefType.COLUMN:return e?`[${r}]`:`${r}`;case E.AbsoluteRefType.NONE:return`[${r}]`}}const cs=[];var fs=(r=>r)(fs||{});function Ri(r){const s=r.getValue();let e=0;return s&&(e=1),b.create(e)}function hs(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 mt(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:E.CellValueType.STRING,...e};if(r.isValueObject()){const t=r,n=t.getValue();return t.isNumber()?{v:n,t:E.CellValueType.NUMBER,...e}:t.isBoolean()?{v:n?1:0,t:E.CellValueType.BOOLEAN,...e}:t.isString()?{v:n,t:E.CellValueType.STRING,...e}:t.isNull()?{v:null,...e}:{v:n,t:E.CellValueType.STRING,...e}}}function me(r,s,e,t){const n=[];if(e.isArray()){const a=e.getRowCount(),i=e.getColumnCount();if(a===1&&i===1){const o=e.getFirstCell();for(let u=0;u<r;u++){const l=[];for(let c=0;c<s;c++)l.push(o);n.push(l)}}else if(a===1&&i>1)for(let o=0;o<r;o++){const u=[];for(let l=0;l<s;l++){const c=e.getRealValue(0,l)||(t!=null?t:ce.create());u.push(c)}n.push(u)}else if(i===1&&a>1)for(let o=0;o<r;o++){const u=[];for(let l=0;l<s;l++){const c=e.getRealValue(o,0)||(t!=null?t:ce.create());u.push(c)}n.push(u)}else for(let o=0;o<r;o++){const u=[];for(let l=0;l<s;l++){const c=e.getRealValue(o,l)||(t!=null?t:ce.create());u.push(c)}n.push(u)}}else for(let a=0;a<r;a++){const i=[];for(let o=0;o<s;o++)i.push(e);n.push(i)}return Mt(n,r,s)}function Mt(r,s,e,t="",n=""){const a={calculateValueList:r,rowCount:s,columnCount:e,unitId:t,sheetId:n,row:-1,column:-1};return ye.create(a)}class Nr extends Dt{constructor(s){super(s);const e=ke(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,a=e.startRow,i=e.startColumn,o={startRow:-1,startColumn:-1,endRow:-1,endColumn:-1};return t>a?(o.startRow=a,o.endRow=t):(o.startRow=t,o.endRow=a),n>i?(o.startColumn=i,o.endColumn=n):(o.startColumn=n,o.endColumn=i),s.startAbsoluteRefType&&(o.startAbsoluteRefType=s.startAbsoluteRefType),e.startAbsoluteRefType&&(o.endAbsoluteRefType=e.startAbsoluteRefType),o}_createRange(s){const e=new Ut(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 a=this.getForcedSheetId();e.setForcedSheetName(this.getForcedSheetName()),a!=null&&e.setForcedSheetIdDirect(a);const i=this.getForcedUnitId();return i&&e.setForcedUnitIdDirect(i),e}}class en extends Dt{constructor(s){super(s);const e=ke(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(),a=n.startRow,i=t.startRow;return a>i?t.endRow=a:(t.startRow=a,t.endRow=i),n.startAbsoluteRefType&&(t.endAbsoluteRefType=n.startAbsoluteRefType),t.rangeType=E.RANGE_TYPE.ROW,this.setToken(`${this.getToken()}${G.COLON}${e.getToken()}`),this}}class tn extends Dt{constructor(s){super(s);const e=ke(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(),a=n.startColumn,i=t.startColumn;return a>i?t.endColumn=a:(t.startColumn=a,t.endColumn=i),n.startAbsoluteRefType&&(t.endAbsoluteRefType=n.startAbsoluteRefType),t.rangeType=E.RANGE_TYPE.COLUMN,this.setToken(`${this.getToken()}${G.COLON}${e.getToken()}`),this}}class j extends E.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(a=>a.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,a){this._unitId=e,this._subUnitId=t,this._row=n,this._column=a}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,a){const i=t.binarySearch(e,a);if(i==null)return m.create(h.NA);let o;return n.getRowCount()===1?o=n.get(0,i)||ce.create():o=n.get(i,0)||ce.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,a=!0){const i=n.pickRaw(t.isEqual(e));return a?this._getOneFirstByRaw(i):this._getOneLastByRaw(i)}fuzzySearch(e,t,n,a=!0){const i=n.pickRaw(t.compare(e,M.EQUALS));return a?this._getOneFirstByRaw(i):this._getOneLastByRaw(i)}orderSearch(e,t,n,a=Pe.MIN,i=!1){const o=t.orderSearch(e,a,i);if(o==null)return m.create(h.NA);const u=n.get(o.row,o.column)||ce.create();return u.isNull()?m.create(h.NA):u}binarySearchExpand(e,t,n,a=0,i){const o=t.binarySearch(e,i);return o==null?m.create(h.NA):a===0?n.slice([o,o+1]):n.slice(void 0,[o,o+1])}equalSearchExpand(e,t,n,a=!0,i=0){const o=t.isEqual(e);let u;return a?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null?m.create(h.NA):i===0?n.slice([u.row,u.row+1]):n.slice(void 0,[u.column,u.column+1])}fuzzySearchExpand(e,t,n,a=!0,i=0){const o=t.compare(e,M.EQUALS);let u;return a?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null?m.create(h.NA):i===0?n.slice([u.row,u.row+1]):n.slice(void 0,[u.column,u.column+1])}orderSearchExpand(e,t,n,a=Pe.MIN,i=!1,o=0){const u=t.orderSearch(e,a,i);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 a=0;a<e.length;a++){let i=e[a];if((i.isString()||i.isBoolean()||i.isNull())&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()){let o;if(i.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(i)}return Mt(n,1,n[0].length)}_includingLogicalValuesAndText(e){if(e.isBoolean()&&(e=Ri(e)),e.isString()){const t=Number(e.getValue());e=b.create(Number.isNaN(t)?0:t)}return e}createReferenceObject(e,t){const n=e.getForcedUnitId(),a=e.getForcedSheetId()||"",i=e.getForcedSheetName(),u=ct({unitId:n,sheetName:i,range:t});let l;return new RegExp(Ot).test(u)?l=new Nr(u):new RegExp(Vn).test(u)?l=new en(u):new RegExp(vn).test(u)?l=new tn(u):l=new Ut(t,a,n),this._setReferenceDefault(e,l)}_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 ms extends j{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 ds extends j{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 gs extends j{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 ps extends j{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 Rs=[[ds,bt.STDEV],[ms,bt.STDEVP],[ps,bt.VAR],[gs,bt.VARP]],_s=[];var ys=(r=>(r.CUBEKPIMEMBER="CUBEKPIMEMBER",r.CUBEMEMBER="CUBEMEMBER",r.CUBEMEMBERPROPERTY="CUBEMEMBERPROPERTY",r.CUBERANKEDMEMBER="CUBERANKEDMEMBER",r.CUBESET="CUBESET",r.CUBESETCOUNT="CUBESETCOUNT",r.CUBEVALUE="CUBEVALUE",r))(ys||{});const Es=[];var Cs=(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))(Cs||{});const rn="yyyy/mm/dd;@";function nn(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 hr(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 sn(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(),a=(t.getMonth()+1).toString().padStart(2,"0"),i=t.getDate().toString().padStart(2,"0"),o=`${n}-${a}-${i}`;return r.replace(/\//g,"-").split("-").map(l=>l.padStart(2,"0")).join("-")===o}class _i extends j{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 a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=me(a,i,e),u=me(a,i,t),l=me(a,i,n);return o.map((c,f,d)=>{const _=u.get(f,d)||ce.create(),C=l.get(f,d)||ce.create();if(c.isError())return c;if(_.isError())return _;if(C.isError())return C;if(c.isString()||_.isString()||C.isString())return m.create(h.VALUE);let A=+c.getValue();const L=Math.floor(+_.getValue()),w=+C.getValue();if(A<0||A>9999)return m.create(h.NUM);A>=0&&A<1899&&(A+=1900);const V=new Date(A,L-1,w),B=nn(V);if(B<0)return m.create(h.NUM);const W=b.create(B);return W.setPattern(rn),W})}}class yi extends j{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(!sn(`${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 b.create(0);t=hr(o)}const a=t.getDate();return b.create(a)}}class Ei extends j{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),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=me(n,a,e),o=me(n,a,t);return i.map((u,l,c)=>{const f=o.get(l,c)||ce.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=hr(d),A=C.getUTCFullYear(),L=C.getUTCMonth()+_,w=C.getUTCDate(),V=new Date(Date.UTC(A,L,w)),B=nn(V),W=b.create(B);return W.setPattern(rn),W})}}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 Ci extends j{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(!sn(`${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 b.create(1);t=hr(o)}const a=t.getUTCMonth()+1;return b.create(a)}}class Di extends j{constructor(){super(...arguments);g(this,"minParams",0);g(this,"maxParams",0)}calculate(e){const t=nn(new Date),n=b.create(t);return n.setPattern(rn),n}}class bi extends j{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(!sn(`${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 b.create(1900);t=hr(o)}const a=t.getUTCFullYear();return b.create(a)}}const Ds=[[_i,nt.DATE],[yi,nt.DAY],[Ei,nt.EDATE],[Ci,nt.MONTH],[Di,nt.TODAY],[bi,nt.YEAR]],bs=[];var Ss=(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))(Ss||{});const Ls=[];var As=(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))(As||{}),xe=(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))(xe||{});class Si extends j{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 Li extends j{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 Ai extends j{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 Pi extends j{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 wi extends j{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 xi extends j{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 Vi extends j{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 vi extends j{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 Oi extends j{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 Fi extends j{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 Ui extends j{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 Ps=[[Si,xe.ISBLANK],[Li,xe.ISERR],[Pi,xe.ISEVEN],[Oi,xe.ISODD],[Ai,xe.ISERROR],[wi,xe.ISLOGICAL],[xi,xe.ISNA],[Vi,xe.ISNONTEXT],[vi,xe.ISNUMBER],[Fi,xe.ISREF],[Ui,xe.ISTEXT]];class Mi extends j{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=!0,n=!0,a=null;for(const i of e){if(i.isError())return i;if(i.isArray()){if(i.iterator(o=>{if(o!=null&&o.isError())return a=o,!1;(o!=null&&o.isBoolean()||o!=null&&o.isNumber())&&(t=t&&!!o.getValue(),n=!1)}),a)return a}else(i.isBoolean()||i.isNumber())&&(t=t&&!!i.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 Bi extends j{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 a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=me(a,i,e),u=me(a,i,t,m.create(h.NA)),l=me(a,i,n,m.create(h.NA));return o.map((c,f,d)=>{if(c.isNull())return m.create(h.NA);{const _=u.get(f,d)||ce.create(),C=l.get(f,d)||ce.create();return this._calculateSingleCell(c,_,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 Ti extends j{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),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=me(n,a,e),o=me(n,a,t);return i.iterator((u,l,c)=>{u!=null&&u.isError()&&i.set(l,c,o.get(l,c))}),i}}class ki extends j{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){return m.create(h.VALUE)}}class ji extends j{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 a=e[2],i=[];for(let o=0;o<t;o++){i[o]==null&&(i[o]=[]);for(let u=0;u<n;u++){const l=a.execute(b.create(o+1),b.create(u+1));i[o][u]=l}}return new is(i)}isAsync(){return!0}}class $i extends j{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=!1,n=!0,a=null;for(const i of e){if(i.isError())return i;if(i.isArray()){if(i.iterator(o=>{if(o!=null&&o.isError())return a=o,!1;(o!=null&&o.isBoolean()||o!=null&&o.isNumber())&&(t=t||!!o.getValue(),n=!1)}),a)return a}else(i.isBoolean()||i.isNumber())&&(t=t||!!i.getValue(),n=!1)}return n?new m(h.VALUE):new Y(t)}}const ws=[[Mi,st.AND],[Bi,st.IF],[ki,st.LAMBDA],[ji,st.MAKEARRAY],[$i,st.OR],[Ti,st.IFERROR]];class Ii extends j{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",5)}calculate(e,t,n,a,i){if(e.isError())return e;if(t.isError())return t;if(n!=null&&n.isError())return n;if(a!=null&&a.isError())return a;if(i!=null&&i.isError())return i;const o=Number(e.getValue())-1,u=Number(t.getValue())-1;if(Number.isNaN(o)||Number.isNaN(u))return m.create(h.VALUE);const l=n?Yi(n.getValue()):E.AbsoluteRefType.ALL,c=this.getZeroOrOneByOneDefault(a),f=i?`${i.getValue()}`:"",d=sr(f)?`'${f}'`:f,_={startRow:o,startColumn:u,endRow:o,endColumn:u,startAbsoluteRefType:l,endAbsoluteRefType:l},C=a&&!c?pi(_):Ge(_);return Re.create(d!==""?`${d}!${C}`:C)}}function Yi(r){switch(r){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 Qi extends j{constructor(){super(...arguments);g(this,"minParams",0);g(this,"maxParams",1)}calculate(e){if(e==null)return b.create(this.column+1);if(e.isError())return e;if(!e.isArray())return m.create(h.NA);const t=e.getCurrentColumn(),n=e.getColumnCount(),a=[];for(let o=0;o<n;o++)a.push(b.create(t+o+1));const i={calculateValueList:[a],rowCount:1,columnCount:n,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return ye.create(i)}}class zi extends j{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 b.create(1);if(!e.isArray())return m.create(h.NA);const t=e.getColumnCount();return b.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 Hi extends j{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",4)}calculate(e,t,n,a){if(e.isError())return e;if(t.isError())return m.create(h.REF);if(!t.isArray()||n.isError()||a!=null&&a.isError())return m.create(h.NA);const i=this.getZeroOrOneByOneDefault(a);if(i==null)return m.create(h.VALUE);const o=this.getIndexNumValue(n);if(o instanceof m)return o;const u=t.slice([0,1]),l=t.slice([o-1,o]);return u==null||l==null?m.create(h.REF):e.isArray()?e.map(c=>this._handleSingleObject(c,u,l,i)):this._handleSingleObject(e,u,l,i)}_handleSingleObject(e,t,n,a){return a===0?this.equalSearch(e,t,n):this.binarySearch(e,t,n)}}class Wi extends j{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 a=this._convertToDefinedName(e.getValue());if(n===0){const f=ls(a),{range:d,sheetName:_,unitId:C}=f,A=new Ut(d);return A.setForcedUnitIdDirect(C),A.setForcedSheetName(_),this._setDefault(A)}if(new RegExp(Ot).test(a))return this._setDefault(new Nr(a));if(new RegExp(wn).test(a))return this._setDefault(new en(a));if(new RegExp(xn).test(a))return this._setDefault(new tn(a));const i=ke(a),{range:o,sheetName:u,unitId:l}=i,c=new Ut(o);return c.setForcedUnitIdDirect(l),c.setForcedSheetName(u),this._setDefault(c)}_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 Gi extends j{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(a=>this.binarySearch(a,t,n)):this.binarySearch(e,t,n)}_handleArray(e,t){const n=t.getRowCount(),a=t.getColumnCount();let i,o;return a>n?(i=t.slice([0,1]),o=t.slice([n-1,n])):(i=t.slice(void 0,[0,1]),o=t.slice(void 0,[a-1,a])),i==null||o==null?m.create(h.VALUE):e.isArray()?e.map(u=>this.binarySearch(u,i,o)):this.binarySearch(e,i,o)}}class Xi extends j{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 a=t.getRowCount(),i=t.getColumnCount();if(a!==1&&i!==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 a=this._getSearchModeValue(n),i=t.orderSearch(e,a);if(i==null)return m.create(h.NA);if(i instanceof m)return i;const o=t.getRowCount()===1?i.column+1:i.row+1;return b.create(o)}_getSearchModeValue(e){switch(e){case 1:return Pe.MIN;case 0:return Pe.NORMAL;case-1:return Pe.MAX}}}class Ki extends j{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",5);g(this,"needsReferenceObject",!0)}calculate(e,t,n,a,i){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;if(a!=null&&a.isError())return a;if(i!=null&&i.isError())return i;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()),a?a.isReferenceObject()&&(a=a.toArrayValueObject()):a=b.create(o),i?i.isReferenceObject()&&(i=i.toArrayValueObject()):i=b.create(u);const l=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1,i.isArray()?i.getRowCount():1),c=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1,i.isArray()?i.getColumnCount():1);if(t=t,n=n,a=a,i=i,l===1&&c===1)return this._handleSingleObject(e,t,n,a,i);const f=me(l,c,t,m.create(h.NA)),d=me(l,c,n,m.create(h.NA)),_=me(l,c,a,m.create(h.NA)),C=me(l,c,i,m.create(h.NA));return f.mapValue((A,L,w)=>{const V=d.get(L,w),B=_.get(L,w),W=C.get(L,w);return A.isError()?A:V.isError()?V:B.isError()?B:W.isError()?W:this._handleSingleObject(e,A,V,B,W,!0)})}_handleSingleObject(e,t,n,a,i,o=!1){const{startRow:u,startColumn:l}=e.getRangeData(),c=this.getIndexNumValue(t),f=this.getIndexNumValue(n);if(typeof c!="number"||typeof f!="number")return m.create(h.VALUE);const d=u+c,_=l+f;if(d<0||_<0)return m.create(h.REF);const C=this.getIndexNumValue(a),A=this.getIndexNumValue(i);if(typeof C!="number"||typeof A!="number")return m.create(h.VALUE);if(C===0||A===0)return m.create(h.REF);const L=C>0?d+C-1:d+C+1,w=A>0?_+A-1:_+A+1;if(L<0||w<0)return m.create(h.REF);if(o)return m.create(h.VALUE);const V=d<L?d:L,B=_<w?_:w,W=d>L?d:L,re=_>w?_:w,ge={startRow:V,startColumn:B,endRow:W,endColumn:re};return this.createReferenceObject(e,ge)}}class qi extends j{constructor(){super(...arguments);g(this,"minParams",0);g(this,"maxParams",1)}calculate(e){if(e==null)return b.create(this.row+1);if(e.isError())return e;if(!e.isArray())return m.create(h.NA);const t=e.getCurrentRow(),n=e.getRowCount(),a=[];for(let o=0;o<n;o++)a.push([b.create(t+o+1)]);const i={calculateValueList:a,rowCount:n,columnCount:1,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return ye.create(i)}}class Zi extends j{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 b.create(1);if(!e.isArray())return m.create(h.NA);const t=e.getRowCount();return b.create(t)}}class Ji extends j{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",4)}calculate(e,t,n,a){return e.isError()?e:t.isError()?m.create(h.REF):t.isArray()?n.isError()||a!=null&&a.isError()?m.create(h.NA):(a=a!=null?a:Y.create(!0),hs(e)&&hs(a)&&n.isArray()?this._handleArrayColIndexNum(e,t,n,a):this._handleNonArrayColIndexNum(e,t,n,a)):m.create(h.VALUE)}_handleArrayColIndexNum(e,t,n,a){e=e.isArray()?e.getFirstCell():e;const i=this.getZeroOrOneByOneDefault(a);if(i==null)return m.create(h.VALUE);let o;const u=[];return n.iterator((l,c,f)=>{if(l==null)return o=m.create(h.VALUE),!1;const d=this._handleTableArray(e,t,l,i);if(d.isError())return o=d,!1;u[c]===void 0&&(u[c]=[]),u[c][f]=d}),o||Mt(u,u.length,u[0].length,this.unitId||"",this.subUnitId||"")}_handleNonArrayColIndexNum(e,t,n,a){const i=Math.max(e.isArray()?e.getRowCount():1,a.isArray()?a.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,a.isArray()?a.getColumnCount():1),u=me(i,o,e),l=me(i,o,a);return u.map((c,f,d)=>{if(c.isError())return c;const _=l.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(c,t,n,C)})}_handleTableArray(e,t,n,a){const i=this.getIndexNumValue(n);if(i instanceof m)return i;const o=t.slice(void 0,[0,1]);if(o==null)return m.create(h.VALUE);const u=t.slice(void 0,[i-1,i]);return u==null?m.create(h.REF):this._handleSingleObject(e,o,u,a)}_handleSingleObject(e,t,n,a){return a===0?this.equalSearch(e,t,n):this.binarySearch(e,t,n)}}class Ni extends j{constructor(){super(...arguments);g(this,"minParams",3);g(this,"maxParams",6)}calculate(e,t,n,a,i,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(),l=t.getColumnCount();if(u!==1&&l!==1)return m.create(h.VALUE);if(n.isError())return m.create(h.REF);if(!n.isArray())return m.create(h.VALUE);const c=n.getRowCount(),f=n.getColumnCount();if(u!==c&&l!==f)return m.create(h.VALUE);if(a!=null&&a.isError()||i!=null&&i.isError()||o!=null&&o.isError())return m.create(h.NA);a==null&&(a=m.create(h.NA));const d=this.getIndexNumValue(i||b.create(0));if(d instanceof m)return d;const _=this.getIndexNumValue(o||b.create(1));if(_ instanceof m)return _;if(e.isArray()){let L;return u===1?L=n.slice([0,1]):L=n.slice(void 0,[0,1]),L==null?m.create(h.NA):e.map(w=>{const V=this._handleSingleObject(w,t,L,d,_);return V.isError()?a:V})}if(l===f&&u===c){const L=this._handleSingleObject(e,t,n,d,_);return L.isError()?a:L}let C=0;l===f&&(C=1);const A=this._handleExpandObject(e,t,n,d,_,C);return A==null?m.create(h.NA):A}_handleExpandObject(e,t,n,a,i,o=0){return(i===2||i===-2)&&a!==2?this.binarySearchExpand(e,t,n,o,this._getSearchModeValue(i)):a===2?this.fuzzySearchExpand(e,t,n,i!==-1,o):a===-1||a===1?this.orderSearchExpand(e,t,n,a===1?Pe.MAX:Pe.MIN,i===-1,o):this.equalSearchExpand(e,t,n,i!==-1,o)}_handleSingleObject(e,t,n,a,i){return(i===2||i===-2)&&a!==2?this.binarySearch(e,t,n,this._getSearchModeValue(i)):a===2?this.fuzzySearch(e,t,n,i!==-1):a===-1||a===1?this.orderSearch(e,t,n,a===1?Pe.MAX:Pe.MIN,i===-1):this.equalSearch(e,t,n,i!==-1)}_getSearchModeValue(e){return e===-2?Xe.MAX:Xe.MIN}}class eo extends j{constructor(){super(...arguments);g(this,"minParams",2);g(this,"maxParams",4)}calculate(e,t,n,a){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(),o=t.getColumnCount();if(i!==1&&o!==1)return m.create(h.VALUE);if(n!=null&&n.isError()||a!=null&&a.isError())return m.create(h.NA);const u=this.getIndexNumValue(n||b.create(0));if(u instanceof m)return u;const l=this.getIndexNumValue(a||b.create(1));return l instanceof m?l:e.isArray()?e.map(c=>this._handleSingleObject(c,t,u,l)):this._handleSingleObject(e,t,u,l)}_handleSingleObject(e,t,n,a){let i;if((a===2||a===-2)&&n!==2){const o=this._getSearchModeValue(a);i=t.binarySearch(e,o)}else if(n===2){const o=t.compare(e,M.EQUALS);let u;if(a!==-1?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null)return m.create(h.NA);i=t.getRowCount()===1?u.column:u.row}else if(n===-1||n===1){const o=t.orderSearch(e,n===1?Pe.MAX:Pe.MIN,a===-1);if(o==null)return m.create(h.NA);if(o instanceof m)return o;i=t.getRowCount()===1?o.column:o.row}else{const o=t.isEqual(e);let u;if(a!==-1?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null)return m.create(h.NA);i=t.getRowCount()===1?u.column:u.row}return i==null?m.create(h.NA):b.create(i+1)}_getSearchModeValue(e){return e===-2?Xe.MAX:Xe.MIN}}class to extends j{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",4);g(this,"needsReferenceObject",!0)}calculate(e,t,n,a){if(e.isError())return e;if(t!=null&&t.isError())return t;if(n!=null&&n.isError())return n;if(a!=null&&a.isError())return a;let i=0,o=0;if(e.isValueObject())i=1,o=1;else if(e.isReferenceObject()){const{startRow:c,endRow:f,startColumn:d,endColumn:_}=e.getRangeData();i=f-c+1,o=_-d+1}else return m.create(h.VALUE);i===1&&o>1&&n==null?(n=t!=null?t:b.create(0),t=b.create(0)):(t=t!=null?t:b.create(0),n=n!=null?n:b.create(0)),a=a!=null?a:b.create(1),t.isReferenceObject()&&(t=t.toArrayValueObject()),n.isReferenceObject()&&(n=n.toArrayValueObject()),a.isReferenceObject()&&(a=a.toArrayValueObject());const u=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1),l=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1);if(t=t,n=n,a=a,u===1&&l===1)return this._calculateSingleCell(e,t,n,a);{const c=me(u,l,t,m.create(h.NA)),f=me(u,l,n,m.create(h.NA)),d=me(u,l,a,m.create(h.NA));return c.map((_,C,A)=>{const L=f.get(C,A)||ce.create(),w=d.get(C,A)||ce.create(),V=this._calculateSingleCell(e,_,L,w);return V.isReferenceObject()?V.toArrayValueObject().getFirstCell():V})}}_calculateSingleCell(e,t,n,a){if(t.isError())return t;const i=this._getNumberValue(t);if(i===void 0||i<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(a.isError())return a;const u=this._getAreaNumberValue(a);return u===void 0||u<1?m.create(h.VALUE):e.isReferenceObject()?this._getReferenceObject(e,i,o,u):e.isValueObject()&&i===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,a){const{startRow:i,endRow:o,startColumn:u,endColumn:l}=e.getRangeData();let c=0,f=0,d=0,_=0;if(t===0?(c=i,f=o):c=f=i+t-1,n===0?(d=u,_=l):d=_=u+n-1,c>o||d>l)return m.create(h.REF);const C={startRow:c,startColumn:d,endRow:f,endColumn:_};return this.createReferenceObject(e,C)}}const xs=[[Ii,Se.ADDRESS],[Qi,Se.COLUMN],[zi,Se.COLUMNS],[to,Se.INDEX],[Wi,Se.INDIRECT],[Ki,Se.OFFSET],[qi,Se.ROW],[Zi,Se.ROWS],[Ji,Se.VLOOKUP],[Gi,Se.LOOKUP],[Xi,Se.MATCH],[Hi,Se.HLOOKUP],[Ni,Se.XLOOKUP],[eo,Se.XMATCH]];class ro extends j{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 no extends j{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 so extends j{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 ao extends j{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:Vs(t)):Vs(e)}}function Vs(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):b.create(e)}var we=(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))(we||{});class io extends j{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 oo extends j{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 uo extends j{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=b.create(1);for(let n=0;n<e.length;n++){let a=e[n];if(!a.isNull()){if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isArray()&&(a=this._multiplyArray(a)),a.isError())return a;if(t=t.multiply(a),t.isError())return t}}return t}_multiplyArray(e){let t=b.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 lo extends j{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((a,i,o)=>{n[i]==null&&(n[i]=[]),n[i][o]=this._handleSingleObject(a,...t)}),Mt(n,n.length,n[0].length)}return this._handleSingleObject(e,...t)}_handleSingleObject(e,...t){const n=this._getIndexNumValue(e);let a;if(n instanceof m)return n;switch(n){case 1:a=this._average(!1,...t);break;case 2:a=this._count(!1,...t);break;case 3:a=this._counta(!1,...t);break;case 4:a=this._max(!1,...t);break;case 5:a=this._min(!1,...t);break;case 6:a=this._product(!1,...t);break;case 7:a=this._stdev(!1,...t);break;case 8:a=this._stdevp(!1,...t);break;case 9:a=this._sum(!1,...t);break;case 10:a=this._var(!1,...t);break;case 11:a=this._varp(!1,...t);break;case 101:a=this._average(!0,...t);break;case 102:a=this._count(!0,...t);break;case 103:a=this._counta(!0,...t);break;case 104:a=this._max(!0,...t);break;case 105:a=this._min(!0,...t);break;case 106:a=this._product(!0,...t);break;case 107:a=this._stdev(!0,...t);break;case 108:a=this._stdevp(!0,...t);break;case 109:a=this._sum(!0,...t);break;case 110:a=this._var(!0,...t);break;case 111:a=this._varp(!0,...t);break;default:a=m.create(h.VALUE)}return a}_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=b.create(0);for(let a=0;a<t.length;a++){const i=t[a];if(!i.isReferenceObject())return m.create(h.VALUE);const o=i.getRowData();i.iterator((u,l)=>{if(e&&this._isRowHidden(o,l)||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)?b.create(0):n.max()}_min(e,...t){const n=this._flattenRefArray(e,...t);return n.isError()?n:this._isBlankArrayObject(n)?b.create(0):n.min()}_product(e,...t){const n=this._flattenRefArray(e,...t);if(n.isError())return n;if(this._isBlankArrayObject(n))return b.create(0);let a=b.create(1);return n.iterator(i=>{a=a.multiply(i)}),a}_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 a=0;a<t.length;a++){const i=t[a];if(i.isError())return i;if(!i.isReferenceObject())return m.create(h.VALUE);const o=i.getRowData();let u;if(i.iterator((l,c)=>{if(e&&this._isRowHidden(o,c)||l==null||l.isNull()||l.isString()||l.isBoolean())return!0;if(l.isError())return u=l,!1;n[0].push(l)}),u!=null&&u.isError())return u}return Mt(n,1,n[0].length)}_isRowHidden(e,t){const n=e[t];return n?n.hd===E.BooleanNumber.TRUE:!1}_isBlankArrayObject(e){return e.getArrayValue()[0].length===0}}class co extends j{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=b.create(0);for(let n=0;n<e.length;n++){let a=e[n];if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;if(a.isArray()&&(a=a.sum()),t=t.plus(a),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,rt.create(t)]}return[M.EQUALS,rt.create(r)]}function an(r,s,e,t){if(!e)if(s.isString()){const n=`${s.getValue()}`,[a,i]=fo(n);e=a,s=i}else e=M.EQUALS;return r.compare(s,e,t)}function vs(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),a=me(e,t,s);return n.mapValue((i,o,u)=>{const l=a.get(o,u);return i!=null&&i.isError()?i:l!=null&&l.isError()?l:i!=null&&i.isBoolean()&&(l!=null&&l.isBoolean())?lr(i.getValue()&&l.getValue()):Y.create(!1)})}class ho extends j{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(a=>this._handleSingleObject(e,a,n)):this._handleSingleObject(e,t,n)}_handleSingleObject(e,t,n){const a=an(e,t),i=n?n.slice([0,e.getRowCount()],[0,e.getColumnCount()]):e;return i?i.pick(a).sum():m.create(h.VALUE)}}class mo extends j{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(),a=e.getColumnCount();let i=0,o=0;t.forEach((f,d)=>{if(d%2===1)if(f.isArray()){const _=f;i=Math.max(i,_.getRowCount()),o=Math.max(o,_.getColumnCount())}else i=Math.max(i,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!==a)return me(i,o,m.create(h.NA));const A=t[f+1];me(i,o,A,m.create(h.NA)).iterator((w,V,B)=>{if(!w)return;const W=an(d,w);if(u[V]===void 0&&(u[V]=[]),u[V][B]===void 0){u[V][B]=W;return}u[V][B]=vs(u[V][B],W)})}const l=u.map(f=>f.map(d=>e.pick(d).sum())),c={calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return ye.create(c)}}const Os=[[ro,we.ABS],[no,we.ACOS],[so,we.ACOSH],[ao,we.ACOT],[io,we.MOD],[lo,we.SUBTOTAL],[co,we.SUM],[ho,we.SUMIF],[mo,we.SUMIFS],[oo,we.POWER],[uo,we.PRODUCT]];class go extends j{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 on extends Ke{constructor(e){super("");g(this,"_values",[]);this._values=e}static create(e){return new on(e)}isCube(){return!0}sum(){const e=b.create(0);return this._values.forEach(t=>{e.plus(t.sum())}),e}max(){let e=b.create(Number.NEGATIVE_INFINITY);return this._values.forEach(t=>{const n=t.max();e.isLessThan(n)&&(e=n)}),e}min(){let e=b.create(Number.POSITIVE_INFINITY);return this._values.forEach(t=>{const n=t.max();e.isGreaterThan(n)&&(e=n)}),e}count(){const e=b.create(0);return this._values.forEach(t=>{e.plus(t.count())}),e}countA(){const e=b.create(0);return this._values.forEach(t=>{e.plus(t.countA())}),e}countBlank(){const e=b.create(0);return this._values.forEach(t=>{e.plus(t.countBlank())}),e}}class po extends j{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){const t=[];for(let n=0;n<e.length;n++){const a=e[n];if(a.isError())return a;if(!a.isArray())return m.create(h.VALUE);t.push(a)}return on.create(t)}}class Ro extends j{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 Le=(r=>(r.COMPARE="COMPARE",r.DIVIDED="DIVIDED",r.MINUS="MINUS",r.MULTIPLY="MULTIPLY",r.PLUS="PLUS",r.UNION="UNION",r.CUBE="CUBE",r))(Le||{});class _o extends j{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 yo extends j{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 Eo extends j{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 Fs=[[go,Le.COMPARE],[Ro,Le.DIVIDED],[_o,Le.MINUS],[yo,Le.MULTIPLY],[Eo,Le.PLUS],[po,Le.CUBE]];class Co extends j{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=b.create(0),n=b.create(0);for(let a=0;a<e.length;a++){let i=e[a];if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()){if(t=t.plus(i.sum()),t.isError())return t;n=n.plus(i.count())}else i.isNull()||(t=t.plus(i),n=n.plus(b.create(1)))}return t.divided(n)}}class Do extends j{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=b.create(0);for(let n=0;n<e.length;n++){const a=e[n];a.isError()||(a.isArray()?t=t.plus(a.count()):a.isString()?a.convertToNumberObjectValue().isError()||(t=t.plus(b.create(1))):a.isNull()||(t=t.plus(b.create(1))))}return t}}class bo extends j{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=b.create(0);for(let n=0;n<e.length;n++){let a=e[n];if(a.isError()){t=t.plus(b.create(1));continue}a.isArray()?(a=a.countA(),t=t.plus(a)):a.isNull()||(t=t.plus(b.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 So extends j{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=b.create(Number.NEGATIVE_INFINITY);for(let n=0;n<e.length;n++){let a=e[n];if(!a.isNull()){if((a.isString()||a.isBoolean())&&(a=a.convertToNumberObjectValue()),a.isArray()&&(a=a.max()),a.isError())return a;t=this._validator(t,a)}}return t.getValue()===Number.NEGATIVE_INFINITY?b.create(0):t}_validator(e,t){return e.isLessThan(t).getValue()&&(e=t),e}}class Us extends j{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=b.create(Number.POSITIVE_INFINITY);for(let n=0;n<e.length;n++){let a=e[n];if((a.isString()||a.isBoolean())&&(a=a.convertToNumberObjectValue()),a.isArray()&&(a=a.min()),a.isError())return a;a.isNull()||(t=this._validator(t,a))}return t.getValue()===Number.POSITIVE_INFINITY?b.create(0):t}_validator(e,t){return e.isGreaterThan(t).getValue()&&(e=t),e}}class Lo extends j{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 Ao extends j{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 Po extends j{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 wo extends j{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 xo extends j{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(),a=e.getColumnCount();let i=0,o=0;t.forEach((f,d)=>{if(d%2===1)if(f.isArray()){const _=f;i=Math.max(i,_.getRowCount()),o=Math.max(o,_.getColumnCount())}else i=Math.max(i,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!==a)return me(i,o,m.create(h.NA));const A=t[f+1];me(i,o,A,m.create(h.NA)).iterator((w,V,B)=>{if(!w)return;const W=an(d,w);u[V]===void 0&&(u[V]=[]),u[V][B]===void 0&&(u[V][B]=W),u[V][B]=vs(u[V][B],W)})}const l=u.map(f=>f.map(d=>{const _=e.pick(d);return _.getColumnCount()===0?ye.create("0"):_.max()})),c={calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return ye.create(c)}}const Ms=[[Co,be.AVERAGE],[Do,be.COUNT],[So,be.MAX],[Us,be.MIN],[Us,be.MIN],[bo,be.COUNTA],[ms,be.STDEV_P],[ds,be.STDEV_S],[Lo,be.STDEVA],[Ao,be.STDEVPA],[gs,be.VAR_P],[ps,be.VAR_S],[Po,be.VARA],[wo,be.VARPA],[xo,be.MAXIFS]];class Vo extends j{constructor(){super(...arguments);g(this,"minParams",1);g(this,"maxParams",255)}calculate(...e){let t=0,n=0;e.forEach(i=>{if(i.isArray()){const o=i;t=Math.max(t,o.getRowCount()),n=Math.max(n,o.getColumnCount())}else t=Math.max(t,1),n=Math.max(n,1)});let a=null;for(const i of e)a=me(t,n,i,m.create(h.NA)).mapValue((u,l,c)=>{var C,A;const f=a&&a.get(l,c);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()?"":(A=u==null?void 0:u.getValue())!=null?A:"";return qr(`${d}${_}`)});return a||m.create(h.VALUE)}}var at=(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))(at||{});class vo extends j{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 b.create(0);if(e.isString()||e.isBoolean()||e.isNumber()){const t=e.getValue().toString();return b.create(t.length)}return m.create(h.VALUE)}}function Oo(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 Fo extends j{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 b.create(0);if(e.isString()||e.isBoolean()||e.isNumber()){const t=e.getValue().toString(),n=Oo(t);return b.create(n)}return m.create(h.VALUE)}}const Uo=(r,s)=>ts.format(r,s);class Mo extends j{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),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=me(n,a,e),o=me(n,a,t);return i.map((u,l,c)=>{if(u.isError()||u.isString()||u.isBoolean())return u;let f=o.get(l,c)||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=b.create(0));const _=u.getValue(),C=Uo(d,_);return Re.create(C)})}}class Bo extends j{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 Bs=[[Vo,at.CONCATENATE],[vo,at.LEN],[Fo,at.LENB],[Mo,at.TEXT],[Bo,at.LOWER]],Ts=[];var ks=(r=>r)(ks||{});const js=[];var $s=(r=>(r.ENCODEURL="ENCODEURL",r.FILTERXML="FILTERXML",r.WEBSERVICE="WEBSERVICE",r))($s||{});function To(r,s,e,t,n,a,i){const o=(i==null?void 0:i.f)||"",u=(i==null?void 0:i.si)||"",l=E.isFormulaString(o),c=E.isFormulaId(u);if(l&&c)r.setValue(n,a,{f:o,si:u}),e.set(u,{f:o,r:n,c:a}),s.setValue(n,a,{f:o,si:u});else if(l&&!c)r.setValue(n,a,{f:o}),s.setValue(n,a,{f:o});else if(!l&&c)r.setValue(n,a,{f:"",si:u});else if(!l&&!c&&r.getValue(n,a)){const f=r.getValue(n,a),d=(f==null?void 0:f.f)||"",_=(f==null?void 0:f.si)||"";E.isFormulaString(d)&&E.isFormulaId(_)&&t.set(_,d),r.realDeleteValue(n,a),s.setValue(n,a,null)}}function ko(r,s,e,t){const n=r==null?void 0:r.getValue(e,t);if(n==null)return!0;const{startRow:a,startColumn:i,endRow:o,endColumn:u}=n;for(let l=a;l<=o;l++)for(let c=i;c<=u;c++)s.realDeleteValue(l,c)}var jo=Object.defineProperty,$o=Object.getOwnPropertyDescriptor,Io=(r,s,e,t)=>{for(var n=t>1?void 0:t?$o(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&jo(s,e,n),n},Is=(r,s)=>(e,t)=>s(e,t,r);S.FormulaDataModel=class extends E.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(a=>{var l,c,f,d;const i=n[a],o=(c=(l=this._arrayFormulaRange)==null?void 0:l[t])==null?void 0:c[a];if(o==null)return!0;let u=new E.ObjectMatrix;((f=this._arrayFormulaCellData[t])==null?void 0:f[a])!=null&&(u=new E.ObjectMatrix((d=this._arrayFormulaCellData[t])==null?void 0:d[a])),i.forValue((_,C)=>{var W;const A=(W=o==null?void 0:o[_])==null?void 0:W[C];if(A==null)return!0;const{startRow:L,startColumn:w,endRow:V,endColumn:B}=A;for(let re=L;re<=V;re++)for(let ge=w;ge<=B;ge++)u.setValue(re,ge,null)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][a]=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(a=>{var l,c;const i=n[a],o=new E.ObjectMatrix((l=this._arrayFormulaRange[t])==null?void 0:l[a]),u=new E.ObjectMatrix((c=this._arrayFormulaCellData[t])==null?void 0:c[a]);i.forValue((f,d)=>{const _=o==null?void 0:o.getValue(f,d);if(_==null)return!0;const{startRow:C,startColumn:A,endRow:L,endColumn:w}=_;for(let V=C;V<=L;V++)for(let B=A;B<=w;B++)u.setValue(V,B,null)}),i.forValue((f,d,_)=>{u.setValue(f,d,_)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][a]=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(a=>{var u;const i=new E.ObjectMatrix(n[a]),o=new E.ObjectMatrix((u=this._arrayFormulaRange[t])==null?void 0:u[a]);i.forValue((l,c,f)=>{o.setValue(l,c,f)}),this._arrayFormulaRange[t]&&(this._arrayFormulaRange[t][a]=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(a=>{var l,c;const i=n[a];if(i===void 0)return;if(i===null){(l=this._formulaData[t])==null||delete l[a];return}const o=new E.ObjectMatrix(i),u=new E.ObjectMatrix(((c=this._formulaData[t])==null?void 0:c[a])||{});o.forValue((f,d,_)=>{_==null?u.realDeleteValue(f,d):u.setValue(f,d,_)}),this._formulaData[t][a]=u.clone()})}})}deleteArrayFormulaRange(e,t,n,a){var u;const i=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(i==null)return;const o=new E.ObjectMatrix(i);o.getValue(n,a)&&(o.realDeleteValue(n,a),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),n=t.getUnitId();this._formulaData[n]={},t.getSheets().forEach(i=>{const o=i.getCellMatrix(),u=i.getSheetId();Ys(this._formulaData,n,u,o)})}getCalculateData(){const e=this._univerInstanceService.getAllUnitsForType(E.UniverInstanceType.UNIVER_SHEET),t={},n={};for(const a of e){const i=a.getUnitId(),o=a.getSheets(),u={},l={};for(const c of o){const f=c.getSheetId(),d=c.getConfig();u[f]={cellData:new E.ObjectMatrix(d.cellData),rowCount:d.rowCount,columnCount:d.columnCount,rowData:d.rowData,columnData:d.columnData},l[c.getName()]=c.getSheetId()}t[i]=u,n[i]=l}return{allUnitData:t,unitSheetNameMap:n}}updateFormulaData(e,t,n){const a=new E.ObjectMatrix(n),i=this.getFormulaIdMap(e,t),o=new Map,u=this._formulaData;u[e]==null&&(u[e]={});const l=u[e];l[t]==null&&(l[t]={});const c=new E.ObjectMatrix(l[t]||{}),f=new E.ObjectMatrix;return a.forValue((d,_,C)=>{To(c,f,i,o,d,_,C)}),c.forValue((d,_,C)=>{const A=(C==null?void 0:C.f)||"",L=(C==null?void 0:C.si)||"";if(E.isFormulaId(L)){const w=i.get(L),V=o.get(L);if(w&&!E.isFormulaString(A)){const B=w.f,W=_-w.c,re=d-w.r;c.setValue(d,_,{f:B,si:L,x:W,y:re}),f.setValue(d,_,{f:B,si:L,x:W,y:re})}else if(typeof V=="string"){const B=(C==null?void 0:C.x)||0,W=(C==null?void 0:C.y)||0,re=this._lexerTreeBuilder.moveFormulaRefOffset(V,B,W);o.set(L,{r:d,c:_,f:re}),c.setValue(d,_,{f:re,si:L}),f.setValue(d,_,{f:re,si:L})}else if(typeof V=="object"){const B=_-V.c,W=d-V.r;c.setValue(d,_,{f:V.f,si:L,x:B,y:W}),f.setValue(d,_,{f:V.f,si:L,x:B,y:W})}}}),f.clone()}updateArrayFormulaRange(e,t,n){var u;const a=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(!a)return;const i=new E.ObjectMatrix(a);new E.ObjectMatrix(n).forValue((l,c,f)=>{i.realDeleteValue(l,c)})}updateArrayFormulaCellData(e,t,n){var c,f;const a=(c=this._arrayFormulaRange[e])==null?void 0:c[t];if(!a)return;const i=new E.ObjectMatrix(a),o=(f=this._arrayFormulaCellData[e])==null?void 0:f[t];if(!o)return;const u=new E.ObjectMatrix(o);new E.ObjectMatrix(n).forValue((d,_,C)=>{ko(i,u,d,_)})}getFormulaItemBySId(e,t,n){const a=this._formulaData;if(a[n]==null)return null;const i=a[n];if((i==null?void 0:i[t])==null)return null;const o=new E.ObjectMatrix(i[t]||{});let u=null;return o.forValue((l,c,f)=>{if(f==null)return!0;const{f:d,si:_,x:C=0,y:A=0}=f;if(_===e&&d.length>0&&C===0&&A===0)return u=f,!1}),u}getFormulaDataItem(e,t,n,a){var i,o,u,l;return(l=(u=(o=(i=this._formulaData)==null?void 0:i[a])==null?void 0:o[n])==null?void 0:u[e])==null?void 0:l[t]}getFormulaIdMap(e,t){const n=new Map,a=this._formulaData;if(a[e]==null)return n;const i=a[e];return(i==null?void 0:i[t])==null||new E.ObjectMatrix(i[t]||{}).forValue((u,l,c)=>{const f=(c==null?void 0:c.f)||"",d=(c==null?void 0:c.si)||"",_=(c==null?void 0:c.x)||0,C=(c==null?void 0:c.y)||0;E.isFormulaString(f)&&E.isFormulaId(d)&&_===0&&C===0&&n.set(d,{f,r:u,c:l})}),n}getFormulaStringByCell(e,t,n,a){const i=this.getFormulaDataItem(e,t,n,a);if(i==null)return null;const{f:o,si:u,x:l=0,y:c=0}=i;if(u!=null&&(l!==0||c!==0)){let f="";if(o.length>0)f=o;else{const d=this.getFormulaItemBySId(u,n,a);if(d==null||d.f.length===0)return null;f=d.f}return f=this._lexerTreeBuilder.moveFormulaRefOffset(f,l,c),f}return E.isFormulaString(o)?o:null}},S.FormulaDataModel=Io([Is(0,E.IUniverInstanceService),Is(1,X.Inject(ar))],S.FormulaDataModel);function Ys(r,s,e,t){const n=new Map,a=new E.ObjectMatrix;t.forValue((o,u,l)=>{const c=(l==null?void 0:l.f)||"",f=(l==null?void 0:l.si)||"",d=E.isFormulaString(c),_=E.isFormulaId(f);d&&_?(a.setValue(o,u,{f:c,si:f}),n.set(f,{f:c,r:o,c:u})):d&&!_?a.setValue(o,u,{f:c}):!d&&_&&a.setValue(o,u,{f:"",si:f})}),a.forValue((o,u,l)=>{const c=(l==null?void 0:l.f)||"",f=(l==null?void 0:l.si)||"";if(E.isFormulaId(f)&&!E.isFormulaString(c)){const d=n.get(f);if(d){const _=d.f,C=u-d.c,A=o-d.r;a.setValue(o,u,{f:_,si:f,x:C,y:A})}}}),r[s]||(r[s]={});const i=a.clone();return r[s][e]=i,{[s]:{[e]:i}}}class Qs extends E.Disposable{constructor(){super();g(this,"_definedNameMap",{});g(this,"_update$",new Rt.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 Rt.Subject);g(this,"currentRange$",this._currentRange$.asObservable());g(this,"_focusRange$",new Rt.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 Ge(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 a;const n=this._definedNameMap[e];return n==null?null:(a=Array.from(Object.values(n)).filter(i=>i.name===t))==null?void 0:a[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 Bt=X.createIdentifier("univer.formula.defined-names.service");var Yo=Object.defineProperty,Qo=Object.getOwnPropertyDescriptor,zo=(r,s,e,t)=>{for(var n=t>1?void 0:t?Qo(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&Yo(s,e,n),n},Ho=(r,s)=>(e,t)=>s(e,t,r);S.FormulaCurrentConfigService=class extends E.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:a}=this._loadSheetData();this._unitData=t,this._unitStylesData=a,this._sheetNameMap=n}this._formulaData=e.formulaData,this._arrayFormulaCellData=Sn(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(a=>{e[n]==null&&(e[n]={}),e[n][t[n][a]]=a})}),this._sheetIdToNameMap={},Object.keys(e).forEach(n=>{Object.keys(e[n]).forEach(a=>{this._sheetIdToNameMap[n]==null&&(this._sheetIdToNameMap[n]={}),this._sheetIdToNameMap[n][e[n][a]]=a})})}_loadSheetData(){const e=this._univerInstanceService.getAllUnitsForType(E.UniverInstanceType.UNIVER_SHEET),t=this._univerInstanceService.getCurrentUnitForType(E.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 a={},i={},o={};for(const u of e){const l=u.getUnitId(),c=u.getSheets(),f={},d={};for(const _ of c){const C=_.getSheetId(),A=_.getConfig();f[C]={cellData:new E.ObjectMatrix(A.cellData),rowCount:A.rowCount,columnCount:A.columnCount,rowData:A.rowData,columnData:A.columnData},d[_.getName()]=_.getSheetId()}a[l]=f,i[l]=u.getStyles(),o[l]=d}return{allUnitData:a,unitStylesData:i,unitSheetNameMap:o}}},S.FormulaCurrentConfigService=zo([Ho(0,E.IUniverInstanceService)],S.FormulaCurrentConfigService);const qe=X.createIdentifier("univer.formula.current-data.service");var Wo=Object.defineProperty,Go=Object.getOwnPropertyDescriptor,Xo=(r,s,e,t)=>{for(var n=t>1?void 0:t?Go(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&Wo(s,e,n),n},un=(r,s)=>(e,t)=>s(e,t,r);let St=class extends E.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,a=t.length;n<a;n++){const i=t[n];if(r.indexOf(i)>-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,a=t.length;n<a;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 a=[];for(let i=0,o=e.length;i<o;i++){const u=e[i];if(typeof u=="string"){t+=u;continue}const{nodeType:l,token:c}=u;if(l===Ae.REFERENCE||l===Ae.FUNCTION){const f=this._definedNamesService.getValueByName(s,c);if(f){let d=f.formulaOrRefString;d.substring(0,1)===oe.EQUALS&&(d=d.substring(1)),t+=d,a.push(f.name),n=!0}else this._checkDefinedNameDirty(c)?(t+=h.NAME,n=!0,a.push(c)):t+=c}else t+=c}return{sequenceString:t,hasDefinedName:n,definedNames:a}}};St=Xo([un(0,Bt),un(1,X.Inject(ar)),un(2,qe)],St);var Ko=Object.defineProperty,qo=Object.getOwnPropertyDescriptor,Zo=(r,s,e,t)=>{for(var n=t>1?void 0:t?qo(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&Ko(s,e,n),n},Jo=(r,s)=>(e,t)=>s(e,t,r),je=(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))(je||{}),Lt=(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))(Lt||{});S.FormulaRuntimeService=class extends E.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,a,i,o){this._currentRow=e,this._currentColumn=t,this._currentRowCount=n,this._currentColumnCount=a,this._currentSubUnitId=i,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,a=this._currentUnitId;this._runtimeOtherData[a]===void 0&&(this._runtimeOtherData[a]={});const i=this._runtimeOtherData[a];i[n]===void 0&&(i[n]={});const o=i[n];let u=[];if(t.isReferenceObject()||t.isValueObject()&&t.isArray()){const l=t,{startRow:c,startColumn:f}=l.getRangePosition();l.iterator((d,_,C)=>{const A=mt(d),L=_-c,w=C-f;u[L]==null&&(u[L]=[]),u[L][w]=A})}else u=[[mt(t)]];o[e]=u}setRuntimeData(e){const t=this._currentRow,n=this._currentColumn,a=this._currentRowCount,i=this.currentColumnCount,o=this._currentSubUnitId,u=this._currentUnitId;this._runtimeData[u]==null&&(this._runtimeData[u]={});const l=this._runtimeData[u];l[o]==null&&(l[o]=new E.ObjectMatrix),this._unitArrayFormulaRange[u]==null&&(this._unitArrayFormulaRange[u]={});const c=this._unitArrayFormulaRange[u];let f=new E.ObjectMatrix;c[o]&&(f=new E.ObjectMatrix(c[o])),this._runtimeArrayFormulaCellData[u]===void 0&&(this._runtimeArrayFormulaCellData[u]={});const d=this._runtimeArrayFormulaCellData[u];d[o]==null&&(d[o]=new E.ObjectMatrix),this._runtimeClearArrayFormulaCellData[u]===void 0&&(this._runtimeClearArrayFormulaCellData[u]={});const _=this._runtimeClearArrayFormulaCellData[u];_[o]==null&&(_[o]=new E.ObjectMatrix);const C=l[o],A=d[o],L=_[o];if(e.isReferenceObject()||e.isValueObject()&&e.isArray()){const w=e,{startRow:V,startColumn:B,endRow:W,endColumn:re}=w.getRangePosition();if(V===W&&B===re){const Ee=w.getFirstCell(),de=mt(Ee);C.setValue(t,n,de),L.setValue(t,n,de);return}const ge={startRow:t,startColumn:n,endRow:W-V+t,endColumn:re-B+n};if(f.setValue(t,n,ge),c[o]=f.getData(),this._checkIfArrayFormulaRangeHasData(u,o,t,n,ge)||this._checkIfArrayFormulaExceeded(a,i,ge)){const Ee=mt(m.create(h.SPILL));C.setValue(t,n,Ee),L.setValue(t,n,Ee)}else{const Ee=m.create(h.SPILL);w.iterator((de,ae,N)=>{const J=mt(de);if(ae===V&&N===B){if(de!=null&&de.isError()&&de.isEqualType(Ee))return L.setValue(t,n,{}),C.setValue(t,n,{...mt(Ee)}),!1;C.setValue(t,n,{...J})}const fe=ae-V+t,gt=N-B+n;A.setValue(fe,gt,J)})}}else{const w=mt(e);C.setValue(t,n,w),L.setValue(t,n,w)}}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,a,i){var _,C,A,L,w,V,B,W,re,ge,Ee,de;const{startRow:o,startColumn:u,endRow:l,endColumn:c}=i,f=this._currentConfigService.getUnitData(),d=(A=(C=(_=this._unitArrayFormulaRange[e])==null?void 0:_[t])==null?void 0:C[n])==null?void 0:A[a];for(let ae=o;ae<=l;ae++)for(let N=u;N<=c;N++){if(ae===n&&a===N)continue;const J=(V=(w=(L=this._runtimeData)==null?void 0:L[e])==null?void 0:w[t])==null?void 0:V.getValue(ae,N),fe=(re=(W=(B=this._runtimeArrayFormulaCellData)==null?void 0:B[e])==null?void 0:W[t])==null?void 0:re.getValue(ae,N),gt=(de=(Ee=(ge=f==null?void 0:f[e])==null?void 0:ge[t])==null?void 0:Ee.cellData)==null?void 0:de.getValue(ae,N);if(!E.isNullCell(J)||!E.isNullCell(fe)&&!this._isInArrayFormulaRange(d,ae,N)||!E.isNullCell(gt))return!0}return!1}_isInArrayFormulaRange(e,t,n){if(e==null)return!1;const{startRow:a,startColumn:i,endRow:o,endColumn:u}=e;return t>=a&&t<=o&&n>=i&&n<=u}_checkIfArrayFormulaExceeded(e,t,n){return n.endRow>=e||n.endColumn>=t}_isInDirtyRange(e,t,n,a){const i=this._currentConfigService.getDirtyRanges();return i.length===0?!0:En(i,e,t,n,a)}},S.FormulaRuntimeService=Zo([Jo(0,qe)],S.FormulaRuntimeService);const Ue=X.createIdentifier("univer.formula.runtime.service");var te=(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))(te||{});const $e=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();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 te.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(ft.SUCCESS)}serialize(){const e=this.getToken(),t=this.getChildren(),n=[],a=t.length;for(let o=0;o<a;o++){const u=t[o];n.push(u.serialize())}const i={token:e,nodeType:this.nodeType};return a>0&&(i.children=n),i}hasDefinedName(e){return this._definedNames.includes(e)}setDefinedNames(e){this._definedNames=e}}class Ce extends Ve{constructor(e){super(e);g(this,"_errorValueObject");this._errorValueObject=m.create(e)}get nodeType(){return te.ERROR}static create(e){return new Ce(e)}getValue(){return this._errorValueObject}}const Ie=100;class Ye extends E.Disposable{get zIndex(){return 0}create(s,e,t){let n;return s instanceof Z?n=s.getToken():n=s,new Ve(n)}}class ln extends Ve{get nodeType(){return te.ROOT}execute(){const e=this.getChildren()[0];e==null?this.setValue(m.create(h.VALUE)):this.setValue(e.getValue())}}class zs extends Ye{get zIndex(){return $e.get(te.ROOT)||Ie}checkAndCreateNodeType(s){if(!(s instanceof Z))return;if(s.getToken()===Je)return new ln(Je)}}class Hs extends E.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 E.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 Qe=X.createIdentifier("univer.formula.function.service");var No=Object.defineProperty,eu=Object.getOwnPropertyDescriptor,tu=(r,s,e,t)=>{for(var n=t>1?void 0:t?eu(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&No(s,e,n),n},Ws=(r,s)=>(e,t)=>s(e,t,r);class mr extends Ve{constructor(s,e,t){super(e),this._accessor=s,this._operatorString=e,this._functionExecutor=t}get nodeType(){return te.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(b.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(Ue),n=t.currentRow||0,a=t.currentColumn||0;return e.isRow()?e.getCellByColumn(a):e.isColumn()?e.getCellByRow(n):e.isRange()||e.isTable()?e.getCellByPosition():m.create(h.VALUE)}}let dr=class extends Ye{constructor(r,s){super(),this._functionService=r,this._injector=s}get zIndex(){return $e.get(te.PREFIX)||Ie}checkAndCreateNodeType(r){if(!(r instanceof Z))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=Le.MINUS;else return e===_e.AT?new mr(this._injector,e):void 0;const n=this._functionService.getExecutor(t);return n?new mr(this._injector,e,n):(console.error(`No function ${s}`),Ce.create(h.NAME))}};dr=tu([Ws(0,Qe),Ws(1,X.Inject(X.Injector))],dr);function Gs(r,s,e){let t,n;const a=r.slice(0,2);let i=0;if(new RegExp(_e.MINUS,"g").test(a)){const o=s.getExecutor(Le.MINUS);t=new mr(e,_e.MINUS,o),i++}return new RegExp(_e.AT,"g").test(a)&&(n=new mr(e,_e.AT),t&&n.setParent(t),i++),i>0&&(r=r.slice(i)),{tokenTrim:r,minusPrefixNode:t,atPrefixNode:n}}var ru=Object.defineProperty,nu=Object.getOwnPropertyDescriptor,su=(r,s,e,t)=>{for(var n=t>1?void 0:t?nu(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&ru(s,e,n),n},Tt=(r,s)=>(e,t)=>s(e,t,r);class au extends Ve{constructor(s,e,t,n,a){super(s),this._functionExecutor=e,this._currentConfigService=t,this._runtimeService=n,this._definedNamesService=a,this._functionExecutor.isAsync()&&this.setAsync(),this._functionExecutor.isAddress()&&this.setAddress()}get nodeType(){return te.FUNCTION}async executeAsync(){const s=[],e=this.getChildren(),t=e.length;this._compatibility();for(let i=0;i<t;i++){const o=e[i].getValue();o!=null&&(o.isReferenceObject()?s.push(o.toArrayValueObject()):s.push(o))}const n=this._calculate(s);let a;return n.isAsyncObject()||n.isAsyncArrayObject()?a=await n.getValue():a=n,this._setRefData(a),this.setValue(a),Promise.resolve(ft.SUCCESS)}execute(){const s=[],e=this.getChildren(),t=e.length;this._compatibility();for(let a=0;a<t;a++){const i=e[a].getValue();i!=null&&(i.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?s.push(i.toArrayValueObject()):s.push(i))}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 a=t.getRangeData(),i=n.getRangeData(),{startRow:o,startColumn:u,endRow:l,endColumn:c}=a,f=l-o+1,d=c-u+1,{startRow:_,startColumn:C,endRow:A,endColumn:L}=i,w=A-_+1,V=L-C+1;f!==w&&(i.endRow+=f-w),d!==V&&(i.endColumn+=d-V)}_calculate(s){var a;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 i=this._functionExecutor.calculateCustom(...s.map(o=>o.isArray()?o.toValue():o.getValue()));if(typeof i!="object"||i==null)n=rt.create(i);else{const o=ss(i);n=ye.create({calculateValueList:o,rowCount:o.length,columnCount:((a=o[0])==null?void 0:a.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 gr=class extends Ye{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 $e.get(te.FUNCTION)||Ie}create(r){const s=this._functionService.getExecutor(r);return s?new au(r,s,this._currentConfigService,this._runtimeService,this._definedNamesService):(console.error(`No function ${r}`),Ce.create(h.NAME))}checkAndCreateNodeType(r){if(typeof r=="string")return;const s=r.getToken(),{tokenTrim:e,minusPrefixNode:t,atPrefixNode:n}=Gs(s.trim(),this._functionService,this._injector);if(!Number.isNaN(Number(e)))return Ce.create(h.VALUE);const a=e.toUpperCase();if(this._functionService.hasExecutor(a)){const i=this.create(a);return n?i.setParent(n):t&&i.setParent(t),i}}};gr=su([Tt(0,Qe),Tt(1,qe),Tt(2,Ue),Tt(3,Bt),Tt(4,X.Inject(X.Injector))],gr);var iu=Object.defineProperty,ou=Object.getOwnPropertyDescriptor,uu=(r,s,e,t)=>{for(var n=t>1?void 0:t?ou(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&iu(s,e,n),n},lu=(r,s)=>(e,t)=>s(e,t,r);let At=class extends E.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 a=e[n];s.push(a.isAsync()),this._checkAsyncNode(a,s)}}async _executeAsync(r){if(this._runtimeService.isStopExecution())return Promise.resolve(ft.ERROR);const s=r.getChildren(),e=s.length;for(let t=0;t<e;t++){const n=s[t];if(n.getToken().toUpperCase()===vt&&n.isEmptyParamFunction()){n.execute();continue}await this._executeAsync(n)}return r.nodeType===te.FUNCTION&&r.isAsync()?await r.executeAsync():r.execute(),Promise.resolve(ft.SUCCESS)}_execute(r){if(this._runtimeService.isStopExecution())return ft.ERROR;const s=r.getChildren(),e=s.length;for(let t=0;t<e;t++){const n=s[t];if(n.getToken().toUpperCase()===vt&&n.isEmptyParamFunction()){n.execute();continue}this._execute(n)}return r.execute(),ft.SUCCESS}};At=uu([lu(0,Ue)],At);function Xs(r){return r instanceof Z?r.getToken()===yt:!1}function cu(r){return r instanceof Z?r.getToken()===Pn:!1}function Ks(r){if(!r)return;if(r.getToken()!==Vt)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:Ks(n)}class cn extends Ke{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 cn(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 as(this._interpreter.executeAsync(this._lambdaNode));else{const a=this._interpreter.execute(this._lambdaNode);a.isReferenceObject()?n=a.toArrayValueObject():n=a}return this._lambdaNode.setNotEmpty(!0),n}_setLambdaNodeValue(e){const t=e.getChildren(),n=t.length;for(let a=0;a<n;a++){const i=t[a];if(i.getToken()===Vt){const u=i.getLambdaParameter(),l=this._lambdaPrivacyValueMap.get(u);if(l)i.setValue(l);else{const c=i.getCurrentLambdaPrivacyVar(),f=Ks(c.get(u));f!=null&&i.setValue(f.getValue())}continue}this._setLambdaNodeValue(i)}}_setLambdaPrivacyValueMap(e){for(let t=0;t<e.length;t++){const n=e[t],a=this._lambdaPrivacyVarKeys[t];this._lambdaPrivacyValueMap.set(a,n)}}}var fu=Object.defineProperty,hu=Object.getOwnPropertyDescriptor,mu=(r,s,e,t)=>{for(var n=t>1?void 0:t?hu(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&fu(s,e,n),n},qs=(r,s)=>(e,t)=>s(e,t,r);class du extends Ve{constructor(e,t,n,a){super(e);g(this,"_isNotEmpty",!0);this._lambdaId=t,this._interpreter=n,this._lambdaPrivacyVarKeys=a}get nodeType(){return te.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(cn.create(this,this._interpreter,this._lambdaPrivacyVarKeys));else{const e=this.getChildren(),t=e.length;this.setValue(e[t-1].getValue())}}}let pr=class extends Ye{constructor(r,s){super(),this._runtimeService=r,this._interpreter=s}get zIndex(){return $e.get(te.LAMBDA)||Ie}create(r){const s=r.getChildren(),e=s[0];let t=s.slice(1,-1);const n=s[s.length-1];if(!(e instanceof Z&&n instanceof Z))return Ce.create(h.NAME);if(e.getToken()===yt){const o=e.getChildren();if(t.length!==o.length)return Ce.create(h.VALUE)}else t=s.slice(0,-1);const a=E.Tools.generateRandomId(8),i=new Map;for(let o=0;o<t.length;o++){const u=t[o];if(u instanceof Z){const l=u.getChildren()[0];u.setToken(Pn),i.set(l.trim(),void 0)}else return Ce.create(h.VALUE)}return this._runtimeService.registerFunctionDefinitionPrivacyVar(a,i),this._updateLambdaStatement(n,a,i),new du(r.getToken(),a,this._interpreter,[...i.keys()])}checkAndCreateNodeType(r){if(!(!(r instanceof Z)||r.getToken().trim().toUpperCase()!==vt))return this.create(r)}_updateLambdaStatement(r,s,e){this._updateTree(r,s,e)}_updateTree(r,s,e){const t=r.getChildren(),n=t.length,a=t[0];for(let i=0;i<n;i++){const o=t[i];if(!(Xs(a)&&i!==0))if(o instanceof Z)this._updateTree(o,s,e);else{const u=o.trim();if(e.has(u)){const l=new Z;l.setToken(Vt),l.setLambdaId(s),l.setLambdaPrivacyVar(e),l.setLambdaParameter(u),t[i]=l}}}}};pr=mu([qs(0,Ue),qs(1,X.Inject(At))],pr);function Zs(r){if(!r)return;if(r.getToken()!==Vt)return r;const s=r,e=s.getCurrentLambdaPrivacyVar(),t=s.getLambdaParameter();if(e)return Zs(e.get(t))}class gu 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 te.LAMBDA_PARAMETER}execute(){const s=Zs(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 Js extends Ye{get zIndex(){return $e.get(te.LAMBDA_PARAMETER)||Ie}create(s){const e=s.getFunctionDefinitionPrivacyVar(),t=s.getLambdaParameter();return e?new gu(s.getToken(),t,e):new Ce(h.SPILL)}checkAndCreateNodeType(s){if(!(!(s instanceof Z)||s.getToken().trim()!==Vt))return this.create(s)}}class pu extends Ve{constructor(s){super(s),this._operatorString=s}get nodeType(){return te.NULL}execute(){this.setValue(ce.create())}}var Ru=Object.defineProperty,_u=Object.getOwnPropertyDescriptor,yu=(r,s,e,t)=>{for(var n=t>1?void 0:t?_u(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&Ru(s,e,n),n},Eu=(r,s)=>(e,t)=>s(e,t,r);class Cu extends Ve{constructor(s,e){super(s),this._operatorString=s,this._functionExecutor=e}get nodeType(){return te.OPERATOR}execute(){var a,i;const s=this.getChildren();this._functionExecutor.name===Le.COMPARE&&this._functionExecutor.setCompareType(this.getToken());let e=(a=s[0])==null?void 0:a.getValue(),t=(i=s[1])==null?void 0:i.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=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 Rr=class extends Ye{constructor(r){super(),this._functionService=r}get zIndex(){return $e.get(te.OPERATOR)||Ie}create(r){let s="";const e=r;e===oe.PLUS?s=Le.PLUS:e===oe.MINUS?s=Le.MINUS:e===oe.MULTIPLY?s=Le.MULTIPLY:e===oe.DIVIDED?s=Le.DIVIDED:e===oe.CONCATENATE?s=at.CONCATENATE:e===oe.POWER?s=we.POWER:La.has(e)&&(s=Le.COMPARE);const t=this._functionService.getExecutor(s);return t?new Cu(e,t):(console.error(`No function ${r}`),Ce.create(h.NAME))}checkAndCreateNodeType(r){if(r instanceof Z)return;const s=r.trim();if(!(s.charAt(0)==='"'&&s.charAt(s.length-1)==='"')&&ut.has(s))return this.create(s)}};Rr=yu([Eu(0,Qe)],Rr);class Du extends E.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 a;this._tableMap.get(e)==null&&this._tableMap.set(e,new Map),(a=this._tableMap.get(e))==null||a.set(t,n)}registerTableOptionMap(e,t){this._tableOptionMap.set(e,t)}}const fn=X.createIdentifier("univer.formula.super-table.service");class bu extends Dt{constructor(s,e,t,n){super(s),this._tableData=e,this._columnDataString=t;const a=this._tableData.sheetId,i=this._tableData.range,o=this._tableData.titleMap;this.setForcedSheetIdDirect(a);const u=this._stringToColumnData(this._columnDataString,o,n),l=u.startColumn,c=u.endColumn,f=u.type;let d=-1,_=-1;const C=i.startRow,A=i.startColumn;f===ht.ALL?(d=C,_=A):f===ht.DATA?(d=C+1,_=A):f===ht.HEADERS?(d=C,_=C):f===ht.TOTALS&&(d=A,_=A),this.setRangeData({startColumn:l,endColumn:c,startRow:d,endRow:_})}isTable(){return!0}_stringToColumnData(s,e,t){s=s.substring(1,-1);const n=s.indexOf(G.COMMA);let a=-1,i=-1,o=ht.ALL;if(n===-1){const u=this._columnHandler(s,e);a=u.startColumn,i=u.endColumn}else{const u=s.substring(0,n).substring(1,-1),l=s.substring(n+1),c=this._columnHandler(l,e,!0);a=c.startColumn,i=c.endColumn,o=t.get(u),o||(o=ht.ALL)}return{startColumn:a,endColumn:i,type:o}}_columnHandler(s,e,t=!1){var o,u,l;let n=-1,a=-1;const i=s.indexOf(G.COLON);if(new RegExp(On,"g").test(s)){const c=s.substring(0,i).substring(1,-1),f=s.substring(i+1).substring(1,-1);n=(o=e.get(c))!=null?o:-1,a=(u=e.get(f))!=null?u:-1}else t&&(s=s.substring(1,-1)),n=(l=e.get(s))!=null?l:-1,a=n;return{startColumn:n,endColumn:a}}}var Su=Object.defineProperty,Lu=Object.getOwnPropertyDescriptor,Au=(r,s,e,t)=>{for(var n=t>1?void 0:t?Lu(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&Su(s,e,n),n},_r=(r,s)=>(e,t)=>s(e,t,r);class yr 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 te.REFERENCE}execute(){const s=this._accessor.get(qe),e=this._accessor.get(Ue);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 Er=class extends Ye{constructor(r,s,e,t){super(),this._superTableService=r,this._formulaRuntimeService=s,this._functionService=e,this._injector=t}get zIndex(){return $e.get(te.REFERENCE)||Ie}checkAndCreateNodeType(r){var u,l;let s=!1,e,t=!1;r instanceof Z?(s=!0,e=r.getToken().trim(),((l=(u=r.getParent())==null?void 0:u.getParent())==null?void 0:l.getToken().trim())===G.COLON&&(t=!0)):e=r.trim();const{tokenTrim:n,minusPrefixNode:a,atPrefixNode:i}=Gs(e,this._functionService,this._injector);if(!s&&n.charAt(0)==='"'&&n.charAt(n.length-1)==='"')return;let o;if(new RegExp(Ot).test(n))o=new yr(this._injector,n,new Nr(n),t);else if(s&&this._checkParentIsUnionOperator(r))new RegExp(Vn).test(n)?o=new yr(this._injector,n,new en(n),t):new RegExp(vn).test(n)&&(o=new yr(this._injector,n,new tn(n),t));else{const c=this._formulaRuntimeService.currentUnitId,f=this._superTableService.getTableMap(c),d=new RegExp(On,"g"),_=n.replace(d,"");if(!s&&(f!=null&&f.has(_))){const C=d.exec(n);let A="";C&&(A=C[0]);const L=f.get(_),w=this._superTableService.getTableOptionMap();o=new yr(this._injector,n,new bu(n,L,A,w))}}if(o)return i?o.setParent(i):a&&o.setParent(a),o}_checkParentIsUnionOperator(r){var s,e;return((e=(s=r.getParent())==null?void 0:s.getParent())==null?void 0:e.getToken().trim())===G.COLON}};Er=Au([_r(0,fn),_r(1,Ue),_r(2,Qe),_r(3,X.Inject(X.Injector))],Er);var Pu=Object.defineProperty,wu=Object.getOwnPropertyDescriptor,xu=(r,s,e,t)=>{for(var n=t>1?void 0:t?wu(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&Pu(s,e,n),n},Ns=(r,s)=>(e,t)=>s(e,t,r);class ea extends Ve{constructor(s,e,t){super(e),this._accessor=s,this._operatorString=e,this._functionExecutor=t}get nodeType(){return te.SUFFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null)throw new Error("object is null");this._operatorString===He.PERCENTAGE?(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(e,b.create(100)),t.isNumber()&&t.setPattern("0.00%")):this._operatorString===He.POUND?t=this._handlerPound(e):t=m.create(h.VALUE),this.setValue(t)}_handlerPound(s){var c,f,d,_;if(!s.isReferenceObject()||!s.isCell())return m.create(h.VALUE);const e=this._accessor.get(qe),t=this._accessor.get(St),n=s,a=n.getRangePosition(),i=n.getUnitId(),o=n.getSheetId(),u=e.getFormulaData(),l=(_=(d=(f=(c=u==null?void 0:u[i])==null?void 0:c[o])==null?void 0:f[a.startRow])==null?void 0:d[a.startColumn])==null?void 0:_.f;return l&&t.treeBuilder(l),m.create(h.VALUE)}}let Cr=class extends Ye{constructor(r,s){super(),this._functionService=r,this._injector=s}get zIndex(){return $e.get(te.SUFFIX)||Ie}checkAndCreateNodeType(r){if(!(r instanceof Z))return;const s=r.getToken().trim();if(s.charAt(0)==='"'&&s.charAt(s.length-1)==='"')return;let e="";if(s===He.PERCENTAGE)e=Le.DIVIDED;else return s===He.POUND?new ea(this._injector,s):void 0;const t=this._functionService.getExecutor(e);return t?new ea(this._injector,s,t):(console.error(`No function ${r}`),Ce.create(h.NAME))}};Cr=xu([Ns(0,Qe),Ns(1,X.Inject(X.Injector))],Cr);var Vu=Object.defineProperty,vu=Object.getOwnPropertyDescriptor,Ou=(r,s,e,t)=>{for(var n=t>1?void 0:t?vu(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&Vu(s,e,n),n},Fu=(r,s)=>(e,t)=>s(e,t,r);class Uu extends Ve{constructor(s){super(s),this._operatorString=s}get nodeType(){return te.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===G.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 Dr=class extends Ye{constructor(r){super(),this._functionService=r}get zIndex(){return $e.get(te.UNION)||Ie}create(r){return new Uu(r)}checkAndCreateNodeType(r){if(!(r instanceof Z))return;const e=r.getToken().trim();if(!(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')&&e===G.COLON)return this.create(e)}};Dr=Ou([Fu(0,Qe)],Dr);class Mu extends Ve{constructor(s){super(s),this._operatorString=s}get nodeType(){return te.VALUE}execute(){this.setValue(rt.create(this._operatorString))}}class ta extends Ye{get zIndex(){return $e.get(te.VALUE)||Ie}_checkValueNode(s){if(Number.isNaN(Number(s))){const e=s.trim(),t=e.charAt(0),n=e.charAt(e.length-1);if(_t.has(e))return this.create(e);if(t==='"'&&n==='"')return this.create(e);if(t==="{"&&n==="}")return this.create(e);const a=e.toUpperCase();if(a===et.TRUE||a===et.FALSE)return this.create(a)}else return this.create(s)}create(s){return new Mu(s)}checkAndCreateNodeType(s){if(!(s instanceof Z))return this._checkValueNode(s)}}function Bu(r){let s=r;for(;s!=null&&s.getParent();)s=s.getParent();return s}var Tu=Object.defineProperty,ku=Object.getOwnPropertyDescriptor,ju=(r,s,e,t)=>{for(var n=t>1?void 0:t?ku(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&Tu(s,e,n),n},Me=(r,s)=>(e,t)=>s(e,t,r);let kt=class extends E.Disposable{constructor(s,e,t,n,a,i,o,u,l,c,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=a,this._operatorNodeFactory=i,this._prefixNodeFactory=o,this._referenceNodeFactory=u,this._suffixNodeFactory=l,this._unionNodeFactory=c,this._valueNodeFactory=f,this._initializeAstNode()}dispose(){this._astNodeFactoryList.forEach(s=>{s.dispose()}),this._astNodeFactoryList=[]}parse(s,e=0,t=0){const n=new ln(Je);this._refOffsetX=e,this._refOffsetY=t;const a=this._parse(s,n);return s.hasDefinedNames()&&(a==null||a.setDefinedNames(s.getDefinedNames())),a}_lambdaParameterHandler(s,e){if(e.getLambdaId==null)return Ce.create(h.VALUE);const t=e.getLambdaId(),n=new ln(Je),a=this._runtimeService.getFunctionDefinitionPrivacyVar(t);if(!a)return!1;const i=[...a.keys()],o=s.getChildren(),u=o.length;for(let f=0;f<u;f++){const d=o[f];if(d instanceof Z)this._parse(d,n);else return!1}const l=n.getChildren(),c=l.length;for(let f=0;f<c;f++){const d=l[f];a.set(i[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 Z;n.setToken(vt);const a=new Z;a.setToken(yt);const i=[...e];for(let u=0;u<t;u++){const l=i[u];if(!(l instanceof Z))return;u%2===0?l.changeToParent(n):l.changeToParent(a)}n.addChildrenFirst(a),a.setParent(n);const o=s.getParent();return o==null||o.replaceChild(s,n),n}_parse(s,e){const t=s.getChildren(),n=t.length,a=[];let i=null;const o=s.getToken().trim().toUpperCase();if(o===va){const c=this._changeLetToLambda(s);return c!=null?this._parse(c,e):Ce.create(h.ERROR)}if(o===We){if(i=e,n===0)return new pu(Je).setParent(e),i}else{if(o===yt){let c=this._lambdaParameterHandler(s,e);return c===!1&&(c=Ce.create(h.ERROR)),c}if(i=this._checkAstNode(s),i==null)return Ce.create(h.NAME)}const u=t[0];for(let c=0;c<n;c++){const f=t[c];if(Xs(u)){if(c!==0&&c!==n-1)continue}else if(cu(f)&&c!==n-1)continue;let d=null;if(f instanceof Z){if(d=this._parse(f,i),d===i)continue}else d=this._checkAstNode(f);if(d==null)return Ce.create(h.NAME);if(d=Bu(d),d==null)return;switch(d.nodeType){case te.ERROR:return d;case te.FUNCTION:a.push(d);break;case te.LAMBDA:a.push(d);break;case te.LAMBDA_PARAMETER:a.push(d);break;case te.OPERATOR:{const _=a.pop(),C=a.pop();C&&C.setParent(d),_&&_.setParent(d),a.push(d);break}case te.REFERENCE:d.setRefOffset(this._refOffsetX,this._refOffsetY),a.push(d);break;case te.ROOT:a.push(d);break;case te.UNION:a.push(d);break;case te.VALUE:a.push(d);break;case te.PREFIX:a.push(d);break;case te.SUFFIX:a.push(d);break}}const l=a.length;for(let c=0;c<l;c++)a[c].setParent(i);return i}_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(E.sortRules)}};kt=ju([Me(0,Ue),Me(1,X.Inject(zs)),Me(2,X.Inject(gr)),Me(3,X.Inject(pr)),Me(4,X.Inject(Js)),Me(5,X.Inject(Rr)),Me(6,X.Inject(dr)),Me(7,X.Inject(Er)),Me(8,X.Inject(Cr)),Me(9,X.Inject(Dr)),Me(10,X.Inject(ta))],kt);class ra extends E.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 jt=X.createIdentifier("univer.formula.feature-calculation-manager.service");class na extends E.Disposable{constructor(){super(...arguments);g(this,"_otherFormulaData",{})}dispose(){this._otherFormulaData={}}remove(e){var i,o,u;const{unitId:t,subUnitId:n,formulaId:a}=e;(u=(o=(i=this._otherFormulaData)==null?void 0:i[t])==null?void 0:o[n])==null||delete u[a]}get(e){var i,o;const{unitId:t,subUnitId:n,formulaId:a}=e;return(o=(i=this._otherFormulaData[t])==null?void 0:i[n])==null?void 0:o[a]}has(e){var i,o;const{unitId:t,subUnitId:n,formulaId:a}=e;return((o=(i=this._otherFormulaData[t])==null?void 0:i[n])==null?void 0:o[a])!=null}register(e){const{unitId:t,subUnitId:n,formulaId:a,item:i}=e;this._otherFormulaData[t]||(this._otherFormulaData[t]={}),this._otherFormulaData[t][n]||(this._otherFormulaData[t][n]={}),this._otherFormulaData[t][n][a]=i}batchRegister(e){Object.keys(e).forEach(t=>{const n=e[t];if(n==null)return!0;Object.keys(n).forEach(a=>{const i=n[a];if(i==null)return!0;Object.keys(i).forEach(o=>{const u=i[o];if(u==null)return!0;this.register({unitId:t,subUnitId:a,formulaId:o,item:u})})})})}batchRemove(e){Object.keys(e).forEach(t=>{const n=e[t];if(n==null)return!0;Object.keys(n).forEach(a=>{const i=n[a];if(i==null)return!0;Object.keys(i).forEach(o=>{this.remove({unitId:t,subUnitId:a,formulaId:o})})})})}getOtherFormulaData(){return this._otherFormulaData}}const br=X.createIdentifier("univer.formula.other-formula-manager.service");class hn extends E.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,a=e.endRow,i=e.endColumn;return!(this.row<t||this.row>a||this.column<n||this.column>i)}dependencyRange(e,t,n){var a,i;if(this.rangeList.length===0)return!1;for(let o=0,u=this.rangeList.length;o<u;o++){const l=this.rangeList[o],{unitId:c,sheetId:f,range:d}=l.gridRange;if(((a=t[c])==null?void 0:a[f])!=null)return!0;if(!e.has(c))continue;const _=e.get(c);if(!_.has(f))continue;const C=_.get(f),A=(i=n==null?void 0:n[c])==null?void 0:i[f];let{startRow:L,endRow:w,startColumn:V,endColumn:B}=d;Number.isNaN(L)&&(L=0),Number.isNaN(V)&&(V=0),Number.isNaN(w)&&(w=Number.POSITIVE_INFINITY),Number.isNaN(B)&&(B=Number.POSITIVE_INFINITY);for(const W of C){const{startRow:re,startColumn:ge,endRow:Ee,endColumn:de}=W;if(!(L>Ee||w<re||V>de||B<ge)){let ae=!0;if(A==null||A.forValue((N,J)=>{if(N>=L&&N<=w&&J>=V&&J<=B)return ae=!1,!1}),ae)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 a=this.rangeList[t],i=a.gridRange.unitId,o=a.gridRange.sheetId,u=a.gridRange.range;if(e.unitId===i&&e.subUnitId===o&&e.inRangeData(u))return!0}return!1}_pushParent(e){this.parents.push(e)}}class sa extends E.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),a=n.treeList.indexOf(t);a!==-1&&n.treeList.splice(a,1)}delete(e){this._cacheItems.delete(e)}dependency(e){this._cacheItems.forEach(t=>{const{unitRangeWithToken:n,treeList:a}=t,{gridRange:i}=n,{unitId:o,sheetId:u,range:l}=i;e.unitId===o&&e.subUnitId===u&&e.inRangeData(l)&&a.forEach(c=>{if(c===e)return!0;c.pushChildren(e)})})}}class $u extends E.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(a=>{a&&(a.resetState(),e.push(a))})})}),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((a,i,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 sa?t.dependency(n):t.forEach(a=>{if(n===a)return!0;a.dependency(n)&&a.pushChildren(n)})})}clearDependencyForTree(e){if(e==null)return;const t=e.parents,n=e.children;t.forEach(a=>{a.children=a.children.filter(i=>i!==e)}),n.forEach(a=>{a.parents=a.parents.filter(i=>i!==e)}),this._buildDependencyTree(t,n),e.dispose()}reset(){this._otherFormulaData={},this._featureFormulaData.clear(),this._formulaData={}}addOtherFormulaDependency(e,t,n,a){this._otherFormulaData[e]||(this._otherFormulaData[e]={}),this._otherFormulaData[e][t]||(this._otherFormulaData[e][t]={}),this._otherFormulaData[e][t][n]=a}removeOtherFormulaDependency(e,t,n){this._otherFormulaData[e]&&this._otherFormulaData[e][t]&&n.forEach(a=>{const i=this._otherFormulaData[e][t][a];this.clearDependencyForTree(i),delete this._otherFormulaData[e][t][a]})}hasOtherFormulaDependency(e,t,n){var a,i;return((i=(a=this._otherFormulaData[e])==null?void 0:a[t])==null?void 0:i[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,a,i){this._formulaData[e]||(this._formulaData[e]={}),this._formulaData[e][t]||(this._formulaData[e][t]=new E.ObjectMatrix),this._formulaData[e][t].setValue(n,a,i)}removeFormulaDependency(e,t,n,a){if(this._formulaData[e]&&this._formulaData[e][t]){const i=this._formulaData[e][t].getValue(n,a);this.clearDependencyForTree(i),this._formulaData[e][t].realDeleteValue(n,a)}}clearFormulaDependency(e,t){this._formulaData[e]&&this._formulaData[e][t]&&this._formulaData[e][t].reset()}hasFormulaDependency(e,t,n,a){var i,o;return((o=(i=this._formulaData[e])==null?void 0:i[t])==null?void 0:o.getValue(n,a))!=null}}const Sr=X.createIdentifier("univer.formula.dependency-manager.service");var Iu=Object.defineProperty,Yu=Object.getOwnPropertyDescriptor,Qu=(r,s,e,t)=>{for(var n=t>1?void 0:t?Yu(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&Iu(s,e,n),n},it=(r,s)=>(e,t)=>s(e,t,r);const zu=1e5;let $t=class extends E.Disposable{constructor(s,e,t,n,a,i,o,u){super();g(this,"_updateRangeFlattenCache",new Map);g(this,"_dirtyUnitSheetNameMap",{});g(this,"_formulaASTCache",new lt(zu));this._currentConfigService=s,this._runtimeService=e,this._otherFormulaManagerService=t,this._featureCalculationManagerService=n,this._interpreter=a,this._astTreeBuilder=i,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:a}=await this._generateTreeList(s,e,t),i=this._getUpdateTreeListAndMakeDependency(n,a);this._checkIsCycleDependency(i)&&this._runtimeService.enableCycleDependency();const u=this._calculateRunList(i);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,a=s.length;n<a;n++){const i=s[n];if(this._isCyclicUtil(i,e,t)===!0)return!0}return!1}async _generateTreeList(s,e,t){const n=Object.keys(s),a=Object.keys(e),i=[];this._currentConfigService.isForceCalculate()&&(this._dependencyManagerService.reset(),this._formulaASTCache.clear()),this._registerFormulas(n,s,t,i),this._registerOtherFormulas(e,a,i),this._registerFeatureFormulas(i);const u=new sa;for(let l=0,c=i.length;l<c;l++){const f=i[l];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 A=d[_];f.pushRangeList(A),u.add(A,f)}}return{treeList:i,dependencyTreeCache:u}}_registerFeatureFormulas(s){this._featureCalculationManagerService.getReferenceExecutorMap().forEach((e,t)=>{const{unitId:n,subUnitId:a,dependencyRanges:i,getDirtyData:o}=e;if(this._dependencyManagerService.hasFeatureFormulaDependency(n,a,t))return!0;const u=new hn;u.unitId=n,u.subUnitId=a,u.getDirtyData=o,u.featureId=t,u.rangeList=i.map(l=>({gridRange:l,token:ct({...l,sheetName:this._currentConfigService.getSheetName(l.unitId,l.sheetId)})})),this._dependencyManagerService.addFeatureFormulaDependency(t,u),s.push(u)})}_registerOtherFormulas(s,e,t){for(const n of e){const a=s[n];if(a==null)continue;const i=Object.keys(a);for(const o of i){const u=a[o];if(u==null)continue;const l=Object.keys(u);for(const c of l){if(this._dependencyManagerService.hasOtherFormulaDependency(n,o,c))continue;const f=u[c],{f:d}=f,_=this._generateAstNode(n,d),C=new hn;C.node=_,C.formula=d,C.unitId=n,C.subUnitId=o,C.formulaId=c,this._dependencyManagerService.addOtherFormulaDependency(n,o,c,C),t.push(C)}}}}_registerFormulas(s,e,t,n){for(const a of s){const i=e[a];if(i==null)continue;const o=Object.keys(i);for(const u of o)new E.ObjectMatrix(i[u]||{}).forValue((c,f,d)=>{if(d==null)return!0;const{f:_,x:C,y:A}=d;if(this._dependencyManagerService.hasFormulaDependency(a,u,c,f))return!0;const L=this._generateAstNode(a,_,C,A),w=new hn,V=t[a][u];w.node=L,w.formula=_,w.unitId=a,w.subUnitId=u,w.row=c,w.column=f,w.rowCount=V.rowCount,w.columnCount=V.columnCount,this._dependencyManagerService.addFormulaDependency(a,u,c,f,w),n.push(w)})}}_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],a=n.range,i=n.sheetId,o=n.unitId;this._addFlattenCache(o,i,a)}this._dirtyUnitSheetNameMap=this._currentConfigService.getDirtyNameMap()}}_generateAstNode(s,e,t=0,n=0){let a=this._formulaASTCache.get(`${s}${e}##${t}${n}`);if(a&&!this._isDirtyDefinedForNode(a))return a;const i=this._lexer.treeBuilder(e);if(_t.has(i))return Ce.create(i);if(a=this._astTreeBuilder.parse(i,t,n),a==null)throw new Error("astNode is null");return this._formulaASTCache.set(`${s}${e}##${t}${n}`,a),a}_addFlattenCache(s,e,t){let n=this._updateRangeFlattenCache.get(s);n==null&&(n=new Map,this._updateRangeFlattenCache.set(s,n));let a=n.get(e);a==null&&(a=[],n.set(e,a)),a.push(t)}_isPreCalculateNode(s){return s.nodeType===te.UNION||s.nodeType===te.PREFIX&&s.getToken()===_e.AT||s.nodeType===te.SUFFIX&&s.getToken()===He.POUND}_nodeTraversalRef(s,e){const t=s.getChildren(),n=t.length;for(let a=0;a<n;a++){const i=t[a];if(this._isPreCalculateNode(i)){e.push(i);continue}else i.nodeType===te.REFERENCE&&e.push(i);this._nodeTraversalRef(i,e)}}_nodeTraversalReferenceFunction(s,e){const t=s.getChildren(),n=t.length;for(let a=0;a<n;a++){const i=t[a];if(i.nodeType===te.FUNCTION&&i.isAddress()){e.push(i);continue}this._nodeTraversalReferenceFunction(i,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 a=0,i=e.length;a<i;a++){const o=e[a],l=(await this._executeNode(o)).toUnitRange(),c=ct({...l,sheetName:this._currentConfigService.getSheetName(l.unitId,l.sheetId)});n.push({gridRange:l,token:c})}for(let a=0,i=t.length;a<i;a++){const o=t[a],l=(await this._executeNode(o)).toUnitRange(),c=ct({...l,sheetName:this._currentConfigService.getSheetName(l.unitId,l.sheetId)});n.push({gridRange:l,token:c})}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 a=0,i=n.length;a<i;a++){const o=n[a];if(s.hasDefinedName(o))return!0}}return!1}_getUpdateTreeListAndMakeDependency(s,e){const t=[],n=new Set,a=this._currentConfigService.isForceCalculate();let i=[];e.size()>s.length?i=this._dependencyManagerService.buildDependencyTree(s):i=this._dependencyManagerService.buildDependencyTree(e);for(let o=0,u=i.length;o<u;o++){const l=i[o];(a||l.dependencyRange(this._updateRangeFlattenCache,this._dirtyUnitSheetNameMap,this._currentConfigService.getExcludedRange())||this._includeTree(l))&&!n.has(l)&&(t.push(l),n.add(l))}return e.dispose(),t}_includeTreeFeature(s){var a,i;const e=s.unitId,t=s.subUnitId,n=s.featureId;if(n!=null){const o=this._currentConfigService.getDirtyUnitFeatureMap();if(((i=(a=o==null?void 0:o[e])==null?void 0:a[t])==null?void 0:i[n])!=null)return!0}return!1}_includeOtherFormula(s){var a,i;const e=s.unitId,t=s.subUnitId,n=s.formulaId;if(n!=null){const o=this._currentConfigService.getDirtyUnitOtherFormulaMap();if(((i=(a=o==null?void 0:o[e])==null?void 0:a[t])==null?void 0:i[n])!=null)return!0}return!1}_includeDefinedName(s){const e=s.node;return!!(e!=null&&this._isDirtyDefinedForNode(e))}_includeTree(s){var u,l,c;const e=s.unitId,t=s.subUnitId;if(this._includeTreeFeature(s)===!0||this._includeOtherFormula(s)===!0||this._includeDefinedName(s)===!0)return!0;const n=(l=(u=this._currentConfigService.getExcludedRange())==null?void 0:u[e])==null?void 0:l[t];let a=!1;if(n==null||n.forValue((f,d)=>{if(s.row===f&&s.column===d)return a=!0,!1}),a)return!1;if(((c=this._dirtyUnitSheetNameMap[e])==null?void 0:c[t])!=null)return!0;if(!this._updateRangeFlattenCache.has(e))return!1;const i=this._updateRangeFlattenCache.get(e);if(!i.has(t))return!1;const o=i.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 a=[];for(let i=0,o=n.parents.length;i<o;i++){const u=n.parents[i];u.isAdded()||n.isSkip()||a.push(u)}a.length===0?(t.push(n),n.setSkip()):(n.setAdded(),e.push(n),e=e.concat(a))}return t.reverse()}};$t=Qu([E.OnLifecycle(E.LifecycleStages.Rendered,$t),it(0,qe),it(1,Ue),it(2,br),it(3,jt),it(4,X.Inject(At)),it(5,X.Inject(kt)),it(6,X.Inject(St)),it(7,Sr)],$t);var Hu=Object.defineProperty,Wu=Object.getOwnPropertyDescriptor,Gu=(r,s,e,t)=>{for(var n=t>1?void 0:t?Wu(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&Hu(s,e,n),n},dt=(r,s)=>(e,t)=>s(e,t,r);const Xu=1;S.CalculateFormulaService=class extends E.Disposable{constructor(e,t,n,a,i,o,u){super();g(this,"_executionStartListener$",new Rt.Subject);g(this,"executionStartListener$",this._executionStartListener$.asObservable());g(this,"_executionCompleteListener$",new Rt.Subject);g(this,"executionCompleteListener$",this._executionCompleteListener$.asObservable());g(this,"_executionInProgressListener$",new Rt.Subject);g(this,"executionInProgressListener$",this._executionInProgressListener$.asObservable());this._configService=e,this._lexer=t,this._currentConfigService=n,this._runtimeService=a,this._formulaDependencyGenerator=i,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")||Xu;for(let n=0;n<t&&(await this._execute(),!!this._runtimeService.isCycleDependency());n++);this._runtimeService.setFormulaExecuteStage(je.CALCULATION_COMPLETED),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()),Zr.clear(),tt.clear()}async _execute(){const e=await this._apply();if(e==null)return;const{arrayFormulaRange:t,runtimeFeatureRange:n}=e,{dirtyRanges:a,excludedCell:i}=this._getArrayFormulaDirtyRangeAndExcludedRange(t,n);return a==null||a.length===0||(this._currentConfigService.loadDirtyRangesAndExcludedCell(a,i),await this._apply(!0)),!0}_getArrayFormulaDirtyRangeAndExcludedRange(e,t){const n=[],a={};return Object.keys(e).forEach(i=>{const o=e[i];if(o==null)return!0;Object.keys(o).forEach(u=>{const l=new E.ObjectMatrix(o[u]);if(l==null)return!0;const c=new E.ObjectMatrix;l.forValue((f,d,_)=>{c.setValue(f,d,!0),n.push({unitId:i,sheetId:u,range:_})}),a[i]==null&&(a[i]={}),a[i][u]=c})}),Object.keys(t).forEach(i=>{const o=t[i];Object.keys(o).forEach(u=>{const l=o[u];if(l==null)return!0;Object.keys(l).forEach(c=>{const f=l[c];if(f==null)return!0;for(const d of f)n.push({unitId:u,sheetId:c,range:d})})})}),{dirtyRanges:n,excludedCell:a}}async _apply(e=!1){e?this._runtimeService.setFormulaExecuteStage(je.START_DEPENDENCY_ARRAY_FORMULA):this._runtimeService.setFormulaExecuteStage(je.START_DEPENDENCY),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());const t=await this._formulaDependencyGenerator.generate(),n=this._interpreter;e?(this._runtimeService.setFormulaExecuteStage(je.START_CALCULATION_ARRAY_FORMULA),this._runtimeService.setTotalArrayFormulasToCalculate(t.length)):(this._runtimeService.setFormulaExecuteStage(je.START_CALCULATION),this._runtimeService.setTotalFormulasToCalculate(t.length)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());let a=[];for(let i=0,o=t.length;i<o;i++){if(await new Promise(d=>{const _=E.requestImmediateMacroTask(d);a.push(_)}),this._runtimeService.isStopExecution()){this._runtimeService.setFormulaExecuteStage(je.IDLE),this._runtimeService.markedAsStopFunctionsExecuted(),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData());return}const u=t[i],l=u.node,c=u.getDirtyData;let f;if(l==null&&c==null)throw new Error("AstNode or executor is null");if(this._runtimeService.setCurrent(u.row,u.column,u.rowCount,u.columnCount,u.subUnitId,u.unitId),c!=null&&u.featureId!=null){const{runtimeCellData:d,dirtyRanges:_}=c(u);this._runtimeService.setRuntimeFeatureCellData(u.featureId,d),this._runtimeService.setRuntimeFeatureRange(u.featureId,_)}else l!=null&&(n.checkAsyncNode(l)?f=await n.executeAsync(l):f=n.execute(l),u.formulaId!=null?this._runtimeService.setRuntimeOtherData(u.formulaId,f):this._runtimeService.setRuntimeData(f));e?(this._runtimeService.setFormulaExecuteStage(je.CURRENTLY_CALCULATING_ARRAY_FORMULA),this._runtimeService.setCompletedArrayFormulasCount(i+1)):(this._runtimeService.setFormulaExecuteStage(je.CURRENTLY_CALCULATING),this._runtimeService.setCompletedFormulasCount(i+1)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState())}return a.forEach(i=>i()),a=[],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 Ce.create(n);const a=this._astTreeBuilder.parse(n);a==null||a.serialize()}},S.CalculateFormulaService=Gu([E.OnLifecycle(E.LifecycleStages.Rendered,S.CalculateFormulaService),dt(0,E.IConfigService),dt(1,X.Inject(St)),dt(2,qe),dt(3,Ue),dt(4,X.Inject($t)),dt(5,X.Inject(At)),dt(6,X.Inject(kt))],S.CalculateFormulaService);var Ku=Object.defineProperty,qu=Object.getOwnPropertyDescriptor,Zu=(r,s,e,t)=>{for(var n=t>1?void 0:t?qu(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&Ku(s,e,n),n},Lr=(r,s)=>(e,t)=>s(e,t,r);let Ar=class extends E.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===jr.id)this._calculateFormulaService.stopFormulaExecution();else if(r.id===Jt.id){const e=r.params.formulaData;this._formulaDataModel.mergeFormulaData(e)}else if(r.id===kr.id){const e=r.params;if(e.forceCalculation===!0)this._calculate(!0);else{const{dirtyRanges:t,dirtyNameMap:n,dirtyDefinedNameMap:a,dirtyUnitFeatureMap:i,dirtyUnitOtherFormulaMap:o}=e;this._calculate(!1,t,n,a,i,o)}}else if(r.id===Wt.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={},a={}){if(s.length===0&&Object.keys(e).length===0&&Object.keys(t).length===0&&Object.keys(n).length===0&&Object.keys(a).length===0&&r===!1)return;const i=this._formulaDataModel.getFormulaData(),o=this._formulaDataModel.getArrayFormulaCellData();this._calculateFormulaService.execute({formulaData:i,arrayFormulaCellData:o,forceCalculate:r,dirtyRanges:s,dirtyNameMap:e,dirtyDefinedNameMap:t,dirtyUnitFeatureMap:n,dirtyUnitOtherFormulaMap:a})}_initialExecuteFormulaListener(){this._calculateFormulaService.executionCompleteListener$.subscribe(r=>{const s=r.functionsExecutedState;switch(s){case Lt.NOT_EXECUTED:break;case Lt.STOP_EXECUTION:break;case Lt.SUCCESS:this._applyFormula(r);break;case Lt.INITIAL:break}this._commandService.executeCommand(Zt.id,{functionsExecutedState:s},{onlyLocal:!0})})}_initialExecuteFormulaProcessListener(){this._calculateFormulaService.executionInProgressListener$.subscribe(r=>{this._commandService.executeCommand(Zt.id,{stageInfo:r},{onlyLocal:!0})})}async _applyFormula(r){const{unitData:s,unitOtherData:e,arrayFormulaRange:t,arrayFormulaCellData:n,clearArrayFormulaCellData:a}=r;if(!s){console.error("No sheetData from Formula Engine!");return}t&&(this._formulaDataModel.clearPreviousArrayFormulaCellData(a),this._formulaDataModel.mergeArrayFormulaCellData(n),this._formulaDataModel.mergeArrayFormulaRange(t),this._commandService.executeCommand(Wt.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData()},{onlyLocal:!0})),this._commandService.executeCommand($r.id,{unitData:Va(s),unitOtherData:e},{onlyLocal:!0})}};Ar=Zu([E.OnLifecycle(E.LifecycleStages.Ready,Ar),Lr(0,E.ICommandService),Lr(1,X.Inject(S.CalculateFormulaService)),Lr(2,E.IUniverInstanceService),Lr(3,X.Inject(S.FormulaDataModel))],Ar);var Ju=Object.defineProperty,Nu=Object.getOwnPropertyDescriptor,el=(r,s,e,t)=>{for(var n=t>1?void 0:t?Nu(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&Ju(s,e,n),n},mn=(r,s)=>(e,t)=>s(e,t,r);let It=class extends E.Disposable{constructor(r=[],s,e,t){super(),this._function=r,this._commandService=s,this._functionService=e,this._dataSyncPrimaryController=t,this._initialize()}_initialize(){this._registerCommands(),this._registerFunctions()}_registerCommands(){[Jt,Wt,kr,jr,Zt,$r,Gt,Xt,Kt,qt,Nt,er,Ln,An,Ir,Tr,Yr].forEach(r=>{var s;this._commandService.registerCommand(r),(s=this._dataSyncPrimaryController)==null||s.registerSyncingMutations(r)})}_registerFunctions(){const r=[...cs,...Rs,..._s,...Es,...Ds,...bs,...Ls,...Ps,...ws,...xs,...Os,...Fs,...Ms,...Bs,...Ts,...js].concat(this._function).map(s=>{const e=s[0],t=s[1];return new e(t)});this._functionService.registerExecutors(...r)}};It=el([E.OnLifecycle(E.LifecycleStages.Ready,It),mn(1,E.ICommandService),mn(2,Qe),mn(3,X.Optional(Sa.DataSyncPrimaryController))],It);var tl=Object.defineProperty,rl=Object.getOwnPropertyDescriptor,nl=(r,s,e,t)=>{for(var n=t>1?void 0:t?rl(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&tl(s,e,n),n},dn=(r,s)=>(e,t)=>s(e,t,r);let Pr=class extends E.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===Tr.id){const e=r.params;if(e==null)return;const{functions:t}=e,n=t.map(a=>{const i=a[0],o=a[1];return al(i,o)});this._functionService.registerExecutors(...n)}else if(r.id===Yr.id){const e=r.params;if(e==null)return;const{functions:t}=e;this._functionService.unregisterExecutors(...t)}}))}};Pr=nl([E.OnLifecycle(E.LifecycleStages.Ready,Pr),dn(0,E.ICommandService),dn(1,X.Inject(S.FormulaDataModel)),dn(2,Qe)],Pr);class sl extends j{isCustom(){return!0}}function al(r,s){const e=new sl(s),t=new Function(`return ${r}`)();return e.calculateCustom=t,e}var il=Object.defineProperty,ol=Object.getOwnPropertyDescriptor,ul=(r,s,e,t)=>{for(var n=t>1?void 0:t?ol(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&il(s,e,n),n},aa=(r,s)=>(e,t)=>s(e,t,r);let wr=class extends E.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===Gt.id){const s=r.params;if(s==null)return;const{id:e,unitId:t,name:n,formulaOrRefString:a,comment:i,hidden:o,localSheetId:u}=s;this._definedNamesService.registerDefinedName(t,{id:e,name:n.trim(),formulaOrRefString:a.trim(),comment:i==null?void 0:i.trim(),hidden:o,localSheetId:u})}else if(r.id===Xt.id){const s=r.params;if(s==null)return;const{unitId:e,id:t}=s;this._definedNamesService.removeDefinedName(e,t)}}))}};wr=ul([E.OnLifecycle(E.LifecycleStages.Ready,wr),aa(0,E.ICommandService),aa(1,Bt)],wr);var ll=Object.defineProperty,cl=Object.getOwnPropertyDescriptor,fl=(r,s,e,t)=>{for(var n=t>1?void 0:t?cl(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&ll(s,e,n),n},ia=(r,s)=>(e,t)=>s(e,t,r);let xr=class extends E.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===Kt.id){const s=r.params;if(s==null)return;const{featureId:e,calculationParam:t}=s;this._featureCalculationManagerService.register(e,t)}else if(r.id===qt.id){const s=r.params;if(s==null)return;const{featureId:e}=s;this._featureCalculationManagerService.remove(e)}}))}};xr=fl([E.OnLifecycle(E.LifecycleStages.Ready,xr),ia(0,E.ICommandService),ia(1,jt)],xr);var hl=Object.defineProperty,ml=Object.getOwnPropertyDescriptor,dl=(r,s,e,t)=>{for(var n=t>1?void 0:t?ml(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&hl(s,e,n),n},gn=(r,s)=>(e,t)=>s(e,t,r);let Vr=class extends E.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===Nt.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===er.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)}}))}};Vr=dl([E.OnLifecycle(E.LifecycleStages.Ready,Vr),gn(0,E.ICommandService),gn(1,br),gn(2,Sr)],Vr);var gl=Object.defineProperty,pl=Object.getOwnPropertyDescriptor,Rl=(r,s,e,t)=>{for(var n=t>1?void 0:t?pl(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&gl(s,e,n),n},oa=(r,s)=>(e,t)=>s(e,t,r);let vr=class extends E.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===Gt.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===Xt.id){const s=r.params;if(s==null)return;const{unitId:e,tableName:t}=s;this._superTableService.remove(e,t)}else if(r.id===Ir.id){const s=r.params;if(s==null)return;const{tableOption:e,tableOptionType:t}=s;this._superTableService.registerTableOptionMap(e,t)}}))}};vr=Rl([E.OnLifecycle(E.LifecycleStages.Ready,vr),oa(0,E.ICommandService),oa(1,fn)],vr);class _l extends E.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 ua=X.createIdentifier("univer.formula.active-dirty-manager.service");var yl=Object.defineProperty,El=Object.getOwnPropertyDescriptor,Cl=(r,s,e,t)=>{for(var n=t>1?void 0:t?El(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&yl(s,e,n),n},pn=(r,s)=>(e,t)=>s(e,t,r);let Or=class extends E.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===qt.id||r.id===Kt.id){const s=r.params;if(s==null)return;const{featureId:e}=s;this._dependencyManagerService.removeFeatureFormulaDependency(e)}else if(r.id===er.id){const s=r.params;if(s==null)return;this._dependencyManagerService.removeOtherFormulaDependency(s.unitId,s.subUnitId,s.formulaIdList)}else if(r.id===Nt.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===Jt.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 E.ObjectMatrix(n).forValue((a,i)=>{this._dependencyManagerService.removeFormulaDependency(e,t,a,i)})})})}}))}};Or=Cl([E.OnLifecycle(E.LifecycleStages.Ready,Or),pn(0,E.ICommandService),pn(1,jt),pn(1,Sr)],Or);var Dl=Object.defineProperty,bl=Object.getOwnPropertyDescriptor,Sl=(r,s,e,t)=>{for(var n=t>1?void 0:t?bl(s,e):s,a=r.length-1,i;a>=0;a--)(i=r[a])&&(n=(t?i(s,e,n):i(n))||n);return t&&n&&Dl(s,e,n),n},Ll=(r,s)=>(e,t)=>s(e,t,r);const Al="base-formula-engine";S.UniverFormulaEnginePlugin=(Rn=class extends E.Plugin{constructor(s,e){super(),this._config=s,this._injector=e}onStarting(){this._initialize()}_initialize(){var e;const s=[[Qe,{useClass:Hs}],[jt,{useClass:ra}],[Bt,{useClass:Qs}],[ua,{useClass:_l}],[fn,{useClass:Du}],[S.FormulaDataModel],[ar],[It,{useFactory:()=>{var t;return this._injector.createInstance(It,(t=this._config)==null?void 0:t.function)}}],[xr],[wr],[vr]];(e=this._config)!=null&&e.notExecuteFormula||s.push([S.CalculateFormulaService],[br,{useClass:na}],[Ue,{useClass:S.FormulaRuntimeService}],[qe,{useClass:S.FormulaCurrentConfigService}],[Sr,{useClass:$u}],[Ar],[Vr],[Pr],[Or],[$t],[At],[kt],[St],[zs],[gr],[pr],[Js],[Rr],[dr],[Er],[Cr],[Dr],[ta]),s.forEach(t=>this._injector.add(t))}},g(Rn,"pluginName",Al),Rn),S.UniverFormulaEnginePlugin=Sl([Ll(1,X.Inject(X.Injector))],S.UniverFormulaEnginePlugin);function la(r,s){const e=r.sequenceNodesBuilder(s);return!(!e||e.every(t=>typeof t=="string"||t.nodeType!==Ae.REFERENCE))}function Pl(r,s,e,t,n,a){if(!la(r,s))return s;const i=r.sequenceNodesBuilder(s),o=(_,C)=>({startRow:_,endRow:_,startColumn:C,endColumn:C}),u=o(e,t),l=E.Rectangle.getRelativeRange(o(n,a),u),c=E.Tools.deepClone(i),f=Array.isArray(c)?c.map(_=>{if(typeof _=="object"&&_.nodeType===Ae.REFERENCE){const C=ke(_.token),A=E.Rectangle.getPositionRange(l,C.range),L=Ge(A);return{..._,token:L}}return _}):c;return`=${f&&tr(f)}`}S.ArrayValueObject=ye,S.AsyncArrayObject=is,S.AsyncObject=as,S.BaseFunction=j,S.BaseReferenceObject=Dt,S.BaseValueObject=Ke,S.BooleanValue=et,S.BooleanValueObject=Y,S.DefinedNamesService=Qs,S.ERROR_TYPE_SET=_t,S.ErrorType=h,S.ErrorValueObject=m,S.FUNCTION_NAMES_ARRAY=fs,S.FUNCTION_NAMES_COMPATIBILITY=bt,S.FUNCTION_NAMES_CUBE=ys,S.FUNCTION_NAMES_DATABASE=Cs,S.FUNCTION_NAMES_DATE=nt,S.FUNCTION_NAMES_ENGINEERING=Ss,S.FUNCTION_NAMES_FINANCIAL=As,S.FUNCTION_NAMES_INFORMATION=xe,S.FUNCTION_NAMES_LOGICAL=st,S.FUNCTION_NAMES_LOOKUP=Se,S.FUNCTION_NAMES_MATH=we,S.FUNCTION_NAMES_STATISTICAL=be,S.FUNCTION_NAMES_TEXT=at,S.FUNCTION_NAMES_UNIVER=ks,S.FUNCTION_NAMES_WEB=$s,S.FeatureCalculationManagerService=ra,S.FormulaExecuteStageType=je,S.FormulaExecutedStateType=Lt,S.FunctionService=Hs,S.FunctionType=Cn,S.IActiveDirtyManagerService=ua,S.IDefinedNamesService=Bt,S.IFeatureCalculationManagerService=jt,S.IFormulaCurrentConfigService=qe,S.IFormulaRuntimeService=Ue,S.IFunctionService=Qe,S.IOtherFormulaManagerService=br,S.LexerNode=Z,S.LexerTreeBuilder=ar,S.NullValueObject=ce,S.NumberValueObject=b,S.OtherFormulaManagerService=na,S.RangeReferenceObject=Ut,S.RegisterFunctionMutation=Tr,S.RemoveDefinedNameMutation=Xt,S.RemoveFeatureCalculationMutation=qt,S.RemoveOtherFormulaMutation=er,S.RemoveSuperTableMutation=An,S.SetArrayFormulaDataMutation=Wt,S.SetDefinedNameMutation=Gt,S.SetFeatureCalculationMutation=Kt,S.SetFormulaCalculationNotificationMutation=Zt,S.SetFormulaCalculationResultMutation=$r,S.SetFormulaCalculationStartMutation=kr,S.SetFormulaCalculationStopMutation=jr,S.SetFormulaDataMutation=Jt,S.SetOtherFormulaMutation=Nt,S.SetSuperTableMutation=Ln,S.SetSuperTableOptionMutation=Ir,S.StringValueObject=Re,S.UnregisterFunctionMutation=Yr,S.ValueObjectFactory=rt,S.compareToken=M,S.convertUnitDataToRuntime=Sn,S.deserializeRangeForR1C1=ls,S.deserializeRangeWithSheet=ke,S.functionArray=cs,S.functionCompatibility=Rs,S.functionCube=_s,S.functionDatabase=Es,S.functionDate=Ds,S.functionEngineering=bs,S.functionFinancial=Ls,S.functionInformation=Ps,S.functionLogical=ws,S.functionLookup=xs,S.functionMath=Os,S.functionMeta=Fs,S.functionStatistical=Ms,S.functionText=Bs,S.functionUniver=Ts,S.functionWeb=js,S.generateStringWithSequence=tr,S.getAbsoluteRefTypeWitString=ka,S.getAbsoluteRefTypeWithSingleString=Ft,S.getRangeWithRefsString=ja,S.handleNumfmtInCell=oi,S.includeFormulaLexerToken=bn,S.initSheetFormulaData=Ys,S.isFormulaLexerToken=xt,S.isFormulaTransformable=la,S.isInDirtyRange=En,S.isReferenceString=Fn,S.isReferenceStringWithEffectiveColumn=nr,S.isReferenceStrings=kn,S.matchRefDrawToken=xa,S.matchToken=G,S.normalizeSheetName=wa,S.operatorToken=oe,S.sequenceNodeType=Ae,S.serializeRange=Ge,S.serializeRangeToRefString=ct,S.serializeRangeWithSheet=Mn,S.serializeRangeWithSpreadsheet=Bn,S.singleReferenceToGrid=rr,S.strip=Kr,S.stripErrorMargin=ei,S.transformFormula=Pl,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});
|